Introduction to UML;Pros and Cons of UML


Use of the Unified Modeling Language (UML) has quickly spread throughout the software development industry as a concrete foundation for designing and developing software applications. It has become the defacto standard in the world of object-oriented systems and is becoming essential for component-based development (CBD). For IT professionals looking for key career differentiators, UML experience will be a critical element if it isn’t already.

One benefit of UML is that it greatly improves the communication of system design to all stakeholders of a software system. It achieves this by providing an economy of semantics and notation, as well as a language for constraining designs, called the object constraint language (OCL). Designs are expressed independently of any programming language or development process, allowing analysts, managers, modelers, and developers of varying technical expertise to readily share designs via UML models.

UML provides a standard way of visually modeling object-oriented systems through diagramming views, such as use case, class, interaction, statechart, activity, and implementation diagrams. Each diagram provides a way to express important aspects of the system design. Use case diagrams model the functionality of a system. Class diagrams model the static structure of a system. Interaction diagrams model the collaborations among classes in achieving scenarios, or threads of action, within a use case. Statechart diagrams model the precise behavior of classes, methods, or components. Activity diagrams support business process modeling. Implementation diagrams model the dependencies among software components and the run-time infrastructure that executes them.

UML is also extensible and customizable through the use of stereotypes and tags. Stereotypes and tags can be grouped into profiles that are applied to specific modeling domains. Profiles add the flexibility to UML that allows modelers to customize UML to specific modeling environments. Several profiles are currently being standardized for UML. These include profiles for enterprise distributed object computing (EDOC), CORBA, EJB, EAI, and Real-Time.
UML profiles provide a higher level of abstraction for designing systems. For example, EDOC is an abstraction above CORBA, EJB, or COM+ profiles, which pertain to specific component technologies. Profiles can be stacked on top of one another and related through a mapping. For example, a business model may map to an EDOC model, which can then map to either a CORBA, EJB, or COM+ model. This will allow designers to separate design solutions from implementation technologies, thus preserving these solutions as technologies continue to change.


Pros and Cons of UML

Pros:
  • Wide Industry Acceptance in comparison to previous Modeling Language.
  • Supports OOAD methodology
  • Bridges the communication gap between different entities of system development(i.e . System Analyst, Developer, Client etc)
  • Constructed models are easy to understand, even for non-programmers
  • Unified and Standardize Modeling language.

Cons:
  • UML is often criticized as being gratuitously large and complex
  • Too Complex to learn and Getting started with
  • Tries to be all things to all people.

0 Ask a Question or Comment:

The latest info about icet, icetcounselling details and very good stuff on UML,Behavioral Modeling Diagrams and SOFTWARE TESTING,various testing methods.

Blogger Templates by OurBlogTemplates.com 2008