Академический Документы
Профессиональный Документы
Культура Документы
INTRODUCTION
1.1 Project Introduction
The main objective of the system is to provide a user friendly interface for maintaining the bookshop. It mainly deals with import of books from different publication houses, their sales and customer relations. The importance of our system lies within its simplicity and interactability. Each function of the system is seems to be so simple but it has a complex code within itself. Bookshop Management System is a database program that is especially tailored for book sellers. It has many features that book sellers will find very useful. The seller can manage the stock, list the customers and create catalogues. Our System has mainly divided into four modules.Those are of import of books, maintenance of books, customer relations and transaction of books. Each module has its own functionality.
2. LITERATURE OVERVIEW
2.1 HTML
HTML (Hyper Text Markup Language) is a language used to create hyper text documents that have hyper links embedded in them. It consists of tags embedded in the text of a document with HTML. We can build web pages or web documents. it is basically a formatting language and not a programming language. The browser reading the document interprets mark up tags to help format the document for subsequent display to a reader. HTML is a language for describing structured documents. HTML is a platform independent. WWW (World Wide Web) pages are written using HTML. HTML tags control in part the representation of the WWW page when view with web browser. The browser interprets HTML tags in the web document and displays it. Different browsers show data differently. Examples of browsers used to be web pages include: Netscape Internet Explorer
2.2 JAVA
Java was conceived by James Gosling, Patrick Naughton, Chris Warth, Ed Frank, and Mike Sherdian at Sun Microsystems in 1991.
History of java
Java language was developed by James Gosling and his team at sun micro systems and released formally in 1995. Its former name is oak. Java Development Kit 1.0 was released in 1996. To popularize java and is freely available on Internet.
Overview of java
Java is loosely based on C++ syntax, and is meant to be ObjectOriented Structure of java is midway between an interpreted and a compiled language. Java programs are compiled by the java compiler into Byte Codes which are secure and portable across different platforms. These byte codes are essentially instructions
2
encapsulated in single type, to what is known as java virtual machine (JVM) which resides in standard browser. Jvm verifies these byte codes when downloaded by the browser for integrity. Jvm is available for almost all OS. JVM converts these byte codes into machine specific instructions at runtime.
Features of java
Java is object-oriented language and supports encapsulation, inheritance, polymorphism and dynamic binding, but does not support multiple inheritance. Everything in java is an object except some primitive data types. Java is portable architecture neutral that is java programs once compiled can be executed on any machine that is enabled. Java is distributed in its approach and used for internet programming. Java is robust, secured, high performing and dynamic in nature. Java supports multithreading. There for different parts of the program can be executed at the same time
Disadvantages: Long, complicated Java Scripts can add quite a bit of download time to your HTML page.
Large Databases and space Management: Oracle supports the large of data of
terabytes in size. To make efficient hardware devices, t allows full uses.
Controlled Availability: Oracle can selectively control database level of sub data. Portability: Oracle software is ported to work with operating systems. Applications
can be ported to any operating systems modifications.
2.4.2 Oracle security: Manageable Security: To Protect against unauthorized use, oracle provides failsafe security and monitor data access. These are used to manage the data and for providing security.
SQL statements
All operations on the information in an oracle database are performed using SQL statements. A SQL statement is a string of SQL text that is given to oracle to execute. SQL statements are divided into the following categories: Data Definition Language(DDL) statements Data Manipulation Language (DML) statements. Transaction Control statements. Session Control statements. Embedded SQL statements.
Data Definition Language (DDL): DDL statements define maintain, and drop
objects when they are no longer needed. DDL statements also include statements that permit a user to gaint other users the privileges, or rights, to access the database and specific object within the database.
databases. data for example querying, inserting, updating, and deleting rows of a table are all DML operations; locking a table or view and examining the execution plan of an SQL statements are also DML operations.
2.5 JDBC
The JDBS API provides universal data access from the Java programming language. Using the JDBC 3.0 API, we can access virtually any data source, from relational databases to spreadsheets and flat files. JDBC technology also provides a common base on which tools and alternate interfaces can be built.
2.5.2 ODBC
ODBC (Open Database Connection) is a way to connect any front-end tool to any back-end database engine .A front end tool is one which is used to provide a user interface using which the user will be able to manipulate the data. Aback-end is responsible for the actual manipulation of the database on the request of the front end, as well as for the storage and retrieval of information. Often a back-end is also called as a server and front end as a client. Every database software provides an ODBC driver which follows all the specifications to the ODBC compliant, it is this ODBC driver converts the request to match the implementation specified at the server side. Another important feature of the ODBC is that it provides a client an opportunity to connect multiple databases simultaneously, which could be residing at different physical locations.
What does JDBC do? Especially JDBC does three things: Establishing the connection to database. Send SQL statements.
Process the results.
2.5.3 The JDBC API The JDBC API is designed to allow developers to create database front-ends without needing to continually rewrite their code. The ability to create robust, platform independent applications and web-based applets prompted developers to consider using java to develop front-end connectivity solutions. How JDBC Works JDBC provides application developers with a singular API that is uniform and database independent. The API provides a standard to write to, and a standard that takes all of various application designs into account. The solution is a set of java interfaces that are implemented by the driver. The driver translates the standard JDBC calls into a specific call required by the database it supports. The application can be written once and moved to the various drivers. The application multi-tier database design is also known as Middleware. In addition to providing developers with a uniform and DBMS independent framework, JDBC also provides a means of allowing developers to return the specific functionality that their database vendor offers. JDBC and ODBC are based on X/ Open SQL 0Command Level Interface . Having the same conceptual base allows work on the API to proceed quickly and makes acceptance of the API easier.
1.
3.
4.
Create a statement:
A statement object is to created from which to execute the query. There are three types of statement classes 1. Statement 2. Prepared statement
1. Statement
Statement stmt=conn.createstatement ();
10
JDBC technology-based driver to mediate between JDBC technology and the database. Depending on various factors, a driver might be written purely in the Java programming language or in a mixture of the Java programming language and Java Native Interface (JNI) native methods. The latest SDK includes a JDBC-ODBC Bridge driver that makes most Open Database Connectivity (ODBC) drivers available to programmers using the JDBC API. JDBC-ODBC Bridge Driver describes the current status of this software.
JDBC: oracle: products Here the database called the products. The driver connect () the method is the most important method and it is called by the driver manager to obtain a connection object. The connection object is the string point of the JDBC application layer. The connection object used to create statement object that perform object queries. The driver connect () method typically performs the following steps: Check to see if the given URL String is valid. Opens the TCP connection to the host and port number specified.
Attempts to access the named database table (if any) returns an instance of a connection object.
11
Connection Basic
The connection interface represents a session with the database connection provided by the driver. Typically database connections include the ability to control changes made to the actual data stored through the transaction. The primary use of the connection interfaces is to create a statement. Connection con=null; Statement stmt=null; Con=DriverManager.getConnection(url);
Stmt=con.createStatement(); This statement may be used to send SQL statement that returns a
single result in a ResultSet object reference. Statements that need to be called a number of times with slight variations may be executed more efficiently using a prepared statement. The connection interface is also used to create a callable statement whose purpose is to execute stored procedures.
12
Statement Basics
A statement is vehicle of sending SQL queries to the database and retrieving a set of results. Statements can be updates, insertion, and deletion of the queries. Statement may or may not returns a ResultSet object depending on the statement method used. The executeupdate() method.
with ODBC binary code and, in some cases client library as well. The bridge driver is made up of three parts: A set of C library that connect the JDBC to ODBC driver manager. The ODBC driver manager. The ODBC driver. Using a JDBC-ODBC bridge driver, application will speak directly to the JDBC interface classes. Because ODBC calls are made using binary C calls, the client must have a local copy of the ODBC Driver Manager, and the client side libraries.
2.6 JSP
Java Server Pages (JSP) is a technology for building applications containing dynamic content such as HTML, DHTML, XML, etc. The JSP technology allows you to write Web pages that create dynamic content as easily as possible but with maximum power and flexibility. JSP offers the following advantages:
Write Once, Run Anywhere technology. JSP is platform independent, both in its dynamic Web pages and its Web
servers. You can author JSP pages on any platform and run them on any Web server and access them from any Web browser. You can also build the server-side components on any platform (with a Java Virtual Machine) and run them
Static HTML templates, thus greatly simplifying the creation of Web content. Support for server-side scripting and tags.
14
3. SYSTEM ANALYSIS
3.1 EXISTING SYSTEM
The normal bookshop owners commonly follow manual process of storing information. This includes lot of physical work. It is very difficult to maintain several bundles of records. Softwares also exist for the bookshop management system. But the installation of software is more difficult process and it is more economical to purchase for normal bookshop owners. These are the main problems in the current scenario.
This system provides fast data accessing when compared to the current system. In the proposed system retrieving a single record from large database is very easy.
15
3.4 MODULES
1) Import of Books 2) Maintenance of Books 3) Customer Relations 4) Transaction of Books
1.
Functionality:
16
The shop owner maintains the information of different publishing houses, the authors they deal with and the subjects they publish. The enormous collection of all these books is done basing upon subject catalogue, author catalogue or publication catalogue. The owner requests the publication house the books that he need in his bookshop. He pays the bill for those books. He stores the information into database. Whenever there is import of books he should modify the database.
2.
Functionality:
The shop owner enters book details and thus places in the order as following hierarchy. Department-subject-author-edition-publication house He gives particular code for those books. For the books that are sent as bulk code is given for whole bulk.
visited only once in a while. CATEGORY-D: This is rare. It may accidentally happen. These customers take a large number of books. Special offers are given for CATEGORY-A and CATEGORY-B. Discount rates may vary basing upon count of books they take. CATEGORY-C would have the cost as usual. If ever any discount is announced they would be benefited with those. CATEGORY-D may accidentally happen basing upon the count of books they take. For each regular customer a credit level is given; that means customer can credit in the bookshop until he reaches the peak. If the customer crosses his credit level then he is intimated to pay the amount and his further transactions are blocked. After the payment, his credit level is modified. The regular customers are provided with membership cards which act as their identity. The irregular customers are given a form to fill in their details so that they can be turned into regular customers.
18
Whenever there is abundance of books which are graded If the customer has a long pay back delay. When it identifies stolen books. To notify important dates like book fairs, exhibitions, To show customers who have higher credit levels. For allotment of discount while billing.
Each book is given with security tag that has a bar code. The system grades the customer basing upon their purchases and bill payments and automatically notifies the special offers.
Reports:
Publication details and books purchased there Books in shop Customer details along with the books they purchased Bill Reports Outstanding Reports Ageing Analysis
19
4. PROJECT DESIGN
4.1 ARCHITECTURE 4.1.1 3-Tier Architecture:
The three-tier software architecture (a.k.a. three layer architectures) emerged in the 1990s to overcome the limitations of the two-tier architecture. The third tier (middle tier server) is between the user interface (client) and the data management (server) components. This middle tier provides process management where business logic and rules are executed and can accommodate hundreds of users (as compared to only 100 users with the two tier architecture) by providing functions such as queuing, application execution, and database staging
20
The three tier architecture is used when an effective distributed client/server design is needed that provides (when compared to the two tier) increased performance, flexibility, maintainability, reusability, and scalability, while hiding the complexity of distributed processing from the user. These characteristics have made three layer architectures a popular choice for Internet applications and net-centric information systems.
Technical Details:
A three tier distributed client/server architecture includes a user system interface top tier where user services (such as session, text input, dialog, and display management) reside.
Advantages of Three-Tier:
Separates functionality from presentation. Clear separation - better understanding. Changes limited to well define components. Can be running on WWW. Effective network performance.
21
Owner
Server
Database
Owner
Server
Book Database
22
Owner
Server
Customer Database
23
Owner
Server
Book Database
Database
Browser (1)
24
25
4.2 ER Diagram
26
27
Process Model
To solve actual problems in an industry setting, a software engineer or a team of engineers must incorporate a development strategy that encompasses that process, methods, and tools. This strategy is often referred to as process model or a software engineering paradigm. A process model for software engineering is chosen based on the nature of the project and application, the methods and tools to be used and the controls and the deliverables that are required. So, our application is based on the Object Oriented Approach. In this model we design the UML diagrams like Usecase, Activity, Sequence, Collaboration and Class diagrams.
Graphical representation:
<<Actor name>>
Actor
An actor is someone or something that: Interacts with or uses the system. Provides input to and receives information from the system. Is external to the system and has no control over the use cases Actors are discovered by examining:
28
Who directly uses the system? Who is responsible for maintaining the system? External hardware used by the system. Other systems that need to interact with the system.
Identification of usecases: Usecase: A use case can be described as a specific way of using the system from a
users (actors) perspective.
Graphical representation:
A more detailed description might characterize a use case as: Pattern of behavior the system exhibits A sequence of related transactions performed by an actor and the system Delivering something of value to the actor Use cases provide a means to: capture system requirements communicate with the end users and domain experts test the system
29
Use cases are best discovered by examining the actors and defining what the actor will be able to do with the system.
For each actor, find the tasks and functions that the actor should be able to perform or that the system needs the actor to perform. The use case should represent a course of events that leads to clear goal. Name the use cases. Describe the use cases briefly by applying terms with which the user is familiar. This makes the description less ambiguous
The use cases that are identified in this system are: Import books Database of imported books Bookshop database Search and purchase books Billing Customer Information
Flow of events:
A flow of events is a sequence of transactions (or events) performed by the system. They typically contain very detailed information, written in terms of what the system should do, not how the system accomplishes the task. Flow of events are created as separate files or documents in your favorite text editor and then attached or linked to a use case using the Files tab of a model element. A flow of events should include When and how the use case starts and ends Use case/actor interactions Data needed by the use case Normal sequence of events for the use case
30
31
publisher
import books
maintainance database
owner
customer
billing
customer information
The "task" must be performed when the object enters the state
32
On exit or activity. do
----
The "task" must be performed when the object exits the state
---- The "task" must be performed while in the state or activity and The "task" triggers an action only if a specific event is
On event ---received.
An end state represents a final or terminal state on an activity diagram or state chart diagram. A start state (also called an "initial state") explicitly shows the beginning of a workflow on an activity diagram. Swim lanes can represent organizational units or roles within a business model. They are very similar to an object. They are used to determine which unit is responsible for carrying out the specific activity. They show ownership or responsibility. Transitions cross swim lanes Synchronizations enable you to see a simultaneous workflow in an activity diagram Synchronizations visually define forks and joins representing parallel workflow. A fork construct is used to model a single flow of control that divides into
two or more separate, but simultaneous flows. A corresponding join should ideally accompany every fork that appears on an activity diagram. A join consists of two of more flows of control that unite into a single flow of control. All model elements (such as activities and states) that appear between a fork and join must complete before the flow of controls can unite into one. An object flow on an activity diagram represents the relationship between an activity and the object that creates it (as an output) or uses it (as an input).
33
o nr we
c s mr u to e
Pb hr u lis e
e te in rm tio in n r fo a n to m in in ed ta a e a ta c a b s
e te in rm tio in n r fo a n to d ta a eo im o db o s a b s f p rte o k
ta eo e fro k rd r m c s mr u to e
s a hfo e rc r th o e e rd r
d e c s m rh v o s u to e a e mme h ? e b rs ip [ y s] e [n ] o
[ y s] e
if b o sa e ok r ins o hp d e c s m r w n to o s u to e a t b c m mme eo e e br [ y s] e
[n ] o
if od r isb lk re u [n ] o
e te c s m r n r u to e d ta e ils
fill m m e h e b rs ip c rd a
c e k c e it hc r d le e vl
[ y s] e
if c d p id re it a [n ] o
if c e it rd aa b v ila le [ y s] e
[n ] o
[n ] o
b th o e ill e rd r
e te c s m r d ta n r u to e e ils in d ta a e to a b s
c e kc s m r h c u to e ty e p
c te o a a g ry (b lko e) u rd r [ y s] e g em re iv o d c ut is o n
[ n ] / c s m r b lo g toc te o b o u to e e n s a g ry
g ea p o ria iv p r p te d c ut is o n
s ll b o sin e ok n rm l p e o a ric
g n ra b e e te ill
md c s mr o ify u to e d ta a e a bs
m d m in in n e o ify a ta a c d ta a e a bs
34
diagrams show how objects associate with each other. A sequence diagram has two dimensions: typically, vertical placement represents time and horizontal placement represents different objects.
Object: An object has state, behavior, and identity. The structure and behavior of
similar objects are defined in their common class. Each object in a diagram indicates some instance of a class. An object that is not named is referred to as a class instance. The object icon is similar to a class icon except that the name is underlined: An object's concurrency is defined by the concurrency of its class.
Message: A message is the communication carried between two objects that trigger
an event. A message carries information from the source focus of control to the destination focus of control. The synchronization of a message can be modified through the message specification. Synchronization means a message where the sending object pauses to wait for results.
Link: A link should exist between two objects, including class utilities, only if there
is a relationship between their corresponding classes. The existence of a relationship between two classes symbolizes a path of communication between instances of the classes: one object may send messages to another. The link is depicted as a straight line between objects or objects and class instances in a collaboration diagram. If an object links to itself, use the loop version of the icon.
35
: ow er n
: cu stom er
: cu stom er database
5: categoriz cu e stom er
6: allot id
7: u pdate details
36
: publisher
: import books
: owner
2: send details
3: request order
4: send order
6: pay bill
37
: owner
: customer
: database
1: give order
4: enter the code for searching book 5: check whether the book is present or not
10: according to the customer category give discounts 11: forward total amount
38
2: fill form if interested 1: give membership form 8: give membership card : owner 3: submit form : customer
9: enter purchase i nform ati on of all custom ers 5: categorize customer 6: allot i d
: custom er information
7: update details
: customer database
40
: im o t pr bos ok
: customer
1: give order
4: enter code to search 7: forward b ook detai ls 11: forward total amount 10: allot discount according to customer category
6: show bo ok detai ls : database 3: search order 5: check the book : search and purchase books
41
Look for nouns and noun phrases in the use cases. All classes must make sense in the application domain; Avoid computer implementation classes defer them to the design stage.
d. Carefully choose and define the class names. After identifying the classes we have to eliminate the following types of classes: a. Redundant classes. b. Adjective classes.
4. CRC approach:
The process consists of the following steps: a. Identify classes responsibilities ( and identify the classes ) b. Assign the responsibilities c. Identify the collaborators.
Association: How objects are associated? Super-sub structure: How are objects organized into super classes and sub classes? Aggregation: What is the composition of the complex classes? Association:
The questions that will help us to identify the associations are: 1. Is the class capable of fulfilling the required task by itself? 2. If not, what does it need?
43
Guidelines for identifying the super-sub relationship, a generalization are 1. Top-down: Look for noun phrases composed of various adjectives in a class name. Avoid excessive refinement. Specialize only when the sub classes have significant behavior. 2. Bottom-up: Look for classes with similar attributes or methods. Group them by moving the common attributes and methods to an abstract class. You may have to alter the definitions a bit. 3. Reusability: Move the attributes and methods as high as possible in the hierarchy. 4. Multiple inheritances: Avoid excessive use of multiple inheritances. One way of getting benefits of multiple inheritances is to inherit from the most appropriate class and add an object of another class as an attribute.
44
Im p o rt b o o ks bo oks im po rt()
Ow n e r b o o ks b a rco de fo rm m em b e rs hip ca rd id b ill s e n d ord e r() im p o rt() a llot b arco de () fe e d into da tab a s e () a llot id () ca teg o rize () ta ke o rde r() s e a rch() g e n e ra te b ill()
1 ..n
B illin g cus to m er d eta ils che ck typ e() a llo t dis cou nt() g e n erate b ill()
45
DATA DICTIONARY:
These are the tables that shave been used in this project development.
Constraint Not Null Not Null Not Null Not Null Not Null Not Null
Table 5.1: Publication House Details Table Attributes Bid Bdep Bsub Btitle Bauthor Bedition Bpub Bprice Bvolume Bpurchase Data type Varchar2(20) Varchar2(25) Varchar2(25) Varchar2(50) Varchar2(40) Varchar2(15) Number(50) Number(6) Number(5) Date Constraint Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null -Mandatory Primary key ----------
46
Data type Varchar2(10) Varchar2(25) Varchar2(50) Varchar2(15) Varchar2(40) Varchar2(5) Number(10) Number(12,2)
Constraint Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null
Constraint Not Null Not Null Not Null Not Null Not Null Not Null Not Null
Constraint Not Null Not Null Not Null Not Null Not Null Not Null Not Null
47
Table 5.5: Non Member Purchase Details Attributes Bid Bdep Bsub Btitle Bauthor Bedition Bpub Bprice Bvolume Bpurchase Data type Varchar2(20) Varchar2(25) Varchar2(25) Varchar2(50) Varchar2(40) Varchar2(15) Number(50) Number(6) Number(5) Date Constraint Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null Not Null -Mandatory Primary key ----------
Table 5.6: Publisher Purchase Details Table Attributes Note Note Description Ndate Nable Data Type Varchar2(50) Varchar2(200) Varchar2(20) Varchar2(5) Constraint Not Null Not Null Not Null Not Null Mandatory Primary key ----
5.IMPLEMENTATION
The use of this project is to maintain books, to provide the details of the books to the users and allowing the user to login and to purchase the books. i.,e online library. First the user will login by the username and password then the server checks whether the given password is valid or not. If it is a valid password then it opens the home page of the book management system. The home page contains all the book details like publishers list, search for the book, bill payment and updations, to update the book details. Now the user after login can search for a book, author and edition.Then the
48
customer will request for his required book then the server checks the availability of the book. If that book is available then the server will transacts the book after the payment of bill. while the bill payment or the transaction the server will check the customer datails and delivers the book. Then the librarian will update the book details after the transaction. This is how the customer will login to the server sand purchases the book and etc. Thus the book management system works.
6. TESTING
Testing is the process of detecting errors. Testing performs a very critical role for quality assurance and for ensuring the reliability of software. The results of testing are used later on during maintenance also.
49
that a program works, but the intent should be to show that a program doesnt work. Testing is the process of executing a program with the intent of finding errors.
Client Needs
Acceptance Testing
Requirements
System Testing
Integration Testing
50
Unit Testing
Design Code
System Testing
The philosophy behind testing is to find errors. Test cases are devised with this in mind. A strategy employed for system testing is code testing.
Code Testing
This strategy examines the logic of the program. To follow this method we developed some test data that resulted in executing every instruction in the program and module i.e. every path is tested. Systems are not designed as entire nor are they tested as single systems. To ensure that the coding is perfect two types of testing is performed or for that matter is performed or that matter is performed or for that matter is performed on all systems.
6.4 Types of Testing Unit testing Link testing Integration testing System testing Acceptance testing White box testing Black box testing
51
Unit Testing
Unit testing focuses verification effort on the smallest unit of software i.e. the module. Using the detailed design and the process specifications testing is done to uncover errors within the boundary of the module. All modules must be successful in the unit test before the start of the integration testing begins. In this project each service can be thought of a module. There are so many modules like Import of Books, Maintainance of Books, Customer Relations and Transaction of Books. Giving different sets of inputs has tested each module. When developing the module as well as finishing the development so that each module works without any error. The inputs are validated when accepting from the user. In this application developer tests the programs up as system. Software units in a system are the modules and routines that are assembled and integrated to form a specific function. Unit testing is first done on modules, independent of one another to locate errors. This enables to detect errors. Through these errors resulting from interaction between modules initially avoided.
Link Testing
Link testing does not test software but rather the integration of each module in system. The primary concern is the compatibility of each module. The Programmer tests where modules are designed with different parameters, length, type etc.
Integration Testing
After the unit testing we have to perform integration testing. The goal here is to see if modules can be integrated properly, the emphasis being on testing interfaces between modules. This testing activity can be considered as testing the design and hence the emphasis on testing module interactions. In this project integrating all the modules forms the main system. When integrating all the modules we have checked whether the integration effects working of any of the services by giving different combinations of inputs with which the two services run perfectly before Integration.
52
System Testing
Here the entire software system is tested. The reference document for this process is the requirements document, and the goal as to see if software meets its requirements.
Acceptance Testing
Acceptance Test is performed with realistic data of the client to demonstrate that the software is working satisfactorily. Testing here is focused on external behavior of the system; the internal logic of program is not emphasized. Test cases should be selected so that the largest number of attributes of an equivalence class is exercised at once. The testing phase is an important part of software development. It is the process of finding errors and missing operations and also a complete verification to determine whether the objectives are met and the user requirements are satisfied.
53
1)
Test cases that reduced by a count that is greater than one, the number of additional test cases that must be designed to achieve reasonable testing.
2)
Test cases that tell us something about the presence or absence of classes of errors, rather than an error associated only with the specific test at hand.
Validations
While editing defect details, care is to be taken not to allow the defect number and status fields to be edited. Password should not be less than 6 characters. Phone Number and Experience of tester should be in Numeric While entering the details all fields are mandatory Access to certain operations is restricted basing on the user type
54
Test Case# : 1
Priority(H,L): High
Test Objective: To let the administrator login Test Description: The user name and password should match with those stored in the database Requirements Verified: There should exist the administrator user name and password in the database. Test Environment: Internet Explorer Test setup or Pre-conditions: User should enter some thing Actions Invalid user name and/or password Valid user name and password Pass: Yes PrP Problems or issues: Nil Expected Results Alert message should be displayed Administrator home page is displayed Conditional Pass: Fail:
TITLE
Import of Books
55
ACTION
Owner will login into the system by entering id and password .The shop owner requests the publication house the books that he need in his shop and import those books. Import books 1.Maintain publication house info 2. Request for import 3.Save book details into database Details of books are stored in database Details of books are stored in database
TITLE ACTION
Maintainance of Books Books are stored In database according to the following hierarchy Department Subject Author Edition Publication House
Bookshop Database 1.Maintain details of books 2.When transactions are done database is also updated Details of books are stored in database Details of books are stored in database
TITLE
Customer Relations
56
ACTION
Customers are categorized into 4 categories and Id is allotted based upon the category Customer Information 1. Maintain customer Information 2. Save customer details into database.
Details of customer are stored in database Details of customers are stored in database
TITLE ACTION
Transaction of Books When the customer purchases the books, bill is generated
Billing 1. Allot discount based upon the customer category 2. When transactions are done database is also updated
RESULT
EXPECTED RESULT
57
7.SCREENS
7.1 Administrator login page
58
59
60
62
63
65
66
67
68
69
70
71
72
CHAPTER 8
8. CONCLUSION
The application Bookshop Management System developed by us has made the best possible efforts to satisfy the needs of Owner of bookshop. The details of
73
customers, publication houses and books can be accessed and the transaction of books is done very easily and with in a very less time with a little effort. The owner need not have more computer knowledge. He just need to maintain the details. The entire work will be done by the system only. The bookshop management is a database program that is especially tailored for the book sellers. Bookshop management system has proven to be a reliable and user friendly program. The system has many features that booksellers will find very useful. The seller can manage the stock, list the customers and create catalogues. The system has built in update system which allows the user to make additions and customizations to the software.
9. FUTURE ENHANCEMENT
It is not possible to develop a system that makes all the requirements of the user. Because user requirements keep changing as the system is being used. some of the future enhancements that can be done to this system are:
74
As the technology emerges, it is possible to upgrade the system and can be adaptable to desired features and environment. This system is based on object-oriented design, any further changes can be adaptable. We can provide the security issues, security can be improved using emerging technologies.
10. REFERENCES
10.1 BOOK REFERENCES
1.
Ali Bahrami (2003),Object Oriented Analysis and Design using UML, 2nd Edition Tata McGraw-Hill.
2.
Herbert Scheldt (2002),Java 2 Programmers Reference, 1st edition, McGraw -Hill companies.
3.
Roger S.Pressman (2002),Software Engineering: A Practioners Approach, 5th Edition, Tata McGraw-Hill.
4.
76