phytontask2
phytontask2
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.
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
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”
4. Replace “studentID” with your university student ID.
5. Submit the file in the allocated assignment submission windows on Canvas.
Other 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.
https://study.online.sunderland.ac.uk/courses/1490/assignments/11396 Page 1 of 4
7.9: Assessment 2 - summative, system development using Python 25/09/2024, 12:13
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:
1. Define a constructor to create new book records. Each record should have include the following attributes:
1. Randomly generated book ID, title, author, year, publisher, number of available copies and publication date.
2. Define different methods to set each of the following book attributes, one method per attribute:
1. title, author, year, publisher, number of available copies and publication date.
3. Define different methods to return each the following book attribute, one method per attribute:
1. title, author, year, publisher, number of copies, available number of copies and publication attribute.
4. The class should include error checking (e.g., exception handling).
5. The class should be documented by comments.
Extras (5 points)
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.
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
https://study.online.sunderland.ac.uk/courses/1490/assignments/11396 Page 2 of 4
7.9: Assessment 2 - summative, system development using Python 25/09/2024, 12:13
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:
Guidelines
This assignment should be submitted no later than Monday of week 8 at 23.59 UK time
Grading
This activity will be graded and you will receive feedback on it. The following rubric is provided to help you understand how you will be graded.
https://study.online.sunderland.ac.uk/courses/1490/assignments/11396 Page 3 of 4
7.9: Assessment 2 - summative, system development using Python 25/09/2024, 12:13
Criteria Ratings
System 30 Pts 27 Pts 24 Pts 21 Pts 19 Pts 16 Pts 13 Pts 10 Pts 7 Pts
features/functionality Full marks pass pass pass pass pass pass fail fail
All the All the All the Most of the Most of the Most of the Some Some No source code file
functionalities functionalities functionalities functionalities functionalities functionalities relevant relevant submitted. Or,
implemented implemented implemented, are are are functionalities functionalities irrelevant files are
and with no with minor with major implemented implemented implemented are implemented submitted and it is
deficiencies deficiencies deficiencies with no but with but with implemented but with missing most of the
and including and including and including deficiencies. minor major with no major required files for a
extra features extra features extra features deficiencies deficiencies deficiencies. deficiencies. functional system.
irrelevant
functionalities are
implemented
Source code 5 Pts 4.5 Pts 4 Pts 3.5 Pts 3 Pts 2.5 Pts 2 Pts 1.5 Pts 1
annotation and Full marks pass pass pass pass pass pass fail fail
naming convention
Full source Full source Full source code Good Good source Good source code Some Some source code No sou
code and code annotation but major source code annotation with source annotation with code
detailed annotation deficiencies, e.g., annotation annotation major deficiencies, code many deficiencies, annota
annotation but manor lack details, not code with with minor e.g., lack details, not annotation e.g., lack details,
with no deficiencies, following no deficiencies, following with no not following
deficiencies e.g., lack conventions or deficiencies e.g., lack conventions or deficiencies conventions or
details. inappropriate details inappropriate inappropriate
Class diagram 10 Pts 9 Pts 8 Pts 7 Pts 6 Pts 5 Pts 4 Pts 3 Pts 2
Full marks pass pass pass pass pass pass fail fail
Excellent class Excellent class Very good Very Good Good class Good class Good class Good class No clas
diagram has diagram but class diagram design report diagram has diagram has diagram has diagram has diagram
been made with very little have been have been been made to been made to been made to been made has be
with no errors errors or lack of made to show made to show show most of show most of cover some of with incorrect made,
or lack of details and all of the most of the the system the system the system information, it incorre
details. mostly system system components components components, doesn’t cover informa
consistent with consistent with components components and their and their missing details the complete or miss
the system the system and their and their connections, connections. and doesn’t system and too mu
implementation. implementation. connections. connections. the design But the design fully reflect the doesn’t fully details.
Consistent with Including Including partially reflects doesn’t reflect system reflect the
the system showing showing correct the system the system implementation system
implementation. correct information and implementation. implementation. implementation.
information. mostly reflects
But the design the system
is slightly implementation.
different from
the system
implementation
Demonstration 20 Pts 18 Pts 16 Pts 14 Pts 12 Pts 10 Pts 8 Pts 6.67 Pts 2.67
Full marks pass pass pass pass pass pass fail fail
Excellent and Relevant, Relevant, Relevant, Relevant, Relevant, some Relevant, some Relevant, No coher
relevant, content, coherent and coherent and largely largely coherent structure coherent structure little coherent structure
coherent and logically logically coherent and coherent and and organisations. and organisation. structure and and
logically structured structured logically logically Relevant content Relevant content organisation. organisa
structured. with no with minor structured structured but but with some but there are Some Some
Excellent use of inconsistency inconsistency with no with some minor major relevant and irrelevan
headings and or poorly or poorly inconsistency minor inconsistencies. inconsistencies. acceptable poorly
titles. no presented presented or poorly inconsistency Or sometime Or sometime presentation presente
inconsistency content content presented or poorly poorly presented poorly presented of content content
and clearly content presented content content
presented content
content
https://study.online.sunderland.ac.uk/courses/1490/assignments/11396 Page 4 of 4