Inventory System
Problem Statement
Develop a software construction project with a GUI interface. Include user stories, instructions on its use, a sample of its usage, and how the project could have been further improved.
Project Goals and Objectives
This project is intended to be used as an inventory system for shopkeepers and cashiers to keep track of items in a convenience store. It will contain most of the general operations to allow the system to function, such as creating a receipt, keep track of the availability of items, search for specific items, and so on.
Process and Approach
- Select a project idea to work with; I selected an inventory system, as described in the project goals.
- Create user stories and implement them.
- Create folders for various
data
objects and develop the items accordingly:- The main user GUI
model
objects such asItem
andItemList
ui
functionalities, including models to contain item lists, and features to modify item properties and access item listspersistance
tools to save and reload item lists using JSONexceptions
to be thrown under circumstances specific to the system, such as negative or insufficient item numbers
- Implement tests for the various system attributes.
- Develop and test interface usage.
- Designed UML diagram to illustrate connections within user interface, system variables, and corresponding tools.
- Provide samples and further improvements.
Future Improvements
- Could have changed the loading function to not rely on the
putIntoList
method, which would minimise confusion from theEventLog
. - More efficient way to create tool functions in system.
- Reformat the panel creation in
StoreAppGUI
to allow changes in screen size (Currently only works with fixed size).