srs final
TRANSCRIPT
1
Sagacious Software Requirements Specification Version 2.0
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
Blood DonorDatabase
April 5
2012Software Requirements Specifications Version 2.0
Team Name:
Sagacious Team Members:
Maulik Sanghavi Sowmya Iyer Shrey Shah Udit Chitalia
Faculty Guide:
Prof. Seema Shrawane
Veermata
Jijabai
Technological
Institute
2
Sagacious Software Requirements Specification Version 2.0Blood Donor Database Version 2.0
Software Requirements Specification 05-04-2012
Sagacious
Table of Contents1 Introduction...................................................................................................................................5
1.1 Purpose..................................................................................................................................5
1.2 Scope.....................................................................................................................................5
1.3 Definition, Acronyms, and Abbreviations..............................................................................7
1.4 References.............................................................................................................................9
1.5 Technologies to be used........................................................................................................9
1.6 Tools to be Used....................................................................................................................9
1.7 Localization............................................................................................................................9
1.8 Overview................................................................................................................................9
2 Overall Description........................................................................................................................9
2.1 Product Perspective.............................................................................................................10
2.2 Product Function.................................................................................................................10
2.3 User Characteristics.............................................................................................................10
2.4 Constraints...........................................................................................................................10
2.5 Use case model survey:.......................................................................................................11
2.5.1 Use Case.......................................................................................................................12
2.6 Database Design..................................................................................................................13
2.6.1 ER diagram...................................................................................................................13
2.6.2 XML Database Schema.................................................................................................14
2.7 Activity diagram...................................................................................................................23
2.7.1 Affiliate.........................................................................................................................23
2.7.2 Blood for relative.........................................................................................................24
2.7.3 Blood from particular donor........................................................................................25
2.7.4 Delete Account............................................................................................................26
2.7.5 Edit profile...................................................................................................................26
2.7.6 Change password.........................................................................................................27
2.7.7 Create account by donor..............................................................................................28
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
3
Sagacious Software Requirements Specification Version 2.02.7.8 Update blood store......................................................................................................29
2.7.9 Sign in..........................................................................................................................30
2.7.10 Search donor................................................................................................................31
2.7.11 Give points...................................................................................................................31
2.7.12 Blood to Relative..........................................................................................................32
2.7.13 Create account by organisation...................................................................................33
2.7.14 Create Event................................................................................................................34
2.8 Assumptions and Dependencies..........................................................................................35
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
4
Sagacious Software Requirements Specification Version 2.0
Software Requirements Specification
1 Introduction
1.1 PurposeBlood donors’ database is a web-portal in which organizations like blood banks, hospitals and
NGOS can sign up as members and also any individual wanting to donate blood can become a member. This project is an attempt to make the transfer of blood between blood banks and hospitals secure, simple and to ensure that blood donated by citizens is used for the intended purpose and not misused, which is a very common occurrence these days.
It helps to avoid the entire official paper work as all exchange of information is done through the internet. This brings in a very systematic and organised approach to blood donation and blood availability for patients and helps in handling emergency situations more effectively. Also, it helps to promote social awareness amongst individuals about the little role they can play in contributing to the society by donating blood.
1.2 Scope An organisation (blood, bank hospital and NGO) wanting to become a part of the website
must fill in all the mandatory details. Admin will verify the authenticity of the organisation and if the organisation is really secure for the website, a randomly generated password will be sent to the organisations’ email id.
A user who wishes to can create his account must fill in all the mandatory details .A randomly generated password is then sent to his email id.
The users (the account holders) and the organisations can log in to their respective accounts by providing the username(email id) and the password.
Both users and organisations can view and also edit their respective profiles and change their passwords.
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
5
Sagacious Software Requirements Specification Version 2.0 Every time a user donates blood, he receives points. Blood store is the quantity of blood of each blood group in a blood bank. Every blood group
has a threshold value for its quantity and when this threshold is reached, the blood bank will not give away this blood group(unless there is an emergency).
Through its account, a blood bank can do the following things:o It can search for a donor by state, city, blood group and other such parameters. The
search should be efficient enough to find donors, whose health reports are good and who have not donated blood in the last three months. Also, the search should not give the same donor names every time. It must be random.
o It must notify the selected donors the place where they need to come to donate blood (in most cases address of the blood bank) along with a deadline date before which blood must be donated (because blood bank would notify more donors in every fixed time span).
o It can update its blood store whenever an individual donates blood to the bank. If the individual is an account holder in the web site, points of the account holder must be incremented.
Any organisation(blood bank, NGO) may arrange events like blood donation camps, health awareness camps etc and these details are posted in the organisations’ profile(account)
Organisations must keep a check on the number of attendees of the event to making necessary arrangements.
Admin can view the details of the all account holders and organizations. Through his account the user can do the following things:
o He can request blood from another user. This is done by filling a form which must be submitted. Admin will verify the reason for this demand and if the reason is valid and the transaction is secure, both the parties will be notified.
o He can request blood for a relative. All the details of the relative must be filled in a form which must be submitted. The user with highest points get first priority. After blood is given to the user’s relative, the user’s points are decremented.
o He can browse through profiles of the various organizations which are a part of the website and affiliate with an organisation if he wishes to.
o He can confirm whether he is attending or nor attending an event of a particular organisation.
o A user can update his health status on his profile. So if he is unfit, he would not appear in the search of any blood bank.
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
6
Sagacious Software Requirements Specification Version 2.0 A non-member (not an account holder) may only view the various organizations, their details
and can confirm whether he is attending or not attending an event. He cannot view the details of account holders. He can sign up and become an account holder on the website.
1.3 Definition, Acronyms, and Abbreviations
Organization: It refers to a blood bank, hospital or NGO which is registered with the web site.
User/account holder: User or account holder refers to an individual who is a registered member of the
website and may be asked to donate blood
Admin:Administrator (super user) refers to the managing body of the blood bank having all
access privileges etc.
Non-member:Non-member refers to an unregistered user who has no other permissions other than
that of viewing the details of organisations.
Relative:Any relative or close friend for whom a donor wishes to request blood through the website by losing his points.
Points:A certain value given to a donor whenever he donates blood, which is decremented by some value when the donor’s relative, is given blood.
SRS:
Software Requirements Specification
HTTP:Hyper-Text Transfer Protocol is a transaction-oriented client/server protocol between the
web-browser and the web server.
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
7
Sagacious Software Requirements Specification Version 2.0 HTTPS:
Secure Hyper-Text Transfer Protocol is a HTTP over SSL (secure sockets layer) or its successor, TLS (Transport Layer Security)
TCP/IP:Transmission Control Protocol/Internet Protocol is the suite of communication protocols to
connect various hosts on net. It uses several protocols, the two main ones being TCP and IP.
HTML (Hyper Text Markup Language): It is used to create static web pages.
JSP (Java Server Pages): It is used to create dynamic web content.
J2EE (Java 2 Enterprise Edition):It is a programming platform, belonging to the Java platform, which is used for developing and
running distributed java applications
WASCE (WebSphere Application Server Community Edition):It is an application server that runs and supports the J2EE and the web service applications.
DB2 (IBM Database 2):It is a database management system that provides a flexible and efficient database platform
to raise a strong "on demand" business applications.
1.4 References IEEE SRS Format IBM TGMC Sample Synopsis. Problem Statement: Provided by IBM Joseph Schmuller: ‘Teach Yourself UML in 24 Hours, Third Edition’.
1.5 Technologies to be used HTML: Hyper Text Markup Language XML: Extensive Mark Up Language JAVA: Application architecture J2EE: Application architecture AJAX: Asynchronous Java script And XML
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
8
Sagacious Software Requirements Specification Version 2.0
1.6 Tools to be Used Rational Rose Rational Application Developer: Integrated Development Environment DB2: Database WAS: Web sphere Application Server 6.0
1.7 LocalizationThe system will initially be available in one language – English.Support for other languages will be added later.
1.8 OverviewThe remainder of this document is two chapters:• Overall Description: It will describe the major components of the system, interconnection andexternal interfaces.• Specific Requirements: It will describe the functions of actors, their role in the system andConstraints . Supplementary Specifications capture requirements that are not included in the useCases . They mainly include the non-functional requirements.
2 Overall DescriptionThis section is an overall description of the project, and describes the general factors that it isAffected by.
2.1 Product Perspective
Data is mainly stored in XML documents. The software provides easy storage and portability by the use of pure XML.
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
9
Sagacious Software Requirements Specification Version 2.0
2.2 Product Function Storing and maintaining Blood Donors' records: The main function of this system is to
store and maintain the information of Blood Donors and make them available quickly and at all times.
Maintaining Health details: The selection of Donors is made simpler by providing their Health details too.
2.3 User Characteristics The user should know the basics in operating a computer and searching on the web. The user should also have understanding of simple English.
2.4 Constraints Login and Password are used for determination of user. Guests are given nominal viewing
functionality. The system uses a single server. The 24 x 7 availability may be affected in case of maintenance of server, because of the use of
a single server.
2.5 Use case model survey:1) Administrator: Responsible for managing system users.
View all details: He can view all the details of all the members of the website. Authenticate hospitals, blood banks and NGO: If a hospital, blood bank or NGO wants to
become a part of the website, request must be approved by administrator. Verify: If a user requests blood from another user, the request is evaluated by administrator
and only then further proceedings can happen.
2) Organization (blood bank, hospital, NGO):They are the end users and have majority of functionalities, provided they are authenticated.
Search for donor by place: Blood banks can search for donors/users by state, city, blood group and other such parameters.
Provide points to blood donors: Whenever a donor donates blood to a blood bank and if the donor is a user of the website, his points are incremented.
Post announcements/Start campaign: Update blood store: Whenever a donor donates blood to a blood bank, the blood bank must
update the blood store , the quantity of the concerned blood group must be incremented.
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
10
Sagacious Software Requirements Specification Version 2.03) Users or Account holders: They are the end users and have majority of functionalities, provided they are authenticated.
Request blood from a particular donor: A blood donor can fill a form and request blood from a specific donor, this form is verified by administrator.
Request blood for relative: A blood donor can request blood for his relative from a particular blood bank.
Affiliate with an organisation: A user can affiliate with an organisation due to which he will receive notifications from that organisation.
Attending or not attending an event : A user can choose to attend or nor attend an event of an affiliated or non-affiliated organisation.
4) Non-members: They are not authenticated members of the website.
View details of organisations: He can view the details of all the registered organisations. Sign up: A non -member can sign up and become a member of the website.
2.5.1 Use Case
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
11
Sagacious Software Requirements Specification Version 2.0
2.6 Database Design
2.6.1 ER diagram
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
12
Sagacious Software Requirements Specification Version 2.0
2.6.2 XML Database Schema
<?xml version="1.0" encoding="utf-16"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="blooddonordatabase">
<xs:complexType>
<xs:sequence>
<xs:element name="admin">
<xs:complexType>
<xs:sequence>
<xs:element name="emailid" type="xs:string" />
<xs:element name="password" type="xs:string" />
<xs:element name="donortodonor">
<xs:complexType>
<xs:sequence>
<xs:element name="emailidto" type="xs:string" />
<xs:element name="emailidfrom" type="xs:string" />
<xs:element name="reason" type="xs:string" />
<xs:element name="requiredbloodgroup" type="xs:string" />
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
13
Sagacious Software Requirements Specification Version 2.0 </xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="verifyorganization" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="orgemailid" type="xs:string" />
<xs:element name="username" type="xs:string" />
<xs:element name="password" type="xs:string" />
<xs:element name="address" type="xs:string" />
<xs:element name="city" type="xs:string" />
<xs:element name="state" type="xs:string" />
<xs:element name="phonenumber" type="xs:decimal" />
<xs:element name="type" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="log" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="info" type="xs:string" />
</xs:sequence>
</xs:complexType>
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
14
Sagacious Software Requirements Specification Version 2.0 </xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" name="blooddonor">
<xs:complexType>
<xs:sequence>
<xs:element name="emailid" type="xs:string" />
<xs:element name="username" type="xs:string" />
<xs:element name="password" type="xs:string" />
<xs:element name="address" type="xs:string" />
<xs:element name="state" type="xs:string" />
<xs:element name="city" type="xs:string" />
<xs:element name="sex" type="xs:string" />
<xs:element name="bloodgroup" type="xs:string" />
<xs:element name="healthstatus" type="xs:string" />
<xs:element name="lastdonateddate" type="xs:dateTime" />
<xs:element name="birthday" type="xs:dateTime" />
<xs:element name="phonenumber" type="xs:decimal" />
<xs:element name="points" type="xs:int" />
<xs:element name="affiliatedorgs" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
15
Sagacious Software Requirements Specification Version 2.0 <xs:element name="data" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="emailid" type="xs:string" />
<xs:element name="name" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="bloodbank" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="orgemailid" type="xs:string" />
<xs:element name="username" type="xs:string" />
<xs:element name="password" type="xs:string" />
<xs:element name="address" type="xs:string" />
<xs:element name="city" type="xs:string" />
<xs:element name="state" type="xs:string" />
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
16
Sagacious Software Requirements Specification Version 2.0 <xs:element name="phonenumber" type="xs:decimal" />
<xs:element name="bloodstore" maxOccurs="1" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Apos" type="xs:int" />
<xs:element name="Aneg" type="xs:int" />
<xs:element name="ABneg" type="xs:int" />
<xs:element name="ABpos" type="xs:int" />
<xs:element name="Opos" type="xs:int" />
<xs:element name="Oneg" type="xs:int" />
<xs:element name="Bpos" type="xs:int" />
<xs:element name="Bneg" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="event" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="eventname" type="xs:string" />
<xs:element name="scheduleddatefrom" type="xs:dateTime" />
<xs:element name="scheduleddatetill" type="xs:dateTime" />
<xs:element name="description" type="xs:string" />
<xs:element name="timefrom" type="xs:dateTime" />
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
17
Sagacious Software Requirements Specification Version 2.0 <xs:element name="timetill" type="xs:dateTime" />
<xs:element name="venue" type="xs:string" />
<xs:element name="address" type="xs:string" />
<xs:element name="personincharge" type="xs:string" />
<xs:element name="contactnumber" type="xs:decimal" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="feedback" type="xs:string" />
<xs:element name="relativeinfo" >
<xs:complexType>
<xs:sequence>
<xs:element name="donoremailid" type="xs:string" />
<xs:element name="relativeemailid" type="xs:string" />
<xs:element name="name" type="xs:string" />
<xs:element name="surname" type="xs:string" />
<xs:element name="address" type="xs:string" />
<xs:element name="state" type="xs:string" />
<xs:element name="city" type="xs:string" />
<xs:element name="sex" type="xs:string" />
<xs:element name="bloodgroup" type="xs:string" />
<xs:element name="dateofbirth" type="xs:dateTime" />
<xs:element name="phonenumber" type="xs:decimal" />
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
18
Sagacious Software Requirements Specification Version 2.0 <xs:element name="points" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="affiliatedmembers" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="data">
<xs:complexType>
<xs:sequence>
<xs:element name="emailid" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ngo-hospital" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
19
Sagacious Software Requirements Specification Version 2.0 <xs:element name="orgemailid" type="xs:string" />
<xs:element name="username" type="xs:string" />
<xs:element name="password" type="xs:string" />
<xs:element name="address" type="xs:string" />
<xs:element name="state" type="xs:string" />
<xs:element name="city" type="xs:string" />
<xs:element name="phonenumber" type="xs:decimal" />
<xs:element name="event">
<xs:complexType>
<xs:sequence>
<xs:element name="eventname" type="xs:string" />
<xs:element name="scheduleddatefrom" type="xs:dateTime" />
<xs:element name="scheduleddatetill" type="xs:dateTime" />
<xs:element name="description" type="xs:string" />
<xs:element name="timefrom" type="xs:dateTime" />
<xs:element name="timetill" type="xs:dateTime" />
<xs:element name="venue" type="xs:string" />
<xs:element name="address" type="xs:string" />
<xs:element name="personincharge" type="xs:string" />
<xs:element name="contactnumber" type="xs:decimal" />
</xs:sequence>
</xs:complexType>
</xs:element>
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
20
Sagacious Software Requirements Specification Version 2.0 <xs:element name="affiliatedmembers">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="data">
<xs:complexType>
<xs:sequence>
<xs:element name="emailid" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
21
Sagacious Software Requirements Specification Version 2.0
2.7 Activity diagram
2.7.1 Affiliate
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
22
Sagacious Software Requirements Specification Version 2.02.7.2 Blood for relative
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
23
Sagacious Software Requirements Specification Version 2.0
2.7.3 Blood from particular donor
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
24
Sagacious Software Requirements Specification Version 2.0
2.7.4 Delete Account
2.7.5 Edit profile
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
25
Sagacious Software Requirements Specification Version 2.0
2.7.6 Change password
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
26
Sagacious Software Requirements Specification Version 2.02.7.7 Create account by donor
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
27
Sagacious Software Requirements Specification Version 2.02.7.8 Update blood store
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
28
Sagacious Software Requirements Specification Version 2.02.7.9 Sign in
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
29
Sagacious Software Requirements Specification Version 2.02.7.10 Search donor
2.7.11 Give points
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
30
Sagacious Software Requirements Specification Version 2.0
2.7.12 Blood to Relative
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
31
Sagacious Software Requirements Specification Version 2.02.7.13 Create account by organisation
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
32
Sagacious Software Requirements Specification Version 2.02.7.14 Create Event
Date 5/04/12 Sagacious/Maharashtra 2012 Page no
33
Sagacious Software Requirements Specification Version 2.0
2.8 Assumptions and Dependencies• The admin is created in the system already• The end user should have a basic knowledge of English and computer usage
Date 5/04/12 Sagacious/Maharashtra 2012 Page no