Interaction Modeling Interaction model describes how objects interact to produce useful results. Interactions can be modeled at different levels of abstraction:

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Use Case & Use Case Diagram
Assignments.
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
System Sequence Diagrams
Karolina Muszyńska Based on:
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Information System Engineering
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Interaction Diagrams Activity Diagram State Machine Diagram
Drawing System Sequence Diagrams
Systems Analysis and Design in a Changing World, Fourth Edition
Chapter 14 Requirements and Specifications. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Software Engineering The implementation.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
NJIT Drawing System Sequence Diagrams Chapter 10 Applying UML and Patterns Craig Larman Presented by Anuradha Dharani.
 What is Interaction Modelling What is Interaction Modelling  Use Case Models Use Case Models Actor Use cases Use Case Diagram Symbols Use case Diagram.
1 Case Study: Starting the Student Registration System Chapter 3.
חוזים – Contracts 1. Larman – Chapter 10 – SSDs 10.2 What are System Sequence Diagrams? (introduction) Use cases describe how external actors interact.
1 Lab Beginning Analysis and Design 4 Completion of first version of use case diagram initiates the processes of analysis and design. 4 UML provides.
LECTURE 5 SEQUENCE DIAGRAM 1. INTRODUCTION – SYSTEM SEQUENCE DIAGRAM A system sequence diagram is a fast and easily created artifact that illustrates.
TK2023 Object-Oriented Software Engineering CHAPTER 6 SYSTEM SEQUENCE DIAGRAMS.
USE Case Model.
User Interface Theory & Design
Interaction Modeling. Sequence Models  There are two kinds of sequence models: scenarios and sequence diagrams  A scenario is a sequence of events that.
Data Flow Diagrams (DFDs)
1 © 2005 course technology University Of Palestine Chapter 6 Storyboarding the User’s Experience.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
Interaction Modeling. Overview The class model describes the objects in a system and their relationships, the state model describes the life cycles of.
Interaction Modeling. Introduction (1) Third leg of the modeling tripod. It describes interaction within a system. The class model describes the objects.
Understanding User Requirements. Documenting Use Cases 2 At this stage of the exploration, the participants should be thinking of essential use cases.
© 2005 course technology1 1 1 University Of Palestine UML for The IT Business Analyst A practical guide to Object Oriented Requirement Gathering Hoard.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Requirements – Scenarios and Use Cases
Interaction Modeling Extracted from textbook:
Interaction Models (2): Sequence Diagrams Extracted from textbook: Object Oriented Modeling and Design with UML M. Blaha, J. Rumbaugh 1.
Behavioral Modeling Chapter 8.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
1 Structuring Systems Requirements Use Case Description and Diagrams.
User Interface Theory & Design Lecture 6a 1.  User interface is everything the end user comes into contact with while using the system  To the user,
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.
Drawing System Sequence Diagrams
Sequence Models.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
Interaction Diagrams Interaction Diagrams allow the designer to show how groups of objects collaborate in some behavior. –Interaction Diagrams will show.
COMP-350 Object-Oriented Analysis and Design Drawing System Sequence Diagrams Reference: Larman, Chapter 9.
(c) Addison Wesley Copyright © 2000 by Addison Wesley Version 1.0
1 Modeling System Requirements with Use Cases. 2 Why Do We Need Use Cases? Primary challenge in a system design process –ability to elicit correct and.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
Scenario A scenario is a sequence of steps describing an interaction between a user and a system. Use case is a set of scenarios tied together by a common.
Systems Analysis and Design in a Changing World, Fourth Edition
Sequence Diagram SAD ::: Fall 2015 Sabbir Muhammad Saleh.
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Appendix Object-Oriented Analysis and Design: Use Cases and Sequence Diagrams Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F.
SYSTEM-LEVEL SEQUENCE DIAGRAMS Sys466. System-Level Sequence Diagrams  Use cases describe how external actors interact with the software system…  An.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Application Analysis. Application Interaction Model The purpose of analysis is to understand the problem so.
1 Object Oriented Analysis and Design System Events & Contracts.
Business Processes A business process describes a set of activities that are necessary to complete a response to a stimulus applied to an organization.
Systems Analysis and Design in a Changing World, Fourth Edition
Chapter 4: Business Process and Functional Modeling, continued
Subject Name: Object oriented Modeling and Design
UML Use Case Diagrams.
Interaction Modeling Extracted from textbook:
Engineering Quality Software
Presentation transcript:

Interaction Modeling Interaction model describes how objects interact to produce useful results. Interactions can be modeled at different levels of abstraction: Use case Models Sequence Models Activity Models

Use Case Models An actor A use case Use Case Diagram is a direct external user of a system- and object or set of objects that communicates directly with the system but that is not part of the system. A use case is a coherent piece of functionality that a system can provide by interacting with actors. Use Case Diagram A system involves a set of use cases and a set of actors.

Sequence Models There are two kinds of sequence models: Scenarios Sequence diagrams

