Вы находитесь на странице: 1из 18

UML & It’s

Tools
Acknowledgement:

The preparation of this important document would not have


been possible without the support, hard work and endless efforts of
Ms.P.Jermila and Mr. Viviek Hariharan.

Much needed moral support and encouragement was


provided on numerous occasions by for our faculty Mr. Allah Baksh.
Contents:
• UML

 An Introduction
 Evolution
 Building Blocks
 Diagrams

• UML Tools

 Enterprise Architect
1. Structures
2. Code Engineering
3. Visual Execution Analysis
4. XML Technology Engineering
5. Advantages Of Enterprise Architect
 Visio
1. Introduction
2. Visio and Microsoft Office Application
3. Non-Conventional Uses Of Visio
4. Features Of Visio 2007
5. Advantages Of Visio
 Jude
1. Introduction
2. Fundamental Components
3. System Requirements
4. Features
 Rational Rose
1. Introduction
2. Features

• Conclusion
• Reference

UML:
Introduction:
The Unified Modeling Language[UML] is a family of
graphical notation, that help in describing and designing the software systems,
particularly software systems built using Object- Oriented(OO) style. UML
offers a standard way to visualize a system's architectural blueprints,
including elements such as actors, business processes, logical components,
activities, programming language statements, database schemas and
reusable software components.
Evolution:
The evolution of Unified Modeling Language began with
the need for a modeling language in which you can develop models of object
oriented software systems. This evolution can be divided into two segments:
 Fragmentation
 Unification
Let us discuss in detail.
1. Fragmentation:
Object-Oriented Modeling Languages began to appear
between the mid -1970’s and the late 1980’s. The number of modeling
languages increased from less than 10 to more than 50 between 1989 and
1994. These are known as “1’st Generation Methods”. All these languages
were similar only with some minor changes. New iterations of 1’st generation
methods began to appear that incorporated each other’s techniques during
the mid-1990. These are known as “2’nd Generation methods”.
2. Unification:
The historical period between the mid 1990’s and 1997 was
characterized by Unification. Grady Booch and Jim Rumbaugh unified their
methods to release UML 0.8 in October 1995. They were joined by Ivor
Jacobson and released version 0.9 & 0.91 in October 1996. The three were
together called as the ‘3 Amigos’. Rational Software Corporation formed the
UML Consortium. In January 1997, UML Partners collaborated and released a
well-defined, expressive, and powerful and generally applicable version of
UML- UML 1.0.Later in the month of November-UML 1.1 was released.

Building Blocks of UML:


The building blocks of UML include the
components that are necessary for creating models of Software Systems.
The three types of UML building blocks are:

→ Basic UML Constituents: Includes the static, dynamic, grouping and


annotational constituents of UML.

→ Relationships: Depicts the relations between the various


constituents of a UML model.

→ Diagrams: Represent the various artifacts of a system graphically.


Diagrams enable you to visualize a system from all the aspects of
software development.

Diagrams:
UML diagrams are various notations to specify the syntax of the
constructs used for creating the diagram. It provides the following thirteen
diagrams to represent the structure and design of a software system:

→ Use Case Diagram:


It depicts the various operations that a system
performs. It contains use case, actors and their relationships. Use
cases are the sequence of actions that form a single unit of work for an
actor. An actor represents a user who is external to the system and
interacts with the use case.

→ Class Diagram:
It represents a set of classes, interfaces, and their
relationships. A class can be represented in a rectangular box with
three compartments. The first compartment shows the class name.
The second compartment shows the attributes of the class and the
third compartment shows the methods associated with the class.

→ Object Diagrams:
It represents instances of a class diagram. An
object can represent in a rectangular box with two compartments. The
object name appears before the class name in the first compartment.
The second compartment shows the attribute of the objects.

→ Communication Diagrams:
It represents an interaction between objects in the
form of messages. This diagram is also called ac Collaboration
Diagram.

→ Sequence Diagram:
They represent an interaction between objects in the
form of messages ordered in a sequence by time. It shows the
messages exchanged between objects ordered in sequence of time.

→ State Machine Diagram:


It shows how a class reacts when an event occurs.
It can be drawn by using the classes and the use cases identified for
the system. This diagram is also called as State diagram or a State
chart diagram.

→ Activity Diagram:
Activities are a representation of the various
operations performed by a class. An Activity Diagram depicts the flow
of control from one activity to another. It can be drawn by identifying
the activities performed by the various classes of the system.

→ Package Diagrams:
All the interrelated classes and interfaces of the
system when grouped together form a package. These diagrams help
in representing the various packages of a software system and the
dependencies between them.

→ Component Diagram:
Packages or individual entities are combined together
to form component. Various components and their dependencies can
be depicted using a component diagram.

→ Deployment Diagram:
It shows the physical placement of components in
nodes over a network. It can be drawn by identifying nodes and
components.

→ Timing Diagrams:
They are used to represent the changes in state and value of
one or more objects over a period of time. They are often used to design
embedded software.

