Download Art for Chapter 11, Project Management

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Software development wikipedia , lookup

Transcript
Conquering Complex and Changing Systems
Object-Oriented Software Engineering
Art for
Chapter 11,
Project Management
Initiation
Problem statement
definition
Initial top-level
design
Team formation
Initial milestones
planning
Communication
infrastructure setup
Project kickoff
Figure. 11-1. Management activities during initiation, steady state, and termination. (UML
activity diagram) (continued on next slide)
Bernd Bruegge & Allen Dutoit
Object-Oriented Software Engineering: Conquering Complex and Changing Systems
2
Project kickoff
Steady state
Status monitoring
Risk management
Project replanning
Project agreement
Termination
Installation
Bernd Bruegge & Allen Dutoit
Client acceptance test
Object-Oriented Software Engineering: Conquering Complex and Changing Systems
Postmortem
3
map ped to
*
Tas k
Sch edul e
*
1
Wor k Pr oduc t
pro duce s
*
1
ass igne d to
Rol e
*
1
ass igne d to
Par tici pant
*
1
ass igne d to
Tea m
Figure 11-2. Relationships among participants, teams, roles, tasks, work products, and schedules
(UML class diagram). Participant are assigned to Teams each responsible for a different
subsystem. Each Participant is assigned a number of Roles each corresponding to a set of Tasks.
Tasks result in one or more Work Products. A Schedule consists of a set of tasks mapped to a time
line.
Bernd Bruegge & Allen Dutoit
Object-Oriented Software Engineering: Conquering Complex and Changing Systems
4
Subsy stem decomp osition
Us erIn terf ace
Team organizatio n
Us erIn terf ace
:S ubsy stem Team
Co ntro l
:S ubsy stem Team
Co ntro l
Da taba se
Da taba se
:S ubsy stem Team
Figure 11-3. An example of a subsystem decomposition mapped onto a team organization (UML
object diagram). The arrows represent dependencies among subsystems and among teams.
Bernd Bruegge & Allen Dutoit
Object-Oriented Software Engineering: Conquering Complex and Changing Systems
5
Ma nage ment
:T eam
de cisi on
st atus
Us erIn terf ace
:S ubsy stem Team
de cisi on
st atus
Da taba se
:S ubsy stem Team
Co ntro l
:S ubsy stem Team
Figure 11-4. Example of reporting structure (UML collaboration diagram). Status information is
reported to the project manager and corrective decisions are communicated back to the teams by
the team leaders. The team leaders and the project manager are called the management team.
Bernd Bruegge & Allen Dutoit
Object-Oriented Software Engineering: Conquering Complex and Changing Systems
6
Us erIn terf ace
:S ubsy stem Team
co mmun icat es
te am l eade r
Al ice
:D evel oper
AP I en gine er
Jo hn
:D evel oper
Ar chit ectu re:
Cr ossF unct iona lTea m
Ma ry
:D evel oper
Do cume ntat ion:
Cr ossF unct iona lTea m
do cume ntat ion liai son
im plem ento r
Ch ris
:D evel oper
im plem ento r
Sa m
:D evel oper
Ma nage ment :
Te am
Figure 11-5. Examples of a team organization (UML object diagram). The team is composed of
five developers. Alice is the team leader, also called the liaison to the management team. John is
the API engineer, also called the liaison to the architecture team. Mary is the liaison to the
documentation team. Chris and Sam are implementers and interact with other teams only
informally.
Bernd Bruegge & Allen Dutoit
Object-Oriented Software Engineering: Conquering Complex and Changing Systems
7
Man agem ent
:Te am
rep orts to
rep orts to
rep orts to
rep orts to
rep orts to
Use rInt erfa ce
:Su bsys temT eam
com muni cate s wi th com muni cate s wi th
Dat abas e
:Su bsys temT eam
com muni cate s wi th
Arc hite ctur e:
Cro ssFu ncti onal Team
Con trol
:Su bsys temT eam
com muni cate s wi th
Doc umen tati on:
Cro ssFu ncti onal Team
Figure 11-6. An example of a team-based organization with four subsystem teams and three
cross-functional teams (UML object diagram). The links between all teams and the management
team (drawn thick for clarity) represent the reporting structure. All other associations represent
communication.
Bernd Bruegge & Allen Dutoit
Object-Oriented Software Engineering: Conquering Complex and Changing Systems
8
Da taba se S ubsy stem
Wo rk P rodu cts
pe rsis tent obj ects :Cla ss M odel
so urce :Sou rce Code
de sign obj ects :Cla ss M odel
in spec tion def ects :Doc umen t
te st p lan: Docu ment
te stin g de fect s:Do cume nt
Figure 11-7. Work products for the a database subsystem team (UML object diagram).
Associations represent dependencies among work products.
Bernd Bruegge & Allen Dutoit
Object-Oriented Software Engineering: Conquering Complex and Changing Systems
9
Dat abas e su bsys tem
req . el icit atio n
Dat abas e su bsys tem
des ign
Dat abas e su bsys tem
imp leme ntat ion
Dat abas e su bsys tem
tes t pl an
Dat abas e su bsys tem
ins pect ion
Dat abas e su bsys tem
tes t
Figure 11-8. An example of a task model with precedence dependencies for the database
subsystem example of Table 11-1 (UML activity diagram).
Bernd Bruegge & Allen Dutoit
Object-Oriented Software Engineering: Conquering Complex and Changing Systems
10
Figure 11-9. An example of schedule for the database subsystem (Gantt chart).
Bernd Bruegge & Allen Dutoit
Object-Oriented Software Engineering: Conquering Complex and Changing Systems
11
Sto rage sub syst em
sys tem anal ysis
1
5d
Nov 13
Nov 19
Sto rage sub syst em
obj ect desi gn
2
5d
Nov 20
Nov 26
Sto rage sub syst em
tes t pl an
5
10d
Nov 27
Dec 10
Sto rage sub syst em
imp leme ntat ion
3
15d
Nov 27
Dec 17
Figure 11-10. An example of schedule for the database subsystem (PERT chart). Tasks on the
critical path are represented with thick lines.
Bernd Bruegge & Allen Dutoit
Object-Oriented Software Engineering: Conquering Complex and Changing Systems
12
Figure 11-11. Floor plan for the Intelligent Workplace, an intelligent building in the Department
of Architecture in Carnegie Mellon University.
Bernd Bruegge & Allen Dutoit
Object-Oriented Software Engineering: Conquering Complex and Changing Systems
13
De live rabl es
Pr ojec t In itia tion Pro duct s
Pr ojec t Ag reem ent
Pr oble m St atem ent
Re quir emen ts A naly sis
Do cume nt ( RAD)
Sy stem Des ign
Do cume nt ( SDD)
To p-le vel Desi gn
Or gani zati on
So ftwa re P roje ct
Ma nage ment Pla n (S PMP)
In itia l Ta sk P lan
In itia l Sc hedu le
Figure 11-12. Work products generated during project initiation and their relationship with
typical project deliverables (UML class diagram).
Bernd Bruegge & Allen Dutoit
Object-Oriented Software Engineering: Conquering Complex and Changing Systems
14
•Provide a Web browser interface for users to
visualize and specify environmental parameters
•Provide speech interface
•Maintain map of sensor, actuators, and rooms
•Provide facilities manager interface
•Maintain cable schematic and network structure
•Maintain a current map of the workspace
Us erIn terf ace
configurations (e.g., furniture)
•Provide navigation of a 3D model of the building
•Provide 3D visualization of temperature and energy
consumption
Fa cili ties Mana geme nt •Provide 3D visualization of problems and
emergencies
•Interface to sensors and actuators
•Provide reactive algorithms to•Provide
maintainarchival of building operation
Vi sual izat ion
data (sensor and control)
temperature and humidity
•Capture and store weather forecast data
Co ntro l
Da taba seMa nage ment
Figure 11-15. Top-level design of OWL (UML class diagram, packages collapsed).
Bernd Bruegge & Allen Dutoit
Object-Oriented Software Engineering: Conquering Complex and Changing Systems
15
Task
1. Select database management system
2. Identify persistent objects and their attributes
3. Identify queries
4. Identify searchable attributes
5. Define schema
6. Build prototype for performance evaluation
7. Define API to other subsystems
8. Identify concurrency requirements
9. Implement database subsystem
10.Unit test database subsystem
11.Address remaining concurrency hazards
Estimated time
2 weeks
1 week
1 week
1 day
2 weeks
2 weeks
3 days
2 days
2 weeks
3 weeks
2 weeks
Table 11-3. An example of initial work breakdown structure for DatabaseManagement.
Bernd Bruegge & Allen Dutoit
Object-Oriented Software Engineering: Conquering Complex and Changing Systems
16
Ide ntif y pe rsis tent
obj ects & a ttri bute s
Bui ld p roto type s fo r
per form ance eva luat ion
Ide ntif y se arch able
att ribu tes
Ide ntif y qu erie s
Figure 11-16. Task model for
the work breakdown structure
of Table 11-3.
Def ine API
Sel ect DBMS
Def ine sche ma
Ide ntif y co ncur renc y
req uire ment s
Imp leme nt s ubsy stem
Uni t te st
Bernd Bruegge & Allen Dutoit
Add ress rem aini ng
con curr ency haz ards
Object-Oriented Software Engineering: Conquering Complex and Changing Systems
17
Figure 11-17. Initial project schedule for OWL (Gantt chart). The initial schedule serves to
estimate the delivery dates and the interaction with the client. The schedule is detailed and
revised as the project progresses.
Bernd Bruegge & Allen Dutoit
Object-Oriented Software Engineering: Conquering Complex and Changing Systems
18
Documents
Figure 11-18. Home
page for OWL.
Developers access all
relevant information
from a central Web
page.
Code
Bulletin Boards
Address book
Organization
Bernd Bruegge & Allen Dutoit
Object-Oriented Software Engineering: Conquering Complex and Changing Systems
19
Figure 11-19. An example of an agenda for the database team kickoff meeting in the OWL project.
AGENDA: Database team kickoff meeting
When and Where
Date:
11/13
Start:
4:30pm
End:
5:30pm
Building: AC Hall
1. Purpose
Become familiar with project management roles for
a medium-scale project with a 2-level hierarchy.
2. Desired outcome
Group roles are assigned to people
Meeting times are finalized
First set of action items for next meeting
3. Information sharing [Allocated time: 25
minutes]
Meeting procedures
• guidelines
• agendas/minute templates
Team roles
• Team leader
Bernd Bruegge & Allen Dutoit
Role
Primary Facilitator:
Timekeeper:
Minute Taker:
Room:
Mary
John
Chris
3421
• Architecture Liaison
• Documentation Liaison
• Configuration Manager
• Toolsmith
Team tasks
Team schedule
Problem reporting
4. Discussion [Allocated time: 25 minutes]
Define ground rules
Initial role and task assignment
5. Wrap up [Allocated time: 5 minutes]
Review and assign new action items
Meeting critique
Object-Oriented Software Engineering: Conquering Complex and Changing Systems
20