Object-Oriented Analysis & Design With UML: Hery Heryanto
Object-Oriented Analysis & Design With UML: Hery Heryanto
Overview
UML has become the de facto standard for
modeling object-oriented software. UML has been
adopted by companies throughout the world, and
today more than 50 commercial and academic
modeling tools support software and business
modeling using UML.
UML enables system developers to specify,
visualize, and document models in a manner that
supports scalability, security, and robust
execution. Because UML modeling raises the level
of abstraction throughout the analysis and design
process, it is easier to identify patterns of
behavior and thus define opportunities for
Objectives
1. Teaching the basic concepts and principles of Object
Orientation including Object Oriented Analysis and
Design.
2. Introducing the Syntax, Semantics and Pragmatics of
the Unified Modeling Language.
3. Showing how requirements can be described informally
and how they are modeled using Use Case Diagrams.
4. Teaching how the structural and behavioral aspects of
a system can be analyzed, specified and designed
using Class, Sequence and Activity Diagrams.
UML Modelling
Usecase Diagram
Modeling Actors
In UML, the term actor refers to a type of user. Users, in the classic
sense, are people who use the system. But users may also be
other systems, devices, or even businesses that trade information.
In Use Case diagrams, people, systems, devices, and even
enterprises are all referred to as actors. The icons to model them
may vary, but the concept remains the same
Include Relationship
To use the include relationship, the use cases must conform to
two constraints:
The calling use case may only depend on the result from the
called use case. It can have no knowledge of the internal structure
of the use case.
The calling use case must always require the execution of the
called use case. The use of the called use case is unconditional.
Extend Relationship
The extend relationship says that one use case might augment
the behavior of another use case. The extension use case provides
a discrete behavior that might need to insert itself into the base
use case. The arrow is drawn from the extension to the executing
use case. Drawing the arrow with the base at the extension use
case indicates that the extension, not the executing use case,
decides whether to impose itself on the executing use case. The
executing use case is unaware of the extension.
Description
SelectPerformance
12
Jane Analyst and Joe Client
April 1, 2003
The actor has the appropriate authority to use this feature.
None.
This use case starts on demand.
The user should be given a default set of information about
the shows scheduled within the next 20 days. The user
should also be provided with all the events currently
scheduled at the venue.
When the user selects an event, the system should provide
the set of shows scheduled for that event (the event display
should remain unchanged).
When the user selects a show, the system should prompt him
for a confirmation of his selection in order to avoid mistakes.
The user should also be able to request a list of shows for a
date range and get a new list of shows (the event display
should remain unchanged).
The user may cancel out of this use case without making a
selection.
The selected show must be saved so that it can be passed on
to the next step in the workflow. One selected show is the net
output from this use case.
Post conditions
Summary
Use case diagrams, together with use case narratives and
scenarios, define the goals of a system, or other classifier, such as
an enterprise, subsystem, or component. The purpose of the use
case approach is to focus the development effort on the essential
objectives of the system without getting lost in, or driven by,
particular implementations or practices.
The elements of a Use Case diagram include:
The Use Case diagram is complemented by the use case narrative
and use case scenarios.
Actors define entities outside the system that will use the system in
some way.
Associations indicate which actors will interact with features (use
cases) of the system.
include and extend relationships describe the nature of the
interactions between use cases.
Generalization defines inheritance relationships between use cases
or between actors.
Exercises
An Activity diagram for one use case explains how the actor
interacts with the system to accomplish the goal of the use
case, including rules, information exchanged, decisions
made, and work products created.
Activity Diagram
Notation
Activity Diagram
Notation
Activity Diagram
Notation
Activity Diagram
Notation
Activity Diagram
Notation
Activity Diagram
Notation
Activity Diagram
Notation
Activity Diagram
Notation
Summary
The UML 1.4 Activity diagram is the UML version of the
classic flowchart. It may be applied to any process, large or
small. Three common applications of Activity diagrams are
to explain workflow (a series of Use cases), to explain a
single use case, and to explain a method.
The UML 2.0 specification includes the concepts defined in
UML 1.4 but refines the metamodel to separate the
concepts from the state machine metamodel and to refine
and clarify the concepts for an Activity diagram. UML 2.0
has also added new concepts to address limitations that no
longer exist now that the Activity diagram metamodel is
distinct form the State Machine diagram metamodel. The
new concepts include pins, flow final nodes, combining
decision and merge nodes, buffers and data stores,
streaming parameters, and interruptible regions (explain in
Exercises
The Class diagram stands at the center of the objectmodeling process. It is the primary diagram for capturing all
the rules that govern the definition and use of objects. As
the repository for all the rules it is also the primary source
for forward engineering (turning a model into code), and
the target for reverse engineering (turning code into a
model).
The next picture shows all of the UML diagrams, with the
Class diagram at the center. It illustrates that even though
each of the other diagrams help modelers discover valuable
information about a subject, everything they uncover must
somehow make its way onto the Class diagram.
Summary
Exercises
Sequence Diagram
Tools
References
1. Pender, Tom, UML Bible, John Wiley and Sons,
Indianapolis, 2003
2. Ojo, Adegboyega and Estevez, Elva, ObjectOriented Analysis and Design with UML
Training Course, eMacao Team, Oktober 2005
3. Bigelow, Daniel, Modeling >> UML,
Ostermundigen, Switzerland, 2009 diakses pada
September 2011 di halaman web
http://www.bigelow.ch/Modeling/Modeling.aspx