Govt. E. Raghavendra Rao P.G. Science College Bilaspur Chhattisgarh, India A PROJECT REPORT “BLOOD BANK MANAGEMENT” SUBMITTED FOR PARTIAL FULFILLMENT OF THE REQUIREMENT FOR TH AWARD OF POST GRADUATE DIPLOMA IN COMPUTER APPLICATION SESSION -2023-24 SUBMITTED TO:- SUBMITTED BY :- PROF. VIVEK TIWARI SUSHMA YADAV (HEAD OF DEPARTMENT ENROLL NO…… DEPT. OF COMPUTER APPLICATION
C O N TE N T S S.NO. CHAPTER NAME PAGE NO. 1. INTRODUCTION ABOUT BLOOD BANK MANAGEMENT SYSTEM 1-5 2. FEASIBILITY STUDY AND REQUIRMENT ANALYSIS 6-10 3. SYSTEM DESIGN 11-17 4. TESTING AND IMPLEMENTATION 18-23 5. SNASHOTS OF THE PROJECT 24-30
1 Chapter 1 Introduction 1.1 About The BLOOD BANK MANAGEMENT SYSTEM is great project. This project is designed for successful completion of project on blood bank management system. The basic building aim is to provide blood donation service to the city recently. Blood Bank Management System (BBMS) is a browser based system that is designed to store, process, retrieve and analyze information concerned with the administrative and inventory management within a blood bank.This project aims at maintaining all the information pertaining to blood donors, different blood groups available in each blood bank and help them manage in a better way.Aim is to provide transparency in this field, make the process of obtaining blood from a blood bank hassle free and corruption free and make the system of blood bank management effective. 1.2 Needs of Blood Bank Management System Bank blood donation system in php is planned to collect blood from many donators in short from various sources and distribute that blood to needy people who require blood. To do all this we require high quality software to manage those jobs. The government spending lot of money to develop high quality “Blood Bank Management System Project”. For do all those kinds of need blood bank management system project in php contain modules which are include the detail of following areas: Blood Donor B l oo d R ec i p i e n t Blood collection Camp Stock details
2 blood bank system project Reports Blood issued • 1.3 OBJECTIVE The main objective of this application is to automate the complete operations of the blood bank. They need maintain hundreds of thousands of records. Also searching should be very faster so they can find required details instantly. To develop a web-based portal to facilitate the co-ordination between supply and demand of blood. This system makes conveniently available good quality, safe blood and other blood components, which can be provided in a sound, ethical and acceptable manner, consistent with the long-term well being of the community. It actively encourage voluntary blood donation, motivate and maintain a well-indexed record of blood donors and educate the community on the benefits of blood donation. This will also serve as the site for interaction of best practices in reducing unnecessary utilization of blood and help the state work more efficiently towards self- sufficiency in blood. The system will provide the user the option to look at the details of the existing Donor List, Blood Group and to add a new Donor. It also allows the user to modify the record. The administrator can alter all the system data. 1.4 Applications This application is built such a way that it should suits for all type of blood banks in future. So every effort is taken to implement this project in this blood bank, on successful implementation in this blood bank, we can target other blood banks in the city.
3 Software & Tools Used PHP PHP is now officially known as “ PHP: Hypertext Preprocessor ”. It is a server-side scripting language usually written in an HTML context. Unlike an ordinary HTML page, a PHP script is not sent directly to a client by the server; instead, it is parsed by the PHP binary or module, which is server-side installed. HTML elements in the script are left alone, but PHP code is interpreted and executed. PHP code in a script can query databases, create images, read and write files, talk to remote servers – the possibilities is endless. The output from PHP code is combined with the HTML in the script and the result sent to the user’s web-browser, therefore it can never tell the user whether the web-server uses PHP or not, because the entire browser sees is HTML. PHP’s support for Apache and MySQL further increases its popularity. Apache is now the most-used web-server in the world, and PHP can be compiled as an Apache module. MySQL is a powerful free SQL database, and PHP provides a comprehensive set of functions for working with it. The combination of Apache, MySQL and PHP is all but unbeatable. 1.5.2 HTML HTML or Hyper Text Markup Language is the standard markup language used to create web pages. The purpose of a web browser is to read HTML documents and compose them into visible or audible web pages. The browser does not display the HTML tags, but uses the tags to interpret the content of the page. HTML describes the structure of a website semantically along with cues for presentation, making it a markup language rather than a programming language. HTML elements form the building blocks of all websites. HTML allows images and objects to be embedded and can be used to create interactive forms. It provides a means to create structured documents by denoting structural semantics for text such as headings, paragraphs, lists, links, quotes and other items. It can embed scripts written in languages such as Java Script which affect the behavior of HTML web pages.
4 1.5.3 CSS Cascading Style Sheets ( CSS ) is a style sheet language used for describing the look and formatting of a document written in a markup language. While most often used to style web pages and user interfaces written in HTML and XHTML, the language can be applied to any kind of XML document, including plain XML, SVG and XUL. CSS is a cornerstone specification of the web and almost all web pages use CSS style sheets to describe their presentation. 1.5.4 JavaScript JavaScript ( JS ) is a dynamic computer programming language. It is most commonly used as part of web browsers, whose implementations allow client-side scripts to interact with the user, control the browser, communicate asynchronously, and alter the document content that is displayed. It is also being used in server-side network programming (with Node.js), game development and the creation of desktop and mobile applications. JavaScript is a prototype-based scripting language with dynamic typing and has first-class functions. Its syntax was influenced by C. JavaScript copies many names and naming conventions from Java, but the two languages are otherwise unrelated and have very different semantics. The key design principles within JavaScript are taken from the Self and Scheme programming languages. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles. 1.5.5 MySQL The database has become an integral part of almost every human's life. Without it, many things we do would become very tedious, perhaps impossible tasks. Banks, universities, and libraries are three examples of organizations that depend heavily on some sort of database system. On the Internet, search engines, online shopping, and even the website naming convention would be impossible without the use of a database. A database that is implemented and interfaced on a computer is often termed a database server.One of the fastest SQL (Structured Query Language)
5 database servers currently on the market is the MySQL server, developed by T.c.X. DataKonsultAB. MySQL, available for download at www.mysql.com , offers the database programmer with an array of options and capabilities rarely seen in other database servers. MySQL is free of charge for those wishing to use it for private and commercial use. Those wishing to develop applications specifically using MySQL should consult MySQL's licensing section, as there is charge for licensing the product. Table 1.5.5 Front-end &back-end Front-End Back-End PHP, HTML, CSS, JavaScript MySQL
6 Chapter 2 Feasibility study and requirement analysis Requirements Specification Hardware Requirement Processor : 1.2 GHz or above R A M : 512 MB or above Hard-disk : 40 GB or more Keyboard : Normal or Multimedia M o u s e : Compatible mouse 2.1.2Software Requirement Operation System : Windows xp or above, Linux. Front End : PHP, CSS, JavaScript, HTML. Back End : MySQL 2.2 Feasibility Study Depending on the results of the initial investigation the survey is now expanded to a more detailed feasibility study. “FEASIBILITY STUDY” is a test of system proposal according to its
7 workability, impact of the organization, ability to meet needs and effective use of the resources. It focuses on these major questions: What are the user’s demonstrable needs and how does a candidate system meet them? What resources are available for given candidate system? What are the likely impacts of the candidate system on the organization? Whether it is worth to solve the problem? During feasibility analysis for this project, following primary areas of interest are to be considered. Investigation and generating ideas about a new system does this. Steps in feasibility analysis Eight steps involved in the feasibility analysis are: Form a project team and appoint a project leader. Prepare system flowcharts. Enumerate potential proposed system. Define and identify characteristics of proposed system. Determine and evaluate performance and cost effective of each proposed system. Weight system performance and cost data. Select the best-proposed system. Prepare and report final project directive to management. 2.2.1 Technical feasibility A study of resource availability that may affect the ability to achieve an acceptable system. This evaluation determines whether the technology needed for the proposed system is available or not.
8 Can the work for the project be done with current equipment existing software technology & available personal? Can the system be upgraded if developed? If new technology is needed then what can be developed? This is concerned with specifying equipment and software that will successfully satisfy the user requirement. The technical needs of the system may include: Front-end and back-end selection An important issue for the development of a project is the selection of suitable front-end and back-end. When we decided to develop the project we went through an extensive study to determine the most suitable platform that suits the needs of the organization as well as helps in development of the project. The aspects of our study included the following factors. Front-end selection: It must have a graphical user interface that assists employees that are not from IT background. Scalability and extensibility. Flexibility. Robustness. According to the organization requirement and the culture. Must provide excellent reporting features with good printing support. Platform independent. Easy to debug and maintain. Event driven programming facility.
9 10. Front end must support some popular back end like Ms Access, Musql. According to the above stated features we selected php as the front-end for developing our project. Back-end Selection: Multiple user support. Efficient data handling. Provide inherent features for security. Efficient data retrieval and maintenance. Stored procedures. Popularity. Operating System compatible. Easy to install. Various drivers must be available. Easy to implant with the Front-end. According to above stated features we selected Mysql as the backend. The technical feasibility is frequently the most difficult area encountered at this stage. It is essential that the process of analysis and definition be conducted in parallel with an assessment to technical feasibility. It centres on the existing computer system (hardware, software etc.) and to what extent it can support the proposed system. 2.2.2 Economical feasibility Economic justification is generally the “Bottom Line” consideration for most systems. Economic justification includes a broad range of concerns that includes cost benefit analysis. In this we weight the cost and the benefits associated with the candidate system and if it suits the basic purpose of the organization i.e. profit making, the project is making to the analysis and design phase.
10 The financial and the economic questions during the preliminary investigation are verified to estimate the following: The cost to conduct a full system investigation. The cost of hardware and software for the class of application being considered. The benefits in the form of reduced cost. The proposed system will give the minute information, as a result the performance is improved which in turn may be expected to provide increased profits. This feasibility checks whether the system can be developed with the available funds. The Hospital Management System does not require enormous amount of money to be developed. This can be done economically if planned judicially, so it is economically feasible. The cost of project depends upon the number of man hours required. 2.2.3 Operational Feasibility It is mainly related to human organizations and political aspects. The points to be considered are: What changes will be brought with the system? What organization structures are disturbed? What new skills will be required? Do the existing staff members have these skills? If not, can they be trained in due course of time? The system is operationally feasible as it very easy for the End users to operate it. It only needs basic information about Windows platform. 2.2.4 Schedule feasibility Time evaluation is the most important consideration in the development of project. The time schedule required for the developed of this project is very important since more development
11 Chapter 3 System Design 3.1 System Design System design is the process of defining the architecture, components, interfaces and data for system to satisfy specified requirement. System development life cycle phases can be seen as: Figure 3.1 System Development Life Cycle Software design sits at the technical kernel of the software engineering process and is applied regardless of the development paradigm and area of application. Design is the first step in the development phase for any engineered product or system. The designer’s goal is to produce a model or representation of an entity that will later be design we risk building an unstable system – one that will be difficult to test, one whose quality cannot be assessed until the last stage. pl a nning analysis design i m ple m e m t a t ion testing maintainance
12 Planning Phase A problem is well defined very rarely. It corps out with a vague feeling of some statements that lead to vague conclusions. So the first task is to get more crucial information by interviewing and meeting concerned people. It clarifies how the problem is felt, how often it occurs, how it affects the business and which departments are suffering with this. This phase consists of the following tasks. Analysis Phase It was difficult to solve the problems those were arising during a particular installation of the software because of hardware compatibility issues. Development Phase Effective completion of the previous stages is a key factor in the success of the Development phase. The Development phase consists of: Translating the detailed requirements and design into system components. Testing individual elements (units) for usability. Preparing for integration and testing of the IT system. Implementation Phase This phase is initiated after the system has been tested and accepted by the user. In this phase, the system is installed to support the intended business functions. System performance is compared to performance objectives established during the planning phase. Implementation includes user notification, user training, installation of hardware, installation of software onto production computers, and integration of the system into daily work processes. Maintenance Phase The system operation is ongoing. The system is monitored for continued performance in accordance with user requirements and needed system modifications are incorporated. Operations continue as long as the system can be effectively adapted to respond to the organization’s needs.
13 3.2 E-R Diagrams The entity Relationship Diagram (ERD) depicts the relationship built. Beginning, once system requirement have been specified and analyzed, system design is the first of the three technical activities -design, code and test that is required to build and verify software. The importance can be stated with a single word “Quality”. Design is the place where quality is fostered in software development. Design provides us with representations of software that can assess for quality. Design is the only way that we can accurately translate a customer’s view into a finished software product or system. Software design serves as a foundation for all the software engineering steps that follow. Without a strong between the data objects. The ERD is the notation that is used to conduct the date modeling activity the attributes of each data object noted is the ERD can be described resign a data object descriptions. The set of primary components that are identified by the ERD are Data object Relationships Attributes Various types of indicators. The primary purpose of the ERD is to represent data objects and their relationships.
Figure 3.2 E-R models 14
3.3 Data Flow Diagram(DFD) A data flow diagram is graphical tool used to describe and analyze movement of data through a system. These are the central tool and the basis from which the other components are developed. The transformation of data from input to output, through processed, may be described logically and independently of physical components associated with the system. These are known as the logical data flow diagrams. The physical data flow diagrams show the actual implements and movement of data between people, departments and workstations. The idea behind the explosion of a process into more process is that understanding at one level of detail is exploded into greater detail at the next level. This is done until further explosion is necessary and an adequate amount of detail is described for analyst to understand the process. 3.3.1 DFD FOR ADMIN LOGIN A fter entering to the home page of the website , admin can choose the ADMIN LOGIN option where they are asked to enter username & password , and if he/she is a valid user then admin login page will be displayed. Figure 3.3.1 DFD for Admin 15
3.3.2 DFD FOR USER LOGIN After entering to the home page of the website , student can choose the USER LOGIN option where they are asked to enter username & password , and if he/she is a valid user then a user login page will be displayed. Figure 3.3.2 DFD for User 16 3.3.3 DFD FOR ACCOUNT CREATION After the home page login there will be an option of CREATE AN ACCOUNT where after entering user detail ,if all the fields are filled then a request will be sent to the librarian who will approve him as a registered member of the website.
Figure 3.3.3 DFD for Account Creation 3.3.4 DFD for Admin or User Figure 3.3.4 DFD for Admin or User 17
Testing is the process of executing then programs with the intention of finding out errors. During the process, the project is executed with set of test and the output of the website is evaluated to determine if the project is performing as expected. Testing makes a logical assumption that if all the parts of the module are correct then goal will be successfully achieved. Testing includes after the completion of the coding phase. The project was tested from the very beginning and also at each step by entering different type of data. In the testing phase some mistakes were found, which did not come to knowledge at the time of coding the project. Then changes were made in the project coding so that it may take all the relevant data and gives the required result. All the forms were tested one by one and made all the required changes. Testing is vital to the success of the system. Testing makes a logical assumption that if all the parts of the system are correct, the goal will be successfully achieved. A small system error can conceivably explode into a much larger problem. Effective testing early in the process translates directly into long-term cost savings from a reduced number of errors. For the verification and validation of data various-nesting task are performed. Testing is itself capable of finding the syntactical mistakes in the system but user need to test the system for logical checking. 18 Chapter 4 Testing and Implementation 4.1 LEVELS OF TESTING The aim of the testing process is to identify all the defects in the website. It is not practical to test the website with respect to each value that the input request data may assume. Testing provides a practical way of reducing defects in the website and increasing the user’s confidence in a developed system. Testing consists of subjecting the website to a set of test inputs and observing if the program behaves as expected. If the program fails to Testing behave as expected then conditions under which failure occurs are noted for later debugging and correction. The following things are associated with testing:
19 Failure is a manifestation of an error. But the mere presence of an error may not necessarily lead to a failure. A test case is the triplet [I, S, O] where I am data input to the system. S is the state of the state of the system at which the data is input, O is the expected output of the system A test suite is the set of all test cases with which a given software product is to be tested. 4.2 FUCTIONAL TESTING Here the system is a black box whose behavior is determined by studying its inputs and related outputs. The key problem is to select the inputs that have a huge probability of being members of a set in may case; the selection of these test cases is based on the previous studies. 4.3 STRUCTURAL TESTING A great deal can be learnt about the strength and the limitation of the application by examinee the manner in which the system breaks. This type of testing has two limitations. It tests failure behavior of the system circumstances may arise through an unexpected combination of events where the node placed on the system exceeds the maximum anticipated load. The structure of the each module was checked at every step. Some structures were firstly wrong, which came to notice at the time of the connectivity. 4.4 UNIT TESTING In unit testing the entire individual functions and modules were tested independently. By following this strategy all the error in coding were identified and corrected. This method was applied in combination with the white and black box testing techniques to find the errors in each module. Unit testing is normally considered an adjunct to the coding step. Unit test case design was started after source level code had been developed, reviewed, and verified for correct syntax. A review of design information provides guidance for establishing test cases that were likely to
20 uncover errors in each of the categories discussed above. Each test case was coupled with a set of expected results. 4.4.1 Testing admin login form This form is used for log in of administrator of the system.In this we enter the username and password if both are correct administration page will open other wise if any of data is wrong it will get redirected back to the login page and again ask for username and password Test For Admin Module User Account Addition- admin can verify User details from student academinc info and then only add student details to main library database it contains add and delete buttons if user click add button data will be added to student database and if he clicks delete button the student data will be deleted Book Addition - In this section the Admin can enter details of book and can add the details to the main book table also he can view the books requests . 4.4.2 Test for User login module Test for User login Form: - This form is used for log in of user .In this we enter the, username and password if all these are correct User login page will open other wise if any of data is wrong it will get redirected back to the login page and again ask for username and password. Test for account creation:-
21 This form is used for new account creation when user does not fill the form completely it asks again to fill the whole form when he fill the form fully it gets redirected to page which show waiting for conformation message as his data will be only added by administrator after verification. INTEGRITY TESTING Integrity phases the entire module using the bottom-up approach and tested them. Integrity testing is a systematic technique for constructing the program structure while at the same time conducting tests to uncover errors associated with interfacing. The objective was to take unit tested modules and build a program structure that has been dictated by design. The testing strategy has two different approaches namely the top-down approach in which the integration is carried out from the top-level module to the bottom and the bottom-up approach in which the integration is carried out from the low-level module to the top. The modules were tested using the bottom-up approach by introducing stubs for the top- level functions. This test was used to identify the errors in the interfaces, the errors in passing the parameters between the functions and to correct them. There are two types of testing available: Black Box Testing:- In black box testing the structure of the program is not considered. Test cases are decided solely on the basis of the requirements or specifications of the program or module, and the consideration for selection of test classes. In this section, we will present some techniques for generating test cases for black-box testing. In black-box testing, the testing only knows the inputs that can be given to the system and what output the system can give. In other words the basis for deciding test case in functional testing is the requirement or specification of the system module. This form of testing is obvious functional or behavioral testing.
22 The most obvious functional testing procedure is exhaustive testing, which as we have stated, is empirical. One criterion for generating test causes is to strategy has little chance of resulting in a set of test causes that is close to optimal(i.e. that detects the maximum errors with minimum test cases). Hence we need some other criterion or rule for selecting test cases. There are no formal rules for designing test cases for functional testing. In fact there are no precise criteria for selecting test cases however, there have been found to be very successful in detecting errors. Here we mention some of these techniques. 4.5.1.2 White Box Testing In the previous section we discussed testing, which is concerned with the functi Testing strategies: Testing is an individual process, and the number of different type of tests varies as much as the different development approaches It uncovers error that was made inadvertently as it was designed and constructed. on that the tested program is proposed to program and does not deal with the internal structure of the program responsible for actually implementing that function. Those black-box testing is concerned with functionality rather than implementation of the program. On the other hand, white-box testing is concerned with testing implementation of the program. The intent of this testing is not to exercise all the different input or output conditions(although that may be buy products) but to exercise the different programming structures and data structures used in the program. White-box testing is also called structure testing and we will use the two terms interchangeably to test the structures of a program, structural testing aims to achieve test cases that force the desired coverage of different structures various criteria have been proposed for this. Unlike the criteria for functional testing which are frequently imprecise, the criteria for structural testing are generally quite precise as they are based on program structures, which are formal and precise. A strategy for s/w testing is developed by project manager, s/w engineers and testing specialist Testing begins in the small and progress to the large by this remain that merely testing focuses on a single component or a small group on relaed components and applies test to uncover error in the data and processing logic
23 System Testing System testing is designed to validate a fully developed system to ensure that it meets its req. The test cases are therefore designed slowly based on the SRS documents Alpha testing: Alpha testing refers to the system testing carried out by the test team within the developing org. Beta testing: It is preformed by a select group of customer or testers which are not relates to that developing org. Acceptance testing; It is a system testing perform by the customer to determine whether he should accept the delivery of the system. . Table 4.0 Types of testing Types of testing Unit Test System Test Integration Test
24 Chapter 5 Snapshots of the project 5.1 Home page:- This is the home page or the main pageof a blood bank management system. This is the main page of a client side. This page define all about related to project.This page also includes the gallery of the camps.. Figure 5.1 Home page
5.2 Registration Registration page includes the information of the donor who want to register. Donor can register the account by clicking on new register. He/she can add the account for the further enquiry of the blood donation. Figure 5.2:Registration page of Life Saver 25 5.3 Requestsfor Blood Request for blood page includes the information of the donor who wants to register. Donor can register the account by clicking on new register. He/she can send requests for the further enquiry of the blood donation.
Figure 5.3 Request for Blood page 26 5.4 Camps Camp page includes the information about camps, this camps organised the blood donation camp. Donor can register the account by clicking on new register. Request for blood page includes the information of the donor who want to register. Donor can register the account by clicking on new register. He/she can send requests for the further enquiry of the blood donation.
Figure 5.4 Camps of Blood group 27 5.5 Donor Login It is login menu, I have set a default E-mail and password for it. This mail id and password are store in a binary file inside this project. For Password security I have replace the password's alpha numeric character to special symbol, Dollar ($) symbol. If you will enter the correct mail id and password, It will allow you to move to next menu otherwise it will show you error message and ask you to invalid mail id and password. Request for blood page includes the information of the donor who want to register. Donor can register the account by clicking on new register. He/she can send requests for the further enquiry of the blood donation.
Figure 5.5 DONOR Log In 28 5.6 Admin login page The page require user name and password to start the application. Login is a process by which individual access to a computer system is controlled by identifying and authenticating the user through the cardinalities presented by the user. Admin can add update or delete the user, city, state, camp etc.
Figure 5.6 Admin Log In 5.7 Admin level user Admin level user are a admin user, if he/she login a admin panel they work on a all the pages of the admin site like add user, update user, delete user, add city, update city, delete city etc. Figure 5.7 Admin Panel 29
15.8 Change Password Above snap short describe how the donor change our password .This is only used by a donor. Figure 5.8 Change Password 30 5.9 Contact In contact page any one who wants to need a blood or gaining a information about this system then he/she can contact with us. Person will get the blood immediately he/she requested for the particular blood group he/she Has requested.