You are on page 1of 3

CMP556: Project #1

Due on Friday, 04/22/2016

11:59pm

Anwar Mamat

Anwar Mamat

CMP556 (Anwar 11:59pm): Project #1

Problem 1
Library Management System In this this project, you will develop a database system for the local library.
Your finished product should contain information about books, book authors, publishers, and borrowers.
1. Create following tables:
Book: ISBN, Title, PublisherID, AuthorID, PublishDate, AvailableCopies
Author: AuthorID, Name, Email
Publisher: PublisherID, Name, Address, Phone
Borrower: CardNo, Name, Address, Phone
Book_Borrow: ISBN, CardNo,BorrowDate

These attributes are required. You may add any other attributes that you think they are useful.
2. Insert minimum five records into each table.
3. Create a Netbeans Java Project LMS, in which you implement:
(a) A text based menu, which provides the options:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.

Search a book by ISBN


Search a Book by Title
Search a Borrower by CardNo
Search an Author by Name
Insert a New book
Insert a New Author
Insert a New Borrower
Check Out a Book
Return a Book
List All Books
List Transaction History for a Book
Exit

10

(b) When user selects one of those menu-options listed above, your program prompts a message,
receives a user input, and fulfills the request. For the search result, your program displays all
matching records. To insert a new record, you program requires user to provide data for all
columns.
(c) If the user input is not valid, your program should prompt corresponding messages, and ask for
reenter.
(d) Borrower can borrow multiple books, but one at a time.
(e) When you search a borrower, display borrower information and the list of books that the borrower
currently checked out.
(f) Initially each book has FIVE copies available. One borrower cannot check out a same book twice
at the same time.
(g) When user enters a new book, publisher and author must be selected from the existing list.
(h) To test your code, you have to include your oracle user name and password in your source code.
Please change your oracle user password to something that is different from your other passwords.
DO NOT use your email account password for oracle user account.
(i) Comment your source code as much as possible, so that I can understand what you are thinking.
(j) Your code should compile and run. You will not receive credit if your code does not compile.
(k) Implementation is very similar to the examples we have seen in the class. You can refer to the
code examples on Moodle.

Page 2 of 3

Anwar Mamat

CMP556 (Anwar 11:59pm): Project #1

Problem 1

What will you learn from this assignment


JDBC, JAVA database programming

What to submit
What to submit: A single zip file that includes your Eclipse project, all related sources, driver, and resource
files. Zip file name should be: Your last name your first name Project1 Part1.zip. Submit the file to Moodle.
For example: Mamat Anwar Project1 Part1.zip

Grading
Homework is 100 points. 80 will reflect functionality and correctness. 20 points on your program will reflect
your programming style, documentation. If you code does not compile, you will not receive any credit.

Commenting and Documenting Code


Code must be properly commented. The main idea is that the grader should be able to understand your
code easily, not have to tear his or her hair out wondering what some statement is doing. The first time you
have to deal with poorly commented code (if you havent already), you will understand how annoying it is.
In particular, the top of each code file should contain your name, the course and assignment numbers, and
a brief summary of whats in the file. Line-by-line comments should be included as necessary to make the
code easy to read. A clear coding style, together with informative variable and function names, will reduce
the number of comments required. Obscure code or cryptic function names will cause loss of points (for bad
style) and also require more extensive comments.

Page 3 of 3

You might also like