Anda di halaman 1dari 28

ONLINE BOOKSTORE

Software Engineering
Project Report
(CSHP - 410)

Submitted by:
Anjana (3192)
Anuj Sahu(3049)

Supervisor:
Dr. Anjali
Thukral

2014
Department of Computer Science
Keshav Mahavidyalaya
University of Delhi

Problem Statement..................................................................................................... 5
Process Model............................................................................................................. 6
1.

Software Requirement Specification........................................................7


1.1

Overall Description............................................................................... 7

1.1.1

Product Functions............................................................................ 7

1.1.2

User Characteristics........................................................................7

1.1.3

General Constraints.........................................................................7

1.1.4

Assumptions and Dependencies......................................................7

1.2

External Interface Requirements..........................................................7

1.2.1

User Interfaces................................................................................7

1.2.2

Hardware Interfaces........................................................................7

1.2.3

Software Interfaces.........................................................................7

1.3

Functional Requirements......................................................................7

1.3.1

FR 1................................................................................................. 7

1.3.2

FR 2................................................................................................. 7

1.3.3

FR n................................................................................................. 7

1.4

Performance Requirement....................................................................7

1.5

Design Constraints............................................................................... 7

1.6

Data Flow Diagram............................................................................... 7

1.7

Data Dictionary.................................................................................... 7

2.

Estimations.............................................................................................. 8
2.1

Function Points..................................................................................... 8

2.2

Efforts................................................................................................... 8

3.

Scheduling............................................................................................... 9

4.

Risk Management.................................................................................. 10

5.

Design................................................................................................... 11
5.1

System Design.................................................................................... 11

5.2

Data Design........................................................................................ 11

6.

Coding................................................................................................... 12

7.

Testing................................................................................................... 13

8.

References............................................................................................. 14

Problem Statement
The software to be designed is for a book store that wishes to go online.It is to be
developed to improve the efficiency for customer.
The important features to be developed includes:

Login/Registration module require customer to login into the system or he can


create an account if he not yet have one.
Order module require customer to enter the book detailed that he wants to
buy.
Book detail(s) module allows the system to keep book information in detailed
by name,author,publisger etc.
Stock management will tell about the quantity of books left in store.
Payment module allows the customer to online payment or cash on delivery.
Delivery and tracking module gives the information about tracking and by
whom it is delivered.
User feedback module
Interfaces for three roles viz. customer, administrator and supplier

Process Model
We choose Waterfall model due to following reasons:

This model is choose because our requirements are very well known, clear
and fixed.

Product definition is stable.

There are no ambiguous requirements in our project.

The project is short.

This model is simple and easy to understand and use.

It is easy to manage due to the rigidity of the model each phase has
specific deliverables and a review process.

In this model phases are processed and completed one at a time. Phases do
not overlap.

Waterfall model works well for smaller projects where requirements are very
well understood.

1. Software Requirement Specification


1.1 Overall Description
The rest of the document deals with all the main features of this software. It not
only describes various functions but also gives details about how these functions
are related to each other. Apart from the data flow diagrams, the document also
contains cost estimates for developing this system. Various risks associated with the
system have also been mentioned along with the ways to mitigate them.
The timeline chart describing how the entire project was scheduled has been
attached followed by the architectural design of the software. At the end a pseudo
code for the online bookstore has been provided. A flow graph has been
generated corresponding to this module, cyclomatic complexity has been computed
and test cases that were used to test the system have also been mentioned.

1.1.1 Product Functions

The Online bookstore software is an independent web based application. There


are various user interfaces related with this software. These interfaces help the user
to interact with the software and provide the necessary information for online
bookstore.
The entire functionality of this software can be subdivided into fields/modules. The
names of the fields involved in the airline reservation system are
1. Registration/login
2. Books details
3. Order
4. Payment
5. Delivery & tracking
6. User feedback

1.1.2 User Characteristics


There are 3 types of users of this software:

Customer

Administrator

Supplier

