Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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