building an interactive web- based bookshop information system

advertisement
‫العربية السعودية‬i ‫المملكة‬
Kingdom of Saudi Arabia
‫وزارة التعليم العالي‬
Ministry of
\\\\\Higher Education
Qassim University
‫جامعة القصيم‬
College of Computer
‫كلية الحاسب‬
‫قسم تقنية المعلومات‬
Information Technology Department
BUILDING AN INTERACTIVE WEBBASED BOOKSHOP INFORMATION
SYSTEM
Students:
Mram Saad Al-Sakabby
281201419
Khulood Abdullah Al-Manssor
281202745
Khuluod Obied Al-Harby
272200195
Supervisor:
Dr. Husam Al Hamad
A project report submitted in partial fulfillment of the requirements
for B.Sc. degree in Information Technology.
Qassim-Saudi Arabia
1432/1433 (2011/2012)
ii
Table of Contents
Table of Contents---------------------------------------------------------------------ii
List of Figures------------------------------------------------------------------------iv
Certificate------------------------------------------------------------------------------v
Dedication-----------------------------------------------------------------------------vi
Acknowledgement-------------------------------------------------------------------vii
Abstract ------------------------------------------------------------------------------viii
CHAPTER ONE
INTRODUCTION--------------------------------------------------------------------------1
1.1 Introduction --------------------------------------------------------------------1
1.2 Project Scope-------------------------------------------------------------------2
1.3 Shopping Cart------------------------------------------------------------------3
1.4 Problem Specification --------------------------------------------------------4
1.5 Goals and Objectives----------------------------------------------------------4
1.6Motivation-----------------------------------------------------------------------5
1.7 System Requirement-----------------------------------------------------------6
1.8 Project Plan and Schedule ----------------------------------------------------8
1.9Promotion ----------------------------------------------------------------------14
1.10Outline of the Project -------------------------------------------------------14
CHAPTER TWO
LITERATURE AND METHODOLOGY ----------------------------------------------- -15
2.1 Introduction------------------------------------------------------------------- 15
2.2 Current Systems ---------------------------------------------------------------15
2.3 Proposed System --------------------------------------------------------------16
2.4 Feasibility Study---------------------------------------------------------------16
2.5 Methodology -------------------------------------------------------------------17
2.5.1 Project Planning---------------------------------------------------------17
2.5.2 System Analysis, Requirement Definition----------------------------18
2.5.3 System design ----------------------------------------------------------19
2.5.4 Implementation----------------------------------------------------------19
2.5.5 Integration and Testing-------------------------------------------------20
2.5.6 Maintenance ------------------------------------------------------------20
iii
CHAPTER THREE
SYSTEM ANALYSIS AND DESIGN -------------------------------------------------- 21
3.1 System Analysis ------------------------------------------------------------- 21
3.1.1 Requirement Collection-----------------------------------------------22
3.1.1.1 Interview ------------------------------------------------------23
3.1.1.2 Questionnaires------------------------------------------------26
3.1.2 Requirement Studied ------------------------------------------------- 28
3.1.3 Requirement Structured ----------------------------------------------- 28
3.1.4 DFDs -------------------------------------------------------------------- 29
3.2 System Design -------------------------------------------------------------- 33
3.2.1 ER-Diagram----------------------------------------------------------- 33
3.2.2 Database Schema (Mapping) for ERD ---------------------------- 35
CHAPTER FOUR
SYSTEM IMPLEMENTATION -------------------------------------------------------- 37
4.1 Programming Languages --------------------------------------------------- 37
4.1.1 Why Using PHP Language ---------------------------------------- 37
4.1.2 Why Using MySQL Database -------------------------------------- 38
4.1.3 Why Using Apache -------------------------------------------------- 39
4.1.4 Why Using XAMPP ------------------------------------------------- 40
4.2 Implementation -------------------------------------------------------------- 41
4.2.1 Introduction ----------------------------------------------------------- 41
4.2.2 Sample of Forms ----------------------------------------------------- 43
4.2.3 Sample of Reports---------------------------------------------------- 46
4.2 Sample of Code ------------------------------------------------------------- 50
CHAPTER FIVE
SYSTEM EVALUATING AND TESTING --------------------------------------------- 52
5.1 Testing Plans ------------------------------------------------------------ 52
5.2 Types and Steps of Testing ------------------------------------------- 53
CHAPTER SIX:
THE CONCLUSIONS ------------------------------------------------------------------ 56
6.1 Conclusion ------------------------------------------------------------------- 56
6.2 Future Work ------------------------------------------------------------------ 56
References----------------------------------------------------------------------------- 57
iv
List of Figures
Figure:1.1 Information System---------------------------------------------------------- 1
Figure:1.2 Gant Chart --------------------------------------------------------------------12
Figure:1.3 Gant Chart of Critical Path-------------------------------------------------12
Figure:1.4 Network Diagram1----------------------------------------------------------13
Figure:1.5 Network Diagram2----------------------------------------------------------13
Figure:3.1 Interview Outline -----------------------------------------------------------23
Figure:3.2 Student Interview -----------------------------------------------------------24
Figure:3.3 Librarian interview ---------------------------------------------------------25
Figure:3.4Questionnaires(PUBLIC CUSTOMERS)----------------------------------------26
Figure:3.5Results of Statistics-----------------------------------------------------------27
Figure:3.6Results of Statistics-----------------------------------------------------------27
Figure:3.7 Context Data Flow Diagram of The System --------------------------- 30
Figure:3.8 DFD Level 0 -----------------------------------------------------------------30
Figure:3.9 Level-1 DFD of Entering The System------------------------------------31
Figure:3.10 Level-1 DFD of Brows ---------------------------------------------------31
Figure:3.11 Level-1 DFD of Purchase-------------------------------------------------32
Figure:3.12Level-2 DFD of The System--------------------------------------------- 32
Figure:3.13 ERD of The System ------------------------------------------------------ 34
Figure:3.14 Mapping for ERD----------------------------------------------------------35
Figure:3.15 Database Schema-----------------------------------------------------------36
Figure:4.1 Home Page of The System ----------------------------------------------- 42
Figure:4.2 Registration of The New User-------------------------------------------- 43
Figure:4.3 Login Page ------------------------------------------------------------------ 43
Figure:4.4 Searching The Books------------------------------------------------------ 44
Figure:4.5 Main Categories Form----------------------------------------------------- 45
Figure:4.6 Student Book Category---------------------------------------------------- 45
Figure:4.7 Page of Student Book------------------------------------------------------ 46
Figure:4.8 Types of Reports ----------------------------------------------------------- 47
Figure:4.9 Top Rating Report --------------------------------------------------------- 47
Figure:4.10 Top Author Rating ------------------------------------------------------- 47
Figure:4.11 My Cart Report ----------------------------------------------------------- 48
Figure:4.12 Account Profile Report--------------------------------------------------- 48
Figure:5.1 Registration Test ----------------------------------------------------------- 53
Figure:5.2 Report Before Template--------------------------------------------------- 54
Figure:5.3 Report After Template ---------------------------------------------------- 54
Figure:5.4 Search Test ------------------------------------------------------------------ 55
Figure:5.5 Search Test Result Wrong------------------------------------------------- 56
Figure:5.6 Navigation Wrong Link-----------------------------------------------------57
Figure:5.7 Explorer Test --------------------------------------------------------------- 58
v
Figure:5.8Firefox Test ----------------------------------------------------------- 58
vi
Certificate
It is certified that project report has been prepared and written under my direct
supervision and guidance. The project report is approved for submission for its
evaluation.
Dr. Husam Ahmed Al Hamad
vii
Dedication
We dedicate this work after Allah, and the messenger peace be upon him, to our
parents and our friends, to those who paved the way of science and knowledge
for us, and special thanks and appreciation to:
Dr. Hussam Ahmed Al-Hamad.
As well as to each of those who gave us assistance to complete this project, and
certainly to all of our work for them, to all the students of Information
Technology Department and to the scientific edifice distinctive Qassim
University.
Team of BookShop
viii
Acknowledgement
We would like to thank Dr. Husam Ahmed Al-Hamad, our project supervisor, for
guiding us through each and every step of the process with knowledge and
support. Thank you for your advice, guidance, and assistance and for all the
efforts that you provided for our team. Thank you for showing immense patience
and understanding throughout the project.
Team of BookShop
ix
Abstract
This project focused on creating a web site called Sun Bookshop with books
search facility based on (keywords) from the Book Title, and Author Name, and
the search for books based on several categories. In addition this site also
contains features like rating the books, and other different features. The objective
of this project is to build a Bookshop web site as means to facilitate the public
and students in obtaining the books they need and enable communities to
purchase the books wherever they were. For the Bookshop itself, this site can
serve as a media campaign to reach more customers. The design of the system on
this website are made by using the hierarchical navigation structure to describe
the flow of data to web page management, while designing the data base used for
this site was made with ERD and normalization process. For website
programming, we used the programming language PHP, HTML and MySQL.
Results from making this site will be tested on a web page Internet Explorer
browser by a web server using XAMPP. Web site development by using
programming languages PHP, and MySQL can help the process of information
flow and trading activity in society becomes more easy, fast, and efficient.
1
CHAPTER 1
INTRODUCTION
The electronic commerce or e-commerce as it is known today evolved as
businesses (end to end process) started to shift from real time market to digital
market. All of the business today as we see is done over the internet and anything
which is not there is meant to be wiped off. Ecommerce, the online shopping
system has brought down political and physical barriers giving everyone in the
world an equal playing ground for their market, everyone can put their products
on sale through the e-stores (website dedicated to selling of product, a virtual
store)[2].Today more and more people are engaging in online business and using
the internet to promote and sale their products and we are one of those people as
we build our project (The Bookshop) which is an online payment transaction
includes the purchase and sale of books. What we try to create in this project is a
web book shop that includes both types of books e-book and paper book copies
and contains a special section for university students books displayed for them
according to their major, therefore project (Bookshop) targeting a large segment
of society, the general public and university students.
2
1.2 Project Scope
With the help of information system, businesses such as the Bookshop website
are able to process and operate its daily works more accurate and easier. All data
and information are stored in electronic database which is much safer and easier
to be attached then traditional method.
The Bookshop project is the commercial trading of books through the Internet,
which is-as stated before- kind of the electronic commerce where there is a
variety of websites for trading purpose in the Internet such as the well-known
electronic store Amazon.com and this can be considered as a hindrance to us
where we should stand out from others of similar projects. Our Bookshop is a
website that will take input from user as request or for instance: a keyword to
search through the site, the server will process the inputted keyword and search
in the database then produce the output to the user as a list of possible answers.
An online Bookshop is a virtual store on the Internet where customers can
browse the catalog and select products of interest. The selected items may be
collected in a shopping cart, at checkout time; the items in the shopping cart will
be presented as an order, at that time; more information will be needed to
complete the transaction. Usually, the customer will be asked to fill or select a
billing address, a shipping address, a shipping option, and payment information
such as credit card number, in our website we accept the PayPal credit card only.
An e- mail notification is sent to the customer as soon as the order is placed.
So this project is information system-based, where information system means the
combination of people, hardware, software, communication devices, network and
data resources that processes (can be storing, retrieving, transforming
information) data and information for a specific purpose. The operation theory is
3
just similar to any other system, which needs inputs from user (key in
instructions and commands, typing, scanning).
The inputted data then will be processed (calculating, reporting) using
technology devices such as computers, and produce output (printing reports,
displaying results) that will be sent to another user or other system via a network
and a feedback method that controls the operation [1]. The figure below (figure
1.1) shows the procedure of Information System when it works.
Figure 1.1: procedure of Information System.
1.3 Shopping Cart
Shopping Cart is like a store front where we can display the products, catalogue,
price etc. The customer comes to the store through website and selects the item
which he requires, after selection gets completed he will be shown the total
amount to be paid for the items he has selected [3], when the customer get ready
to check out, he can change his mind and remove the item from his cart, and then
4
purchase what is left, he would then be given an option for paying through a
credit card and complete the transaction. This is efficient software that is really
convenient for the customers.
1.4 Problem Specification
During the overall search through the book selling websites online we found that
a considerable number of them do not know what is the books that a student need
for his studies at the university, in addition to poor connection with the
university to get the current needed books and the new subjects in use which
make students face a real problem in finding their books because the process of
search about particular text book in a specific material is time consuming what
differentiates our site is that we provide a special section include university's
students books categories with special price while most of the other web sites did
not take this issue in the consideration moreover, the high costs of books and
delivering process are another problems that our website provide the solution for
we planned.
our project to be a specialized site to sell books for two segment of society one
for university students and other for the general public, through the search engine
customers can look for the book they want to buy, then add it to the shopping cart
and select the way of payment and delivery after.
1.5 Goals and Objectives
Our main goal is to open a trade across the Internet to facilitate the delivery of
books, and to succeed with that we need to:
 Increase profits by attracting greater number of customers through:
