|I l @ ve RuBoard|
We will look at the Add a Course Offering to Teach scenario, which is one of the subflows of the Select Courses to Teach use case. The main capability provided by this scenario is the ability for the professor to select a course offering to teach for a given semester.
Although we are looking at this process in a step-by-step manner, many of these steps may occur concurrently in the real world.
Identify Boundary Classes
This use case interacts only with the Professor actor. The action specified in this scenario is only one capability provided by the use case (the use case also states that the Professor can modify a selection, delete a selection, review a selection, and print a selection). This means that something in the system must provide the ability for the Professor to select a capability. A class containing all the options available to the Professor as stated in the use case is created to satisfy this need. This class is called ProfessorCourseOptions. Additionally, we can identify a class that deals with the addition of a new Course Offering for the Professor. This class is called AddACourseOffering.
Identify Entity Classes
This scenario deals with Courses, their Course Offerings, and the Professor assignment. We can identify three entity classes: Course, CourseOffering, and Professor.
Identify Control Classes
We will add one control class to handle the flow of events for the use case. This class is called ProfessorCourseManager.
The identified classes (with stereotypes set to entity, control, or boundary) have been added to the model as shown in Figure 4-10. Since there is already an actor named Professor, Rational Rose will notify you that Professor now exists in multiple namespaces when you create the Professor class.
Figure 4-10. Classes for the Add a Course Offering to Teach Scenario
The next step is to group classes into packages. At this time, we have identified six classes: Course, CourseOffering, Professor, ProfessorCourseOptions, AddACourseOffering, and ProfessorCourseManager. They fall into three logical groups ”things unique to the university, things that contain information about people, and things that are interfaces to actors. We can identify packages: Interfaces, University-Artifacts, and PeopleInfo. The classes are relocated to the identified packages. The packages along with their contained classes are shown in Figure 4-11.
Figure 4-11. Packages in the Browser
|I l @ ve RuBoard|