You are on page 1of 68

The requirements and design of the 'customer-friendly' e-shop for a

computer retailer

Wang, Jianping

MSc Information Systems


School of Computing

2002/2003
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Summary

This project is about the requirements and design of a 'customer-friendly' e-shop for a computer retailer. A
prototype is required to demonstrate some of the features in the design. By focussing on the requirements of the
customers, the prototype aims to demonstrate the essential features for supporting the buying process and for
offering advice on the purchase.

A Chinese company which sells assembled computer has been chosen as the study case.

The RUP approach has been used for the development of the prototype. The design/build/test cycle was
conducted twice.
A three-tier architecture was adopted for the prototype, using ASP, JavaScript and Microsoft Access database.
The following functions were implemented in the final prototype:

“Select and order”: to support customers in selecting and ordering the products.
“Products query”: to help customers in finding the products that are partly remembered;

“Show relevant components”: to show the components that are relevant to ‘user type’ of the customer The user
types include big business customer, small business customer and family customer.

“Show the most popular products being visited” and “show the most popular products being sold” -to provide
useful advice to customers.

“Show latest news”: to provide the latest news to the customers “Check order state”: to help customers to
check the state of the order after the purchase.

The result of the evaluation showed that the prototype can give ‘customers’ strong support when they were
buying assembled computers from a computer retailer.

Wang, Jianping I
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Acknowledge

Dr. Lydia Lau


Firstly my thanks must go to Lydia Lau, my project supervisor, for her advice, and individual guidance and
suggestions, comments, ideas and help. I learned not only technology but also character of people from her.

Dr. Eric Atwell


My project assessor, who gave me very useful advice on how to do the project

Mrs Ann Robert


Project Officer, who gave me some useful help

My classmates and friends


I would also take the opportunity to thank my classmates and friends ,who gave me their time to assist in the
various stages of this project

Wang, Jianping II
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Content table

Chapter 1: Project Introduction


1.1 Background 1
1.2 Objectives 1
1.3 Minimum Requirements 1
1.4 Deliverables 2
1.5 Background research 2
1.5.1 E-commence and its components 2
1.5.2 E-shop 4
1.5.3 Customer-centred theory 5

Chapter 2: Approach 6
2.1 Incremental and iterative approach 6
2.2 Planed project schedule 8
2.3 Executed project schedule 9

Chapter 3: A case study 9


3.1 Induction 10
3.2 The current business model for QD 11
3.3 The problems of the currently model 11
3.4 The vision 13
3.5 How the e-shop should benefit QD 13
3.5.1 Comparing to other companies 13
3.5.2 Compare to QD itself 14

Chapter 4: Requirements of e-shop 14


4.1 Functional Requirements 14
4.1.1 Use case diagram of e-shop 14
4.1.2 How the functional requirements help resolve the problems 16
4.1.3 Description of the functional requirements 16
4.2 Non-Functional Requirements 18
4.2.1 Usability 19
4.2.2 Performance 19
4.2.3 Security 20

Wang, Jianping III


MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Chapter 5: Prototype design 20


5.1 Proposed Architecture 20
5.2 Interface Design 21
5.2.1 Principle 21
5.2.2 Layout 22
5.3 Application Logic Design 23
5.3.1 User registration 24
5.3.2 Login 24
5.3.3 Select and order 25
5.3.4 Show catalogue relevant to user type 26
5.3.5 search for products 27
5.3.6 Check order state 28
5.3.7 Show the most popular products being visited 29
5.3.8 Show the most popular products being sold 30
5.3.9 Showing latest news 31
5.4 Database Design 31

Chapter 6: Prototype Implementation 32


6.1 System platform 32
6.2 Implementation of Architecture 32
6.3 Implementation of Interface 34
6.4 Implementation of application layer 36
6.5 Database 36
6.6 Testing 39

Chapter 7: Evaluation 40
7.1 Evaluating The Prototype 40
7.1.1. Criteria 40
7.1.2 Results 40
7.2 evaluation of the project 43
7.1.1. Criteria 43
7.1.2 Results 43

Wang, Jianping IV
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Chapter 8 Conclusion 43
8.1 Achievements 43
8.2 Lesson learned 44
8.3 Further work 45

Reference
Appendix A: Reflection upon the project experience 46
Appendix B: Objectives, deliverables and agrees marking scheme 47
Appendix C: A copy of interim report sheet 48
Appendix D: Reference books and URL 50
Appendix E: Current model 52
Appendix F: Vision 53
Appendix G: use case description 54

Wang, Jianping V
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Chapter 1: Project Introduction

1.1 Background

Over the past few years, Internet has become more and more popular. At the same time, it produces a new way
of doing business between business and business, business and consumers.

A common use of business to consumer electronic commerce is e-shop. In many aspects, e-shop changes the
traditional ways of doing businesses. It becomes increasingly important for more and more companies.

This project is to study the requirements and design of the 'customer-friendly' e-shop for a computer company.
Therefore, why we build 'customer-friendly' e-shop, what is 'customer-friendly' e-shop, how can we build it,
how can we get requirements and how can we design are the topic of the report.

In this project, we took a Chinese company, which provides assembled computers for customers, as a case to
study.

1.2 Objectives

Analyse the requirements of a 'customer-friendly' e-shop for a computer retailer.


Translate the requirements into a high-level design for the e-shop and prioritise the requirements.
Produce a prototype using an incremental and iterative approach
Evaluate the prototype.

1.3 Minimum Requirements

Documentation of the requirements


A prototype of e-shop with essential features adopting a 'customer-friendly' focus
An evaluation of the 'customer-friendliness' of the prototype

1.4 Deliverables

A project report.
A prototype

Wang, Jianping 1
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

1.5 Background research

The developer did the background research mainly depends on reading relevant books.
This project is the requirements and design of a customer-friendly e-shop. Since e-shop is a specific use of e-
commence and “customer-friendly” relevant to customer-centred theory, so here we need to do some research
of e-commerce, e-shop and customer-centred theories.

By studying e-commerce, we can understand what e-commerce is and what the components of e-commerce are.
It is useful for getting requirements and evaluating. For example, if we know how all of the components of the
e-commerce, then when we doing requirements, we can analyse one by one to avoid omitting some parts of e-
commerce.

By studying e-shop, we can understand what the e-shop is and the common functions of e-shop. It is useful for
getting functional requirements and designing.

By studying customer-centred theory, we can understand why we need to build customer-friendly e-shop and
how we build customer-friendly e-shop, for example customers are divided into different types. It is useful for
us to get functional and non-functional requirements.

1.5.1 E-commence and its components

There are many different definitions of e-commerce.

Electronic Commerce (e-commerce) is a general concept covering any form of business transaction or
information exchange executed using information and communication technologies (ICTs). E-commerce takes
place between companies, between companies and their customers, or between companies and public
administrations. Electronic Commerce includes electronic trading of goods, services and electronic material
(Esprit,1997)

A more general definition of e-commerce is given by Wigand (1997) as: ‘…the seamless application of
information and communication technology from its point of origin to its endpoint alone the entire value chain
of business processes conducted electronically and designed to enable the accomplishment of a business goal.
These process may be partial or complete and may encompass business to business as well as business to
consumer and consumer to business transactions.’

Comparing to traditional commerce, e-commerce provides new ways to do transaction, but they have many
common characters. As Whitely (2002) mentioned “the fundamental business problems are those that
merchants have faced for hundreds- even thousands- of years: you must have something to sell, make it known
to potential buyers, accept payment, deliver the goods or services, and provide appropriate service after the sale.
Most of the time, you want to build a relationship with the customer that will bring repeat business.”

Components of the commerce value chain

Wang, Jianping 2
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

As Winfield (2002) mentioned, “the key components of the value chain can be very different for different
industries and even among different business within a particular industry.” But the generic value chain for
Internet commerce includes the following four components as Winfield (2002) described.

Attract customers

“The first component of the generic internet commerce value chain is to attract. By this we mean whatever step
we take to draw customers into the primary site, whether by paid advertise on other web site, electronic mail,
print, or other forms of advertising and marketing. The point of this phase is to make an impression on
customers and draw them into the detailed catalogue or other information about products and services for sale.”

Interact with customers

“The second component is interact. By this we mean turning customer interest into orders. This phase is
generally content oriented and includes the catalogue, publication, or other information available to the
customer over the internet. The content may be distributes by many different mechanisms, such as the World
Wide Web or electronic mail. In some cases there may be links between Internet commerce and content
distribute by other media, such as CD-ROMs.”
“Editorially, content may change infrequently or frequently. Technically, content may be static or dynamic.”

Act on customer instructions

“The next component in the commerce value chain is act. Once a buyer has searched through a catalogue and
wishes to make a purchase, there must be a way to capture the order, process payment, handle fulfilment and
other aspects of order management.”

React to customer inquiries

“Finally, after a sale is complete, the customers may have some questions or difficulties that require service.
For example, a transaction system that keeps track of all of a customer’s purchases can generate a statement
summarizing them. Customers who are wondering whether or not their orders have been shipped might check
back with the system.”

1.5.2 E-shop

According to Whitely (2000), “For e-Commerce applications that are selling goods or services the internet
application, held on the server is an E-shop.” “The infrastructure of the e-shop can be very simple or it maybe
very complex. The basic element of an e-shop is a web-page that offers or advertise the goods for sale and
provides a means for the shopper to make s purchase.” “At very simplest e-shop. Or online advert, could simply
list the products for sale or the services offered and invite the customer to phone, fax or e-mail their order” But
the complex e-shop can include many more features. These can include as Whitely (2000) mentioned as
follows:

Customer registration
Wang, Jianping 3
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Some e-shops ask the customers to register and then store the customer details on a database. This then allows
the vendor to tailor its information for specific customer and saves the customer typing in details again on
future visits.

Dynamic web pages

A dynamic web page is built for each user when the web browser requests it. The dynamic web page may be
built by reading a database in which case the page can include. For instance, the latest price and possibly
whether the goods are in stock.

Personalised web pages

If the user has registered with the site the system can generate a page for that specific customer.

