Skin Bank Management Project
Skin Bank Management Project
A Project Report
Submitted in partial fulfillment of the
Requirements for the award of the
Degree of
Page 1
VALIA CHHAGANLAL LALJIBHAI COLLEGE OF
COMMERCE
(Affiliated to University of Mumbai)
MUMBAI-MAHARASHTRA-400053
CERTIFICATE
This is to certify that the project entitled “Skin Bank Management”, is
bonafied work of MR. AAKASH GUPTA and JAGDISH DHANGAR
bearing Seat No: 2010979 & 2010973 submitted in period fulfillment of the
requirements for the award of degree of BACHELOR OF SCIENCE in
INFORMATION TECHNOLOGY from University of Mumbai.
External Examiner
Page 2
Abstract
This report covers all the stages of software development, we underwent, during the process of working
on this project. It is a Step-by-Step documentation, right from initial planning and designing phase to final
implementation.
The INTRODUCTION gives the reader an intro about project, and also the problems related to the
existing system, and how useful is our website to handle and eliminate those problems.
The followving sections like OBJECTIVES and LIMITATION give the reader some knowledge regarding
the technology and tools we have used for developing this project. The chapter REQUIREMENTS AND
ANALYSIS covers the planning and scheduling, software and hardware requirements andx
The section IMPLEMENTATION AND TESTING contains the testing and coding details. I have tried to
be as brief as possible about each and every step of this project development process, and I hope that this
report gives a clear idea to the reader about each and every aspect of this project.
Page 3
ACKNOWLEDGEMENT
We would like to place our sincere gratitude to whom so ever has that they have
contributed to the successful completion of this project directly or indirectly.
We take this opportunity to express my profound gratitude and deep regards to
our guide Prof. Sandeep Kamble, without whose guidance & critical appreciation,
this project would have been incomplete. Right from its inception, this project has
been shaped by his expert opinions and he has helped me improve this project in all
manners and achieve the
level that it has acquired.
Last but not the least we place a deep sense of gratitude to our family members
and our friends who have been constant source of inspiration during the preparation
of this project work.
Page 4
DECLARATION
I hereby declare that the project entitled, “Skin Bank Management Project” done
at place where the project is done, has not been in any case duplicated to submit to
any other university for the reward of any degree. To the best of my knowledge other
than me, no one has submitted to any other university.
The project is done in partial fulfilment of the requirement for the award of degree
of BACHELOR OF SCIENCE (INFORMATION TECHNOLOGY) to be
submitted as finalsemester project as part of our curriculum.
Name and Signature of the Student Name and Signature of the Student
Page 5
INDEX
2 Survey of Technologies 15
4 System Design
4.1 Basic Module 39
4.2 Data Design 40
4.3 Schema Design 41
4.4 Data Integrity and Constrains 43
4.5 Procedural Diagram 46
4.6 User Interface Design 49
4.7 Security Issues 50
4.8 Test Case Design 53
6
5.1 Coding Details and Efficiency 56
5.2 Coding Details 58
5.3 Testing Approaches 73
5.4 Modifications and Improvments 77
5.5 Test Cases 78
7 Conclusions
7.1 Significance of System 94
7.2 Limitations of the System 95
7.4 Future Scope of Project 96
7.5 References 97
7
Chapter 1
INTRODUCTION TO PROJECT
Add users
Add Folders
Delete Folders
Add Files
Delete Files
Download Files
8
BACKGROUND
The Skin Bank aims to provide a ready source of clinically safe human
Since 1998, the Skin Bank has had an average of 7 deceased donors per
year.
Each year the demand of donated skin to treat to massive burns patients
9
OBJECTIVES
10
PURPOSE OF SKIN BANK
protocols.
Skin can be stored in the skin bank at 4-80 Celsius upto 5 years.
11
SCOPE OF SKIN BANK
The scope of the project is that in a very short span it provides user with
many facilities.
The main purpose of this project is to interconnect all the skin banks,
hospitals, donors into a single network, validation, store various data and
Its build in such a way that it should suits for all type of skin bank in
future.
12
APPLICABILITY
The skin bank management system website for ECD ETL/RFC is for
The website will be public but it will used by some organization which is
After the website is tested in one centre then it can used by local centers
(12 centers). The further more to step to my vision is that will be used in
13
ACHIEVEMENTS
14
ORGANISATION OF REPORT
documentation.
The next chapter is Requirements and Analysis. In this chapter the existing
Gantt chart is used to represent the schedule and planning of the project.
(UML)diagrams.
15
Chapter 2
SURVEY OF TECHNOLOGY
With the rapid growth and use of internet, sweeping changes in users
information search behaviour has been simulated. The project of Skin
Bank Management System can be made on various Technologies and
various languages
SQL Server (STRUCTURED QUERY LANGUAGE)
Database ASP.NET is an open-source server-side web application
framework designed for web development to produce dynamic web
pages.
It was developed by Microsoft to allow programmers to build dynamic
web sites, web applications and web services.
ASP_NET is a technology which is used for both Front-end & Back-end
development in the software industry.
Front-end: ASP_NET provide large set of controls with .NET framework
for Front-end of any Web App or Website. (like, Grid View, Repeater,
Data List, Dropdown control…etc.) Back-end: It also has lot of on back-
end side with VB and C# languages.
SQL-Server is also one of the most secure databases with support of
Microsoft. if you want just back-end for mobile application or other Web
app.
It has web-services too. WCF (Windows Communication Foundation) is
latest technology used for web services.
16
applications—which may run either on thesame computer or
on another computer across a network (including theInternet).
Microsoft markets at least a dozen different editions of
Microsoft SQLServer, aimed at different audiences and for
workloads ranging from small single-machine applications to
large Internet-facing applications
The windows web server thoroughly monitors the web pages, multiple
components, and applications running over it.
The Dot Net Framework quickly gives an alert for memory leaks,
unbounded loops, and other wrong behaviours, immediately killing them
and restart them over again.
Asp.Net features like early binding, JIT compilation, caching services and
native optimization supports gives your application the high level of
performance.
All the Asp.Net applications are highly monitored and managed to help
application available to handle requests.
17
Chapter 3
REQUIREMENTS AND ANALYSIS
PROBLEM DEFINITION
18
REQUIREMENTS SPECIFICATION
The website for Skin Bank Management System will require a software
tool which will help to make an app.
The app should support the Microsoft SQL Server code for the backend
because the Microsoft SQL code is better than c and c++ and for frontend
Microsoft visual studio 2010 is very easy and better by this requirement
and making an app Android studio is perfect software with have
Microsoft SQL Server .
For building Skin Bank Management System website there will be need
of laptop or a computer with minimum 4GB of ram i3 processor and
minimum space in hard disk because android studio is very heavy
It should be user friendly
o It should perform the basic requirements.
o The GUI should be interactive.
o The data should be secured for hospitals as well as skin bank.
o The system should not clash.
o It should be able to generate report after all the data.
o The Report generated needs to be in standard format as per hospital
and skin bank
19
PLANNING AND SCHEDULING
20
and keeping their interests in mind when creating project plan.
Define Deliverables:
21
Gantt Chart
22
free version was a boon for us as we were able to use its software tool
for free
23
SOFTWARE AND HARDWARE REQUIREMENTS
SOFTWARE REQUIREMENT
Platform: WINDOWS 10
FrontEnd: Microsoft visual studio
BackEnd: Microsoft SQL server 2016
HARDWARE REQUIREMENTS:
Processor: Intel Core i3
RAM: 4 GB Minimum free space
DVD R/RW
24
PRELIMNERY PRODUCT DESCRIPTION
The development skin bank opens everyday from 8:00am to 8:00pm. The
patients and donor comes with their family to donate and issue for skin.The
patients will provide skin as per their need and from stock.Then family member
will put the entry into special skin bank admit card.This process goes on and on
As there was no certain software or application for ECD skin bank the need
arise.The system should be user friendly and easy to use. The objective of Skin
software keeps track of all information and database where all information will
be stored safely
Admin
Patient
Donor
25
Conceptual Model
the information within a skin bank system needs to flow to meet the
needs of patients as well as donor as well as skin bank administrators.
26
27
Zero Level DFD
This is the zero level dfd of Skin Bank Management System, where we
have elaborated the high level process of Skin Bank Management. It is
a basic over view of Skin Bank Management System.
28
FIRST LEVEL DFD
First Level DFD of Skin Bank Management System shows how the
system is divided into sub-systems, each of which deals with one or more
of data flows. It identifies internal data stores patient details and donor
details
DFD Level 1
29
SECOND LEVEL DFD
Second Level DFD of Skin Bank Management System goes one step
deeper into parts of level 1. It may require more functionalities of skin
bank system to reach the necessary level of detail. The second level DFD
contains more details of skins and skin issue and donor details and patient
details and admin
30
ENTITY RELATIONSHIP DIAGRAM
31
COMPONENTS OF E-R DIAGRAM
ENTITY
32
33
USE CASE DIAGRAM
The use case diagram are usually referred to as behavior diagram used to
describe the actions of all user in a system all user describe in use case
are actors and the functionality as action of system. To model a system,
the most important aspect is to capture the dynamic behavior. Dynamic
behavior means the behavior of the system when it is running/operating.
Only static behavior is not sufficient to model a system rather dynamic
behavior is more important than static behavior. In UML, there are five
diagrams available to model the dynamic nature and use case diagram is
one of them. Now as we have to discuss that the use case diagram is
dynamic in nature, there should be some internal or external factors for
making the interaction.
These internal and external agents are known as actors. Use case
diagrams consists of actors, use cases and their relationships. The
diagram is used to model the system/subsystem of an application. A
single use case diagram captures a particular functionality of a system.
Hence to model the entire system, a number of use case diagrams are
used. Use case diagrams are used to gather the requirements of a system
including internal and external influences. These requirements are mostly
design requirements. Hence, when a system is analyzed to gather its
functionalities, use cases are prepared and actors are identified.
34
35
Donor_Admin Usecase
Patient_Admin Usecase
36
SEQUENCE DIAGRAM
A sequence diagram shows object interactions arranged in time sequence.
It depicts the objects and classes involved in the scenario and the
sequence of messages exchanged between the objects needed to carry out
the functionality of the scenario. Sequence diagrams are typically
associated with use case realizations in the Logical View of the system
under development. Sequence diagrams are sometimes called event
diagrams or event scenarios.
A sequence diagram shows, as parallel vertical lines (lifelines), different
processes or objects that live simultaneously, and, as horizontal arrows,
the messages exchanged between them, in the order in which they occur.
This allows the specification of simple runtime scenarios in a graphical
manner. If the lifeline is that of an object, it demonstrates a role. Leaving
the instance name blank can represent anonymous and unnamed
instances.
Messages, written with horizontal arrows with the message name written
above them, display interaction. Solid arrow heads represent synchronous
calls, open arrow heads represent asynchronous messages, and dashed
lines represent reply messages. If a caller sends a synchronous message, it
must wait until the message is done, such as invoking a subroutine. If a
caller sends an asynchronous message, it can continue processing and
doesn’t have to wait for a response. Asynchronous calls are present in
multithreaded applications, event-driven applications and in message-
oriented middleware. Activation boxes, or method-call boxes, are opaque
rectangles drawn on top of lifelines to represent that processes are being
performed in response to the message (Execution Specifications in UML
37
SEQUENCE DIAGRAM
38
39
Chapter 4
SYSTEM DESIGN
Basic Modules
Admin Module
40
Data Design
The Database Skin bank System is intended to Automate the Skin bank
activities such as creating a new borrower, giving skin to the borrowers,
maintaining the details of all the item that were available in the skin. This
also helps the Members by providing information such as available Skin,
list of Skin, list of Donor and patient information that belong to a
particular category RFC/ETL.
Table
Skin Details: This is the master table for all the books that are available
in the Skin. This table contains the complete list of Skin that are available
in the Skin bank. Each Skin id provided with a unique Barcode which
serves as a primary key. The Skin details skin and age category of skin.
Columns barcode: This is unique ID given to every skin .Since there may
be a large no. of skin with same barcode, this barcode will help us to
distinguish between books of same title. Skin Title: Provides the name of
the Skin. AGE: defines age category.
Patient Details: This table contains the details of all the patient who lent
a Skin from the Skin Bank. Each Patient will be given a unique borrower
ID. All the Skin Bank related activity for a particular person will be
captured based on the Borrower ID. This table will be used to track the
borrowing records. The borrower ID will serve as a primary key here.
Columns: Borrower ID: Unique ID given to each Patient.
Skin ID: This column contains the skin ID which was given to the
borrower. Borrowed From Date: The date on which the book was given a
particular borrower. Borrowed To Date: The date on which that book was
supposed to be returned back or should be renewed. . Patient Details:
This table contains the details of all the Patient they are eligible for
availing Skin Bank facilities. Each Patient will be provided with a unique
Student ID and Borrower ID.
41
Schema Design
CLASS DIAGRAM
In software engineering, a class diagram in the Unified Modeling
Language (UML) is a type of static structure diagram that describes the
structure of a system by showing the system’s classes, their attributes,
operations (or methods), and the relationships among objects.
The class diagram is the main building block of object-oriented
modelling. It is used for general conceptual modelling of the systematic
of the application, and for detailed modelling translating the models into
programming code. Class diagrams can also be used for data 37odelling.
[1] The classes in a class diagram represent both the main elements,
interactions in the application, and the classes to be programmed.
N the diagram, classes are represented with boxes that contain three
compartments:
The top compartment contains the name of the class. It is printed in bold
and centered, and the first letter is capitalized.
The middle compartment contains the attributes of the class. They are
left-aligned and the first letter is lowercase.
The bottom compartment contains the operations the class can execute.
They are also left-aligned and the first letter is lowercase.
42
43
Data Integrity and constraints
ACTIVITY DIAGRAM
Activity diagram is another important diagram in UML to describe the
dynamic aspects of the system.
Activity diagram is basically a flowchart to represent the flow from one
activity to another activity. The activity can be described as an operation
of the system.
The control flow is drawn from one operation to another. This flow can
be sequential, branched, or concurrent. Activity diagrams deal with all
type of flow control by using different elements such as fork, join, etc
The basic usage of activity diagram is similar to other four UML
diagrams. The specific usage is to model the control flow from one
activity to another. This control flow does not include messages.
Activity diagram is suitable for modeling the activity flow of the system.
An application can have multiple systems. Activity diagram also captures
these systems and describes the flow from one system to another. This
specific usage is not available in other diagrams. These systems can be
database, external queues, or any other system.
We will now look into the practical applications of the activity diagram.
From the above discussion, it is clear that an activity diagram is drawn
from a very high level. So it gives high level view of a system. This high
level view is mainly for business users or any other person who is not a
technical person.
The activity diagram used to describe flow of activity through a series of
actions. Activity diagram is an important diagram to describe the system.
The activity described as a action or operation of the system.
44
COMPONENTS OF ACTIVITY DIAGRAM.
45
46
PROCEDURAL DIAGRAM
4.3.1 Logic Diagram
47
4.3.2 Data Structures
48
4.3.3 Algorithm Design
49
User Interface Design
50
Security Issues
Skin Bank around the world are quickly adopting technology to better
The problem for skin bank is that they can’t afford I.T. departments to
help secure data and the like, so there are always common risks that skin
bank face.
Here are some of the security issues that skin bank face. The problem
most skin bank have is that staff members delete information on the
This can pose significant risk to important skin bank information and
Skin Bank now send and retrieve data from databases to help better
manage inventory and the like, but some libraries don’t have the right
data encryption practices in place. This can often lead to lost data and
51
information, it’s not just staff that have access to certain Skin bank
management systems.
target, they’ll often not have the right staff authentication procedures.
This means that anyone can come in off the streets and secure access to
Staff members will often need to look through emails from other skin
Emails can come from anywhere and, if staff members aren’t careful,
invalid content.
Another security issue that many skin bank are faced with is that their
Some members don’t understand how backups work, and that means
regular intervals.
It’s important that staff members know how data and security work so
52
they can better serve the Skin bank management system that’s already in
place.
very risky to Skin Bank management systems, but isn’t just emails that
play a role.
for research purposes can often lead to third party data extraction.
The PAGE NO: 49 above are just some of the many security issues that
Skin banks are faced with every day. It’s great to see s implementing
different technologies to help them stay up with the digital skin banks,
but if it’s not implemented correctly, it could spell disaster for Skin bank
management
53
Test Case Design
The Skin bank manager system under test is rider Skin Bank management
system (hosted on source forge).
It is very simple and effective system for management of Skin Bank
patients admin and donor and the skin.
It has the features that you can expect from most of the competitive skin
bank systems.
It is also free of cost to download the software. So you can download and
start testing the software manually for the bugs.
What are the requirements of Skin Bank management system?
1. Member able to register and login.
2. Patient can search the added Skin, and check in or out.
3. User can manage the inventory of the Skin.
These are some of the common features expected from the Skin
management system. Check if the username field accepts valid username
and password field accepts valid password.
Testing Login of Skin bank System
Check if the wrong username and valid password allows access to any
specific account.
Check if the valid username and wrong password allows access to any
specific account.
Check if the invalid username and password triggers any warning.
Check if the invalid credentials open the random account.
Check if the user is logged in, allows you to logout by using the link at
the bottom of the application.
Check if the logout link function as expected.
54
CHAPTER 5
Implementation Approaches
Implementation approach
An implementation method tailored to the project is a prerequisite for successful
software implementation. This involves costing, planning, controlling and monitoring
the necessary tasks, including resources.
55
Objective Of Implementation Approaches
56
5.1 CODING DETAILS AND EFFICIENCY
Code efficiency is a broad term used to depict the reliability, speed and
programming methodology used in developing codes for an application.
Code efficiency is directly linked with algorithmic efficiency and the
speed of runtime execution for software. It is the key element in ensuring
high performance.
Recommendations for code efficiency include:
To remove unnecessary code or code that goes to redundant processing
To make use of optimal memory and non-volatile storage
To ensure the best speed or run time for completing the algorithm
To make use of reusable components wherever possible
To make use of error and exception handling at all layers of software,
such as the user interface, logic and data flow
To create programming code that ensures data integrity and consistency
To develop programming code that's compliant with the design logic and
flow
To make use of coding practices applicable to the related software
To optimize the use of data access and data management practices
To use the best keywords, data types and variables, and other available
programming concepts to implement the related algorithm.
57
5.2 CODING DETAILS
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
namespace SkinBank
{
public partial class lg : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Session["isAuthenticated"] = false;
}
}
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
ConnectionStringSettings.ConnectionString =
ConfigurationManager.ConnectionStrings["DBConnection"];
SqlConnection DBConnection = new SqlConnection();
try
{
DBConnection.ConnectionString =
connectionString.ConnectionString;
DBConnection.Open();
DBConnection.Close();
if (count == 1)
{
e.Authenticated = true;
Session["isAuthenticated"] = true;
Session["userid"] = lglogin.UserName;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (DBConnection.State == System.Data.ConnectionState.Open)
{
DBConnection.Close();
}
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data.SqlClient; using
System.Web.Configuration;using
System.Data;
namespace SkinBank
{
59
public partial class adddonor : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetTableWithInitialData(); GetTableWithInitialPatientData();
//btnAdd.Visible = true;
//btnupdate.Visible = false;
btnAdd.Style.Add("display", "inline");
btnupdate.Style.Add("display", "none");
}
}
ConnectionStringSettings connectionString =
WebConfigurationManager.ConnectionStrings["DBConnection"];
DBConnection.ConnectionString =
connectionString.ConnectionString;
DBConnection.Open();
if (btnAdd.Text.ToLower() == "save")
{
String InsertQuery = @"Insert into donordetails
(name, address, dateofbirth, aadharno, contactno,
emailid, relativecontactno, skincolour, skinthickness, status, wishtoddonate,
donationstatus, hivstatus,bloodgroup, allergydetails, cancerdetails, tbdetails,
medicalhistory, deathdate, preservationdate,
skinapplieddate, patientname, createdby, createddate, lupdby, lupddate)
values (@name, @address, @dateofbirth, @aadharno,
@contactno, @emailid, @relativecontactno, @skincolour, @skinthickness,
@status, @wishtoddonate, @donationstatus,
@hivstatus, @bloodgroup, @allergydetails, @cancerdetails, @tbdetails,
@medicalhistory, @deathdate, @preservationdate,
@skinapplieddate, @patientname, @createdby, @createddate, @lupdby,
@lupddate)";
60
SqlCommand DBCommand = new SqlCommand(InsertQuery,
DBConnection);
DBCommand.Parameters.AddWithValue("@deathdate",
(txtdeathdate.Text == "" ? DBNull.Value : (object)
DateTime.ParseExact(txtdeathdate.Text, "dd'-'MMM'-'yyyy", null)));
DBCommand.Parameters.AddWithValue("@name",
txtdonornm.Text);
DBCommand.Parameters.AddWithValue("@address",
txtaddr.Text);
DBCommand.Parameters.AddWithValue("@dateofbirth",
txtdob.Text);
DBCommand.Parameters.AddWithValue("@aadharno",
txtaadharcard.Text);
DBCommand.Parameters.AddWithValue("@contactno",
txtmobno.Text);
DBCommand.Parameters.AddWithValue("@emailid",
txtemailid.Text);
DBCommand.Parameters.AddWithValue("@relativecontactno",
txtrelativecontactno.Text);
DBCommand.Parameters.AddWithValue("@skincolour",
txtskincolour.Text);
DBCommand.Parameters.AddWithValue("@skinthickness",
txtskinthickness.Text);
DBCommand.Parameters.AddWithValue("@status",
ddlstatus.Text);
DBCommand.Parameters.AddWithValue("@wishtoddonate",
ddlwishtodonatestatus.Text);
DBCommand.Parameters.AddWithValue("@donationstatus",
ddldonationstatus.Text);
DBCommand.Parameters.AddWithValue("@hivstatus",
ddlhivstatus.Text);
DBCommand.Parameters.AddWithValue("@bloodgroup",
ddlbloodgroup.Text);
DBCommand.Parameters.AddWithValue("@allergydetails",
txtallergydetails.Text);
DBCommand.Parameters.AddWithValue("@cancerdetails",
txtcanerdetails.Text);
DBCommand.Parameters.AddWithValue("@tbdetails",
txttbdetails.Text);
DBCommand.Parameters.AddWithValue("@medicalhistory",
txtmedicalhistory.Text);
DBCommand.Parameters.AddWithValue("@preservationdate",
(txtpreservationdate.Text == "" ? DBNull.Value :
(object)DateTime.ParseExact(txtpreservationdate.Text, "dd'-'MMM'-'yyyy",null)));
DBCommand.Parameters.AddWithValue("@skinapplieddate",
61
(txtapplieddate.Text == "" ? DBNull.Value : (object)DateTime.ParseExact(txtapplieddate.Text,
"dd'-'MMM'-'yyyy", null)));
DBCommand.Parameters.AddWithValue("@patientname",
txtpatientname.Text);
DBCommand.Parameters.AddWithValue("@createdby",
Session["userid"]);
DBCommand.Parameters.AddWithValue("@createddate",
DateTime.Now);
DBCommand.Parameters.AddWithValue("@lupdby",
Session["userid"]);
DBCommand.Parameters.AddWithValue("@lupddate",
DateTime.Now);
int noOfRowsAffected =
DBCommand.ExecuteNonQuery();if (noOfRowsAffected == 1)
{
"name",ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
GetTableWithInitialData();
}
}
catch (Exception ex)
{
initializeFieldsValues();
}
}
protected void btnCancel_Click(object sender, EventArgs e)
{
initializeFieldsValues();
}
private void initializeFieldsValues()
62
{
txtaadharcard.Text = "";
txtaddr.Text = "";
txtdob.Text = "";
txtemailid.Text = "";
txtmobno.Text = "";
txtdonornm.Text = "";
txtrelativecontactno.Text = "";
txtskincolour.Text = "";
txtskinthickness.Text = "";
txtdonorno.Text = "";
txtallergydetails.Text = "";
txtapplieddate.Text = "";
txtcanerdetails.Text = "";
txtdeathdate.Text = "";
txtmedicalhistory.Text = "";
txtpatientname.Text = "";
txtpreservationdate.Text = ""; txttbdetails.Text
= ""; ddlbloodgroup.SelectedIndex = 0;
ddldonationstatus.SelectedIndex = 0;
ddlhivstatus.SelectedIndex = 0;
ddlstatus.SelectedIndex = 0;
ddlwishtodonatestatus.SelectedIndex = 0;
btnAdd.Style.Add("display", "inline");
btnupdate.Style.Add("display", "none");
}
try
{
DBConnection.ConnectionString =
connectionString.ConnectionString;
DBConnection.Open();
DBAdapter.Fill(table);
DBConnection.Close();
}
catch (Exception ex)
{
}
finally
{
if (DBConnection.State == System.Data.ConnectionState.Open)
{
DBConnection.Close();
}
}
if (table.Rows.Count == 0)
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alert",
"alert('No existing donors found.');", true);
}
{
gvdonordetails.DataSource = table;
gvdonordetails.DataBind();
}
}
ConnectionStringSettings connectionString =
ConfigurationManager.ConnectionStrings["DBConnection"];
SqlConnection DBConnection = new SqlConnection();
DataTable table = new DataTable();
string message = string.Empty;
try
{
64
DBConnection.ConnectionString =
connectionString.ConnectionString;
DBConnection.Open();
DBConnection.Close();
GetTableWithInitialData();
initializeFieldsValues();
}
catch (Exception ex)
{
message = "Error occurred while deleting the donor";
}
finally
{
if (DBConnection.State == System.Data.ConnectionState.Open)
{
DBConnection.Close();
}
}
ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
"deletealert", "javascript: alert('" + message + "');", true);
}
ConnectionStringSettings connectionString =
ConfigurationManager.ConnectionStrings["DBConnection"];
SqlConnection DBConnection = new SqlConnection();
65
DataTable table = new DataTable();
string message = string.Empty;
try
{
DBConnection.ConnectionString =
connectionString.ConnectionString;
DBConnection.Open();
string loginQuery = @"SELECT * FROM donordetails WHERE
donorno = @donorno";
DBConnection.Close();
txtdonornm.Text = table.Rows[0]["name"].ToString();
txtaddr.Text = table.Rows[0]["address"].ToString();
txtaadharcard.Text = table.Rows[0]["aadharno"].ToString();
txtmobno.Text = table.Rows[0]["contactno"].ToString();
txtemailid.Text = table.Rows[0]["emailid"].ToString();
txtrelativecontactno.Text =
table.Rows[0]["relativecontactno"].ToString();
txtskincolour.Text = table.Rows[0]["skincolour"].ToString();
txtskinthickness.Text = table.Rows[0]["skinthickness"].ToString();
txtdonorno.Text = lbldonorno.Text;
ddlstatus.Text = table.Rows[0]["status"].ToString();
txtallergydetails.Text = table.Rows[0]["allergydetails"].ToString();
txtapplieddate.Text = (table.Rows[0]["skinapplieddate"] ==
DBNull.Value ? ""
:Convert.ToDateTime(table.Rows[0]["skinapplieddate"]).ToString("dd'-
'MMM'-'yyyy"));
txtcanerdetails.Text = table.Rows[0]["cancerdetails"].ToString(); txtdeathdate.Text
= (table.Rows[0]["deathdate"] == DBNull.Value ?
"" : Convert.ToDateTime(table.Rows[0]["deathdate"]).ToString("dd'-'MMM'-
'yyyy"));
txtdob.Text = (table.Rows[0]["dateofbirth"] == DBNull.Value ? "" :
Convert.ToDateTime(table.Rows[0]["dateofbirth"]).ToString("dd'-'MMM'-
'yyyy"));
txtmedicalhistory.Text = table.Rows[0]["medicalhistory"].ToString();
66
txtpatientname.Text = table.Rows[0]["patientname"].ToString();
txtpreservationdate.Text = (table.Rows[0]["preservationdate"] ==
DBNull.Value ? "" :
Convert.ToDateTime(table.Rows[0]["preservationdate"]).ToString("dd'-
'MMM'-'yyyy"));
txttbdetails.Text = table.Rows[0]["tbdetails"].ToString();
ddlbloodgroup.Text = table.Rows[0]["bloodgroup"].ToString();
ddldonationstatus.Text = table.Rows[0]["donationstatus"].ToString();
ddlhivstatus.Text = table.Rows[0]["hivstatus"].ToString(); ddlstatus.Text
= table.Rows[0]["status"].ToString(); ddlwishtodonatestatus.Text =
table.Rows[0]["wishtoddonate"].ToString();
btnupdate.Style.Add("display", "inline");
btnAdd.Style.Add("display", "none");
}
catch (Exception ex)
{
message = "Error occurred while retrieving the donor details";
ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
"editmsg", "javascript: alert('" + message + "');", true);
}
finally
{
if (DBConnection.State == System.Data.ConnectionState.Open)
{
DBConnection.Close();
}
}
}
try
{
DBConnection.ConnectionString =
connectionString.ConnectionString;
DBConnection.Open();
String UpdateQuery = "";
DBCommand.Parameters.AddWithValue("@deathdate",
(txtdeathdate.Text == "" ? DBNull.Value :
(object)DateTime.ParseExact(txtdeathdate.Text, "dd'-'MMM'-'yyyy", null)));
DBCommand.Parameters.AddWithValue("@name",
txtdonornm.Text);
DBCommand.Parameters.AddWithValue("@address", txtaddr.Text);
DBCommand.Parameters.AddWithValue("@dateofbirth",
txtdob.Text);
DBCommand.Parameters.AddWithValue("@aadharno",
txtaadharcard.Text);
DBCommand.Parameters.AddWithValue("@contactno",
txtmobno.Text);
DBCommand.Parameters.AddWithValue("@emailid",
txtemailid.Text);
DBCommand.Parameters.AddWithValue("@relativecontactno",
txtrelativecontactno.Text);
DBCommand.Parameters.AddWithValue("@skincolour",
68
txtskincolour.Text);
DBCommand.Parameters.AddWithValue("@skinthickness",txtskinthickness.Text);
DBCommand.Parameters.AddWithValue("@status", ddlstatus.Text);
DBCommand.Parameters.AddWithValue("@wishtoddonate",
ddlwishtodonatestatus.Text);
DBCommand.Parameters.AddWithValue("@donationstatus",
ddldonationstatus.Text);
DBCommand.Parameters.AddWithValue("@hivstatus",
ddlhivstatus.Text);
DBCommand.Parameters.AddWithValue("@bloodgroup",ddlbloodgroup.Text);
DBCommand.Parameters.AddWithValue("@allergydetails",
txtallergydetails.Text);
DBCommand.Parameters.AddWithValue("@cancerdetails",
txtcanerdetails.Text);
DBCommand.Parameters.AddWithValue("@tbdetails",
txttbdetails.Text);
DBCommand.Parameters.AddWithValue("@medicalhistory",
txtmedicalhistory.Text);
DBCommand.Parameters.AddWithValue("@preservationdate",
(txtpreservationdate.Text == "" ? DBNull.Value :
(object)DateTime.ParseExact(txtpreservationdate.Text, "dd'-'MMM'-'yyyy",null)));
DBCommand.Parameters.AddWithValue("@skinapplieddate", (txtapplieddate.Text
== "" ? DBNull.Value : (object)DateTime.ParseExact(txtapplieddate.Text, "dd'-'MMM'-'yyyy",
null)));
DBCommand.Parameters.AddWithValue("@patientname",
txtpatientname.Text);
DBCommand.Parameters.AddWithValue("@createdby",
Session["userid"]);
DBCommand.Parameters.AddWithValue("@createddate",
DateTime.Now);
DBCommand.Parameters.AddWithValue("@lupdby",
Session["userid"]);
DBCommand.Parameters.AddWithValue("@lupddate",
DateTime.Now);
DBCommand.Parameters.AddWithValue("@donorno",
txtdonorno.Text);
initializeFieldsValues();
GetTableWithInitialData();
}
}
pnlpatientdetail_CollapsiblePanelExtender.Collapsed = true;
pnlpatientdetail_CollapsiblePanelExtender.ClientState = "true";
}
}
try
70
{
DBConnection.ConnectionString =
connectionString.ConnectionString;
DBConnection.Open();
DBAdapter.Fill(table);
DBConnection.Close();
}
catch (Exception ex)
{
}
finally
{
if (DBConnection.State == System.Data.ConnectionState.Open)
{
DBConnection.Close();
}
}
if (table.Rows.Count == 0)
{
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alert",
"alert('No existing patients found.');", true);
{
gvpatientdetails.DataSource = table;
gvpatientdetails.DataBind();
}
}
71
5.2.1 CODE EFFICIENCY
Code efficiency is a broad term used to depict the reliability, speed and
programming methodology used in developing codes for an application.
Code efficiency is directly linked with algorithmic efficiency and the
speed of runtime execution for software.
It is the key element in ensuring high performance. The goal of code
efficiency is to reduce resource consumption and completion time as much
as possible with minimum risk to the business or operating environment.
The software product quality can be accessed and evaluated with the help
of the efficiency of the code used.
72
5.3 TESTING APPROACHES
Test Approach:
A test approach is the test strategy implementation of a project, defines
how testing would be carried out. Test approach has two techniques:
Proactive - An approach in which the test design process is initiated as
early as possible in order to find and fix the defects before the build is
created.
Reactive - An approach in which the testing is not started until after
design and coding are completed.
Different Test approaches:
There are many strategies that a project can adopt depending on the
context and some of them are:
Dynamic and heuristic approaches
Consultative approaches
Model-based approach that uses statistical information about failure
rates.
Approaches based on risk-based testing where the entire development
takes place based on the risk
Methodical approach, which is based on failures.
Standard-compliant approach specified by industry-specific standards.
Factors to be considered:
Risks of product or risk of failure or the environment and the company.
Expertise and experience of the people in the proposed tools and
techniques.
Regulatory and legal aspects, such as external and internal regulations of
the development process.
The nature of the product and the domain
73
5.3.1 UNIT TESTING
74
5.3.2 INTEGRATION TESTING
• Bottom Up Integration
Hybrid Integration
75
5.2.1 BETA TESTING
Beta testing also known as user testing takes place at the end users site by
the end users to validate the usability, functionality, compatibility, and
reliability testing.
Beta testing adds value to the software development life cycle as it allows
the "real" customer an opportunity to provide inputs into the design,
functionality, and usability of a product.
These inputs are not only critical to the success of the product but also an
investment into future products when the gathered data is managed
effectively.
Beta Testing - In SDLC
The following diagram explains the fitment of Beta testing in the
software development life cycle:
76
5.4 MODIFICATIONS AND IMPROVEMENTS
appeal or functionality.
A modification may include a change to a product's shape, adding a
77
5.5 TEST CASE
78
Test Case Chart
Test Steps to be Expected Result Actual Status
case executed Result
No
79
Enter donor The SkinBank will display Information
details the donor details will bedisplay
10 Pass
80
Chapter 6
6.1 OUTPUT
81
ABOUT US
82
SERVICES
83
CONTACT
84
LOGIN
85
PATIENT DETAILS
86
HOSPITALS DETAILS
87
DONORS DETAILS
88
PATIENTS REPORT
89
DONOR REPORT
90
SEARCH DONOR
91
6.2 USER DOCUMENTATION
92
CHAPTER 7
CONCLUSIONS
CONCLUSIONS
The main purpose of this project was to implement and providing and
donating of skin process which is very effective in today's world.
This project will help to keep a check on availability of donor and it is
very helpful for hospitals as well as for intended patients.
One can remain care-free as this system updates the status donor patient
and types of skin and amount of skin on time to time basis.
93
7.1 SIGNIFICANCE OF SYSTEM
• Preservation Date
• Applied Date
The website makes sure about the speedy and flawless operation and
categorizing of the routines as per different genres.
Such a structure, also make available an option for the admin to collect all
the basic details displayed in the database.
94
7.2 LIMITATIONS OF THE SYSTEM
Using manual Skin Bank, we have to make the whole Donors and
patients report which contains the record of the consignments. It
requires more time & more calculation.
In Skin Bank the rate of each color of skin is fixed. The rate of skin
is depending on the amount of the skin and type and color. So, the
calculation of rate & monthly income is not done easily.
In Skin Bank, the payment is made in credit or cash. So, for the
billing procedure for the customer, we have to refer all the records
in donating ang providing of Skin Report. For these reasons this
task is more time consuming.
95
And we need to create a user side so that user can search the programmes
like on google and we need to add feature of pre-enrollment.
96
7.4 REFERENCES
Also:
http://www.google.com
http://www.uml.org/
http://www.w3schools.com
http://lucidchart.com/
http://asp.net-tutorials.com/
www.studentprojectcode.com
www.bestprojectsidea.com
97