0% found this document useful (0 votes)
255 views13 pages

Assignment of Oosd: Submitted To: Submitted by

The document discusses swim lanes, which are visual elements used in process flow diagrams and flowcharts to distinguish responsibilities for subprocesses of a business process. Swim lanes may be arranged horizontally or vertically, and are typically labeled to show how the chart is organized. The document also provides examples of swim lane diagrams and discusses their uses in clarifying business processes that involve multiple departments.

Uploaded by

Amrit Virdi
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
255 views13 pages

Assignment of Oosd: Submitted To: Submitted by

The document discusses swim lanes, which are visual elements used in process flow diagrams and flowcharts to distinguish responsibilities for subprocesses of a business process. Swim lanes may be arranged horizontally or vertically, and are typically labeled to show how the chart is organized. The document also provides examples of swim lane diagrams and discusses their uses in clarifying business processes that involve multiple departments.

Uploaded by

Amrit Virdi
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 13

ASSIGNMENT

OF OOSD

SUBMITTED TO: SUBMITTED BY:


Swim lane
A swim lane (or swimlane) is a visual element used in process flow diagrams, or
flowcharts, that visually distinguishes responsibilities for sub-processes of a business
process. Swim lanes may be arranged either horizontally or vertically. In the
accompanying example, the swimlanes are named Customer, Sales, Contracts, Legal,
and Fulfillment, and are arranged vertically.

The swim lane flowchart differs from other flowcharts in that processes and decisions
are grouped visually by placing them in lanes. Parallel lines divide the chart into lanes,
with one lane for each person, group or subprocess. Lanes are labelled to show how
the chart is organized.

In the accompanying example, the vertical direction represents the sequence of events
in the overall process, while the horizontal divisions depict what subprocess is
performing that step. Arrows between the lanes represent how information or material is
passed between the subprocesses.
Optionally, the flow can be rotated so that the sequence reads horizontally from left to
right, with the roles involved being shown at the left edge. This can be easier to read
and design, Microsoft Visio typically operates from left to right, as normally screen sizes
are wider than they are deep which gives an improved view of the flow.

Use of standard symbols enables clear linkage to be shown between related flow charts
when charting flows with complex relationships: use of hyperlinking capability makes
movement between activities on different sheets easy and reliable.

It is typically but not exclusively used in manufacturing-related applications. It aims to


help clarify the overall layout of the processes, for use in optimizing floor capacity and
efficiency.

When used to diagram a business process that involves more than one department, it
can clarify not only the steps and who is responsible for each one, but how delays,
mistakes or cheating are most likely to occur.

Many process modeling methodologies utilize the concept of swimlanes as a


mechanism to organize activities into separate visual categories in order to illustrate
different functional capabilities or responsibilities. Swimlanes are used in Business
Process Modeling Notation (BPMN) and Unified Modeling Language Activity
diagram modeling methodologies.

State Chart Diagram


The name of the diagram itself clarifies the purpose of the diagram and other details. It
describes different states of a component in a system. The states are specific to a
component/object of a system.

A Statechart diagram describes a state machine. Now to clarify it 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.

Activity diagram explained in next chapter, is a special kind of a Statechart diagram. As


Statechart diagram defines states it is used to model lifetime of an object.

Purpose:

Statechart diagram is one of the five UML diagrams used to model dynamic nature of a
system. They define different states of an object during its lifetime. And these states are
changed by events. So Statechart diagrams are useful to model reactive systems.
Reactive systems can be defined as a system that responds to external or internal
events.
Statechart diagram describes the flow of control from one state to another state. States
are defined as a condition in which an object exists and it changes when some event is
triggered. So the most important purpose of Statechart diagram is to model life time of
an object from creation to termination.

Statechart diagrams are also used for forward and reverse engineering of a system. But
the main purpose is to model reactive system.

Following are the main purposes of using Statechart 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.

How to draw Statechart Diagram?

