0% found this document useful (0 votes)
82 views65 pages

Main

This document introduces a blood bank management system project that allows users to search for available blood groups in their city and contact blood donors. The objectives are to manage details of blood, donors, blood groups, and blood bank stock to reduce manual work. The scope is to maintain records for hospitals, organ donation, and similar sectors. The purpose is to provide an online system for blood donation services that stores, processes, retrieves, and analyzes blood bank administrative and inventory information.

Uploaded by

ayesha sittar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views65 pages

Main

This document introduces a blood bank management system project that allows users to search for available blood groups in their city and contact blood donors. The objectives are to manage details of blood, donors, blood groups, and blood bank stock to reduce manual work. The scope is to maintain records for hospitals, organ donation, and similar sectors. The purpose is to provide an online system for blood donation services that stores, processes, retrieves, and analyzes blood bank administrative and inventory information.

Uploaded by

ayesha sittar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 65

INTRODUCTION

1.1 Introduction

This project is a web and android based project that titled as “BLOODBANK MANAGEMENT
SYSTEM”. The main aim of this system to provide blood to the people who are in need of blood.
The number of person who are in need of blood are increasing in large number day by day. Using
this system the user can search blood group available in the city and he can also get the contact
number of the donor who has the same blood group. Blood Bank management system can be used
effectively for getting the details of available blood groups.

The person who need blood have to request for blood and email is sent to the donors of same blood
group automatically with the name ,contact number and blood group , So that all the donors in the
list get informed about it and ready to donate blood.

1.2 Objectives

The objective of Blood Bank Management System to manage the details of Blood, Donor, Blood
groups, Blood Bank stock. It manages all the information about blood, Blood stock etc. the purpose
of the project to build an application program to reduce the manual work for managing the blood,
donor, blood groups, recipient , blood banks, emergencies.

1.3 Scope

The system is used for maintaining all the process and activities of blood bank management system.
The system can be extended to be used for maintaining records of hospital, organ donation and other
similar sectors. While developing the system, there shall be space for further modification. There
shall be a proper documentation so that further enhancement becomes easy.

As a whole the system is focused to work with blood bank management system and on additional
modification it can be also used as management systems of similar organizations.

1
1.4 purpose
The basic building aim is to provide blood donation service to the city recently. Blood Bank
Management System (BBMS) is an App and Web-based project 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.

The software system is a blood bank management system that helps in managing various blood bank
operations effectively. The project consists of a central repository containing various blood deposits
available along with associated details. These details help in maintaining and monitoring the blood
deposits. The project is an online system that allows to check weather required blood deposits of a
particular group are available in the blood bank. Moreover the system also has added features such
as patient name and contacts, and even need for certain blood group is posted on the website to find
available donors for a blood emergency. It

 Helps Blood Banks to automate blood donor and depository online.


 Encourages blood donors to donate.
 Helps people find blood donors in times of need.

2
System Analysis

2.1 System Analysis

It is a process of collecting and interpreting facts, identifying the problems, and decomposition of a
system into its components.
System analysis is conducted for the purpose of studying a system or its parts in order to identify
its objectives. It is a problem solving technique that improves the system and ensures that all the
components of the system work efficiently to accomplish their purpose.
Systems Analysis and Design is an active field in which analysts repetitively learn new
approaches and different techniques for building the system more effectively and efficiently. The
primary objective of systems analysis and design is to improve organizational systems.

2.1.1 Problems in Existing System


In the existing system some of them have the same features as well but they have no such kind of
facility like admin tools to kept the whole system save and accurate without any query. Admin is
the supreme power that handles whole system. Not only have the admin user record is also saved
in the system. This means that this features shows that the each and everything record saved in
the database.

As most previous system have only user records but in this system user whole record is as
manage in this system which is one of the best feature that we have provided in this system. Not
only admin user also can check whole details regard their hotel booking as well available in the
online system for them which are updated by the admin on the daily basis as well.
Following are the problems in the previous system:
 Time Increased time taken by personnel
 The time of searching the records on the registers and dairy is quite too much as compared to
the online system.
 Information also have a chance to appear more than one time at different registers and note
books as well.

3
Cost Consideration:

 A large number of people are involved to maintain the whole system that is very expensive
 The cost also increases for maintenance
 A large number of manpower is involved to maintain the whole system, which is very
expensive
 Unreliable and inefficient data entry.
 The records of such large system is quite difficult to manage on the note books and register
Need For new System:

 Retrieval of required information is become difficult and time consuming.


 Security of data is very critical issue which has to consider in the current system there is no
data security
 Same data is maintained in various file which is leading to redundancy of data
 Report generation is very tedious job. The in-charge of preparing report has to refer more