5
 Using social media and online communities to engage with customers "like
what we do in twitter.com and facebook.com".
 Creating poster in our university to show the site that helps students find
their books university.
 Improve reputation of the website by winning customers' satisfaction
through:
 The selection of a good courier company.
 Ensuring a proper status of the goods.
 The selection of convenient way of payment.
 Offers some special discounts for university students which suffer from the
rise in the price of books and difficulties in finding their required course
text books, this will attract the students to our Bookshop.
 Open two sections:
One is for public customers and the other is for university students.
1.6 Motivation
The overriding benefit of a web Bookshop is its low cost when compared to a
brick and mortar storefront, also following the widespread of internet and
computers that exist now in most homes it became easy to reach a wider range of
customers either international or national, people with disability and housewives
who are mostly at home also people with tight schedule to allow them a trip to a
Bookshop, and lastly the university students who usually face difficulties in
finding their required course text books, as this being an advantage it well result
to a higher benefit to us (the provider) and expediency to the consumer.
6
1.7 System Requirement
New customers need to register first to get one account ID. The provided
information include: customer name, email address, and password.
After
registration, the customer will be assigned one account ID and he/she can login
using account ID and password. One customer can only register one account and
each account must belong to exact one customer. The Bookshop keeps a large
amount of books; each one is identified by book ID. For each book, they needs to
record its author's name, title, category, brief description, and price. One
customer can place any number of orders. For each order, they need to record
that placed order, total price, payment method, and ordered books. Currently for
payment method, it only accepts PayPal. Customers can also manage their
shopping carts. However, each shopping cart has exactly one customer.
The Bookshop also has employees which is an administrator. This admin do
update books information, add books, and delete books. Also he generates the
necessary reports of customer who needs to see his purchases.
Functions for customers [14]:
 New user account registration.
 Special filed for the ID-student.
 User login 'is for the customer or for the admin.
 Normal book search (by author name, book name), and option for the
