Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Software Process Models
1. Computer Science
Cape – Unit 2 – Module 2: Software Engineering
Specific objectives: Software process models (Strengths &
Weaknesses)
2. Objectives
• At the end of this lesson you will be able to:
• Compare and contrast life cycle models
3. Waterfall Model
• This is a algorithmic approach used in the process of developing software.
Each stage acts as a feeder for the subsequent stage in the process from
conception to maintenance. The next phase in the process only begins after
the previous stage in complete.
4. Phases in the Waterfall Model
• Requirements
• System Design
• Implementation
• Integration and Testing
• Deployment of System
• Maintenance
5. Advantages of the Waterfall Model
• Activities can be scheduled and completed in a modular basis.
• Being modular, it is easy to manipulate and utilize for engineers.
• Each phase and their deliverables can be managed with ease.
6. Disadvantages of Waterfall Model
• It is difficult to estimate time and cost for each phase of the development
process.
• Once an application is in the testing stage, it is very difficult to go back and
change something that was not well-thought out in the concept stage.
• Not a good model for complex and object-oriented projects.
• Not suitable for the projects where requirements are at a moderate to high
risk of changing
7. Evolutionary Development Model
• In this model the software is released in an iterative basis. Users of this
model rely heavily on user feedback in the development phase as they work
towards a final deliverable.
• There are two main evolutionary models;
• Incremental model
• Spiral model
8. Advantages
• Users are heavily involved in the development phases. Therefore, they get to
experiment on the early conception of the software.
• Errors are reduced due to the constant testing done.
9. Disadvantages
• At times the iterations delivered might be lacking certain details required for
full customer testing.
10. Rapid Prototyping
• Rapid Prototyping as a part of the Evolutionary Model is the process of
generating samples (prototypes) to see and assess the functionality of the
product being created. From these samples, developers will fine tune based
on the assessment and customer feedback.
• The prototypes created can be either;
• High fidelity – designs are made closer to the final product
• Low fidelity - simple mock up designs to visualize the design concept
12. Advantages of Rapid Prototyping
• Reduced design & development time
• Reduced overall product development cost
• Elimination or reduction of risk
• Allows functionality testing
• Improved and increased user involvement
• Ability to evaluate human factors and ergonomics
13. Disadvantages of Rapid Prototyping
• Lack of accuracy
• Added initial costs
• Requires skilled labour
• Overlooking some key features because it cannot be prototyped
• End user confusion, customers mistaking it for the finished
project/developer misunderstanding of user objectives
14. Fountain Approach
• This model is similar to the waterfall model, however, there is a genuine
flexibility with this model allowing developers to revisit previous steps
repeatedly until the desire output is achieved.
19. Formal Transformation
• The formal transformation model utilizes a mathematical technique to create
and deliver software. This method is used to reduce the occurrence of
problems which can prove difficult using other models.
21. Advantages of Formal Transformation
• Finds gaps and inconsistences in the software.
• Each iteration leads closer to the ideal solution.
• Leads to the creation of error free software.
22. Disadvantages of Formal Transformation
• Can be costly.
• Method only useful for engineers familiar with the model
• Training for developers to become acquainted with the model.
23. Re-Use Oriented Approach
• In this model software systems are created by using existing code and processes.
• Stages involved in the re-use oriented approach;
• Requirements specification
• Component analysis
• Requirements modification
• System design with reuse
• Development and integration
• System validation
24. Advantages of Re-use Oriented Approach
• Reduced cost
• Reduces development time
• Faster delivery of software
25. Disadvantages of Re-use Oriented Approach
• Might not apply in all forms.
• Re-used software might not meet ALL of the user’s needs/requirements.
• Software updates might be challenging for system utilizing the re-used
component.