Documente Academic
Documente Profesional
Documente Cultură
http://www.uml.org
Why do we model?
_______________________________________________
_______________________________________________
_______________________________________________
_______________________________________________
_______________________________________________
_______________________________________________
_______________________________________________
_______________________________________________
_______________________________________________
_______________________________________________
_______________________________________________
_______________________________________________
_______________________________________________
_______________________________________________
• Graphical notation
A picture is worth a thousand words
• Is represented by
UML deployment diagram
Registration Clerk
<<include>>
<<extend>>
Register for Class (before new student registers)
<<include>>
Student
Make Tuition Payment Check for Prerequisite
Course Completion
0..* 1
-assistents -teacher
Undergraduate Graduate Instructor
-parties : String [0..*] ... -name : String
-homeCampus : String
+addParty( party : String ) +applyForAssistance( class : Class )
+getParties() : String"[]" ... +Instructor( name : String )
...
Registration Reports
StudentManagement CourseManagement
Domain
Engine Wheel
Power
p : PowerPort a : Axle
Powertrain
BrokeredSale
Seller
Broker : DealParticipant
Buyer
Producer : DealParticipant Seller Wholesale : Sale
Choose Class
[no seats left]
[seats available]
[conflict]
Check Schedule [no conflict]
1: submit()
2: registerForClass(student=ME, class=uml2)
3: validateRegistration(student=ME, class=uml2)
4: seatsAvailable()
5: true
6: getPrerequisites()
7: preCourses
8: hasTakenCourses(courses=preCourses)
9: true
13: hasConflicts(class=uml2)
14: false
15: addClass(class=uml2)
16: sendNotification()
1: submit()
<<boundary>>
: RegistrationForm
2: registerForClass( - )
3: validateRegistration(-, -)
9: sendNotification()
<<control>> <<control>>
: RegistrationManager : NotificationService
Registration Open
Registration Closed
Running
Finished
ClassManager Class
<<component>>
JSP Pages
ClassManagerLocal
ClassLocal
ClassManagerLocalHome ClassLocalHome
<<EJBSessionBean>> <<EJBEntityBean>>
RegistrationManager Schedule
RegistrationManagerHome ScheduleHome
RegistrationManager Schedule
ScheduleLocalHome
NotificationServiceLocal
ScheduleLocal
NotificationServiceLocalHome
<<EJBSessionBean>> <<EJBEntityBean>>
NotificationService Student
StudentHome
Student
JDBC
<<execution environment>>
DBMS
<<entity>>
Course
<<control>> <<entity>>
NotificationService Student