Software Development Life Cycle (SDLC). SDLC Models.
Software Development Life Cycle (SDLC) - a series of events that occur with the system in the process of its creation and further use.
The following are the key stages of the cycle:
Analysis. The team decides what the software needs to do. The main point is to think about what the user will want from the program. It might be a good idea to ask other people what they want from the software. Who is going to use it? What information do they need to input? What information or data does it need to output? Consider existing similar systems or determine how the current system works.
Design - the team work out the details of the program by breaking it down into smaller chunks. This includes thinking about the visual appearance and the programming behind the software. The team will use pseudocode and diagrams to work out how the program should go.
Implementation - the program code is written. Good pseudocode allows the implementation stage to be relatively easy. The code is normally written in a high-level language.
Testing - this involves testing the program under various conditions to make sure it is going to work. Devices it could be used on and what might cause the program to crash.
Evaluation discusses the level of achievement of the goals. The key evaluation criterion is the use of the system by the intended users.
Waterfall model - after a certain phase is completed, it is thoroughly checked
Advantages |
Disadvantages |
Easy to understand, easy to use Provides structure to inexperienced staff Milestones are well understood Sets requirements stability Good for management control (plan, staff, track) |
All requirements must be known upfront Deliverables created for each phase are considered frozen – inhibits flexibility Does not reflect problem-solving nature of software development – iterations of phases Integration is one big bang at the end Little opportunity for customer to preview the system (until it may be too late) |
Spiral model - before performing any phase, several prototypes are made
Advantages |
Disadvantages |
Provides early indication of insurmountable risks, without much cost Users see the system early because of rapid prototyping tools Critical high-risk functions are developed first Users can be closely tied to all lifecycle steps Early and frequent feedback from users
|
Time spent for evaluating risks too large for small or low-risk projects Time spent planning, resetting objectives, doing risk analysis and prototyping may be excessive The model is complex Risk assessment expertise is required Spiral may continue indefinitely |
Prototyping
Model - making
a prototype before work
Advantages |
Disadvantages |
|
|