A shopping basket/cart
“Customer in a conventional shop is likely to collect a number of products.” “Goods can be selected and placed
in the electronic basket. Facilities are made available for the contents of the basket to be reviewed and
unwanted goods can be returned to the ‘shelves’. When the shopping is complete the customer then makes
payment for the goods in the basket.

Additional information

“The e-shop need to let the customer know what the product or service is” “The customer can have additional
information not normally available in a conventional shop. Example of this are: the win ship that gives a detail
assessment of each vintage; bookshops that provide customer review; music sites that can play a sample of the
recording that is for sale ”

Community

Bulletin boards are one such device in this area.

Multiple payment options

The current norm for online payments is a credit card and most e-shops will want to accept all major credit
cards. Some e-vendors also have /accept debit cards-cash and so on.

Encryption

Most e-shops use an encryption system to secure to the transmission of personal and payment details.

Wang, Jianping 4
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Online deliver

Electronic products such as software, information and music can be delivered online. Where it is appropriate,
the use of online delivery cut the costs of distribution and avoids the customer having to wait for the goods to
arrive.

Loyalty schemes

Some e-shop are introducing loyalty schemes. Each purchase made attracts a number of points and the points.
Accumulated electronically by the vendor, can eventually be used for discount or free goods.

Online help

Having used the Internet for sales it can also be used for after sales. The web page can be used for product
instructions and self-diagnosis pages –all of which can be updated when the need arises. The customers can also
use e-mail for online help.

Shopping mail
E-shop may be set up as a part of an online mail. Like their conventional equivalent the online mail is designed
to attract customers because there is a range of stores. E-malls can help out the individual vendor with shared
payment infrastructure.

1.5.3 Customer-centred theory

Chandler (2003) mentioned, “Many website have products that people can’t find. It is clear that a big gap exists
between how online store are organized and how customers want to shop for products. This results in
unsuccessful searches and abandoned shopping carts. Shoppers give up when they can’t find what they are
looking for easily and quickly.”
“Most website lack a customer-focused approach. Web developers often design e-commerce website that are
database driven rather than customer driven. Database-driven websites are organized around products than an
online store has for sale and are designed for efficiencies of code. Customer-driven websites are based on how a
customer shops for products on the website and are designed after understand customer needs.”
“…customers expect more from this new technology. Information should be specially developed and tailored to
online shopping and must be kept current.”

Chapter 2: Approach

This project uses United Process, which is an increment and iterative approach to develop the system.
This chapter includes three parts. The first part introduces the theory of the incremental and iterative approach
and why the developer uses the approach. The second part introduces how to use the approach to make out a
project schedule. The third part describes the executed project schedule in the project.

Wang, Jianping 5
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

2.1 Incremental and iterative approach

Jacobson (1999) mentioned, “The unified process is a software development process. A software development
process is the set of activities needs to transform a user’s requirements into a software system. However,
unified process is more than a single process; it is a generic process framework that can be specialized for a
very large class of software systems.”
In this project, the workflows of business modelling, requirements, analysis and design, implementation and
test are used in the four stages.
Inception
Jacobson (1999) mentioned, “The goal in the inception phase is to make extent necessary to justify launching
the project. To make that case, we first have to delimit the scope of the propose system. We need to understand
what the architecture has to cover. We need it to define the limits within which we will prospect for critical
risks.”
Elaboration
Jacobson (1999) mentioned, “To capture most of the remaining requirements, formula ional requirements as use
case. To establish a sound architectural foundation. Continue to monitor remaining critical risks. To fill in
further details of the project plan.”
Construction
Jacobson (1999) mentioned, “The purpose of the phase is to produce a software product ready for initial
operational release, some times called “Bata release”
Transition
The aim of this stage, as Jacobson (1999) mentioned, are “Meet the requirements, as established in the earlier
phases, to the satisfaction of the stakeholders. Handle all the issues needed for operation in the user
environment, including the correction of flaws reported back by beta user or acceptance testers. Acceptance
testing is responsibility”

2.1.1 Iterative and increment


Developing a commercial software product is a large task. It is better to divide the work into smaller tasks.
Each small task is an iterative that result in an increment. Iterations refer to steps in the workflow, and
increment, refer to growth in the product.

2.1.2 Why using iterative and increment in this product


Mitigating risks of requirements
Software development encounters risks include: firstly, if the developer develops the right product. It means if
it is useful for the user’s business. Secondly, using the approach can get rid of all of the risks of technology.
In this project, the developer is not familiar to requirements of the customer-friendly e-shop for a computer
retailer because different customers have different requirements; it is impossible to investigate all of the
requirements very clearly in one time. So it is not fit for using waterfall model. On the other side, the risk of
technology such as programming should be got rid of as soon as possible since the developer is not familiar to
programming.

Getting a robust architecture


Jacobson (1998) mentioned “Achieving a robust architecture is itself the result of iterations in the early phases.”
Wang, Jianping 6
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Not having much experience of architecture requirements, the developer can begin to seek core architecture in
the inception phase that satisfies the key requirements, overcomes the critical risks, and resolves the central
development problems. Then in the elaboration phase he can refine it.

Handing changing requirements

Jacobson (1998) mentioned, “There are gaps between the developer and the users, users and users.”

Commonly, after using the system the user will have new requirements because it is difficult for a user to know
all requirements before he uses the system. So it is better to provide him a system as soon as possible to get his
requirements even if the system is not perfect. Then the user’s new requirements can be taken into account
which is for getting requirements

Achieving continuous integration

Jacobson (1998) mentioned “Frequent builds force developers to closure at regular intervals-closure in the form
of a piece of excitable software even if developers fail to achieve the planned result in an early iteration, they
still have time to try again and improve the models in subsequent internal releases.”

In this project the developer is a novice and high risks exist that he might fail to achieve the planned result in an
early iteration. Therefore he needs the chance to improve the models in subsequent internal releases.

2.2 Planed project schedule

As a result of using incremental and iterative approach, a project schedule can be produced as shown in table
2.2. The schedule corresponds to the stages of RUP as follows:

Inception: From stage 1 to 2, the developer defines the scope of the system.

Elaboration: From stage 2 to 6, the developer captures most of the remaining requirements and formulates
functional requirements as use case. At the same time a sound architectural foundation is established.

Construction: From stage 7 to13, the developer builds a prototype.

Transition: In stage14, the developer corrects the flaws from testing.

This schedule has the following functions:

Mitigating risks of requirements

Wang, Jianping 7
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

In stage 2, two weeks are scheduled for the developer to understand the necessary requirements. afterwards in
stage 7 and stage 14, the system is adjusted by refining requirements.
Getting a robust architecture

The objective of stage 3 to 5 is to get a robust architecture. Till stage 5, the cost of time is still short so that it is
affordable to condust the iterations that assure the architecture is robust.

Handing changing requirements

In stage 6, the developer builds UI prototype to help users to check if the system’s functional and non-
functional requirements can achieve the user’s requirements. Then in stage 7 further refinement can be
conducted.

Achieving continuous integration

In the stages from 8 to 13, the developer begins to construct the system. If the developer fails to achieve the
planned result, in stage 14 he can still refine the system based on field tests.

Wang, Jianping 8
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Task Description Weeks


1 2 3 4 5 6 7 8 9 10 11 12

1 Reading material X X X X X X X
2 Business modelling and X X
requirements capture
3 Analysis –level UML X
modelling
4 Design model architectural X
solution
5 Build proof of architecture X
prototype
6 Build UI prototypes X
7 Requirements elaboration X
8 E-R model X
9 Functional detailed design X
10 Build modules X X
11 Build Key Reports X
12 Assemble and test X
13 Field Testing/user test X
14 Refine system based on field X
tests
15 Evaluate the prototype X X
16 Report writing X X X X X X X X X

Table 2.2 Project schedule

2.3 Executed project schedule

The executed schedule is quite similar with the planed project schedule. The difference just lies in the stage 14
and stage 15. Refining the system costs about three weeks and evaluating the prototype costs about 1 week.

Chapter 3: A case study

In this project, a company is chosen as a case study and interview is applied as the method of investigation. The
developer uses MSN to interview the manager of the company, a customer who can be viewed as the valuable
buyer of the company, and two customers who can be viewed as general buyer. At the same time, the developer
interviews three students who are thought as potential private customers. Furthermore, together with his own
experience as buyer and sales, the developer can obtain the basic information.

Secondly, by analysing the results of discussing with the manager of the company, reading books, comparing
other e-shop such as dell, a system analysis is conducted

Wang, Jianping 9
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

3.1 Introduction

Ningbo Quanda Computer Company(QD) is a small company ,which locates in the inner-city of Ningbo,
Zhejiang, China. It has 17 staff and the annual turnover of 2001 and 2002 is about £3,000,000 respectively.

It provides various kinds of electronic products ranging from high-end to low-end and relevant services. This
project will concentrate on QD’s business related to compatible computers, which are assembled by QD itself,
peripheral equipments and relevant services. The relevant services include installing software for computers,
updating computers, repairing computers and so on.

Thanks to advertisements and past customer’s introduction, QD has a lot of customers now. They can be
divided into three main types: big business customer, small business customer and family customer.

Big business customer

The main business customer includes two big companies, each of which has more than 9,000 staff, and more
than 30 sub-companies distributed all over Ningbo. They are both industry users. One is electric company and
the other is bank. About 20% of turnover and 40% profit of QD come from the two big companies in 2001.

Every time they buy few kinds of configuration because it is easier for maintenance. But each configuration
includes at least 50 computers. Commonly, after the two big business customers buy products, they will
distribute the products to their sub-companies. The distance between QD to these sub-companies is from 300
meters to 150 kilometres. When they buy computers, they buy maintenance services at the same time. QD
provides on-site technology support.

This kind of user has three characters: firstly, they need to buy computers frequency because they always need
to abandon some old computers and buy new ones to replace them. Secondly, they care for reliability and on-
time service more than price. Finally, the usage of the computers is simple.

Small business customer

About 20% of turnover and 15% profit of QD come from about 100 small companies in 2001. Most of them are
private companies. Usually, this kind of company has less than 100 staff. Each time they buy less than 10
computers. They usually use computers for management, and each computer usually will be used together with
many peripheral equipments.