than one file.

2.1.2 Characteristics of Proposed System


 This system which will allow the user quickly and easily to use this system for working.
 User should be able to view overall updates about the organization.
 The User can login and used their account online.
 Administrator can only be able to make change on the site and have all the type of authority.
 The admin should maintain system, admin is the only supreme power that approved or declines
the request.
 The system being an online system will give accurate information regarding the staff, user and
latest update of the organization as well.
 The system is flexible and user friendly.
 System is very useful for user because they are able to send and receive the payment or they can
also deposit or withdraw payment as well through this system.
 Time effective and cost effective:
 Database creation:

4
 Mobility.
 Informative.
 Security

2.2 Specific Requirements

2.2.1 Hardware Specifications:

 Processor Core 2 Quad (or above)

 RAM 4 GB (or above)

 Hard disk 80 GB(or above)

2.2.2 Software Specifications:

 Operating System Window XP, Window 7 or above

 Web Server IIS Server

 Web Browser Internet Explorer or Google Chrome

 Development Tool HTML,CSS,PHP, JavaScript, AJAX,java

Feasibility Report

5
3.1 Feasibility report

This web and android based application “Blood Bank Management System” is financially feasible
as it requires a proper running internet and an average PC or any device that supports an HTML5
version of browsing.
Requires average processing power and the best part is that it is cache friendly as it is light weight.
Adobe Dreamweaver and Bootstrap Studio is used for its development which are light weight and
PC friendly so no extra expense is required except hosting and publishing costs that are affordable.
 A flexible Gradle-based build system
 A fast and feature-rich emulator
 Extensive testing tools and frameworks

3.1.1 Technical Feasibility

Project is technically feasible. We are using JavaScript, Ajax, JQuery in our project.java technology
is used for our web based module. All tool are stable, compatible and are easy to use.

Our team is consisting of two member and we are expert to use this technologies to develop project
application. But we will face some issues regarding less knowledge of project tracking.

3.1.2 Operational Feasibility

Our problem is team working and management problem. It occur in Almost in all software houses
and organizations .By implementing this system we can get rid of problems we are facing.

Now people will feel easy to solve their problems.

3.1.3 Economic Feasibility

Justification for the benefit/cost analysis relative to the project is to be measure in economics
feasibility.
In economic feasibility there are two type of cost estimation.

6
 Cost

 Benefit

System Development

4.1 Introduction to System Development

The systems development also referred to as the application development is a term used in system
engineering, information systems and software engineering to describe a process for planning,
creating, testing, and deploying an information system. The systems development lifecycle
concept applies to a range of hardware and software configurations, as a system can be composed
of hardware only, software only, or a combination of both.
The system development life cycle framework provides a sequence of activities for system
designers and developers to follow. It consists of a set of steps or phases in which each phase of
the SDLC uses the results of the previous one.
The SDLC adheres to important phases that are essential for developers, such as planning,
analysis, design, and implementation, and are explained in the section below. It includes
evaluation of present system, information gathering, and feasibility study and request approval. A
number of SDLC models have been created: waterfall, fountain, spiral, build and fix, rapid
prototyping, incremental, synchronize and stabilize.

7
1.Planing

6.Mainten 2.Analysis
ance

SDLC
5.Testing &
Integration 3.Design

4.Implement
ation

Figure 4.1: System Development Life Cycle

4.1.1 SDLC MODELS


Following are the most important and popular SDLC models followed in the industry:
 Waterfall Model
 Iterative Model
 Spiral Model
 V-Model
 Big Bang Model
The other related methodologies are Agile Model, RAD Model, Rapid Application Development
and Prototyping Models.

4.2 TOOLS/LANGUAGE SELECTION

Selecting the software development tool is another issue. A good developer selects that tool in
which has good command. Moreover, that tool should be selected which fulfills all the
requirement of software development. The development tools that are selected for the proposed
system are as follows.

4.2.1 Tools

8
 Window 8/10

 Dreamweaver

 Platform Web.

 MySQL database

 Microsoft Office

 Mozilla Fire fox/Chrome

4.2.2 Languages

 HTML

 CSS

 JAVA SCRIPT

 BOOTSTRAP

 AJAX

 JQUERY

4.3 Software Development & Implementation

In this phase it is discussed, how to implement the system? Also performance of the system is
accessed and evaluated. Suggestions are given to remove the drawbacks and improve the
performance of the system.
The process of ensuring that the system is operational and then allowing users to take over its
operations for the use and evaluation is called implementation. So, the implementation of the
project involves the following activities:
 Planning and Scheduling of the implementation.
 Organizational Planning and Personal Administration.
 Final System Design and Testing
 Establishment of Standards of Performance and Control Procedure.
 Conversion form Old to new System.

