Subject Name: Object oriented Modeling and Design

Slides:



Advertisements
Similar presentations
Nested state diagrams:Problems with flat state diagram
Advertisements

System Sequence Diagrams
UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
Object-Oriented Analysis and Design
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
Interaction Diagrams Activity Diagram State Machine Diagram
Software Engineering COMP 201
Essentials of interaction diagrams Lecture Outline Collaborations Interaction on collaboration diagrams Sequence diagrams Messages from an object.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Requirements Analysis Activity Diagrams b511.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
 What is Interaction Modelling What is Interaction Modelling  Use Case Models Use Case Models Actor Use cases Use Case Diagram Symbols Use case Diagram.
Detailed Object-Oriented Requirements Definitions
Interaction Modeling. Sequence Models  There are two kinds of sequence models: scenarios and sequence diagrams  A scenario is a sequence of events that.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Interaction Modeling Interaction model describes how objects interact to produce useful results. Interactions can be modeled at different levels of abstraction:
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.
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.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
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.
COMP-350 Object-Oriented Analysis and Design Drawing System Sequence Diagrams Reference: Larman, Chapter 9.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
(c) Addison Wesley Copyright © 2000 by Addison Wesley Version 1.0
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.
State Modeling. Events An event is an occurrence at a point in time, such as user depresses left button or.
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.
Dynamic Models Sequence Diagrams Collaboration Diagrams Activity Diagrams.
Systems Analysis and Design in a Changing World, Fourth Edition
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design,
Chapter 3: Introducing the UML
UML - Development Process 1 Software Development Process Using UML.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
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.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Systems Analysis and Design in a Changing World, Fourth Edition
Business Process and Functional Modeling
Welcome to M301 P2 Software Systems & their Development
ATM OO Design and Implementation Case Study
Chapter 8 Advanced Interaction Modeling
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Sequence Diagrams.
Unified Modeling Language
Object-Oriented Systems Analysis and Design Using UML
System Modeling Chapter 4
Sequence Diagrams.
Business System Development
Sequence Diagrams.
Princess Nourah bint Abdulrahman University
Sequence Diagrams Lecture 6.
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Week 12: Activity & Sequence Diagrams
Object Oriented Analysis and Design
Relating Use Cases popo.
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
CIS 375 Bruce R. Maxim UM-Dearborn
Use Case Model Use case diagram – Part 2.
Using Use Case Diagrams
Seminar 2 Design of Informatics Systems
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Interaction Modeling Extracted from textbook:
Chapter 5.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix 3 Object-Oriented Analysis and Design
Presentation transcript:

Subject Name: Object oriented Modeling and Design Subject Code: 10MCA51 Prepared By: Supriya.N.S Department: MCA Date:26/08/14 7/4/2018

3.3 Signal Generalization 3.4 Concurrency 3.5 A Sample State Model UNIT 3- Advanced State Modeling, Interaction Modeling and Advanced Interaction Modeling 3.1 Nested State Diagrams  3.2 Nested States  3.3 Signal Generalization  3.4 Concurrency  3.5 A Sample State Model 3.6 Use Case Models 3.7 Sequence Models 3.8 Activity Models 3.9 Use Case Relationships 3.10 Procedural Sequence Models 3.11 Special Constructs for Activity Models 7/4/2018

3.1 Nested State Diagrams 3.1.1 Problems with Flat state diagram The state diagrams are sufficient for describing basic systems but need additional things to handle large problems. E.g.: Consider an object with ‘Z’ independent Boolean attributes that affect control. Representing such an object with a single flat state diagram would require 2z states. For partitioning the state into n independent state diagrams, only 2z states are required. 7/4/2018

3.1.2 Expanding States: One way to organize a model is by having a high-level diagram with sub diagrams expanding certain states 7/4/2018 Figure-3.1: Vending Machine State Diagram

3.2 Nested States   Second alternative for structuring states is using nested states. UML2 avoids using generalization in conjunction with states. Local state can be replaced with “nested states”. 7/4/2018 Figure 3.2: Nested States for Phone line

