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
-- 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

-- 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

- 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
-- 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

 - development.


-- 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

- developed.
In Royce's original waterfall model, the following
phases are followed in order:

3.Requirements specification
4.Design
5.Construction (AKA implementation or coding)
6.Integration
7.Testing and debugging (AKA validation)
8.Installation
9.Maintenance
Requirement
   Analysis

        System
        Design

               Program
                Design


                     Coding

                            Unit &
                          Integration
                            Testing

                                   System
                                   Testing

                                         Acceptance
                                           Testing

                                                      Operation &
The Waterfall Model                                   Maintenance
The software development process in reality.
-- 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
Instructor’s idea about the
                                                     Sashimi Model




     Requirement
              System
       Analysis
               DesignProgram
                      Design
                           Coding Unit &
                                Integration
                                  TestingSystem
                                         Testing
                                               Acceptance
                                                 Testing
                                                       Operation &
                                                       Maintenance




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

- product.


-- Design prototyping helps developers assess
- alternative design strategies and decide which is

- the best for a particular project.
Validation
 Requirement
   Analysis

        System
        Design             Verify

               Program
                Design


                     Coding

                              Unit &
                            Integration
                              Testing
 Prototyping
                                      System
                                      Testing

                                            Acceptance
                                              Testing

                                                         Operation &
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
demonstrate
- how the activities are related to analysis and


-- design
   the focus of the V-Model is on activity and
-


- correctness
The V-Model
-- 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
The Prototyping Model.
-- The system requirments are evaluated or
executed
- in a way that demonstrates the behavior of the


-- system.
   Once the requirements are specified, it can be
-


- enacted using the software package, so that their

- implication can be assess before design begins.
The Operational Specification Model
-- 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.
The Transformational Model
-- 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.
The Phased Development Model
-- 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.
-- 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


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
The Spiral Model.
-- It depicts the process, showing the inputs are
- transformed to outputs.


-- See… A Toolset for Supporting Static and Dynamic

- Model Checking
-- 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
-- Model Driven Development
-- User Experience

-- Top-Down to Bottom Design


-- Chaos Model


-- Evolutionary Prototyping


-- ICONIX Process


-- Unified Process


-- Extreme Programming (XP)

03 Modeling Process and Life Cycle

  • 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 isa 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 -- a process is more than a procedure -- a process may require design to occur before - coding, many different design may be used
  • 3.
    -- Process guidesour 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 processactivity 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 forModeling 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. -- It reflects the goals of development such as - building high-quality software, finding faults in - early development and meeting required budget - and schedule constraints.
  • 6.
    -- It helpsthe development team understand where - tailoring is to occur for the special situation.
  • 7.
    -- The waterfallmodel 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 originalwaterfall model, the following phases are followed in order: 3.Requirements specification 4.Design 5.Construction (AKA implementation or coding) 6.Integration 7.Testing and debugging (AKA validation) 8.Installation 9.Maintenance
  • 9.
    Requirement Analysis System Design Program Design Coding Unit & Integration Testing System Testing Acceptance Testing Operation & The Waterfall Model Maintenance
  • 10.
    The software developmentprocess in reality.
  • 11.
    -- The sashimimodel (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 aboutthe Sashimi Model Requirement System Analysis DesignProgram Design Coding Unit & Integration TestingSystem Testing Acceptance Testing Operation & Maintenance The Waterfall Model with overlapping phases / The Waterfall Model with feedback
  • 13.
    -- Prototyping isa 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
  • 16.
  • 17.
    -- It requiresinvestigation 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
  • 18.
  • 19.
    -- The systemrequirments are evaluated or executed - in a way that demonstrates the behavior of the -- system. Once the requirements are specified, it can be - - enacted using the software package, so that their - implication can be assess before design begins.
  • 20.
  • 21.
    -- It triesto 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.
  • 22.
  • 23.
    -- Cycle timeis 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.
  • 24.
  • 25.
    -- The systemas 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 deliversthe full system at the very beginning - and it changes the functionality of each subsystem - with each new releases.
  • 28.
    -- The spiralmodel 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
  • 29.
  • 30.
    -- It depictsthe process, showing the inputs are - transformed to outputs. -- See… A Toolset for Supporting Static and Dynamic - Model Checking
  • 31.
    -- It canenact 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 DrivenDevelopment -- User Experience -- Top-Down to Bottom Design -- Chaos Model -- Evolutionary Prototyping -- ICONIX Process -- Unified Process -- Extreme Programming (XP)