PROJECT REPORTON PROJECT ENTITLED “BOOKSHOP MANAGEMENT SYSTEM” SUBMITTED BY- ASHISHBAROI Roll No- 45/10 BCA 6th Semester Department of Computer Science Cotton College INTERNAL GUIDE MR. BISHWAJIT DAS LECTURER COTTON COLLEGE PANBAZAR GHY-01 CERTIFICATE TO WHOM IT MAY CONCERN Thisis to certifythat ASHISH BAROI, B.C.A 6th semester, Roll No. 45/10, a student of Computer Science Department, Cotton College is working in this project under my guidance since February 2013, on the project entitled “BOOKSHOP MANAGEMENT SYSTEM”. He has prepared this progress report on the project work carried out by him, for partial fulfillment of the requirements of B.C.A degree. MR. BISHWAJIT DAS LECTURER DEPT. OF COMPUTER SCIENCE COTTON COLLEGE CERTIFICATE This is to certify that the project work entitled “BOOKSHOP MANAGEMENT SYSTEM” is a bonafide work carried out by ASHISH BAROI student of BCA,Computer science 6th semester of Cotton College,Gauhati affiliated to GauhatiUniversity.He has done the project under my supervision and guidance to the best of my knowledge. This project has been prepared as a fulfilment of the degree of Bachelor of Computer application- computer science(BCA) to be awarded by GauhatiUniversity.This work has not been submitted earlier for any other academic activity. During the period of his work,he have been found sincere and hard working. I wish him all success in his life. Internal Guide : Mr.Biswajit Das Lecturer Dept. of computer science Cotton College CERTIFICATE This is to certify that the project work entitled “BOOKSHOP MANAGEMENT SYSTEM” is a bonafide work carried out by ASHISH BAROI students of BCA Computer science 6thSemester,of Cotton College, Gauhati affiliated to gauhatiuniversity.He has done the project under my supervision and guidance to the best of my knowledge. This project work has been prepared as a fullifillment of the degree of Bachelors of computer application-Computer science(BCA) to be awarded by GauhatiUniversity.This work has not been submitted earlier for any other academic activity. During the period of his work,he has been found sincere and hard working. I wish him success in his life. External Examiner: (Mrs.SangitaBaruah) Head of Department Dept. of computer science Cotton college Acknowledgement A great deal of time and effort has gone into the completion of this project. Several special people have contributed significantly to this effort. We, the undersigned, take this opportunity to thank them. First of all, I would like to express our heartiest gratitude to our project Guide Mrs.SangitaBaruah, Head of the Department of Computer Science, Cotton College, for his constant support, suggestions and encouragement during the project work. I am indebted to all of the Lecturers in the Department of Computer Science, Cotton College, for allowing us to use the department computers whenever necessary. Date: 19/04/2011 ASHISH BAROI Place: Guwahati BCA,6thSEMESTER Department of Computer Science Cotton College Session - CONTENTS IN DETAILS CHAPTER 1. INTRODUCTION 1.1 INTRODUCTION 1.2 ABOUT JAVA 1.3 ABOUT SQL SERVER 7.0 1.4 STRUCTURED QUERY LANGUAGE (SQL) 1.5 ABOUT OPERATING SYSTEM CHAPTER 2. PROJECT OUTLINE 2.1 TITLE OF THE PROJECT 2.2 INTRODUCTION AND OBJECTIVE OF THE PROJECT 2.3 HARDWARE AND SOFTWARE USED CHAPTER 3. OVERVIEW OF THE SYSTEM 3.1 INTRODUCTION 3.2 INITIAL INVESTIGATION 3.2.1 INFORMATION GATHERING 3.3 THE TRADITIONAL SYSTEM. 3.4 PROBLEM DEFINATION 3.5 THE PROPOSED SYSTEM: “BOOK PUBLICATION MANAGEMENT SYSTEM”. 3.6 LIMITATIONS OF THE PROPOSED SYSTEM 3.7 SCOPE OF THE PROPOSED SYSTEM. CHAPTER 4. FEASIBILITY STUDY 4.1 INTRODUCTION 4.2 FEASIBILITY ANALYSIS: 4.2.1 ECONOMIC FEASIBILITY 4.2.2 SCHEDULE FEASIBILITY 4.2.3BEHAVIOURAL FEASIBILITY 4.2.4 TECHNICAL FEASIBILITY 4.2.5 MANAGEMENT FEASIBILITY 4.2.6TIME FEASIBILITY 4.3 CONCLUSION CHAPTER 5. STRUCTURED ANALYSIS. 5.1 INTRODUCTION 5.2 STRUCTURE CHART 5.3 CONTEXT DIAGRAM 5.4 DATA FLOW DIAGRAM 5.5 ENTITY RELATIONSHIP MODEL. 5.6 DATA DICTIONARY CHAPTER 6. SYSTEM PLANNING 6.1 TEAM STRUCTURE 6.2 COST ESTIMATION 6.3 SOFTWARE SIZE ESTIMATION 6.4 PRINCIPLES OF PROJECT SCHEDULING 6.5 SOFTWARE CONFIGURATION MANAGEMENT 6.6 PLANNING TOOLS CHAPTER 7. SYSTEM DESIGN 7.1 INTRODUCTION 7.1.1 LOGICAL DESIGN 7.1.2 PHYSICAL DESIGN 7.2 INPUT DESIGN 7.3 OUTPUT DESIGN 7.4 NORMALISTION 7.5 DATABASE DESIGN CHAPTER 8. SYSTEM TESTING 8.1 INTRODUCTION 8.2 TESTING 8.2.1 MODULE TESTING 8.2.2 SYSTEM TESTING 8.2.2.1 PROGRAM TESTING 8.2.2.2 STRING TESTING 8.2.2.3 SYSTEM TESTING 8.2.2.4 USER ACCEPTANCE TESTING 8.2.3 FUNCTIONAL TESTING 8.2.4 STRUCTURAL TESTING 8.2.5 COMBINED STRUCTURAL TESTING AND FUNCTIONAL 8.3 DEBUGGING CHAPTER 9. SYSTEM IMPLEMENTATION 9.1 INTRODUCTION 9.2 USER TRAINING CHAPTER 10. SYSTEM SECURITY 10.1 SYSTEM SECURITY MEASURES. 10.2 PREVENTION. 10.3 DETECTION. 10.4 DAMAGE MINIMIZATION. 10.5 PHYSICAL SECURITY. 10.6 ENVIRONMENTAL CONDITION. 10.7 SOFTWARE SECURITY. 10.8 PROTECTION AGAINST VIRUS. 10.9 PASSWORD SECURITY. 10.10 OTHER ASPECTS. CHAPTER 11. CONCLUSION 11.1 CONCLUDING REMARKS 11.2 SALIENT FEATURES OF THE PROPOSED SYSTEM 11.3 LIMITATIONS OF THE PROJECT 11.4 SCOPE FOR FUTURE WORKS 11.5 INFORMATION AND OPERATIONAL INSTRUCTIONS CHAPTER 12 . SCREEN SHOT CHAPTER 13 . CODING CHAPTER 14. BIBLIOGRAPHY CHAPTER-1 CHAPTER 1 INTRODUCTION 1.1 INTRODUCTION 1.2 ABOUT JAVA 1.3 ABOUT MY SQL 1.4 STRUCTURED QUERY LANGUAGE (SQL) 1.5 ABOUT OPERATING SYSTEM 1.1 INTRODUCTION : Innovation in technology is the buzzword today. Computer the wonder machine has fulfilled more than its share of expectations. We are currently in the midst of a technological revolution in which outdated system has made way for outstanding ones. One of the major applications of computer technology has been information processing activity. Computer has been an essential part of the organizational info processing because the power of the technology and volume of data it can process. 1.2 JAVA: Java is a general-purpose, object-oriented programming language.we can develop two types of Java programming. ● Stand-alone application. ●Web applets. Stand alone application are programs witten in Java to carry out certain tasks on a stand-alone local computer.Infact,Java can be used to develop programs for all kinds of application,which were developed earlier,using languages like C and C++.As pointed out earlier,Hot Java itself is a Java application program.Executing a stand-alone Java program involves two steps. 1. Compiling source code into bytecode using javac compiler. 2. Executing the bytecode program using java interpreter. Applets are small Java programs developed for Internet applications.An applet located on a distant computer(Server) can be downloaded via Internet and executed on a local computer (Client) using a java-capable browser.We can develop applets for doing everything from simple animated graphics to complex games and utilities. 1.3 MySQL: MySQL is a open source Relational Database Management System. MySQL is very fast reliable and flexible Database Management System. It provides a very high performance and it is multi threaded and multi user Relational Database management system. MySQL is one of the most popular relational database Management System on the web. The MySQL Database has become the world's most popular open source Database, because it is free and available on almost all the platforms. The MySQL can run on Unix , window, and Mac OS. MySQL is used for the internet applications as it provides good speed and is very secure. MySQL was developed to manage large volumes of data at very high speed to overcome the problems of existing solutions. MySQL can be used for verity of applications but it is mostly used for the web applications on the internet. MySQL Features: 1. MySQL are very fast and much reliable for any type of application. 2. MySQL is very Lightweight application. 3. MySQL command line tool is very powerful and can be used to run SQL queries against database. 4. MySQL Supports indexing and binary objects. 5. It is allow changes to structure of table while server is running. 6. MySQL has a wide user base. 7. It is a very fast thread-based memory allocation system. 8. MySQL Written in C and C++ language. 9. MySQL code is tested with different compilers. 10.MySQL is available as a separate program for use in a client/server network environment. 11.The MySQL available for the most Unix operating platform. 12.MySQL are the available for window operating system window NT, window 95 ,and window 98. 13.MySQL available for OS/2. 14.Programming libraries for C, Python, PHP, Java , Delphi etc. are available to connect to MySQL database. MySQL Advantages: Reliability and Performance MySQL is very reliable and high performance relational database management system. It can used to store many GB's of data into database. Availability of Source MySQL source code is available that's why now you can recompile the source code. Cross-Platform support MySQL supports more than twenty different platform including the major Linux distribution .Mac OS X ,Unix and Microsoft windows. Large pool of Trained and Certified Developers MySQL is very popular and it is world most popular open source Database. So it is easy to find high quality staff around the world. Powerful Uncomplicated software The MySQL has most capabilities to handle most corporate database application and used to very easy and fast 1.4 ABOUT STRUCTURED QUERY LANGUAGE (SQL): Structured Query Language (SQL) is a non-procedural language used for database management. Unlike procedural language, in which we must describe how to access and manipulate data, in SQL we specify what to do. It is the official and de-factors standard language for interfacing with a relational database. SQL exist as an American National Standard Institute (ANSI) and International Standard Organization (ISO) standards as well as an industry standard. TYPES OF SQL: SQL has two variations. 1. Interactive SQL: It is used to operate directly on a database to produce output for desired purpose. In this form of SQL, a command is entered and executed. The output can be seen immediately. 2. Embedded SQL: It consists of SQL commands put inside the programs which are written in other high level language such as C, C++, and COBOL etc. This method makes query system more powerful and efficient. The output of SQL commands in embedded SQL is passed off to variables or parameters which are used by the program in which SQL commands are embedded. TYPES OF SQL COMMANDS: SQL commands can be classified into the following three types. 1. Data Definition Language Commands (DDL). 2. Data Manipulation Language Commands (DML). 3. Data Control Language Commands (DCL). 1. Data Definition Language Commands (DDL) Data Definition Language (DDL) is a part of SQL which consists of those commands that create the objects in the database. Create, Drop and Alter are few commands of DDL language. 2. Data Manipulation Language Commands (DML) Data manipulation language (DML) is that part of SQL which consists of a set of commands that determine which values are present in the tables at any given time. DML is divided into three categories. a) Retrieving Data : It means getting information out of a table. A selection of data items stored in a table is presented on the screen. The command for retrieving data items is SELECT. b) Manipulating Data :It refers to the DML features that allow us to perform statistical functions on data, namely averaging and summing columns and other arithmetic functions like multiplying values in two or more columns of a table. c) Updating Data :It refers to inserting and deleting rows in tables and changing values in the columns i.e. it performs the maintenance of a database. For manipulation and updation, the commands used are Update, Insert and Delete. 3. Data Control Language Commands (DCL) DCL allows definition of a security mechanism or scheme for protecting data from unauthorized access. DCL consists of features that determine whether a user is permitted to perform a particular action. It contains commands like Grant, Revoke etc. These are also known as Transaction Control Commands. 1.5 ABOUT OPERATING SYSTEM: The operating system used is Windows XP. It is a very popular and widely used operating system developed by Microsoft Corporation. Its popularity is due to the fact that it has a user friendly environment compatible with the latest software and hardware in the market. CHAPTER 2 PROJECT OUTLINE 2.1 TITLE OF THE PROJECT 2.2 INTRODUCTION AND OBJECTIVE OF THE PROJECT 2.3 HARDWARE AND SOFTWARE USED 2.1 TITLE OF THE PROJECT: “ BOOKSHOP MANAGEMENT SYSTEM” 2.2 INTRODUCTION AND OBJECTIVE OF THE PROJECT: INTRODUCTION: A Bookshop management system basically a system to record incoming and outgoing material in a book shop. It also maintain the outgoing and incoming finance record from the bookshop account book. It also release the paper works and process every efficiently without much mistake. It will provide faster and reliable service to the customers. Its main object is to provide fast and error free service to the customers. It can be use in a bookshop to maintain database and maintain details transaction with the customer .This project is used for handling customer need will provide an user friendly interface to process the needs. It much be outgoing process to know requirement of the customers during whole process of system development cycle. Following are some of the input the system Database Quantity of products. Following are outputs of the system Customer billing Product list Rate list. OBJECTIVES: The main objective of the project is: - 1). To overcome the drawbacks of any manual existing system. 2). To handle a new entry books record, price list structure, extra -activity, carriage charge, stock, billingetc, the management system properly manage by using a computerized data keeping system. 3). BookShop Management System Supports the new book entry, pricelist, bill process etc. 4). Database maintained by this system usually contains the book’s personal records, publisher and price related information. It focuses on storing and processing (insertion, updation) by using user friendly GUI interface. 5). Generates books information in formatted design, generates the price invoice. 6). Generate Book Detail Report. 7). Generate Book price list Detail Report. 8). Generate Sale Amount Deposition Status Report. 9). Generate Sale Purchase balance sheet. Besides the key benefits of designing such a system over any existing manual system are illustrated below: (i) Save time and effort (ii) Ease of data maintenance (iii) Reduce clerical efforts in information (iv) Enhanced data security (v) Easy access of information when required 2.3 HARDWARE AND SOFTWARE USED : Software Requirement specification Tools: Front End: Java Back End: MySQL Server. Platform: Windows NT/XP Developing Environment :NetBean. Hardware Requirement specification: 1- Processor: Pentium IV or higher processor 2- Memory Size: At least 2 GB or more disk storage space. 3- RAM: 512 MB or more. 4- Operating System: Windows Xp CHAPTER 3 OVERVIEW OF THE SYASTEM OVERVIEW OF THE SYASTEM 3.1 INTRODUCTION 3.1.1 ABOUT THE ORGANIZATION 3.2 INITIAL INVESTIGATION 3.2.1 INFORMATION GATHERING 3.3 THE TRADITIONAL SYSTEM. 3.4 PROBLEM DEFINATION 3.5 THE PROPOSED SYSTEM: “BOOKSHOP MANAGEMENT SYSTEM” 3.6 LIMITATIONS OF THE PROPOSED SYSTEM 3.7 SCOPE OF THE PROPOSED SYSTEM. 3.1 INTRODUCTION: In this section an overview of the project has been presented. The section starts with a brief description of the project undertaken. Thereafter a brief note on the traditional system along with its limitations has been highlighted. Finally the section portrays the proposed system along its possible advantages and limitations. 3.1.1 ABOUT THE ORGANIZATION: The “NILACHAL BOOK SHOP”is located at ganeshguri Guwahati 06 . This book house is one of the good bookshop of Guwahati. The bookshop works as follows: In a bookshop a dealer comes for order sets of his book. When he orders his book through the bookshop centre, the centre authority makea agreement with him for his commission. Then the bookshop centre sale his book to various customers.Then the customer receive sale invoice from the bookshop centr and make the transaction. In this way a the bookshop house is managed. 3.4 PROBLEM DEFINATION: There are some problems in the existing manual system: - • Maintenance of paper file is a very tedious process. • File searching is a time consuming and tedious process. There is possibility of giving wrong information in time of hurry can result in giving wrong information to the concerned authority. • In the transaction, there is always chance of losing file, which result in loss of information. • It is not possible to get all the information sitting in one place. This is because the management maintains a collection of files for individual transaction which is normally kept in their respective premises. • Thirdly the data can get damaged. • Data inconsistency can occur due to duplication of data. 3.5 THE PROPOSED SYSTEM: AN OVERVIEW: After studying the existing system conclusion can be drawn that it is highly beneficial to have a computerized system that ensures accurate information at right time with less manual effort. The proposed system is“Book Publication management system”. The main objective of the proposed system is to computerize the book publication management system. The proposed system that they are requesting and which I have develop is a computerized management system which is intended to keep the information of all books and writers present in the system so as to fulfill the requirement of all customers. In a publication house a writers comes for publish his/her book and customers also comes to buy a book written by specific writer. The system that I have designed keeps all information about books, writers. In this way it keeps each and every task performed in the system.The main objective of thesystem is to store whole information of all books easily and to provide better facility to all customers.Also to the profile of the system .also the system that I have design is very easy to manage, modified and maintain and also it is reliable. The objective of the system is to overcome the drawbacks of the existing manual system and make a hassle free computerized system. Some of the advantages of the proposed system: Store the data with minimum redundancy. Provide updated information. Efficient, easy to use, less error prone, accurate. 3.6 LIMITATIONS OF THE PROPOSED SYSTEM 1. All modules are not considering due to limitation of time 2. Personalized security is not implemented in the system 3. Account Module is not implemented, which is one of the most important part of a business system. 3.7 SCOPE OF THE PROPOSED SYSTEM. The system under consideration must include all those activities that are necessary for the smooth functioning of the different process. The system will 1. Save time 2. Enhance data security 3. Easy access of information from wherever required 4. Comfort of data maintained. Advantages: Unauthorized user cannot use the system as it is protected by password. Searching will be faster, Navigation will be easier. Data inconsistency will be eliminated. Latest can be obtained if the files updated properly. Individual reports can quickly view and printed. The proposed system can be converted to a more useful one with slight modification. Some aspects that can be enhanced latter are: a) Can easily convert into Multi-user application. b) Can extend to applicable with Internet. c) Can provide Protection Module. d) Can provide Back Support etc. CHAPTER 4 FEASIBILITY STUDY FEASIBILITY STUDY 4.1 INTRODUCTION 4.2 FEASIBILITY ANALYSIS 4.2.1 ECONOMIC FEASIBILITY 4.2.2 SCHEDULE FEASIBILITY 4.2.3 BEHAVIOURAL FEASIBILITY 4.2.4 TECHNICAL FEASIBILITY 4.2.5 MANAGEMENT FEASIBILITY 4.2.6 TIME FEASIBILITY 4.3 CONCLUSION 4.1 INTRODUCTION: This section depicts on of the most important stages of the initial investigation carried out as a part of life cycle of the project development-feasibility of the project faces certain shortcomings. Many feasibility studies are dis-illusionary for both the user and the analyst. First, the study often presupposes that when feasibility document being prepared, the analyst is in a position to evaluate solutions. Secondly, most studies tend to overlook the confusion inherent in the system development, the constraints and assumed attributes. 4.2 FEASIBILITY OF THE PROPOSED SYTEM: Feasibility of the proposed system is evaluated to determine whether the new system can be implemented or not. The feasibility study is a must prior to the proposed system. The impact proposed system must be weighted carefully because there is a great deal at stake. The feasibility study helps to estimate whether the project will be beneficial or not. During feasibility study one has to consider the following fields— 4.2.1 Economic feasibility 4.2.2 Schedule feasibility 4.2.3 Behavioral feasibility 4.2.4 Technical feasibility 4.2.5 Management feasibility 4.2.6 Time feasibility 4.2.1 ECONOMIC FEASIBILITY: The economic feasibility aims at determining the benefits of the candidate system, which is accepted if the benefits outweigh the cost involved in the development of the new system. Primary economic considerations are with respect to the configuration of the system used. Both PIII and PII based configurations are normally available and are not very expensive. Economic feasibility may also be influenced by the time required to develop the project. With normal working schedule of four hours, the coding part of the project may be completed within one month. Testing and further modifications may require another one month. That way the economic aspect of the project makes it feasible. 4.2.2 SCHEDULE FEASIBILITY: This involves whether the project is feasible enough to be completed within the stipulated time. Schedule feasibility depends on 1. Total time required to develop the project. 2. Time availability. 4.2.3 BEHAVIORAL FEASIBILITY: The behavioral feasibility should also be judged in order to estimate the mentality of the people to whom the system is being developed and with whom the system is being carried out as well as ultimate beneficiaries. In case if they are not motivated to use the new system or they resist it, the whole thing will be messy and the project will be a failure. In case of proposed system the organization has no computerized system and people in Reliance Clinical Laboratory have partial idea about it. Hence, while implementing the system I will have to guide them through the project. 4.2.4 TECHNICAL FEASIBILITY: Technical feasibility is an evaluation to determine whether a system can be technically built. It represents whether the project can be done or not with the currently available equipments, existing software technology etc. The working project is technically feasible because it can be completed with easily available equipments and existing software. The architectural configuration of my computer is: 1. Processor --- Pentium IV 2. Hard disk --- 80 GB 3. Pen Drive --- 2GB 4. RAM --- 512 MB 5. Speaker --- 800 watt 6. Monitor --- 15” Color LG 7. Pointing Device -- Scroll mouse PS/2 8. Keyboard --- PS/2 Keyboard 9. U.P.S --- 500 V UPS The minimum required resolution for the project is 1024 X 768 pixels at 55 KHz. Technical evaluation must also assess whether the existing system can be upgraded to use the new technologies and whether the organization has the expertise to use it. 4.2.5 MANAGEMENT FEASIBILITY: Once the existence of a problem is acknowledged and the need for a solution is agreed upon, it is necessary to establish that a solution to the problem is feasible. For this, a study is conducted. The study of a system is initiated by the management to check whether the proposed computerized solution is technically, economically, socially and operationally feasible. Management usually initiates this by giving a formal go-ahead to conduct the study. 4.2.6 TIME FEASIBILITY: It is determination of whether of whether a proposed project can be implemented fully within a stipulated frame of time. No need to bother on this issue, because just installing a computer doesn’t take too much time. Proper delivery of the software is also determined by this feasibility. 4.3 CONCLUSION: From the observation made in the feasibility study described above it was recommended that the proposed Student Information Management System is feasible for its development and implementation. CHAPTER 5 STRUCTURED ANALYSIS 5.1 INTRODUCTION. 5.2 CONTEXT DIAGRAM 5.3 DATA FLOW DIAGRAM 5.4 ENTITY RELATIONSHIP MODEL. 5.5 DATA DICTIONARY 5.1 INTRODUCTION: The goal of system development is to deliver systems in line with user requirements. Analysis is the heart of the process. The first phase focuses on problem definition where analysis helps us to understand the present system. In phase two the study goes in a detailed manner, studying the present system and determining potential solutions. Therefore the problem analysis is to clearly understand the needs of the clients and the users. That is, what is desired from the software , and what are the constraints on the solution, if any , this requires understanding all the inputs, all the outputs, processing requirements, performance requirements, how the software should behave etc. The understanding obtain during analysis involves interviewing all the people who are affected by the software. This includes at least the client. Who is the sponsor for the software development and the users who are the end users of the software? To get the clear understanding of the existing system (procedures, output) have to be studied, along with any other related documentation. Frequently the client and the user may not understand the requirements themselves. Due to this the analyst should also try to help them understand their needs. In analyzing the present system, a great deal of data is collected through interviews, questionnaires, onsite observations, manuals etc. The traditional approach of organizing the data through system flow chart has some drawbacks. Due to this, other tools like structured analysis tools are used. Structured analysis considers certain techniques and goals- Use graphics wherever possible. Differentiate between logical and physical system. Build a logical system to familiarize the user with system characteristics before implementation. Structured analysis is a set of techniques and graphical tools that allows us to develop a new kind of system specification that is easily understandable to the developer. It is the detailed step-by-step investigation of related procedures to see what must be done and to determine the best way of doing it. The objective is to build a system specification that provides the basis for design and implementation. The various tools used in structured analysis are- Context diagram. Data flow diagram. E-R Diagram (Entity Relationship model). Data dictionary. 5.2 CONTEXT DIAGRAM: In the initial stage of System Analysis, Context Diagram is constructed to show the higher- level model of a system. It is used to represent pictorially the boundaries of a system. Expanding the Context Diagram we get the detailed DFD of the system. Context Diagram is generally used to show the sources of data and the destination where the processed data goes. From source data is sent for processing and then the processed data is sent to the destination. 5.3 DATA FLOW DIAGRAM: DFD is a pictorial representation which depicts the different processes at work within a system. It is used to show the information flow from process to process, process to store, or store to process. The DFD of the individual processes may be broken down into forms which may be shown level wise. The context diagram is the starting point of the DFD. A DFD is a series of bubbles joined by lines-which represents the data transformations and the lines represent the data flows in the system. So it is also known as “BUBBLE CHART”. There are various symbols used to draw a DFD, like- SQUARE: - A square defines a source (originator) or destination of system data. ARROW: - An arrow indicates data flow- data in motion. It is a pipeline for flow of information. CIRCLE: - A circle or bubble represents a process that transforms incoming data in to outgoing data. OPEN RECTANGLE: - An open rectangle is a data store- data at rest, or temporary repository of data. 5.4 E-R DIAGRAM (ENTITY RELATIONSHIP DIAGRAM): Entity Relationship Diagram represents the relationship between various entities and their attributes. Relationship between entities makes up a data structure. There are three type of relationship we can find in an ERD, One to one. One to many Many to many. Symbols used in ER diagram are as follows: 1. Entity: An entity is collected of sets of attributes in a data model. We can represent it by a rectangle box. However there is a weak entity also we can find. 2. Attributes: Attributes are the fields of database we can represent it by an oval. 3. Relationship: Relationship represents various relations between the entities. Relationships Identifying relationship 4. Lines: Line is nothing but it connects the relationships, attributes and entities. E-R DIAGRAM FOR STUDENT INFORMATION MANAGEMENT SYSTEM 5.5 DATA DICTIONARY: Data Dictionary is a structured repository of data, which provides detailed information about the data flowing among functions and to or from data stores. It is a set of rigorous definitions of all DFD data elements and data structures used to develop the application. It serves as a valuable document to the organization for future enhancement. Centralizing all definitions in the dictionary removes the danger to duplications and inconsistencies. During implementation, it serves as a common base against which programmers who are working on the system compare their data descriptions. Also control information maintained for each data element is cross-referenced in the Data Dictionary. Most database management system has a Data Dictionary as a standard feature. Three classes are to be defined in a data dictionary. They are: Data elements: It is the smallest unit of data that provide for no further decomposition. Data structure: It is a group of data element handled as a unit. Data flows & data stores: They are data structures in motion and data structures at rest respectively. In constructing the Data Dictionary the analyst have to consider several points: Each data flow in the DFD has one Data Dictionary entry. Definitions must be readily accessible by name. There should not be data redundancy in the data definition. The procedures for writing definition should be precise. The Data Dictionary of the proposed “BOOKSHOP MANAGEMENT SYSTEM” is as follows: SI.NO FIELD NAME DESCRIPTION FIELD TYPE SIZE CONSTRAIN TABLE NAME 1 Name Name of the supplier Varchar 20 Supplier 2 Address Address of the supplier Varchar 30 Supplier 3 Booklist List of book with supplier Varchar 15 Supplier 4 Isbn Book.no with supplier Int Supplier 5 Supplier_id Unique identification code Int Primary key Supplier 6 Contact.no Contact.no of supplier Varchar 20 Supplier 7 Book name Name of the book Varchar 20 Book 8 Subject Subject of the book Varchar 10 Book 9 Price Price of the book Float Book 10 Author’s name Author of the book Varchar 20 Book 11 Publisher Publisher of the book Varchar 20 Book 12 Language Language of the book Varchar 10 Book 13 Edition Edition of the book Int Book 14 Book_id Unique identification code Int Primary key Book 15 Isbn Book.no of the book Int Book 16 Year of Pulishing year of the book Int Book publication 17 Book name Availibilty of the book Varchar 20 Book 18 Isbn Book.no of the stock Int Stock 19 Stock_id Unique identification code Int Partiary key Stock 20 Quantity Quantity of the stock Int Stock 21 Cost Cost of the bill Int Bill 22 Discount Discount in the bill Float Bill 23 Bill.no Unique identification code Varchar 20 Primary key Bill 24 Bill date Date of the bill Datetime Bill 25 Net Total Total bill amount Currency Bill 26 Customer_id Id of the customer Int Foreign key Bill 27 Name Nmae of the customer Varchar 20 Customer 28 Address Address of the customer Varchar 30 Customer 29 Customer_id Unique identification code Int Primary key Customer 30 Contact.no Contact.no of the customer Varchar 15 Customer CHAPTER 6 SYSTEM PLANNING 6.1 TEAM STRUCTURE 6.2 COST ESTIMATION 6.3 SOFTWARE SIZE ESTIMATION 6.4 PRINCIPLES OF PROJECT SCHEDULING 6.5 SOFTWARE CONFIGURATION MANAGEMENT 6.6 PLANNING TOOLS The objectives of software project planning are to provide a framework that enables the manager to make reasonable estimates of resources, cost and schedule. The estimates are made within a limited time frame at the beginning of a software project and should attempt to define “best case” and “worst case” scenarios so that project outcomes can be bounded. The planning objectives are achieved through a process of information discovery that leads to reasonable estimates. 6.1 TEAM STRUCTURE: Effective software project management focuses on: people, problem and process. The manager who forgets that software restaurant work is an intensely human endeavor will never have success in project management. Before software can be planned, its objectives and scope should be established, alternative solutions should be considered, technical and managerial constraints should be identified. Persons who are categorized into one of five constituencies populate the software process: Senior Managers – who defines the business issues that often, have significant influence on the project. Project Managers – who plan, motivate, organize and control the practitioners who do the software, work. Practitioners – who deliver the technical skills that, are necessary to engineer a project or application. Customers – who specifies the requirements for the software to be engineered. End users –who interacts with the users once it is released for production use. 6.2 COST ESTIMATION: Software cost and effort estimation will never be exact science. Too many variables – human, technical, environmental and political – can affect the ultimate cost of software and effort to develop it. However, software project estimation can be transformed from a mysterious art to a series of systematic steps that provide estimates with acceptable risk. To achieve reliable cost and effort estimates, a number of options arise: 1. Delay estimation until late in the project (obviously, we can achieve 100% accurate estimates after the project is complete). 2. Base estimates on similar projects that have already been completed. 3. Use relatively simple “decomposition techniques” top generate project cost and effort estimation . 6.3 SOFTWARE SIZE ESTIMATION: The exact size of the software was not known at the beginning because the requirements of the clients could not freeze at the beginning. At an approximate the total size of the software was 5-6 MB. 6.4 PRINCIPLES OF PROJECT SCHEDULING: Like all other areas of software engineering, a number of basic principles guide software project scheduling. Compartmentalization: -The project must be compartmentalized into a number of manageable activities and tasks. To accomplish compartmentalization, both product and the process are decomposed. Interdependency: -The interdependence of each compartmentalized activity or task must be determined.Some tasks must occur in sequence; others occur in parallel. Some activities cannot commence until the work product produced by another is available. Other activities occur independently. Time Allocation:- Each task to be scheduled must be allocated some numbers or work units. In addition, each task must be assigned a start date and a completion date that are functions of interdependencies and whether work will be conducted on a full time basis. Effort Validation: - Every project has a defined number of staff members. As time allocation occurs, the project manager must ensure that no more than the allocated numbers of people have been allocated at a given time. Defined Responsibilities: - Every task that is scheduled should be assigned to a specific team member. Defined Outcomes: - Every task that is scheduled should have a defined outcome. For software projects, the outcome is normally a work product (e.g., the design of a module) or a part of a work product. Defined Milestones:- Every task or group of tasks should be associated with a project milestone. A milestone is accomplished when one or more work products have been reviewed for quality and have been approved. 6.5 SOFTWARE CONFIGURATION MANAGEMENT: Software Configuration Management (SCM) is an umbrella activity that is applied throughout the software process. Because change can occur at any time, for any reason. In fact the First Law of System engineering states: No matter where we are in the system life cycle, the system will change, and the desire to change it will persist throughout the life cycle. SCM activities are developed to 1. Identify change 2. Control change 3. Ensure that change is begin properly implemented and 4. Report change to others who may have an interest. SCM is a set of tracking and control activities that begin when a software project begins and terminate only when the software is taken out of the operation. The output of the software process is information that may be divided into three broad categories: 1. Computer programs (both source level and executable forms) 2. Documents that describe the computer programs (targeted at both technical practitioners and users) and 3. Data (contained within the program or external to the items that comprises all information produced as part of the software process) are collectively called a software configuration. In my software, I have assured the client whatever changes are required will be done but in case of any major changes, those changes which will require to change the back-end or the front-end to a quite large extent. 6.6 PLANNING TOOLS: Without planning it is difficult to measure progress. Project planning involves plotting project activities against a time frame. One of the first steps in planning is developing a road map structure or a network based on analysis of the tasks that must be performed to complete the project. In the early formal planning used a Gantt chart or a milestone chart by plotting activities on the Y-axis and time on the X-axis, the analyst laid out an overall network specifying interrelationships among actions. Latter a new technique called Program Evaluation and Review Technique (PERT) was introduced. The Gantt chart uses horizontal bars to show the durations of actions or tasks. The left end marks the beginning of the task, the right end its finish. Earlier tasks appear in the upper left and latter ones in the lower right. A task is specific job that can be assigned to one person to perform in a specific time. A group of tasks makes up an activity, which ends in a milestone. Gantt charts have one drawback they do not show precedence relationships among the tasks and milestones of a project, i.e. interdependence of tasks is not evident. The critical tasks of those that must be done on time are not evident either. Like Gantt chart, PERT makes use of tasks. It shows achievements, which are terminal achievements, called events. Arrows are used to represent tasks and circles represent the beginning or completion of a task. The PERT chart uses these paths and events to show the interrelationships of project activities. The Planning chart of the project is shown in the next page: System System Testing System Development Design (Coding) Feasibility Problem Study Study 2nd Feb, 2013 19th Feb,2013 To 2nd March,2013 2nd May,2013 2nd June,2013 To 1st March, 13 To To To 18th July, 10 1st Oct, 10 1st Dec, 10 28th Dec, 10 Time in Month CHAPTER 7 SYSTEM DESIGN 7.1 INTRODUCTION 7.1.1 LOGICAL DESIGN 7.1.2 PHYSICAL DESIGN 7.2 INPUT DESIGN 7.3 OUTPUT DESIGN 7.4 NORMALISATION 7.5 DATABASE DESIGN 7.1 SYSTEM DESIGN: System design is a solution a “how to approach the creation of a new system”. This important phase is composed of several steps. It provides the understanding and Procedural details necessary for implementing in the system recommended in the feasibility study. Emphasis is on translating the performance requirement into design specification Design goes through logical and physical stages of development. Logical design review the present physical system, prepares input and output specification details the implementation plan and prepares a logical design walkthrough. The physical design maps out details of the physical system, plans the system implementation, devices a test and implementation plan and specifies any new hardware and software. System design goes through two phases of developments:- a. Logical Design b. Physical Design 7.1.1 LOGICAL DESIGN: We know that the data flow diagram shows the logical flow of the system and defines the boundaries of the system. A logical design specifies the user needs at the level of detail that virtually determines the information flow into and out of the system and the required data resources. Logical design describes the inputs, outputs, databases and procedures all in a format that meets the user requirements. 7.1.2 PHYSICAL DESIGN: It provides the working system by defying the design specification that tells the programmers exactly what the candidate system must do. In short it can state that physical design is the implementation of the logical design. Physical system design consists of the following steps:- 1. Design the physical system. Specify input/output media Design the database and specify backup procedures. Design physical information flow through the system and a physical design walkthrough. 2. Planned system implementation. Prepare a conversion schedule and a target date. Determining training procedure, course and timetable. Device a test and implementation plan and specify any new hardware /software Update benefits costs, conversion date and system constraints (legal, financial, hardware etc) System design involves the following design:- Input Design Output Design Database Design MENU DESIGN: In any computer system, a user first interact with its menus, therefore it should be good enough such that the user can feel comfortable while using it. Like most of the system, the format will be shown along with a list of number, and users are expected to choose appropriate option by positioning the cursor or keying the appropriate number. A series of menus allow the user to step through a series of hierarchical levels of increasing specificity. The advantage of the well designed menu is that it provides a familiar format and clear set of choice which were well understood by the user. Menus therefore require less training than common languages. One important feature of a menu structure is the capability of back tracking to a higher or returning to the higher level and starting ones. An ideal interface should have shortcut. Example of a shortcut are menu of menu name so that a user may immediately specify a lower level menu and a feature to permit direct writing of a complex command that by passes the menu displays. 7.2 INPUT DESIGN: Input design is a circle part of any system design. Inaccurate input data are the most important cause of error in data processing. Data entry can be controlled by input design. Input design is the process of converting user oriented inputs to computer based format. The goal of designing input data is to make data entry as easy, logical and free from errors can possible. While entering the data the operator needs to know the following:- The allocated field for each field. Fields sequence which most match that in the source document. The format in which data field is entered. Keeping in view the users requirements, the input screens have been designed and developed for easy and error free data entry. Based on the various types of inputs to be fed to the computer in using the proposed system, all input screens are designed in real mode and help are given in the form of guide the data entry operators step by step. The Input Form design of the proposed system is given as below: 7.3 OUTPUT DESIGN: Computer output is the most important and direct source information to the users. Efficient intelligible output design should improve the system relationship with the user and help in design making. A major form of the output is a hardcopy from the printer. In the system, under consideration printout are designed around the output requirement of the user. The output design can be classified into two groups: 1. Form Design. 2. Report Design. 7.4 NORMALISATION: Normalization is logical database design where step by step decomposition of complex records into simpler records is done. Normalization can thus be described as the process during which unsatisfactory relational schemes are decomposed by breaking up their attributes into smaller relational schemes. The main objective of normalization is to reduce redundancy using the principle of ‘No-Loss Decomposition’. No loss decomposition implies reduction of tables without loss of information. Several normal forms have been identified out of which the most important and widely used are- First Normal Form (1 NF) Second Normal Form (2 NF) Third Normal Form (3 NF) The process of Normalization and how much necessary it will be depend on how much detailed and precise our E-R Diagram is. 4.5.1 First Normal Form:- A table is said to be in the First Normal Form if every cell in the table contains precisely one value i.e. first Normal Form disallows multi valued attributes and composite value attributes. 4.5.2 Second Normal Form:- A table is said to be in the second normal form if it is in 1NF and every attribute of the record is fully functionally dependent on the Primary Key. 4.5.3 Third Normal Form:- A table is said to be in 3rd Normal Form if it is in 2NF and non prime attribute is transitively dependent on the primary key or in other words we can say that every non key attribute is functionally dependent on just the primary key and the table is in 2NF. 7.5 DATABASE DESIGN: Usually, a collection of interrelated data is as database. The database contains information about one particular enterprise. Database system is to stair and manages large volume of information. The management of data involves both the definition structure of the storage of information and provision for manipulation of information. In addition the database system must provide for safety of the information stored in the database, despite system crashes or unauthorized access. The lists of tables of the proposed system are given below: Table name: LOGIN SI FIELD DATA TYPE WIDTH DESCRIPTION NO 1 User_id Varchar 10 2 Password ,, 10 Table name: SUPPLIER SI.NO FIELD DATA TYPE WIDTH DESCRIPTION 1 Name Varchar 20 2 Address Varchar 30 3 Booklist Varchar 20 4 Isbn Int 5 Supplier_id Int Primary key 6 Contact.no Varchar 15 Table name: BOOK SI.NO FIELD DATA TYPE WIDTH DESCRIPTION 1 Book name Varchar 20 2 Subject Varchar 10 3 Author’s name Varchar 20 4 Price Float 5 Publisher Varchar 20 6 Language Varchar 15 7 Edition Int 8 Isbn Int 9 Book_id Int Primary key 10 Year of Int publication Table name: STOCK SI.NO FIELD DATA TYPE WIDTH DESCRIPTION 1 Book name Varchar 20 2 Stock_id Int Partiary key 3 Isbn Int 4 Quantity Int Table name: BILLS SI.NO FIELD DATA TYPE WIDTH DESCRIPTION 1 Cost Int 2 Discount Float 3 Net total Currency 4 Bill date Datetime 5 Bil.no Varchar 20 Primary key 6 Customer_id Int Foreign key Table name: CUSTOMER SI.NO FIELD DATA TYPE WIDTH DESCRIPTION 1 Name Varchar 20 2 Address Varchar 20 3 Customer_id Int Primary key 4 Contact.no varchar 20 CHAPTER 8 SYSTEM TESTING 8.1 INTRODUCTION 8.2 TESTING 8.2.1 MODULE TESTING 8.2.2 SYSTEM TESTING 8.2.2.1 PROGRAM TESTING 8.2.2.2 STRING TESTING 8.2.2.3 SYSTEM TESTING 8.2.2.4 USER ACCEPTANCE TESTING 8.2.3 FUNCTIONAL TESTING 8.2.4 STRUCTURAL TESTING 8.2.5 COMBINED STRUCTURAL TESTING AND FUNCTIONAL 8.3 DEBUGGING 8.1 INTRODUCTION : A system should always be tested thoroughly before implementing it, as regards its individual programs, the system as a whole user acceptance etc. This is because implementing a new system is a major job, which requires a lot of man, hours and a lot of other resources, so an error not detected before implementation may cost a lot. Effective testing early in the process translates directly into long term cost savings from reduced number of errors. This is also necessary because in some cases, a small error not detected and corrected before installation may explode into much larger problem. Testing is done based on the following principles: 1. All tests should be traceable to customer requirement. The objectives of system testing are to uncover errors. 2. Tests should be planned long before testing begins. Test planning can begin as soon as requirement model is complete. Therefore, all tests can be planned and designed before any code has been generated. 3. Testing should begin “in the small” and progress towards testing “in the large”. The first tests planned and executed generally focus on individual program modules. As testing progresses, testing shifts focus in an attempt to find errors in integrated clusters of modules and ultimately in the entire system. 4. Exhaustive testing is not possible. The number of path permutations for even a moderately sized program is exceptionally large. For this reason, it is impossible to execute every combinations of path during testing. It is possible however, to adequately cover program logic and ensure that all conditions in the procedural design have been exercised. Programming and testing is followed by the stage of installing the new computer based system. Actual implementation of the system can begin at this point using either a parallel or direct change over plan, or some blend of two. The testing and implementation of the system “Book Publication Management” was carried out as described below: 8.2 TESTING : 8.2.1 MODULE TESTING: The testing of individual modules was completed during the development itself. Some real data entered manually and necessary testing was completed for each module. Necessary changes were made there to make sure that the module is working satisfactorily. 8.2.2 SYSTEM TESTING: The System Testing consists of the following things: 8.2.2.1 PROGRAM TESTING: A program represents the logical elements of a system. For a program to run satisfactorily, it must compile and test data correctly and tie in properly with other programs. When a program is tested, the actual output is compared with the expected output. If there is a discrepancy, the sequences of instructions are tested to determine the problem. In this system testing is carried out and it showed positive results. 8.2.2.2 STRING TESTING: Programs are invariably related to one another and interact in a total system. Each portion of the system is tested against the entire module with both test and live data before the entire system is ready to be tested. 8.2.2.3 SYSTEM TESTING: System testing is designed to uncover weaknesses that were not found in earlier tests. This includes forced system failure and validation of the total system. 8.2.2.4 USER ACCEPTANCE TESTING: An acceptance test has the objective of selling the user on the validity and reliability of the system. It verifies the system’s procedures operate to system specification and that the integrity of vital data is maintained. 8.2.3 FUNCTIONAL TESTING: The functional testing specifies the operating conditions, input values and expected results. The functional testing in this project results in positive. All the various operating conditions and expected are accurate. When this test is carried out it does not arise any situation it is able to take care of all the situations. 8.2.4 STRUCTURAL TESTING: The structural testing is concerned with examining the internal processing logic of a software system. In the project this test is carried out to make sure that while in the calculation of excise and invoice, various taxes and total amounts are calculated with accuracy. In this test all the logical parts are tested very carefully and it resulted in positive. 8.2.5 COMBINED STRUCTURAL TESTING AND FUNCTIONAL TESTING: The combining structural and functional testing of all the operating conditions, input values, expected results along with the internal processing logic of the software system, which means these combined effort is through the study of the whole system. The combination of these two testing is also called as the Unit Testing. In this unit testing the system results is almost accurate in the operating conditions, expected results along with the internal processing logic of the system. 8.3 DEBUGGING: Debugging occurs as a consequence of successful testing. That is, when a test case uncovers an error, debugging can and should be an orderly process that results in removal of the error. The debugging process will always have one of two outcomes: 1. The cause will be found, corrected and removed. 2. The cause will not be found. The software was tested vigorously before implementation and when errors were found they were corrected and removed. CHAPTER 9 SYSTEM IMPLEMENTATION 9.1 INTRODUCTION 9.2 USER TRAINING 9.3POST IMPLEMENTATION 9.1 INTRODUCTION : System implementation means converting a new system design into operation. The successful implementation of the new software package is the most important part of the System Development life cycle. System implementation comprises the followings: (a) Creating computer-compatible files. (b) Training the people who are going to actually operate the system i.e. the operating aff. (c) Installing the necessary hardware, terminals and telecommunication network (if required). (d) Installing the application packages. Implementation is primarily concerned with the user training, site preparation and file conversion. When a candidate system is linked to terminals or remote sites, the telecommunication network and test of the network along with the system are also included under implementation. During the final testing, user acceptances are testing followed by the user training. Depending on the nature of the system, extensive user training may be required. Conversions usually take place at about the same time the user is being trained or later. The initial parameter of the candidate system should be modify, as a result of programming effort which provide a reality of testing for the assumptions made by the analyst. 9.2 USER TRAINING: User training is an important aspect to be taken into account before implementing a system. For the proper functioning and utilization of any system, it must be used properly. The extent of the training and education to be provided to the user depends upon the complexity of the new system. 9.3 POST IMPLEMENTATION: After the installation phase is completed and the user staff is adjusting to the changes created by the candidate system, evaluation and maintenance begins. If the new information is inconsistence with the design specification then changes have to be made. Hardware also requires periodic maintenance to keep it that does better with its design specifications. User priorities, changes in organizational requirements, environmental factors output and input qualities etc are the factors of maintenance. CHAPTER 10 SYSTEM SECURITY 10.1 SYSTEM SECURITY MEASURES. 10.2 PREVENTION. 10.3 DETECTION. 10.4 DAMAGE MINIMIZATION. 10.5 PHYSICAL SECURITY. 10.6 ENVIRONMENTAL CONDITION. 10.7 SOFTWARE SECURITY. 10.8 PROTECTION AGAINST VIRUS. 10.9 PASSWORD SECURITY. 10.10 OTHER ASPECTS. 10.1 SYSTEM SECURITY: The measures for data protection taken by an organization reflect its awareness and attitude towards INFORMATION AND Information Technology. If top management treats computers as a de-humanized, intangible, but integrity would, at best, be lackadaisical. On the other hand, if the management considers information as an important recourse and computers as an aid in decision making one would find a positive approach and involvement by the management towards security of information. This attitude naturally percolates down to the lower levels and the workers consider the computer correspondingly as an enemy. One of the best and first steps in ensuring data security is to create awareness and develop a culture within the organization towards the ways in which information can be lost/alter and what would be the consequences, of such an occurrence, to the organization and individuals. All other steps that can be taken are: IT ‘Planning: The organization must decide on a policy for introduction of IT. This must be done at the highest level and should address issues such as levels of protection for various aspects of information relating to the organization. Selection of technology, keeping in mind obsolesces due to new innovations and necessity for keeping in step; Identification of points of exposure of weak links to device means to plug them; Physical protection of machine and media. Control and monitoring the access to data, its usage, by persons and its integrity must be early defined and responsibility for ensuring these must test on persons designed for these tasks; an audit procedure would go a long way in ensuring adherence to laid down guidelines. While the above are relevant for any computer based MIS implementation, in case of PCs, the rules acquisition and use must be unambiguously stated. Additional points to be looked into are: Information classification; Responsibility for security; User training to increase security awareness and propagation of do’s and do not’s. Guidelines for creation and changes to passwords etc. There are four time-honored principles for ensuring security and recovery in case of breaches of security: 10.2 PREVENTION: The best method is of course stopping all breaches of security before they occur. ‘Need-to knows’ policy is an offshoot of the principle of prevention. 10.3 DETECTION: However one may try to ensure it, total security is almost impossible. The next principle, therefore, is that one must be able to detect breaches to security, whenever they occur, within the shortest possible time. This helps in damage assessment and, also, in devising further preventive measures. 10.4 DAMAGE MINIMIZATION: There must be enough resilience in the system to recoup the losses, damage and become functional, by reinstating the status, at the earliest. 10.5 PHYSICAL SECURITY: These measures are for PCs being used by us. The measures available are: Physically bolt down the PC to a table so that it can’t be casually lifted and taken away. Locate the PC in such a way that it is conveniently accessible to the user, but hidden from casual passes-by. Have likeable cupboards for floppies and keep them locked at all times, except when used. Keyboard and PC locking devices can be fitted so that the PC can’t be operated unless these locks are opened. Keep a record of all floppies in use; don’t permit alien floppies into the organization. Use lockable rooms for PCs, specially those handling sensitive data. Make it a practice to lock the room when leaving it for even a short time. Time above apply to server, gateways and the like. 10.6 ENVIRONMENTAL CONDITIONS: The PCs are fairly rugged and can tolerate wide ranges of temperatures, humidity, and voltages. To ensure trouble free and prolonged life, consider the following measures: Have temperature and humidity gauge placed in the close proximity of PC and keep a casual watch to ensure that condition are within limits. Switch off if the limits are exceeded. If the normal electrical supply is subject to large variations of voltage and frequency or spikes, it is prudent to have voltage and frequency stabilizers for the PC. Ensure that excessive dust or paper scrap does not accumulate near the PC. The plug sockets should fit snugly and cables leading to terminals and printers should be secured properly and not left hanging. We may consider putting a thin transparent plastic cover on the keyboard if it does not hamper to handling the keyboard. The most important is the use of a vacuum cleaner at regular intervals. 10.7 SOFTWARE SECURITY: There are some measures we can take to ensure that that is not corrupted or modified by unauthorized users and to reinitiate the database to its known status in case this happens and these are: Use original software for Operating System, Compilers or software packages. We have to pay for it, but we can then be sure that it would be bug-free, known also as “licensed” software. Use correct procedures for shutting down the PC so that all files etc. would be properly closed. If we develop our own applications, introduce passwords to access our application; these passwords should not be visible on the screen when keyed-in. Keep back-ups of all our files. Whenever we operate on any file, (especially in update/append/alter mode), if we have our own programs they should include a “copy” procedure; this ensures that a back up of our data files would always be automatically taken. 10.8 PROTECTION AGAINST VIRUS: A number of measures are available for reducing the risk of being attacked by computer viruses: -> Build employee awareness of the risk. -> Don’t allow the use of outside programs for company PCs or networks; -> Do not interface company networks to out side “Bulletin Boards” ->Make system/server files “Read only”. -> Try and obtain source code for important software in use and compile it in-house. ->Check executable code, using “debug” or separate utilities to study code structure and check spaces for viruses. 10.9 PASSWORD SECURITY: 10.9.1 IDENTIFICATION: The password only indicates an object with a unique identity is assigned to it. Thus it should not become authorization to access data without further checks, if some measure of security is desired. 10.9.2 AUTHENTICATION: This process verifies that a person or object is who he/she or it claims to be. This could be achieved by asking some standard questions and getting answers to them; if the answers match with those held on the systems, the person or object is authenticated. 10.9.3 AUTHORIZATION: This is the last step in the process; through this, we can ensure that only a given user, terminal or other resource, can access data to which permission has been guaranteed to read, write or alter; thus a matrix can be created to indicate which users have access to which files, records or fields. If the user request passes the matrix he is allowed to access, otherwise he is denied access to some part of the database. 10.10 OTHER ASPECTS: We have had a fairly close look at the measures for data protection available on stand alone as well as network PCs. Some of the measures that we studied can be implemented only on mini computer and mainframe system easily, while trying to introduce them on PCs may incur too much of resource overhead. We would now a quick look at the protection, detection and recovery mechanism available on large systems. This is in order to give us pointers for discerning when to go in for a larger system rather than a PC LAN and what facilities to look for. 10.11.1 DATABASE SQL SERVER: Larger systems provide various mechanisms to prevent access to data. User classes can be defined automatically prohibiting access to data by user class. User can be given only “query view” of the data so that he can have only “read” access to a limited amount of data. In some systems, certain terminal numbers can display or access only some parts of database, thus, even a user with higher access permissions can’t access some data on those terminals. 10.11.2 ACCESS TO OPERRATING SYSTEMS: In some systems the operating system is written in a lower level language and users are not given the use of that language. Thus, the user can’t alter any part of the operating system. Some operating system follows the concept of access control levels. In this any program Which has equal or higher access control level can’t access any routines, which are below that level. The operating system routines are placed at much lower level and paths are predefined for access to these, which incidentally, are via other system routines placed at a high level. CHAPTER 11 CONCLUSION 11.1 CONCLUDING REMARKS 11.2 SALIENT FEATURES OF THE PROPOSED SYSTEM 11.3 LIMITATIONS OF THE PROJECT 11.4 SCOPE FOR FUTURE WORKS 11.5 INFORMATION AND OPERATIOAL INSTRUCTIONS 11.1 CONCLUDING REMARKS: The process of developing the software for the “BookshopManagement System” was a unique experience for me. The process of development shows me trying to maneuver the ups and downs, which appeared at each process of the development of the software. Especially, as the system is handling sensitive data, each steps of the development was conducted cautiously and after proper scrutiny. The interaction in due course gave me the privilege of making the sample users appreciate the benefits of a computerized system and so also their active involvement throughout the development of the project indeed left me all much richer in an experience hitherto never enjoyed. 11.2 SALIENT FEATURES OF THE PROPOSED SYSTEM: There are some silent features of the proposed system:- 1. Reduce paper work. 2. Easy to operate. 3. Reduce man power. 4. Maintain quality. 5. Easy linking of the various files. 11.3 LIMITATIONS OF THE PROJECT: I have collected the information necessary for the system as much as possible and I have tried my level best to develop user-friendly software but due to my inexperience and lack of time there are also some limitations in the system. These are: - 1. Not any special error handling procedure has been used. 2. Although the system is password protected, there is no administrative and operating system level security. 11.4 SCOPE FOR FUTURE WORK: Software development is never ending process and continues throughout the life of the software. The software has been developed keeping in mind easy modification and enhancement that may be required from time to time. There are always chances to improve in everything. My project can also be improved with little modification. From the tools points view, I have used Visual Basic 6.0 for its user friendly interface. The software can be effectively used as a Bookshop Management System to generate the reports. But some scopes for further enhancement are still left in the system. The system provides scope for further enhancement depending upon requirements. Even though the system satisfies user requirements, still more and more additional work can be carried out. 11.5 INFORMATION AND OPERATIONAL INSTRUCTIONS: This software is a manual based Book Publication Management System. So, it is a very user-friendly system. The system itself is a self- explanatory one. The different command buttons are well defined for the help of the user. There are 17 forms designed for the system. Most of the forms are designed, as it is the forms they use manually. So, they have understood this system very easily. To run the system we have to follow the steps given below: 1. First double click the icon, which is placed at desktop. 2. Then enter the proper user name and password in the respective boxes and click ‘OK’ button. Click the ‘LOGUOT’ button to exit from the project. 3. The main form will appear in the screen. A menu bar will appear, click the required buttons to get the required forms. For the new entry, save, deleting, updating and closing the forms, almost the same command buttons are used. The commands are: To discontinue the system just click on the ‘CANCEL’ button of the form. OK:If this button is clicked, it gives space to enter new data. UPDATE: If this button is clicked, it updates the specific database. This is how anyone can enter the records, maintain the database and generate the Reports. The person need not be a computer expert to run this software. CHAPTER 14 BIBLIOGRAPHY 1. FUNDAMENTALS OF DATABASE SYSTEMS (The Benjamin Cummings Publishing Company, INC) BY RamezElmasri&ShamkantB.Navathe. 2. SYSTEMS ANALYSIS AND DESIGN (Galgotia publications (P) Ltd.) BY Elias. M. Award. 3. STRUCTURED SYSTEM ANALYSIS AND DESIGN (A-Level) BPB Publications BY Dr. M. Jain, V. Pillai, S. Singh, S. Jain. 4. JAVA PROJECT BY SOMA DAS GUPTA 5. JAVA 6.0 BY APTECH 6. A Complete reference to JAVA BY STOUDRUP