UML and it’s Tools
P.Jermila
What is UML? The Unified Modeling Language[UML] is a family of graphical notation, that help in Describing Designing software systems, particularly software systems built using ObjectOriented(OO) style. It is a Blueprint for any Software systems which is to be developed.
Evolution :
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” Modifications of 1’st gen methods led to “ 2 ’ nd Generation methods”
Evolution : ( contd …)
Unification :
The historical period between the mid 1990’s and 1997 was characterized by Unification. → G r a d y B o o c h and J i m R u m b a u g h - U M L 0 . 8 in October 1995 .
→ They joined with I v o r J a c o b s o n and released version 0 . 9 & 0 . 9 1 in October 1996 .
→3 A m i g o s
Evolution : ( contd …)
Unification : Rational Software Corporation formed the UML Consortium.
→ In January 1997, UML Partners collaborated and released a well-defined, expressive, powerful generally applicable version of UML “UML 1 . 0” → Later in the month of November-UML 1 . 1 was released.
The Evolution of UML can be given in pictorial
representation…….
and
Evolution : ( contd …)
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.
UML Diagrams : The Diagrams can be discussed as follows :
UML Tools : The above mentioned diagrams can be implemented effectively. The UML tools that helps us to manipulate and store these diagrams are as follows:
Enterprise Architect
Visio Jude
Rational Rose
Let us discuss about
Enterprise Architect :
What is an EA?
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 :
& Business systems
* New
complex software
Enterprise Architect : 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,
Enterprise Architect : Photo Album :
Enterprise Architect : 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 ) Transformations.
Enterprise Architect : Code Engineering :
Enterprise Architect supports:
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.
Enterprise Architect : 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.
Enterprise Architect : 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.
Enterprise Architect : Advantages of EA over other tools :
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.
Enterprise Architect : Advantages of EA over other tools : ( contd ….)
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 : 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 display modify diagrams to meet their business solution needs.
Visio : Photo Album :
Visio and Microsoft Office App : Visio can be used in Microsoft Office Applications like PowerPoint, 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.
TheExample hyper linking functionality for shapes is a : simple yet effective way to use a business flowchart diagram to navigate to a marketing presentation or a Human Resources process document.
Non - Conventional uses of Visio : 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. •
Non - Conventional uses of Visio :
Example :
One of best uses of Visio is in England, where Visio is used in a touch-screen application for bed assignments in a hospital. Nurses and hospital administrators can view and modify bed assignments in wards visually, which makes it easy to maintain maximum capacity.
A great risk analysis and accident reporting tool has been established and is being used by Dutch Shell ( the Royal Dutch / Shell Group of Companies ). By using Visio process diagrams to map out potential risks and to review mistakes made in oil rigging accidents , the Dutch Shell was able to contribute to the significant reduction in accidents on
Features Of Visio 2007 : New and improved features include:
An ITIL template
Additional sample diagrams • Auto Connect feature to speed the creation of network diagrams
Data Graphics to easily illustrate network data
(contd…….)
Features Of Visio 2007 : • 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
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. For instance , if you are creating a software module that calculates the taxes for several different companies , you can use Visio to plan out how these taxes will be calculated and how the module will handle calculating them for each company . Even if you are writing a description of the design , you should include a Visio diagram as it ’ s easier for some people to understand a visual representation than a written one .
(contd…)
Advantages Of Visio : Process Diagrams :
If we have any kind of defined process, it can almost always be represented in Visio. An example of such a process would be how a product goes from the design phase to the production phase. While a “warehouse” type example easily comes to mind, another process could be financial in nature, such as how someone applies and gets approved for a credit card or loan.
Visio offers a wide variety of tools for creating all kinds of diagrams, giving you lots of options to work with.
(contd…)
Advantages Of Visio : 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 . , at the top could be your boss, then you, For example then the three people that work for you. This also works well for client personnel structures.
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 : Introduction :
JUDE is a UML Modeling tool created by the Japanese company Change Vision.
JUDE is an acronym of “Java and UML Developers' Environment”.
JUDE 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.
Based on the concept of "Usable from the
moment of installation"
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.
•
(contd…)
Fundamental Components Of Jude : 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 :
•
display and edit the properties of model
The Property View is used to elements.
System Requirements for Jude : Operating System(OS): CPU: Memory: Java Environment (Required):
Windows 2000, XP, Vista Pentium III 600MHz or higher 256MB or more 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)
Jude : Photo Album :
Features Of Jude :
There are two versions of JUDE: JUDE/Community and JUDE/Professional . JUDE has following features :
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 : What is Rational Rose?
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
Rational Rose : Photo Album :
Features : The two popular features of Rational Rose are: Iterative development Round-trip engineering.
Interactive 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.
Features : 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.