![Page 1: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/1.jpg)
Software EngineeringITCS 3155Fall 2008
Dr. Jamie PaytonDepartment of Computer ScienceUniversity of North Carolina at Charlotte
September 4, 2008
Lecture 4Software Development
Processes II
![Page 2: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/2.jpg)
2
Lecture Overview
Finishing up our discussion of software process models
More on Formal ModelingUnified Process Model
Chapter 2Software Design Processes and Management
![Page 3: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/3.jpg)
3
Software Process Models
Waterfall modelClassic life cycleSeparate and distinct process activity phases followed in linear fashion
Incremental process modelsComplete a sequence of the process activities in linear fashion to address a portion of requirementsEach iteration through the activities results in a piece of the final product
Evolutionary process modelsSpecification, design, and validation activities are interleavedEach iteration through activities develops a limited prototype to extract feedback from customer• Details of product design are delayed • Prototype often serves as primary form of design documentation
![Page 4: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/4.jpg)
4
Comparing Process Models
![Page 5: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/5.jpg)
5
Lecture Overview
Process ModelsWaterfallIncrementalEvolutionaryHybrids• Spiral model• Unified Process model
Describing Processes
![Page 6: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/6.jpg)
6
Rational Unified Process (RUP)
Hybrid generic process model derived from work on UML and an object-oriented process
An instantiation of the spiral modelElements of multiple generic process models• Waterfall• Evolutionary Development• CBSE
![Page 7: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/7.jpg)
7
Perspectives on theUnified Process (UP)
Dynamic perspectiveDescribed in terms of phases of process over time
Static perspectiveDescribed in terms of process activities, participants, and results
Practice perspectiveDescribed in terms of good practices to be used during process
![Page 8: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/8.jpg)
8
UP Static Perspective
Modeling elementsWorkers• Who
Activities• How
Artifacts• What
Workflows• When
![Page 9: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/9.jpg)
9
UP Dynamic Perspective
Life Cycle
time
Iterative phase model
Phases terminate in a milestonePoint in time at which critical decision must be madeBased on availability of a set of artifacts in a particular state
Product Release
![Page 10: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/10.jpg)
10
The Rational Unified Process:
Static + DynamicC
ore
Sup
porti
ng
Workflows
©Rational Software
time
content
![Page 11: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/11.jpg)
11
Unified Process Principles
Best practices1. Develop software iteratively2. Manage requirements3. Use component-based architectures4. Visually model software5. Verify software quality6. Control changes to software
![Page 12: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/12.jpg)
12
Lecture Overview
Process ModelsWaterfallIncrementalEvolutionaryHybrids• Spiral model• Unified process model
Describing Processes
![Page 13: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/13.jpg)
13
Describing Processes
Process description notationsDescribe design processesDescribe computational processes
In this class, we will use the Unified Modeling Language (UML)
Widely usedUML provides a process description notation• Activity diagrams
![Page 14: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/14.jpg)
14
UML Activity Diagrams
An activity diagram shows ActionsFlow of control and data between actions
ActivityA non-atomic task or procedureCan be decomposed into actions
ActionA task or procedure that cannot be broken into parts
![Page 15: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/15.jpg)
15
Activity Graph Elements
Sort Clothes
Wash Whites
Wash Darks
Dry Clothes
Fold Clothes
Do Laundry
activity symbol
action node
activity edge
initial node
activity final node
![Page 16: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/16.jpg)
16
Activity Diagram Execution Model
Execution is modeled by tokensProduced by action nodesTravel over action edgesConsumed by action nodes
Action nodesRepresent an actionBegin execution when a token exists on every incoming edgeConsumes tokens upon executionProduces tokens on every outgoing edge upon completion
Action
Notation
![Page 17: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/17.jpg)
17
Activity Diagram Execution Model (2)
Initial nodeProduces a token on each outgoing edge when activity begins
Final nodeConsumes a token available on any incoming edge and terminates entire activity
Notation
![Page 18: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/18.jpg)
18
Branching Nodes
guards
merge node
decision node
![Page 19: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/19.jpg)
19
Branching Execution Model
Decision nodePasses tokens, doesn’t consume them • If token arrives on incoming edge of decision node• Then token will be made available on outgoing edge whose
guard is true
Merge nodeActs as a simple “repeater”• If token arrives on incoming edge of merge node• Then token will be made available on outgoing edge of merge
node
GuardsMust be mutually exclusive!• Otherwise, behavior is undefined
![Page 20: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/20.jpg)
20
Deadlock
RunDrier cannot execute!
Why?Run Drier
Fold Clothes
Try to DryClothes
[else]
[still wet]
![Page 21: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/21.jpg)
21
Data FlowsObject (data) nodes
Represented by labeled rectangle• Name of object• State (optional)
Control flow vs. Data flowControl flow: activity edge that is a conduit for control tokensData flow: activity edge that is a conduit for data tokens• Considered data flow if:
Flow begins or ends at object nodeEdge leaving decision or merge node where at least one incoming edge is data flow
Data flow tokens Contain data/objectsConsumed: action nodes extract dataProduced: action node places data or objects in token
![Page 22: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/22.jpg)
22
Data Flow Example
![Page 23: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/23.jpg)
23
Activity Parameters
Activity parametersObject nodes placed on activity symbol boundaries Indicate data or object inputs or outputsContain the data or object nameTypes are specified in the activity symbol beneath the activity name
![Page 24: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/24.jpg)
24
Activity Parameter Example
max = a[i]
FindMaxa : int[1..*]max : int
[else][i < a.length]
i++
[max < a.[i]]
[else]
max = a[0]i = 1a
max
output activity parameter
input activity
parameter
activity parameter
types
![Page 25: Lecture 4 (Software Development Processes II) · Software Development ... Workflows • When. 9 UP Dynamic Perspective ... The Rational Unified Process: Static + Dynamic C o r e S](https://reader034.vdocuments.us/reader034/viewer/2022042911/5f447e6811615105db097bab/html5/thumbnails/25.jpg)
25
Next time
Beginning the software development processSoftware Product DesignRead Chapter 3