-
A project is owned by a single user and only the owner and admins can view the project
-
The lifecycle of a project is not changeable
-
Only admin can create a user
-
Only admin can delete a project
-
A project can not be deleted with an owner, it needs to be reassigned to another user
User_id:integer username:string email:string crypted_password:string password_salt:string user_class:string
Project_id:integer Deliverable_id:integer lifecycle:string phase:string deliverable_type:string deliverable_name:string deliverable_desc:text deliverable_url:string complexity:string unit_of_measurement:string estimated_size:float production_rate:float estimated_effort:float
project_id:integer project_name:string project_desc:text project_status:string lifecycle:string
Story cards completed:
-
Story Card 8, “As a user, I can upload a deliverable”
-
Story Card 17, “As an admin, I can create a user As an admin, I can delete a user As an admin, I can reassign projects As an admin, I can see all projects As an admin, I can delete projects.”
-
Story Card 13, “As a user, I can view historical data in each phase of the project for each deliverable type”
-
Story Card 1, “As a user, I can login PET.”
-
Story Card 2, “As a user, I can navigate from the project homepage to the project creation page”
-
Story Card 4, “As a user, I can edit an existing project from the project homepage”
-
Story Card 5, “As a user, I can review an existing project from the project homepage”
-
Story Card 6, “As a user, I can jump from the create a project page to the project phase page(s)”
-
Story Card 7, “As a user, I can jump from the project phase page to the add deliverable page”
Some story cards have been re-estimated
-
Story Card 1: 2 points up to 8 points
-
Story Card 2: 2 points down to 1 point
-
Story Card 5: 2 points down to 1 point
Story cards completed:
-
Story Card 15, “As a user, I can view the project phase page. As a user, I can see all deliverables associated with each phase.”
-
Story Card 10, “As a user, I can provide deliverable size and production rate to PET and expect PET to calculate effort with the correct equation”
-
Story Card 14, “As a user, I could view the project estimation screen, which shows accurate estimates for every phase of the project”
-
Story Card 11, “As a user, I can add a new deliverable type if it is not provided in the list”
-
Story Card 12, “As a user, I can select a measurement type for a new deliverable type from a drop down list.”
-
Story Card 9, “As a user, I can provide deliverable complexity and type to PET and expect PET to provide the unit of measurement”
Story cards completed:
-
Story Card 3, “As a user, I can create a project and enter name, description and lifecycle”
-
Story Card 8, “As a user, I can add a new deliverable type from the existing list of deliverable types. As a user, I can enter name, description, complexity, estimated size and production rate to the new deliverable.”
-
Story Card 15, “As a user, I can view the project phase page. As a user, I can see all deliverables associated with each phase.”
-
Story Card 10, “As a user, I can provide deliverable size and production rate to PET and expect PET to calculate effort with the correct equation”
Get the source code on github, using the following command:
git clone git@github.com:cmusv/Fall-2010-FSE-Rail-Blazers.git
Bundle and DB setup
bundle install bundle exec rake db:schema:load bundle exec rake db:setup (to load the seeds.rb data)
Team Rail Blazers made the decision to use xml to store static data. Disadvantages of using DB:
-
Accessing DB is a “cost” from a real life project
-
Consumes a bit of memory each access
Solution: put static data in XML files
-
We will have accessor methods to pull out the data from XML, then store these values into Dyanmic Tables
Advantages of this Approach:
-
Static data does not affect and will not be affected by Dynamic data; completely separate
-
We avoid joining 4 tables when looking up an entry in the Deliverables table; the static data will already be there because we already populated them
Static Tables Turned into XML Files:
-
Lifecycle
-
Phase
-
Deliverable_Type
-
Unit of Measurement
XML Accessor Methods:
-
Will need to parse XML file and return one or more values in one or more formats (single value, array, array of specific values, etc)
-
Extend PET on mobile platforms (Android/ iPhone/ WP7)
-
Email notifications
-
Graphical progress tracking
-
More detailed effort logging system
-
Multiple user collaboration
-
Automated documentation ( creating a pdf with info stored in application)