BISM7255-BISM 7255

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 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] 4 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] 5 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] 6 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] 7 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: N Diagram Type Assignment (recommended minimal requirements) 1 Use Case Diagram 2 different actors 4 top-level use cases 2 include relationships 2 extend relationships 2 Activity Diagram 3 partitions 10 activities 1 fork 1 join 4 decision activities 3 Sequence Diagram 1 domain object that interacts with 2 actors in a complex sequence of interactions, including 4 input messages, 4 return values, 2 self- messages and 2 self-message returns. Parameters/input data must be included along with each input message. You should also include fragments (loop, opt, and/or alt fragments). 4 Class Diagram 10 domain classes with multiplicities, attributes, and operations. 3 cases of generalisation/specialisation relationships 3 cases of whole-part relationships (i.e., aggregation AND composition) 2 association classes UML Project – UN Sustainability Goal 12 Semester 2-2022 [New Version: Effective from 05 SEPT 2022] 8 Please ensure that all information captured in the Class Diagram comes from the excel spreadsheet and the case description. 5 State Machine Diagram 1 object, 5 major states, 1 composite state, 1 choice pseudo-state, and various transitions with triggers and guard conditions (if required). You should also include the initial state(s) and final state(s). For Task 3 – the innovation diagrams, you must have the following details in each diagram: N Diagram Type Assignment (recommended minimal requirements) 1 Activity Diagram 2 partitions 10 activities 2 forks 2 joins 3 decision activities 2 Sequence Diagram 1 domain object that interacts with 2 actors in a complex sequence of interactions, including 5 messages comprised of: … 1) input messages, 2) return values, 3) self-messages, 4) input message. You should also include fragments (loop, opt, and/or alt fragments). 3 State Machine Diagram 1 object, 5 or more major states, 1 composite state, 1 choice pseudo- state, and various transitions with triggers and guard conditions (if required). You should also include the initial state(s) and final state(s). UML Project – UN Sustainability Goal 12 Semester 2-2022 [New Version: Effective from 05 SEPT 2022] 9 Submission Process The assignment must be submitted electronically through Blackboard. Please make sure that your submission includes ALL files: 1) Analysis and design assessment portfolio. This is a word file (not a PDF file). 2) An Enterprise Architect file that corresponds with your word file diagrams. 3) If required, Peer Assessment Forms. Export each diagram as an image, paste it into an MS WORD DOCUMENT and submit the EA FILE used to produce the portfolio. Files submitted as email attachments to teaching staff will not be accepted. Late submission will result in the deduction of marks. Before the closing time of the submission, you can submit multiple times. Blackboard displays all submissions, and we can see what the latest submission is and will only mark your latest submission. No submissions via email will be accepted. Submission Date Submission date: 15 September 2022 at 2:00pm For each day (including Saturday and Sunday) after 15 September 2022, the late submission penalties apply based on UQ examination policies until the assignment is submitted. 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 assignment 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. 3) If the student does not receive any confirmation email 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 confirmation emails with the submission IDs within 60 minutes, the student is advised to resubmit the entire assignment (word file and EA file). 5) The confirmation email with the submission IDs is 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. Extension Application Procedure A request for an extension of the assignment due date will need to be done via the submission of an online application at this link: https://my.uq.edu.au/node/218/0#0. Neither course coordinators nor lecturers can grant assessment extensions to students. UML Project – UN Sustainability Goal 12 Semester 2-2022 [New Version: Effective from 05 SEPT 2022] 10 Peer Evaluation A group of students will get the mark after calculating the peer evaluation results, also called ‘Group Peer Assessment’. More details can be found at the course’ Blackboard site. The student group needs to list both names and student numbers on the first page of the assignment. Each student must undertake a peer evaluation. Marking Rubric The project will be graded on its scope, usability, maintainability, consistency, credibility, and suitability in the target organisation and style of the project report. You will also be graded on how well you have followed the analysis and design procedures demonstrated during the course and the quality of the final presentation. For details, please refer to the marking rubric attached to the assignment. Each assignment will be marked considering the two following main sections: 1) Correct use of diagrams notation: Each diagram MUST comply with the notation learned in tutorials, particularly UML 2.5. It must comply with the tutorial materials and the OMG UML specification version 2.5 or Sparx Systems’ UML recommendations. Although other notation conventions exist, only the one taught in the tutorials is considered correct for marking purposes. 2) Correct logic and consistency with the business case: Logic means that each diagram correctly represents the case description. The first five diagrams CANNOT include information not given to you. The three innovation diagrams are expected to include additional details and information. Zero marks for the assignment will be given if the student does not use Enterprise Architect to create the diagrams. UML Project – UN Sustainability Goal 12 Semester 2-2022 [New Version: Effective from 05 SEPT 2022] 11 Marking Rubric Total Marks: 40 marks – Penalty per day late will be applied. Criteria Developing Competency 0% – 50% Adequate Competency 50% – 80% High Level Competency 80% – 100% UML Models – Notation Correctness 16 marks Demonstrates a poor understanding of UML modelling notations and conventions. Most labelling of UML model elements is not in line with tutorial knowledge. Many errors exist in the solution. Demonstrates an adequate understanding of UML modelling notations and conventions in line with tutorial knowledge. Some errors exist in labelling UML model elements. Demonstrates a good understanding of UML modelling notations and conventions in line with tutorial knowledge. Few or no errors exist in labelling UML model elements. UML Models – Logical Correctness 16 marks Most UML models do not precisely or comprehensively represent the business case. Many semantic errors exist in the solution. Relationships among different types of models are poorly captured or ambiguously expressed. Some UML models do not precisely or comprehensively represent the business case. Some semantic errors exist in the solution. Relationships among different types of models are captured but only partially correct. All UML models precisely, consistently, and comprehensively represent the business case. Few or no semantic errors exist in the solution. Relationships among different types of models are accurately and sufficiently captured. Layout Report 8 marks Numerous issues exist concerning the quality of EA diagrams and report formatting. A few issues exist concerning the quality of EA diagrams and report formatting. High-quality EA diagrams with professionally and consistently formatted report. Marks are deducted based on the number of issues listed: 1) A cover page is not included, and Pages are not numbered. 2) Overview page is not included, and there is no table of contents. 3) Solution is not split into logical sections, and headings are not meaningful. 4) The word limit does not comply with the requirements. 5) Words and elements are not readable in the diagrams/the font size is too small. Good luck with the assignment!