Requirement
Design a Campus Cafeteria application prototype complete with UML design documentation. Your application must match your delivered UML diagrams (all UML must be completed using the Astah UML tool). Your application shall take advantage of the C# programming language to provide a way to rapidly develop a working prototype.
The application will allow customers (both students & non-students) to purchase meals. Non-students will pay with a card and students will have the option to use their meal plan or pay with a card (in the event they are out of meal credits). A customer will select the meal type and quantity of meals then pay. Students will need to verify their identity to use meal plan credits or select to pay with card. As an incentive, Students who maintain a GPA over 3.5 are given 1 free meal. The Campus is on a tight budget so a limited number of meals will be served for each meal type.
Your application will utilize an object-oriented design. The delivered project must contain a class called Menu, Customer, and Meal. Certain classes will only be used as a class while others will require objects to be created. The application must have the following requirements:
Code
- Menu class (rename program class or create a new class as shown in tutorials. “Program” will not be accepted as a Class name) doesn’t need any attributes. All data items should be declared within the Main method or other methods that are inside your Menu class code block.
- Menu class will perform the following actions (can be methods)
- Customer objects will contain data (all data will be instance variables)
- Customer objects will perform all manipulations on the above customer data
- Meal class/objects will contain data (this can be a class with only static members or used to create objects with instance members. It will depend on how you decide to design the application
- Meal class/objects will perform all manipulations on the above meal data
UML
While completing the application, document your application using UML. Create a Class Diagram for your application showing objects, attributes, methods, relationships, relationship text, and multiplicities. In the class diagram make sure to identify the following for all objects:
- Attributes and their data type
- Methods with their defined return type and passing parameters
- For all passing parameters make sure to have the parameter name and data type
- Create relationships based on your code (if a class calls a method in another class there is a relationship).