9
4.3 CLIENT SIDE TECHNOLOGY

4.3.1 HTML

Front end is that part of software, which is visible to user or all the user interaction, takes place at
front end. Since the project was web based therefore the front end should be designed in the
language that a browser can understand therefore this end was designed using HTML and CSS.
HTML, which stands for Hyper Text Markup Language, is the predominant markup language for
web pages. It provides a means to create structured documents by denoting structural semantics
for text such as headings, paragraphs, lists etc. as well as for links, quotes, and other items. It is
written in the form of HTML elements consisting of "tags" surrounded by angle brackets within
the web page content.

4.3.2 CSS

Cascading Style Sheets (CSS) is used to describe the presentation semantics (that is, the look and
formatting) of a document written in a markup language. CSS is designed primarily to enable the
separation of document content (written in HTML or a similar markup language) from document
presentation, including elements such as the layout, colors, and fonts.

4.3.3 Java Script

JavaScript is a special language used in many web sites. A scripting language is a language,
which is easy and fast to learn. A scripting language is interpreted in run-time. It is not compiled
like other languages as C++, C#, VB. NET etc. JavaScript is client side language and it runs on
the client browser. Netscape developed it and because of its simplicity. It is one of the most
known scripting languages. It can also be used on server side. Java Script can be used on all most
known browsers. It can be easily used to interact with HTML elements. We can validate text
fields, disable buttons, validate forms, or change the background color of page. like each
programming language it contain variables, arrays, functions, operators, objects and much more
which can be help us to create better scripts for our pages. On the server side we can use Java

10
Script for example to manage our database entry. JavaScript code can be inserted directly in the
HTML or we can place it in a separate file with the JavaScript extension and link the web page
with the JavaScript file.

4.3.4 JQuery

jquery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document
traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to
use API that works across a multitude of browsers.

jquery is a lightweight, "write less, do more", JavaScript library. The purpose of jQuery is to make it
much easier to use JavaScript on your website.

jquery takes a lot of common tasks that require many lines of JavaScript code to accomplish, and
wraps them into methods that you can call with a single line of code.

4.3.5 Bootstrap
A bootstrap is the process of starting up a computer. It also refers to the program that initializes
the operating system (OS) during start-up. The term bootstrap or bootstrapping originated in the
early 1950s. It referred to a bootstrap load button that was used to initiate a hardwired bootstrap
program, or smaller program that executed a larger program such as the OS. The term was said to
be derived from the expression “pulling yourself up by your own bootstraps;” starting small and
loading programs one at a time while each program is “laced” or connected to the next program
to be executed in sequence. Bootstrap is the process of loading a set of instructions when a
computer is first turned on or booted. During the start-up process, diagnostic tests are performed,
such as the power-on self-test (POST), that set or check configurations for devices and implement
routine testing for the connection of peripherals, hardware and external memory devices
Bootstrap can also refer to as preparing early programming environments incrementally to create
more complex and user-friendly programming environments. For example, at one time the
programming environment might have consisted of an assembler program and a simple text
editor.

11
4.3.6 Adobe Dreamweaver CS5.5

Dreamweaver is the industry standard software for professional website design. Introduction to
Adobe Dreamweaver CS5.5 with ACA Certification, written by expert instructors, provides a
complete introduction to Adobe Dreamweaver and provides all the classroom tools needed to
teach a complete certification program. It provides unrivalled facilities for the creation of
sophisticated pages, while offering a user-friendly interface and excellent productivity tools. The
purpose of the program is to make it easy to create a website without having to know how to code
with HTML.
Using this student’s master the foundational skills needed when working with style sheets,
dynamic HTML, multimedia, databases, project management and much more. This text includes
essential skills required for designing, developing, and maintaining websites as well as project
management. Students gain valuable skills that further their careers in website development by
learning to design and maintain fully functioning sites using the newest version of Dreamweaver.
This curriculum, created by a team of Adobe experts who have developed training programs for
Adobe Systems, offers your students the opportunity to confidently prove their skills mastery and
gain this job-focused certification to give them the needed edge on their career path.

4.4 Server Side Technology

The back end is that portion of the project where the database is maintained. For the creation and
maintenance of a database we need a DBMS. The DBMS selected for this project was MYSQL.
For communicating between HTML and database, Personal Home Page (PHP) is selected. PHP is
easy and light weighted web development language.

WampServer

A stack of programs that are designed to run HTTP server which understands PHP.

Wamp Server name is acronym for:

