Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.

Slides:



Advertisements
Similar presentations
Requirements Elicitation and Use Case Diagrams
Advertisements

Analysis and Design with UML
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Sucha Smanchat  Steps in OOAD using UML  Use Case Diagram  Sequence Diagram / Communication Diagram  Class Diagram  State.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Static model (domain model) Fig Banking case study.
1 SWE Introduction to Software Engineering Lecture 25 – Object-Oriented Design (Chapter 14)
ECEN5053 SW Eng of Dist Systems, Arch Des Part 2, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems, Part 2 ECEN5053 SW.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented design 2.
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Software Engineering I Object-Oriented Design
Architecture, Deployment Diagrams, Web Modeling Elizabeth Bigelow CS-15499C October 6, 2000.
Software Engineering I Object-Oriented Design Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science.
Use Case Analysis – continued
Page 1 R Copyright © 1997 by Rational Software Corporation Analysis and Design with UML.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty.
The Design Discipline.
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
UML Collaboration Diagram. Recap System Sequence Diagrams (SSD) UML for SSD Examples.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Page 1 What is the UML? UML stands for Unified Modeling Language The UML combines the best of the best from – Data Modeling concepts (Entity Relationship.
Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
POAD Distributed System Case Study: A Medical Informatics System Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 SAD2 - UML 4 th Lecture Class Diagram in Construction Phase Patterns Case Study Lecturer: Dr Dimitrios Makris
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
Requirements Modeling and Use Case Diagrams Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Page 1  Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship via “ Modeling captures essential parts of.
Page 1 R Copyright © 1998 by Rational Software Corporation Visual Modeling and the UML.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
Approaching a Problem Where do we start? How do we proceed?
POAD Book: Chapter 8 POAD: Analysis Phase Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Behavioral Modeling Chapter 8.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
© 2005 Prentice Hall9-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
What to remember from Chap 13 (Logical architecture)
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Introduction to OOAD and the UML
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
CS 151: Object-Oriented Design October 15 Class Meeting Department of Computer Science San Jose State University Fall 2013 Instructor: Ron Mak
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
DESIGN OF SOFTWARE ARCHITECTURE
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Requirements Modeling and Use Case Diagrams
UML (Unified Modeling Language)
Prof. Hany H. Ammar, CSEE, WVU, and
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
The Dynamic Analysis Model StateCharts Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
Software Design Refinement Using Design Patterns
Instructor: Dr. Hany H. Ammar
UML Diagrams: Class Diagrams The Static Analysis Model
Instructor: Dr. Hany H. Ammar
POAD Book: Chapter 8 POAD: Analysis Phase
Instructor: Dr. Hany H. Ammar
Object-Oriented Analysis
Unified Modeling Language
Design and Implementation
Introduction to Pattern Oriented Analysis and Design (POAD)
UML Diagrams: StateCharts The Dynamic Analysis Model
Introduction to OOAD and the UML
Presentation transcript:

Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU

Ouline n UML Development – Overview n The Requirements, Analysis, and Design Models n Static and Dynamic Design n Examples

UML Development - Overview PROGRAM ACTORS ANALYSIS Specify Domain Objects Detailed DESIGN IMPLEMENTATION D A T A D I C T I O N A R Y Time USE CASES ANALYSIS CLASS DIAGRAM(S) IMPLEMENTATION Activity DIAGRAMS SEQUENCE DIAGRAMS OPERATION CONTRACTS StateChart DIAGRAMs DEPLOYMENT DIAGRAM SUBSYSTEM CLASS/ OR COMPONENT DIAGRAMS Architectural Design Include Design Objects Object Design SCENARIOS REQUIREMENTS ELICITATION DESIGN DIAGRAMS IMPLEMENTATION CHOICES DESIGN SEQUENCE DIAG. OR COLLABORATION DIAG

The Requirements, Analysis, and Design Models Static Analysis Dynamic Analysis Functional/ Nonfunctional Requirements Use Case Diagrams/ Sequence Diagrams (the system level) - Analysis Class Diagrams - State Diagrams/ Refined Sequence Diagrams (The object level) Requirements Elicitation Process The Analysis Process Static Architectural Design Dynamic Design The Design Process Design Class Diagrams and Components Diagrams Design Sequence Diagrams Comm. or Collab. Diagrams

Static and Dynamic Design n The Static design class diagram model is developed iteratively using the dynamic model represented in design sequence diagrams or collaboration (also called communication) diagrams n Design sequence diagrams show detailed interactions between objects of classes in different subsystems n They are defined based on analysis (system) sequence diagrams developed for a given Use- Case scenario defined in the analysis (or the requirements) model

Static and Dynamic Design n The development of Design Class Diagrams is completed by defining operations and classes to support the interactions represented in the dynamic model. n Operations of classes in the design class diagram are defined using the dynamic interactions in the dynamic model sequence diagrams n New classes might be needed in the design class diagram to support the interactions of objects in the sequence diagrams (e.g., Interface classes, proxy classes, scheduler classes etc.)

Class Operations n The behavior of a class is represented by its operations n Operations may be found by examining interaction diagrams registration form registration manager 3: add course(joe, math 01) RegistrationManager addCourse(Student,Course)

Design Sequence Diagrams (UML2) Specify operations and states on the timelines Detailed Parameters list can be specified during detailed design

Digital Sound Recorder: A Complete Example

Digital Sound Recorder: A Complete Example, Use Case Diag.

The Sound Recorder Analysis Level Class Diagram

Digital Sound Recorder: A Complete Example: Architecture The Static model, Design Class Diagram: Designing The Subsystems,

Digital Sound Recorder: A Complete Example: Design Class Diag: Class Operations Are defined Using Design Sequence diagrams

Digital Sound Recorder: A Complete Example

Digital Sound Recorder: A Complete Example: The Dynamic model DSD shows the interactions between objects in different subsysts Design Sequence Diagram

Digital Sound Recorder: A Complete Example

A Scheduler subsystem is added to provide interrupt Handling for timer interrupts to alert observers for synchronous tasks Uses the observer design pattern (to be discussed later)

Digital Sound Recorder: A Complete Example: The Dynamic model n Interactions are shown using a UML collaboration diagram. Timer interrupt update scenario Notice an EventProxy Class is added For posting Events. Uses the Proxy Desgin pattern

Digital Sound Recorder: A Complete Example: The Dynamic model n Setting the alarm clock scenario: the controller object of type SettingTimeUserMode is setting the AlarmClock object which is shown by the ClockView object

Model-View-Controller Architecture Style The Controller manipulates the data Model The View retrieves data from the model and displays needed information

Model-View-Controller Architecture Style Dynamic Interactions

Digital Sound Recorder: A Complete Example: The Dynamic model

The Banking System Example: Consolidated Collaboration (Communication) Diagrams combines static and dynamic information Obtained by combining Multiple scenarios of Interactions (Context Subsystem diag.) Labeled interactions between subsystems

Labels Interactions between objects in a subsystem

Example: Consolidated Collaboration Diagram of the Elevator Control System

Peer-to-Peer Architecture Style

Peer-to-Peer Architecture Style The Gnutella Example Pure Peer-to-Peer Architecture A sends query for a data resource to neighbors B and H, they pass it on until the peer having the resource is found or until a certain threshold of hops is reached

Peer-to-Peer Architecture Style The Skype Example A mixed client-Server and Pee-to-Peer Skype Peers get promoted to a supernode status based on their network connectivity And machine performance Supernodes perform the Communication and routing of massages to establish a call When a user logs in to the server he is connected to a supernode If a peer becomes a supernode he unknowingly bears the cost of routing a potentially large number of calls.