العربية السعودية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.