→ Concise Notation:
A value lifeline is used to represent the changes in
the value of objects over a period of time. The time elapsed is
represented on the X-axis and the value is shown between the pair of
horizontal lines which cross over at each change in value.
→ Robust Notation:
A state lifeline is used to represent the changes in
state of objects over a period of time. The X-axis represents the time
elapsed and the Y-axis depicts a set of states.

→ Composite Structure Diagram:


It represents the internal structure and interaction points of
a classifier. Classifier refers to classes, objects, or interfaces. Interaction point
refers to the points within a classifier using which the classifier interacts with
other parts of the system. It is made up of several elements, such as
parts, ports and interfaces. A part is an element that represents a set
of one or more instances owned by the containing classifier instance. A
port is an interaction point between a classifier instance and its
environment or between the behavior of the classifier and its internal
parts. A port can interact in both the directions.
→ Interaction Overview Diagram:
It gives an overview of the interaction diagrams.
Interaction diagram include the following types of diagrams:
à Sequence Diagram
à Communication Diagram
à Timing Diagram
à Interaction Overview Diagram
It represents the logical interaction between the interaction diagrams
and the process flows in between the set of interaction diagrams.

UML Tools:
To ensure that the various diagrams provided by UML are implemented
effectively, an UML tool has to be used that helps us to manipulate and store
these diagrams. The following tools can be used for this purpose:

→ Enterprise Architect
→ Visio
→ Jude
→ Rational Rose

Enterprise Architect:
It is a Computer Aided Software Engineering (CASE)
tool for designing and constructing software systems, for business process
modeling, and for more generalized modeling purposes. Using Enterprise
Architect's support for UML, we can model:

* New complex software & Business systems

* Visualize & maintain Existing systems

1. Structures:

Enterprise Architect interprets the UML standards and


specifications by the following ways:
• Projects and Models are created using the Start Page or File
Menu, which provide templates on which to base your models
• Packages and Diagrams are created using the Toolbars and
Menus.
• Elements and Connectors are created using the Enterprise
Architect UML Toolbox.
• New Structures can be created using Project Browser and
existing structures can be Re-used using the Project Browser, Model
Views, Element List and Model Search.

1. Code Engineering:

UML modeling depends on and supports code


engineering- you generate and update code from a model, and you
create and update models from code. Enterprise Architect enables you
to:
• Forward engineer, reverse engineer, round-trip and synchronize
code in a range of programming languages
• Debug and profile code
• Model and generate code for XML Technologies
• Perform database modeling and database design for a range of
database management systems
• Convert model components from one domain to another using
Model Driven Architecture (MDA) Transformation.
• Source code generation and reverse engineering for many
popular languages, including C++, C#, Java, Delphi, VB.Net, Visual
Basic, Action Script, Python and PHP.
• A built in 'syntax highlighting' source code editor
• Code generation templates, which enable you to customize the
generated source code to your company specifications.
1. Visual Execution Analysis:

Enterprise Architect enables you to:


• Build, test, debug, run and execute deployment scripts
• Integrate UML development and modeling with source
development and compilation
• Integrate the test process directly into the Enterprise Architect
IDE
• Debug .NET, Java and Microsoft Native (C, C++ and Visual Basic)
applications.

1. XML Technology Engineering:


Enterprise Architect enables you to rapidly model, forward engineer
and reverse engineer two key XML technologies:

• XML Schema (XSD)

• Web Service Definition Language (WSDL).

XSD and WSDL support is critical for the development of a complete


Service Oriented Architecture (SOA), and the coupling of UML 2.1 and XML
provides the natural mechanism for implementing XML-based SOA artifacts
within an organization.

1. Advantages Of EA over other tools:

The advantages of Enterprise Architect over other tools are as follows:

• Comprehensive UML 2.1-based modeling


• Built-in Requirements Management
• Extensive Project Management support, including testing
• Code engineering support for many languages out of the box
• An integrated Debug Workbench for profiling executable Java
and .Net applications, instantiating run-time model objects and
recording sequence diagrams.
• Extendable modeling environment that can host user-defined
profiles and technologies
• Usability
• Speed: Enterprise Architect is a spectacularly fast performer
• Scalability: Enterprise Architect can handle extremely large
models and many concurrent users with ease
• Price: Enterprise Architect is priced to outfit the entire team,
making collaboration and team development a real possibility.

Visio:
1.Introduction:

Visio is about communication of ideas and analysis of


information, whether it is complex or simple, business or technical. As a
diagramming program, it can be used to create flowcharts for business
processes or document IT networks. It also has a rich automation model that
lets our partners create line-of-business applications that take advantage of
the drawing functionality to automatically create or display and modify
diagrams to meet their business solution needs.

2. Visio and Microsoft Office Applications:

Visio can be used in Microsoft Office Applications like Power


Point; Word and Excel .It lets users create Simple and more Complex
diagrams. Users can copy these diagrams into any other Office document,
such as a Word document or a PowerPoint slide, to display the drawing in the
context of other information. It also has a number of other features that let
diagrams be used as an interface for other documents and processes.

3.Non Conventional Uses of Visio:

The non-conventional uses of Visio are as follows:

• Custom business process designer


