Library System
Suppose that you are required to
document a library system, particularly focusing on the functionality at the back end. The scope the system’s back
end is defined as follows:
• You should
include all system functions and data, such as borrowing items, accessing both
physical and electronic items, renewing loans, viewing a borrower’s account
(including overdue items and fines), searching catalogues for various items,
renewing loans, login, and asking a librarian. Note that this list is not
exhaustive.
• Some
functionality (such as book rooms, access databases, borrow ebooks) is provided
by applications integrated with the UNI library system. As such, you will need
to show that the functionality is captured, but that no structural data is
retained in this system.
• Front-end
content, such as ‘getting started in the library’, information pages (with
static HTML content), the ‘About’ section, reference guides, and general
information, is out of scope, and thus is not required to be included in your
work.
Some specific functionality is not
necessarily apparent from public or student views, but should be included:
•
An ITS officer uploads a list of lists of active
borrowers each year. The list contains staff, student and ‘others’. On this list:
a.
staff have a staff ID, barcode, name, DOB, and department
b.
students have a student ID, barcode, name, DOB and department
c.
others have a borrower ID, name, DOB, address & license number
•
The uploaded list is compared to existing borrowers by
the system. If a person have left the university, his/her account will be
removed if they have no unpaid fines. Otherwise, their borrower status is
changed to inactive, and their record is retained. A new borrower account is
created for a new person on the list
•
Librarians can also add borrowers. They create a
borrower account with a name, DOB, and an expiry date.
•
If borrowers do not have a card with a barcode (such
as those that are just created by the librarian), their borrowing status is
pending until they collect a library borrowing card from the library.
•
If a borrower is late in returning items, a fine
occurs. When a borrower has a fine exceeding $25, they can no longer renew or
borrow any items until the fine is paid. Library fines must be paid in person
to a librarian, who will then mark the fine as paid in the system and issue a
receipt.
•
Librarians can view any record in the system –
catalogue items, borrower records, etc. They can search for a record or scan a
barcode (of an item or borrower) to view the data.
•
A borrower’s status can either active, inactive, pending, temporary, or
suspended.
•
Staff may request the library to place items used by
their course on ‘reserve’ or ‘restricted borrowing’. Staff may also submit past
exam papers to the library.
•
The head librarian generates reports based on item
usage, borrowing rates, and library usage by department type (staff and
student).
You are
required to play the role as a technical business analyst, analyzing the
library system and creating diagrams as requested in the questions that follow.
Note you are not modelling a website using storyboards, site-maps etc., but
rather the back-end behavioural and structural needs of the system.
Task 1: Project planning
1.1 Draw a Gantt chart showing the project planning
across the whole assignment process.
1.2 Create a Trello board for managing your
assignment, and maintain the Trello board across the whole assignment process.
Submit a set of snapshots for the Trello board showing the updating process.
Task 2: Requirements Documentation
Write a
requirement, in plain English, for the scenario “Pay Fine”. You may need to
make creative assumptions for assignment purposes, and pretend you have
conducted requirements elicitation with the client.
Your requirements will be assessed based on whether
they:
•
are verifiable, non-ambiguous, modifiable, traceable, consistent, and
complete
•
form a set of conditions, not only a series of operations / process
descriptions
•
relate to system requirements, not only business process
Hint: This
is a potentially large task if you let your imagination run away with you. Try
to keep your requirements to the minimum – you are not being assessed on
creativity or system knowledge, just your ability to write a requirement!
Task 3: Use case diagram
You should
provide one use case diagram that includes all actors and use cases within
scope. Your diagram must include a use case named ‘Pay Fine’, as documented in
Task 2. Your diagram will be assessed based on:
•
Consistency with the scope including the specific functionality
requested
•
Appropriate use of actors, includes/extends, and generalization
•
Appropriate use of UML notation
Task 4: Use case textual description
Borrowing a
book is the key function of this system. This functionally includes searching,
borrowing and returning book to the library. Develop a description of the use
case using “Template – Use Case textual description” as per Appendix.
Hint: This is a potentially large task
if copious low-level data is included, so ensure you provide the appropriate level of information. For
example, in the flow of events a step may be “Log in” or “System validation”
instead of “insert student card with bar code facing up for scanning”.
Task 5: Sequence diagram
You should create a sequence diagram for the
scenario below:
Lee is a
current student with active borrowing privileges. At a desk physically located
in the library, Lee searches for the book named “UML Distilled”. Viewing the
results, Lee notes it is currently on loan and places a hold on the item.
Your
diagram should highlight how objects interact to achieve the aims of the user
and any objects that are created or destroyed. Your diagram will be assessed
based on:
•
Completeness and consistency with the scenario
•
Appropriate identification and use of objects, messages, etc.
•
Appropriate use of UML notation
Task 6: Class diagram of the library system
You should create one class diagram that reflects
the data and behaviours of the library system.
Your diagram will be assessed based on:
•
Consistency with the scope including the specific functionality
requested
•
Consistency with use case model in Task 3
•
Inclusion of key classes, data members, operations and well-specified
relationships
•
Appropriate use of UML notation
Task 7: Activity diagram
Create an activity diagram to show
the activities that are involved in a student searching for a book, and placing
it on hold. Your diagram will be assessed based on:
•
Completeness and consistency with both the scenario and the sequence diagram
in Task 5.
•
Appropriate identification and use of activities, transitions,
decisions, branches, swim-lanes, etc.
•
Appropriate use of UML notation
Task 8: User interface design
Create mock-up interface for
administrators of the library. Your interface should have separate pages to
perform following tasks (each task may need several pages to accomplish a
task):
• Login, logout, forgotten
password and registration pages for library admin.
• Library
loans’ interface: This interface at least should able to show loans, overdue
loans, history of past loans and search loans with different criteria.
• Library
member’s interface: This interface should include different pages for adding
removing, suspending members of the library. It should also have the page for
searching member’s information (registered information and loan history).
• Library
borrowable items interface: Library borrowable items fall into different
categories including books, audio/videos material, and facility booking (e.g.
room, computer). Each borrowable type item should have pages for adding,
removing, and searching borrowable items.
Task 9: Test case generation
Design
a set of test cases based on the activity diagram that you design in Task 7.
Your test cases are aimed at checking validity of user input and common
vulnerabilities of your system. Your test casts should follow the format of the
below table.
Number
|
Test name
|
Description
|
Scenario
|
Precondition
|
Input
|
Expected output
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Comments
Post a Comment