Академический Документы
Профессиональный Документы
Культура Документы
Overview
Introduction History Goals Diagrams and Examples Latest Changes Disadvantages Conclusion
What is UML?
Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing software artifacts. Not necessarily restricted to software systems used in business modeling. Has proven successful in modeling of large and complex systems. Uses graphical notations to describe the architecture of software. We have used UML in the diagrams for HEASSISTANT.
Goals
Provide users a expressive, visual language to enable sharing of meaningful models. Enables developers to compare models before implementation phase. Independent of programming language and development process. Encourage growth of Object Oriented Tools market.
History
First modeling languages 1970s.
More than 50 modeling languages present during 1994. Lead to method wars.
Methods began to incorporate each others techniques. In 1994, Grady Booch and Jim Rumbaugh (Rational Software Corporation) unified Booch and Object Modeling Technique methods to create UML. Ivar Jacobson incorporated the OOSE method in 1995, leading to UML version 0.9 in late 1996.
UML Versions
UML 1.0 was created through a collaboration of various organizations: Microsoft, IBM, HP, etc. Today, UML is on Version 2.0. It is managed by the Object Management Group not for profit consortium. UML specification is available for download at http://www.uml.org/ Tools that conform the latest 2.0 specification Rational Software Architect, Sparx System Architect, StarUML, etc.
Use Case diagrams describe what a system does. HEASSISTANT simply had 1 actor, but generally, we have multiple actors.
Class Diagrams
Note advanced additional features such as abstract classes, generalization (inheritance), aggregation (orderdetails make up order)
Sequence Diagrams
Collaboration Diagrams
Note the use of sequence numbers Top level is assigned 1.1 additional dots per level away from the user interface.
State Diagrams
Lifetime of a login class. Show the state of a particular object throughout the system lifetime. Not necessary for all objects just the critical ones. Super states can be used to nest states to make diagram easier to read.
ACTIVITY DIAGRAMS
A flowchart of the activity in a system. Elegant way to show conditional flows of execution. For use in multithreaded environments can show creation of parallel threads of execution, stopping of threads of execution. Usually one per use case. Objects involved are given their own swimlanes. Example on next page shows activity flow for "Withdraw money from a bank account through an ATM. Activities in parallel debiting account, removing money from slot.
Certification
OMG offers individual certification programs for UML 2.0 with 3 levels Fundamental, Intermediate, and Advanced. Price per exam is 200 dollars, but Fundamental is prerequisite to Intermediate.. etc. OMG also certifies UML compliant tools from vendors. Gives vendors right to place OMG certified logos on products and websites.
Extensions to UML being written to handle other technologies CORBA, certain Security extensions.
Requests for Proposal (RFP) are found on OMG websites.
Disadvantages of UML
Still no specification for modeling of user interfaces. Business rule specification a group exists for this within the OMG, so we should see something in UML 2.1. Poor for distributed systems no way to formally specify serialization and object persistence. Example no way to specify that an object resides on a server process and shared among instances of a running process.
5 Questions
What is UML? How has UML changed over its versions ? (currently 2.0) Who manages UML? What is the best tool for creating UML diagrams? Is UML restricted to OOP languages due to features such as class diagrams?
Questions?
Thank you
References
http://www.uml.org/ http://atlas.kennesaw.edu/~dbraun/csis465 0/A&D/UML_tutorial/ http://bdn.borland.com/article/0,1410,3186 3,00.html http://en.wikipedia.org/wiki/Unified_Modeli ng_Language