After they buy the computers, in a long time, they will not buy computers again, but they will buy some
peripheral equipment such as modems, printers, scanners and so on, and update some components later.

This kind of customers cares for the computer’s extendedness more than other property. For example, they like
there are many interfaces in the main board so it can be used with many peripheral types of equipment.

Family customer
Wang, Jianping 10
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

QD has many family customers who locate all over Ningbo. Most of them are student’ parents because most
schools require students to have they own computers. Commonly, family customers are not professional and
they will buy computers just once for their own use. Since they will put the computer in their accommodation,
so they not only think that the computer is a machine but also think it is a kind of furniture. It means they not
only care for the performance, price, but also care for the appearance. At the same time, because the computer
for a family is not very cheap, they care for service, for example whether and how the computer can be repaired
in time when it breaks down. Furthermore, because most of the user are students, they always like to try new
software or disassemble the computer for research., the user always encounter many problems when they just
bought the computer home.

3.2 The current business model for QD

The current business model relevant to customers is as follows. Firstly, the customer goes to QD, then waits for
the QD’s engineer to introduce and recommend products to him. Secondly, the customer thinks, compares the
products and configuration that the engineer recommended to him. If he has the intention to buy, then the
engineer will go to the warehouse to fetch the products. If the product the customer interested is out of stock,
then he have to come back to tell the customer and recommend other options. If the engineer finds the products,
then he can fetch them to show the customer. Thirdly, the customer looks and checks the products. If the
customer is not satisfied with it, he will discuss with the engineer again. If he is satisfied with it, he will begin
to buy.

Then the engineer will begin to assemble the computer according to the customer’s requirement. The customer
has to wait during the period. After the engineer finishes assembling, the customer can accept the computer and
go back.

After some time, if the operating system updates or the customer loses the driving software of some
components, he has to go back to QD to get it. The process is show in diagram 3.2 of appendix E

3.3 The problems of the currently model relevant to customers

As Winfield (1998 )mentioned, there are four stages: attracting customers, interacting with customers, acting on
customer instructions, and reacting to customer request in the value chain of commerce. After finishing the
analysis in the above four stages, we find the following business problems.

Selection and purchase is not convenient for customers

The customers and potential customers are widely distributed all of Ningbo. At the same time, the traffic In
Ningbo is not very good because most people have no cars. When people want to buy some electric products,
their have to spend much time going to the company to choose. Commonly, many people go to the company at
same time, so many of them have to wait for QD’s engineers. When it is their turn, what they want to buy may
have sold out. What’s more, it takes several days for QD to purchase products. Then they will wait for next
time or turn to another company. Or, alternatively, QD has the products the customers want. However, they
Wang, Jianping 11
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

have to wait for the components to be assembled, software to be installed, and tests to be made. Commonly it
takes customers nearly a whole day from when they go to the company to they buy the products back.

The process is especially inconvenient for family customers because they have to use their spare time to buy
computers. Big and small business customers waste much time as well although the process is in their office
hour.

It is inconvenient for customer to search for products

Firstly, the customer has to see the products on site. Secondly, there is a distance from the company to its
warehouse and every time the engineer cannot just bring all of products. Thirdly, some users remember just a
part of the product’s name which they want to buy, but it is not easy for QD’s engineer to understand. So it will
cost some time to find if there are the products as the customer required.

It is not easy to for customers to maintain their computers

One problem is that it is easy for big business customers to lose drive program of components because in the
big company, the computers will be transferred from one area to different area and from one person to other
person.

The other problem is when the operating system is updated, how users can get the diver program of the
components.

Now if the customers need to get the diver program they have to come to QD.
.
It is not convenient for user to get advice

As mentioned in the background of this report, customers need referent information. Commonly, there are two
kinds of information customers care for.
What kind of products that other customers are interested. Commonly, every customer knows some information
about some products before they begin to select. Maybe it is from their own experience, maybe from their
friends. Anyway, if many people are interested in the product, it should have some advantages.

Secondly, the more customers buy the product, the better service and discount the product offers. The reasons
are as follows: firstly, the more amount of this kind of product imported by QD, the higher discount QD can ask
from its provider. So the customer can get higher discount. Secondly, the more amount of this kind of product
sold, the more the QD’s engineers are familiar with it. They can offer people better service.
But now, in order to get these two kinds of information, the user has to go to QD. But even they arrive QD, the
information is not so accurate because it is difficult for QD to statistic the visit times and record the dealing
times timely.

It is not convenient for user to know the latest news on time

Wang, Jianping 12
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

QD always gives some discount to customers for specific products or in specific periods. But it is not easy to let
customers get the news on time because customers haven’t enough time and motivation to go to QD frequently.
Thus the company will lose the potential chances.

3.4 The vision

In order to resolve the problems mentioned above, the QD begins to consider building an e-shop. Since the aim
is to give better service to customers, therefore, QD plan to build a customer-friendly e-shop.
What is customer-friendly e-shop?
As Kreta (2003) mentioned, the customers enjoys a superior shopping experience that enables him easy to find,
select, and purchase products and services.
According to Kreta, we define that customer-friendly e-shop means that the e-shop starts with user insight and
needs. The needs determine the product design so that software products are easy and intuitive to operate. At
the same time, it can provide customer-relevant one to one service.

After using the new e-shop, the business model will be as shown in diagram 3.4 in appendix F. Firstly, the
customer visits the web site. From the web site, he can compare different products and see their pictures.
Secondly he can order the products he likes. After the customer order some products, the engineer will get the
order and assemble it. Then QD will send the computer to the customer. When customer receives the computer,
he will pay.
After some time, if the users lose the driver software or they update the software, they can download the
software from website.

3.5 How the customer-friendly e-shop should benefit QD

The discussion about the question is to judge if the customer-friendly e-shop is useful for the QD’s business.
The aftermath can be divided into two aspects.

3.5.1 Comparing to other companies

Now in Ningbo, there are about 100 computer companies doing similar business as QD. Both of the import and
export price are similar to each other. The companies have the same kind and limited quantity of customers as
well. If QD use customer-friendly e-shop, it can attract the customers from lager area because the geographic
aspects can be ignored. So it can get more advantages than other companies.

3.5.2 Comparing to QD itself before

After using the e-shop, the customer will save a lot of time wasted on the way to QD and wait. At the same
time, it decreases the risk that there is no product in the warehouse. Furthermore, ccustomer can save time to
get software.

On the other side, after the e-shop is used, the engineer of QD can save time because they need not to spend
much time in discussing with customers and searching products in the warehouse fro many times.

Wang, Jianping 13
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Furthermore, it is good for QD to book products because they get the order on time.

Chapter 4: Requirements of customer-friendly e-shop

The requirements of an e-shop can be divided into two parts—the customer side and retailer side. While this
project focuses on the customer-friendly e-shop. Emphasising the importance of the customer friendliness the
project just discusses the customer side’s requirements, which include functional requirements and non-
functional requirements.

By reading books about e-commerce, e-shop and customer-centred theory, together with analysing e-shops such
as IBM and DELL, the developer gets concerning details explained in the following sections.

4.1 Functional Requirements

4.1.1 Use case diagram of e-shop

This project uses use case diagram to describe the functional requirements. The use case diagram is a means of
communicating with users and other stakeholders about the system in high level. Use case can also be used as
the basis of the test criteria.The diagram 4.2 describes all of the requirements of an e-shop. But in this project,
as we mentioned before, we just discuss the customer side’s requirements, which are shown in the small
rectangle.

Wang, Jianping 14
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

e-shop

sea rch for s pecific p roduc t Input product detail

big b ussiness
register and login
cus tomer

get relevant component's input relevant component's


information information

ret ail er
c ustomer

check order state Input order handled information

small business
customer

hot products being visited

Input news and rank them

hot products being sold

fam ily c ustomer


input im formation rel evant t o
autom atic e -mail
read latest news

select products and order

upload software

a utom atic e-mai l Account system

product information of warehouse

download software

Diagram 4.1.1 Functional requirements

Wang, Jianping 15
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

4.1.2 How the functional requirements help resolve the problems

The table 4.1.2 shows that how the functional requirements help resolve the problems mentioned in section 3.3.
For example, in order to resolve the problem of “inconvenient for customer to search for products” the
customer-friendly e-shop has the “products query” function.

The problems (as in section The function of customer-friendly e-


3.3) shop
Selection and purchase is not Select and order
convenient for customers
Check order state

It is inconvenient for Products Query


customer to search for
products

It is not easy to for customers Download relevant software


to maintain their computers

It is not convenient for user to Show relevant components and types


get advice based on customer types
Show the most popular products being
visited
Show the most popular products being
sold
It is not convenient for user to Show latest news
know the latest news on time

Automatic E-mail

Table 4.1.2 The relevant relationship between functional requirements and the problems

4.1.3 Description of the functional requirements

The following sections describe the functional requirements. The detail is in appendix G.

User registration
Customer can use it to register. This use case begins when the user begins to register. Users are allowed to input
the basic information such as username, password, confirm password address, telephone number, e-mail
address, postcode, real name and so on. If the information is correct, then user can finish registration.

User login
Customer can login the system. This use case begins when the user begins to login. User inputs his username
and password, and then submits. If the username and password are correct, he will successfully login.
Wang, Jianping 16
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Show relevant components and types based on customer types


Customer can get the relevant information of his user type .This use case begins after the user selects user type
and enters the main page. The page will show the components that he can buy, the numbers of each component
type based on his user type and the total number of all the product types.

Show the most popular products being visited

Customer can get the latest information of the hot products being visited

Show the most popular products being sold

This use case begins after user chooses user type and goes into the main page. The page will show the 5
products, which has the highest sales.On the other side, after the user chooses the type of the component, the
system will show the products with the highest sales relevant to this kind of product.

Select and order

Users can select and order the products they like. This use case begins when the user selects the product he
likes. He can choose the amount he wants to order. Then if he wants to buy something else, he can repeat the
selection process. After he finishes selection, he can check the list and begin to order. He needs to input the
receiver’s address, name, telephone number and so on. At the same time, he will get an order number which can
be used to check order state later.

Products Query

User can find product by inputting part of the name of the product .This use case begins when the user inputs
part of the name of the product he likes. The product will be found and then the user can select the product.

