UML%20Class%20Diagrams - PowerPoint PPT Presentation

View by Category
About This Presentation
Title:

UML%20Class%20Diagrams

Description:

Chapter 16 UML Class Diagrams * CS6359 Fall 2012 John Cole What They Are They illustrate classes, interfaces, and their associations. They are used for static object ... – PowerPoint PPT presentation

Number of Views:554
Avg rating:3.0/5.0
Slides: 31
Provided by: jco3
Learn more at: http://www.utdallas.edu
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: UML%20Class%20Diagrams


1
Chapter 16
  • UML Class Diagrams

2
What They Are
  • They illustrate classes, interfaces, and their
    associations. They are used for static object
    modeling.

3
(No Transcript)
4
Design Class Diagram
  • A class diagram can be used to visualize a domain
    model. We also need a unique term to clarify when
    the class diagram is used in a software or design
    perspective. A common modeling term for this
    purpose is design class diagram (DCD)

5
Design Class Diagram
6
Classifier
  • A UML classifier is a model element that
    describes behavioral and structure features.
    Classifiers can also be specialized. They are a
    generalization of many of the elements of the
    UML, including classes, interfaces, use cases,
    and actors. In class diagrams, the two most
    common classifiers are regular classes and
    interfaces.

7
Showing UML Attributes
  • Attribute text notation such as currentSale
    Sale, Association line notation, or both
  • ltvisibilitygt name type multiplicity default
    property string
  • Attributes are assumed private if no visibility
    is given
  • Arrow shows that the object where the arrow
    starts has one object of the object to which it
    points.

8
UML Attributes
9
UML Attributes
  • Multiplicity shows how many on the left can
    associate with how many on the right
  • Role name
  • Attributes are assumed private unless otherwise
    noted

10
Attribute Text vs. Association Lines
  • Use text notation for primitive data types, even
    things like Zip codes that may have components
    but are not complex
  • Use association for everything else.

11
Collection Attributes
12
Note Symbols
  • A UML note symbol is displayed as a dog-eared
    rectangle with a dashed line to the annotated
    element theyve already been used throughout the
    book. A note symbol may represent several
    things, such as
  • a UML note or comment, which by definition have
    no semantic impact
  • a UML constraint, in which case it must be
    encased in braces
  • a method bodythe implementation of a UML
    operation

13
Operations and Methods
  • A method is the implementation of an operation

14
The Create operation
  • This is a constructor call
  • You can use ltltconstructorgtgt to make this explicit

15
Keywords
  • A UML keyword is a textual adornment to
    categorize a model element
  • Keywords include ltltactorgtgt, ltltInterfacegtgt,
    abstract, ordered

16
Stereotypes, Profiles, Tags
  • Stereotypes are also shown in guillemets symbols
    . They are not keywords. A stereotype
    represents a refinement to an existing modeling
    concept

17
Properties and Property Strings
  • A property is a named value denoting a
    characteristic of an element
  • Textual approach is to use the UML property
    string name1value1, name2value2 format, such
    as abstract, visibilitypublic

18
Generalization
  • A taxonomic relationship between a more general
    classifier and a more specific classifier
  • This can imply inheritance, but not at the
    conceptual level.

19
Dependency
  • Similar to association. Indicates that a client
    element has knowledge of another supplier
    element, and a change in the supplier could
    affect the client
  • (Supplier and client are descriptive terms, not
    classes)
  • Dependency lines are common on class and package
    diagrams
  • Use to depict global, parameter variable, local
    variable, and static-method dependency

20
Types of Dependency
  • Having an attribute of supplier type
  • Send a message to a supplier
  • Receiving a parameter of supplier type
  • Supplier is a superclass or interface
  • Indicated by a dashed line arrow

21
Interfaces
22
Composition Vs. Aggregation
  • Aggregation is a vague association suggesting
    whole-part relationships. No meaningful
    semantics in UML versus association.
  • Composition, or composite aggregation, is a
    strong kind of whole-part relationship.
  • Implies that an instance of the part belongs to
    only one composite instance of the whole

23
Composition
  • For example the Monopoly board consists of 40
    squares
  • A square can be part of only one board at any
    time.

24
Constraints
  • Constraints is a restriction on a UML element.
  • Shown as text between braces
  • size gt 0

25
Qualified Association
  • Uses a qualifier to select an object or set of
    objects from a larger set
  • For example, looking up something in a HashMap

26
Association Class
  • Allows you to treat an association as a class,
    such that it can have attributes

27
Singleton Class
  • Only one instance of a Singleton class (pattern
    explained later) is ever instantiated.
  • For example, your main class in most programs is
    a Singleton, although this may not be its
    dominant pattern.

28
Template Classes and Interfaces
  • These are equivalent to C or Java generics.
  • That is, you can type a collection class.

29
User-Defined Compartments
  • In a class diagram you can define your own
    compartments

DataAccessObject
Id int
doX()
Exceptions thrown DatabaseException IOExeception
Responsibilities Serialize and write objects Read and deserialize objects
30
Active Class
  • An active object runs on and controls its own
    thread of execution
  • In UML, it is shown with double vertical lines on
    the left and right of the class box.
About PowerShow.com