Business project
· Company Background
For the last 40 years, Adam’s Hardware has been Conway Kansas’s number one hardware supplier. Conway is a small town based around agriculture. Adam’s Hardware services the hardware needs of the many farmers and townspeople of Conway and the surrounding area. It has always been Adam’s Hardwares role to provide affordable and reliable hardware for the community. In the future Adam’s would like to expand his store to new locations and pass his business on to his sons.
Adam’s has operated in Conway for the last 40 years since its founding by John Adam. Though it has maintained its success, its operations and procedures are as old as the building itself. In recent years new competitors have entered the market through online services. Additionally, quality employees have been in short supply.
The store has 5 employees: John Adam as owner/manager, one accountant, and 3 sales associates. The owner/manager is mostly responsible for human resources, inventory management, maintenance, and final say on all business decisions and planning. The accountant runs the finances of the business. Lastly, the sales associates are responsible for customer services in store, stocking shelves, and maintaining a clean store.
Adam’s is looking for a system to lighten the work-load as potential employees have become sparse and he nears retirement. He is concerned that the work-load on his current employees is too high and that it is affecting customer service.
· System Description
· It looks like Adam’s Hardware is having trouble finding qualified employees to work in his store. Because of this, his current employees must work extra in order to keep up with the work demand. It appears that Adam’s hardware would benefit from a productivity system solution.
· The proposed solution seeks to boost the productivity of the current employees by managing and providing useful information about inventory and staff scheduling.
· The system will impact most operations in Adam’s Hardware. The system will make inventory management and stocking more accurate and efficient. Along with this it should also help with wage calculation.
· Some alternatives to the system could be simply hiring more employees to ease the work-load on current employees. Another solution could be to downsize the store to make operation more manageable.
· We recommend that Adam’s Hardware goes with a new inventory management system and a clock-in/clock-out system. The system should be able to dynamically track current inventory. Additionally it should be able to track information about inventory such as when certain inventory is getting low, or which inventory is being sold the most / least. The manager should also have the ability to add new inventory items or remove old inventory items to the system to reflect changes in store inventory. This system should also be able to give hints to employees where the inventory is to be stocked. Additionally there will be a clock-in / clock-out system which automatically tracks when certain employees have worked, calculates each employee’s pay for any given period, and tracks their pay over time. This system should generate useful information about employees such as average hours worked, average pay, etcetera.
We’re choosing this system as we expect that it will help greatly increase the productivity of employees and generate useful information which will result in better service and better business decisions. The system should also make many employee’s jobs easier which will result in higher staff morale.
· Feasibility Statement
·
· Management Plan
· Requirements and Analysis
· Since the company we are developing for is so small, it would be best to do individual interviews with each employee and at least one meeting session in which all employees are present. The goal of these is to get useful information about business processes and feedback on planned features and requirements.
· The system will be required to:
2. Track current number of in stock items for each inventory item.
2. Allow for addition / deletion of inventory items from the system.
2. Allow for update of current number of in stock items when a shipment comes in.
2. Generate forms to determine which items are getting low in stock, and sales information about inventory such as which has been sold the most, which has made the most profit etcetera.
2. Allow employees to clock-in / clock-out from a terminal.
2. Generate forms such as owed wages, average wages, average hours worked, etcetera.
. Modeling
2. Context
2. Level-0 Diagram
2. Inventory System Level-1
2. Wage System Level-1
2.
Data Dictionary
|
Data Element Dictionary |
|||||
|
Name |
Type |
Length |
Default |
Acceptable Values |
Description |
|
EMP_ID |
Num |
4 digit |
None |
Any non-null 4 digit number |
Unique employee identification number. |
|
EMP_NAME |
String |
32 chars |
None |
Any non-null string less than 33 chars. |
Employee name. |
|
EMP_SSN |
Num |
9 digits |
NULL |
Any 9 digit number |
Employee social security number. NULL if there’s no SSN provided. |
|
EMP_HRLY_WAGE |
Currency |
8 digits |
$7.25 |
Any non-null number greater than 7.25, less than $100,000.00 |
Employee hourly wage. |
|
SHIFT_ID |
Num |
4 digit |
None |
Any non-null 4 digit number |
Unique shift identification number |
|
Clock_In |
Date/Time |
14 digit |
None |
Any non-null 14 digit number |
Date and time of clock-in of shift. |
|
Clock_Out |
Date/Time |
14 digit |
NULL |
Any 14 digit number |
Date and time of clock-out of shift. NULL if shift has not checked out yet. |
|
PROD_ID |
Num |
4 digit |
None |
Any non-null 4 digit number |
Unique product identification number. |
|
PROD_VENDOR |
String |
32 har |
NULL |
Any non-null 4 digit number |
Product vendor name. NULL if there’s no vendor |
|
PROD_QOH |
Num |
6 digit |
NULL |
Any 4 digit number |
Number of products in stock. Null means 0. |
|
PROD_PRICE |
Currency |
8 digits |
None |
Any non-null number greater than 0.00, less than $100,000.00 |
Product price. |
|
PROD_LOCATION |
String |
128 char |
NULL |
Any string up 128 char long. |
Product in-store location, NULL means not on shelves. |
|
PURCH_ID |
Num |
4 digit |
None |
Any non-null 4 digit number |
Unique purchase identification number. |
|
PURCH_QTY |
Num |
4 digit |
None |
Any non-null 4 digit number |
Number of products purchased. |
|
Wages Owed Form |
String |
4096 char |
None |
Any string less that 4096 chars long |
A string formatted in a readable way that displays the amount of wages owed to employees. |
|
Wages Form |
String |
4096 char |
None |
Any string less that 4096 chars long |
A string formatted in a readable way that displays the amount of wages owed to employees. |
|
Product Info Form |
String |
4096 char |
None |
Any string less that 4096 chars long |
A string formatted in a readable way that displays the amount of wages owed to employees. |
|
Prod Sales Form |
String |
4096 char |
None |
Any string less that 4096 chars long |
A string formatted in a readable way that displays the information on all product sales. |
|
Employee Info Form |
String |
4096 char |
None |
Any string less that 4096 chars long |
A string formatted in a readable way that displays the information about all employees. |
|
Prod Info Form |
String |
4096 char |
None |
Any string less that 4096 chars long |
A string formatted in a readable way that displays the information on all products. |
|
Prod Location Hint |
String |
4096 char |
None |
Any string less that 4096 chars long |
A string formatted in a readable way that displays the location of a product in store.. |
|
Data Record Dictionary |
|||
|
Record Name |
Description |
Aliases |
Attributes |
|
EMPLOYEE |
Useful information about an employee. |
None |
EMP_ID EMP_NAME EMP_SSN EMP_HRLY_WAGE |
|
SHIFT |
Useful information about a shift worked. |
None |
SHIFT_ID EMP_ID CLOCK_IN CLOCK_OUT |
|
PRODUCT |
Useful information about an offered product. |
None |
PROD_ID PROD_VENDOR PROD_QOH PROD_PRICE PROD_LOCATION |
|
PURCHASE |
Useful information about a product purchase. |
None |
PURCH_ID PROD_ID PURCH_QTY |
Use Case
The system we will implement will be used by all current employees. The sales associate(s), accountant(s), and manager(s) are all considered to be employees in the system. All employees must all clock-in and clock-out of the system in order to have their shifts recorded. Additionally, all employees may request a product location hint.
Next, both manager(s) and accountant(s) are allowed to access accountant features. This means they may both request a Wages Owed Form.
Lastly, the manager(s) have the unique ability to add/delete/edit employee records and product records, and can request Wages, Employee Info, Product Info, and Sales Forms.
Business Process Models
· Get product location
· Employee Clock-in/Clock-out
Decision Table for employee clock-in/clock-out
|
Decision table for whether shift record is found |
||||
|
Conditions |
Rules |
|||
|
Is there a shift that belongs to the employee? |
Yes |
Yes |
No |
No |
|
Does the shift have a NULL as CLOCK_OUT |
Yes |
No |
Yes |
No |
|
Outcomes |
|
|||
|
Create New Shift |
|
X |
X |
X |
|
Edit Shift CLOCK_OUT |
X |
|
|
|
· Register adds purchase
· Manager adds/deletes/edits product
· Manager adds/deletes/edits employee
· Manager Gets Product Info Form
· Manager Gets Wages Info Form
· Manager Gets Employee Info Form
· Manager Gets Sales Info Form
· Accountant gets wages owed form
User Interfaces and Output Samples
· Employee Interface
· The left is an employees view before entering a product to look up, and the right is what the output of getting a product location hint should look like.
· Accountant Interface
· The right is the interface after calculating the wages owed.
·
· Manager Interface
·
· This is the main screen for the manager.
·
· This is the screen that will appear when the manager clicks add/delete/edit employee. When the manager presses confirm, then the screen will return to the main screen.
·
· This is the Edit product table screen which is where the manager is taken when they press add/delete/edit product.
·
· The above screens are the output of the form options.
Implementation
To create this system we must first conduct the interviews and meetings necessary to define the business rules or processes, constraints, and objectives. After this we can begin designing the hardware that will be needed and the data that we will be managing with the system. After we have designed the data we can begin designing the forms and interfaces to ensure that our customers needs are met. Lastly is the construction of the system in which we code, test, and implement the system.
The system implementation will be parallel operation. This will be done to ensure that all features are working as intended. Some things to consider are that all products and employees in store must be entered into the system prior to full operation. This can be done either during the coding phase, or as a part of its operation.
|
Tasks |
|||
|
Name |
Duration (Days) |
Predecessors |
Slack (Days) |
|
Conduct Interviews |
2 |
N/A |
0 |
|
Define Business Rules |
3 |
1 |
0 |
|
Define Constraints |
2 |
2 |
1 |
|
Design Data Entities |
4 |
2, 3 |
0 |
|
Design Hardware |
18 |
2, 3 |
7 |
|
Order Hardware |
3 |
5 |
7 |
|
Design Forms |
14 |
4 |
10 |
|
Design Interfaces |
24 |
4 |
0 |
|
Coding |
60 |
6, 7, 8 |
0 |
|
Testing |
14 |
9 |
0 |
|
Implementation |
14 |
10 |
0 |
Gantt Chart (Project Libre)
Network Diagram (Project Libre)
The critical path is: Conduct Interviews ➝ Define Business Rules ➝ Design Data Entities ➝ Design Interfaces ➝ Coding ➝ Testing ➝ Implementation.
To manage the critical path we must ensure that we are setting and meeting small milestones throughout each task, especially in the coding phase where it would be easy to say “we have plenty of time”. We must also know some potential risks and have good test data and situations that we can use even during the coding phase. We don’t want to get to the full testing phase and discover a fundamental code asset is not functioning correctly and that the solution cascades through the system changing many other assets.
To test the system we must test that each type of user can only access features that are allotted to them. Furthermore, we must ensure that the addition, deletion, and alteration of records in the system are consistent and flawless. We should also test that the forms generated by the system are created and displayed correctly for any possible records. Lastly, we must test how the system behaves during external irregularities such as a cord getting unplugged, or the power going out.
We must also be weary of connecting the system to the internet since that exposes the system to a wide variety of threats world wide. For this reason the system will be closed off and only connected to devices within the system that are not connected to the internet.
Some maintenance activities will likely be the manual clearing of the SHIFTS data store over time as there is currently no way to automatically delete, or edit records in the SHIFTS data store. Same goes for the PURCHASES data store. Likely, these lacking features will have to be addressed in the future through a system upgrade.
Page 2 / 3