DCIT318-PROGRAMMING II-C# Interim Assessment
You have been hired as a software engineer to develop an inventory management system for Shoprite Ghana Limited. As part of the software development cycle, the following requirements were captured and documented as functional and non-functional requirements:
1. An admin should be able to manage product categories.
2. An admin should be able to manage products.
3. An admin should be able to set a reorder level for each product.
4. An admin should be able to manage stock.
5. An admin should be able to create and manage other users.
6. An admin should be able to reset the password for other users.
7. An attendant should be able to open and start a till (sales).
8. An attendant should be able to perform sales transactions. A typical sale involves:
- Scanning the barcode of the product.
- Recording the transaction with transaction details.
- Maintaining an appropriate ledger on stock levels.
- Generating a sales receipt.
9. An attendant should be able to close the till (sales) for the day.
10. An attendant should be able to generate a sales report for daily transactions.
11. An admin should be able to generate a sales report.
12. All parties should be able to log in with a username and hashed passwords.
Impress me.