Search This Blog

Friday, September 11, 2009

Learn UML Quick

The Unified Modeling Language (UML) is a standard  language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems. The UML represents a collection of best engineering practices that have proven successful in the modeling of large and complex systems. The UML is a very important part of developing object oriented software and the software development process.  The UML uses mostly graphical notations to express the design of software projects.  Using the UML helps project teams communicate, explore potential designs, and validate the architectural design of the software.

Goals of UML

The primary goals in the design of the UML were:
  1. Provide users with a ready-to-use, expressive visual modeling language so they can develop and exchange meaningful models.
  2. Provide extensibility and specialization mechanisms to extend the core concepts.
  3. Be independent of particular programming languages and development processes.
  4. Provide a formal basis for understanding the modeling language.
  5. Encourage the growth of the OO tools market.
  6. Support higher-level development concepts such as collaborations, frameworks, patterns and components.
  7. Integrate best practices.

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 include:
Use Case Diagram displays the relationship among actors and use cases. Class Diagram models class structure and contents using design elements such as classes, packages and objects. It also displays relationships such as containment, inheritance, associations and others. 
Interaction Diagrams
  • Sequence Diagram displays the time sequence of the objects participating in the interaction.  This consists of the vertical dimension (time) and horizontal dimension (different objects).1
  • Collaboration Diagram displays an interaction organized around the objects and their links to one another.  Numbers are used to show the sequence of messages.
State Diagram displays the sequences of states that an object of an interaction goes through during its life in response to received stimuli, together with its responses and actions.Activity Diagram displays a special state diagram where most of the states are action states and most of the transitions are triggered by completion of the actions in the source states. This diagram focuses on flows driven by internal processing.1
Physical Diagrams 
  • Component Diagram displays the high level packaged structure of the code itself.  Dependencies among components are shown, including source code components, binary code components, and executable components.  Some components exist at compile time, at link time, at run times well as at more than one time.1
  • Deployment Diagram displays the configuration of run-time processing elements and the software components, processes, and objects that live on them.  Software component instances represent run-time manifestations of code units.1

No comments:

Post a Comment

Thanks for your comment, will revert as soon as we read it.

Popular Posts