In this Module, we look at
• what we mean by a “process”
• software development products, processes &
• several models of the software development
• tools & techniques for process modeling
-- 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
- life cycle
-- software development process is sometimes called
- software life cycle
-- a process is more than a procedure
-- a process may require design to occur before
- coding, many different design may be used
-- Process guides our actions by allowing use
- examine, control and improve that comprise the
-Characteristics of a Process
-- The process prescribes all of the major process
-- 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
-- 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.
- Reasons for Modeling Process
-- It forms common understanding of the activities,
- resources and constraints involved in software
-- It helps the development team find
- inconsistencies, redundancies and omissions in the
- process and in its constituent parts.
-- It reflects the goals of development such as
- building high-quality software, finding faults in
- early development and meeting required budget
- and schedule constraints.
-- It helps the development team understand where
- tailoring is to occur for the special situation.
-- 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
In Royce's original waterfall model, the following
phases are followed in order:
5.Construction (AKA implementation or coding)
7.Testing and debugging (AKA validation)
The Waterfall Model Maintenance
-- The sashimi model (so called because it features
- overlapping phases, like the overlapping fish of
- Japanese sashimi) was originated by Peter
-- also referred as the waterfall model with
- overlapping phases or with feedback
Instructor’s idea about the
Coding Unit &
The Waterfall Model with overlapping phases / The Waterfall
Model with feedback
-- 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
-- Design prototyping helps developers assess
- alternative design strategies and decide which is
- the best for a particular project.
The Waterfall Model Maintenance
-- 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
- how the activities are related to analysis and
the focus of the V-Model is on activity and
-- It requires investigation to ensure that the
- developer, user and customer have a common
- understanding both of what is needed and what is
-- it reduce risk and uncertainty in development
-- The process of prototyping involves the following
1. Identify basic requirements
-2. Develop initial prototype
-4. Revise and enhancing prototype
-- The system requirments are evaluated or
- in a way that demonstrates the behavior of the
Once the requirements are specified, it can be
- enacted using the software package, so that their
- implication can be assess before design begins.
-- 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.
-- 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
-- The system as specified in the requirements
- documents are partitioned into subsystems by
-- The releases are defined by beginning with one
- small, functional subsystem and then adding with
- each new releases.
-- It delivers the full system at the very beginning
- and it changes the functionality of each subsystem
- with each new releases.
-- 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
-- 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