System Development Life Cycle
When traditional systems are being developed using conventional System Analyses and Design methodology, a set structure is adhered to. This is broken down into a series of stages or phases that can be cycled through in such a way that any stage can be returned to for the purpose of improvement after the process of evaluation.
Text books that you reference will discuss the phases of thelife cycle approach to system development. The number of components will vary for each text. The important issue is that it is broken down into component parts or phases and these cover the important aspects of the life cycle.
The following is a summary of the phases discussed in chapter 14 of Computers: Tools for an information Age. Capron, H.L.
Phase 1 - Preliminary Investigation
This is a brief study of the problem to see if there is a feasible solution within the constraints and framework provided by the group wishing for a solution to a problem. A rough plan usually is the result of this study.
Define the problem. - Things to consider:
This brief investigation should result in a report and should propose further action.
Phase 2 - Analysis
The assumption here is that the project is to go ahead based on the preliminary investigation.
The next task is to gather data. This is achieved by investigating the following.
Phase 3 - Design
This is the planning phase and is based on the previous analysys.
Preliminary design. Considers major aspect of the system to be developed. (centralizes, distributed, online, Personal computer, mainframe, Client /server)
Answer the following questions:
Make a presentation to the systems owners:
Detail design
A detailed design includes the following:
Phase 4 - Development
Once all of the plans have been made, the system must be developed. This involves programming and testing
Scheduling
Various tools such as Gantt charts and other project management tools are used to plan schedule the tasks required to put convert the plan into a real life system. Check out section for Project Management more information.
Programming
The specifications for the system are converted into logic flowcharts and pseudocode. The computer programmers converts this into the code in the language of choice.
Testing
The programmer tests all aspects of the code for the modules that are developed using appropriate test data (unit testing). These models are then tested as a system which ensures that all of the modules will work together (system testing). Once the system is up and running, real life tests must be performed to ensure the system will work under full load. This is known as volume testing.
Phase 5 Implementation
The final phase is where the system is used. This involves the following;
- Direct conversion - stop using the old system and start using the new - risky!
- Phased conversion - system "eased" in with users only using small parts of the system to begin with, slowly bringing in the new system over a period of time.
- Pilot conversion - the entire system is implemented in one branch or part of the business to begin with.
- Parallel conversion - both systems are used simultaneously for a period of time - expensive and prolonged.
Conclusion
In all of the phases above, it is essential to do the best job possible. A situation in a later phase that requires going back to, and redoing an earlier phase is far more expensive than doing a thorough job on an earlier phase. However, normal systems development requires constant evaluation and review of earlier phase to ensure a quality finished product.
Prototyping
A prototype is a limited working model of the complete system that is used to evaluate the system early in the design phase and allow the clients to get a better idea of their needs. It is developed very quickly using special tools such as 4GL tools. Although the prototype may have the basic functionality of the proposed system, much of the components that provide robustness and security are not included. Also, many of the input and output systems are developed to a very low level.
Situations which are best suited to prototyping are when: (System Analysys and Design, Capron,H.L.)
Mike Leishman