Sei sulla pagina 1di 5

Applying UML 2.

0 Communication Diagram For


Identifying Use Cases

- A Case Study – ABC University Course


Registration System1

Introduction

At the beginning of each semester, the ABC University Registrar’s Office will provide a list of courses to students
through a new on-line registration system. Information about each course, such as professor, department, and
prerequisites will be includes helping students to make informed decisions.
The new system will allow students to review available courses and select four of them for the coming semester.
In addition, each student will indicate two alternative choices in case a course become filled or canceled. No
course will have more than ten students No course will have fewer than three students. A course with fewer than
three students will be canceled. If there is enough interest in a course, then a second section will be established.
Professor must be able to access the online system to indicate which courses they will be teaching. They will also
need to see which students have signed up for their courses.
The Registration process will last for three days. The first day will be freshmen orientation and registration. All
other students will arrive on the second day of the semester to register. The third day will be used to resolve any
outstanding course assignment conflicts.
Once the course registration process is completed for a student, the registration system sends information to the
billing system, so the students can be billed for the semester.
As a semester progresses, students must be able to access the online system to add or drop courses,
The University prides itself on academic achievement in science, engineering and arts. Some of the professors,
administrators, and students are computer illiterate. Thus this system, unlike the old one, must be easy to use for
all concerned.

Defining the Scope of the System


One of the first steps for any system development effort is defining the scope of the system. A communication diagram in
UML 2.0 is the best tool to model the scope of the system, as the way we use the context diagram in traditional
structured analysis. A communicate diagram is a good candidate to present the boundary of a system along with the
inputs to the actors and outputs from the system. A communication diagram is suitable for modeling high-level object
message diagram that interact between the system and the actors.
External actors often participate in the requirements capturing process through interviews. For the discussion, we will
reveal the roles the actor play and the tasks they need to be achieved through the use of the system. Although actor
does not have to be a physical person, they could be another systems or devices that interact (received input to and from)
with the system under developed.

Notes: The name collaboration diagram has been used in UML 1.5 or earlier version and now it has been renamed to
communication diagram as one of the 13 UML diagrams in UML 2.0. It is a kind of interaction diagram, thus, it
normally this the message number to show the interaction sequence. However, I think the communication diagram is
quite suitable to model the high-level system context, but the sequence number for the messages will not be
applicable in this case; as the context of the system, in particular, the message are non-deterministic in the view of
time.

Page 1 of 5
Applying UML 2 Communication Diagram to Identify Use Cases.doc

Steps for Delimiting System Scope


1. Name the System
2. Find actors who will use the system being developed?
3. For each actor, identify when (what event happens) they interact?
a. When they interact, what information will be exchanged between them?
b. The information is to be input to the system?
c. The information is to be output from the system?
4. Are there any non human actors such as another system or system devices needed to interact with the system to
complete some operations?

Identify Use Cases and Scenarios


To identify use cases from the system-context communication diagram, we need to consider the role of the system and
as well as the information exchange between them, when events are triggered.

Actor Event / Information Use Case


Student Registration Form Register for Courses
Add Form Add a Course
Drop Form Drop a Course
Course Assignment University Request Curriculum List
Curriculum

A student registered to take


course at ABC University.

Page 2 of 5
Applying UML 2 Communication Diagram to Identify Use Cases.doc

Actor Event / Exchange Use Case


Administrator Curriculum Setup Set up curriculum
Curriculum information Add another section to course
Curriculum information Cancel a course
Student information Add a student
Student information Delete a student
Staff information Add a professor
Staff Information Delete a professor

An administrator is responsible for set up


and updates course curriculum; and the
record of the student and teaching staff

Actor Event / Exchange Use Case


Professor Course Assignment & Student list Indicate Courses to be taught
Teaching Availability Request student list

A professor indicates what subjects he


would shoulder and he can also get a
student link enroll to his course(s).

Actor Event / Exchange Use Case


Billing System Billing Information Download student billing information

Billing System download student


information for computing the billing
information

Develop Use Case Model


Recap: What is a use case model?
The initial use case model provides an overview of the functionality of the system. It can serve as the agreed
requirements specification of the system. The initial use case model is very useful for planning the development
priorities of various use cases.

The use case model consists of:


Use case diagram;
Use case descriptions;
Instance scenarios of the use cases.
Optionally, include also the problem statement, interview minutes and other related high level source of requirements
documentation.

Page 3 of 5
Applying UML 2 Communication Diagram to Identify Use Cases.doc

Notes: In this example, we are not going into the details of structuring the use cases, but conduct more detailed analysis for
the “Register Courses” use case. To start this, we first need to develop the use case description for the Register
Course use case. As each use case has a number of possible scenarios, each of those scenarios represents a
particular “use” of the system which can be described by a sequence of transactions; and that can be presented by
the flow of events and to be detailed in the use case description.

Step I: Develop the Use Case Diagram

The Register for Course use case yields the following scenarios:
1. Four courses are open, and two alternates are not needed.
2. Four courses are not all open, and one or both alternates are needed.
3. Two courses are not open, and neither alternate is open.
4. Student does not have the proper prerequisites for a course.

Elaborating Use Cases


Let’s focus on the normal scenario first and pick one alternative scenario to examine them further. In our example, we
pick scenario 1 as the normal and scenario 4 as the alternative to investigate further.

Use Case Name: Register Courses


Use Case ID UC-01
Primary Actor Student
Flow of Event 1. student review available courses
2. select four course and indicate two alternative choices
3. course Assignment successful
Alternative flows If Student does not have the proper prerequisites for a course. Then student need to reselect
and exception the course.

Page 4 of 5
Applying UML 2 Communication Diagram to Identify Use Cases.doc

Register Courses in Normal Scenario

Register Course with Alterative Path

Reference
Case Studies extracted and rewritten from: “Succeeding with the Booch and OMT Methods, Addison Wesley, 1996.

Page 5 of 5

Potrebbero piacerti anche