110 likes | 355 Views
Introduction to UML. By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada. What is UML?. It is a notation; that is a set of diagrams and diagram elements that may be arranged to describe the design of a software system.
E N D
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada
What is UML? • It is a notation; that is a set of diagrams and diagram elements that may be arranged to describe the design of a software system. • UML is not a process, nor is it a method comprising a notation and a process. • The OMG specification states: The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system. The UML offers a standard way to write a system's blueprints, including conceptual things such as business processes and system functions as well as concrete things such as programming language statements, database schemas, and reusable software components."
Why use UML? • In a software context, formal design becomes increasingly important as the size and complexity of the software grows. • UML provides facilities for visualizing, specifying, constructing, and documenting the software; this will likely increase the success chances of the software and possibly significantly reduces its cost.
Why UML, is there something else? • The complexity and nature of different software vary tremendously. As a result it is unlikely that single set of notation be the best when representing any software. • UML however claims to be a universal notation that is suitable for all problems. • After practically (and intensively) utilizing UML, you might be able to judge whether or not this claim holds.
History of UML • In the beginning, there were three principal methods: • The Booch method, devised by Grady Booch, • Object-oriented Modeling Technique (OMT), devised by Jim Rumbaugh, • Object-oriented Software Engineering (also known as Objectory), devised by Ivar Jacobson. • The three methods had many ideas on common, yet different notation for expressing those ideas (for example, OMT classes were represented by rectangle boxes, whereas in Booch methods they were represented as cloud shapes). Other ideas were introduced only by one or the other of the three methods. • UML combined the best bits of all three with a common notation.
History of UML • In terms of time, here is the history: • 1994 – Jim Rumbaugh left General Electric to join Grady Booch ar Rational Software, so as to merge their methods and achieve standardization across the industry. • 1995 – Booch and Rumbaugh published version 8 of the Unified method. Rational Software buys Objectory and Ivar Jacobson joins the company. • 1997 – Booch, Rumbaugh and Jacobson release (through Rational) a proposal of version 1 of UML. • 1997 – UML version 1.1 was adopted by The Object Management Group (OMG), a non-profit organization, previously best known for the CORBA standard. It is advisable that you visit www.omg.org for much more information on UML.
Few Notes – Possibly Negative! • A diagramming notation should be as simple as possible. UML is very complex. The notation summary is relatively big and consists of many sections. • Due to its diagram complexity, it is not easy to use hand-writing for UML representation. One must use some other software, such as MS-Visio, in order to draw UML diagrams. • Due to its complexity, a significant amount of time, and an intensive amount of work, may be needed before becoming familiar with UML.
Types of UML diagrams • Each UML diagram is designed to let developers and customers view a software system from a different perspective and in varying degrees of abstraction. UML diagrams commonly created in visual modeling tools such as Describe™ include:
Useful UML Links & Tutorilas • There is a mass of useful UML resources and tutorials in the Internet, here are few of them: • http://www.omg.org • http://www.holub.com/goodies/uml/index.html • http://www.smartdraw.com/resources/centers/uml/uml.htm • http://www.sparxsystems.com.au/UML_Tutorial.htm