Part 2
Part 2
Part-2
Software Process
Presented by
Asmaul Hosna Sadika
Assistant Lecturer
Software processes are complex and, like all intellectual and creative
processes, rely on people making decisions and judgments.
There is no ideal process and most organizations have developed their
own software development processes.
Processes have evolved to take advantage of the capabilities of the
people in an organization and the specific characteristics of the systems
that are being developed.
For some systems,
Critical systems a very structured development process
Business systems(rapidly changing requirements) less formal, flexible process
More about software process
• A step take input from previous step, gives output to the next step (if
any)
• Exit criteria of a step must match with entry criteria of succeeding step
Requirement Analysis
Design
Implementation
Testing
Deployment
Maintenance
Waterfall Model
Requirement Analysis: Basically understanding the context of application.
Meetings with managers, stake holders and users are held in order to
determine the requirements like
• Who is going to use the system?
• How will they use the system?
• What data should be input into the system?
• What data should be output by the system?
❖ Requirement Specification(SRS) document is created
Design: Software design is prepared from the requirement specifications,
helps in defining overall system architecture.
🡪Translate the requirements into Software Architecture
🡪 Database design
The system design specification document is created
Waterfall Model
Maintenance: Once when the customers starts using the developed system then the
actual problems comes up and needs to be solved from time to time. This process where
care is taken for the developed product is known as maintenance.
🡪Some issues or changes arise in customer or client environment are maintained
When is this model applicable?
• Works well for smaller projects where requirements are very well understood.
• It helps
• get valuable feedback from the customer
• software designers and developers understand about what exactly is expected
from the product under development
Prototype Model
Prototyping
▪ Reduces time and cost as the defects can be detected much earlier.
Figure 2.1 : Boehm’s spiral model of the software process (©IEEE 1988)
Spiral Model
4. Planning: The project is reviewed and a decision made whether to continue with a further
loop of the spiral. If it is decided to continue, plans are drawn up for the next phase of the
project.
Spiral Model
Planning
Requirement
Testing Analysis
Iteration 1 Planning
Building Designing
Requirement
Testing Analysis
2-4 weeks Iteration 2
Building Designing
Planning
Requirement
Testing Analysis
2-4 weeks Iteration 3
Building Designing
Adaptive approach
Disadvantages of V-Model:
• Very rigid and least flexible.
• Not a good for a complex project.
• Software is developed during the implementation stage, so no early
prototypes of the software are produced.
• If any changes happen in the midway, then the test documents along with
the required documents, has to be updated.
Scrum
1. The first is an outline planning phase where you establish the general
objectives for the project and design the software architecture.
2. This is followed by a series of sprint cycles, where each cycle develops an
increment of the system.
3. Finally, the project closure phase wraps up the project, completes required
documentation
❑ A Scrum sprint is a planning unit in which
- the work to be done is assessed
- features are selected for development, and
- the software is implemented.
At the end of a sprint, the completed functionality is delivered to stakeholders
Scrum Process
Scrum