using uml, patterns, and java object-oriented software engineering art for chapter 14, project...

17
Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 14, Project Management

Upload: german-manger

Post on 02-Apr-2015

222 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 14, Project Management

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

Page 2: Using UML, Patterns, and Java Object-Oriented Software Engineering 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

Page 3: Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 14, Project Management

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

Page 4: Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 14, Project Management

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

Page 5: Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 14, Project Management

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

Page 6: Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 14, Project Management

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

Page 7: Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 14, Project Management

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

Page 8: Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 14, Project Management

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

Page 9: Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 14, Project Management

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

Page 10: Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 14, Project Management

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

Page 11: Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 14, Project Management

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

Page 12: Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 14, Project Management

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

Page 13: Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 14, Project Management

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

Page 14: Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 14, Project Management

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

Page 15: Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 14, Project Management

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

Page 16: Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 14, Project Management

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

Page 17: Using UML, Patterns, and Java Object-Oriented Software Engineering Art for Chapter 14, Project Management

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