Object Oriented Design & Analysis using UML

Object Oriented Design & Analysis books
Internet Design & Web programming books

OOD/A Synopsis:
Today, a software designer or architect who seeks to represent the design of a software system can choose from a wide variety of notational languages, each aligned with a particular analysis and design methodology. Ironically, this wide variety of choice is one impediment to the significant benefits promised by software reuse. The emergence of the Unified Modeling Language (UML)-created by the joint efforts of leading object technologists Grady Booch, Ivar Jacobson, and James Rumbaugh with contributions from many others in the object community-represents one of the most significant developments in object technology.


Unified Modeling Language (UML) is the leading notation used by the three most popular object orientated design & analysis methodologies (OOD/OOA):
Booch, OOSE (use-cases) and OMT.

UML is the most widely used modeling language that can be used with any of these methods and according to Grady Booch :
Method = Notation + Process


Notations:
Boochgram notations emphasized the concepts of Modularity and Encapsulation. The key advance, from a software engineering perspective, was to place primary emphasis on designing software as interacting "modules" For implementation, classes provide the obvious mechanism for modules. The mechanisms of namespaces (in C++) and packages (in Java and Ada) provide additional support in larger systems.
Cloud or Blob notations emphasized the concepts of Abstraction and Generalization. The key advance was to move from specific single instances of modules to many instances (many "objects" from a given "class"). Classes themselves could be instances of metaclasses, or completed from partial specifications (generic units, or templates). For implementation, C++'s notion of classes as types, and templates as partial specifications for classes, both support these ideas. Another important step forward was the concept of Inheritance as a key type of relationship between modules. Together with polymorphism, the essential ingredients for object-oriented programming are used with this notation. For implementation, derived classes and virtual functions provide the key mechanisms.
The Unified Modeling Language (UML) notation is an iterative refinement, based on experience gained over a decade, improving and formalizing the most effective parts of these prior notations. The key advance is an increased emphasis on object interaction and statechart diagrams. These give an equal emphasis to the dynamic behavior in a design.
Process:
The major phases in the Unified Process are Inception, Elaboration, Construction, and Transition and each phase has a number of iterations. Each process phase produces different work products including a business model, use cases, class diagrams, sequence and collabration diagrams. The incremental/iterative process of OOA/D is an improved element for this method. In most software development organizations today, their software process definition (if they have one at all) is typically based on the so-called "waterfall" model. This model dictates that all requirements analysis be completed before doing any design, all design be completed before doing any implementation, that all implementation be completed before doing any testing, and that all testing be completed before release. The incremental/iterative process is a much lower-risk approach, by getting a core subset of the product designed, implemented, and tested early. Using this core subset, the product evolves towards its final form -- with an explicit goal of encouraging end-user feedback. Such a process can lead to a product that is much more effective at satisfying the end users real requirements. Of course, this approach has its hazards, without a strong configuration management discipline, a software project can find itself in chaos. It's especially deadly if the feedback from end users causes major upheaval in the design continuously, preventing the product from approaching a steady-state design that can be implemented and released.


OOD, OOA, UML, OML Books :
Search Amazons 2.5-Million-Title Catalog
Enter Keywords:



This page was created by mail me and we'll talk.
(Request TelNum joesch woodtennis@woodtennis.com)

Cyber bookstore