1. In this Module, we look at
• what we mean by a “process”
• software development products, processes &
resources
• several models of the software development
process
• tools & techniques for process modeling
Back Next
2. - Process is a series of steps involving activities
constraints and resources that produce an
intended output of some kind.
- in building a software product, process is refer to a
life cycle
- software development process is sometimes
called
- software life cycle than a procedure
a process is more
- a process may require design to occur before
coding, many different design may be used
3. - Process guides our actions by allowing use
examine, control and improve that comprise the
process.
Characteristics of a Process
- The process prescribes all of the major process
activities.
- The process uses resources, subject to a set of
constraints (such schedule) and produces
intermediate and final product.
- The process may be composed that are linked in
some way. The process may be defined as
hierarchy of process, organized so that each sub-
process has its own process models
4. - Each process activity has entry and exit criteria, so
that when the activity begins and ends.
- The activities are organized in sequence, so that it
is clear when one activity is performed relative to
the other activities.
- Every process has a guiding principles that explain
the goals of each activity.
- Constraints or controls may apply to an activity,
resource or product.
5. Reasons for Modeling Process
- It forms common understanding of the activities,
resources and constraints involved in software
development.
- It helps the development team find
inconsistencies, redundancies and omissions in
the
- process and in its constituent parts. such as
It reflects the goals of development
building high-quality software, finding faults in
early development and meeting required budget
and schedule constraints.
6. - It helps the development team understand where
tailoring is to occur for the special situation.
7. - The waterfall model is a sequential software
development model (a process for the creation of
software) in which development is seen as flowing
steadily downwards (like a waterfall) through the
phases of software developmet.
- Winston W. Royce (1929–1995), present this
model cited in his article published in 1970.
- It is very useful in helping the developers lay out
what they need to do.
- The biggest problem with the waterfall model is
does not reflect the way the code is really
developed.
8. In Royce's original waterfall model, the following
phases are followed in order:
1.Requirements specification
2.Design
3.Construction (AKA implementation or coding)
4.Integration
5.Testing and debugging (AKA validation)
6.Installation
7.Maintenance
9. Requirement
Analysis
System
Design
Program
Design
Coding
Unit &
Integration
Testing
System
Testing
Acceptance
Testing
Operation &
The Waterfall Model Maintenance
11. - The sashimi model (so called because it features
overlapping phases, like the overlapping fish of
Japanese sashimi) was originated by Peter
DeGrace.
- also referred as the waterfall model with
overlapping phases or with feedback
12. Instructor’s idea about the
Sashimi Model
Requirement
Analysis ystem
S
DesignProgram
Design
Coding Unit &
Integration
Testing ystem
S
Testing
Acceptance
Testing
Operation &
Maintenance
The Waterfall Model with overlapping phases / The Waterfall
Model with feedback
13. - Prototyping is a partially developed product that
enables customers and developers to examine
some aspect of the proposed system and decide if
it is suitable or appropriate for the finished
product.
- Design prototyping helps developers assess
alternative design strategies and decide which is
the best for a particular project.
14. Validation
Requirement
Analysis
System
Design Verify
Program
Design
Coding
Unit &
Integration
Testing
Prototyping
System
Testing
Acceptance
Testing
Operation &
The Waterfall Model Maintenance
15. - The V-Model (or VEE model) is a systems
development model designed to simplify the
understanding of the complexity associated with
developing systems
- a variation of the waterfall model that demonstrate
how the activities are related to analysis and
design
- the focus of the V-Model is on activity and
correctness
17. - It requires investigation to ensure that the
developer, user and customer have a common
understanding both of what is needed and what is
proposed.
- it reduce risk and uncertainty in development
- The process of prototyping involves the following
steps:
1. Identify basic requirements
2. Develop initial prototype
3. Review
4. Revise and enhancing prototype
19. - The system requirments are evaluated or
executed
in a way that demonstrates the behavior of the
- system. requirements are specified, it can be
Once the
enacted using the software package, so that their
implication can be assess before design begins.
21. - It tries to reduce the opportunity for error by
eliminating several major development steps.
- It uses automated support
- Sample transformation can include: (1) changing
the data representation; (2) selecting algorithms;
(3) optimizing; (4) Compiling.
23. - Cycle time is the time the documents are written
and the time for the system was delivered.
- To reduce the cycle time is to use development
phase , where two systems functioning in parallel.
- The Operational or Production System being used
by the customer or user
- The Development System is the next version that
is being prepared to replace the current production
system.
25. - The system as specified in the requirements
documents are partitioned into subsystems by
functionality.
- The releases are defined by beginning with one
small, functional subsystem and then adding with
each new releases.
26. - It delivers the full system at the very beginning
and it changes the functionality of each subsystem
with each new releases.
28. - The spiral model is a software development
process combining elements of both design and
prototyping-in-stages, in an effort to combine
advantages of top-down and bottom-up concepts
- also known as the spiral life cycle model
- it is a systems development method (SDM) used
in
- Information technology (IT) Prototyping Model
a combination of features of
and Waterfall Model defined by Barry Boehm (1988)
- The spiral model is intended for large, expensive
and complicated projects
30. - It depicts the process, showing the inputs are
transformed to outputs.
- See… A Toolset for Supporting Static and
Dynamic
Model Checking
31. - It can enact the process, so that the user can see
how intermediate and final products are
transformed over time.
- See… A Toolset for Supporting Static and
Dynamic
Model Checking
32. - Model Driven Development
- User Experience
- Top-Down to Bottom Design
- Chaos Model
- Evolutionary Prototyping
- ICONIX Process
- Unified Process
- Extreme Programming (XP)