[180 min] DO: Build a Conceptual Data Model Start Assignment
Due Tuesday by 11:59pm Points 100 Submitting a website url Available until Sep 21 at 8am
Start by reading the entire assignment and then watching the commentary and explanation below. While you may collaborate with others in the class you must submit your own model.
Case Background
Oakmont & Partners LP has been busy building data models for a number of new clients and Monica is excited to start a new modeling effort for a local non-profit that provides food assistance to homeless and others in need. She is keen on applying her UML modeling skills that she acquired while taking a corporate training class taught by Ars Doceo. She knows that the first step in building a conceptual data model is to conduct requirements analysis. So, she sets up an interview with Kaileen Ormond, the Director of Social Pedagogy who has been with the organization for over 18 years. To make sure she remembers what is being said, she decides to record the interview. The following is a
Code Help, Add WeChat: cstutorcs
transcription of part of that recording:
“… Let me give you a scenario. So, last month we got so many food donations from local supermarkets that we could not give all of it out and some of it spoiled. While some items are also beyond their expiration date, we sometimes override that as we know that the food is still good — we then use it to prepare hot meals in one of our mobile kitchen. It’s really actually kind of neat — like a food truck that roams the streets of Portland. We do need to keep track of our food inventory so we know what we may have to specifically solicit or might even have to buy.”
Monica thinks she has enough to develop an initial data model but is reassigned to a new project where her skills in agile business analysis are needed. So, you are being asked to jump in and build an initial data model. Your task is to develop a conceptual data model for the entities and relationships within the context of the above requirements, along with a full definition of all entities. Be sure to list all your assumptions used in the construction of the data models. Express the data model in a UML Class Diagram using LucidChart (https://www.lucidchart.com/pages/) . Label the relationships where useful. Use directionality indicators on the labels (▲▼▶◀). Add key attributes as appropriate with the stereotype «key».
To narrow and focus the scope of the model, consider only the specific use cases below. Those are the ones that the data model must support — you may omit any other considerations as this is clearly is very large project. The likely implementation will be a small application, perhaps a web app and this data model will help inform the database design and the user interface.
1. track the food that is either donated or purchased
2. if a food item is donated, track its donor and the donor’s name, address, email, and phone as well as a contact person if the donor is an
organization or company
3. food items are perishable, so track the expiration as well as use-by date
4. for food items track a name, description, and some kind of unique identifier, plus the “brand” or manufacturer, e.g., “Dole”
5. for food items, track the packing type (wrapped, sealed, canned, open)
6. track the serving size and the calories per service size
If there are unresolved questions from the notes, post your question on Teams and incorporate the new findings into your model. You may discuss the problem and share insights with your peers in the class but you must build and submit your own model. Keep your model to about 6-8 classes/entities. Time box your work to the allotted time of about 3 hours. If you spend substantially more than 3 hours then you are overthinking the problem. This is a large problem and we do neither have the time nor the expectation that you build a full domain data model — we want you to get started and pay only attention to the use cases.
Computer Science Tutoring
Submission Details
Submit a public URL to your UML Class Diagram and that also contains (in separate “tabs”) all notes and assumptions. You must use
LucidChart (https://www.lucidchart.com/pages/) to create the UML Class Diagram and track any notes. See the tutorial below on how to get a public link that you can submit.
Correctness of UML: proper use of multiplicity, aggregration, association, and generalization as required for problem
Full Marks
Almost correct
Mostly Correct
8 pts Acceptable
Classes properly represent problem and support the use cases.
70 pts Full Marks
60 pts Mostly Correct
Good attempt but not quite ready for prime time
40 pts Acceptable
Significant flaws but some good aspects
0 pts No Marks
Total Points: 100