Library inventory using a client-server model

Assignment Help Data Structure & Algorithms
Reference no: EM13115810

The LIMS to support multiple clients to query and update the library inventory using a client/server model. LIMS should allow multiple clients to safely access the inventory, and using a producer-consumer model to borrow/return library items.

Elaboration:

1. Multiple instances of a client class should be supported.

2. Use threads and locks to provide safe access to the library inventory.

3. Add a field to each record in the database representing the maximum number of that item the library will hold.

4. Functions should include:

o Returning an item to the library, blocking if the maximum number of that item is reached until an item is borrowed.

o Borrowing an item, blocking if the desired item is not in the library until an item is returned.

o Allow a client to cancel a request that has been blocked.

Referancing style: APA style

The scenario is inspired by a LIbrary Management System (LIMS). For the first version of the project, the LIMS is a very basic one, allowing just for the import of data from a text file and perfom some basic search operations.

The elements of the LIMS are: the Library itself (let's consider just one instance for now) that contains a collection of Authors. Each Author includes a collection of Books he/she published.

Eventually (in the next versions of the project), there will be clients that will concurrently access the LIMS in order to borrow/return book copies.  

The Author and Book classes will have some attributes, mainly used for searching and sorting.

  1. Required data structure - the data structure I want you to implement is a multi-tree with the following levels:
    1. Library - Level 0
    2. Author - Level 1
    3. Book - Level 2
  2. Use at least the following classes, you are free to define others in the spirit of this application.
    Specifications for a few classes - you are free to add to this list.

o    Library

-  ArrayList <Author> as an instance variable data structure

o    Author - index, a name, an address and list of a number of Books (accessed by links to instances of the Book class). 

-  ArrayList <Book> as an instance variable data structure

o    Book - index, a title, a genre, author by index

Use the ArrayList class to hold instances of the classes defined in item 1. Be sure to use generics appropriately.

Use a text data file with the following format - which you may extend, and may be extended in the later projects. As a minimum, each item should be specified by a single line in the data file. The initial fields should be used during the instantiation of objects and your program should ignore later fields that are not used. For simplicity, let us assume that the fields are separated by colons. The specifications look something like the following, where the angle brackets are not part of the actual data file. I think we can assume that name, address, title and genre are strings.

o    b:<index>:<title>:<genre>:<price>:<author_index>

o    a:<index>:<name>:<address>

Download:- Library inventory using a client-server model.rar

Reference no: EM13115810

Questions Cloud

What is the equilibrium concentration of calcium ion : A solution is prepared by adding some solid CaF2 to water and allowing the solid to come to equilibrium with the solution. The equilibrium constant for the reaction below is Kc = 3.9x10-11.
Evaluate if the ball clears the crossbar : Evaluate if the ball clears the crossbar, what is its height with respect to the crossbar when it reaches the plane of the crossbar?
Sample selection-evaluation description in business : Describe the process of selecting and evaluating a sample. Why is sampling important to business? Are there situations in business where sampling would not be effective?
Calculate the pressure of oxygen : A steel tank has a volume of 438 liters and is filled with 0.885 kg of Oxygen. Calculate the pressure of oxygen at 21 degrees Celsius.
Library inventory using a client-server model : Library inventory using a client/server model. LIMS should allow multiple clients to safely access the inventory, and using a producer-consumer model to borrow/return library items.
Continuous probability distributions-probability concepts : How may a company use probability to determine whether or not it is feasible to use primary data in a research study? Explain your answer.
Illustrate what is the name given to internal interaction : Draw a sketch that shows the distribution of dipoles in a ferromagnetic solid in zero applied magnetic field. Illustrate what is the name given to internal interaction acting on the dipoles
Difference between cost of capital and wacc : Describe the following terms and their relative importance to stock issues: IPO, underwriter, spread, prospectus, underpricing.
What mass of natural gas must burn : What mass of natural gas (CH4) must burn to emit 470. kJ of heat? CH4(g) + 2 O2(g) CO2(g) + 2 H2O(g).

Reviews

Write a Review

Data Structure & Algorithms Questions & Answers

  Modify algorithm to always select president of company

How would you modify your algorithm to always select the president of the company (regardless of his fun rating or the consequences on the overall amount of fun we can achieve)?

  Different network connections

Use your laptop at public store to check your email and discuss all the different network connections involved in this operation.

  Create algorithm which takes as inputs matrices

Create the algorithm which takes as inputs, matrices C, D, and vertex indices i and j, and returns minimum-cost path from vertex i to vertex j.

  Creating an access database

PLUS is a corporation that makes all types of visual aids for judicial proceedings. Customers are usually private law firms, although the District Attorney's office has occasionally contracted for its services.

  Design algorithm to receive two integer items from terminal

Design an algorithm that will receive two integer items from a terminal operator, and display to the screen their sum, difference, product and quotient.

  Er modeling

A supplier supplies certain number parts for a assignment, a assignment uses the parts from the different suppliers, and the same kind parts from different suppliers are used by different assignments.

  Algorithm to concatenate string in single binary search tree

Create algorithm which concatenates T1 and T2 into single binary search tree. Worst case running time must be O(h).

  Data structures and algorithm design

Data Structures and Algorithm Design

  Discuss and define complex data binding

Discuss and define complex data binding and what benefits can this capability lend to a multiple table database application?

  Explain consensus algorithm

"Consensus algorithm": A group of ten people need to decide which one flavor of ice cream they will all order, out of three options.

  Design algorithm based on bfs that colors a graph

Design an algorithm based on BFS that either colors a graph with 2 colors or determines that two colors are not sufficient.

  Developing a new application system

Assume you have been assigned as manager on a assignment to develop a new application system for your business partner. You were given 2-weeks to construct a project plan and high level cost estimates.

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