Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication A Communication Example Two missile electrical boxes manufactured by different contractors were joined together by a pair of wires. Box 1 Bernd Bruegge & Allen H. Dutoit Pair of Wires Object-Oriented Software Engineering: Using UML, Patterns, and Java Box 2 2 A Communication Example (continued) Thanks to a particular thorough preflight check, it was discovered that the wires had been reversed." Box 1 Bernd Bruegge & Allen H. Dutoit Box 2 Object-Oriented Software Engineering: Using UML, Patterns, and Java 3 After the Crash... ... The post-flight analysis revealed that the contractors had indeed corrected the reversed wires as instructed. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 4 A Communication Example (continued) In fact, both of them had! Box 1 Bernd Bruegge & Allen H. Dutoit Box 2 Object-Oriented Software Engineering: Using UML, Patterns, and Java 5 Communication is important You will spend more time communicating than modeling and coding A software engineer needs to learn the so-called soft skills: technical writing, reading documentation, communication, collaboration, management, presentations. It’d be nice for each of you to (acquire and) demonstrate the following skills: Management: Run a team meeting Presentation: Present a major aspect of your project Collaboration: Negotiate requirements with the client and with members from your team Technical writing: Write part of the documentation Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6 Have to organize well for effective communication... Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7 Project components (developer’s perspective) Work product Piece of code, a UC model, a design document, deliverables (to the client) ... Schedule Intermediate (internal) deadlines Alpha, beta, public release dates Project management software Participant / project member Developer, tester, technical writer, product manager ... Task Design a component, test a component, fix a bug, write User’s Guide ... Issue tracking software Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8 Project organizations Team based Interaction via reporting, decision, and communication Example organization Management team User Interface team Design / architecture team Database team Quality assurance team Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9 Roles Each member may assume multiple roles Role types Management roles Project manager, team leader ... Development roles System architect, object designer, implementor, tester ... Cross-functional roles API engineer, document editor, configuration manager, tester ... Consultant roles Client, end-user, application domain specialist, solution domain specialist ... Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10 Tasks and work products Task: well-defined work assignment for a role Design a component, test a component, fix a bug, write User’s Guide ... Work product: tangible item resulting from a task Piece of code, a UC model, a design document, deliverables (to the client) ... Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11 Schedule Mapping of tasks onto time with dependencies specified Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12 Schedule – Gannt chart Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 13 Schedule – PERT chart Sto rage sub syst em sys tem anal ysis 1 5d Nov 13 Nov 19 Bernd Bruegge & Allen H. Dutoit Sto rage sub syst em obj ect desi gn 2 5d Nov 20 Nov 26 Object-Oriented Software Engineering: Using UML, Patterns, and Java 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 14