0% found this document useful (0 votes)
50 views36 pages

200401-Object Oriented Analysis and Design

Uploaded by

studentscorners
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views36 pages

200401-Object Oriented Analysis and Design

Uploaded by

studentscorners
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 36

UML 2.

0 Changes
Jill Aden
jill.aden@eds.com
Lead Technologist – Minnesota Solution Centre
651.405.4527
OTUG Meeting: January 20th, 2004
EDS and the EDS logo are registered trademarks of Electronic Data Systems
Corporation. EDS is an equal opportunity employer and values the diversity of its
people. © 2003 Electronic Data Systems Corporation. All rights reserved. EDS Confidential – Do Not Distribute 12/08/21 15:37
Disclaimer:
• The UML 2.0 specification is huge
• This presentation is NOT intended to be a
comprehensive review of UML 2.0 … it’s
only a start
• I am focusing on the “end user”
perspective of the UML 2.0 changes –
NOT the meta-model changes
• I’ve only highlighted the changes and
haven’t been able to dive into each
change.

2
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 Changes

• UML 2.0 - A Major Upgrade: In mid-2001, OMG members


started work on a major upgrade to UML 2.0.
• Four separate RFPs to keep the effort organized for:
– UML Infrastructure
– UML Superstructure
– Object Constraint Language
– UML Diagram Interchange

3
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 Changes

• Highlights of the UML 2.0 RFP:


– UML 1.x notions of interface and architecture must be enhanced to
support and simplify support for standard component frameworks
and architectures
– Data flow modeling must be added
– Many of the semantics of relationships must be clarified
– In UML 1.x, sequence diagrams are too limited in their
expressiveness and semantics and must be enhanced
– Activity diagrams should be semantically separated from state
machines
– Clean up inconsistencies and errors in the UML 1.x specifications
– Superstructure requirements to improve the ability and utility of the
UML with the respect to architecture and scalability

4
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 Changes

• The changes for architecture are primarily in the structural


(class) model *
• Changes for scalability are best seen in the improved
sequence diagrams *
• The UML 2.0 specifications can be found at:
http://www.omg.org/uml/
• UML 1.X models will remain valid, OMG strived for
backward compatibility
• Officially announced June 12th, 2003
• The UML 2.0 specification is expected to be released
April 30, 2004
* Quoted from I-Logix white paper http://www.ilogix.com/whitepaper_PDFs
5
UML 2.0: Incremental Improvements for Scalability and Architecture
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 Changes

• A quote by Jim Odell, noted consultant and writer as well


as the co-chair of the Analysis and Design Task Force:

"Based on our 5+ years of experience in using UML, we


have learned a great deal about unifying modeling
languages. Using this knowledge, UML 2.0 literally
represents the next evolutionary step in our ability to
express and communicate system specifications ---- one
which provides a sound basis for MDA"

6
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 Changes
• The upgraded UML standard now has the following features:

– A first-class extension mechanism allows modelers to add their own


metaclasses, making it easier to define new UML Profiles and to extend
modeling to new application areas.
– Built-in support for component-based development to ease modeling of
applications realized in Enterprise JavaBeans, CORBA® components or
COM+.Support for run-time architectures allows modeling of object and
data flow among different parts of a system. Support for executable
models improved in general.
– More accurate and precise representation of relationships improves
modeling of inheritance, composition and aggregation, and state
machines.
– Better behavioral modeling improves support for encapsulation and
scalability, removes restrictions on mapping of activity graphs to state
machines, and improves Sequence diagram structure.
– Overall improvements to the language simplifies syntax and semantics,
and better organizes its overall structure.
7
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 XMI Changes

• In UML 1.x, XMI is a mechanism for exchanging UML


models
– This mechanism did not fully fulfill the goal of model
interchange
• The UML 2.0 solution extends the UML metamodel by a
supplementary package or graphic-oriented information
while leaving the current UML metamodel fully intact.
• See the UML 2.0 Diagram Interchange spec at
http://www.omg.org/technology/documents/modeling_spec_
catalog.htm
for additional information.

