SlideShare a Scribd company logo
1 of 177
by Pratyashi Satapathy
Extensibility mechanism:
● It permits you to extend the language in controlled ways.
These mechanism include:
●Stereotypes
●Tagged values &
●Constraints.
2by Pratyashi Satapathy
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
4by Pratyashi Satapathy
5by Pratyashi Satapathy
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
7by Pratyashi Satapathy
Constraints:
8by Pratyashi Satapathy
9by Pratyashi Satapathy
10by Pratyashi Satapathy
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
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
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
 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
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
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
17by Pratyashi Satapathy
Class diagram commonly contains the following things:
Classes
Interfaces
Collaborations
Dependency,generalization,association.
Also contains note, constraints.
18by Pratyashi Satapathy
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
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
22by Pratyashi Satapathy
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
Associations:
Objects are often associated with, or related to, other objects.
show them as a thin line connecting two classes
24by Pratyashi Satapathy
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
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
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
 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
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
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
Inheritance:
Instead of implementing these responsibilities twice, implemented once, in
the Person class, and reused by Student and Professor
31by Pratyashi Satapathy
32by Pratyashi Satapathy
33by Pratyashi Satapathy
34by Pratyashi Satapathy
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
Figure : Modeling Simple Collaborations
36by Pratyashi Satapathy
38by Pratyashi Satapathy
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
40by Pratyashi Satapathy
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
Fig: Class Diagram Example
42by Pratyashi Satapathy
Fig: Class Diagram Example(video store)
43by Pratyashi Satapathy
 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
 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
 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
47by Pratyashi Satapathy
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
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
eg.It has the following objects:
 Customer
 Order
 Special Order
 Normal Order
50by Pratyashi Satapathy
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
52by Pratyashi Satapathy
53by Pratyashi Satapathy
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
55by Pratyashi Satapathy
56by Pratyashi Satapathy
 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
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
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
60by Pratyashi Satapathy
61by Pratyashi Satapathy
62by Pratyashi Satapathy
63by Pratyashi Satapathy
64by Pratyashi Satapathy
65by Pratyashi Satapathy
Q. Draw the collaboration of ATM card validation.
customer
ATM machine 3 objects
Bank network
Q. Online payment in a shop.
customer
retailer
card reader
bank network
66by Pratyashi Satapathy
Collaboration diagram for issuing book:
67by Pratyashi Satapathy
68by Pratyashi Satapathy
69by Pratyashi Satapathy
 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
 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
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
by Pratyashi Satapathy 73
 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
75by Pratyashi Satapathy
76by Pratyashi Satapathy
77by Pratyashi Satapathy
 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
There are two ways to depict this.
79by Pratyashi Satapathy
 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
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
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
Elements of sequence diagram:
 1)object
 2)life line
 3)message
 4)activation box
83by Pratyashi Satapathy
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
85by Pratyashi Satapathy
86by Pratyashi Satapathy
87by Pratyashi Satapathy
 Both name and type are optional, but at least one of them should be
present. Some example :
88by Pratyashi Satapathy
 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
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
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
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
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
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
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
Message to self:
 A message that an object sends itself can be shown as follows :
96by Pratyashi Satapathy
97by Pratyashi Satapathy
98by Pratyashi Satapathy
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
Actor from
Use Case
Objects
1
2
3
4
Lifeline
Calls = Solid Lines
Returns = Dashed Lines
Activation
100by Pratyashi Satapathy
Shows Destruction of b
(and Construction)
101by Pratyashi Satapathy
Hotel Reservation:
102by Pratyashi Satapathy
103by Pratyashi Satapathy
Caller Phone Recipient
Picks up
Dial tone
Dial
Ring notification Ring
Picks up
Hello
104by Pratyashi Satapathy
105by Pratyashi Satapathy
106by Pratyashi Satapathy
107by Pratyashi Satapathy
 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
 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
110by Pratyashi Satapathy
 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
 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
 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
Loop to execute exactly 10 times.Potentially infinite loop.
114by Pratyashi Satapathy
 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
 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
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
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
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
120by Pratyashi Satapathy
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
122by Pratyashi Satapathy
 Sequencing:
Fig: Procedural Sequence
They represent ordinary, nested operation calls of the type you find
in most programming languages.
123by Pratyashi Satapathy
Fig: Flat Sequence
Here control simply progresses from step to step, without any
consideration for nested flows of control.
124by Pratyashi Satapathy
 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
 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
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
128by Pratyashi Satapathy
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
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
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
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
Checkout use case includes several use cases –
Scan Item, Calculate Total and Tax, and Payment
133by Pratyashi Satapathy
 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
135by Pratyashi Satapathy
 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
137by Pratyashi Satapathy
by Pratyashi Satapathy 138
 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
 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
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
 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
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
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
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
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
 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
