Lecture 5a: Sequence Interaction Diagrams CSE 111 Copyright W. Howden1.

Slides:



Advertisements
Similar presentations
ESE Einführung in Software Engineering 7. Modeling Behaviour Prof. O. Nierstrasz.
Advertisements

Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Introduction to Software Engineering 7. Modeling Behaviour.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Session 18 Modeling the Dynamic View: The Collaboration Diagram Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 20, 2011 Presented.
Copyright W. Howden1 Lecture 7: Functional and OO Design Descriptions.
Copyright W. Howden1 Lecture 3: Elaboration and System Architecture.
Copyright W. Howden1 Lecture 6: Design Evaluation and Intro to OO Design Patterns.
Copyright W. Howden1 Lecture 11: UML Terminology and Additional Models and Notation.
CSE 111: Object Oriented Design. Design “To program is human but to design is divine” (WEH)
Essentials of interaction diagrams Lecture Outline Collaborations Interaction on collaboration diagrams Sequence diagrams Messages from an object.
Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams.
Copyright W. Howden1 Lecture 5: Collaboration Diagrams.
System Architecture Lecture 3 CSE 111 Spring /22/20151Copyright William E. Howden.
Copyright W. Howden1 Lecture 6: Collaboration Diagrams.
Copyright W. Howden1 Lecture 2: Elaboration Tasks and Domain Modeling.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Lecture a: Additional UML Models: Package, Activity, Deployment Lecture b: Generalization, Aggregation and Additional Domain Model Notation Copyright W.
Lab 6 CPIT 250 System Analysis and Design.
Lecture 7: UML Class Diagrams CSE 111 7/15/20151Copyright W. Howden.
SE-565 Software System Requirements More UML Diagrams.
Blaha and Rumbaugh Sections 7.2 and 8.2
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Sequence diagrams Chapter 5 Sommerville. Sequence diagrams Sequence diagrams are part of the UML and are used to model the interactions between the actors.
Interaction diagrams Sequence and collaboration diagrams.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Systems Analysis and Design in a Changing World, 3rd Edition
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Information Systems Engineering Interaction Diagrams: Sequence Diagram Collbortion Diagram.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
Interaction Diagrams Interaction Diagrams allow the designer to show how groups of objects collaborate in some behavior. –Interaction Diagrams will show.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour UML Sequence Diagram.
UNIFIED MODELING LANGUAGE(UML) BY Touseef Tahir Lecturer CS COMSATS Institute of Information Technology, Lahore.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
 The Sequence Diagram models the collaboration of objects based on a time sequence.  It shows how the objects interact with others in a particular scenario.
Appendix Object-Oriented Analysis and Design: Use Cases and Sequence Diagrams Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F.
Project 2: Phase 1 Submission 7 Late submissions 10% 10 No submissions 14% Better than project 1 phase 3 submissions 10-point bonus: If you catch the deadline.
Appendix 3 Object-Oriented Analysis and Design
UML Diagrams By Daniel Damaris Novarianto S..
Architecture Concept Documents
Object-Oriented Systems Analysis and Design Using UML
UML Diagrams Jung Woo.
Business System Development
Object Oriented Analysis and Design
Requirements To Design In This Iteration
Unified Modeling Language
Lecture 4: Sequence Interaction Diagrams
Interaction diagrams.
UML Diagrams: Sequence Diagrams Dynamic Analysis Model
Chapter 20 Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Chapter 9: Sequence Diagrams Chapter 5 in Software Engineering Book
Interaction diagrams Interaction diagrams are models that describe how groups of objects collaborate in some behavior. Typically, an interaction diagram.
UML Interaction diagrams
Chapter 9: Sequence Diagrams Chapter 5 in Software Engineering Book
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Appendix 3 Object-Oriented Analysis and Design
Presentation transcript:

Lecture 5a: Sequence Interaction Diagrams CSE 111 Copyright W. Howden1

Where we are now Use Cases description of required system functionality System architecture overall picture of what system will look like Domain analysis basic concepts and relationships that will become foundational classes incipient transformation of functional use cases into object oriented design Copyright W. Howden2

What’s next? Determine the interactions between the actors and the system Determine the interactions between the subsystem components –defines the subsystem interfaces –we will use Sequence Interaction Diagrams Copyright W. Howden3

4 Dynamic(Behavioral) vs Static Models and Properties Dynamic –Describe interactions between entities –Sequence Interaction Diagrams –Collaboration Diagrams –Message Sequence Charts –State Charts Static –Describe structure of complex entities –Class Diagrams Domain Models Class Design –Entity-relationship models

