Process Models1
Process Models1
Engineering
What Do We Mean by a Process?
• Is a series of steps involving activities, constraints,
and resources to produce an intended output
• Prepare for exams
• Conduct a software competition
• Organize a trip
• Write a term project report
• Involves a set of tools and techniques
• Block diagrams
• Notations
How is a Process Useful?
• Impose consistency and structure on a set
of activities
• Guide us to understand, control, examine,
and improve the activities
• Enable us to capture our experiences and
pass them along
Characteristics of a Process
• Prescribes all major process activities
• Uses resources, subject to set of constraints (such as schedule)
• Produces intermediate and final products
• May be composed of sub-processes with hierarchy or links
• Each process activity has entry and exit criteria
• Activities are organized in sequence, so timing is clear
• Each process guiding principles, including goals of each
activity
• Constraints may apply to an activity, resource or product
Software Lifecycle
• When a process involves building a software
(product), the process may be referred to as
software (product) lifecycle
• Requirements analysis and definition
• System (architecture) design
• Program (detailed/procedural) design
• Writing programs (coding/implementation)
• Testing: unit, integration, system
• System delivery (deployment)
• Maintenance
What is a Process Model?
• Description of a process, evolved overtime, in a
certain format
• May use text, pictures, or a combination
• Contains key process features
Why is a Process Model Needed?
• To form a common understanding
• To find inconsistencies, redundancies, omissions
• To find and evaluate appropriate activities for
reaching process goals
• To tailor a general process for a particular
situation in which it will be used
What is a Software Process Model?
• Models that prescribe how should development of
software progress
• Models that describe how is software developed
in actuality
Software Development Process Models
• Waterfall model
• V model
• Prototyping model
• Operational specification
• Transformational model
• Phased development: increments and iteration
• Spiral model
• Unified process
• Agile methods
Waterfall Model
• One of the first process development models proposed
• Works for well understood problems with minimal or no
changes in the requirements
• Simple and easy to explain to customers
• It presents
• a very high-level view of the development process
• sequence of process activities
• Each major phase is marked by milestones and
deliverables (artefacts)
Waterfall Model (Contd.)
Waterfall Model (Contd.)