Judging the Relevance and worth of ideas part 2.pptx
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 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
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.
-- 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 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:
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
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
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 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.
Once the requirements are specified, it can be
-
- 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.
27.
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)