Python代写:DE2 Software Information System

代写一个信息系统,需要用到数据结构中的binary search tree, hash tables等等。

Individual assignment brief

Individual assignment description

The individual assignment for Computing 2 is intended to test your ability to create a complete software solution from scratch based on an initial specification.
Your task is to design and implement a complete software information system, capable of storing and processing information about a particular topic (domain). The topic for each individual assignment will be chosen by each student and can be anything, such as: books in a library, movies in a cinema, products in a shop, etc. Each student must have a unique topic, i.e. there can be no duplicate topics!
Please read carefully the initial requirements specification given below for the software information system you need to build. You will need to expand and adapt these to the particular topic you have chosen. To be successful at this assignment, you need to follow the best practices in software systems design and software project management and to implement all necessary modules of the system.

Requirements specification

This is the initial requirements specification for the software information system:

  1. Provide a way to input new data in the system (e.g. register new books).
  2. Provide a storage back-end using one or more of the data structures we studied in Computing 2 (e.g. binary search trees, hash tables, etc.).
  3. Provide a way to save the data from memory into an external file.
  4. Provide a way to load the data from an external file into memory.
  5. Provide an interface for visualization of the data (could be just printed on the console).
  6. Provide a way to search through the data by inputting a key.
  7. Provide a way to sort the data by some key.
  8. Provide a way to organize the data in a suitable way (e.g. group the data in categories, genres, etc.)
  9. Provide a way to calculate statistics on the data, such as calculating mean values, finding min and max values, etc.
  10. Provide data verification and user fool-proofing, e.g. by detecting wrong input and asking to re-enter the input, rather than crashing with an error.

Assessment

This individual assignment accounts for 30% of the final grade for Computing 2.
It is due in Week 11;

Marking criteria

Your individual project will be assessed according to the following criteria:

  1. Documentation - whether you have appropriate comments and explanations in the source code, as well as a User’s Manual with instructions how to use the system.
  2. Quality - whether you have structured well your source code, based on principles of encapsulation and object-oriented programming.
  3. Algorithmic complexity - based on the proposed algorithms for the searching and sorting of the data.
  4. Implementation efficiency - based on the efficiency of the implemented algorithms.
  5. Visualization - based on the implemented way to visualize the data from the information system, input new data and show reports from queries.