Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

1 . Brief Task Descrip on A small library needs a system to track the details of their available books and members. They provided you

1. Brief Task Descripon
A small library needs a system to track the details of their available books and members. They provided
you with the data source CSV file. The file contains details of all books that are available for members
to borrow and return within three days. It is made available to you for implementaon and tesng,
but the system should allow any file to be used - a different file will be used for your CW marking (do
NOT hardcode the filename). You have been provided with the UML diagram in Figure 1 to design the
soware and must implement the classes as shown any deviaon will be marked down. You must
use the Git version control system with regular commits pushed to a repository on either Bitbucket or
GitHub.
You should NOT use any third-party libraries or code as a part of your soluon and all code must be
wrien by you, e.g., not automacally generated by an A.I. or IDE. Do not use any non-standard code
or libraries or system calls in your program.
2. Submission
The submission will be done via subming a link to your Bitbucket or GitHub repository. The online
repository MUST consist of all-required source code; a single MP4 video file of a screencast
presentaon and a single PDF file of the presentaon slides. The deadline is 5:30pm on Friday, 12th
January 2024.
The repository should include:
C++ source code files of your program.
C++ source code of Catch2 tests which test your code.
a makefile to compile your program.
In the presentaon you should show your slides while you describe each secon. Full details of what
should be included in the presentaon are given below. The video should be a maximum of 6 minutes
long. If the video is longer, only the first 6 minutes will be marked. The video must also include a short
demonstraon of your soware where you demonstrate understanding of the implementaon (note:
just running the program will not demonstrate any knowledge of the implementaon).
Notes:
Only the required files MUST be included in your repository, no other files (any other files
will not be used when marking your work).
If code does not compile and run, it will severely limit your marks for the code.
Do not use any non-standard or OS specific libraries or system calls, which will prevent your
program from working correctly when being marked.
Do not make any further commits to the repository once you have made the submission
the date of commits will be monitored and anything commied aer the deadline will be
ignored.
Requests to pre-assess summave assessment will be (politely) refused.
2
Figure 1: The UML class diagram for the library system.
3
3. Scenario
A small library has these types of books that are available to borrow for members only:
1. Science ficon
2. Sare
3. Drama
4. Acon and Adventure
5. Romance
6. Mystery
7. Horror
8. Health
9. Guide
10. Diaries
11. Comics
12. Journals
13. Biographies
14. Fantasy
15. History
16. Science
17. Art
All books have an id, name, author, type, and page count.
The program will only be used by the librarian at the library (not by customers/members) and will not
take payment details.
The system should include the following funconality:
Add a member the librarian should be able to create a new member and display the new
members details directly following the creaon of the member.
Issue a book to a member the librarian should be able to issue a book to an individual
member with a valid due date from the date of issue (3 days).
Return a book the librarian should be able to return a book from an individual member.
Display all books borrowed by any individual member the librarian should be able to display
all books borrowed by an individual member.
Calculate a fine for any individual member for overdue book(s) upon the return of a book, if
the books due date has expired, a fine should be calculated based on a rate of 1 per day
overdue.
Your program must have input validaon to ensure it performs correctly and helpful error messages
informing the user of any incorrect input. It should be intuive, i.e., the user shouldnt need to read
the source code or aend training to know how to use the system.
4
4. Detailed Descripon
It is recommended that you complete the tasks in the following order as the later sub-tasks will require
the earlier ones.
4.1. Plan Soware
Begin by planning which classes you need and how the soware will work using the provided UML
diagram.
You should include:
use case diagram(s)
we provided you with the class diagram(s)
acvity diagram(s)
4.2. Create a Git Repository
Create a Git repository for your coursework on Bitbucket or GitHub. As you create new files, you
should add them to the Git repository. Commit regularly with clear, useful commit messages. You will
need to submit the URL for your Git repository
image text in transcribed

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Secrets Of Analytical Leaders Insights From Information Insiders

Authors: Wayne Eckerson

1st Edition

1935504347, 9781935504344

More Books

Students also viewed these Databases questions