Question 1 [4pts]. Interpret and explain the use case diagram in Figure 1. Explain the various roles of those using the system and what functions each role requires. Explain the relationships and how the use cases are related to each other.
Figure 1. A use case diagram for the inventory system.
Question 2 [5 pts] To review your skills in developing a class diagram, develop a domain class diagram, including associations and multiplicities, based on the following narrative. This case is a simplified (initial draft) of a new system for the University Library. Of course, the library system must keep track of books. Information is maintained about both book titles and the individual book copies. Book titles maintain information about title, author, publisher, and catalog number. Individual copies maintain copy number, edition, publication year, ISBN, book status (whether it is on the shelf or loaned out), and date due back in.
The library also keeps track of patrons to the library. Because it is a university library, there are several types of patrons, each with different privileges. There are faculty patrons, graduate student patrons, and undergraduate student patrons. Basic information about all patrons is name, address, and telephone number. For faculty patrons, additional information is office address and telephone number. For graduate students, information such as graduate program and advisor information is maintained. For undergraduate students, program and total credit hours are maintained.
The library also keeps information about library loans. A library loan is a somewhat abstract object. A loan occurs when a patron approaches the circulation desk with a stack of books to check out. Over time a patron can have many loans. A loan can have many physical books associated with it. (And a physical book can be on many loans over a period of time. Information about past loans is kept in the database.) So, in this case, an association class should be created for loaned books.
If a book is checked out that a patron wants, he/she can put that title on reserve. This is another class that does not represent a concrete object. Each reservation is for only one title and one patron. Information such as date reserved, priority, and date fulfilled is maintained. When it is fulfilled, the system associates it with the loan on which it was checked out.
Question 3 [ 5pts]: Given the following narrative, do the following: Develop an activity diagram for the following scenario.
Quality Building Supply has customers who are contractors. Sales to contractors are done as the following:
When a contractor buys materials, he/she takes them to the contractor checkout desk. The clerk enters the contractor name into the system. The system displays the contractor information, including his/her current credit standing.
The clerk then opens up a new ticket (sale) for the contractor. Next, the clerk scans in each item to be purchased. The system finds the price of the item and adds the item to the ticket. At the end of the purchase, the clerk indicates the end of the sale. The system compares the total amount against the contractor’s current credit limit, and if it is acceptable, finalizes the sale. The system creates an electronic ticket for the items, and the contractor’s credit limit is reduced by the amount of the sale. Some contractors like to keep a record of their purchases, so they request that the ticket details be printed out. Others aren’t interested in a printout.
Question 4 [6 pts[: From the given use case descriptions, develop sequence diagrams:
|Use Case Name:||Record traffic ticket|
|Scenario:||Record traffic ticket|
|Triggering Event:||Officer sends in new ticket|
|Brief Description:||The officer gives the traffic ticket to the clerk. Using the information on the traffic ticket, the clerk first verifies the officer by entering the badge number. Then, the clerk verifies the driver information by entering the driver’s license number. Finally, the clerk enters the ticket information.|
|Preconditions:||The officer must exist.
The driver must exist.
|Postconditions:||The ticket must exist and be associated with the driver, the officer, and a court.|
|Flow of Events:||Actor||System|
|1. Clerk enters officer badge number.
2. Clerk enters driver’s license number.
3. Clerk enters ticket information.
|1.1 System reads officer information and displays the name.
2.1 System reads the driver information and displays the driver name and address.
3.1 System displays ticket and driver information.
|Exception Conditions:||1.1 Officer is not found.
2.1 Driver is not found.
|Use Case Name:||Enter plea|
|Scenario:||Enter not guilt plea|
|Triggering Event:||Driver requests trial.|
|Brief Description:||The clerk reviews the letter from the driver. If the driver requests a court date (pleads not guilty), the clerk enters that information. The system produces a formatted return letter to the driver.|
|Preconditions:||The driver must exist.
The ticket information must exist.
The court must exist.
|Postconditions:||The ticket information is updated.|
|Flow of Events:||Actor||System|
|1. The clerk enters the not guilty plea requesting a court date.||1.1 The system finds the driver and ticket and updates the ticket information.|
|Exception Conditions:||1.1 Driver or ticket cannot be found in the system.|