Professional Documents
Culture Documents
Engineering
CHAPTER - 02
05/21/23 2
SW PROCESS MODELS
05/21/23 3
THE SOFTWARE PROCESS:
05/21/23 4
KEY PROCESS AREAS (KPAs):
05/21/23 5
A COMMON PROCESS FRAME WORK:
UMBRELLA ACTIVATES
05/21/23 6
SOFTWARE PROCESS MODEL:
05/21/23 7
SOFTWARE PROCESS MODEL:
1. Status Quo
2. Problem Definition
3. Technical Development
4. Solution Integration
05/21/23 8
– Present the Current State of Affairs.
05/21/23 9
SEQUENTIAL MODELS:
THE LINEAR PROCESS MODEL:
It is also called the “Waterfall Model” or “Life Cycle Model”.
It suggests a systematic and sequential approach to SW development that
begins at the system level, progress through analysis, design, coding, testing
and maintenance in figure as shown below:
05/21/23 10
05/21/23 11
• ANALYSIS:
• To understand the nature of the program to be built, SW engineer
must understand the requirement, behavior, performance &
interfacing of the system. So the analysis for both the system and
SW are documented and reviewed with the customer.
• DESIGN:
• It focuses on data structure, SW architecture, interface
representation & algorithms. Design is documented to represent the
translation requirements into software representation.
• CODING:
• The design must be translated into code (machine readable form).
Therefore this step produces an implementation of collected
modules.
05/21/23 12
• TESTING:
• Once code has been generated it must be tested. It
focuses on the logical internals of the SW;
therefore it produces the tested assembly of
modules.
• MAINTENANCE:
• SW will must go under changes when it is
delivered to customer, so error will encountered.
Therefore it must be kept working and up-to-date
according to the requirements of customers.
05/21/23 13
DISADVANTAGES:
05/21/23 14
ADVANTAGES:
– With all problems, it has a very important place in
software Engineering.
05/21/23 15
PROTOTYPING MODEL:
In some cases, customer remains unable to define his requirements and in
other cases designer remain unsure about the efficiency of algorithms,
ability of O.S etc. In all these situations Prototype Model is best to use. Fig:
show the model.
BUILD / REVISE
LISTEN TO MOCK-UP
CUSTOMER
BASIC
STARTING STRUCTURE
POINT
CUSTOMER TEST
DRIVERS MOCK UP
05/21/23 16
IT HAS THE FOLLOWING
PHASES:
• GATHER REQUIREMENTS & DEFINE:
• Developers and customers meet and define the overall objectives for
the SW. Industry requirements and outline areas of work.
• QUICK DESIGN:
• It focuses the presentation of all aspects highlighted at phase 1, and
all aspects of SW that will be visible to customer/ user.
• BUILD PROTOTYPE:
• Phase II leads to this phase and it is build by customer + design
mutually.
• EVOLUTION:
• Evolution will be by customer and is used to refine requirements for
SW to be developed.
05/21/23 17
REFINE PROTOTYPE:
Iteration occurs as the prototype is turned to satisfy the needs of the customer.
ENGINEER PRODUCT:
All these steps will help the developer to enable to better understand what
needs to be done & on the behalf of that SW will be finally marketed.
05/21/23 18
THEREFORE WE CAN SAY THAT
PROTOTYPE MODEL IS:
05/21/23 19
ADVANTAGES:
05/21/23 20
DISADVANTAGES:
– Customer remains unsatisfied, due to changes
(even for betterment)
05/21/23 22
THE RAD MODEL:
05/21/23 23
TEAM #. 01
FUNCTIONAL SYSTEM CAN BE DEVELOPED
WITHIN 60 – 90 DAYS.
BUSINESS
MODELING
TEAM #. 02
DATA
BUSINESS MODELING
MODELING
PROCESS
TEAM #. 03 MODELING
DATA
MODELING APPLICATION
BUSINESS GENERATION
APPLICATION
DATA MODELING GENERATION
TESTING &
TURNOVER
PROCESS
MODELING
60 - 90 DAYS APPLICATION
GENERATION
TESTING &
TURNOVER
05/21/23 24
• In this model maximum work will perform in minimum time.
RAD model means increasing the size of engineers than project
will complete in short time. In this model work will perform in
groups, subgroups, section, subsections to achieve given target.
This model given motivation.
05/21/23 25
RAD APPROACHES THE FOLLOWING
PHASES:
BUSINESS MODELING:
• This phase is about the queries of certain questions, which relates to
business modeling.
DATA MODELING:
• In this, attributes of each object are identified and relationships
between them are identified.
PROCESS MODELING:
• Data objects are transformed to achieve information flow necessary
to implement a business function.
APPLICATION GENERATION:
• It uses the existing programs or creates reusable components.
TESTING:
• As it emphasizes on reuse, many of program components have
already tested, this reduces time consumption.
05/21/23 26
DISADVANTAGES:
05/21/23 27
EVOLUTIONARY SOFTWARE
PROCESS MODELS:
• Like all other complex systems, SW also evolves over a
period of time. Business and product requirements often
change, so in these conditions straight-line models are
not used (Linear sequential model) because the
evolutionary nature of SW is not considered in all
linear/ classis software engineering paradigms.
05/21/23 28
Concurrent
Activities
SPECIFICATION INITIAL
VERSION
OUTLINE INTERMEDIATE
DESCRIPTION DEVELOPMENT
VERSIONS
VALIDATION FINAL
VERSION
05/21/23 29
AN EVOLUTIONARY (SPIRAL) MODEL
PLANNING
RISK ANALYSIS
CUSTOMER
COMMUNICATION
ENGINEERING
CUSTOMER
EVALUATION CONSTRUCTION &
RELEASE
05/21/23 30
SPIRAL MODEL:
05/21/23 31
• It is an evolutionary SW process model that couples the iterative nature of prototyping
with the controlled and systematic aspects of the linear model.
• The spiral model is divided into a no: of ‘Framework’ activities also called ‘Task
Regions’, those are:
– Customer Communication
– Planning
– Risk Analysis
– Customer Evolution
05/21/23 32
SPIRAL
SPIRAL MODEL OF THE SOFTWARE
PROCESS
05/21/23 33
• Each of the regions is populated by a series of work tasks that are
adapted to the characteristics of the project to be under taken.
• A ‘Project Entry Point’ axis is defined in fig:. Each cube placed along
the axis represents the starting point for a different type of project.
• A ‘concept development project’ starts at the core of the spiral and will
continue until concept development is completed.
05/21/23 34
1. Concept Development Projects.
05/21/23 35
• This model incorporates many of the characteristics of the Spiral
model. It is evolutionary in nature, demanding an iterative approach
to the creation of the SW.
05/21/23 36
THE SOFTWARE PROCESS:
• Finally the Umbrella activities overlay (spread over) the
process model. Software Engineering institute has developed a
comprehensive model called “Capability Maturity Model”
(CMM) that defines key activities required at different levels
of process, those levels are:
Software process is characterized as adhoc and
Level 0: Initial occasionally. Few processes are defined and success
depends on individual efforts.
The necessary process discipline is in place to repeat
Level 1: Repeatable earlier successes on projects with similar
applications.
All projects use documents and approved version of
Level 2: Defined the organizations processes developing and
maintaining software
Here detailed measures of the SW process and
Level 3: Managed
products are collected.
Continuous Software improvements are enabled by
Level 4: Optimizing
quantitative from the process.
05/21/23 37