Implementation from the interface completely

Assignment Help Basic Computer Science
Reference no: EM133381913

Assignment - Point of Sale Terminal

Problem Statement

The problem statement is pretty simple. We need a software implementation of a Point of Sale terminal at a typical store. The users of the system are the cashiers sitting at the sales terminals of the store. The users can use the system to manage sales items in the store, customer details and of course the sales. The system should be capable of presenting some reports related to the sales, items and customers.

All data should be stored in flat file system. You'll come to know about the details later in this handout.

User Interface

You are not put in the trouble of creating some fancy GUIs at the moment. What you are supposed to do is to develop a simple console based system. When the system starts the user is presented with the main menu as follows:

Main Menu

1- Manage Items
2- Manage Customers
3- Make New Sale
4- Make Payment
5- Print Reports
6- Exit

Press 1 to 5 to select an option:

The user selects his/her desired option by pressing one of the numbers from 1 to 5.
Upon selecting an option from the main menu the system presents user with a corresponding sub menu. The details are as follows:
Items Menu

1- Add new Item
2- Update Item details
3- Find Items
4- Remove Existing Item
5- Back to Main Menu
Press 1 to 5 to select an option:

Customers Menu

1- Add new Customer
2- Update Customer details
3- Find Customer
4- Remove Existing Customer
5- Back to Main Menu
Press 1 to 5 to select an option:

Reports Menu

1- Stock in hand
2- Outstanding orders
3- Customer Balance
4- Sales Receipts
5- Back to Main Menu
Press 1 to 5 to select an option:

Items Menu

When the user selects the "Manage Items" option from the main menu he/she is presented with the "Items Menu".
The user is allowed to add new Item, update Item information and to search for Items and also remove an existing Item.

Add New Item
When the user selects add new Item option, he is presented with the system generated (new) Item Id and then prompts the user to enter the following information of the Item:

Description, Price, Quantity

Upon getting all info the system confirms from the user to save the info and then if the user confirms the system saves the info to file shows confirmation message (e.g. Item Information successfully saved) and again the Item Menu.

Note that when a new customer is added the creation date will be the current date to be stored in the file.

Modify Item Details
The system asks user to enter Item Id and then if found displays the item data. Then the system asks user to enter the item details which he wants to modify and to leave blank otherwise.

Upon getting all info the system confirms from the user to save the info and then if the user confirms the system saves the info to file shows confirmation message (e.g. Item Information successfully saved) and again the Item Menu.

Find Item
The system asks the user to enter any of the item info and then finds the item from the file according to the given information. The user can leave blank the fields he/she does not want in the search criteria.
e.g. the screen presented should look like this:

Please specify atleast one of the following to find the item. Leave all fields blank to return to Customers Menu:

Item ID:
Description:
Price:
Quantity:
Creation Date:

If the item is found then its details are displayed or an appropriate message is displayed on the screen. Following output is shown to the user:

Remove Existing Item

User enters the "Item ID" and if a valid item id exist then a confirmation from the user is asked. After confirmation the specified "Item ID" is removed from the file.

Note that an item should only be allowed to remove if there is no recorded sale for the item at the moment and appropriate message should be displayed to the user for those items.

Customers Menu

When the user selects the "Manage Customers" option from the main menu he/she is presented with the "Customers Menu".
The user is allowed to add new customers, update their information and to search for customers and also remove an existing customer.

Add New Customer
When the user selects add new customer option, he is presented with the system generated (new) Customer Id and then prompts the user to enter the following information of the customer:
Name, Address, Phone and Email, Sales Limit
Upon getting all info the system confirms from the user to save the info and then if the user confirms the system saves the info to file shows confirmation message (e.g. Customer Information successfully saved) and again the Customers Menu.

Note that when a new customer is added his payable amount will be zero.

Modify Customer Details
The system asks user to enter Customer Id and then if found displays the customer data. Then the system asks user to enter the customer details which he wants to modify and to leave blank otherwise.
Upon getting all info the system confirms from the user to save the info and then if the user confirms the system saves the info to file shows confirmation message (e.g. Customer Information successfully saved) and again the Customers Menu.

Find Customer
The system asks the user to enter any of the customer info and then finds the customer from the file according to the given information. The user can leave blank the fields he/she does not want in the search criteria.
e.g. the screen presented should look like this:

Please specify atleast one of the following to find the customer. Leave all fields blank to return to Customers Menu:

