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.
Overall Description............................................................................... 7
1.1.1
Product Functions............................................................................ 7
1.1.2
User Characteristics........................................................................7
1.1.3
General Constraints.........................................................................7
1.1.4
1.2
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
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:
Process Model
We choose Waterfall model due to following reasons:
This model is choose because our requirements are very well known, clear
and fixed.
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.
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
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.
4. Reliability
5. Portability
CUSTOMER
login/registration
SUPPLIER
order
book details
availability
payment
delivery & tracking
feedback
ONLINE BOOKSTORE
stock
DFD
LEVEL
1:
cos
t
Books database
DFD
LEVEL
2:
total cost
Available
Book Details
books Information
feedback
Gener-ate Bill
order
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
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
Is performance critical?
10
11
12
13
14
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
2.2 Efforts
3. Scheduling
3.1 Schedule table
WORK TASKS
1. IDENTIFY NEEDS AND
BENEFITS
Meet with concerned members
SCHEDULE
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
PS
60%
PS
80%
Staff inexperienced
ST
30%
BU
50%
CU
30%
BU
40%
PS
50%
Loss of database
PS
50%
DE
70%
PS Product Size
IMPACT VALUES
1.CATASTROPHIC
2.CRITICAL
3.MARGINAL
4.NEGLIGIBLE
RISK INFORMATION SHEET
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.
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)
(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
10
5
Number of regions = 6
Therefore, cyclomatic complexity = 6
11
V (G) = E N + 2
=20 16 + 2
=6
13
8
165
14
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)
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
en.wikipedia.org