3.3 Signal Generalization Signals can be organized into a generalization hierarchy with inheritance of signal attributes. It permits different levels of abstraction to be used in a model 7/4/2018 FIGURE 3. 3: GENERALIZATION OF SIGNALS

3.4 Concurrency The State Model Supports different types of concurrency. 3.4.1 Aggregation Concurrency 3.4.2 Concurrency within an Object 3.4.3 Synchronization of Concurrent Activities   7/4/2018

3.4.1 Aggregation Concurrency The aggregate state corresponds to the combined states of all the parts. Aggregation is the “and-relationship”. Transitions for one object can depend on another object being in a given state. 3.4.2 Concurrency within an Object You can partition some objects into subsets of attributes or links, each of which has its own sub diagram. The state of the object comprises one state from each sub diagram. 3.4.3 Synchronization of Concurrent Activities   The object does not synchronize the internal steps of the activities but must complete both activities before it can progress to its next state.  7/4/2018

FIGURE 3.4: An Aggregation & its concurrent state diagram   7/4/2018 FIGURE 3.4: An Aggregation & its concurrent state diagram

Figure 3.5: Bridge game with concurrent states Figure 3.6: Synchronization of control 7/4/2018

Figure 3.7: Thermostat User Interface 3.5 A SAMPLE STATE MODEL 7/4/2018 Figure 3.7: Thermostat User Interface

3.6 Interaction Modeling 3.6.1 Use Case Models 3.6.2 Sequence Models 3.6.3 Activity Models 7/4/2018

3.6 Use Case Models 3.6.1 What is Use Case Models? The interaction model describes how the objects interact. Behavior of the system is needed to be described by State model and Interaction model. Use cases are helpful for capturing informal requirements. Sequence diagrams are good for showing the behavior sequences seen by users of a system. Activity diagrams can show data flows as well as control flows. Use case Models contains: Actors: An actor is a direct external user of a system Use cases: A use case is a coherent piece of functionality that a system can provide by interacting with actors 7/4/2018

Figure 3.8: Use Case Model for Enrolment 7/4/2018

3.6.2 Guidelines for Use case Models First determine the system Ensure that actors are focused Each use case must provide value to users. Relate use cases and actors Remember that use cases are informal Use cases can be structured 7/4/2018

3.7 Sequence Models The sequence model elaborates the themes of use cases. Two kinds of sequence models:  scenarios more structured format called sequence diagrams 3.7.1 Scenarios A scenario is a sequence of events that occurs during one particular execution of a system, such as for a use case. A scenario can be displayed as a list of text statement. 7/4/2018

Scenario for a session with an online stock broker Marie logs in System establishes secure communications   System displays portfolio information Marie 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   Marie confirms purchase System places order on securities exchange   System displays transaction tracking number Marie logs out System establishes insecure communications  System displays good-bye screen System exchange reports results of trade 7/4/2018

Prepare one sequence diagram for each major flow of control 3.7.2 Sequence Diagrams A sequence diagram shows the participants in an interaction and the sequence of messages among them. 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. Each use case requires one or more sequence diagrams to describe its behavior.   Prepare one sequence diagram for each major flow of control Draw a separate sequence diagram for each task. Prepare a sequence diagram for each exception condition within the use case Try to elaborate all the use cases and cover the basic kinds of behavior with sequence diagrams 7/4/2018

Figure 3.9: Sequence Diagram for Website 7/4/2018

Figure 3.10: Sequence Diagram for Login 7/4/2018

Figure 3.11: Sequence Diagram for Login 7/4/2018

3.7.3 Guidelines for Sequence Models Prepare at least one scenario per use case Abstract the scenarios into sequence diagrams Divide complex interactions Prepare a sequence diagram for each error condition 7/4/2018

3.8 Activity Models An activity diagram shows the sequence of steps that make up a complex process, but focuses on operations rather than on objects. Activity diagrams are most useful during the early stages of designing algorithms and workflows.   Activities The steps of an activity diagram are operations, specifically activities from the state model. Executable Activity Diagrams An activity token can be placed on an activity symbol to indicate that it is executing. Multiple tokens can arise through concurrency. 7/4/2018