Customer ID:
Name:
Email:
Phone:
Sales Limit:

If the customer is found then his details are displayed or an appropriate message is displayed on the screen. Following output is shown to the customer:

Design Information and Requirements

• Use flat file systems to store all data the format of the files is given below but broadly you should have one file for customer information, second for items information, third for sales and fourth for receipts.
• You should also have different classes for: Customer, Item and Sale. Make sure you separate the implementation from the interface completely because we are going to ask you to give the same assignment with GUI features later on.
• All data entry points should have proper error checks and error messages.
• All data entry is through command line interface.
• There must be proper commenting through out your code and you have to generate Java Doc for your project.
• The code should be well indented and easy to read as your marking depends a lot on this.

File System

The data to be preserved in files is given below:

Item (ItemId, Description, Price, Quantity, CreationDate)
Customer (CustomerId, Name, Address, Phone, Email, AmountPayable, Sales Limit)
Sale (OrderId, CustomerId, Date, Status)
SaleLineItem (LineNo, OrderId, ItemId, Quantity, Amount)
Receipt (ReceiptNo, ReceiptDate, OrderNo, Amount)

The underlined attributes are unique (key attributes) and your system autogenerates these numbers. You need to store all data in plain text files.

Attachment:- Assignment - POS Terminal.rar

Reference no: EM133381913

Questions Cloud

What is your strategy to repair the mistrust : What is your strategy to repair the mistrust? What do you plan to do to get nursing management back to performing their management functions?
Would like your company to assess the situation and make : A corporation company has reached out to your company after suffering some sort of security incident and would like your company to assess the situation
How have these various forms of communication have evolved : Research and provide examples or comparisons that demonstrate these changes over time from each of the categories: Print, Radio/Music, Cinema, Television
Describe the interpersonal conflict management strategies : List and describe the INTERPERSONAL CONFLICT MANAGEMENT STRATEGIES What are the differences between Leadership and Management? Do you think that a manager
Implementation from the interface completely : Implementation from the interface completely because we are going to ask you to give the same assignment with GUI features later on
What was the impact to the consumer : What was the impact to the consumer? How did the breach affect the organization? What steps did the organization take to resolve the data breach?
Define the service product bundle that is being provided : define the service product bundle that is being provided for the guests un the sage hill case including the tangible services, the intangible services
Is a net-zero carbon future compatible with capitalism : is a net-zero carbon future compatible with capitalism and democracy? Or... can democratic capitalism be re-formed towards net-zero (and eventually net-negative
How frequently will orders be placed if the eoq is used : Explain how you discuss your solutions and approach without discouraging your new employee from developing more good ideas in the future.

Reviews

Write a Review

Basic Computer Science Questions & Answers

  Identifies the cost of computer

identifies the cost of computer components to configure a computer system (including all peripheral devices where needed) for use in one of the following four situations:

  Input devices

Compare how the gestures data is generated and represented for interpretation in each of the following input devices. In your comparison, consider the data formats (radio waves, electrical signal, sound, etc.), device drivers, operating systems suppo..

  Cores on computer systems

Assignment : Cores on Computer Systems:  Differentiate between multiprocessor systems and many-core systems in terms of power efficiency, cost benefit analysis, instructions processing efficiency, and packaging form factors.

  Prepare an annual budget in an excel spreadsheet

Prepare working solutions in Excel that will manage the annual budget

  Write a research paper in relation to a software design

Research paper in relation to a Software Design related topic

  Describe the forest, domain, ou, and trust configuration

Describe the forest, domain, OU, and trust configuration for Bluesky. Include a chart or diagram of the current configuration. Currently Bluesky has a single domain and default OU structure.

  Construct a truth table for the boolean expression

Construct a truth table for the Boolean expressions ABC + A'B'C' ABC + AB'C' + A'B'C' A(BC' + B'C)

  Evaluate the cost of materials

Evaluate the cost of materials

  The marie simulator

Depending on how comfortable you are with using the MARIE simulator after reading

  What is the main advantage of using master pages

What is the main advantage of using master pages. Explain the purpose and advantage of using styles.

  Describe the three fundamental models of distributed systems

Explain the two approaches to packet delivery by the network layer in Distributed Systems. Describe the three fundamental models of Distributed Systems

  Distinguish between caching and buffering

Distinguish between caching and buffering The failure model defines the ways in which failure may occur in order to provide an understanding of the effects of failure. Give one type of failure with a brief description of the failure

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