5. In this problem, you will perform the analysis workflow of the library software product described by
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 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)
I’ll 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 borrower’s 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, you’ll create interactions diagrams that realize some of the scenarios you described in part a. First, I’ll give you the boundary classes and control class for the system (you’ve 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 can’t 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 borrower’s 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 author’s 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.
Integrated Accounting
ISBN: 978-1285462721
8th edition
Authors: Dale A. Klooster, Warren Allen, Glenn Owen