Visual Modeling Techniques - Jurusan Teknik Elektro dan

Download Report

Transcript Visual Modeling Techniques - Jurusan Teknik Elektro dan

Introduction
to
UML
Itntroduction to UML, page 1
UML Is Based on Objectoriented Concepts
• A program will typically consist of objects that
cooperate to solve a task.
• An object will typically have attributes (data) and
methods (behavior), this defines the state of the object
and the manner in which the object operate.
• Objects communicate by sending messages to each
other. Sending a message to an object is the same as
calling a method of the object.
Itntroduction to UML, page 2
Class and Object as Defined by
Booch, Rumbaugh and Jacobson
• Class: A description of a set of objects that
share the same attributes, operations,
relationships, and semantics.
• Object: A concrete manifestation of an
abstraction; an entity with a well defined
boundary and identity that encapsulates
state and behavior; an instance of a class.
Itntroduction to UML, page 3
UML
• The UML is a language for
–
–
–
–
visualizing
specifying
constructing
documenting
the artifacts of a software-intensive system
• UML can also be applied outside the domain
of software development.
Itntroduction to UML, page 4
U~
M~
L~
Unified:
• Unification of earlier object-oriented analysis
and design methods.
• Same concepts and notation for different
application domains and different
development processes.
• Same concepts and notation through the
whole development lifecycle.
Modeling:
• Making a semantically* complete abstraction
of a system.
(* The formal specification of the meaning and behavior of something)
Language:
• A graphical language
Itntroduction to UML, page 5
UML Origins
Editorial revision
With no significant
Technical changes
September 1997
(final submission to
OMG)
January 1997
(initial submission to
OMG)
1996
1995
«document»
Unified Method
1.3
«refine»
«document»
Unified Method
1.2
«refine»
«document»
Unified Method
1.1
«refine»
«document»
Unified Method
1.0
«refine»
«document»
Unified Method
0.9
«refine»
«document»
Unified Method
0.8
Itntroduction to UML, page 6
Some of the UML Goals
• Define an easy-to-learn but semantically rich visual modeling
language.
• Unify ideas from other modeling languages and incorporate
industry best practices.
• Support higher-level development concepts such as collaborations
(design patterns), frameworks and components.
• Provide flexibility for applying different processes and mapping
to different programming languages.
• Support extensibility and specialization mechanisms so that the
core concepts can be extended.
• Provide a formal basis so that model interchange between
different OO tools will be possible.
Itntroduction to UML, page 7
The Value of UML
• Open standard.
• Supported by many tools.
• Supports the entire development lifecycle.
• Support diverse application areas.
• Based on experience and needs of the user
community.
Itntroduction to UML, page 8
UML Is Not a Visual
Programming Language
• UML is a visual modeling language. It does
not have all necessary visual and semantic
support to replace programming languages.
• But UML has a tight mapping to a family of
OO languages like C++ and Java.
Itntroduction to UML, page 9
Software Engineering
Methods
• Most methods consist of both a modeling
language and a process (who is doing what and when).
• The modeling language, the notation, typically
include some visual language (different types of
diagrams).
• A tool to support the method is also crucial.
Itntroduction to UML, page 10
Three of the most popular methods
(What is the difference between a methodologist and a terrorist? Answer: You can negotiate with a terrorist.)
• Object Modeling Technique, OMT, introduced by Jim
Rumbaugh. OMT is considered to be strong on analysis and
weaker in the design area.
•
Booch, introduced by Grady Booch (Rational Software). This
method is considered to be strong in design and weak when it
comes to analysis.
•
OOSE, (use cases ) introduced by Ivar Jacobson. OOSE is
considered to be strong when it comes to behavior analysis and
weaker in the other areas.
Itntroduction to UML, page 11
UML Is Not a Development
Process
A development process defines:
- Who is doing What,
- When to do it, and
- How to reach a certain goal
• The UML is intentionally process independent, and defining a
standard process was not a goal of UML. Different domain may
require different processes.
• But the UML authors promote a development process that is usecase-driven, architecture centric, iterative and incremental.
(Example of method: RUP)
Itntroduction to UML, page 12
Abstraction
•
Abstraction is a fundamental human capability, it
let us filter out nonessential details about a
complex problem or structure.
• Through abstraction a system can be viewed at
different levels.Often there is a hierarchic structure,
each level of model is more precise than its parent.
When developing a software system, code will be the
lowest and most detailed level.
Itntroduction to UML, page 13
Modeling
• When you make a model you are making a mapping from the
problem domain to a representation of the system you are
modeling.
Reality
System
• When you work object-oriented the model tends to be close to the
system modeled, and a program execution can be regarded as a
simulation of the behavior of the system.
Itntroduction to UML, page 14
Why Do We Model?
• Models give us a template that guides us in
constructing a system.
• If you want to make a building you first make a
blueprint of the building to make, in the same way
you should make a model of the system you want to
make. As the complexity of systems increases, so does
the importance of good modeling techniques.
• Models help us visualize a system at different levels
of abstraction, this makes it easier to manage
complexity and to understand the system.
Itntroduction to UML, page 15
More Arguments Why Do We Model?
• It is not expensive to experiment with multiple
solutions when you operate on a high level of
abstraction.
• Models document the decisions we have made.
• Models help for communication between
different stakeholders.
Itntroduction to UML, page 16
References
•
Grady Booch, James Rumbaugh and Ivar Jacobson:
The Unified Modeling Language User Guide.
Addison-Wesley, 1999
•
James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy
and William Lorenzen:
Object-Oriented Modeling and Design.
Prentice Hall, 1991
•
Martin Fowler with Kendall Scott:
UML Distilled.
Addison-Wesley, 1997
•
Terry Quatrani:
Visual Modeling with Rational Rose and UML.
Addison-Wesley, 1998
•
Rational software:
http://www.rational.com/uml/documentation.html
Itntroduction to UML, page 17