SlideShare a Scribd company logo
UML Lecture
Outline
 What is UML and why we use UML?
 How to use UML diagrams to design
software system?
 What UML Modeling tools we use today?
What is UML and Why we use UML?
 UML → “Unified Modeling Language”
 Language: express idea, not a methodology
 Modeling: Describing a software system at a high
level of abstraction
 Unified: UML has become a world standard
Object Management Group (OMG): www.omg.org
What is UML and Why we use UML?
 More description about UML:
 It is a industry-standard graphical language for specifying, visualizing,
constructing, and documenting the artifacts of software systems
 The UML uses mostly graphical notations to express the OO analysis
and design of software projects.
 Simplifies the complex process of software design
What is UML and Why we use UML?
 Why we use UML?
 Use graphical notation: more clearly than natural language
(imprecise) and code (too detailed).
 Help acquire an overall view of a system.
 UML is not dependent on any one language or technology.
 UML moves us from fragmentation to standardization.
What is UML and Why we use UML?
1997: UML 1.0, 1.1
1996: UML 0.9 & 0.91
1995: Unified Method 0.8
Other methods
Booch ‘91
Booch ‘93 OMT - 2
OMT - 1
Year Version
2003: UML 2.0
2001: UML 1.4
1999: UML 1.3
How to use UML diagrams to
design software system?
 Types of UML Diagrams:
 Use Case Diagram
 Class Diagram
 Sequence Diagram
 Collaboration Diagram
 State Diagram
This is only a subset of diagrams … but are most widely used
Use-Case Diagrams
 A use-case diagram is a set of use cases
 A use case is a model of the interaction between
 External users of a software product (actors) and
 The software product itself
 More precisely, an actor is a user playing a specific role
 describing a set of user scenarios
 capturing user requirements
 contract between end user and software developers
Use-Case Diagrams
Library System
Borrow
Order Title
Fine Remittance
Client
Employee
Supervisor
Boundary
Actor
Use Case
Use-Case Diagrams
 Actors: A role that a user plays with respect to the system, including human
users and other systems. e.g., inanimate physical objects (e.g. robot); an
external system that needs some information from the current system.
 Use case: A set of scenarios that describing an interaction between a user
and a system, including alternatives.
 System boundary: rectangle diagram representing the boundary between
the actors and the system.
Use-Case Diagrams
 Association:
communication between an actor and a use case; Represented by a solid line.
 Generalization: relationship between one general use case and a special use
case (used for defining special alternatives) Represented by a line with a
triangular arrow head toward the parent use case.
Use-Case Diagrams
Include: a dotted line labeled <<include>> beginning at base
use case and ending with an arrows pointing to the include use
case. The include relationship occurs when a chunk of
behavior is similar across more than one use case. Use
“include” instead of copying the description of that behavior.
The include relationship represents a situation where a use
case contains the behavior of another use case. This is useful
for reusing common behavior among multiple use cases.
<<include>>
Example: A "Process Order" use case might include a "Validate
Payment" use case because payment validation is a common step in
processing an order.
 Extend: a dotted line labeled <<extend>> with an arrow toward the
base case. The extending use case may add behavior to the base use
case. The base class declares “extension points”.
 The extend relationship represents a situation where a use case optionally
extends the behavior of another use case. This is useful for specifying optional
behavior or behavior that is only executed under certain conditions.
 <<extend>>
 Example: A "Purchase Product" use case might be extended by an "Apply
Discount" use case, which only occurs if certain conditions (e.g., a valid discount
code) are met.
Use-Case Diagrams
Figure 16.12
The McGraw-Hill Companies, 2005
Use-Case Diagrams
 Both Make Appointment
and Request Medication
include Check Patient
Record as a subtask
(include)
 The extension point is
written inside the base
case Pay bill; the
extending class Defer
payment adds the
behavior of this extension
point. (extend)
 Pay Bill is a parent use
case and Bill Insurance
is the child use case.
(generalization)
(TogetherSoft, Inc)
Class diagram
 A class diagram depicts classes and their interrelationships
 Used for describing structure and behavior in the use cases
 Provide a conceptual model of the system in terms of