'Advanced Search' by chosen the category, it is used to find the faster and
better result.
 Create one empty order or shopping cart.
 Add/delete books from shopping cart.
 Place the order.
 Order trace.
7
Functions for employees:
 List book information (e.g., title, author, and price).
 List information about those orders assigned to him/her.
 Update order status.
 Insert new books.
 Perform researches about what types of books are better to sell.
 Also what kinds of books/customers are most profitable.
 What more textbooks that students need it.
Functions for our team "analysis":
 Meeting the clients and understanding product and service range.
 Developing website functions.
 Designing textual and graphical content for the website.
Technologies to be used:
-
Programming languages:
 PHP: A language called (Server Side Scripting Language), and it means
that it is translated on the server and not from the user's computer. Need an
interpreter to understand what the code is doing. Therefore, the translator
programPHP-5.3.8-nts-Win32-VC9-x86 is used.
 HTML, Hyper Text Markup Language and Extensible markup Language
are the predominant markup languages for web pages.

CSS stands for Cascading Style Sheets Styles define how to display
HTML elements. Styles were added to HTML 4.0 to solve a problem.
External Style Sheets can save a lot of work. External Style Sheets are
stored in CSS files [19].
- Tools & Development Environment:
8
 Apache: PHP interpreter cannot work alone, because it needs to be a
personal servant to show the information to the browser, and for this we
will install the Apache is one of the best servers existing personal. It is a
public-domain open source web server developed by a loosely-knit group
of programmers.
 MySQL: It is a database system used on the web. Basically, a MySQL
database allows creating a relational database structure on a web-server
somewhere in order to store data or automate procedures.
 Adobe Dreamweaver CS5.5: It is the industry-leading web authoring and
editing software that provides both visual and code-level capabilities for
creating standards-based websites and designs for the desktop, smart
phones, tablets, and other devices.
 XAMPP server: is an open, cross-platform web server, contains primarily
the Apache HTTP Server, MySQL database, and interpreters for scripts
written in the PHP and Perl programming languages.
XAMPP's name is a short form for:
* X (denotes any operating system).
* Apache.
* MySQL.
* PHP.
* Perl.
1.8 Project Plan and Schedule
The key to a successful project is in the planning. Creating a project plan is the
first thing that should be done when undertaking any kind of project [4].
In the beginning of the project (start from 22-8-2011 to 12-9-2011)
9
 Initial a project team which is first task, our team has three students.
 Choose a project subject from the list of projects in Dr. Husam AL-Hamad
page and then we were selected in the project by the highest average.
 Contact with our supervisor Dr. Husam Al-Hamad and select the time of
discussing, the appropriate time on Tuesday at 11.30.
In planning of site (from 13-9-2011 to 12-10-2011)
 First lecture we discussed the project with the supervisor, in this lecture we
presented the nature of the projects and the goal of open site of Bookshop,
and we decided it would be a special section for students of our university.
 Next week supervisor directed us to performed first chapter. That contains
definition of the site and other topics.
 Discussed what we did in chapter1, and also discussed what the errors that
needs to be repaired.
 In week 4 we talked about problem specification in our project, and were
directed to start with chapter 2.
In analysis of site (From 13-10-2011 to 24-10-2011)

Data gathering to determine the requirements of project, we used
interviews and statistics to collect all of the requirements of the public
customers and university students.
 Bring all these pieces together to form a conceptual database model
containing all entities with their attributes, domains and relationships,
together with a complete function model with its hierarchy.
Data analysis subtask (start from 21-10-2011 to 24-10-2011)
 Draw DFDs (Data Flow Diagrams).
 Draw system flowcharts.
Design the site (start from 25-10-2011 to 7-12-2011)
10
 ER diagram for our web site.
 Create a site mapping.
 Create schema.
Appropriate appearance subtask (start from 17-11-2011 to 23-11-2011)
 Attractive graphics, we have selected interesting and simple graphics that
will attract customers and make it easy for them to absorb the contents of
the site and would ease the movement from one page to another..
Determine the subset location to connect with customers subtask (start from
24-11-2011 to 28-11-2011)
 Contacting with E-mail.
