CS130 Software Development
Spring 2008

Project 1
Laptop Manager

In this project, you will, among other things: For this project, you will write a program that supports the management of a fleet of loaner laptops. The fleet exists to provide laptops to students who do not have one. When taking computer science classes at Westmont, students may borrow a laptop for the semester. Currently, lending is managed with paper forms. You will provide a web-based application (using Ruby on Rails) that will allow the fleet manager to manage laptops and to check in or out laptops to students.

The project will consist of three deliverables.

Deliverable 1: (due 1/15) Be able to list, add, delete, and modify laptops and people.

Deliverable 2: (due 1/17) Be able to list, add, and modify a "loan" of a particular laptop to a particular person.

Deliverable 3: (due 1/22) Be able to check out, check in, track a laptop, and show a person's borrowing history. Showing a laptop should show its status (available or checked out) and if it is checked out should show the borrower (with link).

One of the many facets of software development involves eliciting requirements from the client. You may notice that the specifications above are rather thin. That is intentional. For this exercise, I will be your client. You will need to flesh out your requirements through interactions with me. This is the one facet of this project that will be group-based. Your implementations will be completed on an individual basis.

Again, this is an individual assignment. Appropriate expectations on working together apply.