Question: Delivery The core output for this assignment is an entity-relationship diagram (ERD); however, you are expected to deliver them in a document format (e.g. DOCX
Delivery
The core output for this assignment is an entity-relationship diagram (ERD); however, you are expected to deliver them in a document format (e.g. DOCX or PDF file) with some written commentaries or assumptions in bullet points. You must provide rationales to support your design decisions when there is no clear specification on certain aspects of the case. The expected length of the document would be between 1-2 pages, with 5-10 assumptions in bullet points.
Software
You are expected to use Diagrams.net to draw the ERD. Having said that, you can use any software that could draw ERD, including Microsoft Word. Technically hand-drawing ERD is as good, but it is difficult to maintain it so please choose a software you are comfortable with to do this task.
Specification
-
The following specification captures only part of the current release of Piazza at the time of writing, a discussion management system that is used by many tertiary institutions
-
This case is aimed for learning and practicing data modelling; it is not affiliated with nor supported by any organisation
Background
-
Piazza is created with one goal: to enable students learning from each other collaboratively in a shared virtual space through questions and answers, even they are physically separated or being too shy to engage in face-to-face
-
It offers a web service that combines a forum with a wiki, which means the contents are version controlled and editable among participants
Account
-
To join Piazza for the first time, signing up an account is required. An account consists of account ID, first name, last name, preferred email, password and avatar. It may associate with more emails for receiving notification
-
After an account is created, it may be enrolled to a class as either student or instructor but not both. However, an account could have an instructor role in one class, and a student role in another class
-
As part of the enrolment, an account specifies their preference of notification for new post and updated post. The options for preference is standardised (e.g. real time, daily digest, smart digest and no emails). There is an additional option to automatically follow every post in a class
Class
-
A class is composed of class ID, class number, name, estimated size, start date, status and url. The class ID is used as unique identifier, whereas the class number and name are common references used in the school
-
When a class is created, it must be associated with a school (e.g. The University of Auckland) and a term (e.g. Semester 1 2018). A term is named specifically to follow a school's convention; and a school must register with one domain or more (e.g. aucklanduni.ac.nz and auckland.acc
-
.nz)
-
The instructor who creates a class is always the first account enrolled; and a list of folders (e.g. lecture, lab, general etc) is defined to manage posts
Post
-
While a post associates with a class ID and a post number, a post ID is used as the unique identifier for each post among all classes. It has post type, post date, summary, detail, and whether it is pinned. Each post must be tagged with one or more folders
-
There are two post types: note or question. A note is a post that requires no answer; whereas a question expects answers. Each question associates at most with one student's answer and one instructor's answer
-
A post may have follow-ups, and a follow-up may have comments. Whether it is an answer, a follow-up or a comment, essentially they all have a detail attribute to store the content. A follow-up has an additional attribute to indicate if it has been resolved
Version
-
When a writing (i.e. post, answer, follow-up or comment) is composed, a version is created. A writing must associate with one version or more
-
In Piazza, the latest version of a writing would be displayed by default; but all versions are accessible for tracking the development of the writing
-
Each version of a writing is composed by one and only one account, and the composer could choose if their identity is revealed or anonymised
Read
-
When a post is viewed by an account the first time (which may include answers, follow-ups and comments), a read is created with a read date. Any further views or actions from the reader would update the read date
-
A reader may endorse a post and / or the associated answers if it is a question. Furthermore, a reader may follow a post to receive update notification. A reader may star a post as one of their favorites
-
The actions of endorsement, following and starring could be undone and / or redone if a reader chooses to do so
Login (Bonus)
Piazza could tell the total number of enrolled accounts in a class that are currently logged on, and the total number of enrolled accounts in a class that have logged on in the last seven days
For the ERD, you will be expected to deliver a logical ER model drawn in crows foot notation that satisfies the case specification of the assignment. No other notation is allowed. The ERD should be filled with appropriately defined entity sets, attributes, primary keys, foreign keys, relationships with cardinalities, and verb phrases. You do not need to name verb phrases for every single relationship, but it helps if you do for some particularly if it improves the understanding.
The software is free, just type draw.io on google. You can draw it out on word or by hand or whatvever
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