• W– The Operating System

12
• Apache – HTTP Server

• MySQL – A database server and client

• PHP – A plugin for Apache so it can run (interpretate) PHP Scripts

• P-PERL

The acronym WAMPP refers to a set of free open source applications, combined with Microsoft
Windows, which are commonly used in web server environments. The WAMPP stack provides
developers with the four key elements of a Web server: an operating system, database Web
server and Web scripting software. The combined usage of these programs is called a server
stack. In this stack, Microsoft windows is the operating system (OS), Apache is the Web server,
and My SQL handles the database components, while PHP, Python, or Perl represents the
dynamic scripting languages.

4.4.1 Server Side Technology


Take full advantage of a given computer system or network it allows the computing to split between
the database server and the client application programs. The computer running the database
management system handles all of the database server responsibilities while the work station
running the database application concentrates on the interpretation and display of data.

4.4.2 PHP

A scripting language that is widely used to create dynamic Web pages. Combining syntax from
the C, Java and Perl languages, PHP code is embedded within HTML pages for server side
execution. It is commonly used to extract data out of a database on the WampServer and present
it on the Web page. Originally known as "Personal Home Page" PHP is supported by all Web
servers and widely used with the MySQL database. For communicating between HTML and
database, Personal Home Page (PHP) is selected. PHP is easy and light weighted web
development language.

4.4.3 My SQL

13
My SQL is very fast, reliable, and easy to use. If that is what you are looking for, you should give
it a try. My SQL also has a very practical set of features developed in very close cooperation with
our users. You can find a performance comparison of My SQL to some other database managers.
My SQL was originally developed to handle very large databases much faster than existing
solutions and has been successfully used in highly demanding production environments for
several years.

System Design

5 System Design

The website launches with a uniquely designed loader and the front end design includes following
salient features:
Minimal and expanded design
Ease of access
Smart Visuals and Graphics
Smooth transitions and animations for a better and modern display
Classification of sections and portals differentiation through corners.
Menu system and responsive pagination of content
Sliders, Content Boxes, Navigation Bars, Multiple pages and Captioned Thumbnails
Buyer Requests Section - Complete system for sending buyers requests for sellers.
Advanced User Account Settings on front page editable.

14
5.1 Features of Proposed System

Businesses located anywhere in the world can use freelance platforms to hire temporary workers for
job roles and projects that do not require permanent employment. Freelance platforms allow
freelancers to create a profile, display their work portfolio, and chat with employers. Businesses can
search a directory of freelancers based on experience, skills and related criteria. Thus, companies can
outsource labor- and time-intensive work, and focus on their core activities.

 Shortlist candidates.
 Track work time.
 Communication and collaboration platform.
 Quality control.
 Rate freelancers.

5.2 Software Design

Software design is a process to transform user requirements into some suitable form, which helps the
programmer in software coding and implementation.

For assessing user requirements, an SRS (Software Requirement Specification) document is


created whereas for coding and implementation, there is a need of more specific and detailed
requirements in software terms. The output of this process can directly be used into
implementation in programming languages.

Software design is the first step in SDLC (Software Design Life Cycle), which moves the
concentration from problem domain to solution domain. It tries to specify how to fulfill the
requirements mentioned in SRS.

There are the following methods for that.

15
5.2.1 Waterfall Model
In the software development process, the very first model that is published from other engineering
processes that is cascaded from one phase to another is known as Waterfall model. This model is
also known as linear sequential model. In the waterfall model, firstly all of the requirements
gathered. After gathering all of the requirements and analysis of all the requirements further move
to next phase that is making the design of a project and then implementation, testing and
maintenance phases. As all of the next phases of this model is dependent on previous phase. All
the phases worked as a waterfall after one another. It is a documentation driven model. In this
model, feedback of the client is received at the end of the project and when the product is
delivered to the user. Hence, mistake in the product requirement specification is discovered after
delivered to the user. This is time and cost consuming methodology, that is why we have not used
this methodology in developing this project. The waterfall model is further described in the
following diagram:

Figure No 5.2.1 Waterfall Model

5.2.2 Incremental Model


To overcome the drawbacks of the waterfall model, incremental model is used. In incremental
model, the product is developed in increments and partitioned into smaller pieces. These smaller

16
pieces, then built and delivered to client in increments. Quick response from clients. Each module
is smaller than compare to whole module.

Figure 5.2.2 Incremental Model

5.2.3 Agile Model


Agile model is useful when there is no hope for changings in product after deployment. It is a
particular approach to project management that is utilized in software development. This
method assists teams in responding to the unpredictability of constructing software. It uses
incremental, iterative work sequences that are commonly known as sprints. The ability to create
and respond to change in order to succeed in an uncertain and turbulent environment.

