In order to discuss systems analysis and design alone with the various system development life cycles it is first important to gain an understanding of what a system is at a fundamental level.
So, what is a system?
Generally speaking, a system is an assembled group of subsystems or modules that are vastly integrated together with the purpose of achieving a goal. A system will typically need various inputs, which will be processed in some way to produce outputs. Together, these inputs and outputs will achieve the overall goal of the system.
A commonly heard phrase in response to an expressed problem is ‘put a system in place’.
In terms of software development, a system can be defined simply as a plan or procedure for problem solving through the use of computing power. To put this into perspective, some everyday software systems that we encounter are;
- Microsoft Windows – Microsoft Windows is a commonplace operating system used by many. It is a sound example of system software.
- Traffic Management Systems – Most of us come across traffic management at some point most days. Beneath the surface of most traffic management lies a complex system controlling it.
Systems Analysis and Systems Design
Systems Analysis and Design can be parted into Systems Analysis and System Design.
The initial analysis of a system is carried out to identify what a system should do. This can be achieved by breaking a system down in its individual, minimal components. A system dissolved into manageable pieces is easier to analyse when compared to the system as a whole. Furthermore, gaining an understanding of the independent segments of a system will allow an analyst to better grasp the entire system and its’ intent, and to ensure that components work / will work effectively together.
The design of a system focuses on the how. Specifically, how to fulfill the system’s aims. The process could be one of replacing an old system, or planning for an entirely new system, for a business. The design phase should always follow an initial phase of analysis. It is important to thoroughly understand either the old system and/or the requirements of the business prior to designing a system.
Software design is an imperative section of any Software Development Life Cycle (SDLC), and acts as an intersection between the ideal and the real. The ideal being that which is outlined and planned for in the planning and analysis phases of development, and the real being the eventual system. The designs are devised by incorporating the documents produced from the planning and analysis stages. There are an abundance of techniques that can used to design a system, such as pseudo-code and diagrammatic representations.
Expanding on the broadly put Systems Analysis and Design, the development of IT systems should take the form of a structured process that encompasses the following stages; Planning, Requirements Analysis, Design and/or Prototyping, Software Development/Programming, Testing, Deployment and Maintenance. I will explore these phases in detail later. These 7 phases together as a whole is known as the System / Software Development Life Cycle.