Answered step by step
Verified Expert Solution
Question
1 Approved Answer
object oriented software design Household Inventory Manager In our houses, we have a lot of things that we use every day and other things that
object oriented software design
Household Inventory Manager In our houses, we have a lot of things that we use every day and other things that we collect and sometime forget about. We need a system that help us manages our household items. A house can have multiple kitchens, rooms, bathrooms, storage wardrobes, and hallways. It names different locations with different names to identify them. The user will select the name of each location in the house. It also maintains information about the people in the house. One of those people will be the household head who can add other people and give them permission to use the system to manage their own items. The system should store all useful information about items. Any item has a name, description, location, main user (can be identified as all), list of photos or a video, weather we still have the box (or wrapping material) and the box location, bought from, receipt copy, price, selling information (sellable, and value reduction information over time), returnable information (date we can return the item) and lend information (to who, lend date, expected return date). An item category can be electronics, furniture, consumables, clothes, jewelry, toys, video games, subscriptions, books, or plants. On electronics, tools, and furniture, we need to store serial number, warranty expiration date, warranty document, manual location or scan, maintenance information (schedule, procedure, ..) and extra parts location. On consumables, we need quantity and expiration date. On clothes, we need the size and the season. On jewelry, we need the material made from and the weight (maybe it is mad from different materials, we need information on all). On subscriptions, we need to keep track of the subscription renewal date the value to be paid, and weather it will be renewed automatically, and the payment option stored with the subscription. The system should alert the user when an item is about to expire, when a warranty is about to expire or when a subscription is about to expire. The system should also alert the user when a consumable is about to run out from the house. The system also alerts the user on when an item maintenance is needed. Any user can also search for this information with a given date. The household head can add an item and a user. He can also modify items and users' information (he can reassign items to different user) or delete an item or a user. A user manages items that belong to him (access data and modify). Any user can search the items that belong to him and display all or subset of the item information. A user-friendly interface should be provided to search for frequently and most useful information (maintenance information, location, warranty status, warranty details, ...). Any irrelevant information should not be displayed. The user can search the items using item name, any part of the item description, serial number (can be scanned using a camera), category, location, owner, value, ... A user can delete an item that belongs to him (any last item or valuable items deletion requires the approval of the household head). The system can suggest selling a set of items based on a query from a user to get a specific amount of money. The query can have the option to include or exclude jewelry. You are free to add more operations to the description above that you see interesting. For this phase, perform the following: 1. Analyze the specifications above to determine the objects and the classes in the system along their required attributes. 2. Propose a list of methods for each class. 3. Represent each class with a UML class representation. 4. Specify the relationships between different classes in a class diagram. 5. Specify the list of the usecases in the system and then draw a use case diagram. 6. Specify the different scenarios for each usecase and draw a sequence diagram for each scenario. 7. Draw an activity diagram for each of the use cases in the system. 8. A statechart identifying the possible states of important objects and subsystems in the system 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