CS183 - System Analysis and Design - Lab Sessions

Contents

  1. Lab Session 1 - Functional Modelling - Use Case Diagrams
  2. Lab Session 2 - Structural Modelling - Class Diagrams
  3. Lab Session 3 - Behavioural Modelling - Sequence Diagrams and State Diagrams
  4. References

Lab Session 1 - Functional Modelling - Use Case Diagrams

Objective: Understand the process used to create use case diagrams.

Task 1

Create an overview use case diagram that would illustrate the major use case descriptions (such as those provided in the document CS183_UseCaseDescriptions) for an on-line registration system. The system should enable the staff of each academic department to examine the courses offered by their department, add and remove courses, and change the information about them (e.g. the maximum number of students permitted).

The system should permit students to examine currently available courses, add and drop courses to and from their schedules, and examine the courses for which they are enrolled. Department staff should be able to print a variety of reports about the courses and the students enrolled in them.

Task 2

Draw a more detailed use case diagram from use case description 1.

Hint: Drawing use case diagrams is a four step process:

  1. Draw the subject boundary
  2. Add the use cases to the diagram
  3. Identify the actors
  4. Add appropriate associations to connect use cases and actors.

Read carefully Creating the Use Case Diagram in Dennis, Wixom, Tegarden (2005 p201).

There is a tutorial for the Violet UML tool on the course website.

Lab Session 2 - Structural Modelling - Class Diagrams

Objectives:

  1. Understand the process used to create class diagrams
  2. Understand the relationships and associations that the classes have with one another

Task 1

Draw a class diagram for the entities representing a system for cinema booking:

Hints: A ticket is only valid for one movie. Each movie usually has many tickets, but on rare occasions no tickets will be sold/issued (if the movie is really bad... !).

Task 2

Draw a class diagram for the following classes. Consider that the entities represent an online university registration system and that students can choose one course, but choose several modules from those available in that course.

Hints: For the 'student' class, the student should be able to examine currently available modules, add and remove (drop) modules to and from their schedules, and examine the modules for which they are enrolled. For the 'module offering' class, the status can be changed. For the 'department staff member' class, the staff member should be able to examine the modules offered by their department, add and remove modules, and change the information about them (e.g. the maximum number of students permitted). Also, the staff member should be able to print a variety of reports about the modules and the students enrolled in them.

Lab Session 3 - Behavioural Modelling - Sequence Diagrams and State Diagrams

Objective: Understand the process used to create sequence diagrams and state diagrams.

Task 1

Read the following scenario for a video store system and create a sequence diagram. Assume, for this diagram, that every customer entering the store has a valid membership card.

Each customer must have a valid card in order to be allowed to rent a video for three days. Every time a customer rents a video, the system must check that the customer does not have any overdue videos. If so, the overdue videos must be returned, and a fine paid before the customer can rent any more videos.

Hints: A customer selects a video and then takes the video to the front desk. The desk assistant checks the RentalDatabase to see if the customer has any overdue videos. When an overdue fee is paid, the VideoDatabase is updated, and the system must generate a receipt.

Task 2

Consider the video store that is described in task 1. Draw a state diagram that describes the various states that the video class goes through from the time it is placed on the shelf through the rental and return process.

Hints: A video can be displayed by the store, observed, selected, rented, watched, returned by the customer, checked for damage by the store, checked in if its condition is good, and discarded if its condition is poor

References

__________________

Valid XHTML 1.0 Strict Valid CSS!