Figure 3.12: Activity diagram for Login 7/4/2018

Figure 3.13: Activity diagram for Stock trade processing 7/4/2018

Figure 3.14: Activity diagram for execute order. 3.8.1 Activities The steps of an activity diagram are operations, specifically activities from the state model. Figure 3.14: Activity diagram for execute order. 7/4/2018

3.8.2 Executable Activity Diagrams An activity token can be placed on an activity symbol to indicate that it is executing. Multiple tokens can arise through concurrency. 3.8.3 Guidelines for Activity Models   Don’t misuse activity diagrams. Activity diagrams are intended to elaborate use case should not be used as an excuse to develop software via flowcharts. Level diagrams Consider executable activity diagrams 7/4/2018

3.9 Use Case Relationships Use cases can be structured for large applications. Complex use cases can be built from smaller pieces with the following relationships:   3.9.1 Include 3.9.2 Extend 3.9.3 Generalization 7/4/2018

The keyword <<include>> annotates the arrow 3.9.1 Include Relationship The include relationship incorporates one use case within the behavior sequence of another use case The UML notation for an include relationship is a dashed arrow from the source use case to the target (included) use case The keyword <<include>> annotates the arrow A use case can also be inserted within a textual description with the notation include use-case-name. Factoring a use case into pieces is appropriate when the pieces represent significant behavior units. 7/4/2018

Figure 3.15 Use case inclusion 7/4/2018

The extend relationship adds incremental behavior to a use case It represents the frequent situation in which some initial capability is defined, and later features are added modularly Example A stock brokerage system might have the base use case trade stocks, which permits a customer to purchase stocks for cash on hand in the account. The additional behavior is inserted at the point where the purchase cost is checked against the account balance.   The UML notation for extend relationship is a dashed arrow from the extension use case to the base use case 7/4/2018

3.16 Use case extension 7/4/2018

3.9.3 Generalization Generalization can show specific variations on a general use case, analogous to generalization among classes   The UML indicates generalization by an arrow with its tail on the child use case and a triangular arrowhead on the parent use case, the same notation that is used for classes 3.17 Use case extension 7/4/2018

3.9.4 Combinations of Use case Relationships A single diagram may combine several kinds of use case relationships 3.18 Use case Relationship 7/4/2018

3.9.5 Guidelines for Use case Relationships Use case generalization Use case inclusion Use case extension Include relationship vs. extend relationship 7/4/2018

3.10 Procedural Sequence Models The UML has elaborations for sequence diagrams to show procedure calls. 3.10.1 Sequence Diagrams with Passive Objects Most objects are passive and do not have their own threads of control. Activation shows the time period during which a call of a method is being processed, including the time when the called method has invoked another operation. 3.19 Sequence Diagrams with Passive Objects 7/4/2018

Figure 3.20 Sequence Diagrams with Transient Objects ObjectA is an active object that initiates an operation. The notation for a call is an arrow from the calling activation created by the call. Activation, therefore, has a call arrow coming into its top and a return arrow leaving its bottom. If an object does not exist at the beginning of a sequence diagram, then it must be created during the sequence diagram. Figure 3.20 Sequence Diagrams with Transient Objects 7/4/2018

3.11 Special Constructs for Activity Models 3.11.1 Sending & Receiving Signals: The UML shows the sending of a signal as a convex pentagon & Receiving of a signal as a concave signal. 7/4/2018 Figure 3.21 Activity diagram with signals

Figure: 3.22Activity diagram with swimlanes. In a business model, it is often useful to know which human organization is responsible for an activity. Example: Sales, finance, marketing, and purchasing It is sufficient to partition the activities among organizations. Lines across swimlane boundaries indicate interactions among different organizations. Figure: 3.22Activity diagram with swimlanes. 7/4/2018

Figure 3.23 Activity diagram with object flows. It is helpful to see the relationships between an operation and the objects that are its argument values or results. An input or output arrow implies a control flow. Frequently the same object goes through several states during the execution of any activity diagram.UML shows an object value in a particular state by placing the state name in square brackets following the object name . Figure 3.23 Activity diagram with object flows. 7/4/2018