Motivation Start by read
Start by reading the entire assignment and making a note in your calendar for the due date and the late submission window; set reminders. Block uninterrupted time slots of at least 45 minutes at a time to work on the assignment. Work on the assignment daily after working through the lessons.
In the context of database design, the conceptual data model stands as a foundational pillar, playing a critical role in shaping the structure and future performance of the database. It serves as a blueprint, guiding developers and stakeholders through the complex landscape of data requirements and relationships. This model, often abstract and technology-agnostic, lays down the groundwork for more detailed and specific design stages, ensuring that the database aligns with the organizational goals and user needs.
The importance of conceptual data modeling cannot be overstated; it acts as a communication tool that brings together different stakeholders, including business analysts, developers, and end-users, facilitating a common understanding of the data requirements. This collaborative approach ensures that the database is not only technically sound but also aligns with business objectives and user expectations. Furthermore, a well-designed conceptual model can significantly reduce complexity in later stages of database design, leading to more efficient implementation and easier maintenance. By addressing data inconsistencies and redundancies at an early stage, it also enhances data quality and integrity, which are crucial for reliable decision-making and operational efficiency. In essence, conceptual data modeling is not just a preliminary step; it is the strategic planning phase that determines the success and adaptability of the database system in a rapidly evolving data-driven world.
The conceptual data model is often expressed visually in a UML Class Diagram — it is database-agnostic and can serve as the foundation for relational or non-relational database designs. On the other hand, the logical model is geared towards the implementation of the conceptual data model in a relational database. While UML Class Diagrams can be refined towards a relational implemenation, it is common to express relational designs in an entity-relational diagram (ERD). There are several common ERD notations in use today – the choice often depends on available tools. In this assignment, we will use the common Information Engineering (IE) notation, which is also often known as the “Crow’s Feet” notation because of the way the multiplicity indicators looks like the feet of crows (a kind of bird).
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 assistance to homeless and others in need. She is keen on applying her UML and ERD 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 transcription of part of that recording:
“… Let me give you a scenario. So, last month we took in 132 new homeless individuals and families. After we register them and determine their eligibility to shelters, we assign them to a bed in a common dormitory room in a shelter — if they are by themselves — or to a small family room if they are a family of five or fewer. If they are larger, then we generally cannot help them and we refer them to social services. Once we assign them to temporary housing (we need to record the date of the intake, as they can only stay a maximum of six months), we have to see if they can qualify for any government assistance programs such as WIC. Those programs are only accessible to US Citizens or permanent residents; they are not open to asylum seekers or anyone who is undocumented or is on a non-immigrant visa.”
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 and then a logical 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.
Problem 1 (60 Pts): Conceptual Data Model in UML
Express the data model in a UML Class Diagram using LucidChartLinks to an external site.. 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 requirements below. Those are the ones that the conceptual data model expressed in UML 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.
track the names and key demographic information (birthday, country of birth, citizenship or visa status) of all individuals registered
track immediate familial relationships, e.g., children (son, daughter), parents, grandparents
track the shelter to which they are assigned and the type of housing (bed or family room), including address
know when they were registered and when their permit to reside in-country expires
track eligibility for government assistance: while you do not need to address this, how would you manage eligibility for different programs, e.g., a person might be eligible for one program but not for another
legal representative(s) hired by or assigned to them
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, although you may have more as long as it is warranted, but we do not want you to “overmodel”. Make reasonable assumptions when the requirements are fully specified, document your assumptions in your model, and then build your UML model accordingly.
Problem 2 (40 Pts): Logical Data Model as ERD
After you have built your conceptual data model as a UML Class Diagram, create (in a separate page/tab), an Entity-Relationship Digram (ERD) in the IE (Crow’s Feet) Notation of the same entities, i.e., “translate” the UML to and ERD. This may not always be done in practice, but we want you to practice using both notations.
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 not expect that you build a full domain data model — we want you to get started and pay only attention to the use cases. Of course, if you do want to explore the problem further, you may, but you will not get additiona points or “extra credit”.
Submission Details
Submit a public URL to your Conceptual Model as a UML Class Diagram and your Logical Model as an IE (Crow’s Feet) ERD, along with (in separate “tabs”) any notes and assumptions. You must use LucidChartLinks to an external site. to create the diagrams and track your notes in LucidChart.