Special site features (start from 29-11-2011 to 7-12-2011)
 Multi-site interfaces.
Programming the site and building database (start from 26-1-2012 to 1-32012)
 Web design software, we used PHP language, Dreamweaver CSS 5, and
XAMPP server to design our website; we created some codes like
registration code and designed the website major interface.
 We added the admin page.
 We designed the other pages for the website like login and logout pages.
 We designed the search engine for book searching.
 Create web hosting account.
Building database subtask (start from 2-3-2012 to 21-3-2012)
 Create the database, we created the tables, connected them together, and
we added our first e-book to the DB.
11
 Make a backup copy of the database; we putted several copies in several
save places to back up our DB when we need it.
 Make a development copy of the database.
Design payment codes subtask (start from 22-3-2011 to 2-4-2012)
 We built the code of shopping cart.
 We built the code of PayPal.
Experience and test the site (start from 3-4-2012 to 18-4-2012)
 Measure response time.
 Unit testing.
 (SIT) System integration testing.
 Usability testing.
 Debugging and reload.
Securing the site (start from 19-4-2012 to 2-5-2012)
 Strong administrative passwords.
 Restriction in the registration filed for the customer.
Publishing and promotion to the site (start from 3-5-2012 to 11-5-2012)
 Design propaganda leaflets.
 Advertise at social networking websites.
We used Microsoft project to plan our project, we generated the Gant Chart as
shown in (figure 1.2) and (figure 1.3) , a Gantt chart provides a graphical
illustration of a schedule that helps to plan, coordinate, and track specific tasks in
the project [15].
12
Figure 1.2: Gantt chart shows tasks and schedule.
(Figure 1.3) show the critical path scheduling, which is means a scheduling
technique whose order and duration of a sequence of task activities directly affect
the completion date of a project.
Figure 1.3: Gant chart of critical path
13
In (Figure1.4), (Figure1.5) the network diagram which is diagram that depicts
project and their interrelationship.
Figure 1.4: The network diagram1 of the project tasks.
Figure 1.5: The network diagram2 of the project tasks.
14
1.9 Promotion
As a freelancer, we will probably be dealing with clients from all corners of the
world, and if we are not marketing our business as much as is needed, especially
online we will lag the competition. The stronger our presence, the greater it is the
benefit to our business. Here are key benefits of extensive online promotion [5]:
 One of the most inexpensive ways to promote business.
 Ensures a 24/7/365 global presence.
 Saves administration and transportation costs.
 Extends the freedom of being able to multi-task from anywhere.
 Environmentally friendly.
 One of the most powerful and quickest modes of communication.
 A good investment without being time-consuming.
 Lends the business a professional and corporate image.

More accessible to the clientele.
1.10 Outline of the Project
The project is organized into six chapters, as noticed chapter one was an
introduction to the project idea, chapter 2 includes the methodology for
developing a new system it includes a discussion of problems with existing
system and solutions provided in the presented system through new features and
techniques , chapter 3 involves Requirements determination and requirements
structuring also modeling of features determined in chapter 2, chapter 4 discuss
the activities involved in the implementation of the system including the
clarification
for
server
,database,
programming
language
selection
chapter 5 explain the steps and plans for system testing where finally chapter 6
illustrates the conclusion and predicted future work.
15
CHAPTER TWO
LITERATURE AND METHODOLOGY
2.1 Introduction
We made a survey on the current system to find its strong and weak sides and in
this chapter we will talk about its advantages and disadvantages, and how the
proposed system can avoid the detected problems and find solutions, as well as
new ideas. This chapter also discusses the feasibility study and the success and
effectiveness of these projects, in addition to the physical return. The proposed
methodology for developing the project is SDLC that contains planning, analysis,
design, implementation, and maintenance.
2.2 Current System
Through observation and accurate reading as well as the help of news book web site that includes the deferent articles of interest for booksellers covering industry
statistics and trends, consumer research studies-we found that the bookshop sites
over the internet mostly offer one of the two types either paper or e-books, also
the books offered in the web bookshops usually public oriented so the student
may be neglected or profit oriented so the prices may be difficult to handle. The
student may face difficulties in finding the desired books in one or two sites and
the search process may take longer than anticipated before finding all the books
needed for the semester, furthermore the library system in the university cannot
coincide easily with changes and updates occur in the academic subjects which
16
will result in a lack of the university’s student academic support. Examples on
bookshop websites (Amazon and abebooks. website).
2.3 Proposed System
We tried to avoid these issues stated above so this bookshop provides its
customers with both types of books giving them the total freedom to choose, it
also offers the used books that could provide customers with a lot of convenience
either a common reader or a student. We are committed to support the
University’s students by providing convenient and effective access to the books
they might not find in the nearby book shops which is usually the case, by having
a section of their own the students can find the text books they require here easily
and directly because the shop purchases the books as been requested by the
university lecturers.
Unfortunately the main payment method will be using a visa card which may
cause some troubles to the students to purchase although using the university's
new system related to the student ATM cards may solve this issue and make the
payment process more soothing.
2.4 Feasibility Study
A project feasibility study is an exercise that involves documenting each of the
potential solutions to a particular business problem or opportunity and its main
goal is to assess the economic viability of the proposed business. The feasibility
study needs to answer the question: “Does the idea make economic sense?” The
study should provide a thorough analysis of the business opportunity, including a
look at all the possible roadblocks that may stand in the way of the cooperative’s
17
success. The outcome of the feasibility study will indicate whether or not to
proceed with the proposed venture. If the results of the feasibility study are
positive, then the cooperative can proceed to develop a business plan and since
we are students performing our graduation project where there is no actual
business involved or financial risks, feasibility study in our case is not needed[5].
2.5 Methodology (SDLC)
The Systems Development Life Cycle (SDLC), or Software Development Life
Cycle in systems engineering, information systems and software engineering, is a
process of creating or altering information systems, and the models and
methodologies that people use to develop these systems.(SDLC) adheres to
important phases that are essential for developers; it is planning, analysis, design,
implantation, maintenance.
2.5.1 Project planning
The aim of this Bookshop is to design and implement an online library to sell
books, which will enable public customers to search for books in any kind, and
brows information, cost, and table of contents as well as students [12].
In our web site we have two categories of books: student books and public books.
Some activities and features in our website:
 Shopping - selling the book online to two types of customer, public
customer and student customer.
 Registration - a method to gather emails of customers, potential customers
