Historical philosophical, theoretical, and legal foundations of special and i...
Software Process Model (System Development Life Cycle)
1. Computer Science
Cape – Unit 2- Module 2: Software Engineering
Specific objective: Software process models (Strengths &
Weaknesses)
2. Objectives
• At the end of this lesson you will be able to;
• Define Software Process Model
• Compare and contrast various generic process models
3. The Software Process Model
• A process model refers to the sequence of activities that will be carried out while
completing a software engineering project. These activities are outlined in the
generic Software Development Life Cycle (SDLC):
• Requirements Analysis
• Design
• Development
• Testing
• Deployment
• Maintenance
4. Examples of Software Process Models
• Examples of Software process models are:
• Waterfall Model
• Evolutionary development model
• Fountain Approach
• Formal transformation
• Re-use oriented approach
5. Requirements Analysis
• In this phase, developers meet with stakeholders in order to get an
understanding of the current system and its processes and to generate a plan
for how the new system can be developed.
6. Design
• Based on the requirements analysis done, a design is created. The design
allows engineers to identify the system requirements needed in order to
define the overall system.
7. Development
• With the system requirements and the scope of the stakeholder’s
requirements in hand, the developers get to work and are guided by the
design specifications.
8. Testing
• In this phase stakeholders are re-engaged and the developed software is
assessed based on their initial requirements to ensure their needs are being
met.
9. Deployment
• If the testing phase was deemed successful, the software is shared to the
customer to be used. It is at this phase that the customer do their own beta
testing and the development team monitors the process in order to identify
gaps in the product and make provisions to fix them before the final
deployment occurs.
10. Maintenance
• When the software is rolled out to the customers a maintenance plan is
drawn up for a team to be on hand to respond to challenges the customers
might encounter with the software delivered.