Check order state

This use case begins when the user wants to check his order state. User inputs the order number and then gets
the information about the state of the order he made. There are two types of order states, one is that the order is
being handled and the other is that the order has been done.

Read latest news

This use case support customers to read the latest news.

Download relevant software

Wang, Jianping 17
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Customers can download the software they need from the e-shop. The software was catalogued so that user can
easily find the things they are interested. It is useful for customer to get the useful software on time.

Automatic E-mail

Customers receive one to one service through this function. After the customer registers, his characters and
interests will be stored in database. For example, the customer is a customer of a big company and he want to
know the processor’s information. Then after the retailer input information about processor for customers of big
company, the customer will receive the e-mail.

4.2 Non-Functional Requirements

Functional requirements care what system can do. Non-functional requirements care what are the system’s
qualities. The non-functional requirements include usability, performance and security. In this project, we get
Non-Functional Requirements by reading, questionnaire and interview.

4.2.1 Usability

According to Dennis(2003), usability is focused on helping the user’s cognitive processes to help them perform
the tasks they want to do. The table 4.2.1 shows the requirements of usability in this project.

Wang, Jianping 18
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Items Requirements
Ease of learning A user who has never seen the user interface before can
learn it sufficiently well to accomplish basic tasks, e.g.
can use the system to order one product in 20 minutes.
Efficiency of use An experienced user has learned to use the system can
finished the select and order 2 products in 10 minutes.
Memo ability If a user has used the system one time before, he or she
can remember at least 6 functions of the whole 8
functions. He needs not have to start learning everything
again?
Error frequency and severity When customers use the system, they will not meet
serious error after they explore all of the functions. The
serious error means not only inconvenient for using but
also affect the business. For example, when a customer
order a product, the system breaks out, so he don’t know
if he has booked it or not.
Subjective satisfaction If the satisfaction level that customers like to use the
system can be divided into 10 then the average score
should above 6.
Table 4.2.1 The requirements of usability

4.2.2 Performance

4.2.2.1 Principle:

Performance requirements focus on performance issues such as response time, capacity, and reliability.
Dennis(2003) mentioned the performance as follows:
Speed requirements: The time within which the system must perform its function.

Capacity requirements: The total a peak number of users and the volume of data expected.

Availability and reliability requirements: The extent to which the system will be available to the users and
the permissible failure rate due to errors.

4.2.2.2 Performance requirements in the project

Speed requirements: Response time less than 10 seconds for any transition. The inventory database must be
updated in real time.
Order will be transmitted to staff in 1 hour.

Wang, Jianping 19
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Capacity requirements: The maximum of simultaneous users at peak use times about 200.
Capacity requirements: The system will store data on about 50,000 customers for a total less than 2 meg of
data.

4.2.3 Security
Dennis(2003) mentioned “Security is ability to protect the information system from disruption and data loss,
whether caused by an intentional act.” The requirements of security are as follows.
System value estimates: The QD’s manager estimates that QD will lose 6000 yuan/per-day the if the e-shop
can’t work.
Access control: Customers can access all of data.
Encryption and authentication: Authentication will be needed for user access.
Virus control: The files will be checked when it is uploading to the e-shop.

Chapter 5: Prototype Design

The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase is to
decide how to build it. The initial stage of design converts the business requirements into system requirements
that describe the relevant technical details for building the system.

In this project, the designs stages are as follows:

Firstly, according to section 4 the developer designs the architecture.

Secondly, according to section 4.1, the developer converts the use case descriptions that show the functional
business requirements into sequence diagrams for application layer design.

Thirdly, according to section 4.2, the developer designs the prototype system interface.

Fourthly, according to sequence diagrams and section 4.1, the developer designs the prototype system database.

5.1 Proposed architecture

Generally speaking, two popular architectures are widely used in the practical commerce world—client server
architecture and three-layer architecture.
Wang, Jianping 20
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Dennis (2003) points out:“…the client is responsible for the presentation logic, whereas the server is
responsible for the data access logic and data storage. The application logic may reside on the client, reside on
the server, or be split between both.” Under this case it is complicated for software development because all
applications in client server-computing have two parts—client side software and server side software. It is also
not easy for updating because it needs to change the software in both sides.

The system uses three-layer architecture. The most important advantage of this architecture is that it is much
easier to be understood and maintained. The detailed advantages can be summarised as follows:

Scalability: In QD, the e-shop and account system will be put on different servers. But the e-shop needs data of
account system. On the other side, in future, QD may develop other systems to support its business, which will
be put on other servers. The three-tier architecture allows application components across multiple servers,
which is capable of making the system more scalable.

Reliability: It is easier to add more application servers or database servers to let redundancy in three tire
architecture. At the same time, if something wrong takes place the affect will be limited in one layer and the
error will be easy to be found.

Flexibility: Since the different layers separate from each other, when some changes take place in one layer
others need not to be changed. It makes the prototype more flexible. For example, if the database needs to be
changed from Microsoft access to SQL server, the application layer need not to be changed since the
application, which uses JavaScript and SQL, also support SQL server.

Reusability: Separating the prototype into multiple layers makes it easier to implement re-usable components.
.

5.2 Interface Design

According to Wiley, 2003, “In many ways, user interface design is an art. The goal is to make the interface
pleasing to the eye and simple to use, while minimizing the effort users need to accomplish their work. ”

5.2.1 Principle

According to Wiley, 2003, the principle is follows.

“Layout
The interface should be a series of areas on the screen that are used consistently for different purpose.

Content awareness
User should always be aware of where they are in the system and what information is being displayed.
Wang, Jianping 21
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Aesthetics
“Interface should be functional and inviting to users through careful use of white space, colour, and fonts. There
is often a trade-off between including enough white space to make the interface look pleasing without losing so
much space that important information does not fit on the screen.”

User experience
“Although ease of use and ease of learning often lead to similar design decision, there is sometimes a trade-off
between the two. Novice users or infrequent users of software will prefer ease of learning, whereas frequent
users will prefer ease of use.”

Consistency
“Consistency in the interface design enables users to predict what will happen before they perform a function. It
is one of the most important elements in ease of learning, ease of use, and aesthetics.”

Minimal user effort

The interface should be simple to use.

5.2.2 Design

According to section 5.2.1, the developer designs the interface as follows

Layout

The screen is divided into four boxes. The top box is the navigation area through which all prospected user
issues can be navigated through the system. The left box provides support function of purchase such as
registration. The right box provides information of purchase. For example, customer can find the useful
information of products. The middle box displays result. For example, if a customer registers, the box will
display if he or she register successfully or not. Figure 5.2.2 illustrated the whole layout

Wang, Jianping 22
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer
Menu box

Support Display Product


function results information
(e.g. register, box for
query) purchase
box box

Figure 5.2.2 The layout of the screen

User experience and consistency


In this design, each time after the customer click, he knows the results will be displayed in the middle box .
Aesthetics
There are some white space between boxes and different will be used to let the screen become beautiful.
Content awareness
In the design each box (table) has a title to sign the information which is displayed.
Minimal user effort
From the starting menu until customers perform work, there is no more than four mouse clicks.

5.3 Application logic design

In this part the sequence diagram is used to help design. A sequence diagram is a dynamic model that supports
a dynamic view of the evolving systems. It includes three kinds of objects—boundary objects, entity objects
and control objects. Boundary objects represent all interactions between the internal and external of the system.
Entity objects represent information, which is important to the system. Their purpose is to represent and
manage information within the system. Control objects are used to represent behaviour in the system.

The automatic e-mail and download function of the requirements are excluding in the prototype because the
developer has no enough time to do them. Moreover, in order to save time, the developer does not mark the
message and the number of the sequence in the sequence diagrams. The follows are the sequence diagrams.

5.3.1 User registration

The registration process begins when a user presses ‘Register’ button. The registration screen will be shown.
Then the user inputs information required. If the information input is correct and the username hasn’t been
used, the registration will be successful and the system will show the success information. If the user name has
existed or the user did not input the information, the system will inform the user that the registration failed.
Then he can change the information and the relevant data. After the user finishes registration, the information
will be stored in the database.

Wang, Jianping 23
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

customer register screen register Cus tom er DB

register result screen

Diagram 5.3.1 Register

5.3.2 Login

The registration process begins when a user inputs his username. Firstly, the user needs to input the username
and password, which are composed of characters or numbers. Then he presses ‘confirm’ button. The system
will compare the username and password in database to check if the information input is correct or not. If the
information is correct, then the system will show the user login successful information. If the information is not
correct, the system will show what is wrong with the username and password, for example “the username does
not exist” or ”the password is wrong”.
If the login is successful, the user’s login time and the user’s login IP will be recorded into the database.

1. enter login screen 2. username() 3 username()


password() pass word()

4. correct or not
customer Login sc reen Login Customer DB

5. suc cess or fail

Login result

Diagran 5.3.2 Login

5.3.3 Select and order


This process begins when the user selects the products and presses the “select” button. The system will check if
the user has login or not. If the user hasn’t logged in, the system will remind the user to login. If the user has

Wang, Jianping 24
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

logged in, the selection window will be shown and the new product with its price and quantity will be shown in
the new window.

The user can select the amount of the new product he wants to buy then he can press the “confirm” button to
confirm the selection. After he presses the “confirm” button, the selected product will be added to the shopping
cart and appears in the selection window. At the same time, it will be stored into the database.
The user can revise the products in the shopping cart by double clicking the product’s name to get rid of it or
press the clear button to clear all of the products in the shopping cart. At the same time, the database will be
revised.

If the user just selects and puts the products into the shopping cart but doesn’t order, the shopping cart will save
the products the user selected. Then next time when the user begins to select some new products, the shopping
cart will be restored to let user put new products.

If the customer wants to order the product, he presses “confirm” button. Then the order screen will be shown
with the products list. Next the user can press the “confirm “ button to continue the order process, after that the
automatic order number will be given and the receiver’s telephone number, address, e-mail and name are
required. If the user inputs wrong information, he can click “clear” button to rewrite the information. If it is
correct then he can press “confirm” button to confirm it. Then the receiver’s name and the address will be
shown. At the same time, the order information will be stored into the database and the shopping cart
information will be deleted. The whole process of selection and order finished.

