Question
Create using java Project Title: Hardware Store (stage 3) UML Design Goal: In this assignment, students will (1) analyze the requirements of a hardware store
Create using java
Project Title: Hardware Store (stage 3) UML Design
Goal: In this assignment, students will (1) analyze the requirements of a hardware store management software, (3) come up with UML design in terms of UML Diagrams, and (3) translate UML Diagram into Java code. Hardware store management software has an expanded set of functionalities in Assignment 3. The software now includes 5 separate components, namely: 1. Inventory Management 2. Transaction Management 3. Accounting Management 4. User Management 5. Website Management
1. Inventory Management The software should maintain information about the items currently in the inventory of the hardware store. The item types and required fields for specific types are the same as defined in Assignment 2.
2. Transaction Management A sale transaction can be created two ways: (1) by a customer through the stores website (see below) or (2) by an employee in the store. If a purchase order is created by a customer through the website, a sale transaction is created, and is in pending state. The transaction state changes to completed when the order has been picked up.
3. Accounting Management The accounting management part of the software, allows the software administrators to keep track of the income, expenses and profit, and print Financial Documents like Balance Sheets, Statements of Cash Flow and Invoices. Assumption for this assignment is that all income comes from sale transactions and all the expenses come from employee salaries and ordering of new supplies. Every time a sale transaction takes place, or an expense is paid the accounting must be updated and optionally a financial document can be printed.
4. User Management The system now supports three types of users: Customers, Employees and Administrators. For all user types, the system keeps some basic information (see Assignment 2). In addition, for customers, the system keeps record of their address and phone number. For employees, the system keeps records of their SSN, Monthly Salary, a flag indicating if they are Active or Inactive and their PIN number. Past employees remain in the system but are considered inactive. Employees can complete sale transactions, add/edit customer info to the system, and reply to customer messages (see Hardware Store Website). Finally, the administrators are special types of employees with special system access rights. An administrator can add/edit an employee or another administrator to the system; can access the accounting management part of the software; can pay expenses and print financial documents (see Accounting Management).
5. Hardware Store Website The hardware store has a website. The website allows customers to create new account, edit existing account, create a purchase order, and contact the hardware store clustomer service through a web form. When a customer creates a purchase order through the website, the Employee ID is left empty, and the transaction status is set to pending. When the customer comes to the store and picks up the order, the purchase order is updated as following: (1) Employee ID of the employee who processed the order is added, (2) transaction status is set to completed, and a sale transaction is completed. The customer and/or the employee can print a receipt for the order. The website also offers the option to customers to contact the store by sending a message through a web form. To send a message, the customers need to have first created an account. The message is added to one queue of unanswered messages. Employees answer the messages in order received, from that queue, and respond to customers via email. The system records the employee response together with the Employee ID. Each answer is associated with one customer question and is added to a pool of answered messages.
Tasks: Assume that the above are the requirements of the system, as described by the owner of the Hardware Store. You are asked to do the following:
1. [15 points] Come up with a set of Use Cases that best capture the requirements as described above. Use free text (bullet points) to describe flows of events for each individual use case.
2. [20 points] Create a Use Case Diagram that shows the interaction between actors and uses cases, as well as the relationships among use cases (communication, inclusion, extension, inheritance).
3. [15 points] Derive and show a set of Class-Responsibility-Collaboration (CRC) cards that show the classes that you have identified, as well as their responsibilities and collaborators.
4. [20 points] Based on your CRC cards, create a Class Diagram that shows the relationships between classes (dependences, inheritance, aggregations, compositions, multiplicities, etc.). In each class of the class diagram, you may show the most important fields and methods.
5. [20 points] Draw a Sequence Diagram for the sequence of operations taking place when customer creates a new purchase order through the Website, until the moment the order is picked up by the customer. You should come up with appropriate method names, and specific method calls to complete the task.
6. [10 points] Use the StarUML (or similar software) Java code generator to generate Java code that corresponds the Class Diagram created in task 4.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started