2. Extensibility mechanism:
● It permits you to extend the language in controlled ways.
These mechanism include:
●Stereotypes
●Tagged values &
●Constraints.
2by Pratyashi Satapathy
3. Stereotype:
stereotype is called as a meta type (a type that defines other types).
It allowing you to create new kinds of building blocks similar to
existing ones but specific to your problem.
With stereotypes, you can add new things to the UML.
Graphically, a stereotype is rendered as a name enclosed by
guillements (French quotation marks of the form « »)
placed above the name of another element.
it may be indicated by using a new icon.
3by Pratyashi Satapathy
6. Tagged values:
with tagged values, you can add new properties to a stereotype.
Graphically, a tagged value is rendered as a string of the form {name =
value} & placed below the name of another element.
For example,
{author="Joe Smith", deadline=31-March-1997, status=analysis}
Most common uses of tagged value is to specify properties that are
relevant to code generation.
6by Pratyashi Satapathy
11. UML → “Unified Modeling Language”
◦Unified: UML has become a world standard.
◦Modeling :Describing a software system at a high level of abstraction.
◦Language: More comprehensible, ready-to-use, expressive, and visualizing.
11by Pratyashi Satapathy
12. User’s view:
This view defines the functionalities (facilities) made available by the system to its
users.
A black-box view of the system
(where the internal structure, the dynamic behavior of different system components,
the implementation etc. are not visible.)
considered as the central view.
Structural view:
defines the system objects (classes) important to the understanding of the working
of a system and to its implementation.
It is called the static model. (since the structure of a system does not change with
time)
12by Pratyashi Satapathy
13. Behavioral view:
It captures how objects interact with each other to realize the system behavior.
Also captures the time-dependent (dynamic) behavior of the system.
Implementation view:
This view captures the important components of the system and their
dependencies.
Environmental view:
This view models how the different components are implemented on different
pieces of hardware version.
13by Pratyashi Satapathy
14. It is also known as a structural diagram.
. purpose of the class diagram:
Analysis and design of the static view of an application.
Describe responsibilities of a system.
Base diagram for component and deployment diagrams.
Forward and reverse engineering.
14by Pratyashi Satapathy
15. How to draw a class diagram?
The name of the class diagram should be meaningful.
Each element and their relationships should be identified in advance.
Responsibility (attributes and methods) of each class should be clearly
identified.
For each class minimum number of properties should be specified. Because
unnecessary properties will make the diagram complicated.
Use notes when ever required to describe some aspect of the diagram.
15by Pratyashi Satapathy
16. So in a brief, class diagrams are used for:
Describing the static view of the system.
Showing the collaboration among the elements of the static view.
Describing the functionalities performed by the system.
Construction of software applications using object oriented languages.
16by Pratyashi Satapathy
18. Class diagram commonly contains the following things:
Classes
Interfaces
Collaborations
Dependency,generalization,association.
Also contains note, constraints.
18by Pratyashi Satapathy
19. A class is a classifier which describes a set of objects that share the
same
features,
constraints,
semantics (meaning).
A class is shown as :
a solid-outline rectangle ( containing the class name )
Class name should be centered and in bold face, with the first
letter of class name capitalized.
19by Pratyashi Satapathy
20. A class is shown with three compartments,
the upper compartment holds the name of the class,
the middle compartment holds a list of attributes and
the bottom compartment holds a list of operations.
20by Pratyashi Satapathy
22. Dependencies
It is a relationship that states that one thing (for example, a teacher
class ) uses the information and services of another thing (for
example, a student class), but not necessarily the reverse.
23by Pratyashi Satapathy
23. Associations:
Objects are often associated with, or related to, other objects.
show them as a thin line connecting two classes
24by Pratyashi Satapathy
24. Composition Associations
Sometimes an object is made up of other objects.
a building is composed of one or more rooms, and then, in turn, that a room
may be composed of several sub rooms (you can have recursive
composition).
25by Pratyashi Satapathy
25. Generalizations:
A generalization is a relationship between a general kind of thing (called the
super class or parent) and a more specific kind of thing (called the subclass or
child).
26by Pratyashi Satapathy
26. Aggregation:
Sometimes you will want to model a "whole/part" relationship, in which one
class represents a larger thing (the "whole"), which consists of smaller things
(the "parts").
This kind of relationship is called aggregation.
27by Pratyashi Satapathy
27. there are two distinct types of aggregation:
Composite
Represented by the "filled in" diamond at the parent end of the relationship.
This Composite Aggregation is only appropriate where the parent (or whole)
exercises complete lifecycle control over its children (or parts).
Therefore, it creates its children, and when it is destroyed, its children are
destroyed with it.
Shared
This aggregate relationship is more "loose", the parent (or whole) does have a
strong relationship with its children (or parts).
therefore if you destroy the parent, the child is not necessarily destroyed.
28by Pratyashi Satapathy
28. Composite Aggregation
The key points of composite aggregation are:
Deleting the whole means deleting the parts as well.
If you want to delete a Customer, then you delete their orders as
well.
Can't exist independently.
'is-part-of'
Note: Sometime referred to as composition.
Composition describes a relationship where multiple objects work
together to make a whole - they cannot exist in their own right.
29by Pratyashi Satapathy
29. Shared Aggregation
The key points of shared aggregation are:
Each part can exist in their own right
A tutor and a department
Could teach at other departments
Car has an engine.
'has-a' relationship
Note: Sometime referred to as aggregation.
Shared aggregation describes objects that can exist in their own right.
30by Pratyashi Satapathy
30. Inheritance:
Instead of implementing these responsibilities twice, implemented once, in
the Person class, and reused by Student and Professor
31by Pratyashi Satapathy
34. 1.Modeling Simple Collaborations
.Each class diagram should focus on one collaboration at a time.
To model a collaboration :
➢Identify the mechanism you'd like to model.
➢For each mechanism identify the classes, interfaces & relationships among
these things.
➢Use scenarios to walk through these things.
35by Pratyashi Satapathy
37. Forward and Reverse Engineering:
Forward engineering:
It is the process of transforming a model into code through a mapping to an
implementation language.
To forward engineer a class diagram:
Identify the rules for mapping to your implementation language.
Use tagged values to specify your target language.
Use tools to forward engineer your models.
39by Pratyashi Satapathy
39. Reverse engineering :
It is the process of transforming code into a model through a mapping from a
specific implementation language.
To reverse engineer a class diagram:
Identify the rules for mapping from your implementation language or
languages of choice.
Using a tool, point to the code you'd like to reverse engineer.
Using your tool, create a class diagram by querying the model
41by Pratyashi Satapathy
42. Problem1:
An institution may issue many credit card accounts. Each identified
by an account number. Each account has a maximum credit limit, a
current balance and a mailing address. The account serves one or
more customer who resides at the mailing address. The institution
periodically issues a statement for each account. The statement list a
payment due days, finance chart and minimum payments. The
statement contains a various transaction that have occurred through
out the billing interval like cash advance, interest
charge,purchage,fees & others.
44by Pratyashi Satapathy
43. Case study:
A teacher records the grade.
A teacher updates the grade. Also Views the grade.
A grade will be saved itself
A grade will be loaded itself.
An administrator generate the report card.
An administrator views the report card.
A student views the grade.
Student views the report by the help of website by using login id.
45by Pratyashi Satapathy
44. Problem:
Design a class model for checking balance using ATM.
Problem:
Design a class diagram for a graphical document editor. Assume that
document contain several sheets. Each sheet contain drawing object
including text, geometrical object,groups.Agroup is a set of drawing
objects and also it contains other groups.
A group must contain at least 2 drawing object. A drawing object can
be a direct member of at most 1 group .Geometrical objects includes
circle,ellipse,rectangle,links,squares.
46by Pratyashi Satapathy
46. An object diagram shows a set of objects and their relationships.
Derived from class diagrams.
It is a snapshot of the objects in a system.
It represent an instance of a class diagram.
Purpose of the object diagram :
Forward and reverse engineering.
Object relationships of a system.
Static view of an interaction.
Understand object behaviour and their relationship from practical
perspective.
48by Pratyashi Satapathy
47. Object diagram contains:
Objects
Links
Also contains notes & constraints.
How to draw Object Diagram?
First, analyze the system and decide which instances are having important
data and association.
Second, consider only those instances which will cover the functionality.
Third, make some optimization as the numbers of instances are unlimited.
49by Pratyashi Satapathy
48. eg.It has the following objects:
Customer
Order
Special Order
Normal Order
50by Pratyashi Satapathy
49. Where to use Object Diagrams?
Making the prototype of a system.
Reverse engineering.
Modeling complex data structures.
Understanding the system from practical perspective.
51by Pratyashi Satapathy
52. Common uses:
To model object structures
Common Modeling Techniques:
Modeling Object Structures:
Identify the mechanism you'd like to model.
For each mechanism, identify the classes, interfaces, identify the
relationships among these things.
Expose the state and attribute values of each such object, as necessary,
to understand the scenario.
Expose the links among these objects, representing instances of
associations among them.
54by Pratyashi Satapathy
55. It is another form of interaction diagram.
Communication among a set of objects in order to generate some function is
called an interaction.
Collaboration diagrams describe how objects interact.
This diagram used to describe the dynamic view of a system.
It represent the structural organization of a system & the messages
sent/received.
Structural organization consists of objects and links.
The specific purpose of this diagrams to visualize the organization objects
and their interaction.
Collaboration diagram displays a set of objects and links among those objects
and message send & receive by those objects.
57by Pratyashi Satapathy
56. Collaboration diagram contains the followings:
1.the object display as a rectangle .
2.Links between the object as a link connecting the object.
58by Pratyashi Satapathy
57. 3.Msgs are shown as a text & arrow( ) mark that points from client
object to target object.
First, there is the path to indicate how one object is linked to another.
Second, there is the sequence number to indicate the time order of a
message denoted by prefixing the message with a number
59by Pratyashi Satapathy
68. Polymorphism
◦ Enables “programming in the general”
◦ The same invocation can produce “many forms” of results
Polymorphism is a problem in object interaction.
A superclass reference can be aimed at a subclass object
◦ a subclass object “is-a” superclass object
70by Pratyashi Satapathy
69. Suppose we want to send the message show() to a Shape object.
That could be an instance of Triangle, Rectangle or Square at run-
time.
How do we depict this in a collaboration diagram?
Usually, we are certain that object1 sends a message to object2
Also, suppose that Triangle, Rectangle and Square are subclasses
of Shape.
Make the target object's class the lowest class in the inheritance
hierarchy that is a superclass of all the classes to which the target
object may belong to.
71by Pratyashi Satapathy
70. Put the superclass name in parenthesis to show that it will be
evaluated at run-time.
This is a form of substitutability.
72by Pratyashi Satapathy
72. Suppose we have an object DrawArea which has a shapes array of
Polygons (Triangles, Rectangles and Squares) that belong to its area.
We want to repeatedly send the message show() to all the
constituent objects (Polygons) of the aggregate object (DrawArea).
Iterator Pattern (a design pattern) can be used as a traversal method.
Notice the aggregate connector.
show() message is called many times (the *)
DrawArea may have 0 or more Polygons in its array named shapes.
Target object is unnamed and double boxed to show multiplicity.
74by Pratyashi Satapathy
76. When an object refers to self, it is referring to its own object handle.
In Python, we also use the keyword self
In Java, C++ and PHP, we use the keyword this
In Visual Basic, we use the keyword me
This is useful to
Pass the target object a reference to the sender object (for
callbacks)
Send a message to itself.
In message, just add self as an argument.
78by Pratyashi Satapathy
77. There are two ways to depict this.
79by Pratyashi Satapathy
78. A Sequence diagram is an interaction diagram that shows how processes
operate with one another and in what order.
It models the dynamic aspects of a software system.
A sequence diagram emphasize the time ordering of msg.
Which order, which sequence at what time the object will display in this
diagram.
The emphasis is on the “sequence” of messages rather than relationship
between objects.
80by Pratyashi Satapathy
79. Purpose:
The main purpose of this diagram is to represent how different
business objects interact.
A sequence diagram shows object interactions arranged in time
sequence.
It depicts the objects and classes involved in the scenario and the
sequence of messages exchanged between the objects needed to carry
out the functionality of the scenario.
81by Pratyashi Satapathy
80. When to use : Sequence Diagram:
Sequence diagram can be a helpful modeling tool when the dynamic
behavior of objects needs to be observed in a particular use case or
when there is a need for visualizing the “big picture of message
flow”.
A company’s technical staff could utilize sequence diagrams in order
to document the behavior of a future system.
It is during the design period that developers and architects utilize the
diagram to showcase the system’s object interactions, thereby putting
out a more fleshed out overall system design.
82by Pratyashi Satapathy
81. Elements of sequence diagram:
1)object
2)life line
3)message
4)activation box
83by Pratyashi Satapathy
82. Lifeline:
Lifeline represents the object life during the interaction.
existence of an object over a period of time.
represented by ----- line.
Msg:
Interaction between two object is performed by a msg.
A msg represent by an arrow between the life line of two object.
Activation box:
The time required by the receiver object to process the msg is known as
activation box.
84by Pratyashi Satapathy
86. Both name and type are optional, but at least one of them should be
present. Some example :
88by Pratyashi Satapathy
87. As with any UML-element, you can add a stereotype to a target.
Some often used stereotypes for objects are «actor», «boundary»,
«control», «entity» and «database».
They can be displayed with icons as well :
89by Pratyashi Satapathy
88. Multi Object:
When you want to show how a client interacts with the elements of a
collection, you can use a multi object.
Its basic notation is:
90by Pratyashi Satapathy
89. Message:
When a target sends a message to another target, it is shown as an
arrow between their lifelines.
The arrow originates at the sender and ends at the receiver.
Near the arrow, the name and parameters of the message are shown.
Synchronous message:
A synchronous message is used when the sender waits until the
receiver has finished processing the message, only then does the
caller continue (i.e. a blocking call).
91by Pratyashi Satapathy
90. If you want to show that the receiver has finished processing the message and
returns control to the sender, draw a dashed arrow from receiver to sender.
Optionally, a value that the receiver returns to the sender can be placed near the
return arrow.
92by Pratyashi Satapathy
91. Instantaneous message:
Messages are often considered to be instantaneous, i.e. the time it
takes to arrive at the receiver is negligible.
For example, an in-process method call. Such messages are drawn as
a horizontal arrow.
93by Pratyashi Satapathy
92. Found message:
A found message is a message of which the caller is not shown.
Depending on the context, this could mean that either the sender is
not known, or that it is not important who the sender was.
The arrow of a found message originates from a filled circle.
94by Pratyashi Satapathy
93. Asynchronous messages:
With an asynchronous message, the sender does not wait for the
receiver to finish processing the message, it continues immediately.
Messages sent to a receiver in another process or calls that start a
new thread are examples of asynchronous messages.
An open arrowhead is used to indicate that a message is sent
asynchrously.
95by Pratyashi Satapathy
94. Message to self:
A message that an object sends itself can be shown as follows :
96by Pratyashi Satapathy
97. Creation and destruction:
Targets that exist at the start of an interaction are placed at the top of
the diagram.
Any targets that are created during the interaction are placed further
down the diagram, at their time of creation.
99by Pratyashi Satapathy
106. Sequence diagram can be broken into chunks or fragments.
Arround each fragment a frame is drawn.
There is a specifier in the upper left hand corner of the frame that
represents an operator which states how the fragment is handled.
There are 1 or more than one operand region within the fragment.
In sequence diagrams, combined fragments are logical groupings,
represented by a rectangle, which contain the conditional structures
that affect the flow of messages.
108by Pratyashi Satapathy
107. A combined fragment contains interaction operands and is defined by the
interaction operator.
The type of combined fragment is determined by the interaction operator.
The interaction operator identifies the type of logic or conditional
statement that defines the behavior of the combined fragment.
The operator defines the type of logical conditions to apply to the
operands.
In sequence diagrams, an interaction operand is a container that groups the
interaction fragments and messages that run if the guard condition is met.
If there is no guard condition, the block always runs.
109by Pratyashi Satapathy
109. Alternatives(alt):
The interaction operator alt means that the combined fragment
represents a choice or alternatives of behavior.
At most one of the operands will be chosen.
It acts like an if-then-else statement.
Call accept() if balance > 0, call reject() otherwise.
111by Pratyashi Satapathy
110. Option(opt):
The interaction operator opt means that the combined fragment
represents a choice of behavior where either the (sole) operand
happens or nothing happens.
An option is semantically equivalent to an alternative combined
fragment where there is one operand with non-empty content and the
second operand is empty.
Post comments if there were no errors.
112by Pratyashi Satapathy
111. Loop:
The interaction operator loop means that the combined fragment
represents a loop.
The loop operand will be repeated a number of times.
Loop could be controlled by either or both iteration bounds and a
guard.
If loop has no bounds specified, it means potentially infinite loop
with zero as lower bound and infinite upper bound.
113by Pratyashi Satapathy
113. Break:
The interaction operator break represents a breaking or exceptional
scenario
In this case the rest of the directly enclosing interaction fragment is ignored.
When the guard of the break operand is false, the break operand is ignored and
the rest of the enclosing interaction fragment proceeds.
115by Pratyashi Satapathy
114. Parallel(par):
The interaction operator par defines potentially parallel execution of
behaviors of the operands of the combined fragment.
Search Google, Bing and Ask in any order, possibly parallel.
116by Pratyashi Satapathy
115. Collaboration diagrams Sequence diagrams
Collaboration diagrams aim at
showing the communications that
happen between objects, by
defining messages that flow
between each other.
The Collaboration diagram is
renamed to Communication
diagram.
It shows the dynamic interaction of
the objects in a system.
Sequence diagrams specify
interaction in a time sequence
manner which may be among
objects and/or classes.
A Sequence diagram is dynamic,
and, more importantly, is time
ordered.
The association between objects is
not represented in a Sequence
diagram.
117by Pratyashi Satapathy
116. Interactions:
An interaction is a behavior that comprises a set of messages
exchanged among a set of objects within a context to accomplish a
purpose.
Objects and Roles:
The objects that participate in an interaction are either concrete
things or prototypical things.
As a concrete thing, an object represents something in the real world.
For example, p, an instance of
the class Person, might denote a particular human. Alternately, as a
prototypical thing, p might represent any instance of Person.
118by Pratyashi Satapathy
117. Links:
A link is a semantic connection among objects. In general, a link is
an instance of an association.
wherever a class has an association to another class, there may be a
link between the instances of the two classes;
wherever there is a link between two objects, one object can send a
message to the other object.
119by Pratyashi Satapathy
119. Messages:
When you pass a message, the action that results is an executable
statement that forms an abstraction of a computational procedure.
An action may result in a change in state.
In the UML, you can model several kinds of actions.
121by Pratyashi Satapathy
121. Sequencing:
Fig: Procedural Sequence
They represent ordinary, nested operation calls of the type you find
in most programming languages.
123by Pratyashi Satapathy
122. Fig: Flat Sequence
Here control simply progresses from step to step, without any
consideration for nested flows of control.
124by Pratyashi Satapathy
123. A use case is a description of a set of sequences of actions, including
variants, that a system performs to yield an observable result of value
to an actor.
Graphically, a use case is rendered as an ellipse.
A use case involves the interaction of actors and the system.
Actor:
An actor represents a coherent set of roles
Actors can be human or they can be automated systems.
An actor is represented a person or any organization or it may be an
external system, that will interact with the system to perform specific
task.
125by Pratyashi Satapathy
124. An actor triggers or initiates the implementation of the use case.
human actor
Actor
non human actor
A non human actor is represented by a rectangle in which the actors
name is written as:
<<actor>>
ATM authentication
service
126by Pratyashi Satapathy
125. Primary actor-
He/she is the one who fulfills his/her goal with the help of the
system.
Ex-customer
Secondary actor-
It provides some service to the system.
Ex-ATM card validation agency is a non human secondary actor
because it provides the service of customer authentication.
127by Pratyashi Satapathy
127. A use case name must be unique within its enclosing package.
Every use case must have a name that distinguishes it from other use
cases.
A use case describes what a system (or a subsystem, class, or
interface) does but it does not specify how it does it.
129by Pratyashi Satapathy
128. Importance of Use Case Diagrams:
To identify functions and how roles interact with them .
For a high level view of the system.
To identify internal and external factors .
The purposes of use case diagrams can be as follows:
Used to gather requirements of a system.
Used to get an outside view of a system.
Identify external and internal factors influencing the system.
Show the interacting among the requirements are actors.
130by Pratyashi Satapathy
129. Where use case diagrams are used:
Requirement analysis and high level design.
Model the context of a system.
Reverse engineering.
Forward engineering.
Components of use case diagram:
1.usecase
2.actor
3.relationship(include , exclude, generalization)
131by Pratyashi Satapathy
130. Include relationship:
An include relationship is a relationship between two use cases.
In an include relationship, a use case includes the functionality
described in the another use case as a part of its business process
flow.
The tip of arrowhead points to the child use case and the parent use
case connected at base of the arrow.
The stereotype “<include>” identifies the relationship as an include
relationship.
Here base usecase include the functionality of another usecase to
perform particular task.
132by Pratyashi Satapathy
131. Checkout use case includes several use cases –
Scan Item, Calculate Total and Tax, and Payment
133by Pratyashi Satapathy
132. As the name implies it extends the base use case and adds more
functionality to the system.
The base use case should be a fully functional use case in its own
right.
The extending use case is dependent on the base use case; it literally
extends the behaviour described by the base use case.
The tip of arrowhead points to the parent use case and the child use
case is connected at the base of the arrow.
Extend relationship:
134by Pratyashi Satapathy
134. A generalization relationship is also a parent-child relationship
between use cases.
The child use case is connected at the base of the arrow. The tip of
the arrow is connected to the parent use case.
This is used when there are common behavior between two use cases
and also specialized behavior specific to each use case.
136by Pratyashi Satapathy
137. Describe dynamic aspects of the system.
Activity diagram is basically a flow chart to represent the flow
from one activity to another activity.
Activity diagram emphasize the flow of control from activity to
activity where as interaction diagram emphasize flow of control
from object to object.
The activity can be described as an operation of the system.
139by Pratyashi Satapathy
138. So the control flow is drawn from one operation to another.
This flow can be sequential, branched or concurrent.
Activity diagrams deals with all type of flow control by using
different elements like fork, join etc.
So the purposes can be described as:
Draw the activity flow of a system.
Describe the sequence from one activity to another.
Describe the parallel, branched and concurrent flow of the system.
140by Pratyashi Satapathy
139. Following are the main usages of activity diagram:
Modeling work flow by using activities.
Modeling business requirements.
High level understanding of the system's functionalities.
Investigate business requirements at a later stage.
141by Pratyashi Satapathy
140. Elements of activity diagram:
1.Activity state, Action state
2.Transition
3.Control Nodes
– Initial and Final Nodes
– Forks and Joins
– Decision and Merge Points
4.Swimlanes
5.Objects
142by Pratyashi Satapathy
141. Activity state:
Activity states are non atomic in nature i.e activity states can be
decomposed/divided.
An activity states as composite whose flow control is made up of
other activity states and action states.
143by Pratyashi Satapathy
142. Action state:
An action is an individual step within an activity.
The action can possess input and output information The output of
one action can be the input of a subsequent action within an activity.
An action represents a single step within an activity.
Actions are denoted by round-cornered rectangles.
144by Pratyashi Satapathy
143. Transition:
.A Transition is the movement from one activity to another, the
change from one state to another, or the movement between a state
and an activity in either direction .
.Transitions: unlabeled arrows from one activity to the next.
145by Pratyashi Satapathy
144. Control nodes:
An initial node is the starting point for an activity .
Two types of final nodes: activity final and flow final
An activity final node terminates the entire activity.
The flow final symbol shows the ending point of a process' flow.
146by Pratyashi Satapathy
145. While a flow final symbol marks the end of a process in a single
flow, an end symbol represents the completion of all flows in an
activity.
A flow final node terminates a path through an activity, but not
the entire activity
It is possible to have multiple initial nodes and final nodes.
147by Pratyashi Satapathy
148. Forks:
A transition can be split into multiple paths and multiple paths
combined into a single transitions by using a synchronization bar
A synchronization may have many in-arcs from activities and a
number of out-arcs to activities
A fork is where the paths split.
It has one incoming transition and several outgoing transition.
150by Pratyashi Satapathy
149. Joins:
A join is where the paths meet.
Here outgoing transition takes place when all states of incoming
transition have been completed.
The bar represents synchronization of the completion of those
activities with arcs into the transition.
A join synchronizes multiple flows of an activity back to a single
flow of execution.
151by Pratyashi Satapathy
150. Decision and Merge Points:
The decision symbol is a diamond shape.
It represents the branching or merging of various flows with the
symbol acting as a frame or container.
A diamond represents a decision with alternate paths.
The outgoing alternates should be labeled with a condition or guard
expression. You can also use guard to one of the paths "else.“
152by Pratyashi Satapathy
151. A merge point brings together alternate flows into a single output
flow.
Merge node is a control node that brings together multiple
incoming alternate flows to accept single outgoing flow.
Branch:
Single incoming transition.
153by Pratyashi Satapathy
152. Signal:
When an activity sends or receives a message, that activity is called
a signal.
Signals are of two types: Input signal (Receiving message activity)
and Output signal (Message sending activity).
Input signal is depicted as a concave polygon and output signal is
shown as a convex polygon.
154by Pratyashi Satapathy
155. Swimlanes:
Swimlanes (or activity partitions) indicate where activities take
place.
Swimlanes can also be used to identify areas at the technology level
where activities are carried out
Swimlanes allow the partition an activity diagram so that parts of it
appear in the swimlane relevant to that element in the partition.
To use swimlanes, you must arrange your activity diagrams into
vertical zones separated by lines.
Each zone represents the responsibilities of a particular class a
particular department.
157by Pratyashi Satapathy
163. Shows various components in a system and their dependencies, interfaces
Explains the structure of a system.
Component diagrams are used to model physical aspects of a system.
Physical aspects are the elements like executables, libraries, files, documents
etc which resides in a node.
purpose of the component diagram can be summarized as:
Visualize the components of a system.
Construct executables by using forward and reverse engineering.
Describe the organization and relationships of the components.
165by Pratyashi Satapathy
164. Before drawing a component diagram the following artifacts are to be
identified clearly:
Files used in the system.
Libraries and other artifacts relevant to the application.
Relationships among the artifacts.
Use notes for clarifying important points.
166by Pratyashi Satapathy
166. Components are shown as rectangles with two tabs at the upper left
Dashed arrows indicate dependencies.
Circle and solid line indicates an interface to the component
168by Pratyashi Satapathy
168. Now the usage of component diagrams can be described as:
Model the components of a system.
Model database schema.
Model executables of an application.
Model system's source code.
170by Pratyashi Satapathy
169. Deployment diagrams are used for describing the hardware
components where software components are deployed.
Deployment diagrams are used to visualize the topology of the
physical components of a system where the software components are
deployed.
Deployment diagrams consist of nodes and their relationships.
171by Pratyashi Satapathy
170. purpose of deployment diagrams can be described as:
Visualize hardware topology of a system.
Describe the hardware components used to deploy software
components.
Describe runtime processing nodes.
172by Pratyashi Satapathy
172. usage of deployment diagrams can be described as follows:
To model the hardware topology of a system.
To model embedded system.
To model hardware details for a client/server system.
To model hardware details of a distributed application.
Forward and reverse engineering.
174by Pratyashi Satapathy
173. It describes different states of a component in a system.
The states are specific to a component/object of a system.
A State chart diagram describes a state machine.
state machine can be defined as a machine which defines different
states of an object and these states are controlled by external or
internal events.
175by Pratyashi Satapathy
174. Following are the main purposes of using State chart diagrams:
To model dynamic aspect of a system.
To model life time of a reactive system.
To describe different states of an object during its life time.
Define a state machine to model states of an object.
176by Pratyashi Satapathy
176. So the main usages can be described as:
To model object states of a system.
To model reactive system. Reactive system consists of reactive
objects.
To identify events responsible for state changes.
Forward and reverse engineering.
178by Pratyashi Satapathy