8
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML Terminology

• UML Description *:
A specification defining a graphical language for
visualizing, specifying, constructing, and documenting
the artifacts of distributed object systems. UML 1.5
incorporates Action Semantics, which adds to UML the
syntax and semantics of executable actions and
procedures, including their run-time semantics.
• UML Keywords *:
abstraction, action sequence, action state, activity graph,
architecture, association, class diagram, collaboration
diagram, component diagram, control flow, data flow,
deployment diagram, execution, implementation, pins,
procedure

* quoted from the OMG website

9
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML Terminology

• What can you Model with UML?


– UML defines twelve types of diagrams, divided into
three categories:
• Four diagram types represent static application
structure
• Five represent different aspects of dynamic
behavior
• Three represent ways you can organize and
manage your application modules 

* quoted from the OMG website


10
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML Terminology

• Structural Diagrams include:


– Class Diagram
– Object Diagram
– Component Diagram
– Deployment Diagram 
• The Class Diagram is the diagram that personally I
use on every project, as probably does everyone
else.
• The other diagrams are used on an as needed basis
depending on the size of the project and your role on
a project
11
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML Terminology

• Behavior Diagrams include:


– Use Case Diagram
– Sequence Diagram
– Activity Diagram
– Collaboration Diagram
– Statechart Diagram 
• Sequence Diagrams are generally my Behavior
Diagram of choice on projects.

12
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML Terminology

• Model Management Diagrams include:


– Packages
– Subsystems
– Models

13
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 Highlight of Changes
list is not comprehensive

• Introduced new concept of Ports


• Composite Structure Classes & Diagrams introduced
• Class Diagrams – the least changed
• Collaboration Diagram – renamed to
Communication Diagram
• Sequence Diagram – nesting options
• New diagram introduced – Timing Diagram

14
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 Highlight of Changes
list is not comprehensive

• Activity Diagrams have the greatest number of changes of


any of the UML diagrams
• Use Case Diagrams – added multiplicity and changes with
extension points.
• Package Diagram now an official UML diagram.

15
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 New Terms

• Port *
– A port connects a class’s internals to its environment.
– It functions as an intentional opening in the class’s
encapsulation through which messages are sent either
into or out of the class, depending on the port’s provided
or required interfaces.
– A port that has both provided and required interfaces is
bidirectional

* Quoted from Morgan Bjorkander & Chis Kobryn’s article “Architecting Systems with
UML 2.0 in IEEE Software, July/August 2003
http://www.uml-forum.com/out/pubs/IEEE_SW_Jul03_p57.pdf
16
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 New Terms
• More about Ports *
– Instantiable connection points.
– May optionally be used in conjunction with structured classes to allow
“part” instances (those inside structured classes) to export out specific
services or operations across the enclosing structured class boundary
– “Paradigm” or “design pattern” rather than technological enhancement
• Previously done with “interface objects”
– Explicit connection allows server to identify the client instance
– Ports support protocol state charts to specify the allowable sets of
interactions across the interface
– Aids in the encapsulation of a component from its environment
– Ports are based in the CORBA port concept
– Use is optional
* Quoted from I-Logix white paper http://www.ilogix.com/whitepaper_PDFs
UML 2.0: Incremental Improvements for Scalability and Architecture 17
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 Changes

• Interface concept has been expanded in two


important ways:
– UML 1.x interfaces only allow the specification of the
offered side, and that notation is kept.
– UML 2.0 allows you to (optionally) specify the required
(client) side as well – depicted with a “socket” type
notation.
• Interfaces can have “virtual” attributes
• Interfaces are not instantiable

* Quoted from I-Logix white paper http://www.ilogix.com/whitepaper_PDFs


18
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 New Terms

• Structured Classes – a class that is composed of parts with


