302CEM Coursework - April2021 + Rubricv1
302CEM Coursework - April2021 + Rubricv1
3+0 Bachelor of Science (Hons) in Computer Science, in collaboration with Coventry University, UK
3+0 Bachelor of Science (Hons) in Computing, in collaboration with Coventry University, UK
Full Name:
CU Student ID Number:
Hand out date: 12th April 2021 Due date: 18th July 2021
Penalties: No late work will be accepted. If you are unable to submit coursework on time due
to extenuating circumstances you may be eligible for an extension. Please consult the
lecturer.
Declaration: I/we the undersigned confirm that I/we have read and agree to abide by the University
regulations on plagiarism and cheating and Faculty coursework policies and procedures. I/we confirm
that this piece of work is my/our own. I/we consent to appropriate storage of our work for plagiarism
checking.
Signature(s): --------------------------------------
Section B - To be completed by the module leader
Intended learning outcomes assessed by this work:
1. Demonstrate a sound understanding of how Agile Methodologies can be used to
define users’ requirements, analysis and design of information systems.
2. Compare and contrast a range of current and emerging agile methodologies.
3. Evaluate the methods, techniques and tools for rapid development of various types of
information systems, and the reasons for their selection and use.
4. Use a range of appropriate tools to contribute to the development of a solution to a
real-world problem.
Marking scheme Max Mark
1. Agile Processes 15
2. Team Dynamics 5
3. Version Control 10
4. Test Driven Development 10
5. The Product 10
Total 50
Lecturer’s Feedback
(A) Startup
If you have completed the Hi-Tech Entrepreneurship subject, you already have a
good startup idea. You now have the chance to start developing your idea. It is
your own responsibility to form your team and inform your module leader at the
earliest opportunity about your system title and your team members.
Testing
The system should include the data for at least 10 real books and include the
correct details for each. The customer details should also be valid.
You are required to create the following accounts to allow the system to be
tested. All accounts should have the password p455w0rd:
1. customer1
2. customer2
3. admin.
Stage 1
Part 1
The ISBN-13 number should be considered the primary key. If stock is added for
a book that is already in the system it should update the existing record rather
than adding a new one.
Part 2
The Stock Levels screen should display the books that have been added to stock
using the form from the part 1 task. This page should display:
Part 3
A home page that should be visible without logging in. This should display all the
books that are for sale. For each book the following should be shown:
Stage 2
1. The following information about all the books in stock should be visible on the
homepage without needed to log in:
i. The name of the book
ii. The name of the author
iii. A thumbnail image
iv. A price
2. If a user is logged in there should be an Add to cart button next to each book.
Clicking this adds the book to a shopping cart and displays the cart page. The
cart should have a Continue shopping link or button to take the user back to
the homepage.
3. The cart should handle adding the same book twice by changing the quantity
and should display the total costs of all the items in the cart.
Stage 3
1. If the quantity of any book drops to zero it should not be possible to add the
item to the cart and it should be flagged as out of stock until the admin
increases the stock level.
2. The shopping cart should enable the user to adjust quantities of each item
and remove items with the correct total always being displayed.
3. There should be a checkout link or button on the shopping cart page. This
takes the user through the checkout process, prompting for an address if
none can be found and storing this in the user profile for future orders.
4. There should be an Order history button for the admin user which lists all the
orders placed on the system together with their details and value.
Extras
In some assignment briefs you are given marks for the appropriate use of media
and using sensors built into the user's device.
Sensors
In some assignment briefs you are given marks for the appropriate use of
sensors and sensor data. You should be implementing:
Media
In the requirements listed above you need to provide the user with the ability to
upload photos. For the extra media marks you will need to expand this by:
1. Providing the user with the choice of uploading photos, video clips or audio
clips.
2. Giving users the option to directly capture images, audio and video clips
using the built-in camera and/or microphone if available.
Data
There are lots of online RESTful APIs you can make use of when developing this
system. You should consider:
Build a digital ordering system for use by a small restaurant. Note that this is a
system that is used by the restaurant staff and not accessed by the general
public. The system should be usable on a tablet or touch screen computer so
keep the interface simple. All menu and ordering data must be stored in a
database.
Testing
You are required to create the following accounts to allow the system to be
tested. All accounts should have the password p455w0rd:
1. waitress (a member of serving staff).
2. waiter (a second member of serving staff).
3. chef
Each of the serving staff should have placed at least one order and the chef
should have flagged at least one order as served.
Stage 1
Part 1
The system should only be accessible and viewable by registered users. All non-
logged in users to be directed to the login screen.
In addition to the data captured through the forms, the database should also
store:
1. The username of the member of staff logged in.
2. The date and time the order was placed (the Done button was clicked).
3. The order status should be set to placed.
Part 2
The home screen should list all the active orders (those that have a status
of placed or ready).
1. Table number.
2. Number of places (the number of meals ordered).
3. Time of order (but not the date)
4. Status (see above)
Part 3
Stage 2
Stage 3
You are required to implement screens that can only be accessed by the
restaurant owner or admin user:
1. An accounts screen that lists all the accounts that are set up on the system
and allows the admin to:
i. Create new accounts (there should not be a self-registration option).
ii. A dropdown list that specifies the user role, this can be used to assign
roles to users.
2. A menu screen that lists all the currently available menu items and allows the
admin user to:
i. Hide menu items (so they don't appear on the ordering screen).
ii. Remove menu items (delete completely).
iii. Add new items to the menu.
Extras
In some assignment briefs you are given marks for the appropriate use of media
and using sensors built into the user's device.
Sensors
In some assignment briefs you are given marks for the appropriate use of
sensors and sensor data. You should be implementing:
1. When prompted for a photo, the admin user should be given access to the
device camera (if available).
Media
In the requirements listed above you need to provide the user with the ability to
upload photos. For the extra media marks you will need to expand this by:
1. Providing the user with the choice of uploading photos, video clips or audio
clips.
2. Giving users the option to directly capture images, audio and video clips
using the built-in camera and/or microphone if available.
Data
There are lots of online RESTful APIs you can make use of when developing this
system. You should consider:
1. Spoonacular
2. LocationIQ
If you lack the skills needed, you are required to take to learn them on your own. Be
prepared to spend a lot more self-learning time for this module. You are required to
use Test Harness and Distributed Version Control System to achieve higher grade.
Group Element
The Group Element is worth 10% of your final grade and every member of your
group will receive the same mark.
In Week 6 or 7 of the module, you and your group members are required to
demonstrate your product features. You are required to schedule a time with the
lecture for the demonstration.
Individual Element
Individual Element is worth 40% of your final grade. You are expected to write your
own, individual reflective report without collusion with other members of your group.
The report must be around 2500 words. You are only allowed to go above or below
this word count by 10% otherwise marks may be deducted. Also include appropriate
evidence of your work such as charts, logs and screen shots in your report.
Your report will be assessed based on the first four aspects in the grading rubric.
You are advised to refer the Grading Rubric as your guide when you work on this
report. Substantive critical analysis and application of knowledge and understanding
in relation to the experience you gained are expected to achieve higher grades.
This report must be submitted via TurnItIn before 16:00 on the Due Date mentioned
in page 1.
302CEM Grading Rubric
Team Poor understanding Basic understanding of A clear understanding of Detailed understanding of how Detailed analysis of how agile
Dynamics of agile team how agile team how agile team dynamics agile team dynamics impacts team dynamics affected the
dynamics. dynamics impacted impacted the development the development process development process efficiency.
5% No evidence of agile the development process efficiency. efficiency. Exemplary evidence of agile
team dynamics. process. Reasonable evidence of Strong evidence of agile team team dynamics.
Minimal evidence of good agile team dynamics. dynamics.
agile team dynamics.
Version Poor understanding Basic understanding A clear understanding of Detailed understanding a range Detailed analysis and reflection
Control of the role of version of how version control the key features of version of features that supports on how advanced distributed
control. helps to improve code control tools and how they distributed code development. development improved code
10% No evidence that quality. improve code quality. Evidence of some branching quality.
version control was Minimal version Reasonable version commit strategy and code review. Evidence of good branching
used. commit evidence. evidence. strategy and code review.
Automated Poor explanation Basic understanding A clear understanding of Detailed understanding and Detailed analysis and evidence
Testing of automated testing of how automated TDD and how this fitted into evidence of good TDD of mature TDD implementation.
techniques. testing improves the chosen workflow. implementation. Detailed analysis showing how
10%
No evidence of code quality. Reasonable Test Scripts Detail understanding of how CI and continuous deployment
TDD. Minimal evidence of evidence. continuous integration (CI) has (CD) have supported the agile
TDD. supported the agile development.
development.
The Product Simple product that Simple functional Product demonstrates a The product demonstrates The product demonstrates
(Group) does not implement product demonstrated. useful range of advanced functionality. advanced functionality and
core functionality. functionality. hosted on the Cloud.
10%