148by Pratyashi Satapathy
149by Pratyashi Satapathy
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
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
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
 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
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
155by Pratyashi Satapathy
156by Pratyashi Satapathy
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
158by Pratyashi Satapathy
159by Pratyashi Satapathy
160by Pratyashi Satapathy
161by Pratyashi Satapathy
162by Pratyashi Satapathy
163by Pratyashi Satapathy
164by Pratyashi Satapathy
 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
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
167by Pratyashi Satapathy
 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
169by Pratyashi Satapathy
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
 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
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
173by Pratyashi Satapathy
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
 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
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
177by Pratyashi Satapathy
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
by Pratyashi Satapathy 179

More Related Content

What's hot

Unified modeling language diagrams
Unified modeling language diagramsUnified modeling language diagrams
Unified modeling language diagramsAlaa Ahmed
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling LanguageShahzad
 
Lecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASELecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASEbabak danyal
 
UML Diagram @ Software engineering discussion
UML Diagram @ Software engineering discussionUML Diagram @ Software engineering discussion
UML Diagram @ Software engineering discussionCherryBerry2
 
Understanding unified modelling language
Understanding unified modelling languageUnderstanding unified modelling language
Understanding unified modelling languageEmmanuel Kumah
 
OBJECT DIAGRAM.pptx
OBJECT DIAGRAM.pptxOBJECT DIAGRAM.pptx
OBJECT DIAGRAM.pptxAhmarBilal3
 
Class and object_diagram
Class  and object_diagramClass  and object_diagram
Class and object_diagramSadhana28
 
Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2Ricardo Quintero
 
Lect-4: UML diagrams - Unified Modeling Language - SPM
Lect-4: UML diagrams - Unified Modeling Language - SPMLect-4: UML diagrams - Unified Modeling Language - SPM
Lect-4: UML diagrams - Unified Modeling Language - SPMMubashir Ali
 
Uml structural diagrams
Uml structural diagramsUml structural diagrams
Uml structural diagramsSwathy T
 
UML for OOAD
UML for OOADUML for OOAD
UML for OOADDang Tuan
 

What's hot (20)

Unified modeling language diagrams
Unified modeling language diagramsUnified modeling language diagrams
Unified modeling language diagrams
 
Uml
UmlUml
Uml
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling Language
 
Lecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASELecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASE
 
UML Diagram @ Software engineering discussion
UML Diagram @ Software engineering discussionUML Diagram @ Software engineering discussion
UML Diagram @ Software engineering discussion
 
Understanding unified modelling language
Understanding unified modelling languageUnderstanding unified modelling language
Understanding unified modelling language
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
OBJECT DIAGRAM.pptx
OBJECT DIAGRAM.pptxOBJECT DIAGRAM.pptx
OBJECT DIAGRAM.pptx
 
Class and object_diagram
Class  and object_diagramClass  and object_diagram
Class and object_diagram
 
Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2
 
UML
UMLUML
UML
 
Lect-4: UML diagrams - Unified Modeling Language - SPM
Lect-4: UML diagrams - Unified Modeling Language - SPMLect-4: UML diagrams - Unified Modeling Language - SPM
Lect-4: UML diagrams - Unified Modeling Language - SPM
 
Uml structural diagrams
Uml structural diagramsUml structural diagrams
Uml structural diagrams
 
UML for OOAD
UML for OOADUML for OOAD
UML for OOAD
 
Uml
UmlUml
Uml
 
Types of UML diagrams
Types of UML diagramsTypes of UML diagrams
Types of UML diagrams
 
Case Study Uml
Case Study UmlCase Study Uml
Case Study Uml
 
Uml
UmlUml
Uml
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Presentation on uml
Presentation on umlPresentation on uml
Presentation on uml
 

Similar to unified modelling language(UML) diagrams

Ooad 2marks
Ooad 2marksOoad 2marks
Ooad 2marksAsh Wini
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UMLyndaravind
 
Introduction to Rational Rose
Introduction to Rational RoseIntroduction to Rational Rose
Introduction to Rational RoseMunaam Munawar
 
se_lectures.DS_Store__MACOSXse_lectures._.DS_Storese_
se_lectures.DS_Store__MACOSXse_lectures._.DS_Storese_se_lectures.DS_Store__MACOSXse_lectures._.DS_Storese_
se_lectures.DS_Store__MACOSXse_lectures._.DS_Storese_WilheminaRossi174
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2Sisir Ghosh
 
UML DIAGRAMS
UML DIAGRAMSUML DIAGRAMS
UML DIAGRAMSSelshaCs
 
@Quality management tools
@Quality management tools@Quality management tools
@Quality management toolskeshavrasal
 
17053257 implementing-tqm-in-education
17053257 implementing-tqm-in-education17053257 implementing-tqm-in-education
17053257 implementing-tqm-in-educationlostwithabhi
 
17053257 implementing-tqm-in-education
17053257 implementing-tqm-in-education17053257 implementing-tqm-in-education
17053257 implementing-tqm-in-educationlostwithabhi
 
