The software development team identified the following classes based on the analysis of given requirements: Product, Employee, ProductList, Supplier.
1. Identify the relationships between classes, the attributes and methods for each class. Draw the class diagram. (if necessary, analyse the given requirements is given below)
2. Implement the class diagram for supermarket software.
3. Test the implemented supermarket software against given requirements for supermarket software.
ORIGINAL REQUIREMENTS OF THE SYSTEM:?The user would like to develop a windows-based application that allows him to enter information about the new product, display it and edit the price of the product without VAT. The system automatically calculates the price of the product with VAT. The user is owner of food shop and therefore uses mostly such information about the product as product id, product name, weight, price with/without VAT, expiry date, estimated date to order. The user can edit information about any product saved by the program into the file. The owner of the food shop would like to view not only product information but also the images, associated with given product. When the program starts all information about products automatically loaded to the GUI. When the program closes all information stored in the memory is saved into disk. The system should store in the memory at least 10 REAL products. Please keep in mind that in reality the shop owner doesn't know the maximum number of different products in stock at the same time.?The customer also needs information about amount of product in stock displayed in the GUI and identify the products to be re-ordered (the minimum level of product is stock is defined by shop owner in advance). For each product to be reordered the following information has to be provided: advisable amount of products to be reordered (the maximum level of product in stock is defined ONLY ONCE by shop owner during use of software), product category (such as Flour, Sugar, Milk, etc.), expected date of delivery and the total amount to be paid for re-ordering (the delivery charges are not included in this calculation), date of when the last order has been placed, the details of company, where the order has to be placed (it can be more than one delivery company). Each item has a minimum quantity limit, after which the warning message about re-ordering product is displayed. If the quantity of ANY item in the shop is lower specified limit, the message with list of products to be ordered is displayed. The user should have a possibility to increase the quantity of the product if the order has arrived and change the date of last order for each product. The customer doesn't know the maximum number of products in the supermarket. The software should be able to display whether it is necessary to re- order the product or not. The user would like to have alternative to enter data either from windows-based graphical user interface or from file. In addition when the user starts the software next time, he would like to see all products that he entered to the system previously. Each product has to be associated with manufacturer details.
Outcomes for the assessment
- Demonstrate an understanding of Object Orientated methodologies and their application.
- Select an apply appropriate technologies and techniques in the design and development of Object Orientated software systems.
- Document software designs and implementation.
- Analyse and critically evaluate the implemented software against requirements.
- Identify the relationships between classes, their attributes and methods, draw the class diagram for the software
- Identify the techniques and apply them to the implementation of supermarket software .
- Detailed comments should be added to the programming code .
- Submit the relevant UML documentation regarding the implemented supermarket software
- Test the implemented supermarket software against given requirements for software.
- Report the results of test in documentation.
Written assignment documentation of supermarket software with programming code.