Customers are using for viewing and buying the books.Customer can also write
feedbacks for books and services.
Administrator can add,edit and delete products and provide services to the
customer.
Administrator can see the daily sell of the books,can also see the feedback given by
the customers.Administrator maintains the deliveries.
Supplier can use the system to see the product,their prices and quantity available
profit and lose.
1.1.3 General Constraints

The interface will be in English only.

The system is working for single server.

GUI features available.

1.1.4 Assumptions and Dependencies


The product does require back-end database server MySQL for storing the username
and
Password for different types of user of the system.
ASSUMPTIONS:

User must be trained for basic computer functionality.

User must have basic knowledge of English.

The system must be able to respond to database software


within reasonable time

1.2 External Interface Requirements


1.2.1 User Interfaces
User of the system will be provided with the Graphical user interface,there is no
Command line interface for any function.
1.2.2 Hardware Interfaces
Hardware requirement will be same for the both the parties which are follows:

Processor- Pentium I or above.

Ram 128MB or above.

1.2.3 Software Interfaces


Software required to make for working of our online bookstore is:

Operating system: Windows XP/Vista/7 or later version, Linux OS which


supports Networking.

Java development tool kit.

1.3 Functional Requirements.


The system must provide following functionality:
1.3.1 Order
This module basically deals with the order of the books. It accepts book name ,
retrieve book details, calculate price based on selected book. After it payment
process start then the book is delivered to the customer .

1.3.2 Cancellation
Once the order of book has done, it can be cancelled or seen by this module. It
accepts order ID verifies it with the database. On successful confirmation by the
customer it can cancel the order. Further, it will update the bookstore database and
the payment gateway to issue refund.
1.3.3 Search
This module retrieves the details of the books. It accepts book name or subject and
course name and then retrieves the details of the particular book or all the books
from particular subject or course name.

1.4 Performance Requirement


1. Any number of users can access the system at any time and maintain
speed at
maximum.
2. Server will be working whole 24x7 times.
3. Security

4. Reliability
5. Portability

1.5 Design Constraints

This Software can be installed on Personal Computers, Tablets or Smart


phones.

For security reasons, Login Id & Password must be provided.

1.6 Data Flow Diagram


DFD LEVEL 0:

CUSTOMER

login/registration

SUPPLIER

order
book details
availability
payment
delivery & tracking
feedback

ONLINE BOOKSTORE

stock

Order id & cost

DFD
LEVEL
1:

cos
t

Books database

Generate order idcost


and

Available book details

DFD
LEVEL
2:

total cost

Retrive & display

Available
Book Details

books Information
feedback

Gener-ate Bill
order

User Details and payment

Order ID

Customer

Update database
fee
d
ba
ck

Acknowledgement Order id

CUSTOMER
RECORDS

Cancell-ation

AVAILABILITY
BOOKS

CHECK
OF

ORDERED BOOKS
CUSTOMER

STOCKS
AVAILABILITY

BOOK
DATABASE

COLLECTING
INFORMATIOON

CUSTOMER
INFORMATION

CUSTOMER
RECORDS
PAYMEN
T

PAYMENT
MODE
UPDATE
DATABASE

COS
T
T

PAYMENT

ONLINE
PAYMENT

PAYMENT

CUSTOMER

1.7 Data Dictionary

TABLE 1:

S .no.

data

Customer info.

description

User name
login id
user id
password
2

Registration info
Fname +Mname+Lastname
Date of birth
Address
Phone number
Gender
E-mail id

Book Details
Book id
Book name
Author
Publishor
Price
Subject

order
Order ID
Total cost
Product details
Payment Details

2. Estimations
2.1 Function Points
Estimation of Complexity Weighing Factors

GRADE
VALUE
1

Does the system require reliable backup and recovery?

Are specialized data communications required to transfer


information to or from the application?

Are there distributed processing functions?

Is performance critical?

Will the system run in an existing, heavily utilized


operational environment?

Does the system require on-line data entry?

Does the on-line data entry require the input transaction to


be built over multiple screens or operations?

Are the ILFs updated online?

Are the inputs, outputs, files, or inquiries complex?

10

Is the internal processing complex?

11

Is the code designed to be reusable?

12

Are conversions and installations included in the design?

13

