联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Algorithm 算法作业Algorithm 算法作业

日期:2024-10-18 05:29

INFOSYS 222 2024S2 A1P2

CASE STUDY: CROWDFUNDING APP

You are tasked with designing the database for a new crowdfunding web application aimed at supporting students at the University of Auckland in turning their innovative ideas into startups. The application allows students to create and manage projects, receive backing from other users, and  track the progress and success of their projects.

Each user has a unique ID, name, email, password, and role (i.e. student, mentor, or investor). A user can create multiple projects, back multiple projects, and mentor multiple projects. Additionally, an existing user can refer a new user to the platform.

Project, which is created by a user, has a unique ID, title, description, creation date, deadline, funding goal, and current amount funded. A project can belong to multiple categories and has multiple mentors. Each category, in turn, has a unique ID and name, and can include multiple projects.

Backing records the financial contribution from a user to a project which includes the amount and date. Each backing is associated with a single project; a user can back many projects, and a project can have multiple backers. Additionally, each backing can be associated with zero or one reward. A reward, offered by project creator to backer who pledges at or above a minimum backing amount, has a maximum number that can be given out for the project. One project can have multiple rewards. A transaction records the financial details of each backing, includes the amount, date and payment method.

Mentorship tracks the involvement of mentor with project, including the start date. Each mentorship is associated with a single project; a user can mentor multiple projects, and each project can have multiple mentors.

An update is posted by the project creator on a date to provide information about the project’s progress. Each project can have multiple updates. Comment, which can be left by a user on a project,  includes a date. A user can comment on multiple projects, and a project can have multiple comments.

QUESTION 1 (12%)

Draw a logical ERD in crow’s foot notation for the case described. Make sure to indicate all relevant entity sets, attributes, primary keys, foreign keys, relationships with cardinalities, and existence dependencies. Following good database design principle, the ERD should minimise redundancy.

Include verb phrases when it is helpful. Make sure you state 5-10 design decisions / assumptions clearly as part of your answer in order to get any mark.

QUESTION 2 (6%)

After you complete the design of the logical data model from the previous question, you are told that there is a change with the case specification:

•    Each user could assign themselves multiple roles instead of just one when they register

•    Each user could choose to follow another user; the database would capture when such request is made and also when the following is accepted and started

Define 2-5 new requirements / design decisions to accommodate the change of case specification. Draw a logical ERD in crow’s foot notation (by updating the one from previous question) that incorporates the new requirements and reflects the required changes. Make sure to indicate all relevant entity sets, attributes, primary keys, foreign keys, relationships with cardinalities, and existence dependencies. Following good database design principle, the ERD should minimise redundancy. Include verb phrases when it is helpful. Make sure you state 2-5 new requirements / design decisions clearly as part of your answer in order to get any mark.





版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp