Project Phase 1
Due Sep 29 by 8:59pm
Points 100
Submitting a file upload
File Types pdf
Available Sep 2 at 9pm - Sep 29 at 8:59pm
Start Assignment
The first phase of the project deals with the Analysis and Specification. You should review the Project
Requirements Document (which will be released around the same time this assignment opens) that has
the system requirements and description of what you will be developing. Please ask questions about the
requirements on Piazza in a private Team+Instructors post.
Essentially, anything Leo does in the lectures on Analysis and Design for the GTOnline project you
should do for your analysis and design of this project. There is also a sample submission available on
Canvas that will help guide you in creating your submission and shows mostly everything required for
this phase. When in doubt, please refer to them. If you still aren't sure, open a private
"Team+Instructors" note. If your submission is missing an element that was present in the lectures or on
the sample submission, you will lose credit for what's missing, and "we weren't sure if you needed that"
will not be a valid reason for returning the points that were lost.
Phase 1 Deliverables:
1. Information Flow Diagram (IFD) (10%)
2. Enhanced Entity-Relationship (EER) Diagram (40%)
Surrogate keys should not be used on the EER diagram in this phase.
NO CREDIT is granted for your EER if it is auto-generated by any tool such as MySQL
workbench, uses crows-feet notation, or deviates from the notation Leo uses in the lectures or the
notation used in the textbook.
Tools available to create your EER include: draw.io (https://www.draw.io/) , LucidCharts
(https://www.lucidchart.com/pages/tour/ER_diagram_tool) , among others.
3. A project report containing:
Data Types (5%)
Business Logic Constraints (logic which cannot be reflected in the EER model) (5%)
Task Decomposition (TD): rules of thumb/oval diagrams- both single and decomposed (10%)
Abstract Code (AC) pseudo-code: input validation/error handling, how to navigate between tasks
(30%)
The most weight for project grading is on the EER and AC, so make sure to put as much detail and effort
into those items as possible.How You Should Work:
Teams should use their official assigned GitHub Enterprise account for collaborating on team projects.
Not utilizing GitHub may lead to a teammate earning a reduced project grade if there is no record of their
contributions and their teammates communicate that they did not make any material contributions to the
project.
Login using your GaTech credentials to https://github.gatech.edu/ (https://github.gatech.edu/) where
your repository has been created for you with all your team members as collaborators. (You should have
also received an email from when you were added to your repo.) Once at your repo, you should clone it
onto your workstation using either Git's clone command (https://git-scm.com/book/en/v1/Git-BasicsGetting-a-Git-Repository#Cloning-an-Existing-Repository)
or GitHub Desktop
(https://desktop.github.com) - be aware that GT's GitHub does not allow access via SSH unless you are
connected to the Georgia Tech VPN.
The objective of this course is to learn all phases of relational database development and in order to do
that, teams should work collaboratively, not separately. You should not say, "OK, I'll take the EER
diagram, you go write the IFD, John can write up the Task Decomposition and Jane can take the
formatting and constraints." Rather, each member should each work on all parts of the project, all
reviewing, all having input, all fully understanding each part of the design. That way all students learn all
aspects of the project to help solidify the skills needed to be successful on the exams. One way to
ensure this is by the following steps:
1. Create a directory called “Phase_1” in the team GitHub repository we created for your team (do this
by committing any file in the directory called “Phase_1” to GitHub).
2. As you work on phase 1, continue to commit and push the files to GT’s GitHub enterprise server.
3. Please review the sample submission that is provided on Canvas. Your deliverables should be similar
to those in the sample submission
How and What To Submit:
Convert all deliverables to a PDF format, and submit them as three files to this Canvas assignment:
1. team#_p1_ifd.pdf - your IFD
2. team#_p1_eer.pdf - your EER
3. team#_p1_report.pdf - your project report
(Replace the # with your full team number, so if you are Team001, files would be
"team001_p1_ifd.pdf"…)
Please review the sample submission that is posted on Canvas. Your deliverables should be similar to
those in the sample submission.
If you are unsure how to upload files to a Canvas assignment, please refer to this Canvas guide
(https://community.canvaslms.com/t5/Student-Guide/How-do-I-upload-a-file-as-an-assignment-submission-Phase 1 Rubric (1)
in-Canvas/ta-p/274) . Since this is a team assignment, any team member can make a submission on
behalf of the entire team. For more information, please refer to this Canvas guide
(https://community.canvaslms.com/t5/Student-Guide/How-do-I-submit-an-assignment-on-behalf-of-agroup/ta-p/294)
. Your team's final submission will be graded, so please be sure all team members agree
on what will be submitted. We will not grade previous submissions and will not consider any requests to
do so.
Preparing for Future Phases
In this phase, you should not be concerned with implementation details such as what technology stack
you want to build your project on. We DO want you to plan ahead so that your team can be prepared for
the last phase, so we are providing these details now NOT so that you choose a stack while working on
this phase, but in order to make an informed decision when the time comes to make that choice.
We suggest using WAMP, WAPP, MAMP, MAPP (which means the combination of Mac, Windows,
Apache, MySQL or PostgreSQL, and PHP v7, and can be downloaded as a package for either OS) but
you are by no means limited to those. You are welcome to implement your system in any language or
platform you wish (Python, Java, Ruby, .Net) subject to the caveat that you must write your own
SQL and implement your own logic on the database. Use of ORM or ORM-like tools such as hibernate,
query-by-example frameworks (like Power Query) and others which handle your database interaction
(and even your schema design) are strictly prohibited. Note: SQLite or MS Access is not allowed. A
standalone, full featured relational DBMS is required for the project: teams are free to use PostgreSQL,
MySQL, MS SQL Server, or even Oracle if desired. (Non-relational noSQL: Hadoop, Cassandra,
MongoDB, etc. are not allowed. “Built-in” or application-hosted databases should not be used. Nonrelational
databases that utilize SQL as an interface are also not allowed. Data warehouse-specific
platforms, such as Snowflake or Teradata, should also be avoided.)
As always, if you have questions, please post on Piazza to your “Team+Instructors” group.To
s Information Flow Diagram EER Diagram Data Types Constraints Task Decomposition Abstract Code
版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。