Upload
enes-said-tatli
View
227
Download
0
Embed Size (px)
Citation preview
8/20/2019 L36 Unified Process Ch16lect2
1/61
U s i n g U M L , P a t t e r n s , a n d J a v a
O
b j e c t - O r i e n t e d S o f t w a r e E n g i n e e r i n g
Chapter 15, Software LifeCycle,
Unied Process
8/20/2019 L36 Unified Process Ch16lect2
2/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2
Outline of Today’s Lecture
• Unified Process: An iterative process model
• States of a software system developed with theUnified Process:
• Inception, Elaboration, Construction, Transition
• Artifacts Sets:
• ana!ement Set, En!ineerin! Set
• "or#flows:• ana!ement, Environment, $e%uirements, &esi!n,
Implementation, Assessment, &eployment
• Iterations• ana!in! iterations as software pro'ects
• ista#es in mana!in! iterations
8/20/2019 L36 Unified Process Ch16lect2
3/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3
Reiew of !enitions
• Software life cycle:• Set of activities and their relationships to each other to
support the development of a software system
• Software development methodolo!y: • A collection of techni%ues for buildin! models ( appliedacross the software life cycle
8/20/2019 L36 Unified Process Ch16lect2
4/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4
Software Life Cycle "uestions#Reiew$• "hich activities should I select)
• "hat are the dependencies between activities)
• *ow should I schedule the activities)
• +uestions to as#:• "hat is the problem)
• "hat is the solution)
• "hat are the mechanisms that best implement thesolution)
• *ow is the solution constructed)
• Is the problem solved)• Can the customer use the solution)
• *ow do we deal with chan!es that occur durin! thedevelopment) Are enhancements needed)
8/20/2019 L36 Unified Process Ch16lect2
5/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5
Life Cycle %odelin&
• So far we have discussed the life cycle models• "aterfall model
• (model
• Spiral model
• Issue(based model
• Today we will introduce another life cycle model• Unified Software Process
8/20/2019 L36 Unified Process Ch16lect2
6/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6
'Processes' in the Unied ProcessThe term Process is overloaded in the Unified Process
• icro process: Policies - practices for buildin! an artifact• .ocus: Intermediate baselines with ade%uate %uality and
functionality as economically and rapidly as practical
• Same as /Process0 in the IEEE 1234 Standard
• acro process: A set of micro processes and the
dependencies amon! them• .ocus: Production of a software system within cost, schedule and
%uality constraints
• Also called: 5ife cycle model
• eta process
• .ocus: 6r!ani7ational improvement, lon!(term strate!ies, andreturn on investment 8$6I9
• Also called: usiness process;
8/20/2019 L36 Unified Process Ch16lect2
7/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7
The Unied Process
• The Unified Process supports the followin!1; Evolution of pro'ect plans, re%uirements and software
architecture with well(defined synchroni7ation points
8/20/2019 L36 Unified Process Ch16lect2
8/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8
!i(erence) *n&ineerin& s+Production• En!ineerin! Sta!e
• &riven by less predictable but smaller teams, focusin! ondesi!n and synthesis activities
• Production Sta!e• &riven by more predictable but lar!er teams, focusin! on
construction, test and deployment activities
Focus
Risk
Artifacts
Activities
Quality Assessment
Engineering Stage Emphasis
Technical feasibility, Schedule
Planning, Requirements,
System Design Documents
Planning, Analysis, Design
Demonstration, Inspection
Production Stage Emphasis
Cost
Baselines, Releases
Implementation, Integration
Testing
8/20/2019 L36 Unified Process Ch16lect2
9/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9
Phases in the Unied Process
• The two sta!es of the Unified Process aredecomposed into four distinct phases
• En!ineerin! sta!e• Inception phase
• Elaboration phase
• Production phase• Construction phase
• Transition phase;
8/20/2019 L36 Unified Process Ch16lect2
10/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10
Transitionin& fro *n&ineerin& toProduction
"hen the /en!ineerin!0 of the system is complete,a decision must be made:• Commit to production phase)
• ove to an operation with hi!her cost ris# and inertia8i;e; bureaucracy9
ain %uestions:• Are the system models and pro'ect plans stable
enou!h)
• *ave the ris#s been dealt with)
• Can we predict cost and schedule for the completion ofthe development for an acceptable ran!e)
8/20/2019 L36 Unified Process Ch16lect2
11/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11
ElaborationInception
Construction
States of a Software Syste in theUP
Transition
Transition from
engineering stage toproduction stage.
8/20/2019 L36 Unified Process Ch16lect2
12/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12
-nception Phase) O./ecties
• Establish the pro'ect scope
• Identify the critical use cases and scenarios
• &efine acceptance criteria
• &emonstrate at least one candidate softwarearchitecture
• Estimate the cost and schedule for the pro'ect
• &efine and estimate potential ris#s;
ElaborationInception
ConstructionTransition
8/20/2019 L36 Unified Process Ch16lect2
13/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13
-nception Phase) 0ctiities
• .ormulate the scope of the pro'ect• Capture re%uirements
• $esult: problem space and acceptance criteria aredefined
• &esi!n the software architecture• Evaluate desi!n trade(offs, investi!ate solution space
• $esult: .easibility of at least one candidatearchitecture is e>plored, initial set of build vs; buydecisions
•Plan and prepare a business case• Evaluate alternatives for ris#s, staffin! problems,
plans;
8/20/2019 L36 Unified Process Ch16lect2
14/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14
-nception Phase) *aluation Criteria
• &o all sta#eholders concur on the scope definitionand cost and schedule estimates)
• Are the re%uirements understood, are the criticaluse cases ade%uately modeled)
• Is the software architecture understood)
• Are cost, schedule estimates, priorities, ris#s anddevelopment processes credible)
•Is there a prototype that helps in evaluatin! thecriteria)
8/20/2019 L36 Unified Process Ch16lect2
15/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 15
*la.oration Phase) O./ecties
• aseline the software architecture• Establish a confi!uration mana!ement plan in which all
chan!es are trac#ed and maintained
• aseline the problem statement
• ase line the software pro'ect mana!ement planfor the construction phase
• &emonstrate that the architecture supports there%uirements at a reasonable cost in a
reasonable time+uestion: "hy does the Unified process not
recommend the establishment of a confi!urationmana!ement plan durin! the inception phase)
ElaborationInception
ConstructionTransition
8/20/2019 L36 Unified Process Ch16lect2
16/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 16
*la.oration Phase) 0ctiities
• Elaborate the problem statement 8/vision09 bywor#in! out the critical use cases that drivetechnical and mana!erial decisions;
• Elaborate the infrastructure;
• Tailor the software process for the construction
sta!e, identify tools;• Establish intermediate milestones and evaluation
criteria for these milestones;
• Identify buy?build 8/ma#e?buy09 problems and
ma#e decisions;• Identify lessons learned from the inception phase
to redesi!n the software architecture if necessary8/always necessary0:(9
8/20/2019 L36 Unified Process Ch16lect2
17/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 17
*la.oration Phase) *aluationCriteria
• Apply the followin! %uestions to the results of theinception phase:• Is the problem statement stable)
• Is the architecture stable)
• &oes the e>ecutable demonstration show that the ma'or
ris# elements have been addressed and crediblyresolved)
• Is the construction plan credible) y what claims is itbac#ed up)
• &o all sta#eholders 8pro'ect participants9 a!ree that the
vision e>pressed in the problem can be met if thecurrent plan is e>ecuted)
• Are actual resource e>penditures versus plannede>penditures so far acceptable)
8/20/2019 L36 Unified Process Ch16lect2
18/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 18
Construction Phase) O./ecties
• inimi7e development costs by optimi7in!resources
• Achieve ade%uate %uality as rapidly as practical
• Achieve useful version 8alpha, beta, and othertest releases9 as soon as possible
ElaborationInception
ConstructionTransition
8/20/2019 L36 Unified Process Ch16lect2
19/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 19
Construction Phase) 0ctiities
• $esource mana!ement, control and processoptimi7ation
• Complete component development and testin!a!ainst evaluation criteria
• Assessment of product releases a!ainstacceptance criteria
8/20/2019 L36 Unified Process Ch16lect2
20/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 20
Construction Phase) *aluationCriteria
• Apply the followin! %uestions to the results of theconstruction phase:• Is the product baseline mature enou!h to be deployed
in the user community)
• E>istin! faults are not obstacles to do the release
• Is the product baseline stable enou!h to be deployed inthe user community)
• Pendin! chan!es are not obstacles to do the release
• Are the sta#eholders ready for the transition of thesoftware system to the user community)
• Are actual resource e>penditures versus plannede>penditures so far acceptable)
8/20/2019 L36 Unified Process Ch16lect2
21/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 21
Transition Phase
• The transition phase is entered when a baselineis mature
• A usable subset of the system has been built withacceptable %uality levels and user documents
• It can be deployed to the user community
• .or some pro'ects the transition phase means thestartin! point for another version of the softwaresystem
• .or other pro'ects the transition phase means thecomplete delivery of the software system to athird party responsible for operation,maintenance and enhancement;
ElaborationInception
ConstructionTransition
8/20/2019 L36 Unified Process Ch16lect2
22/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 22
Transition Phase) O./ecties
•Achieve independence of user 8users can supportthemselves9
• &eployment baseline is complete and consistentwith the criteria in the pro'ect a!reement
• The final baseline can be built as rapidly andcost(effectively as possible;
8/20/2019 L36 Unified Process Ch16lect2
23/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 23
Transition Phase) 0ctiities
•Synchroni7ation and inte!ration of concurrentdevelopment increments into one consistentdeployment baseline
• Commercial pac#a!in! and production
• Sales rollout #it development
• .ield personnel trainin!
• Test of deployment baseline a!ainst theacceptance criteria;
8/20/2019 L36 Unified Process Ch16lect2
24/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 24
Transition Phase) *aluation Criteria
•Is the user satisfied)• Are actual resource e>penditures versus plannede>penditures so far acceptable)
8/20/2019 L36 Unified Process Ch16lect2
25/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 25
-terations in the Unied Process
•Each of the four phases introduced so far8inception, elaboration, construction, transition9consists of one or more iterations
• An iteration represents a set of activities forwhich there is a milestone 8/well(defined
intermediate event09• The scope and results of the iteration are captured via
wor# products 8called artifacts in the UP9;
8/20/2019 L36 Unified Process Ch16lect2
26/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 26
Phase s+ -teration
• A phase creates a formal, sta#e(holder approvedversion of artifacts
• It leads to a /ma'or milestone0
• Phase to phase transition:
• tri!!ered by a si!nificant business decision 8not by
the completion of a software development activity9• An iteration creates an informal, internally
controlled version of artifacts• It leads to a /minor milestone0
• Iteration to iteration transition:
• Tri!!ered by a specific software developmentactivity;
8/20/2019 L36 Unified Process Ch16lect2
27/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 27
0rtifact Sets in the Unied Process
• Artifact: A wor# product in a uniform
representation format 8natural lan!ua!e, U5,@ava, binary code,9
• Artifact set: • A set of artifacts developed and reviewed as a sin!le
entity
• The Unified Process distin!uishes five artifact sets• ana!ement set
• $e%uirements set
• &esi!n set
• Implementation set
• &eployment set
Also called the engineering set.
8/20/2019 L36 Unified Process Ch16lect2
28/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 28
0rtifact Sets in the Unied Process
Requirements
Set1; ision
document
8/20/2019 L36 Unified Process Ch16lect2
29/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 29
Representation of 0rtifact Sets #1$
• ana!ement Set • oal: Capture plans, processes, ob'ectives, acceptance
criteria
• Dotation: Ad hoc te>t, !raphics, te>tual use cases;
• $e%uirements set
• oal: Capture problem in lan!ua!e of problem domain• Dotation: Structured te>t, U5 models
• &esi!n set• oal: Capture the en!ineerin! blueprints
• Dotation: Structured te>t, U5 models;
Rationale for Selection of 0rtifact
8/20/2019 L36 Unified Process Ch16lect2
30/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 30
Rationale for Selection of 0rtifactSets #$
• Implementation set• oal: Capture the buildin! bloc#s of the solution domain
in human(readable format
• Dotation: Pro!rammin! lan!ua!e
• &eployment set
• oal: Capture the solution in machine(readable format• Dotation: achine lan!ua!e;
8/20/2019 L36 Unified Process Ch16lect2
31/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 31
Life2cycle 3ocus on 0rtifact Sets
• Each artifact set is the predominant focus in one sta!e
of the unified process;
Inception Elaboration Construction Transition
Management
Set
Requirements Set
Design Set
ImplementationSet
DeploymentSet
i h if
8/20/2019 L36 Unified Process Ch16lect2
32/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 32
%ana&in& the 0rtifact Sets
• Some artifacts need to be updated at each ma'ormilestone 8after a phase9
• 6ther artifacts must be updated at each minormilestone 8after an iteration9
• Artifact set roadmap• isuali7ation of the updates of artifacts across the
software life(cycle
• The software pro'ect mana!er is responsible for
mana!in! the artifact set roadmap• Artifact set roadmap: .ocus on models
• Artifact set roadmap: .ocus on documents;
0rtifact Set Roadap) 3ocus
Informal
8/20/2019 L36 Unified Process Ch16lect2
33/61
pon%odels Inception Elaboration Construction TransitionManagement Set
Requirements Set
Design Set
Deployment Set
1. Vision2. WBS3. Schedule4. Conf. Management5. Project Agreement6. Test cases
1. Analysis Model
1. System Design2. Interface Specification
Implementation Set1. Source code2. Test cases
1. Alpha-Test2. Beta-Test
Baseline
0rtifact Set Roadap) 3ocus on
Informal
8/20/2019 L36 Unified Process Ch16lect2
34/61
0rtifact Set Roadap) 3ocus on!ocuents
Inception Elaboration Construction Transition
Management Set
Requirements Set
Design Set
Deployment Set
1. Problem Statement2. WBS3. SPMP4. SCMP5. Project Agreement6. Test plan
1. RAD
1. SDD2. ODD
Implementation Set1. Source code2. Test cases
1. User Manual2. Administrator Manual
Baseline
% d l ! t
8/20/2019 L36 Unified Process Ch16lect2
35/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 35
%odels s+ !ocuents
• any software pro'ect mana!ers pay too much
attention on the production of documents • &ocumentation(driven approach
• The production of the documents drives the milestonesand deadlines
• odel(driven approach• The production of the models drive the milestones
deadlines
• ain !oal of a software development pro'ect:• Creation of models and construction of the software
system
• The purpose of documentation is to support this!oal;
4istorical Reasons for
8/20/2019 L36 Unified Process Ch16lect2
36/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 36
4istorical Reasons for!ocuentation2!rien 0pproach
• People wanted to review information, but did not
understand the lan!ua!e of the artifact• People wanted to review information, but did not
have access to the tools to view the information
• Do ri!orous en!ineerin! methods and lan!ua!es
were available for analysis and desi!n models• Therefore paper documents with ad hoc te>t were used
• Conventional lan!ua!es for implementation anddeployment were hi!hly cryptic• A more human(readable format was needed
• ana!ers needed /status0 • &ocuments seemed to be a !ood mechanism for
demonstratin! pro!ress;
0rtifact !rien 0pproach
8/20/2019 L36 Unified Process Ch16lect2
37/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 37
0rtifact2!rien 0pproach
• Provide templates for documents at the start ofthe pro'ect
• Instantiate documents automatically from thesetemplates
• Enrich them with modelin! and artifact information
!enerated durin! the pro'ect• Tools automatically !enerate documents from the
models; E>amples:• eneration of analysis and desi!n documents
8Commercial CASE tools9
• eneration of the interface specification 8@avadoc9
• Test case !eneration 8@Unit9
• Schedule !eneration 8icrosoft Pro'ect9;
%icro Processes in the Unied
8/20/2019 L36 Unified Process Ch16lect2
38/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 38
%icro Processes in the UniedProcess• The Unified Process distin!uishes between macro
and micro process:• The macro process models the software lifecycle
• The micro process models activities that produce artifacts
• The micro processes are also called wor#flows in theUnified Process;
or67ows in the Unied Process
8/20/2019 L36 Unified Process Ch16lect2
39/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 39
or67ows in the Unied Process
• ana!ement wor#flow
• Environment wor#flow
• $e%uirements wor#flow
• &esi!n wor#flow• Implementation wor#flow
• Assessment wor#flow
• &eployment wor#flow;
or67ows in the Unied Process
8/20/2019 L36 Unified Process Ch16lect2
40/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 40
or67ows in the Unied Process
• ana!ement wor#flow• Plannin! the pro'ect 8Problem statement, SPP, SCP,
test plan9
• Environment wor#flow• Automation of process and maintenance environment;
Setup of infrastructure 8Communication, confi!urationmana!ement, ;;;9
• $e%uirements wor#flow• Analysis of application domain and creation of
re%uirements artifacts 8analysis model9
• &esi!n wor#flow• Creation of solution and desi!n artifacts 8system desi!n
model, ob'ect desi!n model9;
or67ows in the Unied Process #$
8/20/2019 L36 Unified Process Ch16lect2
41/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 41
or67ows in the Unied Process #$
• Implementation wor#flow• Implementation of solution, source code testin!,
maintenance of implementation and deploymentartifacts 8source code9
• Assessment wor#flow• Assess process and products 8reviews, wal#throu!hs,
inspections, testin!9
• &eployment wor#flow• Transition the software system to the end user;
or67ows wor6 across Phases
8/20/2019 L36 Unified Process Ch16lect2
42/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 42
• "or#flows create artifacts 8documents, models9
• "or#flows consist of one or more iterations per phase;
ImplementationWorkflow
ManagementWorkflow
Requirements Workflow
Design Workflow
DeploymentWorkflow
Assessment
Workflow
EnvironmentWorkflow
Inception ElaborationConstruction Transition
%ana&in& Pro/ects in the Unied
8/20/2019 L36 Unified Process Ch16lect2
43/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 43
& & /Process
• *ow should we mana!e the construction ofsoftware systems with the Unified Process)
• Approach• Treat the development of a software system with the
Unified Process as a set of several iterations
• Some of these can can be scheduled in parallel,others have to occur in se%uence
• &efine a sin!le pro'ect for each iteration
• Establish wor# brea# down structures for each of the 3wor#flows;
Pro/ect Phases s+ Unied Process
8/20/2019 L36 Unified Process Ch16lect2
44/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 44
Phases
• Every pro'ect has at least B states• Conceivin!: The idea is born
• &efinin!: A plan is developed
• Startin!: Teams are formed
• Performin!: The wor# is bein! done
• Closin!: The pro'ect is finished;
Phases of a Software Pro/ect
8/20/2019 L36 Unified Process Ch16lect2
45/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 45
Phases of a Software Pro/ect
System Done
New Technology
Conception
do/FormulateIdea
do/Cost-BeneftAnalysis
do/FeasibilityStudy
do/e!iew
!enitiondo/"roblem Statement
do/So#tware Architecturedo/So#tware "lan
Start
do/"ro$ect %ic&o'
do/In#rastructure Setu(
do/S&ill Identifcationdo/Team Formation
Steady State
do/De!elo( Systemdo/Controlling
do/is& )anagement
do/e(lanning
New e*uirement
+oAhead
Sco(eDefned
Terinationdo/Client Acce(tance
do/Deli!ery
do/"ost )ortem
Teams assembledIn#rastructure done
Pro/ect Phases s+ Unied Processh
8/20/2019 L36 Unified Process Ch16lect2
46/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 46
Phases
Each iteration in the unified process phasesInception, Elaboration, Construction, Transition
should !o throu!h each of these B pro'ect phasesF
System Done
New Technology
Conception
do/FormulateIdeado/Cost-BeneftAnalysis
do/FeasibilityStudy
do/e!iew
!enitiondo/"roblem Statement
do/So#tware Architecturedo/So#tware "lan
Start
do/"ro$ect %ic&o'
do/In#rastructure Setu(do/S&ill Identifcation
do/Team Formation
Steady Statedo/De!elo( System
do/Controllingdo/is& )anagement
do/e(lanning
New e*uirement
+oAhead
Sco(eDefned
Terinationdo/Client Acce(tance
do/Deli!ery
do/"ost )ortem
Teams assembledIn#rastructure done
Unied Process %ana&eent%i 6
f d
8/20/2019 L36 Unified Process Ch16lect2
47/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 47
• Pro'ect mana!er s#ips the start phase
• Pro'ect mana!er s#ips the definition and start phase
• Pro'ect mana!er 'umps strai!ht to the steady state phaseafter 'oinin! the pro'ect late
• Pro'ect mana!er cancels the termination phase;
%ista6es
System Done
New Technology
Conception
do/FormulateIdea
do/Cost-BeneftAnalysis
do/FeasibilityStudydo/e!iew
!enitiondo/"roblem Statement
do/So#tware Architecturedo/So#tware "lan
Start
do/"ro$ect %ic&o'
do/In#rastructure Setu(
do/S&ill Identifcation
do/Team Formation
Steady State
do/De!elo( Systemdo/Controlling
do/is& )anagement
do/e(lanning
New e*uirement
+oAhead
Sco(eDefned
Terinationdo/Client Acce(tance
do/Deli!ery
do/"ost )ortem
Teams assembledIn#rastructure doneX XX
XX XX
%ista6e) S6ippin& the Start Phase
8/20/2019 L36 Unified Process Ch16lect2
48/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 48
%ista6e) S6ippin& the Start Phase
• ain reason: Time pressure• $easons for start phase
• Inform sta#eholders that the pro'ect has been approvedand when wor# will start
• Confirm that sta#eholders are able to support the pro'ect
• $eevaluate and reconfirm wor# pac#a!es with developers
• E>plain your role as mana!er to sta#eholders anddevelopers;
System Done
New Technology
Conception
do/FormulateIdea
do/Cost-BeneftAnalysis
do/FeasibilityStudy
do/e!iew
!enitiondo/"roblem Statement
do/So#tware Architecture
do/So#tware "lan
Start
do/"ro$ect %ic&o'
do/In#rastructure Setu(
do/S&ill Identifcation
do/Team Formation
Steady State
do/De!elo( System
do/Controlling
do/is& )anagement
do/e(lanning
New e*uirement
+oAhead
Sco(eDefned
Terinationdo/Client Acce(tance
do/Deli!ery
do/"ost )ortem
Teams assembledIn#rastructure doneX
%ista6e) S6ippin& !enition andSt t Ph
8/20/2019 L36 Unified Process Ch16lect2
49/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 49
Start Phase
• Gnown territory ar!ument • /I have done this before, no need to waste time0 • Even thou!h a pro'ect may be similar to an earlier
one, some thin!s are always different
• Un#nown territory ar!ument • /y pro'ect is different from anythin! I have ever done
before, so what !ood is it to plan)0
• It is better to create a map if you are attemptin! totravel into un#nown territory;
System Done
New Technology
Conception
do/FormulateIdea
do/Cost-BeneftAnalysis
do/FeasibilityStudy
do/e!iew
!enitiondo/"roblem Statement
do/So#tware Architecture
do/So#tware "lan
Start
do/"ro$ect %ic&o'
do/In#rastructure Setu(
do/S&ill Identifcation
do/Team Formation
Steady State
do/De!elo( System
do/Controlling
do/is& )anagement
do/e(lanning
New e*uirement
+oAhead
Sco(eDefned
Terinationdo/Client Acce(tance
do/Deli!ery
do/"ost )ortem
Teams assembledIn#rastructure doneXX
Pro.le) 8oinin& a Pro/ect Late
8/20/2019 L36 Unified Process Ch16lect2
50/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 50
8 & /
@oinin! a pro'ect late is not that uncommon• 6ften the plannin! has been performed by another
person, usually a hi!h level mana!er, and you areas#ed to ta#e the pro'ect over
• 6r the pro'ect is in such a bad state, that the currentpro'ect mana!er needs to be replaced
•$eason to 'ump ri!ht into steady state phase• /The plan has already been developed, so why should
I !o bac# to the conception and definition phases)0
• $easons to reevaluate the conception anddefinition phase:
1; See if you can identify any issues that may have beenoverloo#ed
8/20/2019 L36 Unified Process Ch16lect2
51/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 51
• Ta#e the time to ensure that all tas#s are completedor identified as open issues:
• 6therwise you never really #now how successful your
pro'ect was
• Try to learn from your mista#es 8/lessons learned09:• If you donHt, you will ma#e the the same mista#es a!ain,
and may even fail;
System Done
New Technology
Conception
do/FormulateIdea
do/Cost-BeneftAnalysis
do/FeasibilityStudy
do/e!iew
!enitiondo/"roblem Statement
do/So#tware Architecture
do/So#tware "lan
Start
do/"ro$ect %ic&o'
do/In#rastructure Setu(
do/S&ill Identifcation
do/Team Formation
Steady State
do/De!elo( System
do/Controlling
do/is& )anagement
do/e(lanning
New e*uirement
+oAhead
Sco(eDefned
Terinationdo/Client Acce(tance
do/Deli!ery
do/"ost )ortem
Teams assembledIn#rastructure done
X
• $easons for s#ippin! or notcompletin! the termination phase:
• ou leave a pro'ect to move on ri!ht tothe ne>t one; 8ecause you are asuccessful mana!er:(9
• Scarce resources and short deadlines
• A new pro'ect is always more
challen!in! than wrappin! up an old one
Suary
8/20/2019 L36 Unified Process Ch16lect2
52/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 52
y
• Unified Process: Iterative software lifecycle model•
Emphasis on early construction of a software architecture• Emphasis on early demonstrations of the system
• &efinitions• Phase: Status of the software system;
• 4 phases: Inception, Elaboration, Construction, Transition
• "or#flow: ostly se%uential activity that produces artifacts
• 3 wor#flows: ana!ement, environment, re%uirements,desi!n, implementation, assessment, deployment;
• B artifact sets: ana!ement set, re%uirements set,desi!n set, implementation set, deployment set
• Iteration: $epetition within a wor#flow;
• Each unified process iteration is a software pro'ect;
0dditional References
8/20/2019 L36 Unified Process Ch16lect2
53/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 53
• "al#er $oyce• Software Pro'ect ana!ement, Addison("esley, 1JJK;
• Ivar @acobsen, rady ooch - @ames $umbau!h• The Unified Software &evelopment Process, Addison
"esley, 1JJJ;
• @im Arlow and Ila Deustadt• U5 and the Unified Process: Practical 6b'ect(6riented
Analysis and &esi!n, Addison "esley,
8/20/2019 L36 Unified Process Ch16lect2
54/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 54
Coponent :ased Software!eelopent
8/20/2019 L36 Unified Process Ch16lect2
55/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 55
!eelopent
• uy• Commercial of the shelf components 8C6TS9, reusable
ob'ects,
• uild• Custom development, build everythin! from scratch,
• Comparision: uy vs; uild
Coercial Coponents #':uy;$
8/20/2019 L36 Unified Process Ch16lect2
56/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 56
Predictable license costs
roadly used, maturetechnolo!y
Available now
&edicated supportor!ani7ation
*ardware?softwareindependence 8sometimes9
$ich in functionality
.re%uent up!rades
Up(front license fees $ecurrin! maintenance fees
&ependency on vendor
$un(time efficiency sacrifices
.unctionality constraints
Inte!ration not always trivial
Do control over up!rades andmaintenance
Unnecessary features thatconsume e>tra resources
6ften inade%uate reliability andstability
ultiple(vendorincompatibilities;
Custo Coponents #':uild;$
8/20/2019 L36 Unified Process Ch16lect2
57/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 57
Complete chan!e freedom
Smaller, often simplerimplementations
6ften better performance
Control of developmentand enhancement
E>pensive, unpredictable
development Unpredictable availability
date
Undefined maintenancemodel
6ften immature and fra!ile Sin!le(platform
dependency
&rain on e>pert resources;
%odel of the Unied Process#0nalysis$
8/20/2019 L36 Unified Process Ch16lect2
58/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 58
#0nalysis$• Inputs:
• Problem Statement
• .unctional $e%uirements:• Top level use case: &evelop software system that
implements the problem statement;
• 6utputs:
• $e%uirements analysis document• Software pro'ect mana!ement plan
• Software confi!uration mana!ement plan
• System desi!n document
•6b'ect desi!n document• Test plan and test cases
• Source code
• User manual and administrator manual
%odel of the Unied Process) Syste!esi&n
8/20/2019 L36 Unified Process Ch16lect2
59/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 59
!esi&n• &esi!n oals:
•*i!h performance, dependability, low cost, maintainability,usability
• Subsystems:• The wor#flows ana!ement, Environment, $e%uirements,
&esi!n, Implementation, Assessment, &eployment
• *ardware?Software mappin!:• Each subsystem is runnin! on its own node;
• Concurrency:• The threads can run concurrently;
• lobal control flow:• Event(driven; The subsystems communicate via events;
Typical events are: L$e%uirement has chan!ed/, L$eviewcomments available/, LTime has e>pired/9
%odel of the Unied Process) Syste!esi&n #ctd$
8/20/2019 L36 Unified Process Ch16lect2
60/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 60
!esi&n #ctd$
• Persistent &ata:
• ision, Process odel, Confi!uration Items, Analysis odel,System &esi!n odel, 6b'ect &esi!n odel,Communication data;
• Access control:• Sta#eholders 8End users, mana!ers, customers,
developers, 9 have access to the persistent data withaccess ri!hts defined dynamically by environmentwor#flow;
• oundary Conditions• Startup of wor#flows: All wor#flows start simultaneously
• Steady state of wor#flows: "or#flows wa#e up on an event,process the event, and !o to sleep afterwards;
• Terminal conditions of wor#flows: A ris# has occurred thatcannot be dealt with
Lifecycle -proeent
8/20/2019 L36 Unified Process Ch16lect2
61/61
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 61
• There are = possibilities to improve a multi(step
process• +uality improvement: "e ta#e an n(step process and
improve the efficiency of each step
• E>ample: T+ 8Total +uality ana!ement9
• 6verhead reduction: "e ta#e an n(step process andeliminate some of the steps
• E>ample: E>treme Pro!rammin!
• Concurrency: "e ta#e an n(step process and paralleli7esome of the seps or use more concurrency in theresources bein! used
• E>ample: Unified Process;