Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
54 views26 pages

3-A-Software Process Models

Uploaded by

Random Guy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views26 pages

3-A-Software Process Models

Uploaded by

Random Guy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

Software Process Models

Instructor: Mehroze Khan

1
Software Life Cycle

Software development usually involves the following stages:


• Requirements analysis and definition
• System design
• Program design
• Writing the programs (program implementation)
• Unit testing
• Integration testing
• System testing
• System delivery
• Maintenance

2
Software Development Process Models

•Waterfall model
•Classical
•With prototyping
•V model
•Prototyping model
•Phased development: increments and iterations
•Spiral model
•Unified process
•Rapid Application Development (RAD)
•Agile methods
•XP
•Scrum
•Kanban
3
The Spiral Model

•Suggested by Boehm (1988)


•Combines development activities with risk
management to minimize and control risks
•The model is presented as a spiral in which each
iteration is represented by a circuit around four major
activities
•Plan
•Determine goals, alternatives and constraints
•Evaluate alternatives and risks
•Develop and test

4
Evolutionary Process Model: The Spiral
Model

5
Evolutionary Process
Model: The Spiral Model

6
Evolutionary Process Model: The Spiral
Model

• The spiral model is an evolutionary software process model


that couples the iterative nature of prototyping with the
controlled and systematic aspects of the waterfall model.
• Using the spiral model, software is developed in a series of
evolutionary releases. During early iterations, the release
might be a model or prototype. During later iterations,
increasingly more complete versions of the engineered
system are produced.
• Each of the framework activities represent one segment of
the spiral path. The software team performs activities that
are implied by a circuit around the spiral in a clockwise
direction, beginning at the center.
7
Evolutionary Process Model: The Spiral
Model

• Risk is considered as each revolution is made.


• Anchor point milestones—a combination of work products
and conditions that are attained along the path of the
spiral—are noted for each evolutionary pass.
• The first circuit around the spiral might result in the
development of a product specification
• Subsequent passes around the spiral might be used to
develop a prototype
• Then progressively more sophisticated versions of the
software.

8
Spiral Model

Pros:
• There is continuous customer involvement.
• Development risks are managed.
• It is suitable for large, complex projects.
• It works well for extensible products.

Cons:
• Risk analysis failures can doom the project.
• The project may be hard to manage.
• It requires an expert development team.

9
Unified Process Model

•Offered by Rational/IBM, UP developed by


Booch, Rumbaugh, and Jacobson
• UP should be tailored to organizational and
project needs
• Highly iterative life cycle
• Project will be use-case driven and modeled
using UML

10
Unified Process Model

• UP life cycle:
• Includes five phases which consist of iterations
• Iterations are “mini-projects”
Inception:
• Fundamental business requirements are described
through a set of preliminary use cases.
• Planning identifies resources, assesses major risks, and
defines a preliminary schedule for the software
increments.
Elaboration:
• Refines and expands the preliminary use cases and
creates an architectural baseline.
• Modifications to the plan are often made at this time.
11
Unified Process Model

Construction:
• All necessary and required features and functions for the
software increment (i.e., the release) are implemented in
source code.
• As components are being implemented, unit tests are
designed and executed for each.
• Integration activities (component assembly and
integration testing) are conducted.
• Use cases are used to derive a suite of acceptance tests.
Transition:
• Software and supporting documentation is given to end
users for beta testing
• User feedback reports both defects and necessary
changes.
12
Unified Process Model

Production:
• Ongoing use of the software is monitored.
• Support for the operating environment is provided
• Defect reports and requests for changes are submitted
and evaluated.

13
Unified Process Model

14
Unified Process Model

•It is likely that at the same time the


construction, transition, and production phases
are being conducted, work may have already
begun on the next software increment.
•This means that the five UP phases do not occur
in a sequence, but rather with staggered
concurrency.

15
Unified Process Model

Image Source: Systems Analysis and Design in a Changing World, 4th Edition

16
Unified Process Model

17
Unified Process Model

Pros:
•Quality documentation is emphasized.
•There is continuous customer involvement.
•It accommodates requirements changes.
•It works well for maintenance projects.

Cons:
•Use cases are not always precise.
•Overlapping phases can cause problems.
•It requires an expert development team.

18
Rapid Application Development (RAD)
Model

•RAD is a linear sequential software development


process model.
•It emphasizes a concise development cycle using an
element-based construction approach.
•If the requirements are well understood and described,
and the project scope is a constraint, the RAD process
enables a development team to create a fully functional
system within a concise time period.

19
RAD Model

20
RAD Model

21
Phases of RAD Model

1. Business Modelling: The business model for the product


under development is designed in terms of flow of
information and the distribution of information between
various business channels. A complete business analysis is
performed to find the vital information for business.
2. Data Modelling: The data collected from business modeling
is refined into a set of data objects (entities) that are needed
to support the business. The attributes (character of each
entity) are identified, and the relation between these data
objects (entities) is defined.
3. Process Modelling: The information object defined in the
data modeling phase are transformed to achieve the data
flow necessary to implement a business function. Processing
descriptions are created for adding, modifying, deleting, or
retrieving a data object.
22
Phases of RAD Model

4. Application Generation: The actual system is built and


coding is done by using automation tools to convert
process and data models into actual prototypes.
5. Testing & Turnover: The overall testing time is reduced in
the RAD model as the prototypes are independently
tested during every iteration. However, the data flow and
the interfaces between all the components need to be
thoroughly tested with complete test coverage. Since
most of the programming components have already been
tested, it reduces the risk of any major issues.

23
When to use RAD Model

• When the system should need to create the project that


modularizes in a short span time (2-3 months).
• When the requirements are well-known.
• When the technical risk is limited.
• Progress needs to be made visible

24
RAD Model

Pros:
• Encourages and prioritizes customer feedback.
• It reduced development time.
• It increases the reusability of features.
Cons:
• It requires highly skilled designers.
• Only suitable for projects which have a small development
time.
• Only systems which can be modularized can be developed
using Rapid application development.
• On the high technical risk, it's not suitable.
• Required user involvement.
25
References

1. Shari PFleeger, Joanne Atlee, Software Engineering: Theory


and Practice, 4th Edition
2. Roger S. Pressman, Software Engineering A Practitioner’s
Approach, 9th Edition. McGrawHill

26

You might also like