topic 5 introduction to uml diagrams. 1-2 objectives to introduce uml diagrams a diagrammatic way of...
TRANSCRIPT
![Page 1: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/1.jpg)
1-1
Topic 5
Introduction to UML Diagrams
![Page 2: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/2.jpg)
1-21-2
Objectives
• To introduce UML Diagrams• A diagrammatic way of showing the
relationships among classes• This will help our understanding of the
definitions of our collections and the usage of our collections in applications
![Page 3: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/3.jpg)
1-31-3
UML Diagrams
• Unified Modeling Language (UML) is a standard notation for object-oriented design• Used to model object-oriented designs• Shows overall design of a solution
• Shows class specifications• Shows how classes interact with each other
• Diagrams use specific icons and notations• It is language independent
![Page 4: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/4.jpg)
1-41-4
UML Class Diagram
• A class is represented in a UML diagram by a rectangle divided into 3 sections:• name of the class• attributes of the class (i.e. the data fields
of the class, including variables and constants)
• operations of the class (essentially equivalent to a Java method or a C++ function)
![Page 5: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/5.jpg)
1-51-5
Example: UML Class Diagram
Person
firstName
lastName
getName()
getEmail()
setEmail( )
equals( )
toString()
![Page 6: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/6.jpg)
1-61-6
Example: UML Class Diagram
SocialNetwork
friendList
numFriendsDEFAULT_MAX_FRIENDS
add( )
remove()
toString()
![Page 7: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/7.jpg)
1-71-7
Features of UML Class Diagrams
• Attributes and operations may include:• visibility: public (+) or private (-)• type of attribute or operation• parameter list for operations
• Including this information is of the form:
visibility variable_name: typevisibility variable_name: type = default_valuevisibility method_name(parameter_list): return_type
{property}
![Page 8: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/8.jpg)
1-81-8
Example: UML Class Diagram
SocialNetwork
- friendList: array of Person
- numFriends: integer- DEFAULT_MAX_FRIENDS = 100
+ add(friend: Person )
+ remove(friend: Person): boolean
+ toString(): String
![Page 9: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/9.jpg)
1-9
Features of UML Class Diagrams
• Attributes and operations may be left incomplete, and completed as design is developed
![Page 10: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/10.jpg)
1-101-10
Set of UML Class Diagrams
• A set of UML class diagrams shows:• The classes used in the system• The relationships among classes• The constraints on the connections
among classes
![Page 11: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/11.jpg)
1-111-11
Example: UML Diagram for Order Processing
OrderdateReceived
isPrepaid
orderNumber
price
dispatch( )
close( )
OrderLinequantity
price
product
Customername
address
getCreditRating( )
PersonalCustomercustomerCardNumber
CorporateCustomercontactName
creditRating
creditLimit
salesRep
remind( )
billForMonth( )
*
*
1
1
![Page 12: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/12.jpg)
1-121-12
Features of Set of UML Diagrams
• Association between classes:• Represents a relationship between
objects of those classes• Indicated with a solid line between the
classes• Can be annotated with cardinality:
indicates a numeric association between classes, such as:
• one-to-one• one-to-many ( 1..* )• many-to-many ( *..* )
• zero-to-many (0..*)• zero-to-5 (0..5)• etc.
![Page 13: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/13.jpg)
1-131-13
Example: Association Between Classes
LibraryCustomername
address
register( )
deregister( )
LibraryItemcallNumber
title
checkout( )
return( )
0 .. * 0 .. *
![Page 14: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/14.jpg)
1-14
Association Between Classes
• What is the Order-Customer relationship in our Order Processing System?
• How would we annotate that a Library Customer can not check out more than 5 library items?
![Page 15: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/15.jpg)
1-15
Features of Set of UML Diagrams
• Usage of another class:• Broken line with an arrow indicates that
one class makes use of the other
• Line can be labeled with a message indicating the type of usage
![Page 16: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/16.jpg)
1-161-16
Example: One Class Indicating its Use of Another
LibraryCustomername
address
register( )
deregister( )
Computerlocation
ipAddress
logon( )
logoff( )
Searches online catalogue
![Page 17: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/17.jpg)
1-17
Features of Set of UML Diagrams
• Implementation of an interface:• Indicated by a broken line with an open
arrow
• UML diagram for an interface is much like the UML diagram for a class• But there are no attributes (why not?)
![Page 18: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/18.jpg)
1-18
UML Diagram for StackADT Interface
<<interface>>
StackADT
push( )
pop( )
peek( )
isEmpty( )
size( )
toString( )
![Page 19: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/19.jpg)
1-19
UML Diagram for ArrayStack Implementation of StackADT
<<interface>>
StackADT
push( )
pop( )
peek( )
isEmpty( )
size( )
toString( )
ArrayStack
stack
top
push( )
pop( )
peek( )
isEmpty( )
size( )
toString( )
![Page 20: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/20.jpg)
1-20
UML Diagram for Postfix Expression Program
<<interface>>
StackADT
push( )
pop( )
peek( )
isEmpty( )
size( )
toString( )
ArrayStack
stack
top
push( )
pop( )
peek( )
isEmpty( )
size( )
toString( )
Postfix
main( )
PostfixEvaluator
stack
evaluate( )
isOperator( )
evalSingleOp()
![Page 21: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/21.jpg)
1-21
Features of Set of UML Diagrams
• Inheritance:• An arrow on an association line indicates
that one class is derived from the other
![Page 22: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/22.jpg)
1-221-22
Example: Inheritance RelationshipsLibraryItem
title
callNumber
checkout( )
return( )
Bookauthor
publisher
Videoproducer
studio
![Page 23: Topic 5 Introduction to UML Diagrams. 1-2 Objectives To introduce UML Diagrams A diagrammatic way of showing the relationships among classes This will](https://reader036.vdocuments.net/reader036/viewer/2022062409/56649f005503460f94c16ac9/html5/thumbnails/23.jpg)
1-231-23
Example: Inheritance RelationshipsBankAccount
accountNumber
balance
deposit()
withdraw( ) etc.
SavingsAccount
interestRate
addInterest()
getInterestRate()
setInterestRate()
CheckingAccount
transactionCount
deposit()
withdraw()
deductFees()
getTransactionCount()