an explicit “nested” notation. The purpose is to model
containment hierarchies.
• Example from white paper below: An ElevatorCar is
composed of a number of parts – in this case, buttons, a list
of destinations, and a door. Similarly, a Floor class has a
button to request elevators to go up or down and a position
indicator for every elevator that goes to the floor. These are
structured classes because they are broken down into more
primitive part objects. In all likelihood, the Door,
ElevatorGnome and Shaft classes are also structured classes
but their decomposition is shown elsewhere in the model.
* Quoted from I-Logix white paper http://www.ilogix.com/whitepaper_PDFs

19
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 Changes

• Class diagrams are the most familiar and popular diagrams in the UML.
– Not much has changed in this area for UML 2.0.
• Role Names are now called “Association End Names” *

* UML 2.0 for Dummies by Michael Jesse Chonoles, James A. Schardt

20
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 Changes
• Class diagrams * - there has been a long-standing question about whether to
model attributes as text strings within a compartment of the class or as
association in the class diagram.
– An advantage of using associations was that multiplicities could be explicitly
shown.
– But the visibility of attributes was often reserved for the compartmentalized
attribute strings.
– The new version of the UML creates an equivalence relationship between
attributes as compartmentalized strings and attributes as associations
* What’s New in UML 2.0? December 18, 2003 by Granville Miller
http://community.borland.com/article/images/31881/Together_White_paper__.pdf

What’s New in UML 2.0? December 18, 2003 by Granville Miller


http://community.borland.com/article/images/31881/Together_White_paper__.pdf

21
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 Changes

• Communication (f.k.a. Collaboration) Diagrams –


only one change of interest to the diagramming notation.
– Messages may now be sent concurrently by placing a
letter after the sequence number.
– See whitepaper for diagram example *
– This was called “mutually exclusive conditional paths” in
Craig Larman’s book “Applying UML and Patterns”

* What’s New in UML 2.0? December 18, 2003 by Granville Miller


http://community.borland.com/article/images/31881/Together_White_paper__.pdf 22
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 Changes

• Sequence Diagrams – the changes accomplish two primary


goals – improve their ability to specify things and to improve
their scalability.
– Can be broken up into “interaction fragments” which may
themselves be represented in the same or a separate
diagram.

* Quoted from I-Logix white paper http://www.ilogix.com/whitepaper_PDFs


23
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 Changes

• Sequence diagrams can be “nested” using operators:


sd – named sequence diagram
ref – reference to “interaction fragment”
loop – repeat interaction fragment
alt – selection
par – concurrent (parallel) regions
seq – partial ordering (default) (aka “weak”)
strict – strict ordering
assert – required (i.e. causal)
opt – optional “exemplar”
neg – “can’t happen” or a negative specification
• The message entry and exit points are called “gates” and allow
tools to ensure that the diagrams are compatible and consistent
with each other.
* Quoted from I-Logix white paper http://www.ilogix.com/whitepaper_PDFs
24
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 New Terms

• Timing Diagrams - need more details here!

25
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 New Terms

• Activity Diagrams - need more details here!


– With UML 2.0, the activity diagram has a mechanism
for describing how exceptions are handled – examples
in the whitepaper below *.
– Activity diagrams have been substantially augmented
in the UML 2.0 specification.
– In general, activity diagrams have been a staple of
business process modeling and not system modeling

* What's New in UML™ 2? Model Exceptions - by Randy Miller June 30, 2003
http://community.borland.com/article/0,1410,30169,00.html 26
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 New Terms

• Activity Diagrams *
– The intent of these diagrams has changed fairly
radically.
– Activity diagrams not only describe workflow, they also
now have some of the features necessary to support the
automation of these flows.

* What’s New in UML 2.0? December 18, 2003 By Granville Miller


http://community.borland.com/article/images/31881/Together_White_paper__.pdf 27
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 New Terms

• Use Case Diagrams *