Is the system designed for multiple installations in different


organizations?

14

Is the application design to facilitate change and for ease of


use by the user?

VALUE ADJUSTMENT FACTORS, fi

48

1
5

INFORMATION
DOMAIN
VALUE

EST.
COUNT

WEIGHI
NG
FACTO
R

WEIGHI
NG
COUNT

1 EXTERNAL
INPUT`

2 EXTERNAL
OUTPUT

15

3 EXTERNAL
INQUIRIES

16

4 NUMBER
OF
LOGICAL
FILES

10

20

5 EXTERNAL
INTERFAC
E FILES

TOTAL

62

COMPUTING FUNCTION POINTS:


FP = COUNT TOTAL * (0.65 + 0.01 * fi )
= 62 * (0.65 + 0.01 * 48)
= 70.06

2.2 Efforts

The average productivity for this kind of system =6.5 FP/pm


Considering the labour rate=Rs. 8000
Cost per FP = 1230
Total efforts = FP (calculated) / average productivity
= 70.06 /6.5
=10.778 person months
Total cost for the project = Total efforts * labour rate
= 10.778 * 8000
= Rs. 86224

3. Scheduling
3.1 Schedule table
WORK TASKS
1. IDENTIFY NEEDS AND
BENEFITS
Meet with concerned members

SCHEDULE

Identify needs and project constraints


Establish problem statement
Milestone

Week 1
Week 2
Week 2

2. REQUIREMENT ANALYSIS
Detailed discussion of the project
Creating Data flow Diagram
Data Dictionary
Milestone

Week
Week
Week
Week

3
4
5
5

3. PROJECT MANAGEMENT
Computing F.P. and Effort
Schedule table
Risk table
Timeline Chart
Milestone

Week
Week
Week
Week
Week

5
6
7
8
8

4. DESIGN ENGINEERING
Architectural Design
Data Design
Pseudo Code
Milestone

Week
Week
Week
Week

8
9
9
10

5. TESTING

3.2 Timeline

Week 1

Week 12

Work Task

1.Theme of the
project
Identify needs
and benefits
Identify project
constraints
Milestone :
Project
statement
defined
2.Specify
product
requirement
Product
Perspective
Product
functions
User
characteristics
General
constraints
Milestone :
Product
requirements
specified
3.Forming Data
Flow Diagram
DFD Level 0
Data Dictionary
DFD Level 1
Milestone :Data
design complete
4.Project
Management

W
W1

W
W
2

W
W
3

W
W4

WW
5

WW
6

WW
7

WW
8

WW
9

WW1
0

WW1
1

WW1
2

Cost Estimation
Efforts
Risk Table
Milestone :

5.Design
Engineering
Architectural
Design
ER Diagram
Data Design
Milestone :
Design
document
complete
6.Creating
testing plans
Milestone :
Testing
complete

4. Risk Management

Risks

Category

Probability

Impact

Quality is not maintained

PS

60%

Customer will change requirements

PS

80%

Staff inexperienced

ST

30%

Delivery deadline will be tightened

BU

50%

Lack of cooperation from users

CU

30%

Lack of effective project managing technology

BU

40%

Inadequate estimation of required resources

PS

50%

Loss of database

PS

50%

Developing wrong user interface

DE

70%

PS Product Size

IMPACT VALUES

BU- Business Impact

1.CATASTROPHIC

CU- Customer Characteristics

2.CRITICAL

DE- Development environment

3.MARGINAL

ST- Staff Size

4.NEGLIGIBLE
RISK INFORMATION SHEET

RISK ID: DA-AS232

DATE:10/04/15

PROB: 50%

IMPACT:CATASTROPHIC

DESCRIPTION:
Due to various technical reasons or natural calamities, Database of the system
may be lost or damaged.
Refinement:
Subcondition1: Certain check points are recorded in the system periodically
Subcondition 2:As a part of check-pointing ,after every update in the database,
checkpoints are updated which states that the database is updated correctly till
that point.

Mitigation/Monitoring:
1. A copy of all the databases must be maintained side by side on a different
system. Also, it must be updated simultaneously.
2. A recovery tool must be designed which could recover the database according to
the check points.

Management
A special team is allocated for the recovery of the database as soon as possible.
The secondary databases which were maintained as a copy must be made primary
so that the working of the software is not affected.

Current Status : 15/04/15:Mitigation steps initiated.

Originator: Anjana Kumari


Anuj Sahu

5. Design
5.1 System Design
member

Supplier

update

data

search

data

Customer

delete

data

search

order

Book details

Payment

Entry in database

5.2Data Design
ER-Diagram:-

B_name
Name

Email_id
M

aurthor

Search

Customer

subject

b_id

Books
Publisher

1
Phone

Add.

Course name
Phone
Order
Comments
Transaction_id

Delivery&tracking

status

S_name
Status of order

Mode

1
Payment

Customer
Email_id

Name

Mobile

Book_id

Publisher

Address

Book
Book_name

Author

Price

Total_cost

Address

Generate Bill
Order_id

Name

Book_name

Payment
Order_id

6 Coding
found=0;

Transaction_id

Mode

cin>>a;

(1)

if(a=='Y')

(2)

{
gets(b_name);

(3)

while(!ifile.eof() && found==0)

(4)(5)

{
ifile.read((char*)&S1,sizeof(detail));

(6)

if(strcmp(b_name,S1.book_name)==0)
(7)
{

(8)
found=1;

}
}
}
else

(9)

{
gets(subject);

(10)

gets(author);

(11)

while(!ifile.eof())

(12)

{
ifile.read((char*)&S1,sizeof(detail));

(13)

if(strcmp(subject,S1.subject)==0&&strcmp(author,S1. author)==0)
(14)
{
found=1;

(15)

}
}
}
exit();

7 Testing
7.1 Flowgraph

(16)

Paths:

Path 1: 1 2 3 4 16
Path 2: 1 2 3 4 5 6 7 8 16

Path 3: 1 2 3 4 5 6 7 4 16
Path 4 : 1 2 9 10 12 16
3

Path 5: 1 2 9 10 11 12 13 14 15 16

Path 6: 1 2 9 10 11 12 13 14 12 16
4

7.2 Cyclomatic Complexity


Using Regions: -

10
5

Number of regions = 6
Therefore, cyclomatic complexity = 6

11

Using Edges & Nodes: 12

Number of Edges (E) = 20


Number of Nodes (N) =16

V (G) = E N + 2
=20 16 + 2
=6

13
8

Therefore, cyclomatic complexity = 6


Using Predicate Nodes: -

165

14

No. Of predicate Nodes (P) =5


V (G) = P+1
=5+1
=6
Therefore, cyclomatic complexity = 6

7.3 Test cases


Test Case 1:

15

When the user enters, Y(to the Ques. that whether he knows the book name).
Then the User enters the book name. ,
Program enters in while loop but the file does not exist or is empty.
& it exits

Test Case 2:
When the user enters , Y(to the Ques. that whether he knows the book name.).
Then the User enters the book name.
Then program enters in while loop, searches the whole file & the
corresponding book name is found.
& it exits

Test Case 3:
When the user enters, Y(to the Ques. that whether he knows the book name).
Then the User enters the book name.
Then program enters in while loop, searches the whole file but the
corresponding book name is not found .
& it exits

Test Case 4:
When the user enters N(to the Ques. that whether he knows the book name.)
Then the user enters the subject and course name.
Program enters in while loop but the file does not exist or is empty.
& it exits.

Test Case 5:
When the user enters N (to the Ques. that whether he knows the book name)

Then the user enters the subject and course name.


Then program enters in while loop, searches the whole file but the
corresponding set of subject and course name is not found.
& it exits.

Test case 6:
When the user enters N(to the Ques. that whether he knows the book name)
Then the user enters the subject and course name.
Then program enters in while loop , searches the whole file & the
corresponding sets of subject and course name is found.
& it exits.

8 References

www.google.co.in

Software Engineering: A Practitioners Approach by Roger S.Pressman

An Integrated Approach to Software Engineering by P.Jalote

en.wikipedia.org

Anda mungkin juga menyukai