Learning objectives | Design classes. |
---|---|
Required prior knowledge | Class, object. |
Challenge Type | Technical design, discussion. |
Webshop spierballetje.com sells gear for strength trainers and bodybuilders. Among other things, they sell dumbbells (weights), kettlebells, sportswear, shoes and books on nutrition and bodybuilding.
Items they sell can be divided into categories of clothing, weights, books and miscellaneous. Each item has a purchase price, selling price and a title and description.
Functionalities are that customers can order (place items in shopping cart), pay, create account. Customers automatically get emails about the status of orders. They get an invoice through the mail.
Employees of the shop can use the software (a backend application) to administer purchases, handle VAT returns and maintain lists of suppliers. They can also update articles on the site.
Visitors to the site can post reviews for items. Customers can ask questions via the online chat box in the Web shop. Visitors to the Web shop can search items by name, price, title, etc. They can sort items by price or most sold.
Customers can subscribe to a newsletter.
Your job as a software engineer is to design the classes to be programmed from the above specification. Hint: at least 5 to 20 to 25 classes can easily be designed.