Documentation
Documentation
Project Advisor
Submitted By:
Abdul Wahab (BSF1907825)
Muhammad Javed Naro (BSF1907789)
Session
BS Information Technology (2019-2023)
I dedicated this project to Allah Almighty, to the Glory, to my Creator, to my Mighty pillar. He
helped me and show me the right path. I am really thankful to Allah and my family whose
support and courage help me to learn Education. Allah Bless you All!!
2
Details
Project Title:
Online Book Store
Objective:
The main objective of the project is to create an online book store that allows
users to search and purchase a book online based on title, author and subject. The selected
books are displayed in a tabular format and the user can order their books online through
credit card payment. Using this Website the user can purchase a book online instead of going
out to a book store and wasting time.
Undertaken by:
Abdul Wahab (BSF1907825)
Supervised By:
Starting Date:
01-05-2023
Completion Date:
4-08-2023
Tool Used:
Visual Studio Code (Vs Code)
Operating System:
Windows 10
Documentation:
MS Word Professional
3
Supervisor’s Approval
I have carefully examined the documentation of the Final Year Project “Online Book Store” and
I endorse, that this documentation compiles with the standards of an undergraduate level Final
Year Project.
Moreover, I have also checked for the plagiarism beyond turning in the documentation and I
am convinced that this documentation is not polarized.
4
Table of Contents
Section.1 Vision Document
1. Introduction 8
2. Project Overview 8
2.1 Background 8
3. Requirement Specifications 9
3.3 Environment 11
2. Cost Estimate 15
2.1. COCOMO 15
5
Section 3.Architecture Design
1. Introduction 19
2. Architecture 19
3. Presentation Tier 20
4. Middle Tier 25
5. Data Tier 30
2. Items to be Inspected 31
Section.5.Test Plan
1. Test plan identifier 32
2. Introduction 32
3. Features to be tested 32
5. Approach 34
6. Pass/fail criteria 35
6
8. Test deliverables
2. Manual Testing 38
3. Test Cases 38
3.1 User 39
2. Project Overview
7
2.1 Background
There are many online book stores like Powell’s, Amazon which were designed using Html. I
want to develop a similar HTML, CSS. Online Book store is an online web application where the
customer can purchase books online. Through a web browser the customers can search for a
book by its title or author, later can add to the shopping cart and finally purchase using credit
card transaction. The user can login using his account details or new customers can set up an
account very quickly. They should give the details of their name, contact number and shipping
address. The user can also give feedback to a book by giving ratings on a score of five.
This project has the following functionalities:
2) Search
A search by keyword option is provided to the user using a textbox .The keyword to be entered should
be the book title.
3) Advanced Search
Advanced search helps the user to search for a book based on Title, Author, and Category and price
range. All the books which match the particular search criteria and their total count will be
displayed .From here the user can select a book and add to the shopping cart.
4) User Voting
The user can give rating to a book based on his interest. He can rate it by giving a score of five as
Excellent, four for very good, three for good, two for regular and one for deficient. The final rating of a
book will depend on all the individual user rating.
5) Shopping Cart
The user can manage a shopping cart which will include all the books he selected. The user can edit,
delete and update his shopping cart. A final shopping cart summary is displayed which includes all the
items the user selected and the final total cost.
8
7) Administration
The Administrator will be provided with special functionalities like
3. Requirement Specifications
All the requirements are specified using OCL a software specification language in the second phase of
my presentation.
9
Use Cases: Browse Catalog
1) Search for a Book
• Purpose: A user can search for a book of his choice by selecting category and title. Then a select query
is used to retrieve data from the database and display the selected information.
• Actor: User
• Input: The user will select a category and enter title in a text box provided.
• Output: The system will display the books which matches the selected search criteria. A dataset is
created as a result of select query. Later the dataset is binded to the data repeater to display the
selected data.
***** Excellent
**** Very Good
*** Good
** Regular
* Deficient
Maintain Account
Login
10
Output: If it is a successful login the user will be directed to the main
home page. Else if the user enters invalid information he will be asked
to check the entered information.
Update Profile
Logout
Purpose: If the user wants to end his session and sign out of the website then he can use
the logout option.
Actor: User
Input: The user will click the logout button.
Output: The user’s account session comes to an end and he should login again if he wants
to enter into the website.
Manage Shopping Cart
Place an order
11
Purpose: If the user wants to view the items he added to the shopping
cart then he can click the shopping cart link at the top of the page.
Actor: User
Input: The user will click the shopping cart link at the top of every page.
Output: The user’s shopping cart summary will be displayed in the form
of a tabular format with all the books and their quantity. A total cost of
all the items is also displayed at the bottom.
Purpose: If the user wants to view the items he added to the shopping
cart then he can click the shopping cart link at the top of the page.
Actor: User
Input: The user will click the shopping cart link at the top of every page.
Output: The user’s shopping cart summary will be displayed in the form
of a tabular format with all the books and their quantity. A total cost of
all the items is also displayed at the bottom.
Output: The updated books list will be displayed in the main home page
under their particular category.
Manage Orders
Logout
13
Purpose: If the Administrator wants to end his session and sign out of
the website then he can use the logout option.
Actor: Administrator
Input: The Administrator will click the logout button.
Output: The Administrator’s account session comes to an end and
he should login again if he wants to enter into the website.
1. Task Breakdown
The inception phase will define all the project’s requirements. This phase will
include the production of a Vision Document, a Project Plan, a Software Quality
Assurance Plan, and a Demonstration. Vision Document will include the
project’s requirements and overview. It includes overview of the project, its
purpose, goals, risks, constraints, and direction. It gives a listing of the main
requirements and their respective Use case models to illustrate the functionality.
Project Plan will detail the phases, iterations, and milestones that will comprise
the project. It will include a timeline for the project and a cost estimate for
completing this project. It includes the Architecture Elaboration plan will define
the activities and actions that must be accomplished before the Architecture
Presentation. Software Quality Assurance Plan describes the required
documentation, standards and conventions test tracking and problem reporting,
and tools used during the project. The plan will also identify the set of quality
metrics used to assess product reliability. Demonstration of at least one
executable prototype is required. Projects with a graphical user interface will
include an executable prototype of the user interface.
This phase will be complete once the supervisory committee has approved all
the above work.
The elaboration phase defines the project’s architecture. This phase will include
the production of revisions to the Project Plan and the Vision Document, an
Architecture Design Plan, a formal specification, Test Plan, Formal Technical
Inspection and Architecture Prototype.
14
updated in the updated version of Vision Document. Revision of Project Plan
will include updated timeline and cost estimate for the project. It also includes
The Implementation plan which will define the activities and actions that must
be accomplished during implementation. Formal Specification will include
OCL. Architecture Design Plan will include the complete architectural design
documentation using appropriate diagrams such as class diagrams,
sequence/collaboration diagrams, etc. It also includes documentation of reuse of
commercial or pre-existing components. Test Plan will address the required tests
to show that the product satisfies the requirements. The test plan will identify a
set of test cases.
Cost Estimate
COCOMO
Project effort and time will be estimated using the COCOMO estimation model
(Barry Boehm).
The Online Book store has an average complexity and fair flexibility. Therefore,
it is classified as an organic mode project under the COCOMO model. The
following formula is the COCOMO model for cost estimation for organic mode
projects:
Effort = 3.2 * EAF * (Size) ^ 1.05
Time = 2.5 * (Effort) ^
0.38
Where Effort =
number of
staff
months
(PM) EAF
= effort
adjustmen
t factor
Size = number of lines of code for completed
product. It is measured in KLOC
(thousands of lines of codes)
Time = total number of months
15
STOR Main storage constraint 1.00 – 1.56
VIRT Virtual machine volatility 0.87 – 1.30
TURN Computer turnaround time 0.87 – 1.15
ACAP Analyst capability 1.46 – 0.71
AEXP Applications experience 1.29 – 0.82
PCAP Programmer capability 1.42 – 0.70
VEXP Virtual machine experience 1.21 – 0.90
LEXP Language experience 1.14 – 0.95
MODP Use of modern practices 1.24 – 0.82
TOOL Use of software tools 1.24 – 0.83
SCED Required development schedule 1.23 –
The EAF value evaluated to 0.60. I have estimated the size to be around 3.00. From the
calculation I got EFFORT = 6.08 TIME = 4.96
16
Plan 1.0 will be revised and updated to Project Plan 2.0. The revisions will contain
Implementation plan. The Implementation plan will define the activities and actions that must
be accomplished during implementation. It also contain changes suggested by the committee
members following presentation one. This revision will be approved by the major professor.
3.3. Formal Requirement Specification
One part of the project will be formally specified using OCL. The specification will represent the
formal requirements of the project, described in the Vision Document. This will be approved by
the major professor.
Two MSE students will act as technical inspectors. The technical inspection will
assess the project architecture. It will also include a formal checklist to be used
by the inspectors. This will be approved by the major professor.
17
Section.3 Architecture Design
Introduction
Architecture
Three-tier (layer) is a client-server architecture in which the user interface, business process
(business rules) and data storage and data access are developed and maintained as independent
modules or most often on separate platforms.
The Architecture of Online Book Store is based on three-tier architecture. The three logical tiers
are
Fig.1 below shows the model of 3-tier architecture. The main reason for considering three-tier
architecture for the Online Book store is as follows:
18
Flexibility:
Reusability:
• Reusability of business logic is greater for the presentation layer. As this component is
developed and tested, we can use it in any other project and would be helpful for future use.
Security:
More secured architecture since the client cannot access the database directly.
Presentation tier
The presentation tier for the Online Book Store is ASP.NET Web Forms with
Master Pages. The presentation tier takes care of the user interaction and the
19
visual part of the website. The various Web forms used by clients are listed
below.
ASP.NET Web Forms Definition
Default.aspx This web page is used to browse the entire website and
also displays different categories, offers available
Registration.aspx This web page is used by a new user to register his
personal information.
Login.aspx This web page is used for a user to login and enter the
website.
Logout.aspx This web page is used for a user to logout from the
website
Books.aspx This web page is used to search for books and displays
books which matched the search criteria..
Advsearch.aspx This web page is used to display an advanced search to
find books.
BookDetail.aspx This web page is used for displaying all the details of a
book.
ShoppingCart.aspx This web page is used to display the shopping cart and
user information details.
ShoppingCartRecord.aspx This web page is used to edit shopping cart.
20
The diagram below captures the page flow for user in the Online Book
Store System.
21
The various Web forms used by Administrator are listed below.
The diagram below captures the page flow for Administrator in the Online Book
Store System
22
Fig.3 Administrator-Page Flow
23
1. Middle Tier
The Middle Tier or Business Logic layer consists of eleven
classes User, Customer, Adminstrator, SessionManager,
Category, BookSet, Book, BooksOrder, Search, Advanced
Search and Shopping Cart.
Class Diagram
24
Sequence Diagrams
1) User Login
25
1) Book Search
26
1) Add to shopping cart
27
1) Administrator
28
Data Tier
29
Section.4 Formal Technical Inspectors Checklist
Introduction
Items to be inspected
UML Diagrams
Class diagrams
Sequence diagrams
Formal Specification
USE Model
Phaninder Surapaneni
Snehal Monterio
30
Section.5 Test Plan
Introduction
The goal of this document is to develop a test plan for the Online Book Store
design system. This document defines all the procedures and activities required
to prepare for testing of the functionalities of the system which are specified in
Vision document. The objectives of the test plan are to define the activities to
perform testing, define the test deliverables documents and to identify the
various risks and contingencies involved in testing.
Features to be tested
The following list describes the features to be tested:
USER:
Registration
Login
Add To Cart
Edit Cart
ADMIN:
Create and Delete book from Category
Create and Delete a Category
Manage Orders
Manage Members
Test Cases
USER
31
Registration
Login
Add to Cart
ID TEST CASE USER INPUT PASS CRITERIA
U_AC_1 Add to Cart User selects a book and Book is added to the
clicks add to cart button shopping cart
U_AC_2 Add to Cart Guest selects a book and User should create an
clicks add to cart button account.
32
Edit Cart
Approach
This section describes the overall approach of the testing which ensures that the
each feature and the combination of the features are adequately tested. The
major tasks that are used are
Unit testing
Unit testing is a method of testing that verifies the individual units of source
code are working properly. The goal of unit testing is to isolate each part of the
program and show that the individual parts are correct.
Load Testing
Load testing is the process of creating demand on a system or device and
measuring its response. It generally refers to the practice of modeling the
expected usage of a software program by simulating multiple users accessing
the program concurrently. As such, this testing is most relevant for multi-user
systems; often one built using a client/server model, such as web servers.
System Testing
Once the entire system has been built then it has to be tested against the
Software Requirement Specification and System Specification to check if it
delivers the features required. System testing can involve a number of specialist
types of test to see if all the functional and non-functional requirements have
been met.
33
Performance Testing
Manual Testing
Manual Testing will be done to ensure the correctness of various parts of the
code using test cases generated by the tester.
Pass/fail criteria
The system should satisfy all the functional requirements, in the Vision
document. Each feature to be tested will be evaluated against its requirement as
stated in the Vision Document. The pass or fail of a test depends on whether the
system meets with all the particular post conditions.
Test cases executed on the Online Book Store will pass if they meet the specific
requirements as mentioned in the Vision Document.
Suspension criteria
If the system contains one or more critical defects like the defects in the GUI
editor which provides the editing features for one line diagrams and database
locking, unlocking and sharing features which provides the environment for
multiple users to work in parallel, the entire system should be suspended.
The testing may also be suspended if the hardware and software components
required are not available on time.The failed test cases should be recorded along
with the description for failure.
Resumption requirements
34
When a new version of the system is transmitted to the test group after a
suspension of testing has occurred, all previous tests will be rerun to ensure
program changes have not inadvertently affected other portions of the program.
Test deliverables
Test plan
Test case specifications
Test input and output data
Test procedure specifications
Test logs
35
Section.6 Assessment Evaluation
Introduction
The goal of this document is to present all the test results using the test cases
defined in the Test Plan Document. I have performed Manual and Performance
testing for my Online Book store project.
Manual Testing
Manual testing is done to test the correctness of all the functionalities by
manually entering the data.
USER:
Registration
Login
Add To Cart
Edit Cart
ADMIN:
Test Cases
USER
36
Registration
ID TEST CASE USER INPUT RESULT PASS CRITERIA
U_REG_1 User Registration User selects already existing user PASSED Display message to
name choose different
user name
U_REG_2 User Registration User enters different password in PASSED Display message
password confirm field that Password and
Confirm Password
fields don't match
U_REG_3 User Registration User forgets to enter a particular PASSED Display message
required fields The value in field is
required
U_REG_4 User Registration User enters all the details PASSED User account
successfully created
Login
ID TEST CASE USER INPUT RESULT PASS CRITERIA
U_LOG_1 User Login User enters a wrong PASSED Display message Login or
username Password is incorrect.
U_LOG_2 User Login User enters a wrong PASSED Display message Login or
password Password is incorrect.
U_LOG_3 User Login User enters correct PASSED User logs in successfully
username and password
Add to Cart
Edit Cart
ID TEST CASE USER INPUT RESULT PASS CRITERIA
U_EC_1 Edit Cart User changes the Quantity PASSED Quantity and total cost
of Cart should be updated
U_EC_2 Edit Cart User deletes a book from PASSED Books and total cost of Cart should
shopping Cart be updated
U_EC_3 Edit Cart User selects a new book to PASSED Books and total cost of Cart should
shopping Cart be updated
37
User Manual
When we run the Online Book Store Website first home page is displayed.
The home page will appear as below.
If you are a new user you can register using the register link or if you are
already a user you can login to purchase book and pay using the checkout.
Any common user can use the search option in the home page to search for a
book oh his choice by entering a Title of the book. If he wants to search more
precisely he can use the advanced search option on the home page.
38
A user should enter all the required fields information. If he didn’t fill all the
fields he cannot create an account. After entering all the required data click the
submit button to register.
The user can search for a book based on price range, book title, author and
Category. This option is provided in the advanced search page.
If the user is interested in any particular book he can click the book image to get
the book details.
39
This is Cart view
40
41
42