Scenario A scenario is a sequence of events that occurs during one particular execution of a system, The scope of a scenario can vary; it may include all events in the system, or it may include only those events generated by certain objects. A scenario can be historical record of executing an actual system or a thought experiment of executing a proposed system.

Scenario (cont.) A scenario can be displayed as a list of text statements. At early stages of development, you should express scenarios at a high level. At late stages, you can show the exact messages, determining the detailed messages is part of development.

Scenario for session with an online stock broker John Doe logs in. System establishes secure communications. Systems displays portfolio information. John Doe enters a buy order for 100 shares of GE at the market price. System verifies sufficient funds for purchase. System displays confirmation screen with estimated cost. John Doe confirms purchase. System places order on securities exchange. System displays transaction tracking number. Jon Doe logs out. System establishes insecure communication. System displays good-bye screen. Securities exchange reports results of trade.

Scenario (cont.) A scenario contains messages between objects as well as activities performed by objects. Each message transmits information from one object to another. The first step of writing a scenario is to identify the objects exchanging messages. Then you must determine the sender and receiver of each message, as well as the sequence of the messages. Finally, you can add activities for internal computations as scenarios are reduced to code.

Sequence Diagrams A sequence diagram shows the participants in an interaction and the sequence of messages among them. A sequence diagram shows the interaction of a system with its actors to perform al or part of a use case. The next figure shows a sequence diagram corresponding to the previous stock broker scenario. Each actor as well as the system is represented by a vertical line called a lifeline and each message by a horizontal arrow from the sender to the receiver. Time proceeds from top to bottom, but the spacing is irrelevant; the diagram shows only the sequence of messages, not their exact timing. Note that sequence diagrams can show concurrent signals, and signals between participants need not alternate.

insecure communication display good bye report results of trade :Customer :StockBrokerSystem :SecuritiesExchange log in {verify customer} secure communication display portfolio enter purchase data request confirmation {verify funds} confirm purchase place order display order number logout insecure communication {execute order} display good bye report results of trade Sequence diagram for a session with an online stock broker

Sequence Diagrams (cont.) Each use case requires one or more sequence diagrams to describe its behavior. Each sequence diagram show a particular behavior sequence of the use case. It is best to show a specific portion of a use case and not attempt to be too general. Although it is possible to show conditionals within a sequence diagram, usually it is clearer to prepare one sequence diagram for each major flow of control.

Sequence diagrams can show large-scale interactions, such as an entire session with the stock broker system, Often such interactions contain many independent tasks that can be combined in various ways Rather than repeating information, you can draw a separate sequence diagram for each task The next two slides shows an order to purchase a stock and a request for a quote on a stock.

Sequence diagram for a stock purchase :StockBrokerSystem :SecuritiesExchange :Customer enter purchase data {verify funds} request confirmation confirm purchase display order number place order report results of trade {execute order} Sequence diagram for a stock purchase

Sequence diagram for a stock quote :StockBrokerSystem :SecuritiesExchange :Customer enter stock symbol request stock data report stock data display quote Sequence diagram for a stock quote

You should prepare a sequence diagram for each exception condition within the use case. The following figure (in the next slide) shows a variation in which the customer does not have sufficient funds to place the order. In this example, the customer cancels the order. In another variation, the customer would reduce the number of shares purchased and the order would be accepted.

Sequence diagram for a stock purchase that fails :StockBrokerSystem :SecuritiesExchange :Customer enter purchase data {verify funds: insufficient} reject purchase cancel purchase Sequence diagram for a stock purchase that fails

In most systems, there are an unlimited number of scenarios, so it is not possible to show them all. You should try to elaborate all the use cases and cover the basic kinds of behavior with sequence diagrams.

Guidelines for Sequence Models Prepare at least one scenario per use case. The steps in the scenario should be logical commands, not individual button clicks. Later, during implementation, you can specify the exact syntax of input. Start with the simplest mainline interaction- no repetitions, one main activity, and typical values for all parameters. If there are substantially different mainline interactions, write a scenario for each. Abstract the scenarios into sequence diagrams. The sequence diagrams clearly show the contribution of each actor. It is important to separate the contribution of each actors as a prelude to organizing behavior about objects. Divide complex interactions. Break large interaction into their constituent tasks and prepare a sequence diagram for each of them. Prepare a sequence diagram for each error condition. Show the system response to the error condition.

Conclusion

Assignment Consider a physical bookstore, such as in a shopping mall List three actors that are involved in the design of a checkout system. Explain the relevance of each actor One use case is the purchase of item. Take the perspective of a customer and list another use case at a comparable level of abstraction. Summarize the purpose of each use case with a sentence. Prepare a use case diagram for physical bookstore checkout system Prepare a normal scenario for each use case. Remember that a scenario is an example, and need not exercise all functionality of the use case Prepare an exception scenario for each use case Prepare a sequence diagram corresponding to each scenario in (d)