Upload
muhammadikram9340
View
232
Download
0
Embed Size (px)
Citation preview
7/31/2019 An e-commerce website
1/123
An e-commerce website fora Local Business
Kunal RaiBSc Computing with
Industry2004/2005
The candidate confirms that the work submitted is their own and the appropriate credit has
been given where reference has been made to the work of others.
I understand that failure to attribute material which is obtained from another source may be
considered as plagiarism.
(Signature of student) _______________________________
7/31/2019 An e-commerce website
2/123
i
Summary
Often, in todays world people are carrying out many activities as possible in a single
day leaving them short of time and energy to carry out any other tasks such as
shopping. Due to the technological advancements, PCs and Internet are commonly
used by various kinds of people from different backgrounds. Thus it would be
beneficial to have the facility available for online shopping where consumers can
shop at any time of the day, from anywhere and at their own convenience.
The primary objective of this project was to produce a working prototype of a suitable
e-commerce website where customers could view and buy goods online for a local
business selling lingerie.
Developing such a system involved researching the various advantages online
shopping will bring to the stakeholder, the various aspects of HCI involved in web
designing, the user requirements, background technologies, and eventually the
construction of a working prototype.
7/31/2019 An e-commerce website
3/123
ii
Acknowledgments
I would like to thank Andrew Amies-King and Sarah Fores for their supervision,
advice and willingness to answer all type of questions and giving me constructive
feedback on the report whenever required.
I would also like to thank Les Proll for his feedback, advice and comments in the
progress meeting and the mid-project report.
7/31/2019 An e-commerce website
4/123
iii
Table of Contents
Chapter 1 Introduction...................................................................................... 11.1 Introduction .................................................................................................. 1
1.2 The Problem Domain ................................................................................... 11.3 Overview of the Problem Solution ................................................................ 11.3 Aims & Objectives ........................................................................................ 21.4 Schedule ...................................................................................................... 21.5 Minimum Requirements ............................................................................... 31.6 Conclusion ................................................................................................... 4
Chapter 2 Requirements................................................................................... 52.1 Introduction .................................................................................................. 52.2 Stakeholder Needs....................................................................................... 5
2.3 The Problem Owner ..................................................................................... 52.4 The Potential Users...................................................................................... 52.5 Interview with the Stakeholder ..................................................................... 52.6 Evaluation Criteria ........................................................................................ 62.7 Evaluation of competitors website ............................................................... 82.8 Evaluation Result ......................................................................................... 82.9 Functional Requirement ............................................................................... 92.10 Non Functional Requirement...................................................................... 102.11 Conclusion ................................................................................................. 11
Chapter 3 Background Research................................................................... 123.1 Introduction ................................................................................................ 123.2 Online Shopping......................................................................................... 123.3 Human Computer Interaction ..................................................................... 12
3.3.1 Design................................................................................................. 123.3.2 Usability .............................................................................................. 133.3.3 Navigation ........................................................................................... 133.3.4 Screen Real time................................................................................. 143.3.5 Colour ................................................................................................. 143.3.6 Response Time................................................................................... 14
3.3.7 Download Time ................................................................................... 153.3.8 Links.................................................................................................... 153.3.9 Link Titles............................................................................................ 153.3.10 Accessibility for Users with Disabilities................................................ 16
3.4 Technology................................................................................................. 163.4.1 Web Enabled Database Architecture .................................................. 16
3.4.1.1 Client-Tier .................................................................................... 173.4.1.2 Application-server tier .................................................................. 183.4.1.3 The Database Tier ....................................................................... 20
3.5 Security ...................................................................................................... 223.6 Cookies ...................................................................................................... 23
3.7 Conclusion ................................................................................................. 23
7/31/2019 An e-commerce website
5/123
iv
Chapter 4 Project Management ..................................................................... 244.1 Introduction ................................................................................................ 244.2 Process Models.......................................................................................... 24
4.2.1 The RAD Model................................................................................... 244.2.2 Waterfall Model ................................................................................... 24
4.2.3 The Spiral Model ................................................................................. 254.2.4 The Incremental Model ....................................................................... 254.2.5 The Concurrent Development Model .................................................. 254.2.6 The Prototyping Model ........................................................................ 25
4.3 Choice of Model ......................................................................................... 264.4 Deliverables ............................................................................................... 264.5 Conclusion ................................................................................................. 26
Chapter 5 Design ............................................................................................ 275.1 Introduction ................................................................................................ 27
5.2 Unified Modelling Language....................................................................... 275.3 The Client Tier............................................................................................ 29
5.3.1 Human Computer Interaction .............................................................. 295.3.2 The Graphical User Interface .............................................................. 295.3.3 The Site Layout ................................................................................... 30
5.4 Application-server tier................................................................................. 305.4.1 Application server design .................................................................... 315.4.2 Database Connectivity ........................................................................ 315.4.3 Reusing Existing Code........................................................................ 31
5.5 Database Tier............................................................................................. 315.5.1 Database Design................................................................................. 31
5.5.1.1 Conceptual Design............................................................................. 315.5.1.2 Logical Design ............................................................................. 325.5.1.3 Normalisation ............................................................................... 33
5.5.2 Integrity Constraints ............................................................................ 335.6 Conclusion ................................................................................................. 33
Chapter 6 Implementation .............................................................................. 346.1 Introduction ................................................................................................ 346.2 Implementation Tools ................................................................................. 34
6.3 Good Programming Practice ...................................................................... 346.4 Major Issues............................................................................................... 346.5 The User Interface Implementation ............................................................ 35
6.5.1 The Layout .......................................................................................... 356.5.2 Input Validation ................................................................................... 376.5.3 Database Connection.......................................................................... 376.5.4 The Login Script .................................................................................. 386.5.5 Popup Window.................................................................................... 39
6.6 Database Implementation .......................................................................... 396.6.1 Data Manipulation ............................................................................... 40
6.7 System Deployment ................................................................................... 40
6.8 Conclusion ................................................................................................. 40
7/31/2019 An e-commerce website
6/123
v
Chapter 7 Testing............................................................................................ 417.1 Introduction ................................................................................................ 417.2 Testing Procedures .................................................................................... 41
7.2.1 Unit Testing......................................................................................... 417.2.2 Integration Testing .............................................................................. 42
7.2.3 System Testing ................................................................................... 427.2.4 User Acceptance................................................................................. 427.2.5 Input Validation ................................................................................... 437.2.6 Performance Testing........................................................................... 437.2.7 Browser Compatibility Testing............................................................. 43
7.3 Conclusion ................................................................................................. 43
Chapter 8 Evaluation ...................................................................................... 448.1 Introduction ................................................................................................ 448.2 Current features of the Prototype ............................................................... 44
8.3 Evaluating the Requirements ..................................................................... 448.4 Evaluating the Project Extension................................................................ 468.5 Evaluating the Prototype ............................................................................ 47
8.5.1 Evaluation based on the HCI Aspect................................................... 478.5.2 Evaluation based on the effectiveness of Marketing and Sales .......... 488.5.3 Evaluation based on the checklist and guidelines provided by W3C... 48
8.6 Project Schedule Evaluation ...................................................................... 498.7 Process Model Evaluation ......................................................................... 498.8 Future Enhancements................................................................................ 498.9 Conclusion ................................................................................................. 50
Chapter 9 Bibliography................................................................................... 51
Appendix A Personal Reflection ........................................................................ 54Appendix B Project Schedule (The Gantt chart)............................................... 56Appendix C User Requirement Transcript ........................................................ 60Appendix D Competitors Website Evaluation score sheet............................. 62Appendix E Activity Diagram............................................................................... 64Appendix F Normalisation .................................................................................. 65Appendix G The CSS File.................................................................................... 66
Appendix H The System Testing........................................................................ 68Appendix I The Test Plan.................................................................................... 71Appendix J The Stakeholder Evaluation Sheet................................................. 93Appendix K The HCI Score Sheet ...................................................................... 95Appendix L The Prototype Evaluation Score sheet........................................ 110Appendix M The W3C Accessibility Checklist ................................................ 111Appendix N The Project Extension (Screen shots) ........................................ 113Appendix O The Login Code ............................................................................ 116
7/31/2019 An e-commerce website
7/123
Page 1
Chapter 1 Introduction
1.1 Introduction
This chapter gives a general overview of the project and the problem that the project is
intending to solve. It then gradually moves on to examine the aims and objectives of theproject along with its relevance to the authors degree programme.
1.2 The Problem Domain
In todays world there are more and more people accessing the World Wide Web on a regular
basis. Some people just like to use the web for fun where as other people use the web for
specific reasons such as online shopping.
Today more than thirty million American consumers are expected to spend about $65 billion
purchasing products and services on the Internets World Wide Web [42]. So what's sending
shoppers to the Web? Time and (in most states) sales taxes (a fact shopping centre owners
are lobbying to change). [4]. Moreover people like to shop whenever it is convenient for them
and have the opportunity to explore the market through an extended geographical boundary
for the best price and quality [10] which gets restricted through normal shopping. With the
availability of online shopping a user can log in to a website at any time of day, from anywhere
such as home, work or any mobile devices and purchase goods from any part of the world and
get it delivered to the requested address from just a few clicks on the website.
Currently the individual is running his business of selling lingerie from an outlet to limitedcustomers within its locality. He realises that in order to expand and increase the turnover and
profitability of the company it is essential to extend the geographical boundary of the company
and sell its good to people not just locally but potentially globally too as it will increase the
market size and eventually lead to higher profits.
1.3 Overview of the Problem Solution
An e-commerce website would be feasible as users from anywhere and at any time can
access the website and place an order without visiting the physical premises. Such a system
would require a thorough navigation structure and an intuitive user interface so that any
user(s) would be capable to use the system to choose the lingerie they require, regardless of
their background.
Before any implementation work was carried out for the system, the author initially
investigated into the HCI aspect of building a web site so that it could be accessible and used
by all kinds of users and then looked into the technologies available that could be used to
build the application such as different kinds of databases available to store the product details
and images and web connectivity.
7/31/2019 An e-commerce website
8/123
Page 2
1.3 Aims & Objectives
The main objective of the project is to provide a detailed specification and working prototype
of a suitable e-commerce website that can meet the minimum requirements specified by the
outside client and then outline the aspects of security necessary to support the ability to
receive online payment.
In order for the author to achieve this aim and produce a solution to the problem, the following
objectives should be successfully completed.
Design a prototype e-commerce website for customers to view and buy goods online
Create a database to store product information and login details.
Investigate different software development methodologies
Investigate user requirements and needs.
Evaluate the prototype with the stakeholder, with particular regard to the suitability of
the User Interface for the intended market.
Research and evaluate various HCI aspects. Look into various competitors websites
and ascertain what is made available.
1.4 Schedule
This project is a large piece of work in which many tasks are to be performed. If these tasks
are not properly managed than the project can become very disorganised leading to a loss of
control. Hence, a schedule must be followed to ensure that the objectives are met within the
given times set. There are many time management techniques that are used but the most
simple and popular one used is the Gantt chart.
The use of a Gantt chart to plan out the schedule of the project helps a lot in structuring the
report and producing a system that will solve the problem identified in section 1.2 within a set
time scale. The key milestones and deliverables are shown as table 1:
Task Week Ending Description
1 15/10/2004 Discuss Project Idea with Supervisor
2 30/10/2004 Complete the Projects Aims and Requirements
3 13/11/2004 Gather User Requirement and get it checked
4 04-12-2004 Research on the aspects of HCI
5 20-11-2004 Look into various software methodologies available
7/31/2019 An e-commerce website
9/123
Page 3
6 27-11-2004 Select a software methodology for the project
7 20-11-2004 Analysis and evaluation of existing comparable website
8 20-11-2004 Investigate the benefits of an online presence in this type of market
9 09-12-2004 Submit Mid Project Report
10 12-02-2005 Look into the various technologies available
11 12-02-2005Evaluate and choose the appropriate technology to build the
prototype
12 26-02-2005 Begin the development work of the prototype
13 11-03-2005 Submit table of contents and draft chapter
14 18-03-2005 Conduct progress meetings with assessors and supervisors
15 16-04-2005 Testing
16 13-04-2005 Evaluate the prototype with the stakeholder
17 16-04-2005Evaluate the prototype with various users based on the HCI aspects
and effectiveness in marketing and sales.
18 16-04-2005 Complete final write up of the report
19 26-04-2005 Proof Reading and amendments in the report
20 27-04-2005 Submit Report
Table 1 The Project Schedule
The graphical representation of the Gantt chart can be found as Appendix B. Initially a draft
version of the project plan was completed and can be found within appendix B as appendix
B1. Later on as the project progressed a few amendments were made which can be found as
Appendix B2. The latest and the most realistic version of the project plan can be found as
Appendix B3.
1.5 Minimum Requirements
The minimum requirements as agreed with the project supervisor are:
List the User Requirement.
Produce a prototype to the extent where a user can search for an item, select it and
then go to the shopping basket but will not be able to purchase it.
7/31/2019 An e-commerce website
10/123
Page 4
Evaluate prototype with stakeholder.
Evaluation of competitors website using a checklist produced.
Investigate the benefit of online shopping in todays market and how it will benefit the
business in the sense of increasing market penetration with a positive effect on
turnover and profitability.
1.6 Conclusion
Within this chapter the author discusses the problem domain, defines the aims and objectives
to solve the problem and then moves on to identify the key milestones of the project. The next
chapter would look at gathering the user requirements in order to produce a solution to the
problem.
7/31/2019 An e-commerce website
11/123
Page 5
Chapter 2 Requirements
2.1 Introduction
It would be impossible to develop the system without a set of user requirements. This section
discusses the stakeholders requirement for his product and to determine what would be
required to be displayed on the screen.
Another form of gathering requirements for the product was through evaluating the e-
commerce website of the various stakeholders competitors in this line of market.
2.2 Stakeholder Needs
Stakeholders are the people who are interested in the system. In other words stakeholder can
be defined as the people who are paying for the system and who will eventually own the
system when built.
Stakeholder needs define the system requirement which can be achieved through formal
meeting. In order for the product and project to be a success the stakeholder needs or general
objective of the system [6] need to be clearly defined and understood. The requirements that
were gathered were functional and non functional.
Functional requirements are those requirements that tell what the system should be capable
of doing [30] where as the non functional requirements are the requirements of how to provide
the functional requirement. Non-functional requirements tend to be things that you can
measure [31]. It deals mainly with security, usability, performance and scalability
2.3 The Problem Owner
The Problem owner is in effect the main stakeholder of this project. The new system
requirements were eventually gathered through a formal meeting with the stakeholder where
his needs and requirements were discussed in details and then through evaluating the
website of the various stakeholders competitors.
2.4 The Potential Users
The potential users as stated by the stakeholder will be any person who are interested in the
goods provided, from anywhere in the world and who have access to the World Wide Web. It
will constitute of customer(s) above the age of 13 and onwards as stated by the stakeholder
during the initial meeting to discuss the requirements of the project.
2.5 Interview with the Stakeholder
A meeting was arranged in advance with the stakeholder in order to discuss the requirements
of the project and to gather information in regards to the stakeholders needs. Taking into
consideration, the limited number of interviews that could be conducted due to the stakeholdergoing away for a long period, the interview was structured in such a way that the maximum
7/31/2019 An e-commerce website
12/123
Page 6
information could be gathered with regards to his needs and requirements so that the
implementation of the prototype is not put on hold. The questions were based using non-
technical terms in order to gain maximum amount of information. The transcript of the
interview can be found in the as Appendix C.A copy of the typed transcript was emailed to
the stakeholder in order to ensure them that no points were ignored during the interview and itgave them the opportunity to fill in any questions that he did not answer at the time and
amend any information or requirements gathered, which do not match his needs or
requirements or has been written by mistake. The amendments made by the stakeholder can
again be seen in the same transcript as Appendix C.
In addition to the stakeholders requirements, it was also identified that the stakeholder would
like the security of the commercial website handed to a trusted third party company who will
look into the online payment and provide a virtual shopping basket to their potential
customers.
2.6 Evaluation Criteria
In order to evaluate their website, the website score sheet developed by the author for Whyte
[47] was used. The web site score sheet was developed in order to evaluate websites
effectiveness in sales and marketing and as the system being built is an e-commerce website
it would be beneficial to use it for this project too. The score sheet has been divided into 3
sections taking into consideration contents, design and navigation as three vital things in order
for a website to be effective for marketing and sales purpose. With regards to using a siteeffectively, and in order to get to the important information, it must be navigable and easy-to-
use. Thus navigation and design have also been included as two separate sections.
The evaluation points that were derived are shown below with a brief explanation of each
section.
Contents:
When visiting a website does the homepage clearly indicate its nature of business or
product(s)?A good website should illustrate on its homepage the product and services being provided
by the company to get potential customers attention.
Is product(s) information provided?
In order to help a customer to make their choice/decision to purchase the product, detailed
information about the product should always be made available. This would also reduce
the number of items being returned after purchase.
Does the website provide a reason as to why a customer requires a particular product?
7/31/2019 An e-commerce website
13/123
Page 7
The website should display an imperative reason on their website in order to seduce the
customer to purchase the product from their business.
Are there special emphases on sales items or on the launch of a new product on the
website?
In order to attain customers attention and inform them of the special offers special
arrangements are required to be made on the web site to emphasis them. The
arrangements can be done for example via advertisement on search engines.
Does the website provide the option to evaluate the product(s) offer with its competitors?
An evaluation result based on the comparison of similar product(s) sold by competitors will
help the customer to decide on the best available deal
Has the website got the option of helping the customer to make a decision on a particular
product?
Sometimes having various product with similar features displayed it becomes difficult to
select one particular item. At this stage it would be helpful if the website recommended an
item to the customer based on their budget and requirements.
When making a purchase is everything clearly explained?
It is vital to give detailed information about what is being purchased along with the exact
amount to be paid by the customer including delivery charges.
Is there any kind of after sales customer service?This plays an important role in the economy and the survival of the online store as
customers would purchase goods from websites that will give them the mental satisfaction
and ease of getting back to them if not satisfied with the good(s) or in case of any other
issues such as cancelling the purchase.
Navigation:
Does the website offer a complete navigation structure?
A complete navigation system on each page of the website will mean less time spent by
potential customers on searching for certain items on various pages and thus providing a
complete content of the website.
Design:
Does the website have a consistent page design with presentable font(s) throughout the
site?
This is an important aspect of a website as a consistent layout will be easily adapted by
potential customer and will drastically reduce their time spent on searching for buttons and
7/31/2019 An e-commerce website
14/123
Page 8
links on the screen. Having a presentable font means that customers can easily read
about the product and show professionalism from the point of view of the website owner.
Does the page and image load instantly for the website?
It is important that the page and image load instantly as customers tend to go on another
website making the current one history to them.
Does the website offer the option to skip flash intro?
A good website should have this option available as some customer tend to have made up
their mind of what they want and just want to purchase it as quick as possible without
having any delays due to animation.
The effectiveness of a website would be rated, based on the following as used in [47] by the
author:
Score Effectiveness Reason0-9 Poor Mostly none of the criteria are being met
10-16 Average Meets some of the criteria
17-20 Good Most of the criteria are being met. Gives
a high level of satisfaction.
21-23 Excellent Almost all the criteria are being fulfilled
24 Perfect All the criteria are being met.
Table 2 Effectiveness of a Website
2.7 Evaluation of competitors website
According to the stakeholder its main business rival in the e-commerce lingerie market are La
Senza and Ann Summers. In order to evaluate their websites, the website score sheet
discussed in section 2.6 will be used. These websites will then be given a score out of 24,
which will be used to check its effectiveness in the online market based on the evaluation
criteria mentioned earlier. The score sheets of these two companies can be found as
Appendix D.
2.8 Evaluation Result
Table 3 Competitors scores
Looking at table 3, it can be concluded that in terms of effectiveness in marketing and sales
they all fared well. The detailed evaluation of the websites are placed as Appendix D as
mentioned in section 2.7.
Website Scores (out of 24)
La Senza 17
Ann Summers 17
7/31/2019 An e-commerce website
15/123
Page 9
While examining the score sheets it can be seen that both companies had no comparison to
their competitors, as it is largely difficult to fulfil this criterion as a big brand produces a product
of its own mark, which is unique to its competitors. Thus it can be concluded that this is an
inappropriate criteria for an online lingerie websites scoring sheet and could be ignored when
building the e-commerce website for the business. It can also be derived from analysing thescore sheet(s) that all the websites paid a lot of attention on its design and navigation, which
is imperative in order to succeed in this online market, as customers will demand nothing less.
2.9 Functional Requirement
Functional Requirement is what the system should be capable of doing. With regards to this,
this section will discuss the system features taking into account the stakeholder needs and the
results of the evaluation and analysing of its competitors in the online market, as discussed
earlier.
System Feature:
1. The system must have a homepage which should include the company name (Secret
Whisper), a default picture and the company address along with a menu system.
2. The layout in general, must be clear and straightforward.
3. The homepage of the website must clearly indicate its nature of business or
products(s).
4. The system should be capable of redirecting the user to the homepage from any
webpage within the website
5. The system must provide details of its entire product in details in order for the
customer to select an item.
6. The menu system must take the potential customer to the relevant page as selected
through the navigating system.
7. The system should be capable of emphasising on sales items and on any newproducts that are available.
8. The website background colour must be consistent. Currently there are no preferences
with regards to a colour.
9. Customer(s) need to be able to attain full information on their selected product(s).
10. A database must exist to store product information and stock level
11. The system must be capable of providing product information i.e. product description,
available colour and sizes.
7/31/2019 An e-commerce website
16/123
Page 10
12. The system must be able to allow a user to enter the product quantity required.
13. The system should allow the client to add new product(s) or remove product(s) if
required from the database.
14. The system must output good error message so that any kind of user can understand it
and it can help the user to understand the system better.
15. Customer(s) need to be able to enlarge an image if required.
16. Customer should be made aware if stock is not available through a message on the
screen
17. The system should be able to add an external shopping basket seamlessly along with
an online payment system.
18. The system should only allow customer(s) to purchase a product if only it is available.
19. The system should not accept an order unless all mandatory fields in regards to
Personal Details, Shipping address and credit cards details are filled in by user. This
will be done in liaison with the online payment system
20. The system should have the capability to provide information in regards to their order
placed.
21. The system should have the functionality of being able to carry out a quick search on
its products.
22. The system should not let users under the age of 18 to view products within the Adult
toy section.
23. Customers should not be able to register the New User login page without filling in all
the mandatory fields.
2.10 Non Functional Requirement
The Non-Functional Requirement as discussed earlier tends to be things that can be
measured [34]. In regards to this project and system scope the non-functional requirement
that will be discussed within this section are Security, Usability and Performance.
Security:
1. The system should liaise with a secure online payment system seamlessly. The online
payment system to be used will need to be discussed with the stakeholder.
2. The system should prevent hackers from attacking the system by restraining the inputs
the system will authenticate.
7/31/2019 An e-commerce website
17/123
Page 11
Usability:
1. The system should have a vertical scroll bar for movement only. Horizontal bar will not
be preferred as a page without it would appear less cluttered and more user-friendly.
2. The system must have a consistent page layout through the website as it makes itmore user-friendly.
3. The system must layout the menu selection box consistently through the website i.e. it
should be made available throughout the related web pages in the same position. The
preferred location is either on left hand side of the page or on the top.
4. The system must use a consistent colour scheme throughout the website along with a
consistent font size and style.
Performance:
1. The application should allow for future developments to be conducted seamlessly
along with any addition to the system functionality.
2. In the future if the client wishes to migrate to another database application (i.e. from
Access to SQL server or MySQL) it must be done impeccably.
3. Web pages in relation to this e-commerce website should be able to download
instantly along with any graphics.
4. The system should return user requests as quickly and effectively as possible.
5. The system should work properly with its full functionality on Internet Explorer and
Netscape.
2.11 Conclusion
In order for the project to be a success it should satisfy the requirements discussed in this
chapter. The key deliverables for the project will be the functional and the non functional
requirements discussed with the word must whereas the requirements that are mentioned
with the word should are going to be the possible extensions to the project.
The prototype implemented in the end would then be evaluated using the web score sheet
produced to ensure that it proves to be effective in the sense of increasing market penetration
with a positive effect on turnover and profitability.
Now that the requirements for system to be implemented have been gathered the next
chapter will look at the background research carried by the author in order to tackle the
problem.
7/31/2019 An e-commerce website
18/123
Page 12
Chapter 3 Background Research
3.1 Introduction
Within this chapter the author discusses the benefits of online shopping in todays market and
how it will benefit the business in the sense of increasing market penetration with a positiveeffect on turnover and profitability. The author will then move on and look at the various
aspects of HCI and look at the technologies available.
3.2 Online Shopping
Online shopping is available through the use of the Internet; specifically the World Wide Web.
It has digitally enabled commercial activities between individuals and organisations.
In general the benefits that online shopping will provide the business are:
Potential customer(s) will be able to purchase an item from just about everywhere, all
round the year. They do not have to worry about going to the physical premises itself
and during its business time, as they are just one click away from making a purchase
at any time of the day [10]. Access to the World Wide Web is available 24 hours a day
and is one of the most significant reasons for the change in relations between
customer and organisation. Shoppers visiting the shopping websites will be able to
place orders at anytime of the day if they wish so and can also get the good(s)
delivered to and from anywhere in the world.
The business itself will expand beyond traditional boundaries and be removed from atemporal and geographical location [10]. This will increase the profit margin of the
company as it may potentially provide the company more customers as it is available
online and people from anywhere in the world can shop.
In return the business will benefit from reduced operating costs such as rent, rates and
labour and thus would be able to use these savings on to its consumer if needed.
3.3 Human Computer Interaction
HCI involves the design, implementation and evaluation of interactive systems in the context
of the users task and work ([34], p4).
A well-designed User Interface can be the difference between a product being accepted by
the end-user or the system being rejected as a whole. If the user does not find it easy to use,
learn, or too cumbersome, the system built, no matter how good it is, could still be rejected.
Where not otherwise indicated, the information gathered below in regards to the HCI aspects
are taken from [1], [2] & [34].
3.3.1 Design
In the Prototype, the screens should be designed so that information is clearly presented to
the users and they can easily interact with the system.
7/31/2019 An e-commerce website
19/123
Page 13
Shneiderman [1] explains that experiments have shown that users find it easier and quicker
to locate information they require using short articles over many pages rather than long
articles over fewer pages. The only drawback of doing this is that if the Internet connection
being used by the user is slow, it would be beneficial to download fewer larger pages.
Another important aspect is to ensure that the user(s) can distinguish between what can be
selected or clicked in order to go to another page or do something. The use of images as a
link within the website should be kept consistent in order to ensure the user(s) do not get
confused with regards to an image being a link or just for show purpose.
When designing the Home Page of the E-commerce website the design of the latter should be
different in comparison to other pages as the home page is something the customer looks at
first and this should give a brief idea about the company. For example it should have a
prominent placement of the company name and what purpose the site would serve for a first
time visitor. In terms of design all the other web pages within that web site would remain
consistent apart from the home page. All images used as a link will have an ALT tag attached
to it to ensure a user can distinguish between what can be clicked or selected.
3.3.2 Usability
Usability should not be an afterthought in context to this commercial website. Testing and
fixing a website after it has been built is inefficient and unlikely to produce good results. In
order to build an efficient and user friendly website users should be kept in mind through out
the design process. This will be difficult to achieve when designing the shopping web site, as itwould be hard to get access to a sample of the intended audience.
Nielson [2] states Usability rules the web. If a customer cant find a product, then he or she
will not buy it ([2], p9).
According to the Online Guide to the usability resources [3] better usability will provide the
following:
Increased end-user satisfaction
Increased end-user productivity, success, and completion
Reduced training and support costs
Reduced long-term development costs (costs incurred from fixing poorly designed
products)
Return business to improve your competitiveness
3.3.3 Navigation
Another important aspect of building a good website is to have a complete navigation
structure. This will allow users to easily get through a site saving them time and frustration. It
will allow the user to get a good feel for the website as they can get what they require easily
7/31/2019 An e-commerce website
20/123
Page 14
and quickly which could potentially make the user to come back in the future and use the
website again.
When designing the navigation structure the most important thing to keep in mind is the ability
of a user to be able to interpret where he or she is in order to have a chance to understand the
sites structure.The site needs to be identified on all pages as they form a subset of the web as a whole ([2],
189). In addition to that the site identifier/logo should be included on every page with a
consistent placement and should be made into a hypertext link to the homepage with the
addition of an ALT tag so that the users can get to it from any page within the website.
3.3.4 Screen Real time
According to Nielson [2] websites should be dominated by contents, which would be of
interest to the user and should account for at least half the webpage.
The use of white space on web pages is a necessity as it can guide the eyes and help the
potential users to understand the contents and grouping of information [2]. It is also faster to
download in contrast of separating two line segments of content by a heavy line.
3.3.5 Colour
When displaying links the colour blue should be used to identify links to pages that the user
has not visited before as this is the colour most websites use and it uses vague derivatives of
the default link colours [2]. In contrast, links to pages that the user has visited already should
be displayed in purple or red as users have grown accustomed to it giving them zero delay in
figuring out that they have visited that web site earlier [2]. When non-standard link colours are
used, users lose the ability to clearly identify, which parts of the site have been visited already
and which is yet to be explored ([2], p62).
When selecting the colour for the contents of the website the use of extreme colours from the
spectrum i.e. yellow or light blue should be avoided as it is not user friendly at all. Generally
the colour black should be used on a white background as it can be easily read. Finally the
colour selected for the application should be kept consistent all through the website.
3.3.6 Response TimeOne of the important criteria of web designing is to have a fast speed for loading web pages.
According to Nielson [2] research carried out on a wide variety of hypertext system shows that
users require response time to be less than one second when moving from one page to
another. At present the response time to get a page to users should not be more than 10
seconds ([2], p44) as that is the limit of peoples ability to keep them focussed and thus it may
potentially lead to the user abandoning the website all together.
7/31/2019 An e-commerce website
21/123
Page 15
3.3.7 Download Time
Web designing should be done taking in consideration the speed to download [2]. Users
prefer the page to get downloaded as quickly as possible. It is highly important to ensure that
the loading time of a web page is minimal as waiting for a page to load may irritate the user. In
order to accomplish this graphics should be kept to a minimum and multimedia effects shouldbe used only when required to help users to understand the product in detail [2]. Nielsen [2]
states Removing graphics; increases traffic. Whenever possible multiple occurrence of the
same image should be used as it will render quickly due to being stored on the users local
cache ([2], p46).
Style sheets can be used to improve page design. Nielsen [2] expresses that a web designer
should try to keep pages below 100 kilobytes.
The guidelines for fast loading as defined by Nielsen [2] are:
Top of the page should be meaningful even when no images have downloaded.
ALT text attributes should be used for images so that the user viewing knows what it is
about before it gets rendered.
The browser must draw the top of the page quickly.
Cut down on complex table and try and split the information into several tables.
3.3.8 Links
Links are important as they connect the pages and allow users to go to new and visited pages
on the web. Nielsen [2] states Hypertext links are anchored in the text that the user clicks onto follow the link. These anchors should not be overly long because users scan pages for the
links to see what they can do on any given page.
One of the rules of web designing is to try and avoid using Click Here as an anchored text for
hypertext links [2]. The reason behind is that disabled users or users with a touch screen do
not click on the button and another reason is that the word Click and Here are hardly
information-carrying, and as such should not be used as a design element that attracts the
users attention [2].
The use of underlining and bullet point if used in the website should be kept consistent so that
they are either used to indicate a link or never used as a link at all. For example, using images
as both links and as decoration slows down users as it forces them to study the image to
discern its click ability [5].
3.3.9 Link Titles
Whenever a link is being used on the website a small explanation should be attached to it to
ensure the user(s) are able to a preview of where the link is about to take them and eventually
it will improve their navigation in regards to the system [2].According to Nielsen [2] the suitable information to include in a link title can be:
7/31/2019 An e-commerce website
22/123
Page 16
Name of the site the link will lead to when the user clicks on it
Name of the sub site displayed to user(s) if the link will take them to a different part of
the site
3.3.10 Accessibility for Users with Disabilities
It is imperative to ensure accessibility for disable people have been taken into account for the
potential website so that it can be used by any kind of user(s).
Whenever an image gets placed in the website it should always have an ALT attribute
attached to it to describe what the image is about. Secondly any headings on the page should
have appropriate HTML tags such as and used as blind users can get an overview
of the structure by having it read aloud ([2], p302). CSS file should always be used so that the
layout and presentation of the website can be defined and controlled [46]. The font style in the
CSS should always remain in percentage as user(s) will be able to increase or decrease thesize through their web browser. Again, when designing the website extremely precise mouse
positioning ([2], p309) should always be avoided for users with motor disabilities [2].
Once the website gets implemented the author would validate the prototype using the
checklist and guidelines provided by W3C [46] to ensure the E-Commerce website is
accessible by disabled user(s).
3.4 Technology
Within this section the author will be providing a brief overview on Web Enabled Database
Architecture and the advantages of using this architecture to build the proposed e-commerce
website.
3.4.1 Web Enabled Database Architecture
The user requirements determine the sort of system environment that should be set up but
nothing about the technology best suited for the system to be developed and implemented. So
before creating any web based application the correct technology must be in place. Fournier
[9] explains what technology needs to be in place to create a web environment and places
these requirements in to three categories.
The first category is producing applications that are static in nature. In other words,
applications that holds static Web pages or documents. A static Web page is a HTML
(Hypertext Mark up Language) document. The content of which does not change unless the
file in which the HTML document is stored changes. This enables the user to only view the
document. Such an application involves the use of a Web Browser, the Internet and a Web
Server in the architecture. The Web Browser sends a message to the Web Server to display a
specific document requested by the user. This message is transported via the Internet in the
form of HTTP, Hypertext Transfer Protocol. All documents stored in the Web Server are in
7/31/2019 An e-commerce website
23/123
Page 17
HTML format. The requested document is then sent back to the browser again in the form of
HTTP via the Internet, where the Web Browser interprets it and displays the document on the
screen.
In the second category a database server is added in the architecture. This server resides in
between the Web Server and to a back end database. Another difference is that it consists of
simple dynamic web applications. Dynamic web pages are web pages that are generated
each time it is accessed and can respond to user input from the browser. For example,
returning data requested by completion of a form or the results of a database query. ([51],
p954). The way this architecture works is a bit different from the first category, though the Web
Browser requests information in the same way. The web server receives the request and
communicates with the database server, which obtains the information to be returned from the
database. Examples of this type of application are Custom or commercial Web applications
that are used to directly query or occasionally update a database. [9].
The third category is complex web database applications that can manage complex
transactional systems that can connect to several corporate databases [9]. These
applications require an additional application server that sits between the web server and the
database server. This insight shows that creating a web-enabled database is not just using a
package to develop a database but other technology is needed to support the communication
between the user front end and the back end database information. The expense and
complexity involved in creating a web-enabled database increases with the amount of
functionality needed.
Out of the three categories outlined above, the third category i.e. the three-tier architecture in
the authors opinion is better suited to the task with respect to the Online Shopping system.
Apart from the viewing, updating and inserting capabilities, needed by the system, security is
another important aspect to be considered when choosing the correct architecture. Security is
a key issue regarding the database due to the sensitive nature of the records being kept, i.e.
customers personal details. Fournier [9] explains how security measures, such as user web
page navigation flow control, require the implementation of an application server and so itlooks increasingly obvious that the third category architecture will be the more viable option.
A three tier architecture comprises of the following:
A client tier;
An application-server tier;
A database tier.
3.4.1.1 Client-Tier
The client tier is responsible for the presentation of data, receiving user events and controlling
the user interface [13]. In other words its the user side of the web application and the
7/31/2019 An e-commerce website
24/123
Page 18
technologies that are available to use it are Client Side Scripting languages and the Web
Browsers.
In the context of this project the Client Side Scripting languages that will be discussed is
JavaScript and then the Web Browser.
JavaScript
JavaScript is a client side scripting language that allows you to create simple code to control
the behaviour of web page object ([14], pp195). The benefit of using this client side scripting
language is that it executes codes on the client side rather than the server side meaning that
there is less load or burden on the server. It allows Webpage Developer to validate a form
without adding extra load onto the server [15].
Web Browser
Web Browsers play an important role in displaying client side scripting language such asHTML and JavaScript to the user(s). It allows for these technologies to be integrated into a
single system [16] which according to the author means that the browser has the potential to
accept various scripting languages and then display them to the user in a readable format.
Today, there are many web browsers made available to the users. Currently the most widely
used web browsers according to W3C [17] is Internet Explorer as seen in figure 3.
2005 IE 6 IE 5 O 7/8 Ffox Moz NN 4 NN 7
February 64.9% 4.3% 2.0% 20.0% 4.0% 0.2% 1.1%
January 65.3% 4.4% 2.1% 19.3% 4.0% 0.3% 1.1%
IE Internet Explorer Moz Mozilla NN Netscape
FfoxFirefox (Mozillabefore 2005)
O Opera
Table 4 Web Browsers Statistics
3.4.1.2 Application-server tier
Business-objects that implement the business rules "live" here, and are available to the client-
tier. This tier protects the data from direct access by the clients. [15]. Server side Scripting
language is required for this tier, which will help in user interaction and to link a web page toanother page. It will in effect tie the user interface available to the user with the server and the
database linked with the web application.
As the system relies on the web it is imperative that the correct Server Side scripting language
is chosen which will eventually lead to the project being a success.
In regards to this project the Server Side Scripting language that will be evaluated and
discussed are Perl, ASP, JSP and PHP.
7/31/2019 An e-commerce website
25/123
Page 19
Perl
Perl is open-source software that is regarded as a stable and a cross-platform programming
language [18]. This server side scripting language has the ability of text manipulation and
does also handle encrypted web data. According to Gesker [19], Perl is a complex mechanism
for attaching web pages to a database back end. This makes it a slow process and it
eventually takes time to insert and update database tables. Perl overall is not an easy
programming language to learn or use within this short time frame due to its syntax and its
strongly typed nature. Perl, though being stable, it is a complicated language as it was built to
do potentially more than just web scripting [20].
Active Server Pages
Active Server Pages (ASP) is Microsofts leading technology that provides a framework for the
development of dynamic web applications. Mendelevich [43] highlights the advantages of
using ASP. He describes many features that amalgamate giving a development tool that is
easy to use. Firstly, Active server pages are HTML pages with ASP code embedded in
dynamic HTML tags that are saved as .asp files, in a directory, allowing changes to be made
easily during development and maintenance.
Secondly, ASP can be developed in a variety of languages, the most common choices being
VB script and J script (Microsofts version of Java script) [20]. This ensures that no matter
what programming background a developer is from it should not to be too difficult to use ASP.
Edwards [44] highlights another advantage of ASP is the huge size of the developmentcommunity. There are numerous amounts of literature available from books to the Internet,
including a number of free components to extend the functionality of the ASP application.
Unfortunately ASP is not open source and is costly to implement.
Java Server Pages
Java Server Pages (JSP) were developed by Sun Microsystems as direct competition with
Microsofts ASP. Like ASP, Java Server Pages are HTML documents with scripts enclosed in
special tags. It provides a simplified fast way of creating dynamic web contents that are server
and platform independent [21]. Unfortunately, unlike ASP, when using JSP developers are
restricted to using one language, Java, when adding dynamic functionality. Edwards [44]
highlights another disadvantage of JSP is the lack of work that has been done to produce
easy to use editor which hinders development but unlike ASP, JSP is free and also because
its coded using Java it is more portable.
PHP
PHP is a server side scripting language and an open source software that is used for web
development. PHP provides dynamic web content ([23], p XIX), and runs on the web server
7/31/2019 An e-commerce website
26/123
Page 20
unlike JavaScript that runs on the web browser. According to the PHP manual [20] The goal
of the language is to allow web developers to write dynamically generated page quickly. It is
a scripting tool that allows HTML and the code to be mixed in the same file along with a
database driven website being built. The only drawback of PHP is that due to its open
architecture it has some security concerns [23].
Evaluation and Conclusion
Perl ASP JSP PHP
Prior experience None Basic None Medium
Cross Platform Yes Yes Yes Yes
Complexity (coding the product with
this language within the given time
scale.)
High Low High Low
Table 5 Evaluation criteria for Scripting Languages
Prior to selecting the scripting side language an evaluation is done among the chosen
language so that it could be seen clearly which would be the ideal one to use for this project.
Comparing the three evaluation criteria against the languages it can be seen that it comes
down to either using ASP or PHP due to a lower complexity level and the presence of prior
experience.
PHP seems to encompass all the strengths of ASP whilst not seemingly having its
weaknesses as it is platform independent and an open-source software. Orzech [45] explains
the fact that PHP was designed specifically for Web development gives it an edge as a
development tool with regards to other comparable technologies.
PHP is concluded as the right choice for scripting language by the author in regards to this
project as it is flexible, fast and simple in its requirements, yet powerful to output ([24], p xxiii).
As it is a cross- platform scripting language it can be used on any available web server, and
does not have the problem of leaking precious memory ([24], pp xiv). PHP can also be used togather data from forms and access the selected database for this project where it can add,
delete or modify elements. In addition, PHP lacks complexity thus making it easier to maintain.
Above all PHP will generate HTML output which will be viewed by the users via their web
browser. With regards to the security issues of PHP, this can be resolved by coding the
system properly and by configuring it correctly.
3.4.1.3 The Database Tier
This tier is responsible for data storage. Besides the widespread relational database
systems, existing legacy systems databases are often reused here [13]. As mentioned in
7/31/2019 An e-commerce website
27/123
Page 21
section 2.9, a database is required to store product information and for the web page to
interact with its potential user(s) and retrieve the information as requested.
A collection of related files is a database. Within these files, records of items are organized
into rows and columns [19]. Overall it would be beneficial to create a database where product
information and stock level could be stored and updated when required.
With regards to choosing the ideal database for this e-commerce website the databases that
were evaluated and discussed by the author were MySQL, PostgreSQL, SQL Server and
Microsoft Access.
MySQL
MySQL is a very fast, multithreaded, multi-user and robust SQL database server [19]. It is
cross platform thus making it possible to be accessed via any operating systems [22]. As
MySQL is a command driven application it has difficulty in updating data values in comparison
to other databases that have a GUI interface for update features. Another drawback of MySQL
is that it lacks support for data-types, and active rules.
PostgreSQL
PostgreSQL is a highly-scalable, SQL compliant, open source object-relational database
management system [26]. In comparison to MySQL, PostgreSQL is slower on inserts and
updates because it has transaction overhead [19]. This type of database is beneficial to
organisations that have large systems and store a lot of data as an empty PostgreSQL
database on its own takes about 1MB of space [19]. PostgreSQL offers a greater number of
services and functionality. They offer trigger and support Relational Database Management
System very well [19].
SQL Server
SQL is a Microsoft built server, thus it would have to be purchased, unlike the others which
are an open source database.
Although SQL Server has the potential to deal with a lot of web traffic and handles security
and performance very well; it has a requirement of 95270 MB of available hard disk space for
the server; and consumes 250 MB of that space for a typical installation [25].
MS Access
Access is a Microsoft product. It comes with a good interface to implement with and is an
application that can be used easily by a beginner to an expert database user [48]. Visual
Basic is its underlying language. One of the advantages that MS Access provides is that it has
a GUI interface which can be used by the user to modify, delete or add data to the system
[48].
7/31/2019 An e-commerce website
28/123
Page 22
One of the drawbacks of using Microsoft Access is that it becomes inefficient when it has to
deal with multiple users due to the fact that it struggles to manage multiple IO threads.
Evaluation and Conclusion
MySQL PostgreSQL SQL Server MS Access
Functionality Medium High High High
ODBC Support Yes Yes Yes Yes
Performance High Low Medium Medium
Cost None None High Medium
Portability Linux/Windows Linux Windows Windows
Table 6 Evaluation criteria for Databases
As the Stakeholder uses a Windows machine at the work premise, it would be imperative tobuild an application that would liaise with it without any restrictions. Looking at table 6,
PostgreSQL is dependent on the Linux operating system and also looking at performance, it is
slow in comparison to the others. Thus it can be eliminated from the list of databases that can
be used. Though MySQL is versatile in the sense that it is platform independent making it
work with any operating system it has the drawback of being a command driven application
and lacks support for active rules and data types, which rules it out. Looking at MS Access
and SQL server both are a Microsoft product thus they both can liaise equally well on any
Windows machine. Their performance and functionality are also equal. The only means ofseparation between the two is the cost. Due to cost constraint and the stakeholders
experience in MS Access, Access would be the ideal choice here. In addition, Access offers a
simple functionality and comes with the peace of mind that it could be easily exported to
Microsoft SQL Server if the stakeholder decides to expand the business further and/or there is
an increase in customer demands in the future. Access also exports table structures and data
via standard SQL statement, which will in effect allow it to be transferred to any database
system and even another platform if required. The reason to go towards Microsoft SQL Server
in the future is that it can handle performance and security very well along with a lot of web
traffic. According to Ho Yu, C. et al [33] Access can support up to 1 Gigabyte of data which
currently is more than enough for the stakeholder where as Microsoft SQL Server has the
capacity to hold several Terabytes making it capable to handle data in the future. When
moving towards SQL server the cost of it should be kept in mind. Currently it comes with a
price tag of $4,999 which is approximately 2600 in todays market [25].
3.5 Security
When building the e-commerce system security is an important part to be looked at as from a
customers perspective they will be entering there personal information and card details which
7/31/2019 An e-commerce website
29/123
Page 23
they would not like anyone to know about where as from the stakeholders perspective they
would like to ensure confidential data cannot be accessed by any unauthorised person and
the data integrity are maintained.
A secure system will always be accepted by customer(s) in contrast to a system that cannot
be trusted. Thus security should always be given importance and when an application is
getting built it should be planned throughout the project life cycle ([47], p2). In regards to
receiving payments from a customer a Secure Socket Layer (SSL) should be used which will
sit between the application layer and TCP/IP [47]. SSL provides data encryption, server
authentication, optional client authentication and message integrity for TCP/IP connection
([10], p257). In addition to having SSL protocol the stakeholder should also adopt SET i.e.
Secure Electronic Transaction Protocol that authenticates cardholders and merchant identity
through using digital certificates ([10], p257). As the database being implemented for the
system will be storing confidential data it should be password protected to ensure
unauthorised person do not get any access to the personal information stored.
3.6 Cookies
A Cookie is a kind of data storage that is used by web sites to store data on a users computer
and then at later stage allow the data stored on that computer to be retrieved [10].
A cookie in the case of the e-commerce website could be used to store product information in
regards to what a customer has added to their shopping bag and then later retrieve it when
the customer(s) has made up their mind to go to the checkout to purchase those goods. Theitem(s) that the customer has placed in the shopping bag will be stored in the sites database
with a unique ID number which will be generated by the website. The number generated will
then be stored in the customers machine under the cookie file [10]. In other words it will
assign a unique reference code which will be attached in the database implemented for the
website to identify the customer [47].
3.7 Conclusion
In this chapter the benefit of moving towards online shopping is discussed alongside the HCI
aspect when building a website has been researched before any design or implementation
work got carried out. The HCI aspects discussed here would be used to produce a more in-
depth score sheet similar to the one mentioned in section 2.6 to evaluate the prototype from
the HCI perspective together with the evaluation to measure the effectiveness of the prototype
in regards to marketing and sales. Towards the end of the chapter, choice for the application
scripting language was made and the appropriate database was chosen. Security was also
briefly covered in this chapter along with cookies.
The author will now move on to evaluate the various software methodologies available and
select the most appropriate one for this project.
7/31/2019 An e-commerce website
30/123
Page 24
Chapter 4 Project Management
4.1 Introduction
A successful product/project can only be accomplished with the combination of a successful
project management and selection of the correct methodology. In order to ensure that asuccessful system is developed the correct model is required to be chosen and a project plan
will then help to guide the project to completion on the set deadline.
A methodology is regarded as a recommended series of steps and procedures to be followed
in the course of developing an information system ([8], p 418).
There are plenty of Process Models available for software development but different systems
require different models to get implemented. Within this section all the software processes that
were looked at by the author are discussed.
4.2 Process Models
The following is a list of process models that are available for software development. The
models that are discussed below are the ones the author researched using [6], [8], [11] & [12],
in order to select the most appropriate one for this project.
4.2.1 The RAD Model
The Rapid Application Development (RAD) Model is a linear sequential software
development process model, which uses a component based construction approach with the
emphasis on a short development lifecycle ([6], p31). When the User Requirement is wellunderstood and the project scope is constrained then the RAD model is beneficial to use
within a short period of time. Generally the RAD model is used for Information System
applications and is developed by the RAD Team using fourth generation techniques.
Another disadvantage that led to the decision of not using this model for the software
development is that it lacks methodology, which may lead to a casual approach towards the
project and due to time constraints it would not be beneficial as the prototype might not be
completed on time.
4.2.2 Waterfall Model
The Waterfall model is one of the oldest software models suggesting a systematic, sequential
approach ([6], p26) to building a software starting from the system level and progressing up to
the testing and then maintenance level. It comprises of five stages as shown in figure 1:
Figure 1 The Waterfall Model
The Waterfall has the drawback of the program not being available for evaluation to thestakeholder until late in the project time-span. It also requires all the requirements to be
Requirements OperationTesting
Coding
Design
7/31/2019 An e-commerce website
31/123
Page 25
explicitly defined at the start of the project as it becomes difficult to do amendments at the end
of the project. This model will not be ideal for this project as the User Requirement might
change at a later stage or some new ideas may arise at the time of evaluating the product
making it difficult to carry out any amendments to the product. Thus the Waterfall model would
be unsuitable for this project.
4.2.3 The Spiral Model
The Spiral Model proposed by Boehm [41] couples the iterative nature of prototyping with the
controlled and systematic aspects of the linear sequential model. Boehms [41] approach of
software development is realistically beneficial for large-scale systems and software making it
unsuitable for the current project. Another reason is that this model becomes very time
consuming if a new feature has to be added to the product due to the fact that the analysis,
design and coding stage has to be started once again.
4.2.4 The Incremental Model
The Incremental Model applies linear sequences in a staggered fashion as calendar time
progresses ([6], p34). It focuses on producing an operational product ([6], 34) with each
increment where the final product is a stripped down version ([6], 35) of each increment. The
main product delivered will be used by the stakeholder and after vigorous testing feedback will
be given of any modification to the program in order to make the product better and user
friendly. In essence this approach ensures that a complete system will be delivered to the
customer in the end after all the linear sequences leading up to the project completion arecompleted satisfactorily [6].
In this model amendments can be done to the User Requirements at any stage as an
incremental approach is being used. Thus a complete Requirement analysis is not required.
An incremental approach may lead to the software breakage as a later increment may require
modifications to the earlier increments making it unsuitable for this project.
4.2.5 The Concurrent Development Model
The Concurrent Development model is sometimes called the concurrent engineering model
[6]. It defines a series of events that will trigger transitions from one state to another for each
of the software engineering activities ([6], p39). It is driven by the stakeholders needs,
management decisions and the review results.
As this process model is suitable for complex projects that are operated by many people it will
be inappropriate for this project [6].
4.2.6 The Prototyping Model
The Prototyping model uses an iterative approach [6] to software development. The first step
involved in this process model is the initial meeting between the developer and the
7/31/2019 An e-commerce website
32/123
Page 26
client/stakeholder to gather the User Requirements and to define the objectives [6] of the
product.
If there was to be an error in the development of the product and that was detected at a later
stage it would cause a disaster in contrast to the error being detected at an earlier stage. This
is where Prototyping model plays an important role, as the client/stakeholder is able to
evaluate the prototype and detect any problem [6].
The goal of the Prototyping methodology is for developers to discover critical properties of
their product before making final decisions [7]and thus ensuring that fewer errors will occur.
Any refinement to the requirements can also be done to the product at this stage with fewer
difficulties before it gets deployed.
4.3 Choice of Model
Out of all the models mentioned above, the Prototyping model was selected as the most
suitable, as it seems ideal for small - medium sized projects and can be accessible at any
stage of the development process. Above all this process can be used when the customer
has a legitimate need but is clueless about processing or output requirements ([6], p29).
Another reason for using the prototyping model is that the first step in this model as stated in
section 4.2.6 has already been carried out and discussed in Chapter 2. In addition as some of
the requirements were gathered through evaluating competitors website it would be an
appropriate process to use to get some feedback from the stakeholder at the construction of a
prototype at each iteration, which will satisfy the stakeholder that the product is being built to
their requirements, and in return it will give a better understanding to author of what requires
to be done. It will also enhance the stakeholders involvement in the sense that they can be
more actively involved in the design decision and there would be a production of an expected
result.
4.4 Deliverables
The deliverables for the project will be:
A working prototype for the stakeholder to evaluate. The Project Report
4.5 Conclusion
The Prototyping model has been chosen as the software methodology for this project in order
to produce a solution for the stakeholder.
The author will now move on to produce a preliminary design of the system in order to
implement the first prototype for the e-commerce website which could then be evaluated by
the stakeholder and any amendments required could be carried out.
7/31/2019 An e-commerce website
33/123
Page 27
Chapter 5 Design
5.1 Introduction
Designing a system is another important stage in the whole software lifecycle. It is the activity
aiming at developing the system architecture which would meet all the requirements specifiedin the earlier chapters and at modifying this architecture according to the changing
requirements. It details the architectural model, the internal structure and implementation
particularities of all modules specified. Hence, if the design model is sufficiently accurate, it
becomes possible to implement the system effectively.
This chapter discusses the design technique used and the work carried out during the design
phase for implementing the prototype - an e-commerce website. In addition to the database
design, the layout of the content for the webpage will be discussed with a brief introduction on
UML, (Unified Modelling Language) a graphical notation used to discuss the designs of asystem.
5.2 Unified Modelling Language
UML can be used to understand the user requirement which in effect will help in developing a
system that meets the stakeholders requirements more closely and precisely. This visual
language is useful in the analysis and design stage of a project life cycle and is now being
used for business modelling and web-based applications development [28].
According to the author, UML is the ideal method for understanding the design of this project
as the user requirements gathered in Chapter 2 can be used to interpret the flow of activities
with regards of purchasing an item from the potential website and estimating how many web
pages would be required and what would be the role of each webpage when designed and
implemented. It will eventually help to understand the flow of activities in order to build the
system and from the stakeholder perspective he will be able to understand what is being done
and what to expect from the system being implemented.
According to the online resource, Why use UML? [28], the impact of a requested change
from the stakeholder can quickly be estimated as it can be traced through the UML models
into those components affected and even identify the lines of code which need to be
amended.
Currently there are a large number of UML diagrams available, which are used for depicting a
systems structure and actions for different purposes. Due to the simplicity of this application
and the purpose of this report only the most relevant UML structures and diagrams will be
used and discussed later in this chapter.
The following is a discussion of the suitable UML diagrams in relation to this project. Where
not otherwise indicated, the details of the discussed UML diagrams are taken from [27].
7/31/2019 An e-commerce website
34/123
Page 28
Use Case Diagram
The Use Case diagram is imperative as it provides a good understanding of the overall picture
of what is to happen and what needs to be planned for the new system. It is an effective way
of communicating with the user or stakeholder of what functionality should be expected from
the new system [27]. A Use Case is a procedural definition of functional requirements written
in prose [28]. Use Cases are drawn taking into account the actors (users interacting with the
system) and the use cases (actions performed by the users) and the associations among
these. This is more of an analysis technique then a design one. It provides a high level view of
what the system does and who uses it. Figure 2 shows the interaction between the users
(Customer and Client) and the e-commerce website.
Receive Confirmation
Enter credit card details
Visit the E-Commerce website
Search for relevant product(s)
Purchase selected product(s)
Enter personal details inc.
shipping address
Customer
Keep the system up-to-date
Send goods to customer(s)Client
Receive money from customer via
online payment system
Figure 2- The Use Case Diagram
Activity Diagram
Activity Diagram is used to describe the flow of procedure within the e-commerce website from
the perspective of a potential customer. An activity diagram is a simple and intuitive illustration
of what happens in a workflow, what activities can be done in parallel, and whether there are
any alternative paths through the workflow [29].
In order to acquire the flow of procedures within the website, various shopping websites in this
kind of market were looked at and their flow of procedure (up to the stage of purchasing an
item) were noted down along with the views of various colleagues who have experience in
7/31/2019 An e-commerce website
35/123
Page 29
buying products online. Taking the above into consideration, the flow of procedure that the
author came up can be seen in Appendix E.
5.3 The Client Tier
This involves designing the front end of the application. It needs to be done carefully as the
potential customers are mainly interested in the user interface as that is what is presented tothem not the back-end application. Without providing an adequate front end application users
will not be able to explore all the features of the system or in the worst case scenario, none of
the features at all.
5.3.1 Human Computer Interaction
A system with a good interface will readily be accepted by the potential customers whereas a
badly designed system will always be rejected by any kind of users. Thus it is important to
keep the user in mind when building any kind of human interaction application(s) as ultimately
they will be using the system. All the features mentioned in section 3.3 will be taken into
account whilst designing the application.
5.3.2 The Graphical User Interface
TheGraphical User Interface (GUI) of the system would solely be dependent on the analysis
of the client side scripting code used by the web browser. Whilst building the prototype, it
would be crucial to ensure that the HTML outputs are getting interpreted as expected by the
various web browsers as shown in table 4. Among all of the web browsers, Internet Explorer
and Netscape will be the m