Unit-2 1
Unit-2 1
UML behavioral diagrams visualize, specify, construct, and document the dynamic aspects of a
system. The behavioral diagrams are categorized as follows: use case diagrams, interaction
diagrams, state–chart diagrams, and activity diagrams.
a Use case
A use case describes the sequence of actions a system performs yielding visible results. It shows
the interaction of things outside the system with the system itself. Use cases may be applied to the
whole system as well as a part of the system.
b Actor
An actor represents the roles that the users of the use cases play. An actor may be a person
e. g. student, customer, a device e. g. workstation, or another system e. g. bank, institution.
The following figure shows the notations of an actor named Student and a use case called
Generate Performance Report.
Use cases
Actors
Relationships like dependency, generalization, and association
To model the context of a system by enclosing all the activities of a system within a rectangle
and focusing on the actors outside the system by interacting with it.
Example
Let us consider an Automated Trading House System. We assume the following features of the
system:
The trading house has transactions with two types of customers, individual customers and
corporate customers.
Once the customer places an order, it is processed by the sales department and the
customer is given the bill.
The system allows the manager to manage customer accounts and answer any queries
posted by the customer.
Interaction Diagrams
Interaction diagrams depict interactions of objects and their relationships. They also include the
messages passed between them. There are two types of interaction diagrams:
Sequence Diagrams
Collaboration Diagrams
Sequence Diagrams
Sequence diagrams are interaction diagrams that illustrate the ordering of messages according to
time.
Notations : These diagrams are in the form of two-dimensional charts. The objects that initiate
the interaction are placed on the x–axis. The messages that these objects send and receive are
placed along the y–axis, in the order of increasing time from top to bottom.
Example : A sequence diagram for the Automated Trading House System is shown in the following
figure.
Collaboration Diagrams
Collaboration diagrams are interaction diagrams that illustrate the structure of the objects that
send and receive messages.
Notations : In these diagrams, the objects that participate in the interaction are shown using
vertices. The links that connect the objects are used to send and receive messages. The message
is shown as a labeled arrow.
Example : Collaboration diagram for the Automated Trading House System is illustrated in the
figure below.
State–Chart Diagrams
A state–chart diagram shows a state machine that depicts the control flow of an object from one
state to another. A state machine portrays the sequences of states which an object undergoes due
to events and their responses to events.
State-chart diagrams are used for modeling objects which are reactive in nature.
Example
In the Automated Trading House System, let us model Order as an object and trace its sequence.
The following figure shows the corresponding state–chart diagram.
Activity Diagrams
An activity diagram depicts the flow of activities which are ongoing non-atomic operations in a
state machine. Activities result in actions which are atomic operations.
Example
The following figure shows an activity diagram of a portion of the Automated Trading House
System.
Loading [MathJax]/jax/output/HTML-CSS/jax.js
2.7.1 Package Diagram
In the section 2.3.4, you have learnt about the class diagram. Generally, a single class
diagram can contain too many classes. UML permits us to place a set of related
classes together into a group is called package. It is a kind of structural diagram that
displays the system's structure at the level of packages. A package is used for
organizing elements into groups. A package can have a sub package also. The
package diagram can display structure as well as dependencies between sub-systems.
This diagram is used two types of dependencies as import and access. The
dependencies are shown by using dotted arrows like in figure-2.15. In import
dependency, functionality has been imported from one package to another, while
access dependency designates that one package needs assistance from the functions
of another package. For example, many packages have only library files i.e. lib
directory and these types of packages are used by other packages. You can just import
and use it in your application. It is a depending package that your package needs in
order to work. Sometimes your package is accessed by another package, or a package
that is dependent on your package is called a dependent package. A plus sign (+)
within a circle is drawn at the end attached to the package indicating that the package
has branches or sub-packages.