Answered step by step
Verified Expert Solution
Question
1 Approved Answer
1 . Brief Task Description A small library needs a system to track the details of their available books and members. They provided you with
Brief Task Description
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 implementation and testing, 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 to design the software and must implement the classes as shown any deviation 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 thirdparty libraries or code as a part of your solution and all code must be written by you, eg not automatically generated by an AI. or IDE. Do not use any nonstandard code or libraries or system calls in your program.
Submission
The submission will be done via submitting a link to your Bitbucket or GitHub repository. The online repository MUST consist of allrequired source code; a single MP video file of a screencast presentation and a single PDF file of the presentation slides. The deadline is pm on Friday, th January
The repository should include:
C source code files of your program.
C source code of Catch tests which test your code. a makefile to compile your program.
In the presentation you should show your slides while you describe each section. Full details of what should be included in the presentation are given below. The video should be a maximum of minutes long. If the video is longer, only the first minutes will be marked. The video must also include a short demonstration of your software where you demonstrate understanding of the implementation note: just running the program will not demonstrate any knowledge of the implementation
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 nonstandard 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 committed after the deadline will be
ignored.
Requests to preassess summative assessment will be politely refused.
Figure : The UML class diagram for the library system.
Scenario
A small library has these types of books that are available to borrow for members only:
Science fiction
Satire
Drama
Action and Adventure
Romance
Mystery
Horror
Health
Guide
Diaries
Comics
Journals
Biographies
Fantasy
History
Science
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 customersmembers and will not take payment details.
The system should include the following functionality:
Add a member the librarian should be able to create a new member and display the new members details directly following the creation 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 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 books upon the return of a book, if
the books due date has expired, a fine should be calculated based on a rate of per day overdue.
Your program must have input validation to ensure it performs correctly and helpful error messages informing the user of any incorrect input. It should be intuitive, ie the user shouldnt need to read the source code or attend training to know how to use the system.
Detailed Description
It is recommended that you complete the tasks in the following order as the later subtasks will require the earlier ones.
Plan Software
Begin by planning which classes you need and how the software will work using the provided UML diagram.
You should include:
use case diagrams
we provided you with the class diagrams
activity diagrams
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, as file submissions are NOT accepted.
Implement Classes
Once you are happy with your design, you should implement the classe
Step 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