CS3013 Software Engineering II

Midterm Sample Solution

Oct. 22, 1999

Write your answers in the booklet.

  1. (20%)
  1. Draw a diagram to show the 4+1 architectural views of a software system.
  2.  

  1. There are six models of the unified process: use-case model, analysis model, design model, implementation model, test model, and deployment model. For EACH of the five views, what models are used to describe the view?

·          

  1. For EACH of the six models, what UML diagrams are used to describe the model?

·          

  1. (20%) Give short explanations of the following terms and their relationships in the life of the unified software development process.

·  ·  Cycles, Phases, Iterations, Workflows

  1.  
    1. Inception: understanding user requirements
    2. Elaboration: specifying user requirements
    3. Construction: implementing requirements
    4. Transition: installing and deploying the system
  1. (20%) The following is the description of an auto-checkout system for a library.
  2. A library consists of many books. Books in the library can be classified into educational books and recreational books. A library user with a library card can borrow books from the library. The user can take books to a computer auto-librarian to check out the books. The auto-librarian scans the user's card and records the user's id in the books' records on the computer.

From the above description, we identify the following classes.

Identify and draw association, aggregation, dependency, and generalization relationships with multiplicity in UML between the classes. Briefly explain each multiplicity.

  1. (20%) The following is the description of an automatic book reservation system for a library.
  2. Using the system, a user can reserve a library book for a period of time through the Internet. There are two ways for a user to find a book to be reserved, by browsing the library catalogs, or by searching with adequate information such as book title, author, and ISBN number. Using the system, a librarian can check reservation information and prepare books to be picked up on the starting days of reservations.

Identify actors and use cases of the above system and draw a use case diagram. If there is a relationship between two use cases in the diagram, show that it is an <<include>> or <<extend>> relationship.

Solution 1: 

Solution 2:

 

  1. (20%) The next page (page 3) shows a part of the UML model for the course registration system.

·  Assume that when a student registers a course section, if the section is closed, the system will put the student into a waiting list of the section.

  1. Draw a collaboration diagram with hierarchical sequence numbering to show a student actor "Joe" registering course section "Math101Section1" but the section is closed.
  2. According to the collaboration diagram, add additional attributes and/or operations to related classes in the class diagram.

· 

 

 

Solution: