Opulentus Prime
Library Management System
        Slumdog elite team
           J.C. Edwards
          Deepak Yadav
         Naveen Chandra
   Introduction
    This document provides a thorough design of the system. This is an online library, when
   users search for books, the system will output which library branches have the books, and
   which branch is the nearest to user's home address. Search function allows both users and
   librarians to search by title, rating, category, author, publisher, ISBN, language, branch,
   keywords. The system also allows browsing by the same parameters. 
               There is a feedback system where the users can give a rating and comments to the
   book after they have returned it.
Software architecture
   1.1 Programming platform: - We used java language as front hand support and JavaScript,
       HTML as scripting languages. Thus our software is system-independent and can be run
       in both MS Windows and UNIX system.
   1.2 Database: - MySQL is used as backhand database support. Connection to the database
       is made by JDBC interface. Database tables are created using SQL queries. The runtime
       SQL will be sent to database and the query result will be sent back to application by
       JDBC connection.
   1.3 Database tables: -
                                                                         T_Transaction
                                                              transctionID : VARCHAR(255)
                        T_Student                             studentID : VARCHAR(255)
             studentID : VARCHAR(255)                         callNo : VARCHAR(255)
             name : VARCHAR(255)         <<Non-Identifying>> checkOutDate : TIMESTAMP       <<Non-Identifying>>              T_Book
             street : VARCHAR(255)                            checkInDate : TIMESTAMP                             callNo : VARCHAR(255)
                                          1              0..* fines : DOUBLE(64)
             city : VARCHAR(255)                                                                                  ISBN : VARCHAR(255)
             zipCode : VARCHAR(255)                           COL_0 : VARCHAR(255)                                title : VARCHAR(255)
             state : VARCHAR(255)                             COL_1 : VARCHAR(255)           0..*          1      author : VARCHAR(255)
             phoneNo : VARCHAR(255)                                                                               status : VARCHAR(255)
             lateFeeTotal : DOUBLE(64)                       <<PK>> PK_T_Transactio1()
                                                             <<FK>> FK_T_Transactio1()                            <<PK>> PK_T_Book2()
             <<PK>> PK_T_Student0()                          <<FK>> FK_T_Transactio0()
                                                             <<Index>> TC_T_Transactio3()
                                                             <<Index>> TC_T_Transactio1()
                          T_MyList
                callNo : VARCHAR(255)
                <<PK>> PK_T_MyList3()
Use case view: -
   1.4 Actors: -
        Librarian: - A librarian can add, delete and update book status and search from the
          database. A user can borrow, return books, reserve books and search for books. He
          can also renew his loan period. If a book is overdue, the user will be fined a certain
          amount each day over the due. If a book is reported lost, the user will pay the full
          cost of the book.
        User: - The users are categorized into member and non member. Members can get
          books delivered to their home address, and they can request for the library to order
          books they do not have. The library also has a collection of multimedia items such as
          DVDs and games, and only members can borrow these items.
   1.5 Use cases: -
                                             Use Case Diagram
                                               Library System
                                                  Reserve book(s)
                                                   Borrow book(s)
          Member                                   Return book(s)
                                                                                             Librarian
                                                    Login system
                                                   Browse library
                                                 Update System Info
        Non-Member
Use Case Scenarios-
Scenario1-
Use case                  Register
Use case Id               LMS-RE
Actors                    Guest
Description               A guest can register to the library system
                          to get access to the database and to
                          become a member of the library
Preconditions             Guest must fill the form and pay
                          minimum amount in order to get
                          registered
Flow                  1. Fill the form and pay the fee
                      2. Get a unique Id and password
Post conditions
Exception                  If guest don’t fill the form or don’t pay the
                           system show the message stating
                           incomplete form
Scenario2-
Use case                    Login
Use case Id                LMS-LO
Actors                     Members, librarian,
Description                In order to access the library system
                           members and librarian must perform this
                           operation
Preconditions              User must have a login client installed on
                           the system
Flow                       When the member accesses the
                           webpage ,user is prompted to enter the
                           user ID and Password to authenticate and
                           access the book database
                           Once the user loges into they should be
Post conditions            able to search,reserve books.
Exception                  If the user enters a incorrect username or
                           password, a pop-up window is shown
                           stating incorrect username or password
Scenario3
Use case                   View book
Use case Id                LMS-VB
Actors                     Member, Guest, Librarian
Description                This case is used to view different books
                           available in the library which can be
                           accessed by member and as well as guest
Preconditions         -
Flow              1. System shows all the available books in the
                     library
                  2. Users can browse them by different criteria
Post conditions       -
Exception             -
Scenario4
Use case              Search book
Use case Id           LMS-SB
Actors                Members, Guest
Description           This use case helps search the books in
                      the database
Preconditions         User must have the keyword or the title of
                      the book
Flow              1. Enter the name, title of the book in the
                     search box
                  2. Press enter and select the order of search
                     results to be displayed
Post conditions       -
Exception             If the entered text doesn’t match with any
                      of the tiles or books name in the database,
                      search would return a message stating no
                      matches found
Scenario5
Use case              Reserve book
Use case Id           LMS-RB
Actors                Member, Guest
Description           This use case allows the users to reserve
                      the book for checkout, however if the
                      guest is reserving the book he needs to
                      register
Preconditions         Member should have valid id and guest
                      must register
Flow              1. Select the book from catalog
                  2. Check with the availability
                  3. Reserve the book
Post conditions       -
Exception             If the user doesn’t have valid id they
                      cannot reserve the book
Scenario6
Use case              Issue book
Use case Id           LMS-IB
Actors                Librarian
        Description                                                    His use case allows the librarian to issue
                                                                       the reserved books to the members
        Preconditions                                                  -
        Flow
        Post conditions
        Exception                                           If the member has any dues librarian can not issue
                                                            the book
2. Class Diagrams: - A class has a name, list of attributes and list of operations. The classes
   used in this library management system are book, member, non-member and librarian. A
   member class is further classified in different categories namely student, staff and paid
   membership for who are not the part of institution. Paid membership is of two types, general
   membership and professional membership. A non-member is the one who is not registered
   with the library management system.
                                         Student
         studentID : String
         name : String
         street : String
         city : String
         zipCode : String
         state : String
         phoneNo : String
         lateFeeTotal : Double
         borrowedBook : Integer
         addStudent(studentID, name, street, city, zipCode, state, phoneNo) : Boolean
         validateNewStudent() : Integer
         search(studentID, name) : Object
         update(name, studentID, street, city, zipCode, state, phoneNo) : Boolean
         delete(studentID) : Boolean
3. Sequence diagrams: - The sequence diagram is used to show the interactions between
   objects in the sequential order that those interactions occur.
Searching a book into the database: -
Borrowing book: -
Returning book: -
Adding a new book: -
4. Activity diagrams: -The main reason to use activity diagrams is to model the workflow
   behind the library system being designed.  Activity diagrams are also useful for analyzing a
   use case by describing what actions need to take place and when they should occur,
   describing a complicated sequential algorithm and modeling applications with parallel
   processes.
Searching a book:-
Borrow books:-
Return book:-
Order book:-
UI Mockups