Question
5. In this problem, you will perform the analysis workflow of the library software product described by Problem 8.7. We will go into detail about
5. In this problem, you will perform the analysis workflow of the library software product described by Problem 8.7. We will go into detail about how you should accomplish this.
We will work from this use-case diagram of the library circulation system.
5a (10 pts).
Write out scenarios of each use case. Below is a guide for the scenarios to cover. For some use cases, specific scenarios are laid out. Other use cases only give the number of scenarios that you should create in order to cover the different possibilities.
Check out book:
o Book is available (successful checkout)
o Book is on hold for another borrower (unsuccessful checkout)
o Book is on hold for the borrower checking it out (successful checkout)
Return book
o Book is successfully returned
Add or remove book:
o (2 scenarios)
Hold book:
o (2 scenarios)
Query catalog:
o (3 scenarios)
Ill get you started by specifying the first scenario for Check out book:
A borrower hands a book and his or her card to a librarian. 1. The librarian enters C at the computer terminal, and then scans the bar codess on the book and on the borrowers card. 2. The system determines that there is no hold on the book for another borrower. 3. The system updates the relevant book data. The librarian stamps the book and hands it to the borrower, together with the card.
To complete part a, finish filling out the scenario list above and specify each scenario.
Things to remember when specifying scenarios:
Use responsibility-driven design (pg. 408).
Avoid passive voice
Use present tense
5b (10 pts).
Use noun extraction to identify entity classes (pg. 411).
In your work, you should include:
A description of the software product in a single paragraph.
The list of nouns in that paragraph.
The candidate entity classes that you filtered from the list of nouns.
Finally, using the entity classes that you identified, create an initial class diagram (example: Figure 13.5). Make sure to include any properties that belong to that class.
5c (10 pts).
Using your identified entity classes and scenarios, create a statechart for the library software product.
5d (30 pts).
In this part, youll create interactions diagrams that realize some of the scenarios you described in part a. First, Ill give you the boundary classes and control class for the system (youve already identified the entity classes):
Boundary classes: Librarian Screen Class (used by the librarians) and Query Screen Class (used by both librarians and borrowers)
Control class: Library Control Class
Create a class diagram (example: Figure 13.34) for the Check out book use case
Create two communication diagrams (example: Figure 13.36):
One for the Check out book use case where the book is successfully checked out
One of the Check out book use case where the book cant be checked out because it is on hold for someone else
Create two sequence diagrams (example: Figure 13.38) that correspond to the above communication diagrams.
Write two flows of events (example: Figure 13.37) that correspond to the two Check out book use cases described by the communication and sequence diagrams.
5e (15 pts).
Create a class diagram for the Query catalog use case
Create a communication diagram for one realization of the query catalog use case
Create a sequence diagram that corresponds to the communication diagram you created
5f (5 pts).
Finally, create a class diagram that combines the Check out book and Query catalog class diagrams
-------------------------------------------------------------------------------------------------------------------------------
8.7 Consider an automated library circulation system. Every book has a bar code, and every borrower
has a card bearing a bar code. When a borrower wishes to check out a book, the librarian
scans the bar codes on the book and the borrowers card, and enters C at the computer terminal.
Similarly, when a book is returned, it is again scanned and the librarian enters R . Librarians can
add books ( + ) to the library collection or remove them ( ). Borrowers can go to a terminal and
determine all the books in the library by a particular author (the borrower enters A= followed by
the authors name), all the books with a specifi c title ( T= followed by the title), or all the books
in a particular subject area ( S= followed by the subject area). Finally, if a borrower wants a book
currently checked out, the librarian can place a hold on the book so that, when it is returned,
it will be held for the borrower who requested it ( H= followed by the number of the book).
Explain how you would ensure a high percentage of reusable code artifacts.
Library Circulation System Check Out Book Return Book Add or Remove Book Hold Book Borrower Librarian Query Catalog Button Class illuminated : Boolean FIGURE 13.5 The first iteration of the class diagram for the elevator problem case study Elevator Button Class Floor Button Class 2m-2 communicates communicates with with Elevator Class doors open: Boolean Library Circulation System Check Out Book Return Book Add or Remove Book Hold Book Borrower Librarian Query Catalog Button Class illuminated : Boolean FIGURE 13.5 The first iteration of the class diagram for the elevator problem case study Elevator Button Class Floor Button Class 2m-2 communicates communicates with with Elevator Class doors open: BooleanStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started