Answer all questions. (Total 100 marks)
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 the 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 face temporarily 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.
Question 1
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)
Hire a Professional Essay & Assignment Writer for completing your Academic Assessments
Native Singapore Writers Team
- 100% Plagiarism-Free Essay
- Highest Satisfaction Rate
- Free Revision
- On-Time Delivery
Question 2
Part (a) of this question is 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.:
• the class diagram; and
• the class description.
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:
- initiating a new thread of discussion about some significant aspect of the application; e.g., pointing out a problem in the requirements, suggesting how a particular aspect of the application might be modelled in terms of classes and associations or explaining why you think an invariant is needed;
- a response to a posting, where you attempt to resolve a problem that another group member has identified;
- a response to a posting, in which you state clearly and give evidence of why you agree or disagree with another group member’s suggestions, expanding significantly on what has been previously presented.
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.
Further notes:
- Do not include attachments in your postings.
- Justify each comment or suggestion you make. Simply saying “I agree. This is correct.” Or “XYZ should be a class. What do you think?” is not enough. These are not meaningful discussions and will not be considered.
- Make postings that should be between a third and half a page long.
- Initiate a new thread of discussion in one of your postings.
- Focus on one aspect of the application, rather than attempting to cover all aspects of the application. For instance, an association, the attributes of a particular class or an invariant. Your posting should still leave scope for other members of your discussion forum to make a significant contribution.
- Postings that do not leave enough scope for the other members to contribute will be penalised.
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)
Buy Custom Answer of This Assessment & Raise Your Grades
Question 3
Special note:
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 who reported no-shows for a student.
From this, we extract the following information:
Given a student 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 name
Goal: For each no-show record that the student accumulates:
- find the food stall that reported this
- add the food stall name to a list
- Return the list of food stall names.
You may assume the following:
- the Student class has an attribute, studentName
- the FoodStall class has an attribute, foodStallName
- when a food stall name is added to the list, duplicates are not added.
(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 who 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):
- the message sent to the orchestrating object;
- the message sent by another object to the Student object.
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)
—- END OF ASSIGNMENT —-
Stuck with a lot of homework assignments and feeling stressed ?
Take professional academic assistance & Get 100% Plagiarism free papers
The post ICT340 Application Analysis and Design Tutor-Marked Assignment appeared first on Singapore Assignment Help.