or interested parties.
18
 Searching a database -in the Bookshop we have a lot of information about
books that we sell, and being able to search through the website for
specific information will save time for the visitor.
 Inventory management – admin will update the inventory.
 Develop the project plan and time line:
We are using Microsoft Project to specify the tasks that we undertake to set up
our website and the time required accomplishing each of these tasks.
2.5.2 Systems Analysis, Requirements Definition
The main purpose of the analysis phase is the specification of system
requirements and ensuring compatibility with the objectives of customers and
producing the requirement structure as a final output [11].
 We extract the real objective behind the needs of the user of online
shopping to buy books and then put the project requirements. Here we
have two types of customers and we are required to know the requirements
of each type in more than one way, such as interviews and statistics.
 Structural: use data flow diagrams. These diagrams have a notification for
each of the component in the Bookshop, they also have a notification for
representing different level in a hierarchy that is used to describe how the
work will be on-site.
 Some rules used to help us draw useful ideas:
 Benefit from the experiences of people like the owners of public libraries
in the sale of books.
19
 Express the issue with questions or re-wording of questions properly,
instead: "how can increase sales in the site" we use "how to improve the
worksite management.
 Put ourselves in the place of customer.
2.5.3 Systems design
The main objective of this stage is to create the outline of the requirements of the
system that approves what has been analyzed and prepared in the stage of system
analysis. We will provide a possible custom designed home page concept for our
project. At this stage, we will select the user interface, define and identify all the
sections and operations of the site, after the design have been reviewed and
approved, we will continue to make modifications to the design until the final
desired look is achieved. Once the final desired look is achieved, we will create
the interior page layout, convert the design to HTML, add programming, etc.
2.5.4 Implementation
Implementation is the carrying out, execution, or practice of a plan, a method, or
any design for doing something. We will contact to the server in this stage and
the sole task of a web server is to accept incoming HTTP requests and to return
the requested resource in an HTTP response.
The steps we will use in the implementation phase of our Bookshop web site are:
1. Selecting a domain name:
Domain names are those catchy, easy-to-remember phrases that often end in
dot-com. We selected Sun Bookshop.
2. Publishing our web content - finding a web server provider:
20
In order to make our website accessible to the world.
3. Develop our web strategy:
By deciding what will be offering in our website regarding to the "types of
book that customer prefers".
2.5.5 Integration and Testing
Integration and testing are logical operations of building the project. we must
integrate and test the system, then do the process of documentation, and then
upload it to the site to be used by the users.
The ultimate goal of this stage is confirming that the Bookshop site is completed
functionally without any errors.
2.5.6 Maintenance
Website maintenance is an activity which is designed to keep a website running
smoothly. It may be done on a regular basis, or scheduled as needed. In some
cases, access to the website may be temporarily restricted while maintenance is
performed, in which case a notice may be sent to users ahead of time to make
them aware of the fact that the site will not be available during a specific time
period on a particular day.
21
CHAPTER THREE
SYSTEM ANALYSIS AND DESIGN
3.1 System Analysis
Our principal objective of the systems-analysis phase is the specification of what
the system of the Bookshop needs to do to meet the requirements of end users,
ex. students and public people and to do that, we followed some strategies like
making interviews with different stakeholders (students as an example) [7].
The systems analysis process is an iterative one that cycles repeatedly through
the following interrelated and somewhat indistinct phases: (1) problem statement,
in which the system is defined in terms of its environment, goals and objectives
as we mention above, constraints ex. cost and time, criteria, actors (decision
makers, participants in the system, impacted constituency), and other objects and
their attributes; (2) alternative designs, in which solutions are identified; (3)
mathematical formulation, in which a mathematical description of the system is
developed, tested, and validated; (4) evaluation of alternatives, in which the
mathematical model is used to evaluate and rank the possible alternative designs
by means of the criteria; and (5) selection and implementation of the most
preferred solution. The process includes feedback loops in which the outcomes of
each phase are reconsidered based on the analyses and outcomes of the other
phases. For example, during the implementation phase, if we uncover about
22
constraints that hinder the solution's implementation we will reformulate the
mathematical model. The analysis process continues until there is evidence that
the mathematical structure is suitable; that is, it has enough validity to yield
answers that we need.
3.1.1 Requirement Collection
Project requirements gathering is a complex and challenging activity. It is also
one of the most important activities in project management, as it establishes the
baseline against which the product of the project is measured.
Requirements' gathering is an essential part of any project and project
management. Understanding fully what a project will deliver is critical to its
success. This may sound like common sense, but surprisingly it's an area that is
often given far too little attention. Many projects start with the barest headline
list of requirements, only to find later the customers' needs have not been
properly understood. One-way to avoid this problem is by building a full
understanding of requirements.
Thus we need a method that captures the users’ requirements, quickly, accurately
and completely - one that provides a flexible, yet structured approach to
producing a high quality specification so we chose interviews and questioners.
23
3.1.1.1 Interview
Interviewing is one of the primary ways to gather information about an
information system and a good system analyst must be good at interviewing
therefore no project can be conducted without interviewing.
We interviewed the targeted audience using the following interview guide line
shown in (Figure 3.1):
Interview outline
Interviewee:
interviewer:
Location:
Objectives:
Appointment Date:
Start Time :
End Time:
Reminders:
Agenda:
Approximate Time:
General Observations:
Unresolved issues , Topics not covered:
Interviewee:
Question 1:
Date:
Answer :
Observation :
Question 2:
Answer :
Observation :
Figure 3.1: Interview outline.
24
To interview a client "student and librarian" we selected the following questions
in the (Figure 3.2), (Figure 3.3):
Figure 3.2: Student interview.
25
Figure 3.3: Librarian interview.
26
3.1.1.2 Questionnaires
List of a research or survey questions asked to respondents, and designed to
extract specific information.
It serves four basic purposes: to (1) collect the appropriate data; (2) make data
comparable and amenable to analysis; (3) minimize bias in formulating and
asking question; and (4) to make questions engaging and varied.
We worked on the statistics for the public customers to know what type of
payment credit card is preferred, some information about books reviews and
more other things.
In the next figures (Figure 3.4), (Figure 3.5), (Figure 3.6) the result
representation of some questions presented in the questionnaires and the link for
these statistics is http://www.survs.com/survey/D1VKY5WEQJ:
Figure 3.4: The statistics result for the public customer
27
Figure 3.5: The statistics result for the public customer.
Figure 3.6: The statistics result for the public customers
28
3.1.2 Requirement Studied
The Bookshop website should contain customers (students, and public) , and the
those who own the system, we managed to reach the final requirements for users
(customers) and the system owner, where the requirements of the user are high
speed response of the site, convenient graphical interface, good classification of
books categories. And in the terms of the system requirements there are some
technologies used in the composition of the system which are the languages,
tools and the development environment such as the environment My SQL; a
database containing all the required fields in the registration of a specific
customer and identify all elements of the system. After we studied and consented
on the production requirements as a final result, we will represent the
requirements using certain techniques such as DFD in different levels of
hierarchy and ER diagrams.
3.1.3 Requirement Structured
Requirements structuring is the process to use some kind of systematical and
standards, well-structured methods to model the real world. We extracted the
requirement of the site in general from what we do in questionnaires and
interview as follows:
 Customer:
We decided they will be two types of customers, one is the public customer and
the other type is the student customer.
The section of public customer contains all types of books, such as (social books,
and novels etc...) while the section of student customer contains the required
books in the universities.
 Credit card:
29
We found from the generated statistics that the customers prefer PayPal, and so
we will use this credit card type to complete purchasing process in our web site.
 Review:
If the customer wants to purchase a specific book he/she can review a brief
description about the book and rate it.
 Purchase history:
He can view the purchased items and more details like the date of purchasing and
the price from his/her account profile after login.
 Book:
Administrator can add books to the database and decides what books should be
provided, also the admin can removes the books that are no longer available or
the customers are not interested in, and replace them with new ones.
3.1.4 DFDs
A data flow diagram (DFD) is a graphical tool that allows analysts (and users) to
depict the flow of data in an information system. DFD graphically representing
the functions, or processes, which capture, manipulate, store and distribute data
between a system and its environment and between components within a system
[13].
The deliverables and outcomes for DFD are:
1. Context data flow diagram, which defines the boundary of the system.
30
2. DFDs of current physical system, which is used to determine how to
convert the current system into its replacement [7].
Here in (figure3.7) is the context data flow diagram of the system:
Figure 3.7: Context data flow diagram of the system.
-In (figure 3.8) we'll show level-0 with general Details about the system and how
it's work.
Figure 3.8: DFD of Level-0.
31
-Level-1 is the explosion of the level-0. Each process is numbered with an
integer as shown below in (figure3.9), (figure3.10), and in (figure3.11).
Figure 3.9: Level-1 DFD of entering the system
Figure 3.10: Level-1 DFD of brows.
32
Figure 3.11: Level-1 DFD of purchase.
-Level 2 shows the process broken down into greater detail; it is necessary where
the Level 1 process is more complex, and where the particular process is relevant
to the analysis, level 2 is presented below in (figure 3.12).
Figure 3.12: Level 2 DFD diagram of the purchase.
33
3.2 System Design
In the systems-design phase such specifications are converted to a hierarchy of
charts that define the data required and the processes to be carried out on the data
so that they can be expressed as instructions of a computer program [7].
3.2.1 ER-Diagram
The Bookshop website has the customers who want to brows or purchase the
book, each customer has user ID and password to login to the site. If the
customer want specific book and he finished from filling the shopping cart he
will use the PayPal credit card to complete purchasing.
Customer can view the brief description before buying the book also he can
rating it and show the purchasing details from his account profile after login.
(Figure 3.13) shows the entities and attributes of the Bookshop website [7].
34
Figure 3.13: ER diagram of the system.
35
3.2.2 Database Schema (Mapping) for ERD
Mapping is applied on the ERD in order to create the database; the bellow figure
(Figure 3.14) shows the mapping of ERD.
Figure 3.14: Mapping for ERD.
36
(Figure 3.15) shows mapping ER-Diagram converted to database schema using
the designer feature in the XAMPP server:
Figure 3.15: Database Schema.
37
CHAPTER FOUR
SYSTEM IMPLEMENTATION
4.1 programming languages
Objective and purpose of the establishment of these languages is to enable web
designers to write dynamically generated web pages quickly.
4.1.1 Why using PHP language
We were discussion with our supervisor Dr. Husam about the language that we
are going to use to develop our website for selling books and finally we decided
to use PHP language and some source codes of HTML. We chose this
programming language for many reasons, mainly because it is easy enough for
almost anyone to learn and so we are, also it is free to download and install. PHP
is now a far more intricate and powerful language than it was back in 2001, and
MySQL is a vastly more complex and capable database. Because it is opensource software, PHP can be compiled for most any operating system. We can
also relax a bit more with PHP, as we can count on its being updated and
improved more often than other languages. In an open, collaborative and nonhierarchical environment, suggested improvements can be adopted quickly.
Again, this is a strength that is derived from its open-source status. It has several
advantages: foremost it is efficient; scripting languages like PHP are modular
components of the Web server rather than separate programs and processes, and
is commonly said to be faster and more efficient for complex programming tasks
38
and trying out new ideas, and is considered by many to be more stable and less
resource-intensive as well. PHP has a large assortment of extensions that allow
the programmer to communicate with various database systems, generate
graphics, connect to FTP servers, read and write XML code, send email, and so
on [17].
PHP is a mature application. However, it does have a few weaknesses like Its
lack of event-based error handling means that your workflow may be interrupted
by a sudden jump to a special error-handling section.
4.1.2 Why using MySQL Database
In this project, MySQL is used as the backend database. MySQL is an open
source database management system. The features of MySQL are given below:
MySQL is a relational database management system. A relational database
stores information in different tables, rather than in one giant table. These tables
can be referenced to each other, to access and maintain data easily.
MySQL is open source database system. The database software can be used
and modify by anyone according to their needs.
It is fast, reliable and easy to use. To improve the performance, MySQL is
multithreaded database engine. A multithreaded application performs many tasks
at the same time as if multiple instances of that application were running
simultaneously.
In being multithreaded MySQL has many advantages. A separate thread handles
each incoming connection with an extra thread that is always running to manage
the connections. Multiple clients can perform read operations simultaneously, but
while writing, only hold up another client that needs access to the data being
updated. Even though the threads share the same process space, they execute
individually and because of this separation, multiprocessor machines can spread
39
the thread across many CPUs as long as the host operating system supports
multiple CPUs. Multithreading is the key feature to support MySQL’s
performance design goals. It is the core feature around which MySQL is built.
MySQL database is connected to ASP.NET using an ODBC driver. Open
Database Connectivity (ODBC) is a widely accepted application-programming
interface (API) for database access. The ODBC driver is a library that
implements the functions supported by ODBC API. It processes ODBC function
calls, submits SQL requests to MySQL server, and returns results back to the
application. If necessary, the driver modifies an application's request so that the
request conforms to syntax supported by MySQL [17].
4.1.3 Why using apache
Apache server is the web server is the most sophisticated features in the market.
Also Apache is always innovating and is able to use the latest protocols used in
the internet.
The main reason why Apache Server is the main and principal product used in
the internet is because of the great advantages it offers for both users and
developers [18]. These are some of features and why more and more users
around the world prefer Apache Server as their main server tool. Let’s see some
of the Apache’s advantages.
 Flexible: Apache Server can be customized very easily due to its modular