17
Figure 5.2.2 Agile Model
Comparison Table of three Models

Model Strengths Weaknesses

1). Minimizes planning overhead since it 1). Inflexible

can be done up front. 2).Only the final phase produces a


Waterfall
2). Structure minimizes wasted effort, so it no documentation deliverable.
Model
works well for technically weak or 3). Backing up to address mistakes
inexperienced staff. is difficult.
1). Develop high-risk or major functions
first.

2). Risk is spread across smaller increments


instead of concentrating in one large
development.
1). Requires good planning and
3). Lessons learned at the end of each design. 2). Requires early definition
incremental delivery can result in positive of a complete and fully functional
Incremental
revisions for the next increment. system to allow for the definition of
Model
increments. 3). The model does not
4). Customers get important functionality
allow for iterations within each
early, and have an opportunity to respond to
increment.
each build.

5). Each release delivers an operational


product. · Initial product delivery is faster.
6). Reduces the risk of failure and changing
the requirements.
1). Inflexible

1). Allows for changes to be made after the 2). Project can become a series of
initial planning. code sprints in lack of proper
management.
2). Easier to add features that will keep you
up to date with the latest developments in 3). Initial project doesn’t have a
Agile Model your industry. definitive plan
Table 5.2.3 Comparison Table of three Models

18
5.2.4 Adopted Methodology:

Incremental model is used to develop this project, in which we divided our work in multiple
modules. All these modules are further divided into more easily managed modules which made
up the actual implementation of the requirements. Reason behind using this model is:
It is easy to test and debug the product during iterations. Software released in increments over
time is more likely to satisfy changing user requirements than if it were planned as a single overall
release at the end of the same period.

5.3 Flowcharts:

A diagram of the sequence of movements or actions of people or things involved in a complex


system or activity.

5.3.1 Flowchart Login

19
Figure 5.3.1 Flowchart Login

Basic Path

First we start the project then go to Login page.

If we already sign in then enter credentials check if yes then login.

If credentials are false try again and enter credentials again and login.

20
5.3.2 Flowchart sign up

Figure 5.3.2 Flowchart sign up

Basic Path:

First we start the project then go to Login page

If we are not sign up we go to sign up if we are a staff/customer/admin we sign up as a


staff/customer/admin.

Enter e mandatory data and register as a staff/customer/admin.

21
If we sign up as a Admin, enter a mandatory data and register as Admin.
5.4 Visual Modeling using UML

5.4.1 Sequence Diagrams:

Sequence diagram uses concept of a Message-Sequence-Chart. It shows interactions of objects in a


sequence of time. It shows the classes and objects involved in the scenario and the message sequence
between the objects which is desired to carry out the functionality of a given scenario. Sequence diagrams
are usually related with the understanding of use case in the logical View of the system which is under
development. “Sequence diagrams are sometimes called event diagrams, timing diagrams, event
scenarios”. A parallel vertical line on sequence diagram is called lifeline. Different objects or processes
that live simultaneously, and, on horizontal arrows, the messages exchanged, in the order in which
processes occur. This allows some specification of some simple runtime scenarios in a graphical pattern.

5.4.1.1 Sequence diagram of Admin Login:

22
Figure 5.4.1.1 Sequence diagram of Admin

5.4.2 Use Case Diagram


An important part of the analysis phase is to drawing the diagrams of Use cases. They are used
through the phase of analysis of a project to find and divide functionality of the system. System is
separated into actors and use cases. Actors play the roles that are played by the system users. Use
cases define the system behavior when one of the actors sends any particular motivation. This
type of behavior can be described by text. It describes the motivation nature that activates use
case, the inputs and outputs to some other actors and the behavior of conversion of inputs to the
outputs. Usually the use case describes everything that can go wrong during the detailed behavior
and what will be helpful action taken by the system.

Some of the use cases are as follows:

5.4.2.1 Use Case 1 Login:

Figure 5.4.2.1 Use Case Login

Actor:

User or may be Admin.

23
Pre-Condition:

For the member, he/she must have registered already in system by the administrator.
User must enter correct Email address and password for login.

Post-Condition:

User can access to system main features.

Basic Path:

Enter Email-Address and password for login.

The system verifies the correct format and valid email address and Password.

If provided inputs are correct, the system displays the all other user’s content of the system and
session of particular user started.

Constraints:

If provided email address and password are incorrect or invalid, system redirect to main page.

Non-Functional Requirements:

Short Response Time

Better performance

Availability

Robustness

24
5.4.2.2 USE CASE 4 UPDATE

