Secured Database.
User tracking
Search Feature
Calculating fines.
Checking the availability of books
Students will get a message before the due date in order to avoid fines.
Project Success Criteria:
Our main goal is to complete this project within allotted deadline and also within the budget allotted.
It is necessary to satisfy the functional and non-functional requirements of the software.
OVERALL DESCRIPTION:
Product Perspective:
The Library Management System will provide a search functionality to facilitate the search of resources. This search will be based on various categories viz. book name or the ISBN. Further the library staff personnel can add/update/remove the resources and the resource users from the system.
Product Features:
There are two different users who will be using this product. 1 Librarian, who will be acting as the administrator.
The features that are available to the Librarian are o A Librarian can issue a book to the students. o Can view the different category of books available. o Can take the books returned from students.
o Add books and their information of the books to the database. o Edit the information of the existing books.
o Can check the report of the issued book. o Can access all the accounts of the student. The features available to the students are,
o Can view the different categories of books available in the library. o Can own an account in the library.
o Can view the books issued to him. o Can search a particular book.
User Classes and Characteristics:
The user includes:
Students, Staff who will be using the features by accessing this System.
Librarian who will be acting as the controller and he will have all the privileges of an administrator.
Design and Implementation Constraints:
The product is developed using Visual Basic 6.0. The backend connection is done by MS
Access. The product is accomplished with log-in facility so that specific function is available to specific students.
Assumptions and Dependencies:
o
The users have sufficient knowledge of computers.o
The users know the English language, as the user interface will be provided in English.SYSTEM FEATURES:
Database Storage:
Proposed Database is intended to store, retrieve, update and manipulate information related to shopping which include
o Books availability. o Staff information. o Student details. o Calculation of fines.
Functional Requirements:
This section gives the list of functional requirements which are applicable to the Library Management System.
GUI:
It describes the graphical user interface of the software. It includes the following forms to illustrate user interface features.
Log-in and Registration: - Student Log-in and Staff Log-in. Library Book details.
Student details. Return of Books. New user Form.
Non-Functional Requirements:
Performance Requirements:
The proposed system that we are going to develop will be used as the chief performance system within the different campuses of the university which interacts with the university staff and students. Therefore it is expected that the database would perform all the functional requirements that are specified by the university.
Safety Requirements:
The database may get crashed at any certain time due to virus or operating system failure. Therefore it is required to take the database backup.
Security Requirements:
We are going to develop a secured database for the university. There are different categories of users namely teaching staff, administrator, library staff, students etc… Depending upon the category of the user the access rights are decided.
Software Quality Attributes:
The quality of the database is maintained in such a way that it can be very user friendly to all the users of the database.
Hardware Interfaces:
Server Side:
Operating System: Windows Server 2003/ Windows Server 2008. Processor: Intel Pentium Dual-Core 2.8 GHZ or higher.
RAM: 1GB DDR2 or more.
HDD: 160GB or more.
Client Side:
Operating System: Windows XP or more.
Processor: Intel Pentium IV 2.4 GHZ or higher.
RAM: 256MB DDR2 or more.
HDD: 40GB or more.
Software Interfaces:
Database: MS Access 2007
Application: Visual Basic 6.0
DATA MODELING:
The project can be explained diagrammatically using the following diagrams:
Use Case Diagram
Class Diagram
Sequence Diagram
Collaboration Diagram
State-transition Diagram
Use case Diagram:
A use case diagram in the Unified Modeling Language (UML) is a type of behavioral diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical overview of the functionality provided by a system in terms of actors, their goals (represented as use cases) and any dependencies between those use cases.
Actors:
An actor is a role that a user plays with respect to the system. The actors are:
Member
Librarian
Database
Use cases:
A use case describes a sequence of actions that provide something of measurable value to an actor and is drawn as a horizontal ellipse. The Use-cases in the Library Management System are
Login
Issue Books
Search Books
View Books
Class Diagram:
A Class diagram describes the types of objects in the System and the various kinds of static relationships that exist among them. In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, and the relationships between the classes. The Solid line between the classes shows the relationship between them.
Description:
The classes used in this project are Library
Member Librarian Supplier
Member Librarian Database Supplier Enter ID
Authendication Access Verified
Acknowledgement
Lend Books Update DB Searching Book
Book Available Book available
Issue Book
Exit from library LogOut
Order Books
Supply Books Update
Sequence Diagram:
A Sequence diagram depicts the sequence of actions that occur in a system. The invocation of methods in each object, and the order in which the invocation occurs is captured in a Sequence diagram. This makes the Sequence diagram a very useful tool to easily represent the dynamic behavior of a system.
A Sequence diagram is two-dimensional in nature. On the horizontal axis, it shows the life of the object that it represents, while on the vertical axis, it shows the sequence of the creation or invocation of these objects. Because it uses class name and object name references, the Sequence diagram is very useful in elaborating and detailing the dynamic design.
Description:
It depicts the high level sequence diagram for online voting. The various scenarios of the sequence diagram used in this project are
Member
Librarian
Database
Member Librarian 1: Search Book Database Supplier 2: Enter ID 3: Lend Books 4: Verified message 5: Place Orders 8: Supply Books 6: Check Authentication 7: Update
Collaboration Diagram:
Description:A Collaboration diagram is very similar to a Sequence diagram in the purpose it achieves; in other words, it shows the dynamic interaction of the objects in a system. A distinguishing feature of a Collaboration diagram is that it shows the objects and their association with other objects in the system apart from how they interact with each other. The association between objects is not represented in a Sequence diagram.
A Collaboration diagram is easily represented by modeling objects in a system and representing the associations between the objects as links. The interaction between the objects is denoted by arrows. To identify the sequence of invocation of these objects, a number is placed next to each of these arrows.
In this collaboration diagram, the objects are represented as rectangle, the actors are stick figures. Whereas the sequence diagram illustrates the object and actor interaction overtime, the collaboration diagram shows the object and actor interaction without reference to time.
State-transition Diagram:
The state transition diagram (STD) indicates how the system behaves as a consequence of external events. To accomplish this, the STD represents the various modes of behavior (called states) of the system and the manner in which transitions are made from state to state. The STD serves as the basis for behavioral modeling. A state transition diagram indicates how the system moves from state to state. The state transition diagram represents the behavior of a system by depicting its states and the events that cause the system to change state.
Description:
A state transition diagram indicates how the system moves from state to state.The state transition diagram represents the behavior of a system by depicting its states and the events that cause the system to change state.
PROJECT IMPLEMENTATION:
Coding:
Login Form:
Private Sub cmdcancel_Click() Unload Me
End Sub
Private Sub cmdok_Click()
If txtusername.Text = "tce" And txtpassword.Text = "cse" Then frmmenu.Visible = True
frmlogin.Visible = False Unload Me
Else
MsgBox ("Please Check Your Username and Password") txtusername.SetFocus
End If End Sub
Main menu form:
Private Sub Command1_Click() End
Unload Me End Sub
Private Sub mnubookdetails_Click() book.Show
frmmenu.Hide End Sub
Private Sub mnuborrow_Click() borrow.Show
frmmenu.Hide End Sub
Private Sub mnureturn_Click() frmreturn.Show
frmmenu.Hide End Sub
Book details form:
Dim a As VbMsgBoxResult
Private Sub Command1_Click() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text8.Text = "" Text1.SetFocus Command3.Enabled = False Command4.Enabled = False End Sub
Private Sub Command2_Click() On Error Resume Next
If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or Text7.Text = "" Then
a = MsgBox("RECORDS NOT SAVED.. PLS COMPLETE..", vbCritical, "WARNING") Text1.Text = ""
Text1.SetFocus
ElseIf Text1.Text <> "" Or Text2.Text <> "" Or Text3.Text <> "" Or Text4.Text <> "" Or Text5.Text <> "" Or Text6.Text <> "" Or Text7.Text <> "" Then
Data1.Recordset(0) = Text1.Text Data1.Recordset(1) = Text2.Text Data1.Recordset(2) = Text3.Text Data1.Recordset(3) = Text4.Text Data1.Recordset(4) = Text5.Text Data1.Recordset(5) = Text6.Text Data1.Recordset(6) = Text8.Text Data1.Recordset.Update
MsgBox ("Record Saved") End If Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text8.Text = "" Command2.Enabled = False End Sub
Private Sub Command3_Click() On Error Resume Next
a = MsgBox("ARE YOU SURE?", vbYesNo, "DELETE") If a = vbYes Then
Data1.Recordset.Delete MsgBox ("Record Deleted") Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text8.Text = "" Text1.SetFocus End If End Sub
Private Sub Command4_Click() Data1.Recordset.Edit Data1.Recordset(0) = Text1.Text Data1.Recordset(1) = Text2.Text Data1.Recordset(2) = Text3.Text Data1.Recordset(3) = Text4.Text Data1.Recordset(4) = Text5.Text Data1.Recordset(5) = Text6.Text Data1.Recordset(6) = Text8.Text Command2.Enabled = True
End Sub
Private Sub Command5_Click() Unload Me
frmmenu.Show End Sub
Private Sub Command6_Click() Command2.Enabled = True Text1.Enabled = True Text2.Enabled = True Text3.Enabled = True Text4.Enabled = True Text5.Enabled = True Text6.Enabled = True Text8.Enabled = True Data1.Recordset.AddNew End Sub
Private Sub Command7_Click() Text1.Enabled = True Text2.Enabled = True Text3.Enabled = True Text4.Enabled = True Text5.Enabled = True Text6.Enabled = True Text8.Enabled = True
Dim namecheck, edicheck As Long
n_strsearch = InputBox("Enter the Book Name to find", "Book Name") e_strsearch = InputBox("Enter the Edition", "Edition")
If n_strsearch = "" Or e_strsearch = "" Then Exit Sub Dim n As Integer
n = 1
Data1.Recordset.MoveFirst
If Data1.Recordset(0) = "" Then Exit Sub While n < Data1.Recordset.RecordCount
namecheck = InStr(1, Data1.Recordset(0), n_strsearch, vbTextCompare) edicheck = InStr(1, Data1.Recordset(2), e_strsearch, vbTextCompare) If namecheck > 0 And edicheck > 0 Then
Text1.Text = Data1.Recordset(0) Text2.Text = Data1.Recordset(1) Text3.Text = Data1.Recordset(2) Text4.Text = Data1.Recordset(3) Text5.Text = Data1.Recordset(4) Text6.Text = Data1.Recordset(5) Text8.Text = Data1.Recordset(6) Command3.Enabled = True Command4.Enabled = True Exit Sub Else n = n + 1 Data1.Recordset.MoveNext End If Wend
edicheck = InStr(1, Data1.Recordset(2), e_strsearch, vbTextCompare) If namecheck > 0 And edicheck > 0 Then
Text1.Text = Data1.Recordset(0) Text2.Text = Data1.Recordset(1) Text3.Text = Data1.Recordset(2) Text4.Text = Data1.Recordset(3) Text5.Text = Data1.Recordset(4) Text6.Text = Data1.Recordset(5) Text8.Text = Data1.Recordset(6) Command3.Enabled = True Command4.Enabled = True Exit Sub Else
MsgBox ("No records match your search") End If
End Sub
Private Sub Form_Load() Text1.Enabled = False Text2.Enabled = False Text3.Enabled = False Text4.Enabled = False Text5.Enabled = False Text6.Enabled = False Text8.Enabled = False Command2.Enabled = False Command3.Enabled = False Command4.Enabled = False
End Sub
Retrieving Form:
Private Sub Command1_Click() Data1.Recordset(0) = Text1.Text Data1.Recordset(1) = Text2.Text Data1.Recordset(2) = Text3.Text Data1.Recordset(3) = Text4.Text Data1.Recordset.Update
MsgBox ("Record updated") Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Data1.Recordset.AddNew End Sub
Private Sub Command2_Click() Unload Me
frmmenu.Show End Sub
Private Sub Form_Initialize() Data1.Recordset.AddNew
Text2.Text = Format(Now, "dd-mm-yyyy") Text4.Text = Format(Now + 15, "dd-mm-yyyy") End Sub
Return Form:
Option Explicit
Dim t_strsearch As String Sub func()
Dim tokennocheck As Long
t_strsearch = InputBox("Enter The Token Number", "Token Number") If t_strsearch = "" Then Exit Sub
Dim n As Integer n = 1
Dim achk As Boolean achk = False
borrow.Data1.Recordset.MoveFirst
While n < borrow.Data1.Recordset.RecordCount
tokennocheck = InStr(1, borrow.Data1.Recordset(0), t_strsearch, vbTextCompare) If tokennocheck > 0 Then
Text1.Text = t_strsearch
Text2.Text = Format(Now, "dd-mm-yyyy") Text3.Text = borrow.Data1.Recordset(3) Text4.Text = borrow.Data1.Recordset(2) achk = True Exit Sub Else n = n + 1 borrow.Data1.Recordset.MoveNext End If Wend
tokennocheck = InStr(1, borrow.Data1.Recordset(0), t_strsearch, vbTextCompare) If tokennocheck > 0 Then
Text1.Text = t_strsearch
Text2.Text = Format(Now, "dd-mm-yyyy") Text3.Text = borrow.Data1.Recordset(3) Text4.Text = borrow.Data1.Recordset(2) achk = True
Exit Sub End If
If achk = False Then
MsgBox ("Incorrect token number") End If
End Sub
Private Sub Command1_Click() Unload Me
frmmenu.Show End Sub
Private Sub Command2_Click() Data1.Recordset.AddNew Data1.Recordset(0) = Text1.Text Data1.Recordset(1) = Text2.Text Data1.Recordset(2) = Text3.Text Data1.Recordset(3) = Text4.Text Data1.Recordset.Update
MsgBox ("Records updated") Text1.Text = ""
Text2.Text = "" Text3.Text = ""
Text4.Text = "" End Sub
Private Sub Command3_Click() Call func
End Sub
Private Sub Form_Load() Call func
PROJECT EXECUTION:
LOGIN FORM:
RETRIEVING FORM:
RESULT:
Thus the Problem is analyzed, designed and implemented using Rational Rose/Visual Basic/MS Access. The Result of the project is evaluated by performing unit testing, Integration testing and Acceptance testing.