UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing.

Slides:



Advertisements
Similar presentations
Software analysis and design tools T120B pavasario sem.
Advertisements

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication, Part 2.
CSE 308 Project Management. SWE Communication Skills Management: Run a team meeting Presentation: Present aspects of your project during its development.
Slides by Bruegee and Dutoit, Modified by David A. Gaitros COP 3331 Object Oriented Analysis and Design Chapter 2: Object Oriented Modeling using UML Jean.
Chapter 2, Modeling with UML, Part 2
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML.
Chapter 3,Class Diagram.
Pair of Wires Box 1Box 2 A Communication Example "Two missile electrical boxes manufactured by different contractors were joined together by a pair of.
Interaction Diagrams Software Engineering BIT8. Interaction Diagrams  A series of diagrams describing the dynamic behavior of an object-oriented system.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 UML First Pass: Class Diagrams Battery load()
Project Management and Communication Represented by: Latifa Jaber Al-Ghafran.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 UML Sequence Diagrams  Used during system.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 2, Modeling with UML.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 2, Modeling with UML.
Using UML, Patterns, and Java Object-Oriented Software Engineering Modeling with UML Chapter 2 Object-Oriented Software Engineering: Using UML, Patterns,
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
1 Modeling with UML CMPE 131 Fall Overview What is modeling? What is UML? Use case diagrams Class diagrams Sequence diagrams Activity diagrams.
CEN Fourth Lecture Introduction to Software Engineering (CEN-4010) Instructor: Masoud Sadjadi Project Organization.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Reminders  First project report due today 14:00.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Art for Chapter 11, Project Management.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 2, Modeling with UML.
Introduction to Software Engineering ECSE-321 Unit 5 – Modeling with UML.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 3, Project Communication.
1 Behavioral diagrams (2) Lecture p5 T120B pavasario sem.
Modeling with UML Chapter 2 Object-Oriented Software Engineering: Using UML, Patterns, and Java, 2 nd Edition By B. Bruegge and A. Dutoit Prentice Hall,
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 2, Modeling with UML.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 3, Project Organization and Communication.
UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Chapter 2, Modeling with UML, Part 2
1 Instructor: S. Masoud Sadjadi sadjadi At cs Dot fiu Dot edu Software Engineering and Project Communications.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: Review Session (Optional)
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: Review Session (Optional)
UML Review of diagram types. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 2, Modeling with UML.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
1 An Introduction to UML Interaction (Sequence and Communication) Diagrams Georgia State University CIS 3300 Spring, 2009.
SYSC Software Project Management - Communication1 Project Organization & Communication Books: 1. B. Bruegge and A. H. Dutoit, Object-Oriented Software.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 19, 2001 UML.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering November 7, 2001 Project.
Using UML, Patterns, and Java Object-Oriented Software Engineering More on UML Note: Slides are adapted by Linda Sherrell from the Software Engineering.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 2, Modeling with UML.
Chapter 3, Project Organization and Communication
UML Review Overview: modeling with UML  What is modeling?  What is UML?  Use case diagrams  Class diagrams  Sequence diagrams  Activity diagrams.
CEN 5011 Advanced Software Engineering
Overview of Software Project Management Review – Class 5 UML diagrams cont Overview of Software Project Management - Communication CEN 4010 Class 6 – 09/15.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 2, Modeling with UML.
Object Oriented Analysis System modeling = Functional modeling + Object modeling + Dynamic modeling Functional modeling = Use cases Object modeling =class.
1 Object Oriented Analysis System modeling = Functional modeling + Object modeling + Dynamic modeling Functional modeling = Use cases Object modeling =class.
Overview of Software Project Management cont Review – Class 6 Scheduling Tasks Project Management Activities CEN 4010 Class 8 – 09/22.
Project Organization and Communication Roadmap for today’s class Project organization organization roles tasks and work products schedule – Gantt chart,
A comment from a student who took SE in Fall, 2004 I dont think the final result of any groups project directly relates to what we all learned in this.
Bernd Bruegge and Allen Dutoit Requirements Process The requirements process consists of two activities: Requirements Elicitation: Definition of the system.
Chapter 3, Project Organization and Communication
Chapter 3, Project Organization and Communication
Project Organization and Communication
Project Organization and Communication
Chapter 2, Modeling with UML
UML Review.
Chapter 2: Modeling with UML - 2
Project Organization & Communication
CS410 – Software Engineering Lecture #17: UML I
Chapter 2, Modeling with UML
Project Organization and Communication
Chapter 3, Project Organization and Communication, Part 2
Introduction to Software Engineering (CEN-4010)
Chapter 2, Modeling with UML
Presentation transcript:

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Class Diagrams  Class diagrams represent the structure of the system.  Class diagrams are used  during requirements analysis to model problem domain concepts  during system design to model subsystems and interfaces  during object design to model classes. Enumeration getZones() Price getPrice(Zone) TariffSchedule * * Trip zone:Zone price:Price

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 2 Classes  A class represent a concept.  A class encapsulates state (attributes) and behavior (operations).  Each attribute has a type.  Each operation has a signature.  The class name is the only mandatory information. zone2price getZones() getPrice() TariffSchedule Table zone2price Enumeration getZones() Price getPrice(Zone) TariffSchedule Name Attributes Operations Signature TariffSchedule

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 3 Instances  An instance represents a phenomenon.  The name of an instance is underlined and can contain the class of the instance.  The attributes are represented with their values. zone2price = { {‘1’,.20}, {‘2’,.40}, {‘3’,.60}} tariff_1974:TarifSchedule

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 4 Actor vs. Instances  What is the difference between an actor and a class and an instance?  Actor:  An entity outside the system to be modeled, interacting with the system (“Pilot”)  Class:  An abstraction modeling an entity in the problem domain, inside the system to be modeled (“Cockpit”)  Object:  A specific instance of a class (“Joe, the inspector”).

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 5 Associations  Associations denote relationships between classes.  The multiplicity of an association end denotes how many objects the source object can legitimately reference. Enumeration getZones() Price getPrice(Zone) TarifSchedule * price zone TripLeg *

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 6 1-to-1 and 1-to-Many Associations 1-to-1 association 1-to-many association * draw() Polygon x:Integer y:Integer Point 1 Has-capital name:String Country name:String City 11

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 7 Aggregation  An aggregation is a special case of association denoting a “consists of” hierarchy.  The aggregate is the parent class, the components are the children class. 1 Exhaust SystemMufflerTailpipe 0..2

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 8 Composition  A solid diamond denote composition, a strong form of aggregation where components cannot exist without the aggregate. 3 TicketMachine ZoneButton

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 9 From Problem Statement to Code Problem Statement A stock exchange lists many companies. Each company is identified by a ticker symbol Class Diagram Java Code public class StockExchange { public Vector m_Company = new Vector(); }; public class Company { public int m_tickerSymbol; public Vector m_StockExchange = new Vector(); }; * StockExchange tickerSymbol Company * lists

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 10 Generalization  Generalization relationships denote inheritance between classes.  The children classes inherit the attributes and operations of the parent class.  Generalization simplifies the model by eliminating redundancy. Button ZoneButtonCancelButton

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 11 UML Sequence Diagrams  Used during requirements analysis  To refine use case descriptions  to find additional objects (“participating objects”)  Used during system design  to refine subsystem interfaces  Classes are represented by columns  Messages are represented by arrows  Activations are represented by narrow rectangles  Lifelines are represented by dashed lines selectZone() pickupChange() pickUpTicket() insertCoins() Passenger TicketMachine

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 12 UML Sequence Diagrams: Nested Messages  The source of an arrow indicates the activation which sent the message  An activation is as long as all nested activations selectZone() Passenger ZoneButton TarifScheduleDisplay lookupPrice(selection) displayPrice(price) price Dataflow …to be continued...

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 13 Sequence Diagram Observations  UML sequence diagram represent behavior in terms of interactions.  Complement the class diagrams which represent structure.  Useful to find participating objects.  Time consuming to build but worth the investment.

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 14 Activity Diagrams  An activity diagram shows flow control within a system  An activity diagram is a special case of a state chart diagram in which states are activities (“functions”)  Two types of states:  Action state:  Cannot be decomposed any further  Happens “instantaneously” with respect to the level of abstraction used in the model  Activity state:  Can be decomposed further  The activity is modeled by another activity diagram

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 15 Activity Diagram: Modeling Decisions

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 16 Activity Diagrams: Modeling Concurrency  Synchronization of multiple activities  Splitting the flow of control into multiple threads Synchronization Splitting Archive Incident Open Incident Document Incident Allocate Resources Coordinate Resources

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 17 Activity Diagrams: Swimlanes  Actions may be grouped into swimlanes to denote the object or subsystem that implements the actions. Archive Incident Dispatcher FieldOfficer Open Incident Document Incident Allocate Resources Coordinate Resources

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 18 Summary  UML provides a wide variety of notations for representing many aspects of software development  Powerful, but complex language  Can be misused to generate unreadable models  Can be misunderstood when using too many exotic features  We concentrate only on a few notations:  Functional model: use case diagram  Object model: class diagram  Dynamic model: sequence diagrams, statechart and activity diagrams

Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 3, Project Communication

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 20 Pair of Wires Box 1Box 2 A Communication Example "Two missile electrical boxes manufactured by different contractors were joined together by a pair of wires.

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 21 Box 1Box 2 A Communication Example (continued) Thanks to a particularly thorough preflight check, it was discovered that the wires had been reversed."

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 22 After the Crash "The postflight analysis revealed that the contractors had indeed corrected the reversed wires as instructed."

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 23  “In fact, both of them had.” Box 1Box 2

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 24 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. In this course, we ask each of you to (acquire and) demonstrate the following skills:  Management: Run a team meeting  Presentation: Present a major aspect of e-Textbook during its development phase.  Collaboration: Negotiate requirements with the client and with members from your team.  Technical writing: Write part of the documentation of e- Textbook.

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 25 Definitions Communication mode  Type of information exchange that has defined objectives and scope  Scheduled: Planned Communication  Event Driven:Unplanned Communication 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.

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 26 Classification of Communication is supported by ** Synchronous Mechanism Asynchronous Mechanism Communication Mechanism Event-driven Mode Scheduled Mode Communication Mode

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 27 Scheduled Communication Modes Problem Definition  Objective: Present goals, requirements and constraints  Example: Client Presentation  Usually scheduled at the beginning of a project. Project Review: Focus on system model  Objective: Assess status and review system model, system decomposition, and subsystem interfaces  Examples: Analysis Review, System Design Review  Scheduled around project milestones and deliverables Client Review: Focus on requirements  Objective: Brief client, agree on requirements changes  Client Review, System Requirements Specification (SRS)  Usually scheduled after analysis phase

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 28 Scheduled Communication Modes (continued) Walkthrough (Informal)  Objective: Increase quality of subsystem  Example: Developer presents subsystem to team members, informal, peer-to-peer  To be scheduled by each team Inspection (Formal)  Objective: Compliance with requirements  Example: Client acceptance test (Demonstration of final system to customer)  To be scheduled by project management

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 29 Scheduled Communication Modes (continued) Status Review  Objective: Find deviations from schedule and correct them or identify new issues  Focus on tasks  Example: Status section in regular weekly team meeting  Scheduled every week Brainstorming  Objective: Generate and evaluate large number of solutions for a problem  Example: Discussion section in regular weekly team meeting  Scheduled every week

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 30 Scheduled Communication Modes (continued) Release  Objective: Baseline the result of each software development activity  Software Project Management Plan (SPMP)  System Requirements Specification Document (SRS (RAD in B&D))  System Design Document (SDD)  Object Design Document (ODD)  Test Manual (TM)  User Manual (UM)  Usually scheduled after each phase Postmortem Review  Objective: Describe Lessons Learned  Scheduled at the end of the project

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 31 Event Driven Communication Modes Request for clarification  The bulk of communication among developers, clients and users.  Example: A developer may request a clarification about an ambiguous sentence in the problem statement. Request for change  A participant reports a problem and proposes a solution  Change requests are often formalized when the project size is substantial.  Example: A user of a word processing program requests that the spelling checker automatically corrects certain commonly misspelled words (e.g. teh, thes (for this)) Issue resolution  Selects a single solution to a problem for which several solutions have been proposed.  Uses issue base to collect problems and proposals

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 32 Example of Request for Clarification From: Alice Newsgroups: cs413.architecture.discuss Subject: SDD Date: Thu, 10 Oct 23:12: Message-ID: MimeVersion: 1.0 Content-Type: text/plain; charset=us-ascii When exactly would you like the System Design Document? There is some confusion over the actual deadline: the schedule claims it to be October 22, while the template says we have until November 7. Thanks, Alice

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 33 Example of a Change Request Report number: 1291 Date: 5/3 Author: Dave Synopsis: The e-Textbook client crashes when empty forms are submitted. Subsystem: User interface Version: Classification: missing/incorrect functionality, convention violation, bug, documentation error Severity: severe, moderate, annoying Description: > Rationale: > Proposed solution: >

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 34 Synchronous Communication Mechanisms Smoke signals  Supports: ?, Pros: ?, Cons: ? Hallway conversation (face-to-face)  Supports: Unplanned conversations, Request for clarification, request for change  Pro: Cheap and effective for resolving simple problems  Con: Important information can be lost, misunderstandings can occur when conversation is relayed to others. Meeting (face-to-face, telephone, video conference)  Supports: Planned conversations, client review, project review, status review, brainstorming, issue resolution  Pro: Effective mechanism for resolution of isssues, and building consensus  Con: High cost (people, resources); difficulty of managing them and getting effective results

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 35 Meeting Roles  Primary facilitator  Responsible for organizing the meeting and guiding the execution.  Writes the agenda describing objective and scope of meeting.  Distribute the agenda to the meeting participants  Minute taker  Responsible for recording the meeting.  Identifies action items and issues  Release them to the participants  Time keeper  Responsible for keeping track of time

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 36 Structure of a Meeting Agenda

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 37 Asynchronous Communication Mechanisms  Supports: Release, change request, brainstorming  Pro: Ideal for event-driven communication modes and announcements.  Con: taken out of context can be easily misunderstood, sent to the wrong person, lost or not read by the receiver. Newsgroups  Supports: Release, change request, brainstorming  Pro: Suited for notification and discussion among people who share a common interest; cheap (shareware available)  Con: Primitive access control (often, you are either in or out) World Wide Web  Supports: Release, change request, inspections  Pro: Provide the user with a hypertext metaphor: Documents contain links to other documents.  Con: Does not easily support rapidly evolving documents

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 38 Asynchronous Communication Mechanisms Lotus Notes  Each user sees the information space as a set of databases, containing documents composed of a set of fields. Users collaborate by crating, sharing and modifying documents  Supports: Release, change request, brainstorming  Pro: Provides excellent access control mechanisms and replication of databases.  Con: Proprietary format, expensive

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 39 Fill out the Review Form  Select reviewers  Select the document to be reviewed  Add comments to reviewers  Determine deadline

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 40 Reviewer Notification  Selected reviewers get

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 41 Reviewers add their Comments

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 42 Originator Notification

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 43 Final Recipient Notification

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 44 Review Tasks  Editor reviews comments  Editor selects reviewed comments  Web Master posts reviewed document and action items  Team members complete their action items  Editor integrates changes  Editor posts changed document on the review database for the next review cycle

UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing Systems 45 Summary  Communication Modes  Scheduled communication  Event-driven communication  Communication Mechanisms  Asynchronous communication mechanisms  Synchronous communication mechanisms  Important modes and mechanisms  Weekly meeting  Project reviews  Online communication (discussion forum, , web)