entities and their relationships
 Used for requirement capture, end-user interaction
 Detailed class diagrams are used for developers
Class diagram
 Each class is represented by a rectangle subdivided into three
compartments
 Name
 Attributes
 Operations
 Modifiers are used to indicate visibility of attributes and
operations.
 ‘+’ is used to denote Public visibility (everyone)
 ‘#’ is used to denote Protected visibility (friends and derived)
 ‘-’ is used to denote Private visibility (no one)
 By default, attributes are hidden and operations are visible.
Class diagram
Account_Name
- Customer_Name
- Balance
+addFunds( )
+withDraw( )
+transfer( )
Name
Attributes
Operations
OO Relationships
 There are two kinds of Relationships
 Generalization (parent-child relationship)
 Association (student enrolls in course)
 Associations can be further classified as
 Aggregation
 Composition
Subtype2
Supertype
Subtype1
OO Relationships: Generalization
-Inheritance is a required feature of object orientation
-Generalization expresses a parent/child relationship among related classes.
-Used for abstracting details in several layers
Regular
Customer
Loyalty
Customer
Customer
Example:
 Represent relationship between instances of classes
 Student enrolls in a course
 Courses have students
 Courses have exams
 Etc.
 Association has two ends
 Role names (e.g. enrolls)
 Multiplicity (e.g. One course can have many students)
 Navigability (unidirectional, bidirectional)
OO Relationships: Association
Association: Multiplicity and Roles
University Person
1
0..1
*
*
Multiplicity
Symbol Meaning
1 One and only one
0..1 Zero or one
M..N From M to N (natural language)
* From zero to any positive integer
0..* From zero to any positive integer
1..* From one to any positive integer
teacher
employer
Role
Role
“A given university groups many people;
some act as students, others as teachers.
A given student belongs to a single
university; a given teacher may or may not
be working for the university at a particular
time.”
student
Class diagram
[from UML Distilled Third Edition]
Association: Model to Implementation
Class Student {
Course enrolls[4];
}
Class Course {
Student have[];
}
Student Course
enrolls
has
* 4
OO Relationships: Composition
Class W
Class P1 Class P2
Association
Models the part–whole relationship
Composition
Also models the part–whole relationship but, in
addition, Every part may belong to only one
whole, and If the whole is deleted, so are the
parts
Example:
A number of different chess boards: Each square
belongs to only one board. If a chess board is
thrown away, all 64 squares on that board go as well.
Whole Class
Part Classes
Example
Figure 16.7
The McGraw-Hill Companies, 2005
[From Dr.David A. Workman]
OO Relationships: Aggregation
Class C
Class E1 Class E2
AGGREGATION
Container Class
Containee Classes
Bag
Apples Milk
Example
Aggregation:
expresses a relationship among instances of related
classes. It is a specific kind of Container-
Containee relationship.
express a more informal relationship than
composition expresses.
Aggregation is appropriate when Container and
Containees have no special access privileges to
each other.
[From Dr.David A. Workman]
Aggregation vs. Composition
Composition is really a strong form of association
components have only one owner
components cannot exist independent of their owner
components live or die with their owner
e.g. Each car has an engine that can not be shared with other cars.
Aggregations
may form "part of" the association, but may not be essential to it. They
may also exist independent of the aggregate. e.g. Apples may exist
independent of the bag.
Good Practice: CRC Card
Class Responsibility Collaborator
 easy to describe how classes work by moving cards around; allows to
quickly consider alternatives.
Interaction Diagrams
 show how objects interact with one another
 UML supports two types of interaction
diagrams
 Sequence diagrams
 Collaboration diagrams
Sequence Diagram(make a phone call)
Caller Phone Recipient
Picks up
Dial tone
Dial
Ring notification Ring
Picks up
Hello
Sequence Diagram:Object interaction
Self-Call: A message that an
Object sends to itself.
Condition: indicates when a
message is sent. The message is
sent only if the condition is true.
Iteration
Condition
A B
Synchronous
Asynchronous
Transmission
delayed
Self-Call
[condition] remove()
*[for each] remove()
Sequence Diagrams – Object Life Spans
 Creation
 Create message
 Object life starts at that point
 Activation
 Symbolized by rectangular stripes
 Place on the lifeline where object
