UML Needs Training

The Unified Modeling Language (UML) supports the entire process of modeling software. Modeling is the designing of software applications before coding. Its aim is to support the process from the requirements issued by users and other stakeholders until the actual coding of the application.

UML is a standardized way of notating different aspects of the process (hence the L for Language). UML helps you specify, visualize, and document models of software systems, including their structure and design, in a way that meets all of these requirements.

Because it is a language, UML is methodology-independent. A methodology defines the process that you use to gather requirements, analyze them, and design an application that meets them in every way. UML supports them all.

What does the language look like?

UML defines twelve types of diagrams, divided into three categories: four diagram types represent static application structure; five represent different aspects of dynamic behavior; and three represent ways you can organize and manage your application modules.

Structural Diagrams

Class diagram: a class definition as used within Object Oriented Design / Programming.

Object diagram: describes the relations between objects (instances of classes), it can be used if class diagrams are found to be too abstract (e.g. classes "student" and "course" will appear in the object diagram as "Sarah enrolls Project Management Course").

Component diagram: describes the software architecture, mapping of software components

Deployment diagram: shows the hardware for your system, the software that is installed on that hardware, and the middle ware used to connect the disparate machines to one another.


Behavior Diagrams

Use case diagram: a way to structure user interaction with the system (great for notating user requiremenst)

Sequence diagram: describes the flow of logic within your system in a visual manner

Activity diagram: used for business process modeling, for modeling the logic captured by a single use case or usage scenario. In each box an activity is represented and arrows from one to the next indicating next steps or alternatives.

Communication diagram: shows the message flow between objects in an OO application and also imply the basic associations (relationships) between classes.

Statechart diagram: document the various states that an object may be in and the transitions between those states.

Model Management Diagrams

Include Packages, Subsystems, and Models. These are UML constructs that help you organize all other diagrams.

blog comments powered by Disqus