– Use Case Multiplicities lie on the association between
actors and use cases.
– The definition of multiplicities in the use case diagram is
exactly the same as they are in a class diagram.
– Extension Points - conditions from UML 2.0 take extension
points one step further. They show the actual logic
necessary for one use case to extend another. They also
show the exact extension point that is used between the
two use cases.

* What’s New in UML 2? The Use Case Diagram–by Randy Miller June 30, 2003
http://community.borland.com/article/0,1410,30166,00.html
28
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 New Terms

• Statechart Diagrams
– Statechart inheritance – need more details here!

29
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 Changes

• Protocol State Machines – used to specify operation


invocation sequences.
• For example, when landing a plane to be able to specify
that the landing gear is lowered before touchdown.
• A protocol state machine is just like a normal state
machine except that it is limited – it cannot have entry or
exit actions, activities, internal transitions history states
and so on. It’s purpose is to provide a means to specify
allowable sets of operation service in interfaces.

* Quoted from I-Logix white paper http://www.ilogix.com/whitepaper_PDFs


30
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 New Terms

• Components – the notation for a component has


changed slightly, there is now a component icon in the
corner or a stereotype <<component>>.
• The relationship between components and subsystems
has been clarified – a subsystem is a kind of component.
Subsystems are usually “larger than” components and
may contain other components. You can use the
<<subsystem>> stereotype to specify a subsystem.

* Quoted from I-Logix white paper http://www.ilogix.com/whitepaper_PDFs


31
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 New Terms

• Interaction Graphs - need more details here!

32
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 Books

• UML 2.0 for Dummies by Michael Jesse Chonoles,


James A. Schardt

Available at www.amazon.com for $20.99 or


$18.95 at www.bookpool.com

• UML 2.0 Toolkit by by Hans-Erik Eriksson (Author),


et al

Available at www.amazon.com for $35.00 or


$30.50 at www.bookpool.com

33
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML 2.0 Articles / Websites

• Artisan Software:
http://www.artisansw.com/pdflibrary/UMl_2.0_info.pdf
• Executable UML: Diagrams for the Future
http://www.devx.com/uml/
• I-Logix Software
http://www.ilogix.com/whitepaper_PDFs/UML2.0IncrmentalImpr
ovementsforScalabilityandArchitecture.pdf
• Scott Ambler – Agile Modeling
“The Diagrams of UML 2.0”
http://www.agilemodeling.com/essays/umlDiagrams.htm
• Borland’s Developer Community
http://community.borland.com

34
© 2003 Electronic Data Systems Corporation. All rights reserved.
UML Advanced Terminology

• Advanced UML Features: Two features add to the expressiveness of UML.


Object Constraint Language (OCL) has been part of UML since its
beginning, while the Action Semantics extension is a recent addition: 
– Object Constraint Language lets you express conditions on an
invocation in a formally defined way. You can specify invariants,
preconditions, postconditions, whether an object reference is allowed to
be null, and some other restrictions using OCL. As you might expect, the
MDA relies on OCL to add a necessary level of detail to PIMs and
PSMs. 
– Action Semantics UML Extensions let you express actions as UML
objects. An Action object may take a set of inputs and transform it into a
set of outputs (although one or both sets may be empty), or may change
the state of the system, or both. Actions may be chained, with one
Action's outputs being another Action's inputs. Actions are assumed to
occur independently - that is, there is infinite concurrency in the system,
unless you chain them or specify this in another way. This concurrency
model is a natural fit to the distributed execution environment of modern
enterprise and Internet applications.

35
© 2003 Electronic Data Systems Corporation. All rights reserved.
eds.com

EDS and the EDS logo are registered trademarks of Electronic Data Systems
Corporation. EDS is an equal opportunity employer and values the diversity of its
people. © 2003 Electronic Data Systems Corporation. All rights reserved. EDS Confidential – Do Not Distribute 12/08/21 15:37

You might also like