UML is a standard language for
specifying, visualizing, constructing, and documenting the artifacts of
software systems.
UML was created by Object
Management Group (OMG) and UML 1.0 specification draft was proposed to the OMG
in January 1997.
UML
diagrams are not only made for developers but also for business users, common
people and anybody interested to understand the system. The system can be a
software or non software. So it must be clear that UML is not a development
method rather it accompanies with processes to make a successful system.
At
the conclusion, the goal of UML can be defined as a simple modeling mechanism to
model all possible practical systems in today’s complex environment.
UML have several types of
diagrams that can be used to describe different points of views. Let’s talk
about some of these.
Class Diagrams
The purpose of a class diagram
is to depict the classes within a model. In an object oriented application, classes
have attributes (member variables), operations (member functions) and
relationships with other classes. The UML class diagram can depict all these
things quite easily. The fundamental element of the class diagram is an icon
the represents a class. According to Martin (2010), class icon is simply a
rectangle divided into three compartments. The topmost compartment contains the
name of the class. The middle compartment contains a list of attributes (member
variables),
and the bottom compartment contains a list of
operations (member functions). In many diagrams, the bottom two compartments
are omitted. Even when they are present, they typically do not show every
attribute and operations. The goal is to show only those attributes and
operations that are useful for the particular diagram.
Example of Class Diagram
UML Use Case Diagrams
Use cases are powerful tools
for analysts to use when partitioning the functionality of a system. Use case relationships
and the corresponding diagrams help analysts to structure use cases such that
their textual descriptions contain a minimum of redundant information; thus
making the whole text document much easier to maintain. But use cases are not
design tools. They do not specify the structure of the eventual software, nor
do they imply the existence of any classes or objects. They are purely
functional descriptions written in a formalism that is completely separate from
software design.
Use cases separate the system
into actors and use cases. Actors represent roles that can are
played by users of the system. Those users can be humans, other computers, pieces
of hardware, or even other software systems. The only criterion is that they
must be external to the part of the system being partitioned into use cases.
They must supply stimuli to that part of the system, and the must receive
outputs from it.
Use cases (“Engineering
Notebook”, 1998) describe the behavior of the system when one of these actors
sends one particular stimulus. This behavior is described textually. It
describes the nature of the stimulus that triggers the use case; the inputs
from and outputs to other actors, and the behaviors that convert the inputs to
the outputs. The text of the use case also usually describes everything that
can go wrong during the course of the specified behavior, and what remedial
action the system will take.
Example: Clerk checks out an item.
Activity Diagram
Activity
diagrams are normally used for business process modeling, for modeling the
logic captured by a single use case or usage scenario, or for modeling the detailed logic of a business
rule. Although UML
activity diagrams could potentially model the internal logic of a complex
operation it would be far better to simply rewrite the operation so that it is
simple enough that you don’t require an activity diagram. In many ways UML
activity diagrams are the object-oriented equivalent of flow
charts and data
flow diagrams (DFDs) from structured development.
Booking a Concert Ticket
Reference
http://www.objectmentor.com/resources/articles/umlClassDiagrams.pdf class diagram
http://www.objectmentor.com/resources/articles/usecases.pdf use case
http://d0server1.fnal.gov/www/online_computing/meetings/Weekly/M_990507/StateTutorial.pdf state
http://www.ibm.com/developerworks/rational/library/content/RationalEdge/sep03/f_umlbasics_db.pdf
-LAAAquino
-ADFeraer