UML ASSIGNMENT – BISM 7255 – SEMESTER 2-2022
A Digital Solution for support of the UN Sustainability Goal 12:
Ensure sustainable consumption and production patterns
ASSESSMENT WEIGHTING: 40%
DUE DATE: 15 Sept 2022 at 2:00pm (BNE time)
VERSION: 22 July 2022
INTRODUCTION
Summary Task:
The assignment asks you to create a collection of UML diagrams (eight diagrams) that visually
represent an application to address the UN Sustainability Goal 12 – Ensure sustainable
consumption and production patterns.
Introduction of Case Scenario:
In this course, we will tackle the specific issue: 17% of total food is wasted at the consumer
level. This will be tackled through the design of a recipe and shopping application.
UML Project – UN Sustainability Goal 12 Semester 2-2022
[New Version: Effective from 05 SEPT 2022]
2
The work completed in this first assignment will form the foundation for the third assignment,
where you build the application.
You will act as a business analyst for BISM Consultants and start to elicit and formulate
business requirements to help reduce food wastage for homes around Australia (and potentially
throughout the world).
Assignment requirements for students:
1) You must use Enterprise Architect software from Sparx Systems to create the UML
diagrams.
2) You must, in total, create eight UML diagrams – five diagrams that follow the case
description and three diagrams that present a feature or innovation that is not described in
the case description (we refer to them as “innovation diagrams). For more details, see
section ‘Task Description’.
3) You must use UML 2.5 –This means the assignment must comply with the tutorial
materials and, by extension, the OMG UML specification version 2.5 of Sparx Systems’
UML recommendations.
4) You will submit two documents:
a. A Word document where all UML diagrams are presented
b. You must also submit a SINGLE Enterprise Architect file that includes the eight
UML 2.5 diagrams, which the marker uses if the copied UML diagrams are not
readable or the marker wants to verify something.
Students per Assignment
The assignment can be submitted as an individual assignment OR done by two students as a
group assignment. When doing it as a group assignment, it is a UQ requirement to do a peer
evaluation. For more details, refer to the Blackboard site.
How do I submit the assignment?
The assignment submission must be made via the Blackboard site following the steps below:
1) Go to “Assessment” ? “Assessment 1: UML Assignment”
2) Find the link ? this is a Blackboard submission link.
3) Upload both your project report file and your Enterprise Architect file (*.eapx)
a. If you have worked as a group (max two people) you will also submit your peer
assessment form (.pdf) to Blackboard
How do I know that my assignment submission was successful?
When the assignment is successfully submitted, the student receives two automatically
generated confirmation emails (one for the Turnitin submission, one for the EA project
submission) in their student email. Each email contains a unique submission ID.
Important submission information:
1) To avoid any potential technical problems with computers or the internet, students are
advised to commence assignment submission at least 3 hours before they are due.
2) Students must click on the Submit button to submit their assignments. Do not save the
project as a draft; you must submit the assignment by clicking the submit button. The
submission has not been finalised when the assignment is only saved.
UML Project – UN Sustainability Goal 12 Semester 2-2022
[New Version: Effective from 05 SEPT 2022]
3) If the student does not receive any of the two confirmation emails with the submission IDs,
then the student must assume that the submission of the entire assignment or part of it was
unsuccessful.
4) If a student does not receive the TWO confirmation emails with the submission IDs within
60 minutes, the student is advised to resubmit the individual assignment part of the entire
assignment (word file and EA file).
5) The two confirmation emails with the submission IDs are the only proof that the assignment
has been successfully submitted. Do not delete these confirmation emails.
6) It is the student’s responsibility to ensure that any UQ assignment is submitted successfully.
Any unsuccessful submission may result in a late penalty.
Misconduct
Understandably, students talk with each other regularly and discuss problems and potential
solutions. However, it is expected that the submitted assignment is a unique work. All parts of
the assignment are to be completed solely by the student(s) indicated on the first page of the
assignment. The best practice to avoid misconduct is not to look at another student’s file(s) and
not to show your solution to other students. If an assignment is perceived not to be a unique
work, a loss of marks and other implications can result.
For further information about academic integrity, plagiarism and consequences, please visit
http://ppl.app.uq.edu.au/content/3.60.04- student-integrity-and-misconduct\
DETAILED INFORMATION ABOUT THE PROPOSED DESIGN
In the following, you find details that allow you to create a representation of the business case.
You must capture the shopping application’s operation as described here. You cannot fill in
gaps or leave information out. If you do so, marks will be deducted.
Recipe and Menu Planning Application:
BISM Consultants have had a kickstart workshop and brainstormed a great way to help families
(and potentially even restaurants) reduce food wastage and the over-purchase of food.
It is proposed that the team can create an application. Our Minimum Viable Product (MVP)
will include:
A weekly meal planner;
A recipe database;
A shopping list creator;
A pantry list checker;
The Scope of the Project – Systems Behaviors and Possible Use Cases
The following text provides the details to create the use case diagram. The use case shall present
the recipe and menu planning system.
The goal of the digital solution is to automate the process of planning the weekly shopping for
a household. With the digital solution, the household can plan meals for the week and related
shopping for the week (or with options to shop more frequently). The household needs to be
able to choose recipes from a recipe bank or add their favourite recipes to the recipe bank.
UML Project – UN Sustainability Goal 12 Semester 2-2022
[New Version: Effective from 05 SEPT 2022]
Shopping Process for a household
The following text provides the details to create the activity diagram and the sequence diagram.
Both diagrams present the shopping process for a household. However, the activity diagram
needs to capture the process, whereas the sequence diagram captures the interactions between
the actors [shoppers & grocery stores] and the system.
The shopping process starts when a person opts to “Register Now”.
First, the system requires verification of the users’ identity by asking them to sign into a valid
account. If the shopper is not a registered user, they will need to sign up for a new account. To
do so, the shopper enters personal information, including their first name, surname, email
address, and contact number. After submitting the sign-up form, the shopper receives a
validation email to complete the sign-up process for the new account. The link contained in the
email will expire three days from the date sent. When the shopper has an account, they simply
log into the system by entering their login details, i.e., email address and password.
Once the shopper is logged in, they can start to upload favourite recipes or choose favourite
recipes (from the available recipe bank). Review allrecipes.com to find some recipes that you
would want in the recipe bank. Notice that allrecipes.com provides information about
ingredients, cooking method, serving size, cooking time, nutrition information, photos, and the
ability to size up or down the recipe. Other recipe sites also can change the measurement from
cup to weight (or they provide both – check out taste.com.au). You can also see the ability to
add ingredients to a shopping list.
Each household will have different needs based on favourite foods, weekly activities, and
budget. In a settings option, there needs to be an ability to set the frequency of planning and
shopping. Some households may shop daily, while others may shop every 14 days. There
should also be a setting for usual servings requirements per meal, but with an option to change
if friends or family are coming over for dinner or if fewer people will be home for the meal.
Once a household has configured its settings, they can either use recipes from the bank (pre-
loaded) or add their own family recipes. The meal planner may want to browse the recipes and
favourite some for easy access later.
Then the meal planner can start planning their meals. They can opt to plan breakfast, lunch,
dinner, and snacks. They will need an option to have take-aways or to eat out. Some people
have different eating patterns – some need to eat 5-6 meals a day (maybe this is something we
can consider for release 2). Once the meal plan is finished, the meal planner can opt to create
a shopping list. The shopping list needs to be innovative. It needs to be able to add everything
together. This means that it will be essential that when people add their recipes, the ingredients
match the ingredients already in the database.
But the household will not want to purchase items they already have at home. Planners may
want two different ways to manage this option. A person may either remove items from the
provided shopping list because they are in the pantry or fridge, or the person may opt to upload
a current fridge and pantry list.
There will be some limitations to the first release of the product. For example, you can buy 1kg
or a 2kg bag of flour at a supermarket. The shopping list may combine all flour to a total of
500 grams. You have no flour at home, but you need to be able to buy enough flour for the
UML Project – UN Sustainability Goal 12 Semester 2-2022
[New Version: Effective from 05 SEPT 2022]
week; you may choose to buy the 2kg bag as it is better value, and you know you will use it
over time. So, the excess needs to be updated on your pantry list. You may consider this a
requirement for release 2 of the product, but it is probably best to think about how you might
solve this now.
A person may also be interested in their nutritional intake. They may be trying to bulk up for a
reason or trying to lose weight. Some people may be allergic to certain ingredients and will
want to switch ingredients. These are certain functions that may be worth considering now or
in the future.
Data Requirements of the shopping application
The following text provides the details you need to create the domain class diagram. The
diagram shall present the data structure of the meal planning system.
You have been provided with several favourite recipes from the team. You will find the
information in the Excel spreadsheet (see Blackboard). Note that while the spreadsheet does
show a range of tables, the presentation is not ready for a database as it has not been fully
normalised. Students must normalise the data to achieve full marks. Also, note that system
tables will be required to store the settings and configurations of the user of the application,
and these are not demonstrated within the Excel spreadsheet.
To help better understand the information in the spreadsheet, you have been provided with
some additional information as below:
People will have preferences for where they like to shop. Not all ingredients will be available
at major supermarkets. Also, it might be great to establish connections with local farmers and
producers so a household can choose to shop more local rather than through a supermarket.
But let’s give shoppers the choice of where they will buy.
Thankfully in this application, we are not concerned about payments and payment gateways.
It does simplify our security requirements. If we were to classify the data, it would be low risk.
If someone stole your data about your eating habits or household recipes, it wouldn’t be the
world’s end. However, what if restaurants started to use this application for planning. I would
suspect some famous chef recipes would need to be protected.
It is also helpful to know that there are many standards regarding food. Food Standards
Australia New Zealand provide a lot of information and offers open access to many data sets.
They are also planning on building a brand-name product database. This could be used in the
future to populate an ingredients table. Check out all their downloadable files for some hints.
The Lifecycle of the shopping application
The following text provides the details to create the state machine diagram. The diagram shall
represent the different states of a crafts workshop and the transitions between the states.
The lifecycle begins with a person signing up for the application. The first step is for the person
to set up and configure the application for their preferences. The next step is to favourite recipes
(either by choosing from a list or inputting their recipes into the system). A planner will then
schedule meals for specific days.
UML Project – UN Sustainability Goal 12 Semester 2-2022
[New Version: Effective from 05 SEPT 2022]
Once a planner is finished scheduling their meals, they will then create a shopping list. Ideally,
this shopping list will be compared with their pantry and fridge items so the buyer does not
over-purchase unnecessarily (remember: this is one of the application’s goals).
When a buyer goes shopping, though, they may not find everything. So, a buyer needs to
confirm all the items they were able to purchase. If you get to the end of the shop, you may
need to substitute ingredients if they cannot be found – or choose not to make that recipe that
week. A buyer must then return other ingredients if a meal swap is completed.
Another goal of the application is to ensure no products are thrown away. It might be helpful
to store the purchase date and the use-by date of the products in the pantry/fridge list. If a use-
by date is approaching for a particular product, the application should remind the person to
make the recipe that contains the ingredient soon.
We know life gets busy, and it might be hard to plan weekly. It would be great to suggest
recipes based on what is available in someone’s pantry list. Or people unexpectedly drop by,
and you need to double the recipe. We want to make sure the application is flexible for all life
changes that can happen.
Task Description
After familiarising yourself with the business requirements for the software application, you
are now required to do THREE tasks:
1) Task 1: Choose a name for the digital solution. Put the name on the cover page of the word
file.
2) Task 2: Create five UML models (one for each type) based on the description of business
requirements. Document any assumptions you made (if any) underneath each diagram.
3) Task 3: Create three additional UML models (we refer to them as “innovation diagrams)
that have not been detailed in the description (or may have been hinted at). Here we ask
you to be creative and use your imagination to develop something new. You can consider
this task as a suggestion for an additional feature, an innovation the application designer
did not think of. The three UML models you are asked to create must be an activity
diagram, a sequence diagram, and a state machine diagram.
To propose something genuinely new – you must keep the following in mind:
1. Activity diagram cannot be the ‘Registration Process’. We recommend returning to the
use case diagram and thinking about a different business process.
2. Activity diagram and sequence diagram must depict the same business process.
UML 2.5 Portfolio
All UML models MUST be created with Enterprise Architect (EA), and each diagram must be
exported as an image and pasted into a Word document that MUST be submitted as well.
The word document must include an overview page containing a table of contents with
meaningful headings. For example, "Activity Diagram" followed by the system’s name. In
addition, each diagram may have assumptions underneath only if needed. It is recommendable
for approximately 200 words (for the whole document) but can be less or more. Also, it is
UML Project – UN Sustainability Goal 12 Semester 2-2022
[New Version: Effective from 05 SEPT 2022]
desirable the use bullet points. Furthermore, the word document must have the pages numbered,
and the diagrams must have a readable font size.
All models MUST be done in UML 2.5. This means it must comply with the tutorial material
and, by extension, the OMG UML specification version 2.5 or Sparx Systems’ UML
recommendations.
Please make sure that you comply with the modelling guidelines as follows:
1) The models must be created with Enterprise Architect from Sparx.
2) The first five models must represent the business case. This means you need to create the
five diagrams using the information provided in the assignment.
3) You must only model the automated part of the digital solutions. This means any manual
activities not carried out by the system will not be represented in the UML models.
4) You must follow appropriate modelling conventions (the rules) specified in the weekly
tutorial files.
5) You must capture the relationships between different types of UML models. This means:
The activity diagram must model the business process captured in one or more use
cases of the use case diagram.
Activity diagram and sequence diagram must depict the same business process.
The information contained in the sequence diagram should match the information
captured in the class diagram.
State machine diagram must depict the states of a single object (over its lifespan); this
object is captured as a class in the class diagram.
For Task 2 – the first five UML diagrams, you must have the following details in each
diagram: