Saturday 25 March 2006

UML 2.0

Introduction to OMG UML: "UML 2.0 - A Major Upgrade: The 'Available' version of the UML 2.0 Superstructure specification (that is, the version that has finished its first maintenance release and been built into vendor products) has been completed, and is available to everyone for free download." Three separate parts of UML 2.0 - the Infrastructure (that is, the meta-metamodel), Object Constraint Language, and Diagram Interchange - are still undergoing their first maintenance and will become Available Specifications when this completes. There's a description of the current state of all four specifications, and links to all of them, here.

What's new in UML 2.0: We've already integrated the new features into this writeup, but here's a summary:

  • Nested Classifiers: This is an extremely powerful concept. In UML, almost every model building block you work with (classes, objects, components, behaviors such as activities and state machines, and more) is a classifier. In UML 2.0, you can nest a set of classes inside the component that manages them, or embed a behavior (such as a state machine) inside the class or component that implements it. This capability also lets you build up complex behaviors from simpler ones, the capability that defines the Interaction Overview Diagram. You can layer different levels of abstraction in multiple ways: For example, you can build a model of your Enterprise, and zoom in to embedded site views, and then to departmental views within the site, and then to applications within a department. Alternatively, you can nest computational models within a business process model. OMG's Business Enterprise Integration Domain Task Force (BEI DTF) is currently working on several interesting new standards in business process and business rules.
  • Improved Behavioral Modeling: In UML 1.X, the different behavioral models were independent, but in UML 2.0, they all derive from a fundamental definition of a behavior (except for the Use Case, which is subtly different but still participates in the new organization).
  • Improved relationship between Structural and Behavioral Models: As we pointed out under Nested Classifiers, UML 2.0 lets you designate that a behavior represented by (for example) a State Machine or Sequence Diagram is the behavior of a class or a component.
  • ================================
  • Webcast: Moving to Eclipse the MDA Way: Tips and Tricks for Successful Software Development
    by Bastiaan Schönhage, OptimalJ Development Team Lead, Compuware
    bullet OMG has teamed with Unisys Corporation as its Testing Partner to deliver the UML/XMI Interoperability Testing Program

    ORCA introduces Regulatory Compliance Vendor Directory – submit your solution today!
  • http://www.amazon.com/gp/product/1861000871/ref=ase_monstercom/102-0997366-5032961?n=283155&tagActionCode=monstercom

  • This misconception on my part may be the result of the content matter: UML is a formal syntax for modeling real-world systems in such a manner that facilitates writing object-oriented software. For me, this topic begot a "chicken or the egg" paradox. Knowing UML should help me to understand the benefits and mechanics of Object Oriented Programming (OOP), but without having a moderate OOP background I couldn't appreciate UML. I actually tried reading this book about a year ago, but gave up after reading the first three chapters. As an aside, there are only five chapters in this book, so that was a reasonable attempt!

    Since that time, I have improved my understanding of how to write OO software, and I have returned to this book. I enjoyed reading this book on my second attempt. Therefore my first admonition to the potential reader is that she have at the very least an introductory knowledge of OOP prior to reading this book. Having journeyman knowledge would serve her even better.

    The first chapter covers the genesis of UML. It is very short, and for the most part can be skipped. Suffice to say that several OOP gurus were developing their own syntaxes independently, and then did something truly remarkable: they set aside their egos, and decided to unify their efforts. Thus was UML born.

    The second chapter is a nice summary of OO features. The first time I read this book, I could grasp the meaning of concepts like inheritance, generalization, containment, and polymorphism, but they were just that: concepts. After having first-hand experience working with those concepts in a program, this chapter had much more significance for me. If you just read those last two sentences, and they described your comfort level with OOP, then you would likely appreciate this book.

    The third chapter presents the formal UML notation. It is very straightforward, and thankfully there are many examples. An interesting point to note is that UML is intentionally language non-specific. If you come from a C++, Smalltalk, Java, or even a VB background, you can make use of UML. The notation is meant to be independent from the constructs of the programming language used to implement its diagrams. "Instant UML" maintains its adherence to this principle by remaining wonderfully language-neutral.

  • ==> for experts only:] i liked this book a lot as it gives solid examples ..i have read few books on uml before i like this one the best and it is pretty much "instant" if you want to grab the past experience of software industry in two days :)

0 Comments:

Post a Comment

<< Home