Wang, Jianping 25
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Customer select screen press "select" button Check logi n state Customer DB

shoppi ng c art
choose amount and
confirm

selec ted products list revise selected products basket DB

Clear result Clear

Order Order DB

Order screen

confirm order

reci ver s creen input recei ver' recei ver DB


information and check

order screen
Diagram 5.3.3 Select and order

5.3.4 Show catalogue relevant to user type

The user selects user type from the main page by pressing the user type hyperlink, and then the system will
check the product DB to find the products relevant to the user type and show the information in the new page.
The information include component’s name, number of types of each component and the total number of types
of the whole products relevant to the user type.

Wang, Jianping 26
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

customer user type screen select user type

find ctalog relevant to


the user type

c atal og scre en product DB

5.3.4 Show the catalog information relevant to the user type

5.3.5 search for products

The process begins when the user input information in the space and presses the “confirm” button. Then the
system will check the product DB to find if there is some products match the requirements. If there are some
product’s name include the character the user input, the products would be shown in a new window. The user
can click the product he prefers to and then select and order it. If there is no product’s name include the
characters that user input, now product’s name will be shown in the new window.If the user input nothing, all
of products name will be shown.

Wang, Jianping 27
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

cu stomer user type screen select user type

fi nd c tal og rel evant t o


t he u ser typ e

catalog screen product DB

Diagram 5.3.4 Show the components and products information relevant to the user type

5.3.6 Check order state

The process begins when the user inputs order number in the order query space and presses the “confirm”
button. Then the system will search the Order DB to find if the order has been done or not. Then show the order
number the user input and the search result in a new windows.

If the order hasn’t finished, the window will show “it is under handling”.If the order has finished, the window
will show “the products have been sent to you”.If the input order number is wrong, the window will show “This
order ID does not exist, please check if you input the correct order ID”.

Wang, Jianping 28
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Custom er Query screen Input and query Order DB

show results

Diagram 5.3.6 Check order state

5.3.7 Show the most popular products being visited

This use case begins after the user selects the hypertext link of user type. The system will check the product DB
and get the times the product being visited. Then the screen will show the top 5 types of products of each
catalogue by the relevant type of user. For example, if the user selects the small business user, the screen will
show the 5 most popular types of products being visited.

If the user selects a type of component, then the top 5 products being visited which belong to the component
will be shown. On the other side, each time users visit a product, the times being visited of this product will
change accordingly.

Wang, Jianping 29
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

custome r main page select user type

fi nd the top 5 popul ar product DB


produ cts being vis it ed

t op fi ve popular poducts being visit ed the pro ducts and


visited chage th e times being visi td

Diagram 5.3.7 Show the most popular products be...

5.3.8 Show the most popular products being sold

This use case begins after the user selects the hypertext link of user type. The system will check the product DB
and get the quantity of the product being sold. Then the screen will rank the top 5 types of products of each
component by the relevant type of user.

If the user selects a type of component, then the top 5 products being sold which belong to the component will
be shown. On the other side, each time users buy a product, the number of the product being sold will be
changed.

Wang, Jianping 30
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

customer main page select user type

find the top 5 popular product DB


products being sold out

top five popular poducts being sold visited the products and chage
out t he times being s old out

Diagram 5.3.8 Show the most popular products being sold

5.3.9 Showing latest news


The use case begins when customer click the news hyperlink, the detail will be shown.
After discussing with QD, the developer knows that the news just sometimes need to be input and needn’t to be
kept. So here has no entity relevant to news.

5.4 Database Design

According to the sequence diagrams of section 5.3, the developer designs the database.

In an assembled computer, each component includes at least one type of product. Each basket can contain at
least one product and each type of product can be placed into more than one baskets. One order is just for one
basket, but each basket may not be changed into order. Each basket must belong to one customer but each
customer can use no basket or use more than one basket. An order must have a receiver and vice versa.

The relationship is illustrated in figure 5.4. Since the relations between product and basket are multi to multi,
the developer uses a new class called “product-and-basket” to change the multi to multi relationship into 1 to
multi relationship.

Wang, Jianping 31
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

1 1..*
component product 1

*
* 0..*

order 0..1 1 basket 1 1..* product-and-basket

1..* 0..*

1 1

receiver customer

Figure 5.4 E-R diagram

Chapter 6: Prototype Implementation

According to chapter 5, the developer implements the prototype. It includes implementing architecture,
interface, application and database. When the developer implements the prototype, he searched for free ASP
Script and found a lot of useful ASP Script. Then he used some of them. The hyperlink is in the reference.

6.1 Implementation of architecture

According to section 5.1,in this prototype, we use three-tier architecture.


In the presentation tier, customers use browser such as IE or Netscape to support the conversion and the
sending of html script to the application layer.
In the application layer, the Windows NT server has IIS 4.0 installed. The ASP and Java scripting are used to
deal with the requests from presentation layer. The results are sent in a html format to the presentation layer.
In database layer, Microsoft access is used. It connects to application layer by SQL select and ADO.
:

6.2 Implementation of Interface


According to section 5.2.2, we implement the interface. For example, in figure 6.2, the above is the menu,
which covers all functions of the e-shop. On the left, the boxes are for supporting information. On the right, it
provides the function for purchase. In the middle, the box is for showing information from the left and right.

Wang, Jianping 32
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Figure 6.2 Interface implementation

Wang, Jianping 33
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

6.3 Implementation of application layer

According to section 5.3, the developer implements the application layer

Active Server Pages and JavaScript

When we choose a programming tool, we have to keep in mind two type of factors to be taken care off:
technology oriented and economic oriented.

For technologic oriented factor, the technology should support the requirements. The economic oriented factor
means that the cost of the system should not beyond the sponsor’s limit.

The prototype implementation uses ASP and JavaScript as its programming tool. In the following section we
compare PHP, ASP and JSP and justify why the prototype implementation chooses to use ASP..

A-dub(2002), mentioned “ASP Microsoft's Active Server Pages offers wonderful technology that is widely
supported by inexpensive web hosting companies. Plus, there are a great many web sites and books about ASP
with many lines of free code. These are nice advantages. ““JSP (Java Server Pages) is not widely supported by
web hosting companies” “PHP has origins in the C programming language. (More about this in a forthcoming
article.) PHP is open source, runs on Unix and Windows servers. (Cool, because I write for whatever server my
clients already have installed.) According to the evangelist, the big disadvantage to PHP and any open source
software is that companies do not want it. They do not trust it.”

The QD’s account system is based on Windows NT and IIS. So using ASP can save cost, On the other hand,
the developer familiarisation to ASP makes it easy to select the implementation using the ASP.

The most important reason for the developer choosing JavaScript is that he is more familiar to it than VBScript.
The other reason is it supports more browsers than VBScript.

The figure 6.3 shows the implementation application layer. For example, if the user wants to buy some thing, he
can reaches from different ways such from “latest products” to “select and order products” or from “top
products being visited” to “select and order products”.

Wang, Jianping 34
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Select user type

registe login order Product Show Components Latest Top Top Latest
query query relevant to user type products product product news
being being
visited sold

Top Top
Product list product product
being being sold
visited of of the
the component
component

Select
and order
products

Figure 6.3 the implementation of the application layer

When we implement the functions, we use ado to connect to the database. Then use JavaScript to transfer
sqlselect instruction to access data from the tables of the database. After calculation, sent result as html to
presentation layer. The follow is the example of realizing the function of select and order.

Firstly, using ado to connect to the database


<% dim conn
dim connstr
dim db
db="database/database.mdb"
Set conn = Server.CreateObject("ADODB.Connection")

connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath(db)


conn.Open connstr
%>
Secondly using sessions to check if the user has logged in or not
if session("user_name")="" then response.write "

" response.write "You haven't log in or you haven't signed in!" response.write "
Please log in if you want to order something!" response.end end if
Thirdly access data from database
Wang, Jianping 35
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

sql="select * from basket where hw_id='"&hw_id&"' and user_name='"&session("user_name")&"' and


basket_check=false" rs.open sql,conn,3,3
if rs.eof then rs.addnew rs("hw_id")=hw_id rs("user_name")=session("user_name")
rs("basket_count")=count rs("basket_date")=now() rs("hw_name")=request("hw_name")
rs("hw_cash")=request("hw_cash") else rs("basket_count")=int(rs("basket_count"))+int(count) end if

Finally, write the results to presentation layer.


<%
user_name=session("user_name")
sql="select * from basket where user_name='"&user_name&"' and basket_check=false"
rs.open sql,conn,3,3
if rs.eof then
response.write "You haven't selected any product"
else
do while not rs.eof
%>
<tr>
<td width="25%"><%=rs("hw_name")%></td>
<td width="25%"><%=rs("hw_cash")%></td>
<td width="25%"><%=rs("basket_count")%></td>
<td width="26%"><%=rs("hw_cash")*rs("basket_count")%></td>
</tr><%totalcash=totalcash+(rs("hw_cash")*rs("basket_count"))%><%rs.movenext
loop
end if
rs.close
%>

6.5 Implementation of Database

When choosing database products, the following factors: platform, hardware requirement, software
requirement, price, feature, maintenance and developer’s ability should be considered.

The candidate database includes Oracle, mySQL,Sql Server and Microsoft access.

Among this database, Oracle is the most stable and can be best maintained product. But it is also the most
expensive one. At same time, it also requires higher performance of hardware and system software. The
maintenance of it is the most complicate. QD cannot afford it.

Wang, Jianping 36
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

As for MySql, it is one of the cheapest one. But it is quite young product, and not so popular as other three
products. It was not so familiar by most of developers. So there are some problems such as stability,
maintenance and cost of developing. As a result, it can be given up.

So the most candidate products are Access and SQL Server. The feature is as follows:

Feature SQL Server 2000 Microsoft Access 2000

database size Not Supported Supported


