Thursday, November 26, 2015

Theory: UML BCA III

A Class Diagram provides an overview of a system by showing its classes and the relationships among them. Class diagrams are static - they display what interacts, but not what happens when they do interact.

Object Diagrams show instances instead of classes. They are useful for explaining small pieces with complicated relationships, especially recursive relationships. Objects are indicated by placing the name of the object (instance name) to the left of the class name and separating the two names by a colon. Object names are typically underlined in a UML diagram to visually help in distinguishing them from classes (e.g. anObject:ClassA).

UML Statechart Diagram (STD)

          Shows the sequences of states that objects of a class go through during its life cycle in response to external events and also the responses and actions in reaction to an event.
          Model elements
        States
        Transitions
        Events
        Actions and activities
STD Elements
          A Event - is a significant or noteworthy occurrence
        e.g. a phone receiver is taken off the hook
          A State - is the condition of an object at a moment in time
                             - the time between events.
        e.g. a phone is in the state of being “idle” after the receiver is placed on the hook until it is taken off the hook.
          A transition - is a relationship between two states that indicates that when an event occurs, the object moves from the prior state to the subsequent state.
        e.g. when the the event “off hook” occurs, transition the phone from the “idle” to “active” state.














Event Types
          External Event (also known as system event)
        is caused by something outside the system boundary
        e.g. when a cashier presses the “enter item” button on a POST, an external event has occurred.
          Internal Event
        is caused by something inside our system boundary.
        In terms of SW, an internal event arises when an operation is invoked via a message sent from another internal object. (The messages in collaboration diagrams suggest internal events)
          Temporal Event
        is caused by the occurrence of a specific date and time or passage of time.
State
          Abstraction of attribute values and links of an object
          Sets of values are grouped together into a state
          Corresponds to the interval between two events received by the object
        events represent points in time
        states represent intervals of time
        Has duration
        Often associated with a
        continuous activity
        value satisfying some condition
        Event separates two states
        State separates two events
State Diagram
          Graph relating events and states
          Nodes are states; arcs are events
          Describes behaviour of a single class of objects
          Can represent
        one-shot life cycles
        continuous loops
          Continuous loop
        graph is a loop
        no definite start state
        not concerned about how the loop starts


Transition
A transition is a relationship between two states indicating that an object in the first state will, when a specified set of events and conditions are satisfied, perform certain actions and enter the second state. A transition has:
Transition Components
        a source state
        an event trigger
        an action
        a target state
Transition Actions, Guard Conditions
          Transition Actions
        a transition can cause an action to fire. In SW, this may represent the invocation of a method of an object
          Transition Guard conditions
        a transition may also have a conditional guard -- or boolean test. The transition is only taken if the test passes.



Nested State Diagrams
          State diagrams can get complex
          For better understanding and management
          A State in a state diagram can be expanded into a state diagram at another level
          Inheritance of transitions



Some very important examples










No comments:

Post a Comment