My favorites | Sign in
Project Home Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Project Information
Members

Business Case

The Bangalore Public Library has approached us to design and implement a Library Management System for them. Based on their requirements, we have decided to develop a new system named Biblioteca. Since the library has a large list of requirements, we will be making multiple releases of Biblioteca, with each release incrementally adding more functionality.

In order to easily add more functionality in the future as well as maintain a high level of quality, Biblioteca will be built using a test driven approach.

The requirements for the first release of Biblioteca are given below. User Stories

Welcome Message - As a customer, I would like to see a welcome message when I start the application, so that I feel welcome and know that Biblioteca is available. List Books - As a customer, after the welcome message appears I would like to see a list of all available library books, so that I can browse for books I might want to check-out. Main Menu - As a customer, I would like to see a list of all the options I can choose(i.e “List Books”) and should be able to choose an option. Invalid Menu Option - As a customer, I would like to be notified when I choose an invalid option with the message “Select a valid option!”, so that I can know when I need to re-enter my choice. Checkout Book - As a librarian, I would like customers to be able to check-out a book, so that I know who is responsible for returning it. Successful Checkout - As a librarian, I would like to know that a customer has successfully checked out a book by seeing the message “Thank you! Enjoy the book”, so that I know that I can allow them to take the book home. Unsuccessful Checkout - As a customer, I would like to be notified if the book I tried to check-out is not available by seeing the message, “That book is not available.”, so that I know that I need to select a different book or fix my spelling error. Return Book - As a librarian, I would like customers to be able to return a book, so that other customers can check that book out. Successful Return - As a customer, I would like to be notified if the book I am returning belongs to this library by seeing the message, “Thank you for returning the book.”, so that I know I returned the book to the right library. Unsuccessful Return - As a customer, I would like to be notified if the book I am returning has not been added to this library by seeing the message, “That is not a valid book to return.”, so that I can return it to the correct library or fix my spelling error.

Technical Requirements

All the code must be developed using TDD. Biblioteca needs to be a console application. Use your own imagination for any UI elements We do not need a database for this release.

Assignment Setup

Download and extract the Biblioteca skeleton code. Follow the instructions in the included README file to create your project on Google Code. Use TDD to write code that fulfills the requirements for Biblioteca. Make sure you keep commiting your code changes to your Subversion repository frequently.

You are encourged to use the internet to further your learning, as well as to solve any issues you run into. If the internet is not providing you what you need, reach out to your GEL. They are here to provide feedback and support in order to accelerate your learning. Submission Guidelines

For this assignment, you need to submit the URL of your Google Code repository, as well as the svn revision number that you want reviewed. To submit, click the 'Add Submission' button at the bottom of this page, and enter this information into the textbox that appears.

The GEL will check out code from your repository, evaluate it, and give you feedback. Once you receive your feedback, revisit the assignment and make the recommended changes.

Powered by Google Project Hosting