In this project you will bring together everything you have learned in this class, including both programming techniques and non-technical skills.
Tiny Distributors is a small brick and mortar store that sells various items. The owners feel they are at the point in their growth where they would benefit from a presence on the Internet. They have hired Web developers to create the website and pages, but need a Java developer to create underlying functionality.
The owners have listed the following as the minimum functionality required for this project.
The ability to add, modify, and delete customers
The ability to add, modify, and delete inventory items
The ability to add, modify, and delete customer orders; a customer order is comprised of two parts: the order header and one or more line items
The ability to create and print a customer report
The ability to create and print an individual customer order
The ability to create and print an inventory report listing all inventory items in stock
The ability to create and print an order report listing all orders currently open
PHASE 1 REQUIREMENTS:
This phase is the discovery phase, no coding is required. You will be using your knowledge of object oriented principles to complete this phase.
List all of the classes you will need to capture the data required for the project. Be sure to label each class as concrete or abstract as well as all child classes that will inherit from a parent class. Be sure to include the following for each class:
The name of the class and whether it is concrete or abstract
If the class is inheriting, the name of the parent class
A list of all properties in the class
A list of all methods in the class and a brief description of the functionality of the method. You do not need to include the signature at this time. Some examples:
GetCustomer is a method that will retrieve all customer data for a given customer
UpdateInventory is an abstract method used to update the various types of inventory items
In order to flush out the requirements, developers need to do research as well as ask questions from users to ensure the requirements are correct. For the purposes of this project, I am the user you will be contacting. Any questions should be directed to me and I will provide the information needed.