2-Software Processing Models
2-Software Processing Models
1
Software Life Cycle
2
Software Life Cycle
3
Process
4
Generic A generic process framework for
software engineering defines five
Process framework activities:
Framework • Communication
• Planning
• Modeling
• Construction
• Deployment
5
Process Flow
6
Process Flow
7
Process Flow
8
Process Flow
9
Task Set
10
Task Set
11
Task Set
• Inception: The initial stage where the project is conceived, and the goals and objectives are
outlined.
• Identifying the key stakeholders, understanding their initial requirements, and setting the project's overall
direction.
• Elicitation: The process of gathering information and requirements from stakeholders to
understand their needs and expectations.
• Conducting interviews, surveys, workshops, or other methods to extract relevant information from
stakeholders.
• Elaboration: The stage where gathered requirements are analyzed and detailed to create a
comprehensive understanding of the project scope.
• Breaking down high-level requirements into more detailed specifications, creating use cases, and
developing a more intricate project plan.
• Negotiation: The process of reconciling conflicting requirements and priorities among
stakeholders.
• Facilitating discussions and negotiations to resolve conflicts, finding compromises, and ensuring alignment
among stakeholders.
• Specification: The formal documentation and communication of detailed project
requirements and specifications.
• Creating detailed documentation, such as requirements documents, design specifications, and other
relevant materials that serve as a reference for project development.
• Validation: The stage where the documented requirements are reviewed and verified to
ensure they meet the stakeholders' expectations.
• Conducting reviews, inspections, and tests to validate that the project deliverables align with the specified
requirements and meet the intended objectives. 12
Software Development Process Models
• Waterfall model
• Classical
• With prototyping
• V model
• Prototyping model
• Phased development: increments and iterations
• Spiral model
• Unified process
• Rapid Application Development (RAD)
• Agile methods
• XP
• Scrum
• Kanban
13
The Waterfall Model
14
The Waterfall Model
15
The Waterfall Model
16
The Waterfall Model
17
The Waterfall Model
18
Problems with Waterfall Model
19
Waterfall Model with Prototyping
20
Waterfall Model with Prototyping
21
The V-Model
23
Phased Development
•Cycle time
•Time between when requirements document was
written and when the system was delivered
•Shorter cycle time
•Decomposed system
•System delivered in pieces
•enables customers to have some functionality
while the rest is being developed
•Two systems functioning in parallel
•the production system (release n): currently being
used
•the development system (release n+1): the next
version
24
Phased Development
25
Phased Development
26
Phased Development
27
Prototyping Model
28
Prototyping Model
Pros:
• There is a reduced impact of requirement changes.
• The customer is involved early and often.
• It works well for small projects.
• There is reduced likelihood of product rejection.
Cons:
• Customer involvement may cause delays.
• There may be a temptation to “ship” a prototype.
• Work is lost in a throwaway prototype.
• It is hard to plan and manage.
29
References
30