You are on page 1of 15

Process Models

Dr. Tassawar Iqbal


Department of Computer Science
CUI, Wah Cantt Campus

Slide Set to accompany


Software Engineering: A Practitioner’s Approach, 7/e
by Roger S. Pressman

Slides copyright © 1996, 2001, 2005, 2009 by Roger S. Pressman

For non-profit educational use only

May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A
Practitioner's Approach, 7/e. Any other reproduction or use is prohibited without the express written permission of the author.

All copyright information MUST appear if these slides are posted on a website for student use.

These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
1
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
Quick Recap
 Software Process Models
 Waterfall, Incremental, Prototyping
 RAD Model
 Spiral Model
 Component based Development Model
 Formal Methods Model
 Selection Criteria

2
Today Agenda
 Unified Process Model
 Introduction and History
 Structured approach vs Object Oriented
approach
 Phases of Unified Process Model

3
The Unified Process – Brief History
• Introduction - During the early 1990s James Rumbaugh, Grady Booch, and Ivar Jacobson began working on a
“unified method” that would combine the best features of
– Object-oriented analysis and design methods
– Adopt additional features proposed by other experts in object-oriented modeling

• The result was UML—a unified modeling language that provides


– robust notation for the modeling and development of object-oriented systems

• UML became a de facto industry standard for object-oriented software development

• UML will core in this course to represent both analysis and design models

• UML provided the necessary technology to support object-oriented software engineering practice, BUT it did
not provide the process framework to guide project teams in their application of the technology
The Unified Process – Brief History
Structured Approach Object Oriented Approach
It works with Top-down approach. It works with Bottom-up approach.
Program is divided into number of sub-modules or Program is organized by having number of classes and
functions. objects.
Software reuse is not possible. Reusability is possible.
Structured design programming usually left until end Object oriented design programming done concurrently
phases. with other phases.
It shows clear transition from design to implementation. Not so clear transition from design to implementation.

DFD & E-R diagram model the data. Class diagram, sequence diagram, state chart diagram,
and use cases all contribute.

In this, projects can be managed easily due to clearly In this approach, projects can be difficult to manage due
identifiable phases. to uncertain transitions between phase.

https://www.tutorialspoint.com/system_analysis_and_design/system_analysis_and_design_object_oriented_a
pproach.htm
The Unified Process – Brief History
• Over the next few years, Jacobson, Rumbaugh, and Booch developed the Unified Process, a
framework for object-oriented software engineering using UML

• Today, the Unified Process (UP) and UML are widely used on object-oriented projects of all
kinds

• The iterative, incremental model proposed by the UP can and should be adapted to meet
specific project needs
The Unified Process - Introduction
• The Unified Process is an attempt to draw on the
– best features and characteristics of traditional software process models
– best principles of agile software development

• The Unified Process


– recognizes the importance of customer communication
– the customer’s view of a system (the use case)

• It emphasizes reliance to future changes, and reuse

• It follows evolutionary style - iterative and incremental, that is essential in modern software
development
Phases of Unified Process
• Earlier, we discussed five generic framework activities and argued that they may be used to
describe any software process model

• The Unified Process is no exception

• Through figure, we examine the “phases” of the UP and relate them to the framework activities
that have been discussed so far
Phases of Unified Process
Phases of Unified Process - Inception
• The Inception phase of the UP encompasses both
– Customer communication/collaboration
– Planning activities

• While collaborating with stakeholders,


– business requirements for the software are identified and described through a set
of preliminary use cases (cover later on) that describe which features and functions
each major class of users desires
– a rough architecture for the system is proposed
– Architecture at this point is nothing more than a tentative outline of major
subsystems and the function and features that populate them

• Planning identifies
– resources, assesses major risks, defines a schedule
Phases of Unified Process - Elaboration
• The Elaboration phase encompasses
– Planning
– Modeling activities of the generic process model

• Elaboration refines and expands


– the preliminary use cases that were developed as part of the inception phase
– the architectural representation to include five different views of the software
– the use case model, the requirements model, the design model, the implementation model,
and the deployment model

• Planning
– carefully reviews the elaboration phase to ensure that scope, risks, and delivery dates
remain reasonable
Phases of Unified Process - Construction
• The Construction phase of the UP is identical to the construction activity defined for the generic
software process

• The requirements and design models started in the elaboration phase


– are completed to reflect the final version of the software increment

• 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 component
– Use cases are used as a suite of acceptance tests

• In addition, integration activities


– component assembly and integration testing are conducted.
Phases of Unified Process - Transition
• The transition phase of the UP encompasses
– the latter stages of the generic construction activity
– the first part of the generic deployment (delivery and feedback) activity

• Software is given to end users for beta testing and user feedback reports both
defects and necessary changes

• In addition, the software team creates the necessary support information


– user manuals, troubleshooting guides, installation procedures

• At the end of the transition phase, the software increment becomes a usable
software release
Phases of Unified Process - Production
• The Production phase of the UP is same as deployment activity of the generic process

• During this phase


– the ongoing use of the software is monitored,
– support for the operating environment (infrastructure) is provided,
– defect reports and requests for changes are submitted and evaluated
Summary
 Unified Process Model
 Introduction and History
 Structured approach vs Object Oriented approach
 Phases of Unified Process Model
 Relationship with Generic Software Process

15

You might also like