uml: unified modeling language zstory: ywhat uml is for ysome of the main diagrams are and what you...

Post on 24-Dec-2015

214 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

UML: Unified Modeling Language

Story: What UML is for Some of the main diagrams are and what you

use them forClass diagrams and class formsUse Case DiagramsSequence (Event) DiagramState Diagrams

An example

UML: Unified Modeling Language

Developed by the “Three Amigos”: Grady Booch, Jim Rumbaugh, Ivar Jacobson Each had their own development methodology More or less emphasis on notation and process

UML is a notation and a process Diagrams and notation from UML 1.3 Definition

(http://www.rational.com)

Diagrams

Class diagrams: Represents static structure

Use case diagrams: Sequence of actions a system performs to yield an observable result to an actor

Sequence diagrams:Shows how groups of objects interact in some behavior

State diagrams: Describes behavior of system by describing states of an object

Class Diagrams

Better name: “Static structure diagram” Doesn’t describe temporal aspects Doesn’t describe individual objects: Only the

overall structure of the systemThere are “object diagrams” where the boxes

represent instances But rarely used—other diagrams serve the role of

describing object interaction better When used, object diagrams describe static

structure, like a data structure

Different Levels of Specifying Classes

Notation in Class Boxes

Abstract classes (and operations) in italics+ is public, - is private, # is protectedCan also specify stereotypes or

compartments “constructors” or “query” “controller”

Other variations in Class specifications

Use of templates, interfaces, and types

Can even specify body of methods

Components of Class Diagrams

Multiplicities How many of

each?Labels to

indicate how reference is viewed

Role and Association classes

Navigability and Aggregations

Navigability Who owns/contains/has who? Arrows not strictly required

Aggregation: Open diamond “Part-of” relationship, but disagreement

Composition:closed diamond Part can only

belong to whole

Qualifiers

Serves to describe an instance variable that partitions the relationship.

Use Case Diagrams

Means of capturing requirementsDocument interactions between user(s)

and the system User (actor) is not part of the system itself But an actor can be another system

An individual use case represents a task to be done with support from the system (thus it is a ‘coherent unit of functionality’)

Simple Use Case Diagram

Reserve bookReserve book

Borrow bookBorrow book

Return bookReturn book

Use Case Diagram with Multiple Actors

Use Cases

Are actually defined as text, including descriptions of all of the normal and exception behavior expected

Do not reveal the structure of the systemCollectively define the boundaries of the

system to be implementedProvide the basis for defining

development iterations

Example Use Case Diagram (Advanced Features)

Sequence (Event) Diagrams

Shows individual objects and how they interact

Describes Lifelines of objects Who sends what messages when Can also describe sending messages to self

("self-delegation") Can describe guards, notes, etc.

Example Sequence Diagram

State Diagrams

Describe all the possible states a particular object can get into, and the events that lead to those changes

Also called a "statechart"

Example State Diagram

Other Kinds of UML Diagrams

Collaboration Diagrams An alternative to sequence diagrams for

describing the flow of messages between objects

Other kinds of UML Diagrams

Activity Diagrams Alternative to

statecharts

Other kinds of UML Diagrams

Implementation Diagrams Down at the detail

levelWhat piece of code

goes where?How are they

connected?

UML in Real Practice

You don't typically use all the diagrams You'll choose between them based on preference and

particular situation

You typically use many diagrams A single use case may not capture all scenarios If you are going to use statecharts, there are probably

lots of objects with states Each sequence/collaboration diagram only shows one

interaction

Example: Student Registration System

Not going to do all the diagrams Not all types, not even all that completely

specify the system

But this is an application you know, so the examples may help make sense

Student Registration Class Diagram

*

prereqs

0..30..30..3

prereqs

0..30..30..3

Course

namenumberdepartmentcreditHoursprerequisites

1

*****1

CourseGrade

coursegradetermEnrolled

Transcript

courseGrades

gradeForCourse:takenCourse:

1 ***

1

******

1..3 ******

*

111111

Department

coursesrequiredCourses

111Student

transcriptmajor

enrollInClass:gradeInCourse:takenCourse:

SectionSection

coursedaysAndTimedaysAndTimeroster

addStudentaddStudent

removeStudentremoveStudent **

1** sectionssections

Registrar

courses

getSectionsFor:getSectionsFor:

enrollInSection:enrollInSection:

dropFromSection:dropFromSection:

schedulescheduleregistrarregistrar

1**

1

Partial Use Case Diagram

Withdrawfrom a Course

Apply forAdmission

Student

Enroll inthe University

Enroll ina Course

Admissions

States of a Student

EnrollInClass ( Add a Transcript )

EnrolledApply [ Must be accepted first ]

Graduate [ All courses must be completed ]

AddCourseRegisteredWithdraw

Sequence Diagram: Registering for Course

theRegistrar aSection theTranscriptaStudent

state of prereqhave prereq

enrolled

enrollInSection:

return sections

getSectionsFor:

addStudent:

enrolled

takenCourse: prerequisite

takenCourse: prerequisite

Process to Representations

OOA CRC Cards (but they’re not officially UML) Use Cases

OOD Just about all of the rest But variations—some detail is later

OOP Can actually go UML->code with some tools!

UML v1.3 Copyright Notice

Copyright © 1997, 1998, 1999 Object Management Group, Inc.Copyright © 1997, 1998, 1999 Hewlett-Packard CompanyCopyright © 1997, 1998, 1999 IBM CorporationCopyright © 1997, 1998, 1999 ICON ComputingCopyright © 1997, 1998, 1999 i-LogixCopyright © 1997, 1998, 1999 IntelliCorpCopyright © 1997, 1998, 1999 Electronic Data Services CorporationCopyright © 1997, 1998, 1999 Microsoft CorporationCopyright © 1997, 1998, 1999 ObjecTime LimitedCopyright © 1997, 1998, 1999 Oracle CorporationCopyright © 1997, 1998, 1999 Platinum Technology, Inc.Copyright © 1997, 1998, 1999 Ptech Inc.Copyright © 1997, 1998, 1999 Rational Software CorporationCopyright © 1997, 1998, 1999 Reich TechnologiesCopyright © 1997, 1998, 1999 SofteamCopyright © 1997, 1998, 1999 Sterling SoftwareCopyright © 1997, 1998, 1999 Taskon A/SCopyright © 1997, 1998, 1999 Unisys Corporation

top related