Download Putting UML to Work-Object Oriented Programming-Lecture Slides and more Slides Object Oriented Programming in PDF only on Docsity!
Putting UML to Work
Lecture 11
Dr. Jamil Ahmed 2
A Registration System
Requirements
Æ The ESU University wants to computerize their
registration system
Æ The Registrar sets up the curriculum for a semester
Æ One semester may have multiple courses
Æ Students select 4 primary courses and 2 alternate courses
Æ Once a student registers for a semester, the billing system is
notified so the student may be billed for the semester
Æ Students may use the system to add/drop courses for a
period of time after registration
Æ Professors use the system to receive their course rosters
Æ Users of the registration system are assigned passwords
which are used at logon validation
Dr. Jamil Ahmed 3
Actors
Æ An actor is someone or something that
must interact with the system under
Student
Registrar
Professor
Billing System
Dr. Jamil Ahmed 4
Use Cases
Æ pattern of behavior the system exhibits
Æ
Æ Actors are examined to determine their needs
Æ Registrar -- maintain the curriculum
Æ Professor -- request roster
Æ Student – register in a semester
Æ Billing System -- receive billing information from registration
Maintain Curriculum Request Course Roster Register in a Semester
Dr. Jamil Ahmed 5
Documenting Use Cases
Æ A flow of events document is created for each
use case
Æ Written from an actor’s point of view
Æ Details what the system must provide to the
actor when the use case is executed
Æ Typical contents
Æ How the use case starts and ends
Æ Normal flow of events
Æ Alternate flow of events
Æ Exceptional flow of events
Dr. Jamil Ahmed 6
“Maintain Curriculum” Flow of
Events
Æ This use case begins when the Registrar logs onto the Registration
System and enters his/her password. The system
(E-1) and prompts the Registrar to
(E-2). The Registrar enters the desired
semester. The system prompts the professor to select the desired
activity: ADD, DELETE, REVIEW, or QUIT.
Æ If the activity selected is ADD, then S-1: Add a Course subflow is
performed.
Æ If the activity selected is DELETE, then S-2: Delete a Course subflow
is performed.
Æ If the activity selected is REVIEW, then S-3: Review Curriculum
subflow is performed.
Æ If the activity selected is QUIT, the use case ends.
Æ ...
Sequence Diagram
Æ
3: add course(joe, math 101)
5: add (joe)
4: are you open?
: Student
registration form
registration manager math 101
Dr. Jamil Ahmed 11
Collaboration Diagram
Æ
RegisterationForm
: RegistrationManager
1: fill in info 2: submit
3: add course
4: isOpen() 5: add(joe)
Dr. Jamil Ahmed 12
Class Diagrams
Æ
classes and their relationships
Æ
Æ
Æ
Æ
Æ
Classes
Æ a collection of objects
structure, common behavior, common relationships
Æ in
sequence and collaboration diagrams
Æ
(class name, attributes, behavior)
Æ
Æ
Æ
Classes
RegistrationForm
RegistrationManager Course
Student
Operations
Æ
Æ
3: add course(joe, math101)
RegistrationManager
addCourse(StudentInfo,Course)
Dr. Jamil Ahmed 19
Finding Relationships
Æ Relationships are discovered by examining
interaction diagrams
Registration Manager
Math 101: Course
3: add student(joe)
RegistrationManager
Dr. Jamil Ahmed 20
Relationships
RegistrationForm
Course name numberOfCredits open( ) add(StudentInfo)
RegistrationManager
addCourse(StudentInfo, Course)
Student name major
Dr. Jamil Ahmed 21
Multiplicity and Navigation
Æ Multiplicity defines the number of objects that
participate in a relationships
Æ Multiplicity is the number of instances of one class related to
Æ For each association and aggregation, there are two
multiplicity decisions to make: one for each end of the
Æ Although associations and aggregations are bi-
directional by default, it is often desirable to restrict
navigation to one direction
Æ If navigation is restricted, an arrowhead is added to
indicate the direction of the navigation
Dr. Jamil Ahmed 22
Multiplicity and Navigation
RegistrationForm
Course name numberOfCredits open( ) add(StudentInfo)
RegistrationManager
addCourse(StudentInfo, Course)
Student name major
Dr. Jamil Ahmed 23
Inheritance
Æ
and its subclasses
Æ
Æ
Æ
Æ
Dr. Jamil Ahmed 24
Inheritance
Professor
RegistrationUser
RegistrationForm
Course name numberOfCredits open( ) add(StudentInfo)
RegistrationManager
addCourse(StudentInfo, Course)
Student name major