Chapter 9 Domain Models. Domain Model in UML Class Diagram Notation A “visual dictionary”
UML for Domain Models
description
Transcript of UML for Domain Models
![Page 1: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/1.jpg)
UML FOR DOMAIN MODELS(Reference: Jason Roff – UML Beginner’s Guide)
![Page 2: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/2.jpg)
CLASSES Box
Top section is class name Second section is class attributes (data
members) Third section is class member functions
Notation + public access - private access # protected access
![Page 3: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/3.jpg)
A UML CLASS DIAGRAM FOR COURSE
Course
-enrollmentLimit-nEnrolledStudents-startTime-endTime-instructor
+getInstructor()+getStartTime()+getDuration()
![Page 4: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/4.jpg)
ATTRIBUTE FORMAT
-enrollmentLimit:Integer = 20-nEnrolledStudents: Integer=0-startTime: Date-endTime: Date-instructor: String-meetingDays[1..7]: Integer-/meetingHoursWeek:float
![Page 5: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/5.jpg)
CLASS RELATIONSHIPS Show relationships with line and
association name.
Professor
Student
teaches >
takes
>
Course
![Page 6: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/6.jpg)
MULTIPLICITY
Professor Course1 1..*
Professors teach 1 or more courses.Courses have exactly one professor.
teaches >
![Page 7: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/7.jpg)
ROLES
Professor Course1 1..*
teaches >
Instructor
Graduate Student 0..*
0..*Teaching Assistant grades >
![Page 8: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/8.jpg)
CLASS INSTANCES (OBJECTS) Objects are differentiated from class
with an underline and a class name qualifier
Course:Cs350
-enrollmentLimit = 20-nEnrolledStudents = 24-startTime : 14:00-endTime: 14:50-instructor: Ribler
![Page 9: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/9.jpg)
INHERITANCE (EMPTY ARROW) Empty arrow points to base class
(superclass) from derived class (subclass)
Person
Professor
Student Tutor
Teaching Assistant
![Page 10: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/10.jpg)
Car Class
COMPOSITION AND AGGREGATION
Engine Class
Composition is expressed with a filled diamond.Aggregation is expressed with a unfilled diamond.
List Class
Sprite Class
![Page 11: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/11.jpg)
ACTIVITY DIAGRAMS Model workflows for use-cases
(analysis) Model object behavior (design)
![Page 12: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/12.jpg)
SYMBOLS
Start Symbol
End Symbol
Activity Symbol (contains action name)
Name of Action
Decision Points
![Page 13: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/13.jpg)
GUARDS WITH DECISION POINT
Create File Update File
[new file] [file already
exists]
![Page 14: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/14.jpg)
GUARD WITHOUT DECISION POINT
Create File Update File
[new file] [file already
exists]
Record Data
![Page 15: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/15.jpg)
EVENTS AND TRIGGERS Indicators that an action has taken
place
Ready
Print File
Save File
Create New File
Print(File, Printer)
SaveAs(Filename)
CreateNew(Filename)
![Page 16: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/16.jpg)
FORKS Show concurrency
Login
Load Grades Load Classes
![Page 17: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/17.jpg)
JOINS
Load Grades Load Classes
Display Data
![Page 18: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/18.jpg)
SWIM LANESTelephoneOperator
POS System Database Wrapper
Determine Type Load
Inventory
Purchase()
Display Error [failur
e]Change
Inventory
Store Inventory
Display Error [failur
e]
![Page 19: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/19.jpg)
SEQUENCE DIAGRAMS Model interaction between active
objects Consist of two components
Active objects Interactions between active objects
SpaceShip Shoot
![Page 20: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/20.jpg)
“LIFELINES” INDICATE ACTIVE OBJECTS
SpaceShip UFO
Shoot
X
X indicates the end of the objects life.
![Page 21: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/21.jpg)
CONDITIONS CAN BE PLACED ON MESSAGES INDICATE ACTIVE OBJECTS
SpaceShip UFO
Issue Warning[UFO in Range]
![Page 22: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/22.jpg)
MESSAGE ARROWS Synchronous – Flow is suspended until return
from the call. (filled arrow head)
Return – Synchronous message is no longer blocked.
Asynchronous – Non-blocking message. Sender doesn’t wait for reply.
Flat – synchronization is unspecidfied.
![Page 23: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/23.jpg)
CREATING AND DESTROYING OBJECTS
SpaceShip
Missile<<create>>
<<destroys>>X
![Page 24: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/24.jpg)
SEQUENCE DIAGRAMS USE ROUNDED RECTANGLES TO INDICATE STATE
SpaceShip UFO
Issue Warning[UFO in Range]
Under Threat
Surrender
Taken Prisoner
Imprisoned
![Page 25: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/25.jpg)
BRANCHINGSpaceShip UFO Asteroid
[in alien war]
[at peace]shoot
shoot
![Page 26: UML for Domain Models](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816379550346895dd45688/html5/thumbnails/26.jpg)
USERS CAN BE DRAWN AS STICK FIGURES
ATM
Login
Prompt for transaction typeLogged in