Problem to solve
A shop would like to develop a mobile app to assist customers and communicate with them, mainly when they are inside the shop. The app will facilitate the interaction between customers and staff. For example, the customer might need to know further information about a certain product or to be guided, in person or remotely, to the location of a product within the shop.
The app should also help to increase the sales. To this end, the app has to support the customer to access different promotion strategies. Examples of such strategies include: searching for a cross-selling offer and taking it when available, searching for a discount offer and taking it when available, or searching for free samples and taking them when available. The shop staff will also need to interact with the system and provide information such as which products have discounts, and the period of the discount, the correlations between products to enable cross-selling, and so on.
Each of the promotion strategies needs its own process. To enable the cross-selling strategy the application has to analyse the items the customer bought recently, or scanned using the QR code, and decide upon which items to suggest to the customer. The application could also implement certain mechanisms to persuade customers such as showing demo on how the suggested item matches an item the customer bought recently.
Some strategies will require interaction between the customers and the staff. For example, the customer would need to meet with a staff member to explain for a product or to guide to the location of a product or a certain service. Also, the customer may need to meet with a staff member to get a free sample.
The mobile app will also allow customers to take pictures of products and share these pictures with their contacts who are using the same app so that they can discuss it. This feature does not require the customer and the other contacts to be in the shop. The customer should have the ability to add contacts, similar to Skype and Facebook, and edit them. The customer should be able to have different discussion formats such as instant messaging and emails. Each of these methods follows a certain process.
1. Explain the FURPS model for categorizing requirements by giving examples from the above scenario.
2. Create a use case diagram for the scenario above or part of it. The diagram should
demonstrate your understanding of the concepts: primary actor, secondary actor, offstage
actor, use case, specialization/generalization, the relations extends and includes. Explain the method that you followed, and the tests you applied to find and take decisions when
developing the diagram.
3. Give a textual description of one of your use cases from part 2, above. The description, i.e., use case narrative, should particularly demonstrate your understanding of the concepts: summary, pre-conditions, post-conditions, description of the main sequence, description of the alternative sequences and non-functional requirements.
4. For the use case narrative described in 2, give a graphical representation, using either
Sequence Diagram or Communication Diagram.
5. Produce a domain model, using a class diagram, for the scenario above or part of it. The class diagram should demonstrate your understanding of the concepts: class, association class, aggregation or composition, multiplicity, and generalization/specialization. Describe the method that you followed to identify the conceptual classes and give examples to demonstrate how you actually applied the method. As a suggestion, you may take the use case narrative in step 3 and derive a partial domain model from it.