RE I Assignment 2 HS2024
RE I Assignment 2 HS2024
Groups
The assignment shall be solved in groups of three to four students. The groups organize
themselves in OLAT. Groups may distribute the work among group members. Nevertheless,
every group member shall be able to explain each part of the group’s solution of the assign-
ment, regardless of what they actually have worked on.
Submission instructions
• The solutions must be submitted electronically by the deadline stated above, in a single
pdf file, to [email protected] with subject Assignment_2_group_<group number>. <group
number> is the number of the group in OLAT.
Do not submit your work in OLAT!
• Every group submits one joint solution. Submissions must be in English.
• Name your pdf file as follows: Assignment_2_group_<group number>.pdf
Example: Assignment_2_group_04.pdf.
• On top of the first page of your pdf file, specify the group name and the names, surnames,
email addresses and matriculation numbers (Matrikelnummer) of the group members.
• For each task or sub-task in the assignment, specify which group member(s) has/have
contributed to the solution.
Both assignments are based on the “Dynamic Online Ordering” case study which can be
found in OLAT.
In this case study, you play the role of a consultant who has been hired by the Ladino group
as a requirements engineer. Your job is to support the development of the software for the
planned DyOnOr (dynamic online ordering) system by defining and organizing the require-
ments.
In Assignment 2 you have to deliver the solutions for each of the following tasks.
Please note:
When you find that some information you need for solving the assignment is missing, ask for
clarification or make assumptions. When you make assumptions, document and justify them.
The effort required to solve a task is not the same for all tasks. Consider this when assigning
tasks to group members.
© 2024 Martin Glinz. All rights reserved. This material is designated to be used exclusively by the students of my
Requirements Engineering I course at UZH in fall semester 2024. These students are allowed to make digital or printed
copies of this material for their personal use. Any other use or re-distribution of this material to any third party in any
form is not permitted without prior, written consent of the author.
The information you have received from Eya Alakmeh, the Chief Systems Architect, have consid-
erable impact on your project.
a) Can you still do the RE work according to the process selected/configured in Task 1.5 of
assignment 1? If yes, argue why you can. If no, sketch how you will change the process.
b) Take the ranked list of risks that you have created in Task 1.1 of assignment 1. Re-assess your
risks and update your risk list accordingly.
c) From June 30, 2025 on, you have a team of three developers at your disposition. However,
you will not have enough prioritized user stories ready for implementation by then. What
tasks do you ask the team to work on in the first sprint?
2.2 A persona
From your conversation with Gökçe Bingül you know that you will need some personas.
b) How can you validate the persona that you have created?
As the DyOnOr app will be developed in an agile fashion, you have decided to specify the
requirements for this app primarily with user stories. You will also have to document quality
requirements and constraints.
a) Elicit functional requirements for the DyOnOr app and document them as user stories. Use
the template given in the course notes (Chapter 6, slide 10).
b) Create acceptance criteria for every user story. When you cannot derive the acceptance
criteria from the information you have from the stakeholders, suggest acceptance criteria
that you then can discuss with the stakeholders.
c) Elicit quality requirements and constraints for the DyOnOr App and document them in
natural language.
As the development of the DyOnOr back-end system has to be outsourced, you need to create a
software requirements specification (SRS) for this back-end. The specification will be written
using the IREB document template described in the course notes (Chapter 3, slide 33).
a) Write parts I and II of the SRS.
b) Suggest a structure for part III of the SRS.
c) Analyze the case study with respect to the functional requirements of the DyOnOr back-end.
Elicit functional requirements and document them using the phrase templates given in the
course notes. You may choose the simple phrase template (Chapter 6, slide 7) or the EARS
templates (Chapter 6, slide 8-9). Place the requirements where they fit in the structure sug-
gested in Task 2.3 b. Record for each requirement from which stakeholder(s) it originates.
d) You decide to document the interface between the DyOnOr back-end and the DyOnOr app with
use cases.
Write a use case that specifies the interaction between the app (as an actor) and the back-end
(the system) when creating a new guest account in the DyOnOr app. Use the structured text
style shown in the course notes (Chapter 7, slide 44) for documenting the use case. Place the
use case where it fits in the document structure that you suggested in Task 2.2 b.
e) Elicit important quality requirements and system constraints from the case study and docu-
ment them in the appropriate sections of the SRS. Record for each requirement from which
stakeholder(s) it originates.
Give the documentation to your team members for peer review. Fix the content and language ambi-
guities and errors that have been identified by your peers.
You have solved this task completely, if you have
• filled the template for Part I and Part II with meaningful content (as far as information is available
in the case study);
• suggested a meaningful component structure;
• elicited and documented at least five functional requirements in an adequate way;
• documented the use case with structured text;
• elicited and documented at least three constraints/quality requirements in an adequate way.
You have got a lot of information about required data, although it is not yet fully clear where these
data will eventually reside. As suggested by Eya Alakmeh, you therefore decide to create a static
domain model for the relevant data.
a) Analyze the relevant data in the case study, concentrating on the data necessary for online
ordering and making reservations, and model them using a UML class model.
b) Where does this model fit in the SRS that you have created in task 2.4?
In the group interview with the restaurant managers and waiters, the stakeholders have discussed
how the online ordering process should work. You decide to model this process with a domain
story model such that you can discuss it with some pilot users.
a) Model the interaction between a guest, a waiter, a payment provider and the DyOnOr app
when a guest orders two coffees online with a domain story model. Use the notation shown
b) How easy or complicated would it be to extend your domain story model such that it models
how to order many different food and beverage items? Would another modeling technique
be better suited for that purpose than a domain story model?
Due to the strong demand for a reservation feature in the DyOnOr app, you have decided to
model the reservation process in order to achieve shared understanding among the stakeholders
about this process.
The process of making a reservation needs coordinated interaction between a guest, their
instance of the DyOnOr app and the DyOnOr back-end. You decide to model this process.
Model the table reservation process with a UML activity diagram.
Hints: Your model shall show the interaction between a guest, the app and the back-end when a
guest uses the app to reserve a table. Only model the basic process as suggested by Eya
Alakmeh. Include a simple version of the feature required by Nadja Amstutz that the app makes a
suggestion with available tables and time slots. Neither include VIP reservations nor the case
where a guest calls a restaurant for making a reservation nor a person making a reservation for
somebody else. In the course notes (Chapter 7, slide 29) you find a summary of the notation
elements that you will need.
You have solved this task completely, if you have a model showing
• three “swim lanes” denoting the responsibilities of the guest, the app and the back-end, respectively.
• the sequence of actions needed for making and confirming a reservation.
When going through the recording of the group interview, you notice that Maria has been inter-
rupted multiple times and that you probably missed information from her, as she did not follow-up
when she was interrupted during the discussion of guest preferences.
a) It seems that Maria was handicapped by being the only remote participant of the meeting.
Discuss how you could have mitigated this problem during the interview.
b) Having discovered the problem with Maria only after the interview, when listening to the
recording, what can you do now?