Category | Assignment | Subject | Computer Science |
---|---|---|---|
University | Singapore University of Social Science (SUSS) | Module Title | ICT340 Application Analysis and Design |
Assessment Title | Tutor-Marked Assignment |
---|
Read the following negotiated system requirements (NSR) for a Food Ordering Application and answer the questions that follow.
HungryEatNow is a small start-up company that is planning to launch a food pre-ordering application tailored for students and food stall staff at Next University. The key objective of this application is to reduce long queues during peak meal periods, improve order fulfilment efficiency, and provide a convenient application for food ordering within the university community.
The HungryEatNow team is in the early planning stages and is looking to engage a software design and development team to help define, analyse, and design the system before development begins.
The proposed system must integrate with the university’s login system to allow students to register using their university login ID and password. Once authenticated, users can browse participating food stalls, view menus, place food orders, and select a pick-up time. Only digital payment for orders is available. The user can then collect their order from the respective food stall using the QR code generated. The application should support real-time menu updates, including item availability, pricing, and estimated preparation times.
There are two types of student users: Regular and Priority users. Priority users (such as those with accessibility needs or leadership roles) have additional privileges — such as increased daily order limits or access to exclusive pick-up windows — compared to regular users.
The system must also support functions for food stall staff. Each food stall would be given a staff account to manage their stall profile, update menu items and time slots, view incoming orders and track sales performance. Staff must also be able to indicate when items are unavailable or when operational issues may affect fulfilment. Staff may cancel orders when necessary, and track user behaviour (such as frequent no-shows).
To maintain application integrity, there is an enforcement policy on order collection. Students who fail to collect their orders within 15 minutes of the scheduled time are no-shows. A user who accumulates three no-shows within a week faces temporary suspension from making further orders. Staff would have the discretion to report such occurrences through the application.
An administrator manages student and staff accounts and addresses any operational disputes or policy breaches as necessary. Administrators would also manage configurations such as suspension thresholds, system notices, and business analytics.
As HungryEatNow prepares to bring this concept to life, the system analyst and designer would play a crucial role in translating their vision into a clear and structured software design — laying the foundation for a robust, reliable, and user-centric application that enhances the everyday dining experience on campus.
Here are 5 classifications of requirements:
(a) Functional requirement
(b) Non-functional requirement
(c) Design directive
(d) Implementation directive
(e) Platitude
Analyse the NSR and for each classification above, find one requirement that satisfies it.
Justify your classification.
State clearly if no requirement is found for a particular classification. (10 marks)
Part (a) of this question is a groupwork discussion with the start date being the first week of the Course Timetable available from e-Services through the Student Portal. If you do not see the Discussion link in the Canvas portal T-group by the end of the first week, please contact your tutor immediately.
You are asked to discuss with your fellow group members how to produce the structural model for the Food Ordering Application, i.e.:
You must not post a complete class diagram to your group discussion board. The complete class diagram should only be submitted in your TMA solution document.
You should limit your discussions to identifying the classes, their attributes, the associations and relationships between the classes, and any invariants needed.
As part of your discussions, you are asked to submit two or three postings to the discussion board. (40 marks)
Examples of the types of postings that would gain you credit are:
In all your postings, please maintain professional courtesy and avoid any comments that may give rise to unpleasant exchanges in the discussions. Remember that your comment may be correct even if someone else says it is incorrect.
Experience has shown that it is very difficult to obtain good marks for your postings if you attempt to make all your postings in a very short space of time. Time for reflection and measured judgement is an important part of this work.
The NSR has limited information on the problem and requirements for the application. Analyse the NSR in your group Canvas discussion board and discuss possible classes, their attributes, the associations and relationships between the classes, and any invariants needed.
Copy TWO (2) postings you have contributed to the discussion.
For each posting, submit a screenshot AND a text copy of the posting. (10 marks)
(i) Identify the classes for the system design. (8 marks)
(ii) Using the classes from Question 2(b)(i), develop a structural model for the system design by documenting the class description for the application.
The class description should include the classes, their attributes and any hierarchical relationship(s), omitting any foreign key associations. These could be obtained from the NSR and/or from your group Canvas discussions for Question 2(a). (9 marks)
Complete the structural model for the system design by appraising the associations among the set of classes in your solution to Question 2(b).
Construct the class association diagram in UML as your answer. Any derived association should be labelled, but you need not give the derivation. (13 marks)
The information provided here is not necessarily applicable to the previous questions.
Consider the following requirement to find all food stalls that have reported no-shows for a student.
Find food stalls that reported no-shows for a student.
From this, we extract the following information:
Given a student's name, find all food stalls that have reported no-shows for that student.
From this, we can identify the use case: Find Food Stalls that Reported No-Shows, with the following specification:
Given: A student's name
Goal: For each no-show record that the student accumulates:
You may assume the following:
(50 marks)
Figure Q3: class association diagram
(a) Using the ICT340 convention, add an Orchestrating Class to the class association diagram in Figure Q3 and show the navigation required to locate the required object at the start of the walk-through.
Your solution should show the Orchestrating Class, the association name, navigation arrow with multiplicities clearly. (4 marks)
(b) Appraise the navigation for the association accumulates, by using the tabular format in Table Q3b below:
Class being modified | |
Association being implemented | accumulates |
Direction of navigation | |
Multiplicity | |
Instance variable added | |
Value of instance variable | |
Justification |
Table Q3b
(9 marks)
(c) Construct a dynamic model of the system by writing the complete walkthrough for the use case, Find Food Stalls who reported No-Shows for a student, using the following template:
Objective: …
Given: …
Locate …
Locate …
2.1 For each such instance …
Return …
Result: For the given student name, all the food stalls that reported no-shows for this student is returned.
(10 marks)
(d) Develop a dynamic model of the system by constructing a sequence diagram based on the walkthrough depicted in Question 3(c). (15 marks)
(e) Consider the following messages as depicted in the sequence diagram in Question 3(d):
Using the Python programming language, implement the dynamic model by coding the methods corresponding to these TWO (2) messages. Name the classes that should own the respective methods. (12 marks)
Do You Need ICT340 Assignment of This Question
Order Non-Plagiarized AssignmentHaving trouble completing your ICT340 Application Analysis and Design assignment on time? Our Computer Science Assignment Help service is the best for you! Our expert writers offer high-quality, plagiarism-free, and AI-free assignments at pocket-friendly rates. You can even check our free assignment samples before placing your order. We promise on-time delivery and 24/7 support, no matter your academic needs. From Business Management to technical subjects, we cover it all.
Let's Book Your Work with Our Expert and Get High-Quality Content