Professional Documents
Culture Documents
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
• 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
• 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
• 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
• 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
• 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
• 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
• Software is given to end users for beta testing and user feedback reports both
defects and necessary changes
• 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
15