Statechart diagram is used to describe the states of different objects in its life cycle. So
the emphasis is given on the state changes upon some internal or external events.
These states of objects are important to analyze and implement them accurately.

Statechart diagrams are very important for describing the states. States can be
identified as the condition of objects when a particular event occurs.

Before drawing a Statechart diagram we must have clarified the following points:

 Identify important objects to be analyzed.

 Identify the states.

 Identify the events.

The following is an example of a Statechart diagram where the state of Orderobject is


analyzed.

The first state is an idle state from where the process starts. The next states are arrived
for events like send request, confirm request, and dispatch order. These events are
responsible for state changes of order object.

During the life cycle of an object (here order object) it goes through the following states
and there may be some abnormal exists also. This abnormal exit may occur due to
some problem in the system. When the entire life cycle is complete it is considered as
the complete transaction as mentioned below.
The initial and final state of an object is also shown below

Where to use Statechart Diagrams?

From the above discussion we can define the practical applications of a Statechart
diagram. Statechart diagrams are used to model dynamic aspect of a system like other
four diagrams disused in this tutorial. But it has some distinguishing characteristics for
modeling dynamic nature.

Statechart diagram defines the states of a component and these state changes are
dynamic in nature. So its specific purpose is to define state changes triggered by
events. Events are internal or external factors influencing the system.

Statechart diagrams are used to model states and also events operating on the system.
When implementing a system it is very important to clarify different states of an object
during its life time and statechart diagrams are used for this purpose. When these states
and events are identified they are used to model it and these models are used during
implementation of the system.

If we look into the practical implementation of Statechart diagram then it is mainly used
to analyze the object states influenced by events. This analysis is helpful to understand
the system behaviour during its execution.

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.

Component Diagram
Component diagrams are different in terms of nature and behaviour. Component
diagrams are used to model physical aspects of a system.

Now the question is what are these physical aspects? Physical aspects are the
elements like executables, libraries, files, documents etc which resides in a node.

So component diagrams are used to visualize the organization and relationships among
components in a system. These diagrams are also used to make executable systems.

Purpose:

Component diagram is a special kind of diagram in UML. The purpose is also different
from all other diagrams discussed so far. It does not describe the functionality of the
system but it describes the components used to make those functionalities.

So from that point component diagrams are used to visualize the physical components
in a system. These components are libraries, packages, files etc.

Component diagrams can also be described as a static implementation view of a


system. Static implementation represents the organization of the components at a
particular moment.

A single component diagram cannot represent the entire system but a collection of
diagrams are used to represent the whole.

So the 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.

How to draw Component Diagram?

Component diagrams are used to describe the physical artifacts of a system. This
artifact includes files, executables, libraries etc.
So the purpose of this diagram is different, Component diagrams are used during the
implementation phase of an application. But it is prepared well in advance to visualize
the implementation details.

Initially the system is designed using different UML diagrams and then when the
artifacts are ready component diagrams are used to get an idea of the implementation.

This diagram is very important because without it the application cannot be


implemented efficiently. A well prepared component diagram is also important for other
aspects like application performance, maintenance etc.

So 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.

Now after identifying the artifacts the following points needs to be followed:

 Use a meaningful name to identify the component for which the diagram is to be
drawn.

 Prepare a mental layout before producing using tools.

 Use notes for clarifying important points.

The following is a component diagram for order management system. Here the artifacts
are files. So the diagram shows the files in the application and their relationships. In
actual the component diagram also contains dlls, libraries, folders etc.

In the following diagram four files are identified and their relationships are produced.
Component diagram cannot be matched directly with other UML diagrams discussed so
far. Because it is drawn for completely different purpose.

So the following component diagram has been drawn considering all the points
mentioned above:
Where to use Component Diagrams?

We have already described that component diagrams are used to visualize the static
implementation view of a system. Component diagrams are special type of UML
diagrams used for different purposes.