structure.
 Easily to administrate: The administration is one of the main elements of
all kind of servers. With Apache Server you won’t have administration
problems that can be easily solved. Apache Server has a list of
configuration files that are well documented with all the necessary
40
information in order you can read and inform yourself about all the
features and settings of the Apache Server. Furthermore this configuration
files are in ASCII format and can be handed without any complication.
Apache Web Server is Efficient: The efficient of Apache is a great virtue
for a web server. Apache Server has accomplished what not all the web
servers can do. All the efforts in get an Apache Server more optimized
have been really successful. Today we can see the fruit of a very stable
and mature web server with a great efficiency like no other web server on
the earth.

Portability and Support: The greatest benefit of the Open Source
Community is the support of their five-star- software's is bigger than other
software in the market. Also Apache offers a wonderful portability that
can be installed and operated under multiple platforms with a high level of
portability.
4.1.4 Why using XAMPP
We use this as a development tool for allowing us as website designers and
programmers to check our jobs on our own computers with no access to the
Internet. To create this as simple as possible, many essential safety features are
disabled by default. In practice, XAMPP is occasionally used to serve web pages
on the World Wide Web. Also it has a unique tool provided with password to
protect the most important parts of the package, XAMPP also provides support
for creating and manipulating databases in MySQL among others, these are good
enough reasons for us to use this product.
41
4.2 Implementation
Implementation is the fourth step in the (SDLC). The purpose of this phase is to
convert the physical system specification into working and reliable software and
hardware, document the work has been done, and provide help for current and
future users and caretakers of the system.
4.2.1 Introduction
The objective of our project is to develop an online book shop. When the user
types in the URL of the site in the address field of the browser, a web server is
contacted to get the requested information. The user will be able to see both main
categories Public Book and Student Book when he just get in the site, after
registration the user can add books to his shopping cart, and he can find specific
books by typing the book name, or use the advanced search to get more specific
results , the search engine then gets the requested file, and if necessary contacts
the database for the required file and then the information is sent back to the
client’s browser, after that the user decides to pay and complete purchase
process. All of these processes explained in the previous graphics (DFDs & ER
diagrams). Next we will display the home page of our website (figure 4.1).
42
Figure 4.1: Home Page of the System.
Our home page contains all other subpages of the website, the main categories
and the featured books all these arranged in good manner which allows the
visitor to navigate the website in easy way. So visitor can easily and fast find
what he is looking for, and as it shown above visitors can follow us through the
most famous social networking applications Twitter and Facebook.
43
4.2.2 Sample of Forms:
These are some of primary forms of our site (figure 4.2), (figure 4.3), (figure
4.4), (figure 4.5), (figure 4.6), and (figure 4.7).
Sample of customer registration form in (figure 4.2):
Figure 4.2: Registration of the new user.
Customers should fill in the blanks of this registration form to perform some
actions like purchasing. The last field is required for the students only.
Sample of login page form in (figure 4.3):
Figure 4.3: Login page.
44
In login page customers should enter their emails in the Email field and their
password in the Password field. If the login failed this message will be displayed
"Either your account is inactivate or your email address/password is incorrect".
Sample to search about books by typing the book name or use the advanced
search (figure 4.4):
Figure 4.4: Searching the books.
Here customer can search either by using the regular search which is inserting the
book name in the Book name field or by using the advanced search which makes
results of searching be more specified.
Sample of the main categories in our website in the next (figure 4.5):
45
Figure 4.5: Main categories form.
Customer easily can select one from these two main categories to get what they
need. The below figure shows some of the books in Student book category for
the Math section (figure 4.6):
Figure 4.6: Student book category.
46
Here we will show the page after selecting the main category and the specified
book, and as we see here in (figure 4.7) more details about the book are displayed
and the (order now) button is available to complete the purchasing process.
Figure 4.7: Page of selected book.
4.2.3 Sample of Reports:
Here are some of reports that can be produced by the site as you see below in
(Figure 4.8), (Figure 4.9), (Figure 4.10), (Figure 4.11), and (Figure 4.12).
In the first figure administration report subpage is represented, it contains reports
types, so the admin can select the type that he need from Select Option as it
shown in the figure(Figure 4.8) and the second and third figures are representing
the top rating report in(Figure 4.9) and top author report in(Figure 4.10).
47
Figure 4.8: Types of reports.
Figure 4.9: Top rating report.
Figure 4.10: Top author report.
48
Once the order is placed, the quantity of the books is added in the shopping cart
for the customer. He can add or delete items from here as it shown in (Figure
4.11):
Figure 4.11: My cart report.
Customer can check his account through the Account Profile report as it shown
below in (figure 4.12):
Figure 4.12: Account Profile report.
49
4.3
Sample of Codes
 Code of deleting books:
 Code of modify:
50
 Code of Must Purchase Items:
51
CHAPTER FIVE
SYSTEM EVALUATING AND TESTING
In this chapter we will talk about testing of our web site. System testing is black
box testing, performed by a test team, and at the start of system testing the
complete system is configured in a controlled environment. The purpose of
system testing is to validate an application's accuracy and completeness in
performing the function as designed.
For high level testing it is important to understand any unresolved problems that
originate at unit and integration test levels. Therefore testing is started only after
the completion of integration testing, and only after all unit and integration test
results have been reviewed.
5.1 Testing Plans
A test plan is a document that describes the objectives, scope, approach, and
focus of a software testing effort. It consists of test plan id, reference documents,
revision history, test schedules, test item and test process [7].
Our testing plan has the following:

