Welcome, Guest User :: Click here to login

Logo 67272c

67-272 :: Phase 4: More Models and Unit Testing

Overview

This phase we will continue our project to develop a foundation for the Creamery system. In this phase, we will focus our efforts on building out the models for the remaining entities given to you in the complete ERD and adding all necessary business logic. In addition, you will have to write unit tests for all models. This phase will constitute 14 percent of your final course grade and is broken down into the following three components:

1. Creation of Models: Models for all the entities listed in the documentation below (also handed out in class) need to be created. Below is a specification guide to essential methods each model must have; those methods have to be fully implemented. Any revisions to previous models must be made as specified in the documentation.

2. Unit Testing: Unit tests for all methods in all models must be written and fully passing. We will check to make sure there is 100 percent code coverage for unit tests using the simplecov gem used in class and in lab. All models in this phase need complete coverage. Be aware there are steep penalties for less than 100 percent coverage and no credit at all for less than 90 percent coverage.

3. Coding Style: All code must be appropriately organized. What that means at this stage is the following: Indentation should be used consistently to make code readable. Comments showing organization should be present and explaining difficult code should be used when/if necessary.


Starting the project

Starter code is available for you already; it is the same as the starter code for Phase 3 (since this phase we aren't doing any controller or view work, those don't matter and it's the same starting set of models for this phase). It is recommended that you begin with this code as it has a complete set of models and controllers for the earlier phases that are fully-tested and known to work for the task at hand.

We will be creating remote repositories for each of you later in the week, but you can start now. The most important thing is that you start this phase as early as possible. There are more models to deal with than phase 2 and many more wrinkles to work through. This will take approximately twice as long to complete as phase 2.


Finishing the project

Your project will be turned in via git -- at 11:59pm on April 12, 2020 we will get a copy of your files in your remote git repository on darkknight-cmuis.net. We will publish instructions on how to access your remote repository, but you should try to access your remote repository by April 1; if you have not posted any code to the remote repository prior to April 7 and run into access issues in the last few days of the project there will not be much grace given and you can expect a stiff grade penalty. The solution for this phase will be released on the next day -- no late assignments will be accepted after solutions are released.

Again, if you have questions regarding the turn-in of this project or have any problems downloading any of the materials provided, please ask Prof. H or a Head TA well in advance of the turn-in date. Do not wait until 48 hours or less before it is due to get help as we may not be able to respond in a timely fashion that close to the deadline.

Additional Information. Below are links to additional files references above.

ERD for Phase 4
Model Specifications for Phase 4
Database Design for Phase 4
Data Dictionary for Phase 4

 

Due Date: April 12, 2020

Weight: 14.0