Iteration 1
Overview
These are the deadlines for this iteration.
Day | Date | Time | |
---|---|---|---|
Upload Requirement Specifications (SRS) | Thu | 10/1 | 11:00 PM |
Upload UML Class Diagram | Thu | 10/1 | 11:00 PM |
Create Project Planning | Thu | 10/1 | 11:00 PM |
Deliverable (source code of a working app) | Tue | 10/6 | 11:00 PM |
In your group repo, there is a folder named docs
under which there is the SRS.md
file. Use this to write the SRS for your project idea. This will be similar to what you did in HW1.
DEADLINE
You have until Thursday 10/1 11pm to complete and turn this step in.
Class Diagram
Add image file(s) named class_diagramX
under the docs
folder (X being 1, 2, 3, ...). Use any common image format you like e.g. jpg, jpeg, png, bmp etc. The image(s) should provide the UML class diagram of your project. This does not have to be complicated for now. Start Simple! You will refine/enhance this as you make progress through the iterations. Though, while desiging your system, have in mind good design characteristics that we talked about in class: high cohesion and low coupling!
caution
The class diagram image file(s) must be uploaded in your repo under docs
folder; do not link images!
DEADLINE
You have until Thursday 10/1 11pm to complete and turn this in.
Project Planning: Giuthub Project Board
You need to plan out your tasks using Github Project. Open your project repo on Github, open Project
tab, and create a new project named Project Backlog
. Leave Template
as None
. Create three columns: 1) "It1-To Do" with preset To do
2) "It1-In Progress" with preset In Progress
, and 3) "It1-Done" with preset Done
. You will need to keep the colmuns updated as you develop your app. List all your to do tasks extracted from the user story or user stories you plan to finish for iteration 1 under the "It1-To Do" column. When you start working on a task, move it under the "It1-In Progress" column, and when it is completed list it under the "It1-Done" column.
info
You do not need to have a long list of tasks to complete for iteration 1. Aim low and hit! Pick one or two simple user stories, create a list of tasks to deliver those user stories and get to work! The primary idea here is to get into the habit of leveraging Github Project to document your work items and keep track of the progress.
info
Note there is not necessarily a one-on-one mapping between a user story and a task. To implement a user story, you might need to complete a number of tasks, or a task might serve more than one user story, or might not even be related to any particular user story. Use your columns for the tasks that are actively on your project's radar.
info
It is a good idea to connect/convert your project cards to Github issues, but it is not a requirement. At minimum you need to have the three columns and they must be kept updated at all times.
Implementation
Aim to finish at least one user story by the end of Iteration 1 (Tuesday 10/6 11 PM). At the end of iteration 1, you must deliver a software that does what you have listed in the iteration backlog. Break things down and each person in the group must be responsible for a number of tasks/user stories. Be a team player. Commit/push often. Keep you project backlog and design (class diagram) current.
caution
You must inculed a README.md
at the top level of your project folder that serves as a manual for your project. I, as the user of your app, should be able to get an idea what this app is about and be able to run and use it by looking at README.md
.
info
Write JUnit tests for your implementations as much as you can. We will not require you to write tests, but writing them are strongly recommended.
Submission
We will consider your last commit (i.e. last push to your group repo) by Tue 10/6 11 PM as your submission for this iteration.
Gradescope submission not needed!
You do not need to submit to Gradescope for iteration submissions. We use Gradescope for homeworks only.