Answer To: This assessment is an individual report about the design of an OOP system using Data Structures and...
Arun Shankar answered on May 30 2021
Bachelor of IT
DSAA04
Data Structure and Algorithms
Task 3
Name:
Roll number:
1. Executive Summary
We are designing a library system for the KENT university which has two campuses – one at Sydney, and another at Melbourne. The university has 300 VET level students, 400 Higher Education students, 20 professional staff, and 40 academic staff. This document specifies the design of the system - the variables, their keys and ranges. The report also describes the various operations which will be needed for the system. A nearby university with a much larger number of students also want to use the same system. The report describes the adaptations to the original system so as to render it usable to the university.
2. Introduction
The KENT university has two campuses - one at Sydney, and one at Melbourne. There are 300 VET level students, 400 Higher Education students, 20 professional staff, and 40 academic staff. The library holds 2000 books, 200 journals, 400 DVDs, and 300 other media. As any other library management system, the users of the library need to be able to borrow/return books, DVDs and journals. The users will also need to be able to search for specific items. For instance, a user might want to find out all books related to organic chemistry in the library. Or, she might want to search all books by a specific author. Therefore, the library management system must be able to support search operations based on one or more criteria.
The system must also be easily scalable. Another university, with a much larger number of students, wants to use KENT’s library system. The KENT’s library system must be scalable. The design must ensure this.
3. Background
Data can be stored using several data structures. The easiest is to store all of it in a file. For instance, all the book names can be stored in a file. When the user searches for a particular book name, the file can be opened, and the book names can be read one by one until a match is found. However, this is very slow, and the time complexity is linear.
Different data structures entail different time complexities to do the same operation. For instance, if we were to store all the book names in an array, searching will still take linear time. If we maintain all the book names in a sorted array, searching can then be accomplished in logarithmic time, however adding a new book to the database will become complicated.
Therefore one will have to address the tradeoff between speed, scale, and complexity while deciding which data structure to use. Our library system stores the books as a binary search tree. The reason for choosing a binary search tree is described in detail in the next section.
The library system provides support for searching based on the title of the book, topic or author. The details are described in detail in the next section.
4....