using uml, patterns, and java object-oriented software engineering art for chapter 14, project...
TRANSCRIPT
Usi
ng U
ML
, Pat
tern
s, a
nd J
ava
Ob
ject
-Ori
ente
d S
oftw
are
En
gin
eeri
ng Art for Chapter 14,
Project Management
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 2
Figure 14-1, Phases of a Software Project
Conception
Definition
Start
Steady State
do/FormulateIdea
do/Problem Statement do/Project Kickoff
do/Develop System
GoAhead
ScopeDefined
&& Teams
System Done
New Technology
do/Cost-BenefitAnalysisdo/FeasibilityStudy
do/Review
Assembled
do/Infrastructure Setup
Infrastructure SetupCompleted
do/Software Architecturedo/Software Plan
do/Skill Identificationdo/Team Formation
do/Controllingdo/Risk Management
do/ReplanningTermination
do/Client Acceptancedo/Delivery
do/Post Mortem
New Need
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 3
Figure 14-2, Management activities in a software project (continued on next slide).
Initial Software
Definition
Project Management PlanInitial Software
Architecture
Start
Skill Identification
Conception
Formulate Idea Cost-Benefit AnalysisFeasibility Study
Problem StatementDefinition
Infrastructure setupTeam assembly
Project Agreement
Project Kick-off
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4
Figure 14-2, Management activities in a software project (continued).
Scope agreementProject replanning
Controlling Risk management
Installation
Steady state
Termination
Client acceptance test Postmortem
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5
Figure 14-3, Tasks, Activities and Project Functions.
Task
*Work
Activity
Project Function«invariant»
duration = project.duration
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6
Figure 14-4, Relationship between Outcome, Work, and Work Packages.
produced-by*
Task
*Work
Activity
Project FunctionProject DeliverableInternal Work Product
Work ProductSet of Work Products
Outcome*
Work Package describes
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7
Figure 14-5, The Work Breakdown Structure is the aggregation of all the work to be performed in a project.
*
Task
*Work
Activity
Work Breakdown Structure
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8
Figure 14-6, Partial work breakdown structure for a house.
Build Foundation
Build Walls
Build Roof
Install Heating
Build Structure
Install PlumbingBuild House:WBS
Install Sewer Pipes
Install Cold & HotWater Pipes
Install Tubs & Sinks
Install Electric
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9
Figure 14-7. An example of a task model with precedence dependencies
Database subsystemreq. elicitation
Database subsystemdesign
Database subsystemimplementation
Database subsysteminspection
Database subsystemtest plan
Database subsystemtest
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10
Figure 14-8, An organization consists of organizational units, which consists of participants or groups of participants.
Participant
*
Staff
Organization Organizational Unit
Project
*
Company
Team Department Division
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11
Figure 14-9, Types of organizations.
Project-BasedOrganization
MatrixOrganization
Line (Functional)Organization
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12
Figure 14-10, Example of a organization chart for a team-based organization with three subsystem teams and two cross-functional teams.
UserInterface:SubsystemTeam
reports to
reports to
reports to
reports to
reports to
Management:Team
Documentation:CrossFunctionalTeam
Architecture:CrossFunctionalTeam
communicates with communicates with
communicates with communicates with
Database:SubsystemTeam
Control:SubsystemTeam
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13
Figure 14-11, Visualization of the organization structure from Figure 14-10 with an organization chart. The reporting and communication structure are not shown explicitly.
User InterfaceTeam
ControlTeam
DatabaseTeam
ArchitectureTeam
DocumentationTeam
ManagementTeam
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 14
Figure 14-12, Model of a Project from a project manager’s point of view. This is a refinement of the model used in Chapter 3.
*
Resource
Participant
Fund
Equipment
Schedule
Task
*
Activity
con-
Facility
*
Staff
Department Team
produces
Work Set of Work
*
ProductProducts
*
Internal Project
Work
respon-
sumes
Package
Role
*
des-
*
cribes
Deliverable
sibleplaysfor
Organi-zation
Structure
**
depends
Work Product Project Function
Project
Outcome WorkOrganizational
Unit
Work Breakdown
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 15
Figure 14-14, Work products generated during project planning and their relationship with typical project deliverables.
Problem Statement
Top-level Design
Organization
Task Model
Schedule
Requirements AnalysisDocument (RAD)
System DesignDocument (SDD)
Software ProjectManagement Plan (SPMP)
Project Agreement
Project Planning ProductsDeliverables
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 16
Figure 14-17, An example of an object-oriented work breakdown structure where the subsystem decomposition is used to identify high-level activities/tasks.
Develop
UserInterface
Control
DatabaseDevelop Database
Subsystem
Develop Control
Subsystem decomposition Work Breakdown Structure
UserInterface Subsystem
Develop System
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 17
Figure 14-18, Assessing the financial status of a project using earned value.
Current
Actual cost
Earned value
Planned cost
time
Time