• A manufacturing shop floor simulation tool
• A sales process automation tool
• It is also capable of advanced automation that enables
generation of data from diagrams and diagrams from data.

1.Features of Visio:

The features of Visio are as follows:

• An ITIL template
• Additional sample diagrams
• Auto Connect feature to speed the creation of network diagrams
• Data Graphics to easily illustrate network data
• Data Linking to link external databases and Excel files with
drawing objects
• Pivot Diagrams to automatically visualize multiple views of the
same data set
• Color Schemes to quickly modify the visual impact of a diagram
for different purposes
• Timelines and calendars

1.Advantages Of Visio:
 Software Design :
We can easily diagram both how the
software will function and what the inputs and outputs will be
using a Flowchart.

 Process Diagrams:
If we have any kind of defined process, it

can almost always be represented in Visio. Visio offers a wide


variety of tools for creating all kinds of diagrams, giving you
lots of options to work with.

 Hierarchy Structures:
Hierarchy Structure in the sense how our
project is laid out. In other words it can be said as the flow of

operations. These kinds of diagrams are essential for new


people to know about our project, as well as for everybody
else if we have a large or often-changing project.

Jude:
1.Introduction:

JUDE is a UML Modeling tool created by the Japanese company


Change Vision. JUDE is an acronym of “Java and UML Developers'
Environment”. It received the "Software Product of the Year 2006" prize,
established by IPA (Information-Technology Promotion Agency, Japan). It is
suitable for business use, large-sized models, and document creation. It is
based on the concept of "Usable from the moment of installation".

2.Fundamental Components Of Jude:

 Management View:
The management View has the Main
Menu that includes functions related to the whole project,
such as file operation and editing and the Tool Bar for
frequently used functions.
 Diagram Editor:
The Diagram Editor is used to edit diagrams
and models. We can open multiple diagrams at the same
time.

 Structure Tree:
It displays models in a tree structure. We can
carry out various operations using the Pop-Up menu of model
elements on here.

 Inheritance Tree:
The Inheritance Tree View displays models in a
tree structure based on the inheritance relationships between
classes.

 Map View:
The Map View provides an overview of the
diagram that is opened in the Diagram Editor. The area
displayed in the Diagram Editor can be specified by a right-
drag and the diagram in the Diagram Editor can be scrolled by
a left-drag. This function is very useful for big diagrams
especially.

 Property View:
The Property View is used to display and edit
the properties of model elements.

1.System Requirements:

Operating System: Windows 2000, XP, Vista

CPU: Pentiun III 600 MHZ or higher

Memory: 265MB or more.

JAVA Environment: Sun Microsystems


J2SE 1.4.1_07 or later OR J2SE 1.4.2_05
or later OR JDK5.0
(JDK 5.0 is supported since
JUDE/Community 3.1)
2.Features Of JUDE:

• JUDE/Community supports all basic UML 1.4 diagrams


• JUDE/Professional supports all basic UML 1.4 diagrams, some UML
2.0 specifications and Entity-Relationship diagrams
• Unlimited UNDO/REDO feature
• Drag scrolling, changing view freely using "Map View" to make it
easy to edit large scale of diagrams
• Import and export of Java source files
• Automatic generation of class diagrams with model information
• Paste images on Microsoft Office

Rational Rose:
1. Introduction:

Rational Rose is an Object-Oriented Unified Modeling


Language (UML) software design tool intended for visual modeling and
component construction of enterprise-level software applications. It
constructs the document as it is being constructed and then generates code
in the designer’s choice of
à C#
à Visual Basic
à JAVA
à Oracle 8
à CORBA

2. Features:

The two popular features of Rational Rose are:

à Iterative development
à Round-trip engineering
 Iterative Development:

This process is also called as Evolutionary


Development. Rational Rose allows designers to take advantage of this
method because the new application can be created in stages with the
output of one iteration becoming the input to the next. This is in contrast to
waterfall development where the whole project is completed from start to
finish before a user gets to try it out.

à Round Trip Engineering:

Then, as the developer begins to understand


how the components interact and makes modifications in the design,
Rational Rose can perform what is called "round-trip engineering" by going
back and updating the rest of the model to ensure the code remains
consistent.

à Rational Rose is extensible, with downloadable add-ins and third-party


partner applications.

à It supports COM/DCOM (ActiveX), JavaBeans, and Corba component


standards.

Conclusion:
UML does not provide the magic solution to all
embedded development problems. However, it is possible to make
significant steps to improve the productivity of a developer by using UML
model-driven development and robust and powerful OO language. Alleviating
the chaos of complex software development is the primary motivation for
using UML to describe and build software. Finally, code generation increases
UML's value to the developer by reducing errors and improving productivity.
Reference:
 Internet:

http://en.wikipedia.org/wiki/Unified_Modeling_Language

http://en.wikipedia.org/wiki/Sparx_Enterprise_Architect

http://www.sparxsystems.com/products/ea/features.html

http://jude.change-vision.com/jude-
web/download/try_uml.html

http://en.wikipedia.org/wiki/Rational_Software#Rose

Вам также может понравиться