Specific testing steps.
o Browser testing.
o Page/Element testing.
52
o Page title correct?
o Page links all working?

Page styles correct (h2, h3, h4 in right places?).

Home page template.

Test member login.

Test shopping cart.

Test registration of new member.
5.2 Types and Steps of Testing
The development process involves various types of testing. Each test type
addresses a specific testing requirement. The most common types of testing
involved in the development process are:
1. Unit Testing:
Happened at the development level and ensure the each the development level
and ensure that each unique path of the project performs accurately to the
documented specifications and contains clearly defined inputs and expected
results. When we build a piece of code in PHP that delivers a set of functionality,
by running the code we test it to make sure it works and that it delivers the
required functionality.
- In the code below we test the registration form in ID student filed and "Figure
5.1" we show that.
53
.Figure
5.1: Registration test.
2. (SIT) System integration testing:
A systems integration environment is a test environment where code (web pages,
classes, databases) is placed to ensure the application as a whole works together.
In our web site we divided the work in two tasks: first is coding and running a
unit testing, and second using SIT to integrate first work to person who designs
the web page. This ensures that work has no error and run.
54
-In the (Figure 5.2), (Figure 5.3) below we show the report before and after
ingrate with temple:
Figure 5.2: Report before template.
Figure 5.3: Report after template.
55
3. Functionality Testing:
Test for all the links in web pages, database connection, forms used in the web
pages for submitting or getting information from user.
 Database testing: Data consistency is very important in web application.
We checked for data integrity and errors while editing, deleting,
modifying the forms or do any DB related functionality. Checked if all
the database queries are executing correctly, data is retrieved correctly
and also updated correctly.
In (Figure 5.4), (Figure 5.5) we do test to the search functionality the
problem was in the code we should change the "OR" in the query statement
into "AND" to get the desired result, the code before and after modification
is shown below:
Figure 5.4: Search test.
56
Figure 5.5: Search result wrong.
- Correct code for the test that we replace "OR" to "AND":
4. Usability Testing:
 Test for navigation: Navigation means how the user surfs the web pages,
different controls like buttons, boxes or how user using the links on the
pages to surf different pages.
- In below the code of the navigation code if entered in wrongs way and in
the (Figure 5.6) the result of this mistake.
57
Figure 5.6: Navigation wrong link.
 Usability testing includes: We confirmed that the web site is easy to use
and Instructions are provided clearly. Checked if the provided
instructions are correct means whether they satisfy purpose and test in
different browser.
- In the (Figure 5.7), (Figure 5.8) we test the site in different browser like
Explorer, and Firefox.
58
Figure 5.7: Explorer test.
Figure 5.8: Firefox test.
.
 Content checking: Content should be logical and easy to understand. So
we checked for spelling errors. Use of very dark colors annoys users that
are why we avoided it in the site's text. We also ensured that content is
meaningful. All the anchor text links are working properly. Images are
placed properly with proper sizes.
59
 Other user information for user help:
 Like search option: Search in the site” option will help users to find
content in the pages they are looking for easily and quickly
60
CHAPTER SIX
THE CONCLUSIONS
6.1 Conclusion
The Internet has become a major resource in modern business, thus electronic
shopping has gained significance not only from the entrepreneur’s but also from
the customer’s point of view. So In this project the aim is to sell books online for
students and public people, create interactive web site, and to do this we used
certain technologies to implement the website as we showed previously.
6.2 Future Work
1. Live Chat: If the customer want to order some books, and he / she want to ask
the representative of sales about something, for example (days of the arrival of
the books) he / she can do that easily with this feature [16].
2. Forms: Such as an online suggestion box - allows visitors to easily submit
information, make a few suggestions that they want it to be present in the site,
recommend ways to improve our product, or tell us what their opinion in our
merchandise.
3. Mobile application: To allow the customers access our site using their cell
phones which makes the purchasing process more efficient.
4. Link our site with the world sites of selling books.
61
REFERENCES
[1] Gary B. Shelly, Thomas J. Cashman, Misty E. Vermaat," Discovering
Computers 2000, Concepts for a Connected World",1st edition,Course
Technology,1999.
[2]
Nahid
Shahmehri
,"The
History
of
Online
Shopping",2010,
http://www.instantshift.com/2010/03/26/the-history-of-online-shopping-innutshell/
[3] Sean Mc Manus,"Web Design in Easy Steps", 5th edition, In Easy Steps
Limited, 2010.
[4]Duncan Haughey, "Project Planning a Step by Step Guide", Project Smart,
pp1-3, 2010.
[5] Daniel Adams, "Effective Ways to Promote Your Online Business",
2011.
http://www.webdesign-weblog.nl/effective-ways-to-promote-your-
online-business/
[6] Santosh Karkhanis, "Project Initiation Activities - Feasibility Study ", 200
[7] Jeffrey A. Hoffer, Joey F. George, Joseph S. Valacich, "Modern Systems
Analysis and Design", 5th Edition, 2007.
[8] Ramez Elmasri, Shamkant B. Navathe, Fundamentals of Database
Systems, 5th Edition, 2006.
[9] Abraham Silberschatz, Henry F. Korth, S. Sudarshan ,"Database System
Concept", 5th edition, McGraw-Hill Higher Education, 2010.
[10] Wiley, Y. M. J. & Sons. (1997) Creating the Virtual Store: Taking Your
Web Site from Browsing to Buying.
[11]
Adel
Alshehri,
"principles
and
steps
of
http://www.araboug.org/ib/index.php?showtopic=5949
systems
analysi",
62
[12]
Sue
Studios,
"Planning
website",
2009,
http://www.suestudios.com/articles/article1.htm
[13]Scott W. Ambler, "Definition of Data Flow Diagram", 2009,
http://www.agilemodeling.com/artifacts/dataFlowDiagram.htm.
[14] “Online Shopping Mall”, pp. 11. http://osmlite.googlecode.com
[15]
Dr.Husam Al Hamad, “An Introduction to Project Management”,
PP.11.
[16] Johan AÊberg , Nahid Shahmehri," The role of human Web assistants in
e- commerce", MCB University Press, Volume 10 ,pp 114-125,2000.
[17] Larry Ullman, “ PHP and MySQL: Visual QuickPro Guide", 2th edition.
[18] Ben Laurie, "The Definitive Guide ", 3th edition.
[19] W3schools tutorial: http://www.w3schools.com.
Download