UML introducedDisclaimer: This discussion doesnot guarantee in making you an UML expert. The objective is to develop your interest for UML and make you feel confident to participate actively in an detailed UML discussion and appreciate the beauty of the subject. This FAQ was compiled when I was working at Ruksun. A. the pre-requisites are as follows:
A. You can use UML as a tool to assist you in OOSAD(Object Oriented Software Analysis and Design), specially of large and complex projects. Most of the projects today involve Object Oriented languages like C++/Java and they are complex and hence the necessity to think seriously about using UML. Q. What is UML? A. UML is a language. Q. Is UML a Programming language :( ? A. No. UML is a language to Model Software Systems and poses no threats to your programming experties in C++/Java ;). Q. What does UML stand for? A. UML stands for Unified Modelling Language. Q. Which is the most recent version of UML? A. The most recent version is UML 1.1. Also, UML 1.3 draft is ready and available on the Rational Software Corporation web site, for furthur study. Although UML defines a precise language, it is not a barrier for future improvements in the modelling concepts. Q. Who has accepted the UML specification to be a standard? A. The UML was officially adopted as a standard by the OMG(Object Management Group) in 1997. The UML is non proprietary and open to all. Unified Modeling Language, UML, and the UML logo are trademarks of Object Management Group. Q. What is OMG? A. The Object Management Group (OMG) was founded in May 1989 by eight companies:
OMG was formed to create a component-based software marketplace by hastening the introduction of standardized object software. The organization's charter includes the establishment of industry guidelines and detailed object management specifications to provide a common framework for application development. Conformance to these specifications will make it possible to develop a heterogeneous computing environment across all major hardware platforms and operating systems. Implementations of OMG specifications can be found on over 50 operating systems across the world today. OMG's series of specifications detail the necessary standard interfaces for Distributed Object Computing.The architecture that resulted is the CORBA(Common Object Request Broker Architecture). A central element in CORBA is the ORB(Object Request Broker). An ORB makes it possible for a client object to make a server request without having to know where in a network the server object or component is located and exactly what its interfaces are. to know more on OMG visit there web site: http://www.omg.org/ Q. Is Microsoft involved in the standardization processs of UML? A. Yes, Microsoft provides experties with the issues of building component-based systems, including modelling components their interfaces and their distribution. They have also focused on the relationship between UML and standards such as ActiveX and COM and use the UML with their repository technology. Q. Is UML the brain child of a person or its a team effort? A. people like:
The development of UML began in 1994 when Grady Booch and Jim Rumbaugh of the Rational Software Corporation began their work on unifying the Booch and OMT(Object Modelling Technique) methods. They created the first version of their work, which was a draft version 0.8. They called this "Unified Method". This was released in October 1995. In Fall of 1995 Ivar Jacobson and his "Objectory company" joined Rational Corporation merging in its OOSE(Object Oriented Software Engineering) method. The "Objectory" name is now used within Rational primarily to describe its UML-compliant process, the "Rational Objectory Process". Q. What is "Booch Method" of Object Oriented System Analysis and Design? A. refer the following web site for a introductory tutorial on the Booch Method: http://www.hsr.ch/div/Booch/BoochReference/ Q. What is "Object Modelling Technique"? A. refer the following web site for a tutorial on Object Modelling Technique: http://www.qucis.queensu.ca/home/yanh/838/omt.html Q. What is "use-case methodology" developed by Ivar Jacobson? A. refer the following web site for excellent briefing on the subject: http://www.elj.com/elj/v1/n2/bm/use-cases/ Q. What motivated the creation of UML? A. the factors motivating UML are:
A. The primary goals in the design of the UML were as follow:
A. The Unified Modelling Language(UML) is a language for specifying, visualizing, constructing and documenting the artifacts of software systems, as well as for buisness modelling and other non-software systems, the UML represents a collection of best engineering practices that have proven successfull in the modelling of large and complex systems. Q. What are the primary documents involved in UML Specification? A. The UML Specification consists of the following documents:
The UML Semantics document defines the rich semantics and expressive syntax of the Unified Modeling Language. The UML notation Guide represents the graphic syntax for expressing the semantics of the Unified Modeling Language. These UML extensions includes process- and domain-specific extensions to the UML, in terms of its extension mechanisms and process-specific diagram icons. Q. What is OCL? A. OCL is another language which is used to express the formal specification(grammar) of UML. Q. Why one more language OCL to express UML? A. So that the formal specification of UML is easy to understand. Q. Is UML a Process? A. No. The Unified Modeling Language focuses on a standard modeling language, not a standard process. Although the UML must be applied in the context of a process, it has been observed that different organizations and problem domains require different processes. However Rational Software Corporation has developed a UML-compliant process called the "Rational Objectory Process". You can get more details on the Rational Objectory Process at: http://www.rational.com/university/rubios.jtmpl Q. How can we use UML in our company? (My View) A. To put UML to practice at your compnay following conditions need to be satisfied:
Hey! You still haven't given any details on UML. All this dicussion is just to make you feel interested in this subject :). The real specification is vast to discuss in a question/answer format like this. Also it requires a simultaneous application of the same happening concurrently as the discussion goes on. You need to go through the documents mentioned below to get the details of using UML. UML Speicification Documents listed below: (Note: These documents could be obtained from Rational website.)
This document gives a summary of UML, including its history, motivations, goals, verisons, about the present and the future of the language. This document is primarily intended as a comprehensive and precise specification of the UML’s semantic constructs. This document describes the notation for the visual representation of the Unified Modeling Language(UML). This document should be used in conjunction with the companion UML Semantics document. This notation document contains brief summaries of the semantics of UML constructs, but the semantics document must be consulted for full details. This document defines the UML Extension for Objectory Process for Software Engineering, defined in terms of the UML’s extension mechanisms. NOTE: According to the definition of UML, It can also be used to model systems other than the Software systems. Some generic behaviours have been clubbed under common notations whereas special extensions are added to the the UML specification for specific systems. So there is an specific extension of UML for the "Software Systems". The Objectory Process for Software Engineering is the extension for the "Software Systems". This document defines the UML Extension for the "Business Modeling", defined in terms of the UML’s extension mechanisms. This document introduces and defines the Object Constraint Language (OCL), a formal language. This is the metamodel of the Unified Modeling Language (UML). It describes the constituents of all well- formed models that may be represented in the UML, using the UML itself. (This seems confusing right :)? Ok, Consider the problem of writing the compiler for the language C in the language C itself which is possible. On the similar lines the "UML Meta Model" document, models UML, based on the UML specification itself, ain't that funny. Understanding this document is the proof of you understanding the UML specification.) |