Phase 2a

Due Date: see roadmap

Objectives

An understanding of
  • Requirements analysis
    • use cases
    • activity diagrams
    • class diagrams
    • archetypes
  • Business tier concepts and patterns
    • domain model
    • service layer

Your Job

In this phase, your job is to produce the following deliverables using a suitable UML modeling tool, other drawing tool of your choice, or pencil and paper. This short UML reference will get you started with class and activity diagrams; additional inline references are provided below.

Use case diagram

Analyze the functional requirements and create a UML system use case diagram as described in this introduction. Roughly, each action a certain kind of user can perform leads to a use case (scenario).

For the remaining deliverables, focus on the following three use cases, each of which involves a different actor:
  • guest browses available resources
  • member reserves an unavailable resource
  • staff checks in resource returned by a member

Activity diagrams

For each of the three use cases listed above, create a UML activity diagram that models the work flow (dynamic behavior) of that use case. The following resources on activity diagrams are available, among many others:

Class diagram

  • Analyze the functional requirements and create a complete UML class diagram as described in this introduction.
  • Initially, each concept or entity in the requirements leads to a class with the attributes stated for the entity. For each class in your diagram, specify which of Coad et al.'s four UML archetypes it belongs to (see also this book chapter):
    • indicate the archetype as a UML stereotype
    • set the color of the class accordingly
  • You should model roles as separate role classes (not as subclasses of user) so that any user can play more than one role as required. (For further discussion, please see here.) Furthermore, include the relationships among the various classes in your diagram.
  • Carefully analyze and then show the relationships between the various classes (is-a, has-a, uses). Be sure to distinguish between aggregation and composition.
  • You need not show methods or instance variables at this stage.

Grading

  • 1.5 use case diagram
  • 4.5 three activity diagrams
  • 1 classes 
  • 1 archetypes and roles
  • 2 associations
  • 10 TOTAL
Comments