On The Ay
On The Ay
3.0 Type
- Group Assignment
Overview of System:
There are 4 types of registered users which are Admin, Manager, Chef and Customer.
The system should have a login feature to allow the user to key in username/email and password
only. A maximum of three login attempts are allowed. The system should identify the role of
the user and redirect to menu option respectively.
2. Manager
- Manage Customer (Add, Edit, Delete)
- Manage menu categories and pricing (Add, Edit, Delete)
- View ingredients list requested by chef.
- Update own profile
3. Chef
- View orders placed by customers.
- Update orders as "In Progress" or "Completed.”
- Request ingredients (Add, Edit, Delete).
- Update own profile.
4. Customer
- View & order food (Add, Edit, Delete) and pay to confirm.
- View order status.
- Send feedback to the administrator.
- Update own profile.
IMPORTANT INSTRUCTIONS:
This is a group assignment. Upon submission of your assignment, you are required to present
your assignment at a date and time specified by your module lecturer.
Each team member is required to contribute towards some features in the system &
documentation, present and explain his or her work accordingly. Each team member should
be able to answer questions during presentation with regards to the overall systems project
and or specific question(s) related to the codes used in the development.
5.0 Requirements
i. You are required to carry out extra research for your system and document any logical
assumptions you made after the research.
ii. Your program should use symbolic constants where appropriate. Validations need to be
included to ensure the accuracy of the system. State any assumptions that you make under
each function.
iii. You are required to store all data in text files. There is no limit on the number of text files
that can be used but they should be kept minimum.
iv. You are expected to use list and functions in your program. Your program must embrace
modular programming technique and should be menu-driven.
v. You may include any extra features which you may feel relevant and that add value to the
system.
vi. There should be no need for graphics in your program, as what is being assessed, is your
programming skill not the interface design. The marking scheme for the assignment has
been provided so that you clearly know how the assessment for this assignment would be
done.
vii. You should include good programming practice such as comments, variable naming
conventions and indentation.
ix. You are required to use Python programming language to implement the solution. Use of
any other language like C/C++/Java is not allowed.
6.0 Deliverables
You are required to submit a softcopy of:
i. Program coded in Python – submitted as .py file.
ii. Text files created through test data – submitted as .txt files.
iii. A documentation of the system – submitted as pdf file - that incorporates basic
documentation standards such as header and footer, page numbering and includes:
- Cover page – include all group member name & TP number
- Table of contents
- Introduction and assumptions
- Design of the program – using pseudocode or flowcharts – which adheres to the
requirements provided above
- Explanation of programming concepts applied with sample segment of source code
from the system created.
- Additional features source code with explanation (if any)
- Screenshots of sample input/output with explanation
- Conclusion
- References using APA referencing format
Pass (50%-64%)
This grade will be assigned to work which meets at least half of the basic requirements
(approximately 50%) stated in the questions. The program runs smoothly when executed.
There is clear evidence and application of Python concepts at basic level. The program solution
is common with basic coding styles and validation. The program implemented somewhat maps
with the design (pseudocode and flowchart) as seen in the documentation. The design of the
solution is average in terms of logic and style with some errors / omissions. The documentation
has some missing components. Sample inputs/outputs documented but without any
explanation. Student must be able to explain some codes and work done and able to answer
some questions posed with some accurate / logical answers / explanation. Overall an average
piece of work submitted.