Object Oriented Modeling and Design Part-I Introduction to Object Oriented Modeling and Design Part-II Object Model Part-III Dynamic and functional Model Presentation by- Mr. D.P. Pandit Mr. B.B. Shaharkar Mr. S.S. Shakhapure Walchand Institute of Technology, Solapur (www.witsolapur.org)
Object Oriented Modeling and Design Part-III Dynamic and functional Model Walchand Institute of Technology, Solapur (www.witsolapur.org)
Walchand Institute of Technology, Solapur Dynamic model components 1. Events: An event is something that happens at a point in time. It has no duration. Information can be passed on an event An event can cause a change in state. This is called an event transition. Event transitions can have conditions and actions associated with them. Walchand Institute of Technology, Solapur (www.witsolapur.org)
Walchand Institute of Technology, Solapur 2. States: A state is an abstraction of the attribute values and links of an object A state corresponds to the interval between two events received by an object. A state has duration. A state is often associated with the value of an object satisfying some condition. A state can have an activity, which is an action that take time. A state can have entry, event and exit actions. A state can have concurrent subparts. Walchand Institute of Technology, Solapur (www.witsolapur.org)
Walchand Institute of Technology, Solapur (www.witsolapur.org) 3. State diagrams: A state diagram relates states and events. State diagrams can be nested. A single state can have subdiagrams associated with it. A nested state diagram is actually a form of generalization on states Walchand Institute of Technology, Solapur (www.witsolapur.org)
Walchand Institute of Technology, Solapur Conditions A condition is a Boolean function of object values. When Ram goes out in morning( event), if the temperature is below freezing( condition), then he puts on his gloves (next state). Notation is [condition] Walchand Institute of Technology, Solapur (www.witsolapur.org)
Walchand Institute of Technology, Solapur Operations An activity is an operation that takes time to complete. An activity is associated with a state. Notation “do: A” within a state box indicates that activity A starts on entry to the state and stops on exit. An action is an instantaneous operation. An operation is associated with an event. Walchand Institute of Technology, Solapur (www.witsolapur.org)
Walchand Institute of Technology, Solapur Operations An action represents an operation whose duration is insignificant compared to the state diagram e.g. disconnect phone line might be an action in response to an on_hook event for phone line. Actions can also represent internal control operations such as setting attributes or generating other events. The notation for an action is (“/”) and the name of action, following the name of the event that causes it. Walchand Institute of Technology, Solapur (www.witsolapur.org)
Walchand Institute of Technology, Solapur State1 do:activity1 State2 Event1 (attributes)[condition1]/action1 Action for pop-up menu idle Menu visible Right button down/display menu Right button up/erase menu Cursor moved/highlight menu item Walchand Institute of Technology, Solapur (www.witsolapur.org)
Walchand Institute of Technology, Solapur State diagram for Phone line On-hook idle Timed- out disconnected Busy tone Fast busy tone Dial tone dialing connecting ringing connected Recorded message Off-hook Time_out Digit(n) Invalid no valid routed Called phone answers Called phone hangs up Trunk busy Num busy State diagram for phone line Walchand Institute of Technology, Solapur (www.witsolapur.org)
Walchand Institute of Technology, Solapur Functional model components 1. Action: An action is a type of operation. An action is a transformation that has side effects on the target object or other objects in the system reachable from the target object. An action has no duration in time; it is logically instantaneous. 2. Activity: An activity is a type of operation to or by an object that has duration in time. 3. Actor: An actor is an active object that drives the data flow graph by producing or consuming values . Actors are explicit objects in the object model. Data flows to or from actors represent operations on or by the objects . Walchand Institute of Technology, Solapur (www.witsolapur.org)
Walchand Institute of Technology, Solapur 4. Client: A client object is the target object of an operation 5. Constraint: A constraint shows the relationship between two objects at the same time or between two values of the same object at different times A constraint between values of an object over time is called an invariant. 6. Control Flow: A control flow is a Boolean value that affects whether a process is evaluated. Walchand Institute of Technology, Solapur (www.witsolapur.org)
Walchand Institute of Technology, Solapur 7. Data flow diagram: A data flow diagram shows the functional relationships of the values computed by a system, including input values, and output values, and internal data stores. A data flow diagram contains processes that transform data, data flows that move data, actor objects that produce and consume data, and data store objects that store data passively. Data flows can copy values to multiple destinations. Aggregate data flows can be split into the sub-parts. Data flow diagrams can be nested. This is also called leveling. Walchand Institute of Technology, Solapur (www.witsolapur.org)
Walchand Institute of Technology, Solapur 8. Data store: Data stores are passive objects that respond to queries and updates. Data stores are also objects or attributes in the object model. Data stores do not generate operations on their own but merely responds to requests to store and access data. Walchand Institute of Technology, Solapur (www.witsolapur.org)
Walchand Institute of Technology, Solapur 9. Operations: Each leaf process is an operation. Each operation may be specified in various ways, including the following: mathematical functions; table of input and output values; equations specifying output in terms of input; pre- and post-conditions; decision tables; pseudocode; natural language. The specification of an operation includes a signature and a transformation. The signature of all methods that implement an operation must match. Non-trivial operations can be divided in three categories: queries, actions, and activities Walchand Institute of Technology, Solapur (www.witsolapur.org)
Walchand Institute of Technology, Solapur Elements of DFD ProcessName Processes -> Transform data Data flow -> move data Actor ->objects that produce and consume data. Data store -> objects that store data passively. actorName Data Store Name Information/operation that modify stored data Information received from stored data Walchand Institute of Technology, Solapur (www.witsolapur.org)
Walchand Institute of Technology, Solapur ATM Login Customer ATM Login Money DFD-Level-0 DFD-Level-0 It models system as one process box which represents scope of the system and identifies external entities and related inputs and outputs. Walchand Institute of Technology, Solapur (www.witsolapur.org)
Level 1 - overview diagram It provides overview of full system and identifies major processes and data flows between them. It shows data stores that are used by the major processes The boundary of level 1 is the context diagram Walchand Institute of Technology, Solapur (www.witsolapur.org)
Walchand Institute of Technology, Solapur ATM DFD-Level-1 Amount Details Account Validate Login Bank Server Database Reject Valid Account Accept Update Database Print Receipt Account Details Money Walchand Institute of Technology, Solapur (www.witsolapur.org)
Level 2 - detailed diagram In level 2, level 1 processes are expanded into more detail Here each process in level 1 is decomposed to show its constituent processes. The boundary of level 2 is the level 1 process Walchand Institute of Technology, Solapur (www.witsolapur.org)
Walchand Institute of Technology, Solapur References [1] Applying UML and Patterns- By Craig Larman [2] Object Oriented Modeling and Design -JamesRumbaugh, Prentice Hall India [3] Object Oriented Software Engineering - Ivan Jacobson, Pearson Education Asia [4] Succeeding with the Booch OMT Methods -A practical approach - Lockheed Martin, Addison Wesley [5] Object Oriented Analysis and Design using UML - H. Srimathi, H. Sriram, A. Krishnamoorthy Walchand Institute of Technology, Solapur (www.witsolapur.org)
Walchand Institute of Technology, Solapur Thank You End of Part-III Walchand Institute of Technology, Solapur (www.witsolapur.org)