Figure 5.4.2.2 Use Case Update

Actor:

User/Admin

Pre-Condition:

UC1 & UC2

The member’s detail is required.


Post-Condition:

The member information should be update.

Basic Path:

The Actor should be logged in to the system to perform this activity.

The Actor views the detail

Update information of specific member by entering updated information and click on update button.

25
The system verifies the valid entered inputs and updated.

The system commits changes to the database.

Non-Functional Requirements:

Better response

Easy to use

Secure

Availability

Short response time.

5.4.2.4 USE CASE 5 logout:

Figure 5.4.2.3 Use Case logout


Actor:

User/Admin

Pre-Condition:

Use Case 1

Post-Condition:

Main page displayed to the user.

26
Basic Path:

The member should be logged in to the System to perform this activity.

Click on profile and select the logout.

Clicks on logout to close the connection with the system and system move the user towards main
page of the system for login again if he/she wants to.

NON-FUNCTIONAL REQUIREMENTS:

Secure

Reliable

27
Database Design
6.1 Database Design
Database design is the organization of data according to a database model. The designer
determines what data must be stored and how the data elements interrelate. With this
information, they can begin to fit the data to the database model.

Database design involves classifying data and identifying interrelationships. This theoretical
representation of the data is called ontology. The ontology is the theory behind the database's
design.

6.2 Database

MYSQL is an application for storing information inside a “table” structure; let’s examine the
reasons why you would use a Database rather than a spreadsheet or some other program for data
storage. Imagine you’re creating an application for storing sales transactions. We’ll start by
saving just a few columns of information such as the Item Sold, Quantity, Price, Sale Date, and
the Customer sold to. One of the first storage options to consider is saving this information in a
large text file. There are benefits to text file saves such as quick write times. The problem with
text files is during a read, if the text file is large, it can take quite a bite of time to open and scan
the contents of the file looking for what we want. Also, if we wanted to see all the sales to a
specific customer, the entire text file would have to be read, and every line occurrence of the
customer name would need to be saved in some temporary place until we had them all. If we
saved to a spreadsheet instead of a text file, we would have a Sort feature built in. So we may be
able to find all the sales to a specific customer quicker, but again, if the file was large, opening
the spreadsheet could take a great deal of time.

Why Not Use a Database?

There are some problems with using a database. First, time must be taken to learn the new
system. A database is not as intuitive as a spreadsheet. In addition, if there is only a small amount
of data that doesn’t need to be changed over time, it’s probably simpler to save it in a file.

28
Unfortunately, most business problems are neither simple nor small, so a database is usually the
best tool for the job.
6.2.1 Advantages of Database

 An organized and comprehensiveness of recording the result of the firms activities.


 A receiver of data to be used in meeting the information requirement of the MIS users.
 Reduced data redundancy.
 Reduced updating errors and increased consistency.
 Greater data integrity and independence from applications programs.
 Improved data access to users through use of host and query languages.
 Improved data security.
 Reduced data entry, storage, and retrieval costs.
 Facilitated development of new applications program.
 Standard can be enforced: Standardized stored data format is particularly desirable as an
old data to interchange or migration (change) between the systems.
 Conflicting requirement can be handled.

6.2.2 Constraints

SQL constraints are used to specify rules for the data in a table.

Constraints are used to limit the type of data that can go into a table. This ensures the accuracy
and reliability of the data in the table. If there is any violation between the constraint and the data
action, the action is aborted.

Constraints can be column level or table level. Column level constraints apply to a column, and
table level constraints apply to the whole table.

The following constraints are commonly used in SQL:

• NOT NULL - Ensures that a column cannot have a NULL value

29
• UNIQUE - Ensures that all values in a column are different
• PRIMARY KEY - A combination of a NOT NULL and UNIQUE. Uniquely identifies each
row in a table

• FOREIGN KEY - Uniquely identifies a row/record in another table

• CHECK - Ensures that all values in a column satisfies a specific condition

• DEFAULT - Sets a default value for a column when no value is specified

• INDEX - Used to create and retrieve data from the database very quickly

6.2.3 Entity

An entity is any object in the system that we want to model and store information about. Entities
are usually recognizable concepts, either concrete or abstract, such as person, places, things, or
events which have relevance to the database. Some specific examples of entities are Customer,
Staff, and account. An entity is analogous to a table in the relational model. Note - the
convention is to use singular names when identifying entities. Entities are represented by
rectangles (either with round or square corners):
An entity occurrence is an instance of an entity. For example, in the customer entity, the
information about each individual customer details is an entity occurrence, eg: Billy Jones (ie:
SN12345, Billy, Jones, 18/08/1950) is an entity occurrence. An entity occurrence can also be
referred to as a record.