These diagrams show the physical components of a system. To clarify it, we can say
that component diagrams describe the organization of the components in a system.

Organization can be further described as the location of the components in a system.


These components are organized in a special way to meet the system requirements.

As we have already discussed those components are libraries, files, executables etc.
Now before implementing the application these components are to be organized. This
component organization is also designed separately as a part of project execution.

Component diagrams are very important from implementation perspective. So the


implementation team of an application should have a proper knowledge of the
component details.

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.

Deployment Model
Deployment diagrams are used to visualize the topology of the physical components of
a system where the software components are deployed.

So deployment diagrams are used to describe the static deployment view of a system.
Deployment diagrams consist of nodes and their relationships.

Purpose:

The name Deployment itself describes the purpose of the diagram. Deployment


diagrams are used for describing the hardware components where software
components are deployed. Component diagrams and deployment diagrams are closely
related.

Component diagrams are used to describe the components and deployment diagrams
shows how they are deployed in hardware.

UML is mainly designed to focus on software artifacts of a system. But these two
diagrams are special diagrams used to focus on software components and hardware
components.

So most of the UML diagrams are used to handle logical components but deployment
diagrams are made to focus on hardware topology of a system. Deployment diagrams
are used by the system engineers.

The 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.

How to draw Deployment Diagram?

Deployment diagram represents the deployment view of a system. It is related to the


component diagram. Because the components are deployed using the deployment
diagrams. A deployment diagram consists of nodes. Nodes are nothing but physical
hardwares used to deploy the application.

Deployment diagrams are useful for system engineers. An efficient deployment diagram
is very important because it controls the following parameters
 Performance

 Scalability

 Maintainability

 Portability

So before drawing a deployment diagram the following artifacts should be identified:

 Nodes

 Relationships among nodes

The following deployment diagram is a sample to give an idea of the deployment view of
order management system. Here we have shown nodes as:

 Monitor

 Modem

 Caching server

 Server

The application is assumed to be a web based application which is deployed in a


clustered environment using server 1, server 2 and server 3. The user is connecting to
the application using internet. The control is flowing from the caching server to the
clustered environment.

So the following deployment diagram has been drawn considering all the points
mentioned above:
Where to use Deployment Diagrams?

Deployment diagrams are mainly used by system engineers. These diagrams are used
to describe the physical components (hardwares), their distribution and association.

To clarify it in details we can visualize deployment diagrams as the hardware


components/nodes on which software components reside.

Software applications are developed to model complex business processes. Only


efficient software applications are not sufficient to meet business requirements.
Business requirements can be described as to support increasing number of users,
quick response time etc.

To meet these types of requirements hardware components should be designed


efficiently and in a cost effective way.

Now a day's software applications are very complex in nature. Software applications
can be stand alone, web based, distributed, mainframe based and many more. So it is
very important to design the hardware components efficiently.

So the 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.

Package (UML)

A package in the Unified Modeling Language is used "to group elements, and to


provide a namespace for the grouped elements".[1] A package may contain other
packages, thus providing for a hierarchical organization of packages.

Pretty much all UML elements can be grouped into packages. Thus, classes,
objects, use cases, components, nodes, node instances etc. can all be organized as
packages, thus enabling a manageable organization of the myriad elements that a real-
world UML model entails.

Usage

When organizing functional models (use case models, workflow models etc.), use
packages to model the real-world modular structure of the system being modeled.
When organizing source code, use packages to represent the different layers of the
source code. For instance:
 presentation layer
 controller layer
 data access layer
 integration layer
 business services layer
When organizing component models, use packages to group the components according
to ownership and/or reuse possibilities. For instance:

 commercial-off-the-shelf products
 open-source framework components
 custom-built framework components
 custom-built application components
When organizing deployment models, use packages to represent the different types of
deployment environments that you will be modeling. For instance:

 production environment
 pre-production environment
 integration test environment
 system test environment
 development environment

You might also like