Design and evaluate a complex object oriented system

Assignment Help Other Subject
Reference no: EM133974394

Assignment:

The following learning outcomes will be assessed:

  • Understanding object oriented paradigm and object oriented programming concepts.
  • Understand and implement the software development lifecycle, and development methodologies pertinent within current industry practice
  • Solve complex problems using an object oriented approach to software development.
  • Design and evaluate a complex object oriented system through appropriate software engineering and design models, using UML diagrams, notations, & techniques.

Important Information
You are required to submit your work within the bounds of the University Infringement of Assessment Regulations (see your Programme Guide).  Plagiarism, paraphrasing and downloading large amounts of information from external sources, will not be tolerated and will be dealt with severely.  Although you should make full use of any source material, which would normally be an occasional sentence and/or paragraph (referenced) followed by your own critical analysis/evaluation.  You will receive no marks for work that is not your own. Your work may be subject to checks for originality which can include use of an electronic plagiarism detection service. Enjoy trusted, budget-friendly assignment help from today onward!

For this assessment you are asked to submit an individual piece of work, therefore the work must be entirely your own.  The safety of your assessments is your responsibility.  You must not permit another student access to your work.

Referencing for this assessment should be done using the Harvard referencing system. (see your Programme Guide).
Please ensure that you retain a duplicate of your assignment.  We are required to send samples of student work to the external examiners for moderation purposes.  It will also safeguard in the unlikely event of your work going astray.

Document Format
 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".
Microsoft word document titled "studentID_class_diagram.docx" This file should contain System design using UML methodology.
Screencast. Your screencast should be in MPEG or MOV file format titled "studentID_screencast"
Replace "studentID" with your university student ID.
Submit the file in the allocated assignment submission windows.

Other requirements
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:
Define a constructor to create new book records. Each record should have include the following attributes:
Randomly generated book ID, title, author, year, publisher, number of available copies and publication date.
Define different methods to set each of the following book attributes, one method per attribute:
title, author, year, publisher, number of available copies and publication date.
Define  different methods to return each the following book attribute, one method per attribute:
title, author, year, publisher, number of copies, available number of copies and publication attribute.
The class should include error checking (e.g., exception handling).
The class should be documented by comments.
BookList: Define a Python class with methods to do the following:
Define a constructor to create new object from this class.
Define a method to store a collection (e.g., dictionary). The collection should store book instances that are created from the Book object.
Define a method to search through the collection and find a book by one of the following data: title, author, publisher OR publication date.
Define a method to remove a book from the collection. The book should be specified by its title.
Define a method to return the total number of books stored in the collection.
The class should include error checking (e.g., exception handling).
The class should be documented by comments.
Users: Define a Python class with functions to do the following:
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.
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.
Define different methods to edit the following attribute: firstname, surname, email address, and date of birth. You should have one method per attribute.
The class should include appropriate error checking.
The class should have be well documented by comments.
UserList: Define a Python class with functions to do the following:

Define a constructor to create new object from this class.
A method to store a collection (e.g., dictionary) of user instances that are created with the class Users.
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.
A method to count the number of users in the system. This should be based on the number of user object in the collection.
A method to return a user's detail by the username.
The class should include appropriate error checking (e.g., exception handling).
The class should be well documented by comments.
 Loans: Define a Python class with methods to do the following:

Define a constructor to create new object from this class.
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.
A method for a user to return a book. This method should un-assign a book previously assigned to a user.
A method to count and return the total number of books a user is currently borrowing.
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.
The class should include appropriate error checking (e.g., exception handling).
The class should be well documented by comments.

Extras
Extend your program to include the following features:
Books: Modify a book's title, author, year, and publisher and number of copies from an easy to use command line user interface.
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.
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.
Appropriately pitched and paced audio.

 

Reference no: EM133974394

Questions Cloud

Identify the factors that increase intensity of rivalry : Identify the factors that increase the intensity of rivalry in the craft beer industry. Also, identify the factors that decrease the intensity of rivalry.
General business and macro-economic environment : Conduct an analysis of the general business / macro-economic environment facing Mihi.
Human resource professional at large retail chain : Suppose you are a human resource professional at a large retail chain. Cashier at one of the company's stores
Management efficiency analysis : List the accounting measures (ratios, values, etc.) that should be used for management efficiency analysis.
Design and evaluate a complex object oriented system : Design and evaluate a complex object oriented system through appropriate software engineering and design models, using UML diagrams, notations, & techniques
Briefly define and critique concept of victim precipitation : Briefly define and critique the concept of victim precipitation. Outline a strategy for this reduction with two specific components/recommendations.
Support capabilities of typical health care operation : Consider the support capabilities of a typical health care operation and where employees may access data of various types related to patient needs.
Object oriented approach to software development : Solve complex problems using an object oriented approach to software development - You are required to design, implement and test a small console-based quiz
Evaluate to what extent the leader had credibility : Evaluate to what extent the leader had credibility, where it stemmed from, and whether there were areas for the leader to improve.

Reviews

Write a Review

Other Subject Questions & Answers

  Cross-cultural opportunities and conflicts in canada

Short Paper on Cross-cultural Opportunities and Conflicts in Canada.

  Sociology theory questions

Sociology are very fundamental in nature. Role strain and role constraint speak about the duties and responsibilities of the roles of people in society or in a group. A short theory about Darwin and Moths is also answered.

  A book review on unfaithful angels

This review will help the reader understand the social work profession through different concepts giving the glimpse of why the social work profession might have drifted away from its original purpose of serving the poor.

  Disorder paper: schizophrenia

Schizophrenia does not really have just one single cause. It is a possibility that this disorder could be inherited but not all doctors are sure.

  Individual assignment: two models handout and rubric

Individual Assignment : Two Models Handout and Rubric,    This paper will allow you to understand and evaluate two vastly different organizational models and to effectively communicate their differences.

  Developing strategic intent for toyota

The following report includes the description about the organization, its strategies, industry analysis in which it operates and its position in the industry.

  Gasoline powered passenger vehicles

In this study, we examine how gasoline price volatility and income of the consumers impacts consumer's demand for gasoline.

  An aspect of poverty in canada

Economics thesis undergrad 4th year paper to write. it should be about 22 pages in length, literature review, economic analysis and then data or cost benefit analysis.

  Ngn customer satisfaction qos indicator for 3g services

The paper aims to highlight the global trends in countries and regions where 3G has already been introduced and propose an implementation plan to the telecom operators of developing countries.

  Prepare a power point presentation

Prepare the power point presentation for the case: Santa Fe Independent School District

  Information literacy is important in this environment

Information literacy is critically important in this contemporary environment

  Associative property of multiplication

Write a definition for associative property of multiplication.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd