srs final

40
1 Sagacious Software Requirements Specification Version 2.0 Date 5/04/12 Sagacious/Maharashtra 2012 Page no Blood Dono r Database April 5 201 2 Softwar e Requirement s Specificat ions Versio n 2. 0 Team Name : Sagacio us Team Members : Maulik Sanghavi Sowmya Iyer Shrey Shah Udit Chitalia Facult y Guide : Pro f. Seema Shrawan e Veermat a Jijabai Technological Institut e

Upload: shrey-shah

Post on 17-Oct-2014

667 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Srs Final

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

Page 2: Srs Final

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

Page 3: Srs Final

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

Page 4: Srs Final

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

Page 5: Srs Final

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

Page 6: Srs Final

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

Page 7: Srs Final

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

Page 8: Srs Final

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

Page 9: Srs Final

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

Page 10: Srs Final

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

Page 11: Srs Final

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

Page 12: Srs Final

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

Page 13: Srs Final

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

Page 14: Srs Final

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

Page 15: Srs Final

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

Page 16: Srs Final

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

Page 17: Srs Final

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

Page 18: Srs Final

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

Page 19: Srs Final

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

Page 20: Srs Final

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

Page 21: Srs Final

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

Page 22: Srs Final

22

Sagacious Software Requirements Specification Version 2.02.7.2 Blood for relative

Date 5/04/12 Sagacious/Maharashtra 2012 Page no

Page 23: Srs Final

23

Sagacious Software Requirements Specification Version 2.0

2.7.3 Blood from particular donor

Date 5/04/12 Sagacious/Maharashtra 2012 Page no

Page 24: Srs Final

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

Page 25: Srs Final

25

Sagacious Software Requirements Specification Version 2.0

2.7.6 Change password

Date 5/04/12 Sagacious/Maharashtra 2012 Page no

Page 26: Srs Final

26

Sagacious Software Requirements Specification Version 2.02.7.7 Create account by donor

Date 5/04/12 Sagacious/Maharashtra 2012 Page no

Page 27: Srs Final

27

Sagacious Software Requirements Specification Version 2.02.7.8 Update blood store

Date 5/04/12 Sagacious/Maharashtra 2012 Page no

Page 28: Srs Final

28

Sagacious Software Requirements Specification Version 2.02.7.9 Sign in

Date 5/04/12 Sagacious/Maharashtra 2012 Page no

Page 29: Srs Final

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

Page 30: Srs Final

30

Sagacious Software Requirements Specification Version 2.0

2.7.12 Blood to Relative

Date 5/04/12 Sagacious/Maharashtra 2012 Page no

Page 31: Srs Final

31

Sagacious Software Requirements Specification Version 2.02.7.13 Create account by organisation

Date 5/04/12 Sagacious/Maharashtra 2012 Page no

Page 32: Srs Final

32

Sagacious Software Requirements Specification Version 2.02.7.14 Create Event

Date 5/04/12 Sagacious/Maharashtra 2012 Page no

Page 33: Srs Final

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