Library Management System Overview
Library Management System Overview
[Link] 1 2 2.1 2.2 3 3.1 3.2 3.3 4 4.1 4.2 4.3 5 5.1 5.2 5.3 5.4 6 7 8 9 10 11 Synopsis Introduction Organization Profile Overview of the Project System Analysis Exiting System Proposed System Feasibility Study System Specification Hardware Specification Software Specification Software Description System Design Table Design Input Design Output Design Data flow Diagram Module Specification System Testing System Implementation Conclusion Bibliography Appendix Tiles Page No
1. SYNOPSIS
The project titled Library Management System is Library management software for monitoring and controlling the transactions in a library. which mainly focuses on basic operations in a library like adding new member, new books, and updating new information, searching books and members and facility to borrow and return books. This project of Computer Security Library of gives us the complete information about the library. We can enter the record of new books and retrieve the details of books available in the library. We can issue the books to the students and maintain their records and can also check how many books are issued and stock available in the library. In this project we can maintain the late fine of students who returns the issued books after the due date.
Library Management System consists of list of records about the management of the details of the students and the issues going on and also about some books and all. This is a web-based application. The project has three modules namely- User, Registration, Librarian. According to the Modules the Distributor and Sub Distributors can manage and do their activities in easy manner. As the modern organizations are automated and computers are working as per the instructions, it becomes essential for the coordination of human beings, commodity and computers in a modern organization. This information helps the distributors to purchase or sale the products very efficiently. The administrators and all the others can communicate with the system through this project, thus facilitating effective implementation and monitoring of various activities of the distributor of a supermarket.
Feasibility study is made to see if the project on completion will serve the purpose of the organization for the amount of work, effort and the time that spend on it. Feasibility study lets the developer foresee the future of the project and the usefulness. A feasibility study of a system proposal is according to its workability, which is the impact on the organization, ability to meet their user needs and effective use of resources. Thus when a new application is proposed it normally goes through a feasibility study before it is approved for development. The document provide the feasibility of the project that is being designed and lists various areas that were considered very carefully during the feasibility study of this project such as Technical, Economic and Operational feasibilities. The following are its features:
A. TECHNICAL FEASIBILITY
The system must be evaluated from the technical point of view first. The assessment of this feasibility must be based on an outline design of the system requirement in the terms of input, output, programs and procedures. Having identified an outline system, the investigation must go on to suggest the type of equipment, required method developing the system, of running the system once it has been designed. Technical issues raised during the investigation are: Does the existing technology sufficient for the suggested one? Can the system expand if developed?
The project should be developed such that the necessary functions and performance are achieved within the constraints. The project is developed within latest technology. Through the technology may become obsolete after some period of time, due to the fact that never version of same software supports older versions, the system may still be used. So there are minimal constraints involved with this project. The system has been developed using Java the project is technically feasible for development.
B. ECONOMIC FEASIBILITY
The developing system must be justified by cost and benefit. Criteria to ensure that effort is concentrated on project, which will give best, return at the earliest. One
of the factors, which affect the development of a new system, is the cost it would require. The following are some of the important financial questions asked during preliminary investigation: The costs conduct a full system investigation. The cost of the hardware and software. The benefits in the form of reduced costs or fewer costly errors.
Since the system is developed as part of project work, there is no manual cost to spend for the proposed system. Also all the resources are already available, it give an indication of the system is economically possible for development.
C. BEHAVIORAL FEASIBILITY
This includes the following questions: Is there sufficient support for the users? Will the proposed system cause harm?
The project would be beneficial because it satisfies the objectives when developed and installed. All behavioral aspects are considered carefully and conclude that the project is behaviorally feasible.
4. System Requirements
The Minimum requirements of the system to run our project are given below.
4. 1 Hardware requirements
Processor Ram Keyboard Mouse Monitor CD-Rom : : : : : : Pentium IV 512 MB 107 Keys P/S2 wheel Mouse 1024*786 52X LG
and Java Script. The .NET framework provides the foundation for components to interact seamlessly, whether locally or remotely on different platforms. It standardizes common data types and communications protocols so that components created in different languages can easily interoperate. .NET is also the collective name given to various software components built upon the .NET platform. These will be both products (Visual [Link] and [Link] Server, for instance) and services (like Passport, .NET My Services, and so on). THE .NET FRAMEWORK The .NET Framework has two main parts: 1. The Common Language Runtime (CLR). 2. A hierarchical set of class libraries. The CLR is described as the execution engine of .NET. It provides the environment within which programs run. The most important features are Conversion from a low-level assembler-style language, called Intermediate Language (IL), into code native to the platform being executed on. Memory management, notably including garbage collection. Checking and enforcing security restrictions on the running code. Loading and executing programs, with version control and other such features.
The code that targets .NET, and which contains certain extra Information - metadata - to describe itself. Whilst both managed and unmanaged code can run in the runtime, only managed code contains the information that allows the CLR to guarantee, for instance, safe execution and interoperability. Managed Data With Managed Code comes Managed Data. CLR provides memory allocation and Deal location facilities, and garbage collection. Some .NET languages use Managed Data by default, such as C#, Visual [Link] and [Link], whereas others, namely C++, do
not. Targeting CLR can, depending on the language youre using, impose certain constraints on the features available. As with managed and unmanaged code, one can have both managed and unmanaged data in .NET applications - data that doesnt get garbage collected but instead is looked after by unmanaged code. Common Type System The CLR uses something called the Common Type System (CTS) to strictly enforce type-safety. This ensures that all classes are compatible with each other, by describing types in a common way. CTS define how types work within the runtime, which enables types in one language to interoperate with types in another language, including cross-language exception handling. As well as ensuring that types are only used in appropriate ways, the runtime also ensures that code doesnt attempt to access memory that hasnt been allocated to it. Common Language Specification The CLR provides built-in support for language interoperability. To ensure that you can develop managed code that can be fully used by developers using any programming language, a set of language features and rules for using them called the Common Language Specification (CLS) has been defined. Components that follow these rules and expose only CLS features are considered CLS-compliant. THE CLASS LIBRARY .NET provides a single-rooted hierarchy of classes, containing over 7000 types. The root of the namespace is called System; this contains basic types like Byte, Double, Boolean, and String, as well as Object. All objects derive from System. Object. As well as objects, there are value types. Value types can be allocated on the stack, which can provide useful flexibility. There are also efficient means of converting value types to object types if and when necessary. The set of classes is pretty comprehensive, providing collections, file, screen, and network I/O, threading, and so on, as well as XML and database connectivity.
The class library is subdivided into a number of sets (or namespaces), each providing distinct areas of functionality, with dependencies between the namespaces kept to a minimum. LANGUAGES SUPPORTED BY .NET The multi-language capability of the .NET Framework and Visual Studio .NET enables developers to use their existing programming skills to build all types of applications and XML Web services. The .NET framework supports new versions of Microsofts old favorites Visual Basic and C++ (as [Link] and Managed C++), but there are also a number of new additions to the family. Visual Basic .NET has been updated to include many new and improved language features that make it a powerful object-oriented programming language. These features include inheritance, interfaces, and overloading, among others. Visual Basic also now supports structured exception handling, custom attributes and also supports multithreading. Visual Basic .NET is also CLS compliant, which means that any CLScompliant language can use the classes, objects, and components you create in Visual Basic .NET. Managed Extensions for C++ and attributed programming are just some of the enhancements made to the C++ language. Managed Extensions simplify the task of migrating existing C++ applications to the new .NET Framework. C# is Microsofts new language. Its a C-style language that is essentially C++ for Rapid Application Development. Unlike other languages, its specification is just the grammar of the language. It has no standard library of its own, and instead has been designed with the intention of using the .NET libraries as its own. Microsoft Visual J# .NET provides the easiest transition for Java-language developers into the world of XML Web Services and dramatically improves the interoperability of Java-language programs with existing software written in a variety of other programming languages.
Active State has created Visual Perl and Visual Python, which enable .NETaware applications to be built in either Perl or Python. Both products can be integrated into the Visual Studio .NET environment. Visual Perl includes support for Active States Perl Dev Kit. Other languages for which .NET compilers are available include FORTRAN COBOL Eiffel
Fig1 .Net Framework [Link] XML WEB SERVICES Base Class Libraries Common Language Runtime Operating System Windows Forms
C#.NET is also compliant with CLS (Common Language Specification) and supports structured exception handling. CLS is set of rules and constructs that are supported by the CLR (Common Language Runtime). CLR is the runtime environment provided by the .NET Framework; it manages the execution of the code and also makes the development process easier by providing services. C#.NET is a CLS-compliant language. Any objects, classes, or components that created in C#.NET can be used in any other CLS-compliant language. In addition, we can use objects, classes, and components created in other CLS-compliant languages in C#.NET .The use of CLS ensures complete interoperability among applications, regardless of the languages used to create the application.
CONSTRUCTORS AND DESTRUCTORS: Constructors are used to initialize objects, whereas destructors are used to destroy them. In other words, destructors are used to release the resources allocated to the object. In C#.NET the sub finalize procedure is available. The sub finalize procedure is used to complete the tasks that must be performed when an object is destroyed. The sub finalize procedure is called automatically when an object is destroyed. In addition, the sub finalize procedure can be called only from the class it belongs to or from derived classes. GARBAGE COLLECTION Garbage Collection is another new feature in C#.NET. The .NET Framework monitors allocated resources, such as objects and variables. In addition, the .NET Framework automatically releases memory for reuse by destroying objects that are no longer in use. In C#.NET, the garbage collector checks for the objects that are not currently in use by applications. When the garbage collector comes across an object that is marked for garbage collection, it releases the memory occupied by the object. OVERLOADING Overloading is another feature in C#. Overloading enables us to define multiple procedures with the same name, where each procedure has a different set of arguments. Besides using overloading for procedures, we can use it for constructors and properties in a class. MULTITHREADING: C#.NET also supports multithreading. An application that supports multithreading can handle multiple tasks simultaneously, we can use multithreading to decrease the time taken by an application to respond to user interaction. STRUCTURED EXCEPTION HANDLING C#.NET supports structured handling, which enables us to detect and remove errors at runtime. In C#.NET, we need to use TryCatchFinally statements to create exception handlers. Using TryCatchFinally statements, we can create robust and effective exception handlers to improve the performance of our application.
THE .NET FRAMEWORK The .NET Framework is a new computing platform that simplifies application development in the highly distributed environment of the Internet. OBJECTIVES OF .NET FRAMEWORK 1. To provide a consistent object-oriented programming environment whether object codes is stored and executed locally on Internet-distributed, or executed remotely. 2. To provide a code-execution environment to minimizes software deployment and guarantees safe execution of code. 3. Eliminates the performance problems. There are different types of application, such as Windows-based applications and Webbased applications.
[Link]
SERVER APPLICATION DEVELOPMENT
Server-side applications in the managed world are implemented through runtime hosts. Unmanaged applications host the common language runtime, which allows your custom managed code to control the behavior of the server. This model provides you with all the features of the common language runtime and class library while gaining the performance and scalability of the host server. The following illustration shows a basic network schema with managed code running in different server environments. Servers such as IIS and SQL Server can perform standard operations while your application logic executes through the managed code. SERVER-SIDE MANAGED CODE [Link] is the hosting environment that enables developers to use the .NET Framework to target Web-based applications. However, [Link] is more than just a runtime host; it is a complete architecture for developing Web sites and Internet-distributed objects using managed code. Both Web Forms and XML Web services use IIS and [Link]
as the publishing mechanism for applications, and both have a collection of supporting classes in the .NET Framework. XML Web services, an important evolution in Web-based technology, are distributed, server-side application components similar to common Web sites. However, unlike Webbased applications, XML Web services components have no UI and are not targeted for browsers such as Internet Explorer and Netscape Navigator. Instead, XML Web services consist of reusable software components designed to be consumed by other applications, such as traditional client applications, Web-based applications, or even other XML Web services. As a result, XML Web services technology is rapidly moving application development and deployment into the highly distributed environment of the Internet. If you have used earlier versions of ASP technology, you will immediately notice the improvements that [Link] and Web Forms offers. For example, you can develop Web Forms pages in any language that supports the .NET Framework. In addition, your code no longer needs to share the same file with your HTTP text (although it can continue to do so if you prefer). Web Forms pages execute in native machine language because, like any other managed application, they take full advantage of the runtime. In contrast, unmanaged ASP pages are always scripted and interpreted. [Link] pages are faster, more functional, and easier to develop than unmanaged ASP pages because they interact with the runtime like any managed application. The .NET Framework also provides a collection of classes and tools to aid in development and consumption of XML Web services applications. XML Web services are built on standards such as SOAP (a remote procedure-call protocol), XML (an extensible data format), and WSDL ( the Web Services Description Language). The .NET Framework is built on these standards to promote interoperability with non-Microsoft solutions. For example, the Web Services Description Language tool included with the .NET Framework SDK can query an XML Web service published on the Web, parse its WSDL description, and produce C# or Visual Basic source code that your application can use to become a client of the XML Web service. The source code can create classes derived from classes in the class library that handle all the underlying communication using SOAP and XML parsing. Although you can use the class library to consume XML Web services directly, the Web Services Description Language tool and the other tools contained in the SDK facilitate your development efforts with the .NET Framework. If you develop and publish your own XML Web service, the .NET Framework provides a set of classes that conform to all the underlying communication standards, such as
SOAP, WSDL, and XML. Using those classes enables you to focus on the logic of your service, without concerning yourself with the communications infrastructure required by distributed software development. Finally, like Web Forms pages in the managed environment, your XML Web service will run with the speed of native machine language using the scalable communication of IIS.
ACTIVE SERVER [Link] [Link] is a programming framework built on the common language runtime that can be used on a server to build powerful Web applications. [Link] offers several important advantages over previous Web development models: Enhanced Performance. [Link] is compiled common language runtime code running on the server. Unlike its interpreted predecessors, [Link] can take advantage of early binding, just-in-time compilation, native optimization, and caching services right out of the box. This amounts to dramatically better performance before you ever write a line of code. World-Class Tool Support. The [Link] framework is complemented by a rich toolbox and designer in the Visual Studio integrated development environment. WYSIWYG editing, drag-and-drop server controls, and automatic deployment are just a few of the features this powerful tool provides. Power and Flexibility. Because [Link] is based on the common language runtime, the power and flexibility of that entire platform is available to Web application developers. The .NET Framework class library, Messaging, and Data Access solutions are all seamlessly accessible from the Web. [Link] is also language-independent, so you can choose the language that best applies to your application or partition your application across many languages. Further, common language runtime interoperability guarantees that your existing investment in COM-based development is preserved when migrating to [Link]. Simplicity. [Link] makes it easy to perform common tasks, from simple form submission and client authentication to deployment and site configuration. For example, the [Link] page framework allows you to build user interfaces that cleanly separate application logic from presentation code and to handle events in a simple, Visual Basic like forms processing model. Additionally, the common language runtime simplifies
development, with managed code services such as automatic reference counting and garbage collection. Manageability. [Link] employs a text-based, hierarchical configuration system, which simplifies applying settings to your server environment and Web applications. Because configuration information is stored as plain text, new settings may be applied without the aid of local administration tools. This "zero local administration" philosophy extends to deploying [Link] Framework applications as well. An [Link] Framework application is deployed to a server simply by copying the necessary files to the server. No server restart is required, even to deploy or replace running compiled code. Scalability and Availability. [Link] has been designed with scalability in mind, with features specifically tailored to improve performance in clustered and multiprocessor environments. Further, processes are closely monitored and managed by the [Link] runtime, so that if one misbehaves (leaks, deadlocks), a new process can be created in its place, which helps keep your application constantly available to handle requests. Customizability and Extensibility. [Link] delivers a well-factored architecture that allows developers to "plug-in" their code at the appropriate level. In fact, it is possible to extend or replace any subcomponent of the [Link] runtime with your own customwritten component. Implementing custom authentication or state services has never been easier. Security. With built in Windows authentication and per-application configuration, you can be assured that your applications are secure.
LANGUAGE SUPPORT The Microsoft .NET Platform currently offers built-in support for three languages: C#, Visual Basic, and JScript. WHAT IS [Link] WEB FORMS? The [Link] Web Forms page framework is a scalable common language runtime programming model that can be used on the server to dynamically generate Web pages. Intended as a logical evolution of ASP ([Link] provides syntax compatibility with existing pages), the [Link] Web Forms framework has been specifically designed to address a number of key deficiencies in the previous model. In particular, it provides:
The ability to create and use reusable UI controls that can encapsulate common functionality and thus reduce the amount of code that a page developer has to write. The ability for developers to cleanly structure their page logic in an orderly fashion (not "spaghetti code"). The ability for development tools to provide strong WYSIWYG design support for pages (existing ASP code is opaque to tools).
[Link] Web Forms pages are text files with an .aspx file name extension. They can be deployed throughout an IIS virtual root directory tree. When a browser client requests .aspx resources, the [Link] runtime parses and compiles the target file into a .NET Framework class. This class can then be used to dynamically process incoming requests. (Note that the .aspx file is compiled only the first time it is accessed; the compiled type instance is then reused across multiple requests). An [Link] page can be created simply by taking an existing HTML file and changing its file name extension to .aspx (no modification of code is required). For example, the following sample demonstrates a simple HTML page that collects a user's name and category preference and then performs a form postback to the originating page when a button is clicked: [Link] provides syntax compatibility with existing ASP pages. This includes support for <% %> code render blocks that can be intermixed with HTML content within an .aspx file. These code blocks execute in a top-down manner at page render time.
CODE-BEHIND WEB FORMS [Link] supports two methods of authoring dynamic pages. The first is the method shown in the preceding samples, where the page code is physically declared within the originating .aspx file. An alternative approach--known as the code-behind method--enables the page code to be more cleanly separated from the HTML content into an entirely separate file. INTRODUCTION TO [Link] SERVER CONTROLS In addition to (or instead of) using <% %> code blocks to program dynamic content, [Link] page developers can use [Link] server controls to program Web pages. Server controls are declared within an .aspx file using custom tags or intrinsic HTML tags that
contain a runat="server" attributes value. Intrinsic HTML tags are handled by one of the controls in the [Link] namespace. Any tag that doesn't explicitly map to one of the controls is assigned the type of [Link]. HtmlControls .HtmlGenericControl. Server controls automatically maintain any client-entered values between round trips to the server. This control state is not stored on the server (it is instead stored within an <input type="hidden"> form field that is round-tripped between requests). Note also that no client-side script is required. In addition to supporting standard HTML input controls, [Link] enables developers to utilize richer custom controls on their pages. For example, the following sample demonstrates how the <asp:adrotator> control can be used to dynamically display rotating ads on a page. 1. [Link] Web Forms provide an easy and powerful way to build dynamic Web UI. 2. [Link] Web Forms pages can target any browser client (there are no script library or cookie requirements). 3. [Link] Web Forms pages provide syntax compatibility with existing ASP pages. 4. [Link] server controls provide an easy way to encapsulate common functionality. 5. [Link] ships with 45 built-in server controls. Developers can also use controls built by third parties. 6. [Link] server controls can automatically project both up level and down level HTML. 7. [Link] templates provide an easy way to customize the look and feel of list server controls.
8. [Link] validation controls provide an easy way to do declarative client or server data
validation. [Link] OVERVIEW [Link] is an evolution of the ADO data access model that directly addresses user requirements for developing scalable applications. It was designed specifically for the web with scalability, statelessness, and XML in mind. [Link] uses some ADO objects, such as the Connection and Command objects, and also introduces new objects. Key new [Link] objects include the DataSet, DataReader, and DataAdapter.
The important distinction between this evolved stage of [Link] and previous data architectures is that there exists an object -- the DataSet -- that is separate and distinct from any data stores. Because of that, the DataSet functions as a standalone entity. You can think of the DataSet as an always disconnected recordset that knows nothing about the source or destination of the data it contains. Inside a DataSet, much like in a database, there are tables, columns, relationships, constraints, views, and so forth.
A DataAdapter is the object that connects to the database to fill the DataSet. Then, it connects back to the database to update the data there, based on operations performed while the DataSet held the data. In the past, data processing has been primarily connection-based. Now, in an effort to make multi-tiered apps more efficient, data processing is turning to a message-based approach that revolves around chunks of information. At the center of this approach is the DataAdapter, which provides a bridge to retrieve and save data between a DataSet and its source data store. It accomplishes this by means of requests to the appropriate SQL commands made against the data store. The XML-based DataSet object provides a consistent programming model that works with all models of data storage: flat, relational, and hierarchical. It does this by having no 'knowledge' of the source of its data, and by representing the data that it holds as collections and data types. No matter what the source of the data within the DataSet is, it is manipulated through the same set of standard APIs exposed through the DataSet and its subordinate objects. While the DataSet has no knowledge of the source of its data, the managed provider has detailed and specific information. The role of the managed provider is to connect, fill, and persist the DataSet to and from data stores. The OLE DB and SQL Server .NET Data Providers ([Link] and [Link]) that are part of the .Net Framework provide four basic objects: the Command, Connection, DataReader and DataAdapter. In the remaining sections of this document, we'll walk through each part of the DataSet and the OLE DB/SQL Server .NET Data Providers explaining what they are, and how to program against them. The following sections will introduce you to some objects that have evolved, and some that are new. These objects are:
Connections. For connection to and managing transactions against a database. Commands. For issuing SQL commands against a database.
DataReaders. For reading a forward-only stream of data records from a SQL Server data source.
DataSets. For storing, Remoting and programming against flat data, XML data and relational data.
DataAdapters. For pushing data into a DataSet, and reconciling data against a database. When dealing with connections to a database, there are two different options: SQL
Server .NET Data Provider ([Link]) and OLE DB .NET Data Provider ([Link]). In these samples we will use the SQL Server .NET Data Provider. These are written to talk directly to Microsoft SQL Server. The OLE DB .NET Data Provider is used to talk to any OLE DB provider (as it uses OLE DB underneath).
CONNECTIONS: Connections are used to 'talk to' databases, and are represented by provider-specific classes such as SqlConnection. Commands travel over connections and resultsets are returned in the form of streams which can be read by a DataReader object, or pushed into a DataSet object. COMMANDS: Commands contain the information that is submitted to a database, and are represented by provider-specific classes such as SqlCommand. A command can be a stored procedure call, an UPDATE statement, or a statement that returns results. You can also use input and output parameters, and return values as part of your command syntax. The example below shows how to issue an INSERT statement against the Northwind database. DataReaders: The DataReader object is somewhat synonymous with a read-only/forward-only cursor over data. The DataReader API supports flat as well as hierarchical data. A DataReader object is returned after executing a command against a database. The format of the returned DataReader object is different from a recordset. For example, you might use the DataReader to show the results of a search list in a web page. DATASETS AND DATAADAPTERS: DataSets The DataSet object is similar to the ADO Recordset object, but more powerful, and with one other important distinction: the DataSet is always disconnected. The DataSet object represents a cache of data, with database-like structures such as tables, columns,
relationships, and constraints. However, though a DataSet can and does behave much like a database, it is important to remember that DataSet objects do not interact directly with databases, or other source data. This allows the developer to work with a programming model that is always consistent, regardless of where the source data resides. Data coming from a database, an XML file, from code, or user input can all be placed into DataSet objects. Then, as changes are made to the DataSet they can be tracked and verified before updating the source data. The GetChanges method of the DataSet object actually creates a second DatSet that contains only the changes to the data. This DataSet is then used by a DataAdapter (or other objects) to update the original data source. The DataSet has many XML characteristics, including the ability to produce and consume XML data and XML schemas. XML schemas can be used to describe schemas interchanged via WebServices. In fact, a DataSet with a schema can actually be compiled for type safety and statement completion.
DATAADAPTERS (OLEDB/SQL) The DataAdapter object works as a bridge between the DataSet and the source data. Using the provider-specific SqlDataAdapter (along with its associated SqlCommand and SqlConnection) can increase overall performance when working with a Microsoft SQL Server databases. For other OLE DB-supported databases, you would use the OleDbDataAdapter object and its associated OleDbCommand and OleDbConnection objects. The DataAdapter object uses commands to update the data source after changes have been made to the DataSet. Using the Fill method of the DataAdapter calls the SELECT command; using the Update method calls the INSERT, UPDATE or DELETE command for each changed row. You can explicitly set these commands in order to control the statements used at runtime to resolve changes, including the use of stored procedures. For ad-hoc scenarios, a CommandBuilder object can generate these at run-time based upon a select statement. However, this run-time generation requires an extra round-trip to the server in order to gather required metadata, so explicitly providing the INSERT, UPDATE, and DELETE commands at design time will result in better run-time performance. 1. [Link] is the next evolution of ADO for the .Net Framework. 2. [Link] was created with n-Tier, statelessness and XML in the forefront. Two new objects, the DataSet and DataAdapter, are provided for these scenarios.
3. [Link] can be used to get data from a stream, or to store data in a cache for updates. 4. There is a lot more information about [Link] in the documentation. 5. Remember, you can execute a command directly against the database in order to do inserts, updates, and deletes. You don't need to first put data into a DataSet in order to insert, update, or delete it. 6. Also, you can use a DataSet to bind to the data, move through the data, and navigate data relationships
SQL SERVER
A database management, or DBMS, gives the user access to their data and helps them transform the data into information. Such database management systems include dBase, paradox, IMS, SQL Server and SQL Server. These systems allow users to create, update and extract information from their database. A database is a structured collection of data. Data refers to the characteristics of people, things and events. SQL Server stores each data item in its own fields. In SQL Server, the fields relating to a particular person, thing or event are bundled together to form a single complete unit of data, called a record (it can also be referred to as raw or an occurrence). Each record is made up of a number of fields. No two fields in a record can have the same field name. During an SQL Server Database design project, the analysis of your business needs identifies all the fields or attributes of interest. If your business needs change over time, you define any additional fields or change the definition of existing fields. SQL SERVER TABLES SQL Server stores records relating to each other in a table. Different tables are created for the various groups of information. Related tables are grouped together to form a database. PRIMARY KEY Every table in SQL Server has a field or a combination of fields that uniquely identifies each record in the table. The Unique identifier is called the Primary Key, or simply the Key. The primary key provides the means to distinguish one record from all other in a
table. It allows the user and the database system to identify, locate and refer to one particular record in the database.
RELATIONAL DATABASE Sometimes all the information of interest to a business operation can be stored in one table. SQL Server makes it very easy to link the data in multiple tables. Matching an employee to the department in which they work is one example. This is what makes SQL Server a relational database management system, or RDBMS. It stores data in two or more tables and enables you to define relationships between the table and enables you to define relationships between the tables. FOREIGN KEY When a field is one table matches the primary key of another field is referred to as a foreign key. A foreign key is a field or a group of fields in one table whose values match those of the primary key of another table. REFERENTIAL INTEGRITY Not only does SQL Server allow you to link multiple tables, it also maintains consistency between them. Ensuring that the data among related tables is correctly matched is referred to as maintaining referential integrity. DATA ABSTRACTION A major purpose of a database system is to provide users with an abstract view of the data. This system hides certain details of how the data is stored and maintained. Data abstraction is divided into three levels. Physical level: This is the lowest level of abstraction at which one describes how the data are actually stored.
Conceptual Level: At this level of database abstraction all the attributed and what data are actually stored is described and entries and relationship among them. View level: This is the highest level of abstraction at which one describes only part of the database.
ADVANTAGES OF RDBMS Redundancy can be avoided Inconsistency can be eliminated Data can be Shared Standards can be enforced Security restrictions ca be applied Conflicting requirements can be balanced Data independence can be achieved.
DISADVANTAGES OF DBMS A significant disadvantage of the DBMS system is cost. In addition to the cost of purchasing of developing the software, the hardware has to be upgraded to allow for the extensive programs and the workspace required for their execution and storage. While centralization reduces duplication, the lack of duplication requires that the database be adequately backed up so that in case of failure the data can be recovered. FEATURES OF SQL SERVER (RDBMS) SQL SERVER is one of the leading database management systems (DBMS) because it is the only Database that meets the uncompromising requirements of todays most demanding information systems. From complex decision support systems (DSS) to the most rigorous online transaction processing (OLTP) application, even application that require simultaneous DSS and OLTP access to the same critical data, SQL Server leads the industry in both performance and capability SQL SERVER is a truly portable, distributed, and open DBMS that delivers unmatched performance, continuous operation and support for every database.
SQL SERVER RDBMS is high performance fault tolerant DBMS which is specially designed for online transactions processing and for handling large database application. SQL SERVER with transactions processing option offers two features which contribute to very high level of transaction processing throughput, which are
ENTERPRISE WIDE DATA SHARING The unrivaled portability and connectivity of the SQL SERVER DBMS enables all the systems in the organization to be linked into a singular, integrated computing resource. PORTABILITY SQL SERVER is fully portable to more than 80 distinct hardware and operating systems platforms, including UNIX, MSDOS, OS/2, Macintosh and dozens of proprietary platforms. This portability gives complete freedom to choose the database sever platform that meets the system requirements. OPEN SYSTEMS SQL SERVER offers a leading implementation of industry standard SQL. SQL Servers open architecture integrates SQL SERVER and non SQL SERVER DBMS with industries most comprehensive collection of tools, application, and third party software products SQL Servers Open architecture provides transparent access to data from other relational database and even non-relational database. DISTRIBUTED DATA SHARING SQL Servers networking and distributed database capabilities to access data stored on remote server with the same ease as if the information was stored on a single local computer. A single SQL statement can access data at multiple sites. You can store data where system requirements such as performance, security or availability dictate. UNMATCHED PERFORMANCE
The most advanced architecture in the industry allows the SQL SERVER DBMS to deliver unmatched performance. SOPHISTICATED CONCURRENCY CONTROL Real World applications demand access to critical data. With most database Systems application becomes contention bound which performance is limited not by the CPU power or by disk I/O, but user waiting on one another for data access . SQL Server employs full, unrestricted row-level locking and contention free queries to minimize and in many cases entirely eliminates contention wait times.
5. SYSTEM DESIGN
5.1 TABLE DESIGN Database Design Table Name : dbo_books Column Name Bookid Title Authors Available Addedon Table Name : Member table Column Name Mid mname joinedon email Table name:issues Column Name bookid mid date librarian Remarks Data Type Int int datetime Varchar(50) Varchar(50) Data Type Int Varchar(50) Date\time Varchar(50) Data Type Int Varchar(50) Varchar(50) Char(1) Date\time
isActive Table name:return Column Name bookid mid date librarian Remarks isActive
Varchar(50)
5.2 INPUT DESIGN In the input design, user-oriented inputs are converted into a computer based system format. It also includes determining the record media, method of input, speed of capture and entry on to the screen. Online data entry accepts commands and data through a keyboard. The major approach to input design is the menu and the prompt design. In each alternative, the users options are predefined. The data flow diagram indicates logical data flow, data stores, source and destination. Input data are collected and organized into a group of similar data. Once identified input media are selected for processing.
In this software, importance is given to develop Graphical User Interface (GUI), which is an important factor in developing efficient and user-friendly software. For inputting user data, attractive forms are designed. User can also select desired options from the menu, which provides all possible facilities.
5.3 OUTPUT DESIGN In the output design, the emphasis is on producing a hard copy of the information requested or displaying the output on the CRT screen in a predetermined format. Two of the most output media today are printers and the screen. Most users now access their reports from a hard copy or screen display. Computers output is the most important and direct source of information to the user, efficient, logical, output design should improve the systems relations with the user and help in decision-making.
As the outputs are the most important source of information to the user, better design should improve the systems relation and also should help in decision-making. The output devices capability, print capability, print capability, response time requi rements etc should also be considered form design elaborates the way output is presented and layout available for capturing information. Its very helpful to produce the clear, accurate and speedy information for end users.
Admin user
Start
Investment on books
Network
Offers
End
Librarian User
Start
Registration
Details of books
Search
Number of books
issue
Investment on books
End
Students User
Start
Registration
Details of books
Search
Number of books
Due Calculation
6. MODULE SPECIFICATION
MODULES 1. Admin module 2. Membership 3. Issue of books 4. Return of books 5. Renewal of book 6. Due ADMIN MODULE Admin can add books to the stock Admin can edit the stock maintenance Admin can give membership to users
MEMBERSHIP MODULE In membership module users can register their name in the library. Only the admin have the authentication to give membership. Usually there are two users in the library and they are staff and student. The membership validity is different for both staff and users. ISSUE OF BOOKS In issue of book the users can take book from library. They have a notice period to submit the book in the [Link] time period is different for both users and staffs RENEWAL OF BOOK
Renewal of books the users can renew their time period by using the membership id and bookid RETURN OF BOOK After a particular time period users are need to submit their book, If any delay in the submission will cause dues. DUE The dues are calculated by using the no of days. The no of days delayed is multiplied to due per day to get the total due amount. This will be automatically horned in the software.
The entire application is built with .Net and used the following technologies of .Net. Layered Architecture with Presentation Layer and Data Access Layer All database manipulations are done with stored procedures. Stored procedures are accessed using classes in DAL. ObjectDataSource is used in presentation layer to talk to DAL. GridView, FormView, TreeView, Calendar and other core controls are used for interface. Membership and login controls are used to implement security. Master page and themes are used Site navigation is done using Site Map. [Link] is used to access database
7. SYSTEM TESTING
Objective of Testing The purpose of testing is to discover errors. Testing is the process of trying to discover every conceivable fault or weakness in a work product. It provides a way to check the functionality of components, sub assemblies, assemblies and/or a finished product It is the process of exercising software with the intent of ensuring that the Software system meets its requirements and user expectations and does not fail in an unacceptable manner. There are various types of test. Each test type addresses a specific testing requirement. TYPES OF TESTS UNIT TESTING Unit testing involves the design of test cases that validate that the internal program logic is functioning properly, and that program inputs produce valid outputs. All decision branches and internal code flow should be validated. It is the testing of individual software units of the application .it is done after the completion of an individual unit before integration. This is a structural testing, that relies on knowledge of its construction and is invasive. Unit tests perform basic tests at component level and test a specific business process, application, and/or system configuration. Unit tests ensure that each unique path of a business process performs accurately to the documented specifications and contains clearly defined inputs and expected results. INTEGRATION TESTING
Integration tests are designed to test integrated software components to determine if they actually run as one program. Testing is event driven and is more concerned with the basic outcome of screens or fields. Integration tests demonstrate that although the components were individually satisfaction, as shown by successfully unit testing, the combination of components is correct and consistent. Integration testing is specifically aimed at exposing the problems that arise from the combination of components.
FUNCTIONAL TEST Functional tests provide systematic demonstrations that functions tested are available as specified by the business and technical requirements, system documentation, and user manuals. Functional testing is centered on the following items: Valid Input Invalid Input Functions Output : identified classes of valid input must be accepted. : identified classes of invalid input must be rejected. : identified functions must be exercised. : identified classes of application outputs must be exercised.
Systems/Procedures: interfacing systems or procedures must be invoked. Organization and preparation of functional tests is focused on requirements, key functions, or special test cases. In addition, systematic coverage pertaining to identify Business process flows; data fields, predefined processes, and successive processes must be considered for testing. Before functional testing is complete, additional tests are identified and the effective value of current tests is determined. SYSTEM TEST System testing ensures that the entire integrated software system meets requirements. It tests a configuration to ensure known and predictable results. An example of system testing is the configuration oriented system integration test. System testing is based on process descriptions and flows, emphasizing pre-driven process links and integration points.
WHITE BOX TESTING White Box Testing is a testing in which in which the software tester has knowledge of the inner workings, structure and language of the software, or at least its purpose. It is purpose. It is used to test areas that cannot be reached from a black box level
BLACK BOX TESTING Black Box Testing is testing the software without any knowledge of the inner workings, structure or language of the module being tested. Black box tests, as most other kinds of tests, must be written from a definitive source document, such as specification or requirements document, such as specification or requirements document. It is a testing in which the software under test is treated, as a black box .you cannot see into it. The test provides inputs and responds to outputs without considering how the software works. IMPLEMENTATION OF TESTING UNIT TESTING Unit testing is usually conducted as part of a combined code and unit test phase of the software lifecycle, although it is not uncommon for coding and unit testing to be conducted as two distinct phases. TEST STRATEGY AND APPROACH Field testing will be performed manually and functional tests will be written in detail. Test objectives All field entries must work properly. Pages must be activated from the identified link. The entry screen, messages and responses must not be delayed.
Features to be tested Verify that the entries are of the correct format No duplicate entries should be allowed
INTEGRATION TESTING Software integration testing is the incremental integration testing of two or more integrated software components on a single platform to produce failures caused by interface defects. The task of the integration test is to check that components or software applications, e.g. components in a software system or one step up software applications at the company level interact without error. Test Results: All the test cases mentioned above passed successfully. No defects encountered. ACCEPTANCE TESTING User Acceptance Testing is a critical phase of any project and requires significant participation by the end user. It also ensures that the system meets the functional requirements. Test Results: All the test cases mentioned above passed successfully. No defects encountered.
8. SYSTEM IMPLEMENTATION
FUTURE ENHANCEMENTS: This application avoids the manual work and the problems concern with it. It is an easy way to obtain the information regarding the various products information that is present in the Library of a particular college. Well I and my team members have worked hard in order to present an improved website better than the existing ones regarding the information about the various activities. Still, we found out that the project can be done in a better way. Primarily, when we request information about a particular product it just shows the company, product id, product name and no. of quantities available. So, after getting the information we can get access to the product company website just by a click on the product name. The next enhancement that we can add the searching option. We can directly search to the particular product company from this site .These are the two enhancements that we could think of at present.
10. BIBLIOGRAPHY
FOR .NET INSTALLATION
[Link]
FOR DEPLOYMENT AND PACKING ON SERVER
[Link] [Link]
FOR SQL
[Link]
FOR [Link]
11. APPENDIX
Sample Coding
Sample Code
<!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
Transitional//EN"
"[Link] <html xmlns="[Link] <head runat="server"> <title></title> <style type="text/css"> body { margin:0px; padding:0px; height:100%; } </style> </head> <body> <form id="form1" runat="server"> <table width="100%" height="100%" cellpadding="0" cellspacing="0"> <tr> <td colspan="3" align="center" valign="middle"> <div top:35px;"> <blink>Computer Security Library</blink></div> </td> </tr> <tr> class="header" style="text-transform:uppercase; height:75px; padding-
<td align="center" width="20%"> <br /> <img src="images/[Link]" width="250px" height="150px" /><br /> <br /> <img src="images/[Link]" width="250px" height="150px" /><br /> <br /> <img src="images/[Link]" width="250px" height="150px" /><br /> </td> <td align="center" valign="top" width="60%"> <table align="center" style="background-color: White; line-height:30px;"
width="100%" height="100%" border="0px"> <tr style="height: 30px; background-color: #dddddd"> <td> User : <asp:Label ID="lblFullname" runat="server" Text="Label"></asp:Label> </td> <td align="left"> <table width="100%"> <tr> <td align="left"> <asp:SiteMapPath ID="SiteMapPath1" runat="server"> </asp:SiteMapPath> </td> <td align="right"> <asp:LinkButton ID="lbLogout" CausesValidation="false"
runat="server" OnClick="lbLogout_Click">Logout</asp:LinkButton> </td> </tr> </table> </td> </tr> <tr> <td width="20%" valign="top" style="background-color: wheat">
<asp:TreeView
ID="TreeView1"
runat="server"
DataSourceID="SiteMapDataSource1" ImageSet="Simple" NodeIndent="10" ShowLines="True"> <HoverNodeStyle Font-Underline="True" ForeColor="#DD5555" /> <NodeStyle Font-Names="Verdana" Font-Size="8pt"
ForeColor="Black" HorizontalPadding="0px" NodeSpacing="0px" VerticalPadding="0px" /> <ParentNodeStyle Font-Bold="False" /> <SelectedNodeStyle HorizontalPadding="0px" VerticalPadding="0px" /> </asp:TreeView> <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" /> </td> <td valign="top"> <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> </asp:ContentPlaceHolder> </td> </tr> </table> </td> <td align="center" width="20%"> <img src="images/[Link]" width="250px" height="150px" /><br /> <br /> <img src="images/[Link]" width="250px" height="150px" /><br /> <br /> <img src="images/[Link]" width="250px" height="150px" /><br /> </td> </tr> <tr> <td colspan="3" align="center" valign="middle"> <div style="background-color: #dddddd; height:50px;"> <br /> Font-Underline="True" ForeColor="#DD5555"
Copyright © Computer Security Library, 2014</div> </td> </tr> </table> </form> </body> </html> Default page
<%@
Page
Title=""
Language="C#"
MasterPageFile="~/[Link]"
AutoEventWireup="true" CodeFile="[Link]" Inherits="_Default" %> <asp:Content Runat="Server"> <h2>Recently Added Books</h2> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1"> <Columns> <asp:BoundField DataField="title" HeaderText="Title" /> <asp:BoundField DataField="authors" HeaderText="Authors" /> <asp:BoundField DataField="publisher" HeaderText="Publisher" /> <asp:BoundField DataField="addedon" HeaderText="Added On" /> <asp:BoundField DataField="available" HeaderText="Is available?" /> </Columns> </asp:GridView> <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetRecentlyAddedBooks" TypeName="LibrarianDAL"></asp:ObjectDataSource> ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"
</asp:Content>
<!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
Transitional//EN"
"[Link]
<html xmlns="[Link] <head runat="server"> <title></title> <style type="text/css"> html { height:100%; } body { margin:0px; padding:0px; height:100%; }
</style> </head> <body background="images/[Link]"> <form id="form1" runat="server"> <table width="1000px" height="100%" align="center" style="background-color:White" cellspacing="0" cellpadding="0" > <tr style="height:50px; background-color:navy;"> <td align="center" height="100px" valign="middle"> <div class="header" style="texttransform:uppercase;">Computer Security Library</div></td> </tr> <tr> <td valign="top" align="center"><br /><br /> <h2>Login </h2> <table style="line-height:30px;"> <tr> <td>Enter Username : </td> <td> <asp:TextBox ID="txtUname" runat="server" Width="150px"></asp:TextBox> </td> <tr> <td>Enter Password : </td> <td> <asp:TextBox ID="txtPwd" runat="server" Width="150px"
TextMode="Password"></asp:TextBox></td>
</tr> </table><br /> <p /> <asp:Button ID="btnLogin" runat="server" Text="Login" onclick="btnLogin_Click" /> <p /> <asp:Label ID="lblMsg" runat="server" EnableViewState = "false" Text=""></asp:Label> </td> </tr> <tr> <td align="center" valign="middle"> <br /> <br /> <img src="images/[Link]" width="500px" height="300px" /> </table> </form> </body> </html>
public partial class login : [Link] { protected void Page_Load(object sender, EventArgs e) {
} protected void btnLogin_Click(object sender, EventArgs e) { //String fullname = [Link]([Link], [Link]); //if (fullname == null || [Link] == 0) // [Link] = "Sorry! Invalid Login!";
//else //{ // // // //} if ([Link] == "admin" && [Link] == "admin") { [Link]("uname", "admin"); [Link]("fullname", "Administrator"); [Link]("admin", false); } [Link]("uname", [Link]); [Link]("fullname", fullname); [Link]([Link], false);
} }
using System; using [Link]; using [Link]; using [Link]; using [Link];
public partial class issue : [Link] { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string bookid = [Link]["bookid"]; if (bookid != null) [Link] = bookid; }
} protected void btnIssue_Click(object sender, EventArgs e) { String status = Session["uname"].ToString()); if (status == null) [Link] = "Book has been issued!"; [Link]([Link], [Link],
DataSourceID="SiteMapDataSource1" ImageSet="Simple" NodeIndent="10" ShowLines="True"> <HoverNodeStyle Font-Underline="True" ForeColor="#DD5555" /> <NodeStyle Font-Names="Verdana" Font-Size="8pt"
ForeColor="Black" HorizontalPadding="0px" NodeSpacing="0px" VerticalPadding="0px" /> <ParentNodeStyle Font-Bold="False" /> <SelectedNodeStyle HorizontalPadding="0px" VerticalPadding="0px" /> </asp:TreeView> <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" /> </td> <td valign="top"> <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> </asp:ContentPlaceHolder> </td> </tr> </table> </td> <td align="center" width="20%"> <img src="images/[Link]" width="250px" height="150px" /><br /> <br /> <img src="images/[Link]" width="250px" height="150px" /><br /> <br /> <img src="images/[Link]" width="250px" height="150px" /><br /> </td> Font-Underline="True" ForeColor="#DD5555"
</tr> <tr> <td colspan="3" align="center" valign="middle"> <div style="background-color: #dddddd; height:50px;"> <br /> Copyright © Computer Security Library, 2014</div> </td> </tr> </table> </form> </body> </html>
[Link] code
<%@
Page
Title=""
Language="C#"
MasterPageFile="~/[Link]"
AutoEventWireup="true" CodeFile="[Link]" Inherits="_Default" %> <asp:Content Runat="Server"> <h2>Recently Added Books</h2> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1"> <Columns> <asp:BoundField DataField="title" HeaderText="Title" /> <asp:BoundField DataField="authors" HeaderText="Authors" /> <asp:BoundField DataField="publisher" HeaderText="Publisher" /> <asp:BoundField DataField="addedon" HeaderText="Added On" /> <asp:BoundField DataField="available" HeaderText="Is available?" /> ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"