Assignment 2: Design and implementation

In this assignment, you will have a design and an implementation part. The implementation part is based on the use of JAVA, JDBC, SQL and some other technologies (servlets, swings... you have the choice). Please look at the announcements in blackboard for using servlets (old message) and also at this page regularly for more information.

The groups will focus on different interactions (groups numbers are posted in the announcements - old message):

- Withdraw, pay (groups 1, 2)
- Return, pay (groups 3, 4)
- Hold, pay (groups 5, 6)
- Add, next-day (groups 7, 8)
- Remove, next-day (groups 9, 10)
- Search, next-day (groups 11, 12)
- Search, move (all other groups)

Due date: March 26th, 2002. Hand in a hardcopy in class

1. Create the initial state of the database (information about patrons and librarians - 50 librarians and patrons data must be recorded). (You may use a JAVA program and JDBC to do that automatically and randomly).

2. Propose a user interface for the window that permits the user to login into the library system (buttons, features...). Once the user enters his/her username and password the system shall determine whether the user is a librarian or a patron. The password must not be echoed on the screen. Once logged into the system will print 'Welcome user ' or 'Welcome librarian '.

3. Once logged in the user may want to logout. Implement this functionality (logout).

4. Explain how you intend to enforce each integrity constraint: in the schema or by checking in the code. If the latter in which interactions (you have to take care of) does the check need to be made?

5. Draw the user interfaces of the each of the interactions you have to study.

6. Write a pseudo-algorithm for the interactions you have to implement. (Must be readable and very clear - will help you for the implementation). In assignement 3, you will have to implement your two interactions.

7. The report must contain 1. 2. 3. 4. 5. and 6.. All code must be in ANNEX. The report must be contains of explanations, algorithms and user interfaces pictures.