Custom-Written, AI-Free & Plagiarism-Free Academic Work by Assignment Experts

Assignment Experts UK is a trading name of AKOSZ TEC LTD (Company No. 11483120). View on Companies House

Understanding object oriented paradigm and object oriented programming concepts.

Assignment Brief

TASKS:

The following learning outcomes will be assessed:

  1. Understanding object oriented paradigm and object oriented programming concepts.

  2. Understand and implement the software development lifecycle, and development methodologies pertinent within current industry practice

  3. Solve complex problems using an object oriented approach to software development.

  4. Design and evaluate a complex object oriented system through appropriate software engineering and design models, using UML diagrams, notations, C techniques.

  5. A fully documented (i.e. containing suitable comments) Python program which should implement the system requirements. You must submit your entire system in a zip file titled

Document Format:

  1. A fully documented (i.e. containing suitable comments) Python program which should implement the system requirements. You must submit your entire system in a zip file titled “studentID_system_source_code.zip”.

  2. Microsoft word document titled “studentID_class_diagram.docx” This file should contain System design using UML methodology.

  3. Screencast. Your screencast should be in MPEG or MOV file format titled “studentID_screencast”

You must adhere to the above assessment requirements.

Your source code will be checked for plagiarism using Pycode open source software

System Specification

The assignment for this module is to implement a library record system in Python. You are asked to build a system by using object oriented programming concepts. It should be possible to create objects from your implemented Python classes. Each class should contain information about different parts of the system. The objects should be created from the classes and interact with each other to achieve the correct functionality of the system. There are several Python classes to be written for this assignment. The system should include the following Python classes as minimum: Books, BookList, Users, UserList and

Loans. See the Tasks section below for specific details about each class. 

Programming Tasks

Design and implement a software system for a fictitious library system. Your system should follow object oriented programming approach. It should contain the following components each represented in a Python class:

Books: Define a Python class with methods to do the following:

  1. Define a constructor to create new book records. Each record should have include the following attributes:

  2. Randomly generated book ID, title, author, year, publisher, number of available copies and publication date.

  3. Define different methods to set each of the following book attributes, one method per attribute:

  4. title, author, year, publisher, number of available copies and publication date.

  5. Define different methods to return each the following book attribute, one method per attribute:

  6. title, author, year, publisher, number of copies, available number of copies and publication attribute.

  7. The class should include error checking (e.g., exception handling).

  8. The class should be documented by comments.

BookList: Define a Python class with methods to do the following:

  1. Define a constructor to create new object from this class.

  2. Define a method to store a collection (e.g., dictionary). The collection should store book instances that are created from the Book object.

  3. Define a method to search through the collection and find a book by one of the following data: title, author, publisher OR publication date.

  4. Define a method to remove a book from the collection. The book should be specified by its title.

  5. Define a method to return the total number of books stored in the collection.

  6. The class should include error checking (e.g., exception handling).

  7. The class should be documented by comments.

Users: Define a Python class with functions to do the following:

  1. Define a constructor to create a user with the following attributes:

    • username, firstname, surname, house number, street name, postcode, email address, and date of birth.

  2. Define different method to return the following attributes: username, firstname, surname, house number, street name, postcode, email address, and date of birth. You should have one method per attribute.

  3. Define different methods to edit the following attribute: firstname, surname, email address, and date of birth. You should have one method per attribute.

  4. The class should include appropriate error checking.

  5. The class should have be well documented by comments.

UserList: Define a Python class with functions to do the following:

  1. Define a constructor to create new object from this class.

  2. A method to store a collection (e.g., dictionary) of user instances that are created with the class Users.

  3. A method to remove a user from the collection by giving the user’s first name. This operation must inform program users if there are two or more users with same first name.

  4. A method to count the number of users in the system. This should be based on the number of user object in the collection.

  5. A method to return a user’s detail by the username.

  6. The class should include appropriate error checking (e.g., exception handling).

  7. The class should be well documented by comments.

Loans: Define a Python class with methods to do the following:

  1. Define a constructor to create new object from this class.

  2. A method for a user to borrow a book. This method should have appropriate features to assign a book to a user. The information could be stored in an appropriate data structure for further processing.

  3. A method for a user to return a book. This method should un-assign a book previously assigned to a user.

  4. A method to count and return the total number of books a user is currently borrowing.

  5. A method to print out all the overdue books along with the users’ username and first name. The username and first name of the user should be retrieved through the appropriate methods in the User class.

  6. The class should include appropriate error checking (e.g., exception handling).

  7. The class should be well documented by comments.

Extras:

Extend your program to include the following features:

  1. Books: Modify a book’s title, author, year, and publisher and number of copies from an easy to use command line user interface.

  2. Users: Modify a user’s first name, surname, house number, street name, postcode from an easy to use command line user interface.

Class diagram :

Create a UML class diagram for the software modelling. The UML diagram should contain the full system design and should reflect your system implementation.

  1. The UML diagram should include all the properties of the classes, the correct methods and the correct association between the classes. The diagram should reflect the system and class implementations.

Demonstration :

Prepare up to 10 minutes of recorded presentation of all the features and functionalities of your implemented software. Your presentation should show at least the following aspects of your system:

  • Clear view of the user interface.

  • Clear view of the source code generating the user interface.

  • Clear view of the source code of different classes you have implemented.

  • Show all the system functionalities using different types of input and the way your system handles errors and potential problems.

This assignment involves multiple classes, object interaction, UML design, and full system implementation, which can be difficult to complete under tight deadlines. If you need the full Python program written according to your university brief, you can visit our Python Assignment Help page to get it done properly.

100% Plagiarism Free & Custom Written,
tailored to your instructions