-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathp2.shtml
57 lines (54 loc) · 5.57 KB
/
p2.shtml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="HTML Tidy for HTML5 (experimental) for Mac OS X https://github.com/w3c/tidy-html5/tree/c63cc39">
<meta charset="UTF-8"><!-- <link rel="stylesheet" href="http://www.cdf.toronto.edu/~csc207h/fall/styles.css" type="text/css"> -->
<title>
CSC207: Project Phase 2
</title>
</head>
<body>
<div class="title">
<h1>
CSC207: Project Phase 2
</h1>
</div>
<p><strong>Deadline:</strong> Thursday 29 March, 2018 at 10 pm</p>
<h2>
Phase 2: Requirements
</h2>
<p>Your Phase 2 program should satisfy the specifications from the Phase 1 outline and also include:</p>
<p><ul>
<li>improvements to the design, based on the feedback you received from Phase 1.</li>
<li>updates to the design, based on the requirements listed in Further Details (below).
<li>a file called <code>log.txt</code> that contains a record of all food that was ordered, prepared, delivered to the customer, returned to the kitchen (for re-heating or any other reason), and any change to the inventory of ingredients.</li>
<li>at least one major new feature or many related smaller features that make your program even more useful to the restaurant.</li>
<li>a graphic user interface (GUI) that allows servers, chefs, and anyone else working at the restaurant to enter input manually and not through <code>events.txt</code>. If you want, you can continue to use <code>events.txt</code> to input any new ingredients that were received. However, you are also welcome to enter new ingredients through the GUI instead.</li>
<li>a file called <code>duties.txt</code> where each team member writes their name and a point form list of their contributions to Phase 2.</li>
</ul></p>
<h2>
Further Details
</h2>
<p>Your finished product should not print anything to standard output anymore.</p>
<p>Your project should run on the teach.cs server from a cloned copy of your repository. No extra downloading or installation of software should be required of the graders to operate your code.</p>
<p>Also, your code should check for invalid input so that it handles as much misuse as possible.</p>
<p>Your program should check that all orders are handled properly by the employees of the restaurant. For example, it should not allow the server to order a dish that requires ingredients of which there are not enough. If a chef forgets order #1, they will not be allowed to prepare order #2 until they complete, acknowledge, or cancel order #1, or any other actions you think should be allowed to resolve order #1. A server should not be allowed to place another order, if they have not yet delivered an order that is ready for delivery. The manager should be able to request a list of all orders that are in the system, but have not been delivered yet. Also, there should be a record of all payments made to the restaurant on a given day.</p>
<p>It should be possible to print a receipt for an entire table or for each person's order on separate bills. Tax should automatically be added (13% of the total) and a 15% gratuity (tip) on all tables with 8 people or more.</p>
<h2>
Project Presentations
</h2>
<p>Your Phase 2 mark will be determined by two graders (CSC207 TAs and/or Instructors) who will watch you present. The goal of your presentation is to help the grades get an accurate idea of what your program does, and how your design works. Your presentation consists of two parts: (1) your group presentation and (2) the “Lightning Round”.</p>
<p>Your group presentation must be a maximum of 10 minutes long. The graders will not let you continue beyond 10 minutes, so please be concise. Practice ahead of time. <b>Each group member must present for a minimum of 2 minutes each.</b> Your presentation should include a demonstration where you successfully create an order that gets prepared, delivered to the table, returned to the chef, delivered to the table again, is printed on a bill, and then paid for by the customer. You should also demo your most impressive features. The graders might ask you to demonstrate other things, show them your UML, or otherwise help them understand your code.</p>
<p>The “Lightning Round” is a series of questions which will be asked to the team and to be answered on an individual basis (at least one question to each team member). To answer a question, you will locate, in your code, certain method calls. For example, a question could be: “Where in your code do you trigger a re-order of an ingredient that has gone below the threshold amount?” You will be expected to answer the question without help from other team members, even if you did not write that part of the code. It is important that all team members contribute equally and are aware of the overall design.</p>
<p>Your code will be projected onto a screen behind you. Please make sure that at least one team member has a laptop with a VGA and/or HDMI connector, in case it is required.</p>
<h2>What To Submit</h2>
<p><ul><li>Your code.</li>
<li><code>uml.pdf</code></li>
<li>any external libraries that your program needs, but are not installed on the teach.cs server</li>
<li><code>duties.txt</code></li>
<li>You can submit <code>log.txt</code>, but it is not mandatory because you can let your code create a new one at the presentation. You will show us before and after execution so that we can see that your code worked.</li>
<li><code>events.txt</code>, but only if your program still uses it to process receiving events</li>
<li>any configuration files you need</li>
</ul>
</body>
</html>