Professional Documents
Culture Documents
Unified Modeling
Language (UML)
Presented By
Atin Jain
Confidential to Zensar Technologies
Software Development Life Cycle
Specifying
The UML addresses the specification of all important analysis, design and
implementation decisions.
Constructing
Forward engineering: generation of code from model into programming
language
Reverse engineering: reconstructing model from implementation
Round-trip engineering: going both ways
History of UML
Object Oriented Modeling languages appeared in between 1970s and the late 1980s
OMT : Rumbaugh(General Electric)
OOSE : Jacobson (objectory)
OOD : Booch (rational Software Corporation)
OOA : Coad and Yourdon etc..
During 1984 and 1994 the number of object-oriented methods increased to 50,
which lead to trouble in using a standard object oriented modeling language by
the users to according to requirements.
UML effort started officially in October 1994.
& UML consortium was established and invited other organization to contribute
to UML to built a strong and complete UML.
Presently UML 2.0 in usage.
Embley
Rumbaugh OMT Singleton classes and
high-level view
Wirfs-Brock
Jacobson OOSE
Responsibilities
Shlaer - Mellor Odell
Structural view
2. Class diagrams
3. Object Diagram
Behavioral View
4. Sequence diagrams
5. Activity diagrams
Use case diagrams describe what a system does from the standpoint of an
external observer. The emphasis is on what a system does rather than how. A
use case diagram is a collection of actors, use cases, and their
communications.
An actor is a coherent set of roles that human and/or non-human users of use
cases play when interacting with those use cases.
Display
Balance
Withdraw
Money
You can use the «include» stereotype to indicate that base use case
“includes” the contents or behavior of common use case. This enables
you to factor out frequent common behavior.
«include» Validate
Display Balance
User
You can use the «extend» stereotype to indicate that base use case may
include the behavior specified by the “extending” use case.
Class Notation
Class_Name
Attributes
Operation()
Dependency
Generalization
Association
Sometimes the relationship between a two classes is very weak. They are
not implemented with member variables at all. Rather they might be
implemented as member function arguments.
Printer
Transaction
printTransaction()
Account
User Account
Association Roles
employee
Person Company
employer
Specifies how many objects of the class are associated with a single
object of the other class in the association
1..*
Person Company
1
Company
Department
Window
Frame
1 : Necessary
0..1 : Optional
0..* or * : Unspecified
1..* : One or more
1..n : between 1 and n
n,m,l : n, m or l
c: Company
As shown, the object diagram (right) is very similar to the class diagram (left).
Close examination shows that the object diagram identifies the instance name
followed by the class name. A colon separates the instance name and class
name, and the complete text is underlined. The attributes of the class are filled
out with information associated to the object.
Again, object classes can be a very simple yet effective technique in identifying
the types of entities that a programmer will want to have instantiate in code at
runtime. Object diagrams are typically used to support the activities associated
with the design effort.
Confidential to Zensar Technologies
Sequence Diagram
A Sequence Diagram is a powerful visual aid for developers in
understanding the interaction of objects within a system. Use
cases can be applied in concert with class and object diagrams to
create the sequence diagrams.
Customer Bank
Enter Card
Enter Amount
Valid
Pin
Branch/Merge:
Transaction
Database
Server
Presentation
1.Client PC is a processor node which allow user’s to create personal play lists. The
component used (executed) for this node is the Playlist support component.
2.A Web Repository provides an interface device node for storing play lists. Unlike a
processor node, it not’s really capable of executing a component.
3.The JukeBox System, which would be located in stores and restaurants, is a processor
node used to retrieve, bill and play playlists. The components used for this node include
the playback mechanism, playlist support (note: we’re reusing the same one used by the
client PC!), and the payment support.