Using UML Patterns and Java ObjectOriented Software Engineering
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 postflight 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
“In fact, both of them had. ” Box 1 Box 2 Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 5
Communication is important In large system development efforts, you will spend more time communicating than coding A software engineer needs to learn the so-called soft skills: technical writing, reading documentation, communication, collaboration, management, presentations. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 6
Definitions Communication event ¨ Type of information exchange that has defined objectives and scope ¨ Scheduled: Planned communication (e. g. , review, meeting) ¨ Unscheduled: Event-driven communication (e. g. , request for change, issue clarification, problem report) Communication mechanism ¨ Tool or procedure that can be used to transmit information ¨ Synchronous: Sender and receiver are available at the same time ¨ Asynchronous: Sender and Receiver are not communicating at the same time. Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 7
Planned Communication Events Problem Definition Project Review: Focus on system model Client Review: Focus on requirements Walkthrough (Informal) Inspection (Formal) Status Review Brainstorming Release Postmortem Review Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 8
Unplanned Communication Events Request for clarification w The bulk of communication among developers, clients and users. w Example: A developer may request a clarification about an ambiguous sentence in the problem statement. Request for change w A participant reports a problem and proposes a solution w Change requests are often formalized when the project size is substantial. w Example: A participant reports of a problem the air conditioner in the lecture room and suggests a change. Issue resolution w Selects a single solution to a problem for which several solutions have been proposed. w Uses issue base to collect problems and proposals Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 9
Synchronous Communication Mechanisms Smoke signals w Supports: ? , Pros: ? , Cons: ? Hallway conversation (face-to-face) w Supports: Unplanned conversations, Request for clarification, request for change w Pro: Cheap and effective for resolving simple problems w Con: Important information can be lost, misunderstandings can occur when conversation is relayed to others. Meeting (face-to-face, telephone, video conference) w Supports: Planned conversations, client review, project review, status review, brainstorming, issue resolution w Pro: Effective mechanism for resolution of isssues, and building consensus w Con: High cost (people, resources); difficulty of managing them and getting effective results Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 10
Asynchronous Communication Mechanisms E-Mail w Supports: Release, change request, brainstorming w Pro: Ideal for planned communication events and announcements. w Con: E-mail taken out of context can be easily misunderstood, sent to the wrong person, lost or not read by the receiver. Newsgroups w Supports: Release, change request, brainstorming w Pro: Suited for notification and discussion among people who share a common interest; cheap (shareware available) w Con: Primitive access control (often, you are either in or out) World Wide Web w Supports: Release, change request, inspections w Pro: Provide the user with a hypertext metaphor: Documents contain links to other documents. w Con: Does not easily support rapidly evolving documents Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 11
Summary ¨ Communication Events w Planned (stipulated by the schedule) w Unplanned (driven by unexpected events) ¨ Communication Mechanisms w Asynchronous communication mechanisms w Synchronous communication mechanisms ¨ Important events and mechanisms w Weekly meeting w Project reviews w Online communication (discussion forum, email, web) Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 12
- Slides: 12