Skip to content

lucagrammer/LeoniLocarnoMinotti

Repository files navigation

CLup - Customer Line-Up

Project for the Software Engineering 2 course at Politecnico di Milano.

The problem

In the midst of the Coronavirus outbreak even shopping at grocery stores and supermarkets has proven to be a problem due to interpersonal distancing rules and building access restrictions. In fact, this typically results in long lines forming outside, which is less than ideal for avoiding crowds. CLup is a software with the aim of managing in a simple but effective way the queues to access the stores, allowing customers to queue directly from the application and receive a notification just in time to physically reach the store, taking into account the time required to get to the shop using the indicated means of transport. Of course, fall-back options are available for people who don't have access to the required technology. Furthermore, CLup allows customers to book a visit to a specific store on a specific date or, in the case that this is not possible, recommends alternative slots or similar less crowded stores. Finally, customers can also be notified of the availability of slots in the day/time range in which they typically shop. On the other hand, supermarket managers can easily keep access data under control and effortlessly ensure compliance with safety regulations.

The documents to be created

1. Requirements Analysis and Specification Document

The Requirements analysis and specification document (RASD) contains the description of the scenarios, the use cases that describe them, and the models describing requirements and specification for the problem under consideration. You are to use a suitable mix of natural language, UML, and Alloy. Any Alloy model should be validated through the tool, by reporting the models obtained by using it and/or by showing the results of assertion checks. Of course, the initial written problem statement we provide suffers from the typical drawbacks of natural language descriptions: it is informal, incomplete, uses different terms for the same concepts, and the like. You may choose to solve the incompleteness and ambiguity as you wish, but be careful to clearly document the choices you make and the corresponding rationale.

2. Design Document

The Design document (DD) must contain a functional description of the system, and any other view you find useful to provide. You should use all the UML diagrams you need to provide a full description of the system. Alloy may also be useful, but not mandatory.

The solution

Authors

Final score: 30L/30L

About

Requirement Engineering and Design Project - Software Engineering 2. Politecnico di Milano, A.A. 2020-2021

Topics

Resources

Stars

Watchers

Forks

Languages