Collaboration Diagram
Collaboration DiagramCollaboration Diagram
Collaboration Diagramfahad_uaar
 
UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software EngineeringAmit Singh
 
Design patterns through java
Design patterns through javaDesign patterns through java
Design patterns through javaAditya Bhuyan
 
Continuos improvement tools ii
Continuos improvement tools iiContinuos improvement tools ii
Continuos improvement tools iiDEPROCESS
 
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPTCS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPTleela rani
 

Similar to unified modelling language(UML) diagrams (20)

Ooad 2marks
Ooad 2marksOoad 2marks
Ooad 2marks
 
Sda 7
Sda   7Sda   7
Sda 7
 
2 class use case
2 class use case2 class use case
2 class use case
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Introduction to Rational Rose
Introduction to Rational RoseIntroduction to Rational Rose
Introduction to Rational Rose
 
se_lectures.DS_Store__MACOSXse_lectures._.DS_Storese_
se_lectures.DS_Store__MACOSXse_lectures._.DS_Storese_se_lectures.DS_Store__MACOSXse_lectures._.DS_Storese_
se_lectures.DS_Store__MACOSXse_lectures._.DS_Storese_
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2
 
SMD Unit ii
SMD Unit iiSMD Unit ii
SMD Unit ii
 
CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2
 
UML DIAGRAMS
UML DIAGRAMSUML DIAGRAMS
UML DIAGRAMS
 
OOP_Module 2.pptx
OOP_Module 2.pptxOOP_Module 2.pptx
OOP_Module 2.pptx
 
@Quality management tools
@Quality management tools@Quality management tools
@Quality management tools
 
17053257 implementing-tqm-in-education
17053257 implementing-tqm-in-education17053257 implementing-tqm-in-education
17053257 implementing-tqm-in-education
 
17053257 implementing-tqm-in-education
17053257 implementing-tqm-in-education17053257 implementing-tqm-in-education
17053257 implementing-tqm-in-education
 
Jar chapter 2
Jar chapter 2Jar chapter 2
Jar chapter 2
 
Collaboration Diagram
Collaboration DiagramCollaboration Diagram
Collaboration Diagram
 
UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software Engineering
 
Design patterns through java
Design patterns through javaDesign patterns through java
Design patterns through java
 
Continuos improvement tools ii
Continuos improvement tools iiContinuos improvement tools ii
Continuos improvement tools ii
 
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPTCS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
 

Recently uploaded

『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书rnrncn29
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsResearcher Researcher
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfisabel213075
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdfAkritiPradhan2
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmDeepika Walanjkar
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Communityprachaibot
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHSneha Padhiar
 
Ch10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfCh10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfChristianCDAM
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxStephen Sitton
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdfHafizMudaserAhmad
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewsandhya757531
 
OOP concepts -in-Python programming language
OOP concepts -in-Python programming languageOOP concepts -in-Python programming language
OOP concepts -in-Python programming languageSmritiSharma901052
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...Erbil Polytechnic University
 
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptJohnWilliam111370
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdfsahilsajad201
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
signals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsignals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsapna80328
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptxmohitesoham12
 

Recently uploaded (20)

『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending Actuators
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdf
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Community
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
 
Ch10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfCh10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdf
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptx
 
11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf11. Properties of Liquid Fuels in Energy Engineering.pdf
11. Properties of Liquid Fuels in Energy Engineering.pdf
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overview
 
OOP concepts -in-Python programming language
OOP concepts -in-Python programming languageOOP concepts -in-Python programming language
OOP concepts -in-Python programming language
 
"Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ..."Exploring the Essential Functions and Design Considerations of Spillways in ...
"Exploring the Essential Functions and Design Considerations of Spillways in ...
 
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdf
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
signals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsignals in triangulation .. ...Surveying
signals in triangulation .. ...Surveying
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptx
 

unified modelling language(UML) diagrams

  • 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
  • 35. Figure : Modeling Simple Collaborations 36by 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
  • 40. Fig: Class Diagram Example 42by Pratyashi Satapathy
  • 41. Fig: Class Diagram Example(video store) 43by 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
  • 64. Q. Draw the collaboration of ATM card validation. customer ATM machine 3 objects Bank network Q. Online payment in a shop. customer retailer card reader bank network 66by Pratyashi Satapathy
  • 65. Collaboration diagram for issuing book: 67by 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
  • 98. Actor from Use Case Objects 1 2 3 4 Lifeline Calls = Solid Lines Returns = Dashed Lines Activation 100by Pratyashi Satapathy
  • 99. Shows Destruction of b (and Construction) 101by Pratyashi Satapathy
  • 102. Caller Phone Recipient Picks up Dial tone Dial Ring notification Ring Picks up Hello 104by 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
  • 112. Loop to execute exactly 10 times.Potentially infinite loop. 114by 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