database size 1,048,516 TB 2 GB plus linked tables size
objects in a database 2,147,483,647 32,768
user name length 128 20
password length 128 14
table name length 128 64
column name length 128 64
index name length 128 64
Number of concurrent users limited by available memory 255
columns per table 1024 255
table size limited by available storage 1 GB
number of indexes in a table 250 32
number of columns in an index 16 10
bytes per row 8060 2000
number of tables in a query 256 32
columns per SELECT
4096 255
statement
nested subqueries 32 50
number of enforced
253 32
relationships
65,536 * Network packet size
SQL statement size approximately 64,000
(4 KB, by default)
SQL Select Yes yes
Price High low
Table 6.5.1 Compare of SQL server 2000 and Microsoft access 2000
(From http://databasejournal.com/features/msaccess/article.php/2204341)

In the implementation, the access database is selected. The reasons are follows:

A. The prototype is for a small retailer and the retailer does not want to spend much money to do it.

B. The scalability, security and robustness system requirements are not high because it doesn’t
include payment system, which supports customer to pay money in Internet.

C. QD has brought Microsoft access for its account system.


D. The Microsoft access is enough for e-shop requirements for example, the requirements of the maximum of
simultaneous users at peak use times is 200.But access support 255.

E. Both of Access and SQL server support SQl select. If the retailer needs to update Microsoft access to SQL
Server, the applications can be not changed.

Wang, Jianping 37
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

There are two main types of data storage formats: files and database. Files are electronic lists of data that have
been optimized to perform a particular transaction. A database is a collection of grouping of information that
are related to each other in some way.For example(e.g.., common fields.)

In the prototype there is a databases using in the project. Customers can access all of the fields of the databases.
The relationship is shown in the figure 6.5.2.

Figure 6.5.2 The database of the prototype


6.6 Testing

The testing includes unit tests, integration tests, system tests and acceptance test.

Wang, Jianping 38
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

6.6.1 Unit tests

Dennis (2003) said “The Unit tests focus on one unit- a program or a program module that performs a specific
function that can be tested-and ensure that the module or program performs its function as defines in the
program speciation” There are two approaches can be used to unit tests: white –box and black-box.

In the stage the developer uses both of the white-box and black box method to conduct the unit tests, any error
was found has been get rid of. One example for the white box is that when he finished the unit for view project,
he check the code and expect the result. But when he tests it, the result is not same as his expect. Then he
checked and found it because the “conn.asp” file exclude in the unit.

The black box example is: the developer thought that the “register” unit should be no problem. But when he
use it, he found that he couldn’t input the whole characters of his address. Then he he checked and found it is
because the field is not long enough for his address. So the developer changed the length of the field.

6.6.2 integrate tests

Dennis (2003) said “integrate tests assess whether a set of modules or programs that must work together do so
without error” “There are four approaches to interface testing: use scenario testing, dataflow testing and system
interface testing.”
In this project, the developer uses just user scenario to do the test. For example, one of scenarios is about select
and order. It is as follows:

“Firstly, select user type, secondly, the system shows catalog relevant to the selected user type and most
popular products being visited at the same time. Thirdly, the user login because the user decide to buy
something. Fourthly, the user clicks products from the most popular products being visited. Fifthly, the product
being clicked is shown and user select it. Sixthly,the user selects the other product. Seventhly, he order it.
Finally ,he check the order state.”

When the developer does unit tests, every unit is available. But when he needs to finish the whole process, he
finds after he select user type, the relevant catalog is not shown because the variable of the user type didn’t send
to the “showing relevant catalog” unit. Then he adjusts it.

6.6.3 system tests


Dennis (2003) said “System tests are usually conducted by the system analysts to ensure that all modules and
programs work together without error.” “Whereas integration testing focuses on whether the modules work
together without error, system tests examine how well the system meets business requirements and its usability,
security, and performance under heavy load. It also tests the system’s test ”
In this project, the developer tested every transaction’s response time. No errors was found.

6.6.4 acceptance tests

Dennis (2003) said “acceptance tests are done primarily by the users with support from the project team. The
goal is to confirm that the system is complete”
Wang, Jianping 39
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

After the system tests, the developer found 10 potential customers to test the system and found some problems,
then he revised the system. For example more than 50% of them misunderstood the user type names of “small
business customer ” ,then he change the name to “customer of small companies”, then the misunderstanding
was got rid of.
Finally, the developer confirm that the system is completed.

Chapter 7: Evaluation

The evaluation includes two parts: the prototype evaluation and the project evaluation. When we begin to
evaluate, firstly, we should have a criteria and then evaluate how much the prototype and project meet the
criteria. The developer divides the match degree into ten levels from 0 to 10. If the item is total unavailable,
then it got score of 0. If the item total matches the requirements, then the item got 10. . The developer finds 6
persons to interview and each person gives mark for each item, which the developer asked him or her. After
getting rid of the highest and lowest score, the developer calculates the average score. The reason for getting rid
of the highest and lowest score is to prevent joking.

7.1 Evaluating The Prototype

7.1.1 The criteria

To evaluate the prototype, the criteria are the prototype requirements and design. We need to check how much
the system satisfies all of the functional requirements and non-functional requirements

7.1.2 Results

7.1.2.1 Evaluation of the functional requirements

According to section 4.1,the developer interviewed 6 persons and they evaluated the items. The summary of the
results is shown in table 7.1.2.1

Items Average score of the Average score of


function’s requirements the prototype
User registration 10 10
User login 10 10
Show relevant 10 9
components and types
based on customer types
Show the most popular 5 9
products being visited

Wang, Jianping 40
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Show the most popular 8.5 9


products being sold
Select and order 10 8
Products Query 9 9.5
Check order state 8 6
Total score 70.5(about 88%) 70.5(about 88%)
Table 7.1.2.1 Evaluation of the functional requirements

7.1.2.2 Evaluation of non-functional requirements

7.1.2.2.1 Usability

According to section 4.2.1,the developer interviewed 6 persons and they evaluated the following items. The
summary of the results is shown in table 7.1.2.2.1A

Items Average score of evaluation


Ease of learning 9.5
Efficiency of use 10
Memo ability 8
Error frequency and severity 9.5
Subjective satisfaction 9.9
Total score 47.9(about 96%)
Table 7.1.2.2.1A Evaluation of usability

7.1.2.2.2 HCI

According to section 5.2, the developer interviewed 6 persons and they evaluated the items. The summary of
the results is shown in table 7.1.2.2.1b

Item Average score of evaluation


Layout 9
Content awareness 10
Aesthetics 8
User experience 9
Consistency 9
Minimal user effort 8
Total score 53(about 88%)
Wang, Jianping 41
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Table 7.1.2.2.1B Evaluation of HCI

7.1.2.2.3 language supporting evaluation

This section is to test if the prototype supports Chinese. After inputting some product’s name in Chinese into
database, the developer found that the system couldn’t show product’s Chinese name even the developer
selected the encoding as Chinese under IE6.0. The developer thinks that under Microsoft access of Chinese
version, the system will totally support Chinese. But he has no chance to test now.

7.1.2.2.4 Performance

The criteria are the section 4.2.2.2. after The developer gets the following results.

Item Average score The person who evaluates the prototype


of evaluation
Speed 9 The developer and the 6 person who take
requirements part in the interview
Capacity 10 The QD’s manager and the developer
requirements
Capacity 10 The developer
requirements

Total score 29(about 96%)


Table 7.1.2.2.4 Evaluation of performance

7.1.2.2.5 Security

The criteria are the section 4.2.2.3. After interview, the developer gets the following results.

Item Results of The person who


evaluation evaluates the
prototype
System value 8 The QD’s manager
estimates
Access control: 7 The developer
Virus control 0 The developer

Total score 15(about 50%)


Table 7.1.2.2.4 Evaluation of performance

Wang, Jianping 42
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

7.2. Evaluation of the project

7.2.1 The criteria

The criteria are the objectives of the project in section 1.2.

7.2.2 Results

This project analysed the requirements of a 'customer-friendly' e-shop for a computer retailer and translated the
requirements into a high-level design for the e-shop and prioritised the requirements, which implemented in the
prototype. Finally, the developer produced a prototype by using an incremental and iterative approach. The
prototype get marks more than 80% buy potential customers and the retailer’s evaluation.
The project meets the objectives of the project.

Chapter 8 Conclusion

8.1 Achievements

The project is the requirements and design of a customer-friendly e-shop for a computer retailer.
The RUP was used as the approach. By using it,the developer produced the project schedule, which has the
functions of iteration and increment. The executed schedule is similar to the planed schedule. The follows is the
detail.

By reading materials, comparing with different e-shops, using questionnaire and interview methods, the
developer got the functional requirements and non-functional requirements of the retailer.

According to the requirements, the design of prototype was made out. The three-tire architecture was selected
as the architecture and the E-R relation diagram was selected to design database tier.
Then according to the prototype design, the developer began to implement the prototype. The ASP and
JavaScript were chosen as developing language and the Microsoft access was selected as database.

After finishing the implementation, the tests were taken place. All of errors in the prototype were adjusted.

Then after testing, the evaluation was given to the prototype and the project. Most of marks give by the
potential customers of the prototype are more than 80%.

Wang, Jianping 43
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

The evaluation results show that both of the approach and the project are successful in each stage

8.2 Lesson learned

In this project mainly two lessons are learned.

The most important lesson learned in this project is the importance of iterative and increments. For example,
after finished the implementation and unit test, integrate test and system test first time, it seems the system is
finished. But in acceptance tests, more than 50% of the customers who were family customers selected small
customer type. It is not same as the developer’s expect. So the developer had to redesign the interface to
correct it.

The other lesson learned in the project is the more the developer understands the business of the retailer, the
better he investigation he can do. For example, when the developer interviewed customers, he asked “when
you select products, between ‘the amount of the product being sold’ and the ‘the amount of the product being
sold relevant to you user type’, which one you prefer to know?” the customer said “the amount of the product
being sold relevant to my user type’”. But when I told to him “in fact, the more the product being sold, the
better service the retailer can provide to users (It is not convenient for user to get advice of section 3.3), then
what information you prefer to know “, then the customer said ” the amount of the product being sold’

8.3 Further works

In this project, since the time limit, the developer can just concentrate on some aspects. If he has more time, he
prefers to do the following works:

8.2.1 Investigating more customers and QD’s staff, comparing more websites and reading more materials to get
more perfect requirements. Testing more users to get more accurate evaluation.

8.2.2 The developer will study if the following functions will be good or not for customers. Then if the
customer are interested in them, the developer will design them and add them to the prototype. The functions
include “personalised web pages”, “community”,“multiple payment options”,” encryption”, “download
software” “loyalty schemes” “online help”and “automatic mail”.

8.2.3 The developer will design and implement the retailer side’s function to the e-shop.

8.2.4 The e-shop should be made some hyperlinks to popular websites to attract customers.

8.2.5 improve the interface’s aesthetics.

8.2.6 The developer will test if there are some problem of using Chinese.

Wang, Jianping 44
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

REFERENCE

Appendix A: Reflection upon the project experience

At the beginning of the project, I did not know how to do the project. What kind of material is useful for the
project? What approach is fit for the project? How to use different tools and methods in different stages?

Then after the supervisor direct me, I understand that the e-shop belongs to the use of e-commerce. Then I
begin to search for the books of e-commerce. After reading the books of e-commerce, I knew what the e-
commerce are and the four components of e-commerce.

At the same time, by reading books, I know what is RUP and how to use it to do project.

With the supervisor’s help, I also learned how to investigate, how to get requirements, how to design, how to
implement and test, how to evaluation and the relationship between each other.

Also I got the experience of using ASP and JavaScript.


In a word, I learned how build a system.

Wang, Jianping 45
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Appendix B: Objectives, deliverables and agrees marking scheme

Wang, Jianping 46
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Appendix C: A copy of interim report sheet

Wang, Jianping 47
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Wang, Jianping 48
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Appendix D: Reference books and URL

1, Chandler, Kreta: Customer-centered design : a new approach to Web usability / Kreta Chandler, Karen
Hyatt. Upper Saddle River, N.J. ; London : Prentice Hall PTR, c2003.
2. Dennis, Alan. Systems analysis design / Alan Dennis, Barbara Wixom, New York : J. Wiley, c2003.,2nd

3. John ward and Joe Peppard: Strategic Planning for Information Systems: Cranfield School of
Management, Cranfield,Bedfordshire,UK

4, Jacobson, Ivar : The unified software development process / Ivar Jacobson, Grady Booch, James
Rumbaugh.: Addison Wesley Longman, 1998.

5, Kruchten, Philippe. The rational unified process / Philippe Kruchten Reading, Mass. : Addison-Wesley,
c1999

6 H.M.Deitel,P.J.Deitel, K.Steinbuhler: e-business & e-commence for mangers:prentice-hall,Inc:2001

7.. Michele Marchesi(Eds.) Extreme programming and agile processes in software engineering : 4th
international conference, XP 2003, Genova, Italy, May 25-29, 2003 : proceedings / Michele Marchesi,
Giancarlo Succi (eds.). Berlin ; London : Springer, c2003.

8. Treese, G. Winfield. Designing systems for Internet commerce / G. Winfield Treese, Lawrence C.
Stewart.: Addison-Wesley, c1998.

9. Turban, Efraim.: Introduction to E-commerce / Efraim Turban. Upper Saddle River, N.J. ; London :
Prentice Hall, 2002

10. Whiteley, David. : e-commerce : strategy, technologies and applications / David Whiteley. : McGraw-
Hill, 2000.

10. amazon.co.uk

11 www.dell.com

12 www.comp.leeds.ac.uk/in31 In31 2002/2003 lecture 17

13. http://www.martinfowler.com/articles/newMethodology.html#N40035D

14 http://www.corba.ch/e/3tier.html

15 http://www.chinaz.com/download
Wang, Jianping 49
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

16 http://www.uk-shop-online.co.uk/department-stores/detail-argos.htm

17 http://www.21tx.com/src/asp/dzsw/000140810121444.htm

1, Dennis, Alan. Systems analysis design / Alan Dennis, Barbara Wixom, New York : J. Wiley, c2003.,2nd

2, H.M.Deitel,P.J.Deitel, K.Steinbuhler: e-business & e-commence for mangers:prentice-hall,Inc:2001

3, Turban, Efraim.: Introduction to E-commerce / Efraim Turban. Upper Saddle River, N.J. ; London :
Prentice Hall, 2002.

4, Jacobson, Ivar : The unified software development process / Ivar Jacobson, Grady Booch, James
Rumbaugh.: Addison Wesley Longman, 1998.

5, Chandler, Kreta: Customer-centered design : a new approach to Web usability / Kreta Chandler, Karen
Hyatt. Upper Saddle River, N.J. ; London : Prentice Hall PTR, c2003.

6 Michele Marchesi(Eds.) Extreme programming and agile processes in software engineering : 4th
international conference, XP 2003, Genova, Italy, May 25-29, 2003 : proceedings / Michele Marchesi,
Giancarlo Succi (eds.). Berlin ; London : Springer, c2003.

7. Kruchten, Philippe. The rational unified process / Philippe Kruchten Reading, Mass. : Addison-Wesley,
c1999.

8. John ward and Joe Peppard: Strategic Planning for Information Systems: Cranfield School of
Management, Cranfield,Bedfordshire,UK

9, Treese, G. Winfield. Designing systems for Internet commerce / G. Winfield Treese, Lawrence C.
Stewart.: Addison-Wesley, c1998.
10.
Whiteley, David. : e-commerce : strategy, technologies and applications / David Whiteley. :
McGraw-Hill, 2000.
10. amazon.co.uk

11 www.dell.com

12 www.comp.leeds.ac.uk/in31 In31 2002/2003 lecture 17

Wang, Jianping 50
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

13.http://www.martinfowler.com/articles/newMethodology.html#N40035D

14 http://www.corba.ch/e/3tier.html

Wang, Jianping 51
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Appendix E Current model

customer
QD's s taff

Go to QD

W ait for Q D's engineer t o int roduce and


recommend configuration and products

Discuss with
QD's engineer

Introduce and recommend


configurati on and products

Compare different products and configuration


and discuss with the engineer

Choose the products and


configuration

N
Plan to order it

N Go to warehourse to find the components


that the customer required

Find them?

Go back to show the


products to the customer

Have a l ook and


check

Accept?

Let QD's engineer to


assemble the c omput er
Assemble the com puter and
install relevant software

W ait for the staff assemble


the computer
Fini sh and give
to the customer

Pay the computer and


come back

up date syst em

give update softw are


to customer

rece ive the software


and inst all it

Diagram 3.2 The current system

Wang, Jianping 52
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Appendix F Vision

customer QD's staff

Visit the e-shop


we b-s ite

Comp are differe nt prod ucts and configu ration


and discuss with the engineer

Plan to order it

Go to warehourse to find the components


that the customer required

Find all of them Inform customer and


recomm and substitute

Ass emble the com puter a nd


ins tall relevant software

Send to t he
c ustomer

Receive the computer and


pay

W hen custom er needs


to update software

download and
ins tall it

Di agram 3.4 the expec ted b usin ess mode

Wang, Jianping 53
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Appendix G: Use case description

* Use Case Name: User registration

(The name as it appears in the


Use Case Model)

* Primary Actor: Customer

(Actor that initiates Use Case)

R Other Actors: None

R Value Proposal to Actor(s)

(The goal of the Use Case Customer can use it to register


from the Actor’s perspective)

R Basic Course of Events: This use case begins when the user begins to register. Users are allowed to input the basic information such as
username, password, confirm password address, telephone number, e-mail address, postcode, real name and so on.
(The Normal Flow)
If the information is correct, then user can finish registration.

Alternative Paths:

(Other paths through the use


case which result in a
None
successful outcome –
typically variations to the
basic course of events,
determined by the actor and
their needs).

Exception Paths: If the username has existed, the system will remind the user that the username has been used and the user has to
change the name.
(Other paths through the use
case which result in an If the customer found the information input is wrong before submission, he can rewrite information.
unsuccessful outcome –
If the customer did not input all of the information the system required, the system will tell him and the register
typically when something
should be done again.
goes wrong)
If the password is not as the same as the confirm password the system required, the system will tell him and the
register should be done again.

Assumptions: Every customer has e-mail address, telephone number and he prefers to tell QD.

Pre-conditions: User has entered the web site

Post-conditions: The information will be stored into the database if the registration is successful.

Related Business Rules: Each customer can only registers once and he has a unique username. After registration, users can log in and then
order the products they prefer.
(Reference to your Business
Rules list)

Related Non-Functional Interface friendly


requirements – Usability,
Performance, Security:

(Any non-functional
requirements that are specific
to this Use Case rather than
the system as a whole)

Project: The requirements and design of the 'customer-friendly' e-shop for a computer company

Author: Wang Jianping

Date: 26/10/03 08:11

Wang, Jianping 54
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

User login

(using www.comp.leeds.ac.uk/in21/UCDForm.doc) and an interaction diagram for the Basic Flow of Events.

* Use Case Name: User login

(The name as it appears in the


Use Case Model)

* Primary Actor: Customer who has registered

(Actor that initiates Use Case)

R Other Actors: None

R Value Proposal to Actor(s)

(The goal of the Use Case Customer can login the system
from the Actor’s perspective)

R Basic Course of Events: This use case begins when the user begins to login. User inputs his username and password, and then submits. If
the username and password are correct, he will successfully login.
(The Normal Flow)

Alternative Paths:

(Other paths through the use


case which result in a
None
successful outcome –
typically variations to the
basic course of events,
determined by the actor and
their needs).

Exception Paths: If the username or password is wrong, the system will remind the user, for example “username does not exist” or
“password is empty”.
(Other paths through the use
case which result in an
unsuccessful outcome –
typically when something
goes wrong)

Assumptions:

Pre-conditions: User has registered.

Post-conditions: After the user logs the system will store the information in to the database.

Related Business Rules: Users can select and order products only after they login.

(Reference to your Business


Rules list)

Related Non-Functional
requirements – Usability,
Performance, Security:

(Any non-functional
requirements that are specific
to this Use Case rather than
the system as a whole)

Project: The requirements and design of the 'customer-friendly' e-shop for a computer company

Author: Wang Jianping

Date: 26/10/03 08:11

Show relevant components and types based on customer types

Wang, Jianping 55
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

The customers can be divided into several types. After the user chooses a type, he can get the relevant information and service of this type.

Use Case Name: Show relevant components and types based on customer types

(The name as it appears in the Use


Case Model)

Primary Actor: Customer

(Actor that initiates Use Case)

Other Actors: None

Value Proposal to Actor(s)

(The goal of the Use Case from the Customer can get the relevant information of his user type
Actor’s perspective)

Basic Course of Events: This use case begins after the user selects user type and enters the main page. The page will show the components
that he can buy, the numbers of each component type based on his user type and the total number of all the
(The Normal Flow)
product types.

Alternative Paths:

(Other paths through the use case


which result in a successful
Some products belong to not only one kind of user type, so the same products may be shown in different ways.
outcome – typically variations to
the basic course of events,
determined by the actor and their
needs).

Exception Paths: If there is no component or product in the database , the system will remind the user.

(Other paths through the use case


which result in an unsuccessful
outcome – typically when
something goes wrong)

Assumptions: The staff of QD has other system to update the products and renew the times being visited.

Pre-conditions: User has selected the user type

Post-conditions: When the user chooses a type of component, all of the types belong to the component will be shown and can be
selected.

Related Business Rules:

(Reference to your Business Rules


list)

Related Non-Functional Interface friendly


requirements – Usability,
Performance, Security:

(Any non-functional requirements


that are specific to this Use Case
rather than the system as a whole)

Project: The requirements and design of the 'customer-friendly' e-shop for a computer company

Author: Wang Jianping

Date: 26/10/03 08:11

Show the most popular products being visited

Wang, Jianping 56
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Use Case Name: Show the most popular products being visited

(The name as it appears in the Use


Case Model)

Primary Actor: Customer

(Actor that initiates Use Case)

Other Actors: None

Value Proposal to Actor(s)

(The goal of the Use Case from the Customer can get the latest information of the hot products being visited
Actor’s perspective)

Basic Course of Events: This use case begins after user chooses user type and goes into the main page. The page will show the 5 products,
which have the most times being visited.
(The Normal Flow)
On the other side, after the user chooses the type of the component, the system will show the five products having
the most times being visited relevant to this kind of product.

Alternative Paths:

(Other paths through the use case


which result in a successful
None
outcome – typically variations to
the basic course of events,
determined by the actor and their
needs).

Exception Paths:

(Other paths through the use case


which result in an unsuccessful
outcome – typically when
something goes wrong)

Assumptions: The staff of QD has other system to update the products and renew the times being visited.

Pre-conditions: User has selected the user type

Post-conditions: After the user click products, the times of the product being visited will be updated.

Related Business Rules:

(Reference to your Business Rules


list)

Related Non-Functional Interface friendly


requirements – Usability,
Performance, Security:

(Any non-functional requirements


that are specific to this Use Case
rather than the system as a whole)

Project: The requirements and design of the 'customer-friendly' e-shop for a computer company

Author: Wang Jianping

Date: 26/10/03 08:11

Wang, Jianping 57
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Show the most popular products being sold

Use Case Name: Show the most popular products being sold

(The name as it appears in the


Use Case Model)

Primary Actor: Customer

(Actor that initiates Use Case)

Other Actors: None

Value Proposal to Actor(s)

(The goal of the Use Case from Customer can get the latest information of hot products being sold
the Actor’s perspective)

Basic Course of Events: This use case begins after user chooses user type and goes into the main page. The page will show the 5 products, which has the
highest sales.
(The Normal Flow)
On the other side, after the user chooses the type of the component, the system will show the products with the highest sales
relevant to this kind of product.

Alternative Paths:

(Other paths through the use


case which result in a successful
None
outcome – typically variations to
the basic course of events,
determined by the actor and their
needs).

Exception Paths:

(Other paths through the use


case which result in an
unsuccessful outcome –
typically when something goes
wrong)

Assumptions: The staff of QD has other system to update the products and renew the quantity of products being sold.

Pre-conditions: User has selected the user type

Post-conditions: After the user buys products, quantity of the product being sold will be updated.

Related Business Rules:

(Reference to your Business


Rules list)

Related Non-Functional Interface friendly


requirements – Usability,
Performance, Security:

(Any non-functional
requirements that are specific to
this Use Case rather than the
system as a whole)

Project: The requirements and design of the 'customer-friendly' e-shop for a computer company

Author: Wang Jianping

Date: 26/10/03 08:11

Wang, Jianping 58
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Select and order

Use Case Name: Select and order

(The name as it appears in the


Use Case Model)

Primary Actor: Customer

(Actor that initiates Use Case)

Other Actors: None

Value Proposal to Actor(s)

(The goal of the Use Case from Users can select and order the products they like
the Actor’s perspective)

Basic Course of Events: This use case begins when the user selects the product he likes. He can choose the amount he wants to order. Then if he wants to
buy something else, he can repeat the selection process.
(The Normal Flow)
After he finishes selection, he can check the list and begin to order. He needs to input the receiver’s address, name, telephone
number and so on. At the same time, he will get an order number which can be used to check order state later.

Alternative Paths: Select from latest products, hot products being visited, hot products being sold

(Other paths through the use


case which result in a successful
outcome – typically variations to
the basic course of events,
determined by the actor and their
needs).

Exception Paths: If the user dislikes buying the products, he can clear any or all the products he has selected.

(Other paths through the use If the customer has selected some products but he does not want to buy this time, he can store them and order next time.
case which result in an
unsuccessful outcome –
typically when something goes
wrong)

Assumptions: There are enough amounts of each product to sell.

Pre-conditions: User has log in the system

Post-conditions: After the user orders the products, the quantity of the product being sold will be updated.

Related Business Rules:

(Reference to your Business The customer and the receiver need not to be the same person.
Rules list)

Related Non-Functional Interface friendly


requirements – Usability,
The picture of the product can be shown
Performance, Security:

(Any non-functional
requirements that are specific to
this Use Case rather than the
system as a whole)

Project: The requirements and design of the 'customer-friendly' e-shop for a computer company

Author: Wang Jianping

Date: 26/10/03 08:11

Wang, Jianping 59
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Products Query

Use Case Name: Products Query

(The name as it appears in the


Use Case Model)

Primary Actor: Customer

(Actor that initiates Use Case)

Other Actors: None

Value Proposal to Actor(s)

(The goal of the Use Case from User can find product by inputting part of the name of the product
the Actor’s perspective)

Basic Course of Events: This use case begins when the user inputs part of the name of the product he likes. The product will be found and then the user
can select the product.
(The Normal Flow)

Alternative Paths: None

(Other paths through the use


case which result in a successful
outcome – typically variations to
the basic course of events,
determined by the actor and their
needs).

Exception Paths: If the user knows nothing about the product and inputs nothing, the system will list all of the products.

(Other paths through the use


case which result in an
unsuccessful outcome –
typically when something goes
wrong)

Assumptions: User knows the product and just can’t remember the full name of the product.

Pre-conditions: User needs to go into the main page..

Post-conditions:

Related Business Rules:

(Reference to your Business Current users number less than 255


Rules list)

Related Non-Functional Interface friendly


requirements – Usability,
The picture of the product can be shown
Performance, Security:

(Any non-functional
requirements that are specific to
this Use Case rather than the
system as a whole)

Project: The requirements and design of the 'customer-friendly' e-shop for a computer company

Author: Wang Jianping

Date: 26/10/03 08:11

Wang, Jianping 60
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Check order state

Use Case Name: Check order state

(The name as it appears in the


Use Case Model)

Primary Actor: Customer

(Actor that initiates Use Case)

Other Actors: None

Value Proposal to Actor(s)

(The goal of the Use Case from Users can select and order the products they like
the Actor’s perspective)

Basic Course of Events: This use case begins when the user wants to check his order state. User inputs the order number and then gets the information
about the state of the order he made. There are two types of order states, one is that the order is being handled and the other is
(The Normal Flow)
that the order has been done.

Alternative Paths: None

(Other paths through the use


case which result in a successful
outcome – typically variations to
the basic course of events,
determined by the actor and their
needs).

Exception Paths: If the user inputs wrong order number, the system will remind the user that the order number is wrong. And the user needs to
input the correct order number.
(Other paths through the use
case which result in an
unsuccessful outcome –
typically when something goes
wrong)

Assumptions: The user can remember his order number.

Pre-conditions: The user has ordered some products and got an order number.

Post-conditions:

Related Business Rules:

(Reference to your Business The staff of QD should input the information about the result of the order in time.
Rules list)

Related Non-Functional Interface friendly


requirements – Usability,
Performance, Security:

(Any non-functional
requirements that are specific to
this Use Case rather than the
system as a whole)

Project: The requirements and design of the 'customer-friendly' e-shop for a computer company

Author: Wang Jianping

Date: 26/10/03 08:11

Wang, Jianping 61
MSc Information Systems
The requirements and design of the 'customer-friendly' e-shop for a computer retailer

Latest news

The news is classified into several levels and shown in order of importance. After the user clicks the title of the news, the details will be shown.

Use Case Name: Latest news

(The name as it appears in the


Use Case Model)

Primary Actor: Customer

(Actor that initiates Use Case)

Other Actors: None

Value Proposal to Actor(s)

(The goal of the Use Case from Users can get the latest news in time and know the priority of the news
the Actor’s perspective)

Basic Course of Events: This use case begins when the user enters the website. The news is shown to the user, the more important the news is, the higher
position the news appears.
(The Normal Flow)

Alternative Paths: None

(Other paths through the use


case which result in a successful
outcome – typically variations to
the basic course of events,
determined by the actor and their
needs).

Exception Paths: None

(Other paths through the use


case which result in an
unsuccessful outcome –
typically when something goes
wrong)

Assumptions: Users usually read news from upper to lower position.

Pre-conditions: The QD’s staff input news in time and rank them in terms of importance.

Post-conditions:

Related Business Rules:

(Reference to your Business


Rules list)

Related Non-Functional Interface friendly


requirements – Usability,
Performance, Security:

(Any non-functional
requirements that are specific to
this Use Case rather than the
system as a whole)

Project: The requirements and design of the 'customer-friendly' e-shop for a computer company

Author: Wang Jianping

Date: 26/10/03 08:11

Wang, Jianping 62
MSc Information Systems

You might also like