The phases of system development life cycles are:The Systems Development Life Cycle (SDLC) is a conceptual model used in project management that describes the stages involved in an information system development project from an initial feasibility study through maintenance of the completed application. Various SDLC methodologies have been developed to guide the processes involved including the waterfall model (the original SDLC method), rapid application development (RAD), joint application development (JAD), the fountain model and the spiral model. Mostly, several models are combined into some sort of hybrid methodology. Documentation is crucial regardless of the type of model chosen or devised for any application, and is usually done in parallel with the development process. Some methods work better for specific types of projects, but in the final analysis, the most important factor for the success of a project may be how closely particular plan was followed.
The image below is the classic Waterfall model methodology, which is the first SDLC method and it describes the various phases involved in development. However, the following steps may be combined or broken further as per the need of the development.
Generally the Phases are :
This is the preliminary stage in which system analyst tries to find what exactly has to be done the system. Basically, the management or the system owner lists out what is required. Based on the requirement, System Analyst studies the existing manual system of the organization and conceptualizes new system to address issues and problems faced the organization.
In this stage, various types of feasibility of the system are examined. Major parameters of the feasibility study are cost, technology, complexity of the operation, staff behavior, etc. The feasibility study is used to determine if the project should go-ahead. If the project is to proceed, the feasibility study will produce a project plan and budget estimates for the future stages of development.
System Analysis and Design
System design starts, once the system is found to be feasible from all the aspect. System design consists of design of network, database, input and output forms, etc. Various tools are available to assist the designing the system. This stage includes a detailed study of the business needs of the organization. Options for changing the business process may be considered. Design focuses on high level design like, what programs are needed and how are they going to interact, low-level design (how the individual programs are going to work), interface design (what are the interfaces going to look like) and data design (what data will be required). During these phases, the software’s overall structure is defined. Analysis and Design are very crucial in the whole development cycle. Any glitch in the design phase could be very expensive to solve in the later stage of the software
development. Much care is taken during this phase. The logical system of the software/system is developed in this phase.
This is actual development of the system. In this stage the programming and coding of the system is done to produce the exact shape of the system that was planned. The development processing is based on the system designed in the previous phase.
In this phase the designs are translated into code. Computer programs are written using a conventional programming language or an application generator. Programming tools like Compilers, Interpreters, and Debuggers are used to generate the code. Different high level programming languages like C, C++, Pascal, and Java are used for coding. With respect to the type of application, the right programming language is chosen.
In this phase the system is tested to ensure that the system is bug proof and it produces the desired output. Any bugs or system deficiencies are rectified in this phase. Normally programs are written as a series of individual modules, this subject to separate and detailed test. The system is then tested as a whole. Separate modules are brought together and tested as a complete system to ensure that interfaces between modules work (integration testing), the system works on the intended platform and with the expected volume of data (volume testing) and that the system does what the user requires (acceptance/beta testing). Various testing tools are available to assist the tester.
This is the actual implementation of the system to be operated the end users. For this, users are trained and necessary procedures are set.
System Maintenance and Support:
The system developed and deployed may still have some problem which may be identified after the system is implemented requiring a corrective actions or de-bugging. Further, it might require some update and fine tuning to make the system more efficient. System will require maintenance. Software normally require change as it goes to the customer. Change could also happen due to unexpected input values into the system. In addition, the changes in the system could directly affect the software operations. The software should be developed to accommodate changes that could happen during the post implementation period.