6.2.4 Attributes
An attribute is an item of information which is stored about an entity. For example, the entity
'Customer' could have attributes such as staff id, surname, forename, date of birth, telephone
number, etc. An attribute can only appear in one entity, unless it is the key attribute in another
entity. In a traditional filing system an attribute equates to a field in a record.
A new database system is to be designed at your college. Make a list of entities that are of
importance to that system. Also list possible attributes for three of the entities you have chosen.
Remember that the convention for naming an entity is to use a singular name, eg: Customer.

30
6.2.5 Keys
A key is a data item that allows us to uniquely identify individual occurrences or an entity type.
You can sort and quickly retrieve information from a database by choosing one or more fields (ie
attributes) to act as keys. For instance, in a Customers table you could use a combination of the
last name and first name fields (or perhaps last name, first name and birth dates to ensure you
identify each student uniquely) as a key field.

Figure 6.2.5 Key Diagram

There are several types of key field:

 Primary Key
 Secondary Key
 Foreign key
 Simple key
 Compound key
 Composite key

Primary Key

A primary key consists of one or more attributes that distinguishes a specific record from any
other. For each record in the table the primary key acts like a driver's license number or a
national insurance number, only one number exists for each person.

For example, your student number is a primary key as this uniquely identifies you within the
college student records system. An employee number uniquely identifies a member of staff
within a company. An IP address uniquely addresses a PC on the internet.

31
A primary key is mandatory. That is, each entity occurrence must have a value for its primary
key.

Secondary Key

An entity may have one or more choices for the primary key. Collectively these are known as
candidate keys. One is selected as the primary key. Those not selected are known as secondary
keys.

Figure 6.2.5.1 Secondary Key Diagram

For example, an employee has an employee number, a National Insurance (NI) number and an
email address. If the employee number is chosen as the primary key then the NI number and
email address are secondary keys. However, it is important to note that if any employee does not
have a NI number or email address (ie: the attribute is not mandatory) then it cannot be chosen as
a primary key.

Foreign Key

A foreign key is one or more attribute in one entity, which enables a link (or relationship) to
another entity. That is, a foreign key in one entity links to a primary key in another entity.
However, if the business rules permit, a foreign key may be optional.

For example, an employee works in a department. The department number column in the
employee entity is a foreign key, which links to the department entity.

32
Figure 6.2.5.2 Foreign Key Diagram

Foreign keys will be explained in more detail when we explore the normalization process later in
this section.

Simple Key

Any of the keys described before (ie: primary, secondary or foreign) may have one or more
attributes. A simple key consists of a single attribute to uniquely identify an entity occurrence,
for example, a customer number, which uniquely identifies a particular customer. No two
customer would have the same customer number.

Compound Key

A compound key consists of more than one attribute to uniquely identify an entity occurrence.

Figure 6.2.5.3 Compound Key Diagram

Each attribute, which makes up the key, is also a simple key in its own right. For example, we
have an entity named enrolment, which holds the customer is enrolled. In this scenario a
customer is allowed to enroll on more than one course. This has a compound key of both

33
customer number and staff number, which is required to uniquely identify a customer on a
particular staff.

Composite Key

A composite key consists of more than one attribute to uniquely identify an entity occurrence.
This differs from a compound key in that one or more of the attributes, which make up the key,
are not simple keys in their own right.

For example, you have a database holding your CD collection. One of the entities is called tracks,
which holds details of the tracks on a CD. This has a composite key of CD name, track number.

Figure 6.2.5.4 Composite Key Diagram

CD name in the track entity is a simple key, linking to the CD entity, but track number is not a
simple key in its own right. For each of the entities below, list possible primary keys. Then,
suggest secondary keys, if any. Staff, payment, customer, transactions, senders, receivers

34
6.3 Database tables

6.3.1 Manager

Figure 6.3.1 Manager Database

6.3.2 blood bank list

Figure 6.3.2 blood bank list

35
6.3.3 table city

Figure 6.3.3 city Database

6.3.4 Donor table

Figure 6.3.4 Donor Database

36
6.3.5 Emeregency table

Figure 6.3.5 Emeregency Database

6.3.6 Laboratory table

Figure 6.3.6 Laboratory Database

37
6.3.7 Admin table

Figure 6.3.7 Admin Database

6.3.8 Recipient Table

Figure 6.3.8 Recipient Database

38
User Interface

7.1 User Interface

A user interface, also called a "UI" or simply an "interface," is the means in which a person
controls a software application or hardware device. A good user interface provides a
"userfriendly" experience, allowing the user to interact with the software or hardware in a natural
and intuitive way.