is activated.
 Rectangle also denotes when
object is deactivated.
 Deletion
 Placing an ‘X’ on lifeline
 Object’s life ends at that point
Activation bar
A
B
Create
X
Deletion
Return
Lifeline
Sequence Diagram
User Catalog Reservations
1: look up ()
2: title data ()
3: [not available] reserve title ()
4 : title returned ()
5: hold title ()
5 : title available ()
6 : borrow title ()
6 : remove reservation ()
•Sequence diagrams demonstrate
the behavior of objects in a use case
by describing the objects and the
messages they pass.
•The horizontal dimension shows the
objects participating in the interaction.
•The vertical arrangement of
messages indicates their order.
•The labels may contain the seq. # to
indicate concurrency.
Message
Interaction Diagrams: Collaboration diagrams
User
Catalog
Reservations
start
1: look up
2: title data
3 : [not available] reserve title
4 : title returned
5 : hold title
6 : borrow title
6: remove reservation
5: title available
Collaboration diagrams are equivalent to sequence diagrams. All the features of sequence
diagrams are equally applicable to collaboration diagrams
Use a sequence diagram when the transfer of information is the focus of attention
Use a collaboration diagram when concentrating on the classes
State Diagrams (Billing Example)
State Diagrams show the sequences of states an object goes through
during its life cycle in response to stimuli, together with its responses and
actions; an abstraction of all possible behaviors.
Unpaid
Start End
Paid
Invoice created paying Invoice destroying
State Diagrams (Traffic light example)
Yellow
Red
Green
Traffic Light
State
Transition
Event
Start
What UML Modeling tools we use today?
 List of UML tools http://en.wikipedia.org/wiki/List_of_UML_tools
 ArgoUML: http://argouml.tigris.org/
 Rational Rose (www.rational.com) by IBM
 UML Studio 7.1 ( http://www.pragsoft.com/) by Pragsoft Corporation:
Capable of handling very large models (tens of thousands of classes).
Educational License US$ 125.00; Freeware version.
 TogetherSoft Control Center; TogetherSoft Solo
(http://www.borland.com/together/index.html) by Borland
Conclusion
 UML is a standardized specification language
for object modeling
 Several UML diagrams:
 use-case diagram: a number of use cases (use case models the interaction
between actors and software)
 Class diagram: a model of classes showing the static relationships among them
including association and generalization.
 Sequence diagram: shows the way objects interact with one another as
messages are passed between them. Dynamic model
 State diagram: shows states, events that cause transitions between states.
Another dynamic model reflecting the behavior of objects and how they react to
specific event
 There are several UML tools available
Thank you
Questions?

More Related Content

PPTX
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
PDF
UML Overview and Introduction functions.pdf
PPT
Fundamentals of Software Engineering
PPT
Uml lecture
PPT
Uml report
PPT
CASE Tools lab.ppt
PPT
Intro Uml
PPTX
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
UML Overview and Introduction functions.pdf
Fundamentals of Software Engineering
Uml lecture
Uml report
CASE Tools lab.ppt
Intro Uml

Similar to UML Chart Designing Methods - Lecture.pptx (20)

PPT
UML- Unified Modeling Language
PDF
2 class use case
PPT
UML Introduction The system development life cycle (SDLC) is a complex projec...
PPT
Software Engineering1-0-UML.ppt
PPTX
PPT
uml2-1214558329929112-8.ppt
PDF
Design UML diagrams
PDF
Design UML diagrams
PPT
Object oriented programming in C++ programming language
PPT
Introduction to software engineering in data science.ppt
PPT
Object oriented programming language in software engineering
PPT
An Evolution of UML projects.and also what is project
PPT
UML Diagrams
PPT
uml.ppt
PPT
ASP.NET System design 2
PPT
Unified Modeling Language
PPT
UML Diagram Assignment Help, UML Diagram Homework Help
PPT
Uml - An Overview
PPT
Umldiagram
UML- Unified Modeling Language
2 class use case
UML Introduction The system development life cycle (SDLC) is a complex projec...
Software Engineering1-0-UML.ppt
uml2-1214558329929112-8.ppt
Design UML diagrams
Design UML diagrams
Object oriented programming in C++ programming language
Introduction to software engineering in data science.ppt
Object oriented programming language in software engineering
An Evolution of UML projects.and also what is project
UML Diagrams
uml.ppt
ASP.NET System design 2
Unified Modeling Language
UML Diagram Assignment Help, UML Diagram Homework Help
Uml - An Overview
Umldiagram
Ad

Recently uploaded (20)

PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
Insiders guide to clinical Medicine.pdf
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
master seminar digital applications in india
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Pre independence Education in Inndia.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
Cell Types and Its function , kingdom of life
PDF
Complications of Minimal Access Surgery at WLH
PDF
Classroom Observation Tools for Teachers
PDF
Computing-Curriculum for Schools in Ghana
PPTX
Lesson notes of climatology university.
Final Presentation General Medicine 03-08-2024.pptx
STATICS OF THE RIGID BODIES Hibbelers.pdf
O5-L3 Freight Transport Ops (International) V1.pdf
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPH.pptx obstetrics and gynecology in nursing
Insiders guide to clinical Medicine.pdf
TR - Agricultural Crops Production NC III.pdf
master seminar digital applications in india
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Pre independence Education in Inndia.pdf
O7-L3 Supply Chain Operations - ICLT Program
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Cell Types and Its function , kingdom of life
Complications of Minimal Access Surgery at WLH
Classroom Observation Tools for Teachers
Computing-Curriculum for Schools in Ghana
Lesson notes of climatology university.
Ad

UML Chart Designing Methods - Lecture.pptx

  • 2. Outline  What is UML and why we use UML?  How to use UML diagrams to design software system?  What UML Modeling tools we use today?
  • 3. What is UML and Why we use UML?  UML → “Unified Modeling Language”  Language: express idea, not a methodology  Modeling: Describing a software system at a high level of abstraction  Unified: UML has become a world standard Object Management Group (OMG): www.omg.org
  • 4. What is UML and Why we use UML?  More description about UML:  It is a industry-standard graphical language for specifying, visualizing, constructing, and documenting the artifacts of software systems  The UML uses mostly graphical notations to express the OO analysis and design of software projects.  Simplifies the complex process of software design
  • 5. What is UML and Why we use UML?  Why we use UML?  Use graphical notation: more clearly than natural language (imprecise) and code (too detailed).  Help acquire an overall view of a system.  UML is not dependent on any one language or technology.  UML moves us from fragmentation to standardization.
  • 6. What is UML and Why we use UML? 1997: UML 1.0, 1.1 1996: UML 0.9 & 0.91 1995: Unified Method 0.8 Other methods Booch ‘91 Booch ‘93 OMT - 2 OMT - 1 Year Version 2003: UML 2.0 2001: UML 1.4 1999: UML 1.3
  • 7. How to use UML diagrams to design software system?  Types of UML Diagrams:  Use Case Diagram  Class Diagram  Sequence Diagram  Collaboration Diagram  State Diagram This is only a subset of diagrams … but are most widely used
  • 8. Use-Case Diagrams  A use-case diagram is a set of use cases  A use case is a model of the interaction between  External users of a software product (actors) and  The software product itself  More precisely, an actor is a user playing a specific role  describing a set of user scenarios  capturing user requirements  contract between end user and software developers
  • 9. Use-Case Diagrams Library System Borrow Order Title Fine Remittance Client Employee Supervisor Boundary Actor Use Case
  • 10. Use-Case Diagrams  Actors: A role that a user plays with respect to the system, including human users and other systems. e.g., inanimate physical objects (e.g. robot); an external system that needs some information from the current system.  Use case: A set of scenarios that describing an interaction between a user and a system, including alternatives.  System boundary: rectangle diagram representing the boundary between the actors and the system.
  • 11. Use-Case Diagrams  Association: communication between an actor and a use case; Represented by a solid line.  Generalization: relationship between one general use case and a special use case (used for defining special alternatives) Represented by a line with a triangular arrow head toward the parent use case.
  • 12. Use-Case Diagrams Include: a dotted line labeled <<include>> beginning at base use case and ending with an arrows pointing to the include use case. The include relationship occurs when a chunk of behavior is similar across more than one use case. Use “include” instead of copying the description of that behavior. The include relationship represents a situation where a use case contains the behavior of another use case. This is useful for reusing common behavior among multiple use cases. <<include>> Example: A "Process Order" use case might include a "Validate Payment" use case because payment validation is a common step in processing an order.
  • 13.  Extend: a dotted line labeled <<extend>> with an arrow toward the base case. The extending use case may add behavior to the base use case. The base class declares “extension points”.  The extend relationship represents a situation where a use case optionally extends the behavior of another use case. This is useful for specifying optional behavior or behavior that is only executed under certain conditions.  <<extend>>  Example: A "Purchase Product" use case might be extended by an "Apply Discount" use case, which only occurs if certain conditions (e.g., a valid discount code) are met.
  • 14. Use-Case Diagrams Figure 16.12 The McGraw-Hill Companies, 2005
  • 15. Use-Case Diagrams  Both Make Appointment and Request Medication include Check Patient Record as a subtask (include)  The extension point is written inside the base case Pay bill; the extending class Defer payment adds the behavior of this extension point. (extend)  Pay Bill is a parent use case and Bill Insurance is the child use case. (generalization) (TogetherSoft, Inc)
  • 16. Class diagram  A class diagram depicts classes and their interrelationships  Used for describing structure and behavior in the use cases  Provide a conceptual model of the system in terms of entities and their relationships  Used for requirement capture, end-user interaction  Detailed class diagrams are used for developers
  • 17. Class diagram  Each class is represented by a rectangle subdivided into three compartments  Name  Attributes  Operations  Modifiers are used to indicate visibility of attributes and operations.  ‘+’ is used to denote Public visibility (everyone)  ‘#’ is used to denote Protected visibility (friends and derived)  ‘-’ is used to denote Private visibility (no one)  By default, attributes are hidden and operations are visible.
  • 18. Class diagram Account_Name - Customer_Name - Balance +addFunds( ) +withDraw( ) +transfer( ) Name Attributes Operations
  • 19. OO Relationships  There are two kinds of Relationships  Generalization (parent-child relationship)  Association (student enrolls in course)  Associations can be further classified as  Aggregation  Composition
  • 20. Subtype2 Supertype Subtype1 OO Relationships: Generalization -Inheritance is a required feature of object orientation -Generalization expresses a parent/child relationship among related classes. -Used for abstracting details in several layers Regular Customer Loyalty Customer Customer Example:
  • 21.  Represent relationship between instances of classes  Student enrolls in a course  Courses have students  Courses have exams  Etc.  Association has two ends  Role names (e.g. enrolls)  Multiplicity (e.g. One course can have many students)  Navigability (unidirectional, bidirectional) OO Relationships: Association
  • 22. Association: Multiplicity and Roles University Person 1 0..1 * * Multiplicity Symbol Meaning 1 One and only one 0..1 Zero or one M..N From M to N (natural language) * From zero to any positive integer 0..* From zero to any positive integer 1..* From one to any positive integer teacher employer Role Role “A given university groups many people; some act as students, others as teachers. A given student belongs to a single university; a given teacher may or may not be working for the university at a particular time.” student
  • 23. Class diagram [from UML Distilled Third Edition]
  • 24. Association: Model to Implementation Class Student { Course enrolls[4]; } Class Course { Student have[]; } Student Course enrolls has * 4
  • 25. OO Relationships: Composition Class W Class P1 Class P2 Association Models the part–whole relationship Composition Also models the part–whole relationship but, in addition, Every part may belong to only one whole, and If the whole is deleted, so are the parts Example: A number of different chess boards: Each square belongs to only one board. If a chess board is thrown away, all 64 squares on that board go as well. Whole Class Part Classes Example Figure 16.7 The McGraw-Hill Companies, 2005 [From Dr.David A. Workman]
  • 26. OO Relationships: Aggregation Class C Class E1 Class E2 AGGREGATION Container Class Containee Classes Bag Apples Milk Example Aggregation: expresses a relationship among instances of related classes. It is a specific kind of Container- Containee relationship. express a more informal relationship than composition expresses. Aggregation is appropriate when Container and Containees have no special access privileges to each other. [From Dr.David A. Workman]
  • 27. Aggregation vs. Composition Composition is really a strong form of association components have only one owner components cannot exist independent of their owner components live or die with their owner e.g. Each car has an engine that can not be shared with other cars. Aggregations may form "part of" the association, but may not be essential to it. They may also exist independent of the aggregate. e.g. Apples may exist independent of the bag.
  • 28. Good Practice: CRC Card Class Responsibility Collaborator  easy to describe how classes work by moving cards around; allows to quickly consider alternatives.
  • 29. Interaction Diagrams  show how objects interact with one another  UML supports two types of interaction diagrams  Sequence diagrams  Collaboration diagrams
  • 30. Sequence Diagram(make a phone call) Caller Phone Recipient Picks up Dial tone Dial Ring notification Ring Picks up Hello
  • 31. Sequence Diagram:Object interaction Self-Call: A message that an Object sends to itself. Condition: indicates when a message is sent. The message is sent only if the condition is true. Iteration Condition A B Synchronous Asynchronous Transmission delayed Self-Call [condition] remove() *[for each] remove()
  • 32. Sequence Diagrams – Object Life Spans  Creation  Create message  Object life starts at that point  Activation  Symbolized by rectangular stripes  Place on the lifeline where object is activated.  Rectangle also denotes when object is deactivated.  Deletion  Placing an ‘X’ on lifeline  Object’s life ends at that point Activation bar A B Create X Deletion Return Lifeline
  • 33. Sequence Diagram User Catalog Reservations 1: look up () 2: title data () 3: [not available] reserve title () 4 : title returned () 5: hold title () 5 : title available () 6 : borrow title () 6 : remove reservation () •Sequence diagrams demonstrate the behavior of objects in a use case by describing the objects and the messages they pass. •The horizontal dimension shows the objects participating in the interaction. •The vertical arrangement of messages indicates their order. •The labels may contain the seq. # to indicate concurrency. Message
  • 34. Interaction Diagrams: Collaboration diagrams User Catalog Reservations start 1: look up 2: title data 3 : [not available] reserve title 4 : title returned 5 : hold title 6 : borrow title 6: remove reservation 5: title available Collaboration diagrams are equivalent to sequence diagrams. All the features of sequence diagrams are equally applicable to collaboration diagrams Use a sequence diagram when the transfer of information is the focus of attention Use a collaboration diagram when concentrating on the classes
  • 35. State Diagrams (Billing Example) State Diagrams show the sequences of states an object goes through during its life cycle in response to stimuli, together with its responses and actions; an abstraction of all possible behaviors. Unpaid Start End Paid Invoice created paying Invoice destroying
  • 36. State Diagrams (Traffic light example) Yellow Red Green Traffic Light State Transition Event Start
  • 37. What UML Modeling tools we use today?  List of UML tools http://en.wikipedia.org/wiki/List_of_UML_tools  ArgoUML: http://argouml.tigris.org/  Rational Rose (www.rational.com) by IBM  UML Studio 7.1 ( http://www.pragsoft.com/) by Pragsoft Corporation: Capable of handling very large models (tens of thousands of classes). Educational License US$ 125.00; Freeware version.  TogetherSoft Control Center; TogetherSoft Solo (http://www.borland.com/together/index.html) by Borland
  • 38. Conclusion  UML is a standardized specification language for object modeling  Several UML diagrams:  use-case diagram: a number of use cases (use case models the interaction between actors and software)  Class diagram: a model of classes showing the static relationships among them including association and generalization.  Sequence diagram: shows the way objects interact with one another as messages are passed between them. Dynamic model  State diagram: shows states, events that cause transitions between states. Another dynamic model reflecting the behavior of objects and how they react to specific event  There are several UML tools available