UML 101 - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

UML 101

Description:

Address. street: String. city: String. state: String. zipCode: int. getStreet(): String. setStreet(street: String): void. 10. Packages. cs680. edu. umb. cs680 ... – PowerPoint PPT presentation

Number of Views:161
Avg rating:3.0/5.0
Slides: 22
Provided by: Informatio358
Category:
Tags: uml | addresses | street

less

Transcript and Presenter's Notes

Title: UML 101


1
UML 101
2
UML
  • Language?
  • Provides the semantics and syntax (notation) for
    each model element
  • e.g., class, interface, association, attributes,
    etc. etc.
  • Unified?
  • Major modeling languages merged to UML in 90s.
  • Object Management Group (www.omg.org)
  • Many religious wars before UML is born.
  • UML class, association, generalization,
    aggregation
  • Booch class, use, inheritance, containment
  • OMT class association, generalization,
    aggregation
  • Class, association, subtype,

3
  • What UML provides
  • Modeling semantics and notation
  • 13 diagrams
  • Modeling viewpoints
  • What UML does not provide
  • Method
  • e.g. how to identify classes?
  • Methodology

4
13 Diagrams in UML 2.x
  • Use case
  • Interactions b/w a system and its users or other
    external entities/systems. Requirements to a
    system.
  • UML 1.x
  • Class
  • Classes, interfaces, etc., and relationships b/w
    them.
  • UML 1.x
  • Object
  • Object instances of the classes defined in class
    diagrams
  • UML 1.x
  • Component
  • Components and the interfaces they use to
    interact with each other.
  • UML 2.0
  • Composite structure
  • The internals of a class or component
  • UML 2.0
  • Package
  • The hierarchal organization of groups of classes
    and components.
  • UML 2.0

5
  • Communication
  • The ways in which objects interact
  • Renamed from UML 1.xs collaboration diagrams
  • Sequence
  • Interactions b/w objects where the order of the
    interactions is important.
  • UML 1.x
  • Timing
  • Interactions b/w objects where timing is an
    important concern.
  • UML 2.0
  • Interaction overview
  • Collect communication, sequence and timing
    diagrams together.
  • State machine
  • The state of an object throughout its lifetime,
    and the events that can change that state.
  • UML 1.x
  • Activity
  • Sequential and parallel activities in a system
  • UML 1.x
  • Deployment
  • A systems deployment
  • UML 1.x

6
Modeling Viewpoints
  • Viewpoints
  • A technique for abstraction using a selected set
    of architectural concepts and structuring rules
  • to focus on particular concerns within a given
    system.
  • Why viewpoints?
  • It is often impossible for a single developer to
    understand everything about a software system all
    at once.
  • It is essential in a project to undertake a
    development or maintenance task without
    understanding everything about the system.
  • 5 viewpoints in UML
  • Logical, process, development, physical and use
    case viewpoints

7
Kruchtens 41 View Model
  • Process view
  • Describes the processes within a system
  • e.g., Biz processes, processes/threads
  • Activity diagrams
  • Development view
  • Describes a systems parts are organized into
    modules and components.
  • Modules/architecture/layers
  • Composite str, package and component diagrams
  • Logical view
  • Describes the abstract descriptions of a systems
    parts.
  • Models what a system is made up of and how the
    parts interact with each other.
  • Class, object, composite str, comm, seq, timing,
    interaction overview and state machine diagrams

8
  • Use case view
  • Describes the functionality of a system being
    modeled from the perspective of the outside
    world.
  • Use cases and scenarios that consolidate the
    other views.
  • All of the other views rely on this view to guide
    them.
  • Use case diagrams
  • Physical view
  • Describes how a systems design is realized as a
    set of real-world entities.
  • e.g., app installation, machine/host
    configuration, network configuration
  • Deployment diagrams

9
Classes
Class
Class
Class
Attribute1 Attribute2 Attribute3
Attribute1 Attribute2
Operation1 Operation2
Class
Operation1 Operation2 Operation3
Customer
Address
firstName String lastname String id int
street String city String state
String zipCode int
getId() int
getStreet() String setStreet(street String)
void
10
Packages
cs680
cs680
Customer
Address
eduumbcs680
edu
umb
Customer
Address
cs680
eduumbcs680Customer
Customer (from cs680)
11
Visibility
  • Defines who can access an attribute or operation.
  • Public (), protected (), package () and
    private (-)

cs680
Address
city String
Customer
getCity() String
cs681
SpecialAddress
Customer
12
cs680
Address
city String
Customer
getCity() String
cs681
SpecialAddress
Customer
Note Javas protected visibility allows any
other classes in the same package to access to
protected attrs/ops of a class. It is a
combination of UMLs protected and package
visibility.
13
cs680
Address
city String
Customer
getCity() String
cs681
SpecialAddress
Customer
14
cs680
Address
- city String
Customer
getCity() String
cs681
SpecialAddress
Customer
Note Use private/protected visibility as often
as possible to encapsulate/hide the internal
attrs/ops of a class.
15
Association
Customer
Address
firstName String Lastname String id int
Street String city String state
String zipCode int
1
- homeAddr
getAddress() Address
getCity() String
Customer
firstName String Lastname String id
int homeAddr Address
getAddress() Address
16
Customer
Address
1
firstName String Lastname String id int
Street String city String state
String zipCode int
- homeAddr
1
getHomeAddress() Address getOfficeAddress()
Address
getCity() String
- officeAddr
Customer
firstName String Lastname String id
int homeAddr Address officeAddr Address
getHomeAddress() Address getOfficeAddress()
Address
17
Customer
Address
firstName String Lastname String id int
Street String city String state
String zipCode int
1..2
- addresses
getAddress() Address 1..2
getCity() String
Customer
firstName String Lastname String id
int addresses Address 1..2
getAddress() Address 1..2
18
Customer
Address
firstName String Lastname String id int
Street String city String state
String zipCode int

- addresses
getAddress() Address
getCity() String
Customer
firstName String Lastname String id
int addresses Address
getAddress() Address
19
Customer
firstName String Lastname String id int 0
getId() int
20
HW5
  • Read SP 20 to 25
  • Imagine (or eat!) an ice cream, and model ice
    creams. Make an ice cream model with a UML tool.
    Paste your model to a PPT file, and upload it to
    the course repository.
  • Make a new directory hw5-ice-cream and upload
    your PPT file there.
  • Contact my TA for all technical questions
  • Due Sept 27 (Thu), 6pm

21
UML Modeling Tools
  • Visual Paradigm (Community Edition)
  • http//www.visual-paradigm.
  • JUDE (Community Edition)
  • http//jude.change-vision.com/jude-web/
  • EclipseUML
  • http//www.omondo.com/
  • MagicDraw
  • http//www.nomagic.com/
  • Poseidon (Community Edition)
  • http//www.gentleware.com/index.php?idce
  • Green
  • http//green.sourceforge.net/
  • A List of UML Tools
  • http//en.wikipedia.org/wiki/List_of_UML_tools
Write a Comment
User Comments (0)
About PowerShow.com