Nearly all software programs have a graphical user interface, or GUI. This means the program
includes graphical controls, which the user can select using a mouse or keyboard. A typical GUI
of a software program includes a menu bar, toolbar, windows, buttons, and other controls. The
Macintosh and Windows operating systems have different user interfaces, but they share many of
the same elements, such as a desktop, windows, icons, etc. These common elements make it
possible for people to use either operating system without having to completely relearn the
interface. Similarly, programs like word processors and Web browsers all have rather similar
interfaces, providing a consistent user experience across multiple programs.

Most hardware devices also include a user interface, though it is typically not as complex as a
software interface. A common example of a hardware device with a user interface is a remote
control. A typical TV remote has a numeric keypad, volume and channel buttons, mute and
power buttons, an input selector, and other buttons that perform various functions. This set of
buttons and the way they are laid out on the controller makes up the user interface. Other
devices, such as digital cameras, audio mixing consoles, and stereo systems also have a user
interface.

While user interfaces can be designed for either hardware of software, most are a combination of
both. For example, to control a software program, you typically need to use a keyboard and
mouse, which each have their own user interface. Likewise, to control a digital camera, you may
need to navigate through the on-screen menus, which is a software interface. Regardless of the
application, the goal of a good user interface is to be user-friendly. After all, we all know how
frustrating it can be to use a device that doesn't work the way we want it to.

39
7.2 User Interface Front End

1 Home Page

Figure 7.2.1 Home page

40
2 services

Figure 7.2.2 services

41
3 Emergency

Figure 7.2.3 Emergency

42
4 Donor List

Figure 7.2.4 Donor List

43
5 Recipient List

Figure 7.2.5 Recipient List

44
6 Blood Bank List

Figure 7.2.6 Blood Bank List

45
7 Laboratories List

Figure 7.2.7 Laboratories List

8 Life Savers

46
Figure 7.2.8 Life Savers

7.3 User Interface App

1 Home Page

47
7.3.1 Main Page

48
2 Home page

7.3.2 Home Page

2 Home page
49
50
51
52
53
54
55
56
7.4 User Interface Back End

57
1 Dashboard

Figure 7.3.1 Dashboard

58
2 Donor List

Figure 7.3.2 Donor List

59
3 Recipient List

Figure 7.3.3 Recipient List

4 Emergencies

Figure 7.3.4 Emergencies

60
5 Blood bank List

Figure 7.3.5 Blood bank List

6 Laboratories List

61
Figure 7.3.6 Laboratories List

7 Admin Settings

62
Figure 7.3.7 Admin Settings

8 City List

Figure 7.3.8 City List

63
References

References:

1. Beginning JavaScript 2nd Edition, by Wilton


2. Kabulis, N. J. (2000). Designing an e-network site for users. September 2000, Crossroads,
Volume 7 Issue 1.

3. System Analysis and Design 5th Edition by Kenneth E. Kendal and Julie E. Kendall.
4. The Complete Reference MYSQL
5. The Complete Reference HTML
6. W3school.com
7. www.w3schools.com/Html5
8. www.w3schools.com/css3
9. www.w3schools.com/php6
10. www.w3schools.com/javacript
11. www.w3schools.com/bootstrap
12. www.w3schools.com/jquery
13. Tutorial point.com
14. http://www.tutorialspoint.com/css
15. http://www.tutorialspoint.com/css3
16. http://www.tutorialspoint.com/html
17. http://www.tutorialspoint.com/html5
18. http://www.tutorialspoint.com/javascript
19. http://www.tutorialspoint.com/php
20. http://www.tutorialspoint.com/bootstrap
21. http://www.tutorialspoint.com/jquery
22. stackoverflow.com
23. linkedin.com
24. https://en.wikipedia.org/wik

64
25. https://developer.mozilla.org/en-US/
26. https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5
27. http://html5doctor.com/
28. http://www.css3.info/
29. https://css-tricks.com/
30. https://developer.mozilla.org/bm/docs/Web/JavaScript
31. https://javascript.info/
32. https://www.codecademy.com/learn/learn-javascript
33. https://www.phptherightway.com/
34. https://www.codecademy.com/en/tracks/php
35. https://mdbootstrap.com/bootstrap-tutorial/
36. https://www.quackit.com/bootstrap/tutorial/
37. http://www.dofactory.com/sql/tutorial
38. http://webcheatsheet.com/php/connect_mysql_database.php
39. https://www.javatpoint.com/jquery-tutorial
40. https://www.sololearn.com/Course/jQuery/

65

You might also like