Copyright W. Howden5 Sequence Diagrams - Notation Object boxes –actors, subsystems, class instances Life lines –vertical line extending down from object Messages –horizontal arrows from one life line to another –One object sends a message to another message

Sequence Diagrams - Meaning Each diagram describes a scenario, or what happens during a use of the system A system can be described by a collection of SI diagrams Copyright W. Howden6

7

Comments on Diagrams - 1 No two message arrows should be at the same horizontal level. The ordering down the page shows the time order If a message has a return, you do not show it as a solid back arrow. Either leave the arrow out, or show using a dashed message arrow (not used here) Copyright W. Howden8

Comments on Diagrams - 2 The boxes at the top stand for objects, not classes We can indicate which classes the objects come from, using the notation :GUI:DomainLogic:DataBase –This notation indicates an object from the GUI, Domain Logic and DataBase classes Copyright W. Howden9

Comments on Diagrams - 3 Boxes with top-right dog-ear can be used to insert explanatory notes in the SI diagram Little boxes in the middle of the life lines are drawn in by the graphics editor (e.g. MS Visio) can use them to indicate “focus of control”, which is discussed later Copyright W. Howden10

Copyright W. Howden11 Comments on Diagram - 4 This SI Diagram shows: –System/Actor interactions Interactions of users with system Leads to user interface design features –Subsystem interactions Requirements elaboration and design How subsystems interact with each other Leads to subsystem interface design features

Copyright W. Howden12 System/Actor Interactions Specifies the needed user interface forms –can be used to identify contents/capabilities of GUI Following example: includes use of “self- messages” notation –used to show an internal action in an object (it sends itself a message) e.g. the actions taken by the GUI in response to a user message

Copyright W. Howden13

Use Cases and Sequence Diagrams Sequence diagrams can be used for different aspects of a design –in CSE 111 project restricted to subsystem interactions caused by use case interactions Each use case may have one or more sequence interaction diagrams that describe possible scenarios of system usage Copyright W. Howden14

Copyright W. Howden15 Subsystem Interactions Show the messages that the subsystems send back and forth Should conform to layers architecture –“higher levels” send messages to “lower levels” but not vice versa Helps to define the subsystems interface details (what messages/methods the interface class must have, etc.)

Copyright W. Howden16

Comments on Diagram - 1 In the diagram we see the conditional notation –uses the notation “[cond]” which means that the message only occurs if the condition is satisfied –if only [cond] is present, and there is no [not(cond)] alternative in the diagram, it means this diagram only describes the scenario for the [cond] case Copyright W. Howden17

Comments on Diagrams - 2 In our diagram, there are three subsystems: GUI, DomainLogic, and DataBase Each subsystem is a collection of classes, but has a single interface class through which all communication is channeled The names of the interface classes are the same as the subsystem names Copyright W. Howden18

Comments on Diagrams - 3 We show, for example, the :DomainLogic object (an instance of the DomainLogic interface class) sending a message to :DataBase (an instance of the Domain Logic interface). The message will actually go to the DataBase interface, but it could come from class objects in the DomainLogic subsystem other than the interface class Copyright W. Howden19

Comments on Diagrams So, is it Illegal/Incorrect? At this early stage, we have identified our subsystems We can represent the subsystems with a single interface class that has all the required logic, etc. As the design proceeds we will identify additional classes in the subsystems Copyright W. Howden20

Copyright W. Howden21 Some Additional Examples Get a Date Scenario Start up Scenario –Shows interactions with system Log On Scenario Exit/Log Off Scenario

22

Copyright W. Howden23

24

Copyright W. Howden25

Copyright W. Howden26 Additional Notation “Focus of Control” elongated box –Indicate when an object’s life line is “active” –Active sending a message waiting for a reply Notation for message iteration - *

Copyright W. Howden27

Copyright W. Howden28 Additional Concepts – Message Synchronization Different message arrow notation for –Synchronous: sender waits until receiver has processed message –Procedure call: receiver is ready to receive call, sender waits for return from call. A kind of synchronous –Asynchronous: sender sends message and then continues regardless of status of receiver –Balking: if receiver is not ready to receive message it is abandoned We will just use a single simple arrow

New Design Information Design details for subsystem interface classes Messages received by the DomainLogic and the DataBase interfaces will be implemented as methods in those interface classes Messages to GUI correspond to GUI input forms Copyright W. Howden29

CSE 111 Deliverables to Date Uses cases for application, all functionality; identification of uses cases and functionality to be done in phase 1 Domain model for phase 1 System model (three tier); consideration of use of callbacks for project Interaction sequence diagrams showing actor/system interactions and diagrams showing subsystem interactions (New) Copyright W. Howden30