- Shopping Bag ( 0 items )
This chapter is a small road map about UML and this book. It presents a self-contained overview of UML and its history, the UML metamodel and compliance levels, and a brief description of the three levels of the UML certification program.
1.1 WHAT IS UML?
The Unified Modeling Language (UML) is a language and notation system used to specify, construct, visualize, and document models of software systems. UML covers a wide range of applications and is suitable for technical (concurrent, distributed, time-critical) systems and so-called commercial systems; for example, socially embedded information systems.
By design, UML is not a methodology. Although the initiators and authors of UML recognize the significance of methodologies, they consider them distinct from language and notation systems. A methodology considers the specific framework and conditions of an application domain, the organizational environment, and many other things. UML can be used within various methodologies and can form the basis for various approaches because it provides a defined set of modeling constructs together with uniform notation and semantics.
1.1.1 THE THREE AMIGOS
By the beginning of the nineties, a large number of books on object-oriented (OO) software modeling had been published, and a large number of graphical notations had been introduced. It took a few years until the wheat separated from the chaff and a modeling standard eventually emerged. The decisive progress came about in 1995 when Grady Booch and Jim Rumbaugh announced the combining of their concepts into a Unified Method. Soon their Unified Method became the Unified Modeling Language, a term that clearly indicates a language that comprises semantics and a uniform notation rather than a methodology or approach to object-oriented software development. Booch and Rumbaugh were soon joined by Ivar Jacobson, and the three have henceforth been called the "Three Amigos" in the world of software engineering and information technology (IT).
Because the books written by Booch, Rumbaugh, and Jacobson were very popular and enjoyed a large market share, by the time the UML was born, the majority of professionals were well acquainted with the work of the three pioneers. Thus, when UML appeared, it was eagerly received and soon became a quasi standard among software professionals, Eventually, UML Version 1.1 was submitted to the Object Management Group (OMG) for standardization and accepted in 1997. Since then, the UML has been further developed by the OMG. Later, the ISO (International Organization for Standardization) also accepted UML as a standard.
1.1.2 THE OBJECT MANAGEMENT GROUP
The Object Management Group, an international industry organization of which all important IT companies are members, further developed and standardized UML. OMG's member companies cooperate in maintaining and implementing the UML standard. The group's members include large international corporations such as IBM, Hewlett-Packard, Sun Microsystems, Telelogic, Boeing, Adobe, and DaimlerChrysler, as well as innovative medium-sized companies such as the German companies PROSTEP AG, b + m Informatik, and oose GmbH.
1.1.3 THE HISTORY OF UML
UML versions 1.2 through 1.5 contained several corrections and extensions (see Figure 1.1). Version 2.0 represents a fundamental review of UML, in which the specification and the metamodel, as well as the extent of coverage, have been extensively redesigned. In June 2003, corresponding submissions for UML 2.0 had been conclusively selected and accepted by the OMG. UML Version 2.0 was officially published in August 2005. Current information about UML, including the official specification, is available at http://www.omg.org/uml/.
UML is extremely diverse and integrates interesting ideas and concepts of many contributors. In addition to the ideas of Booch, Rumbaugh, and Jacobson, it includes, for example, state diagrams of Harel (Harel 1987). The more recent versions of UML bear only a light imprint of the Three Amigos now; instead, they carry the characteristics of many collaborators, including Bran Selic, Conrad Bock, and James Odell.
1.1.4 UML COMPLIANCE LEVELS
The official UML specification is a complex volume of more than one thousand pages of small type. However, UML is divided into the following compliance levels:
Level 0, Foundation: Fundamental structural and behavioral elements.
Level 1, Basic: Simple diagrams.
Level 2, Intermediate: Improved diagrams and constructs (e.g., parallelism in activity diagrams).
Level 3, Complete: All other and more advanced constructs (e.g., streaming in activity diagrams).
This division is intended to help tool developers to gradually, or selectively, implement UML 2.0.
1.1.5 UML SUBSPECIFICATIONS
UML Version 2.0 has been formally divided into the following subspecifications:
Infrastructure: Core of the architecture, profiles, and stereotypes.
Superstructure: Static and dynamic model elements.
Object Constraint Language (OCL): A formal language used to describe expressions on UML models.
Diagram Interchange: The UML interchange format for diagrams.
1.1.6 THE METAMODEL OF UML 2.0
The UML 2.0 language is largely defined in a so-called metamodel. The reason for the prefix meta is that the language resides one abstraction level above the model that a UML user models. Now, the metamodel might seem confusing and illogical at first because the metamodel is a UML class model that describes UML. In other words, UML is defined in UML.
Remember that UML is a language and is similar to human languages such as English and German. How is the English language defined? Right! In the English language. When you use a dictionary to look up the meaning of an English word, the definition is in English, of course. The same is true with any language, including the Unified Modeling Language. You can find each word of UML as a class in the metamodel. Figure 1.2 shows a simplified section of the metamodel. You can see three elements—class, property, and operation—and that a class can have an arbitrary number of properties (attributes) and an arbitrary number of operations.
Defining UML. When defining a formal language like UML, we would quickly hit the limits of the expressive means that class models provide. For this reason, the UML specification describes formal constraints (mostly in OCL), and text comments for each element let you specify the semantics in more detail.
Note that not all model elements of UML are contained in the UML metamodel; in fact, only a minimum subset (of the class modeling) is required. In turn, this set is described in its own model, the meta-metamodel.
This means that we have a metamodel and a meta-metamodel. Of course, we also have the models of UML users—your models—which include yet another model, the model of objects based on your model. So in total, we have four models; hence, the four-layer architecture of UML (Figure 1.3).
You can easily imagine that the metamodel of UML is very large. For structuring purposes, it is therefore divided into many packages. Each of these packages comes up in this book over and over again because all of them represent the granularity of the exam topics.
The UML certification exam is a pure language test, which means that knowl- edge of the metamodel of UML is tested. In addition to elements such as Class, which UML users are familiar with, the metamodel includes many abstract classes that are not used on the users' modeling level (if they were, they would have to be instantiated, which abstract classes won't, as we know). The abstract concepts are also an integral part of the UML certification. One of the major benefits of abstract classes is that they are normally simple.
1.2 THE UML CERTIFICATION PROGRAM
In 2004, OMG introduced qualification standards for individuals in the form of a three-level certification program based on UML 2.0 called the OMG-Certified UML Professional (OCUP) certification program. This certification program ensures that UML users, trainers, consultants, tool developers, and other interested parties can acquire a uniform UML understanding and a minimum qualification. For further information, visit http://www.omg.org/uml-certification/index.htm. The certification program consists of three levels—Fundamental, Intermediate, and Advanced. Each level has its own examination, testing progressively more complex concepts and more challenging usage of the UML 2.0 specification.
Each certification level builds on the preceding one: that is, you can obtain a higher certificate only if you have passed the next lower test level. This means that it is not possible to pass only the Advanced test to obtain the Advanced certificate.
The certification questions asked in the tests are based on the adopted UML 2.0 Specification UML2.0cert. Meanwhile, there is a final Specification for UML Version 2.0 as well as a successor, UML 2.1 [UML2.0 and UML2.1, respectively]. However, there are only minor changes with regard to the certification. Once you have passed the Fundamental test, you can tackle the Intermediate certification as your next major target. The three certification exams are structured and organized in the same way, but the topics are different, of course, and the questions increase in difficulty from one level to the next.
1.2.1 FUNDAMENTAL LEVEL
The first level examines fundamental UML knowledge, including basic notions on class diagrams, activity diagrams, interaction diagrams, and use case diagrams, as well as various elements such as standard stereotypes and primitive types. These basics include not only the elements visible to UML users, but also abstract UML concepts, such as Element—the base class for all UML classes in the metamodel. This level is suitable for regular UML users.
1.2.2 INTERMEDIATE LEVEL
The second level of the test for certification emphasizes a deeper knowledge of activity diagrams and interaction diagrams. Moreover, it adds composition structure diagrams, basic notions on component and deployment diagrams, state diagrams, the action model, and the profile extension mechanism. This level is suitable for UML users who do extensive work in it.
1.2.3 ADVANCED LEVEL
The third and highest level of test deals with advanced knowledge of class diagrams, such as association classes and metatypes, composition structure diagrams, component diagrams, activity diagrams, action modeling, deployment diagrams, and protocol automatons. In addition, this level covers the topics: the Object Constraint Language, the UML 2.0 architecture (including infrastructure and the Model-Driven Architecture [MDA]), information flow modeling, models, and templates. This level is suitable for advanced UML users (e.g., designers of executable models, MDA architects, profile designers, and UML tool developers).
1.2.4 PREREQUISITES AND REGISTRATION
Registration and cost. To take one of the three tests, you need to register with a Prometric Test Center and pay the test fee in advance. The fee is currently $200 (U.S.). Specific professional prerequisites (study, preparatory courses) are not required.
Identification. Each test candidate has to report at the test site and identify himself or herself 30 minutes before the test begins. Two kinds of identification are required, one of which must have a picture (e.g., driver's license, student identification) and a signature.
Fail-and-repeat waiting period. Candidates who fail the test have to wait at least 21 days before they can repeat the test. A maximum of three attempts within 12 months is allowed. Specific professional prerequisites (study, preparatory courses) are not required.
The three certification levels build on top of each other—that is, you will obtain a higher certificate provided that you have successfully passed the next lower test level. This means that it is not possible to only pass the Advanced test to obtain the Advanced certificate. Once you have passed the Fundamental test you can tackle the Intermediate certification as your next major target. While the two certification exams are identical in the way they are structured and organized, the topics are different, mostly being more difficult in the Intermediate certification.
1.2.5 EXAMINATION PROCEDURE
We will briefly review what you need to know about taking the test, but you should also review the FAQ page at OMG's UML Certification website (http://www. omg.org/uml-certification/frequently_asked_questions.htm), which has a great deal of useful information.
Multiple-choice test. To obtain the certificate, you have to take a computer-based test. This test consists of a number of multiple-choice questions and you will have to answer all questions within a given time.
Excerpted from UML 2 Certification Guide by Tim Weilkiens Bernd Oestereich Copyright © 2007 by dunpkt verlag. Excerpted by permission of MORGAN KAUFMANN. All rights reserved. No part of this excerpt may be reproduced or reprinted without permission in writing from the publisher.
Excerpts are provided by Dial-A-Book Inc. solely for the personal use of visitors to this web site.