You are on page 1of 33

E-Commerce and E-Business

Assoc. Pro. Dr. Ahmed Bahgat El Seddawy

Computer Science and Information Systems


Head of BIS Department – Smart Village
Vice Dean of Educational Affairs
Arab Academy for Science and Technology
Ahmed.Bahgat@aast.edu
Website Development Process

CHAPTER 5
9-3
Chapter 9: Website Development Process

 Questions answered in this chapter:


 What are the steps involved in building a website?
 How is the user experience definition created?
 What is the architecture design process?
 What is the implementation process?
 What is involved in the test process?
 What factors are involved in launching a website?
9-4
Website Development Process

 The goal of website development is to


“present functionality and content
through some type of visual interface.”

 Initial steps for developing a website


 Be part of strategy
 Define user experience
 Translate user experience to functionality and screen representations

 A set of compromises are


 Size & scope of project
 HW & SW types
 Type of audience
9-5
Three External Forces That Shape This Goal:

 Time
 What is the deadline for this project?
 Is the deadline flexible or nonnegotiable?
 Can the site be phased in over time, or do all of the desired features have to be built immediately?

 Budget
 How much money has been allocated to the project, and how was that number derived?
 Is there enough in the budget to hire additional staff if the deadline is too tight?
 Can the project be outsourced in part or entirety?

 Resources
 Does the organization have the right mix of skills internally to deliver the project as
specified?
 Does it have enough of each type of skill given the timetable that has been laid out?
 Are these resources available, or could the resources needed be pulled off another
project—and what is the relative importance of this project to the organization versus
the other project?
9-6
Process for Building a Website

Strategy Formulation

User Experience Definition

Architecture Design Process

Implementation

Test/Fix

Launch
9-7
Process for Building a Website from Scratch

 Important characteristics that need to be known or in place:

 A well defined set of business objectives for the site


 Executive support
 A general definition of the audience segments
 A clearly articulated project plan
 A brief definition and description of the relevant branding systems
 A competitive analysis for the industry and the product/service offered by
the site
 a budget
 development resources
 a navigation committee of senior (stakeholders and executives )
9-8
Process for Building a Site from Scratch (cont’d)

 User Experience
 refers to how a user perceives and interprets the website

 Functional Specification
 provides a highly detailed guide to what every page on the website does

 Change-management Process
 a framework for identifying problems within the project
 software bugs or a change in site requirements
 prioritizing these problems, assigning the task of resolving these problems, and tracking the
progress of the tasks until all problems are resolved

 Project Plan
 Lays out the checkpoints, milestones, and resources that are expected to be
required to move the project forward to completion
9-9
Process for Building a Site from Scratch (cont’d)

Discipline Areas key include:


 Business Strategy
 Functional/subject-matter expertise
 Information architecture
 Content development/writing
 Visual design
 Interface design
 Technical architecture
 Database administration
 Data modeling
 Technical development
 Quality assurance team lead
 Quality assurance testing
9-10
Project Plan
ID Task Name Duration Mar 31, '02 Apr 28, '02 May 26, '02 Jun 23, '02 Jul 21, '02 Aug 18, '02 Sep 15, '02 Oct 13, '02 Nov 10, '02 Dec 8, '02 Jan 5, '03 Feb 2, '03
2 13 24 5 16 27 7 18 29 10 21 1 12 23 3 14 25 6 17 28 8 19 30 11 22 2 13 24 4 15
1 Acme.com Version 1.0 145 days?
2 User Experience Definition 70 days?
3 Audience Definition 45 days
4 ID initial audience groups 5 days
5 Brainstorm user intentions 5 days
6 Brainstorm features / functions to satisfy intentions 5 days
7 Test assumptions on intentions 5 days
8 Test assumptions on features / functions 5 days
9 Build user personea guides 10 days
10 Develop Functional Matrix 10 days
11 Develop Audience Definition Findings Document 10 days
12 Functional Definition 25 days
13 Create Functional Matrix 10 days
14 Process Flow s 5 days
15 Site Architecture 10 days
16 Nav Model 2 days
17 Directory Structure 2 days
18 Page inventory 2 days
19 Content Matrix 5 days
20 Page Schematics 10 days
21 Visual Definition 30 days?
22 Gather Interface Development Requirements 15 days
23 Develop Interface Findings Document 5 days?
24 Develop Visual Identity System 2 w ks
25 Develop Style Guide 2 w ks
26 Architecture Design Process 85 days
27 Technical Discovery and Definition 80 days
28 Existing Technology Discovery 10 days
29 Gather Technical Development Requirements 10 days
30 Development Environment Setup 1 wk
31 Live Environment Setup 1 wk
32 Implementation 45 days
33 Findings Validation 1 wk
34 Visual Design Development 2 w ks
35 Interface Development 4 w ks
36 Application Development 8 w ks
37 Testing 65 days
38 Unit Testing 8 w ks
39 Component Integration Testing 5 days
40 UI Integration Testing 5 days
41 Integration Testing 5 days
42 Systems Testing 5 days
43 Performance and Stress Testing 5 days
44 Go Live 5 days
9-11
User Experience Identification

By developing the online offering through:


 Identifying the scope of the offering
 Identifying the customer decision process
 Mapping the offering to this decision process
User types
 Discrete types of users who will use the site as employee, customers, partners,
vendors, interested parties
User intentions
 what tasks users want to accomplish when they visit the site
User personas
 Fictitious, representative examples of real users that allow the development
team to focus on the collective core needs of the users within a group
 User intention matrix + user profile → user persona
Use case
 Describes how a user and a system interact to accomplish a specific goal,
typically a step-by-step guide describing all the actions that the user takes, and
what the system does in return
9-12
User Profile
User Profile: Cindy the College Student

Personal Profile
Age: 20

Education: 4 years of high school

Car: Saturn SC1


Old Navy, Starbucks, Abercrombie and Fitch,
Shops at: Gap, Newbury Comics, Tower Records

Occupation
Job: Full-Time Student
Company Size N/A
Company Industry: N/A
Typical Task on Acme.com: Product Research and Purchase
Familiarity with Acme: Somewhat familiar: Cindy has seen Acme's
adds, and a few of her friends have computers
from Acme.
Usage Scenario Description: Cindy needs a computer, but is uncertain as to
what her options are—she is a bit afraid of the
whole process, to be honest. Her parents have
agreed to buy her a computer, but have told her
that she needs to do the research.
Reason for choosing to work with
Acme: Recommendations from her friends, cool-looking
computers, good price, and Acme appears to be
an easy, no-pressure company to buy from—a
company that will take care of her.
Desired Experience: Cindy wants to be able to research her computer
options, understand the pros and cons, and buy
a computer.
But, she wants to buy a computer that is at least
as cool as her friends‘ computers, so she would like to be
able to make a case to her parents for a slightly
better computer than what she might actually
need.
When she decides what to buy, she would like to
understand the financing options available to
her.
Key Points:
9-13
Intentions Matrix
Needs Actions
Intentions Acme's business objectives
(Features and Functions) (user objectives)
Research and Buy a Computer
Cindy needs a computer, but is uncertain as to Get Product Information
Lookup Products Increase customer base
what her options are. She needs to be able to
show her parents the options that she has, and - General Product Information Learn the differences between products and product options Educate customer to better understand benefits of the technology
ideally let them purchase the computer for her. - Quick comparison of products
Upsell / Crosssell customers into new products / peripherals
- Upgrade and Accessory information Leverage user's circle of community to advertise Acme
Research the Technology
- System to explain what the system pieces are
and how they compare to each other
- Have products suggested based on needs Have a product suggested to her based on her needs

Pick the System Show friends what system she is getting


Show parent's 2-3 systems and have them buy one - pursuade them to
- Pick a solution(s)
buy the better machine
- configure / customize the system
- Store picked solutions for viewing later / sharing
to parents / friends
- Allow friends/parents to vote on system if she
can't make up her mind
Buy the System Buy the best system she can get
- Send Parents to her customized computer to
have them buy it on her behalf
Check Purchase Status

t - knowledge base, documentation, troubleshooting wizard, live csr

contact information

customer service - rma, swap parts


9-14
Functional Matrix vs. Functional Specification

•Discrete set of functions represents functional matrix

Functional Matrix Purpose:


–Define project scope, used to build project plan
–Communication with executives, project team, any
external contractors
–Track enhancements as they are discovered during
development
–Plan future release functionality—by priority
vs. Functional Specification
9-15
Functional Matrix

• Indicates & details how functions proceeds &


what entities interact with that function
Functional Specification Purpose:
– Provide detailed design of system processes and pages
– Provide details of the life cycle of different objects (search,
payments, etc.)
– Defines the details of each page (list of fields on a page, their
validation requirements, their data sources)
– Defines all actions on each page (save shopping cart, send e-
mail, update account, checkout)
9-16
Content matrix

 Composed of
 Screens required to satisfy the use case

 Content required for each screen


9-17
Architecture Design Process

 At this point the team needs to generate the next set of


important documents:
Site Map:
 Typically a hierarchical view of the proposed website and
encompasses all the primary pages, or templates, to be
developed.
 Allows the development team to logically group content into
content areas and to understand how different content types
relate and link to one another
 The challenge is to develop a navigation system that is
meaningful to the user and also fits within the visual design of
the site
9-18
Architecture Design Process

 Page Schematics:

 Simple drawings or diagrams that serve as a


conceptual layout for what each page on the
site will look like

 The schematic provides the team with a way


to brainstorm how and where certain
functionality and content will appear on a
particular page
9-19
Sample Site Map
9-20
Page Schematic
9-21
Technical Discovery

 A core technical team begins to define the technical


environment, goals & vision of the project.
 The technology vision is strongly informed and
structured by many elements including business
objectives for the site
 User persona
 Existing technology
 Internal skill set
 User intentions
 Time and budget
 Traffic
 Uptime requirements
 Security requirements
9-22
Technology Discovery (cont’d)

 Technology summary document should detail the


following:
 Existing corporate systems, including relevant back-end
systems and databases
 How the proposed site differs from those of the
company’s competitors
 Conceptual technical architecture to support the site
 An analysis of and recommendations for the software
components to be used during the development process
Experience Definition and Architecture 9-23

Design Outputs

 At this point, the development team should be


able to create the following outputs:
 User experience and functional definition document
 User type definition document
 User intentions definition document
 User persona definition document
 Functionality matrix
 Content matrix
 Use cases
 Site map
 Page schematics
9-24
Implementation

 Validation of design
 Finalize the visual design of the site through iterative process

 Test the design & navigation system in a limited fashion by creating


a functioning prototype

Build Phase
 First team must set up appropriate development environment
 Is a set of four activities
 Back-end development
 Creation of DB
 Interface development
 Production of HTML pages & other interface technologies
 Interactive development
 Development of imagery, artwork, sound & video
 Content development
9-25

Implementation (cont’d)

Build Phase
 Is a set of simple steps:
 Design the technical infrastructure
 Design the technical components so that they will be both flexible
and extensible
 Build the components (both visual and functional) that will make up
the website
 Integrate those components so that they work together as expected
 Test those components, both individually and after they have been
integrated
 Refine the system & components based on these tests
 Launch the website
9-26
Implementation (cont’d)

Development Environment
 Deciding which language should be used is guided by a number of
factors:
 Available skills

 Skills of developers
 Portability

 Use of open source environment or not


 Scalability/enterprise features

 Depends on the developed system & how much is the website


complexity
 Cost

 Hw, SW, training & support


9-27
Implementation (cont’d)

Page Design

 Unique pages
 pages that have a design that is different from any other page on the
site

 Template pages
 the design and layout of these pages are repeated more than once,
usually on a section of the site that has multiple pages of similar
content (e.g., press releases)
9-28
Implementation (cont’d)

Interface Development
 The choice of which technologies to implement within an interface is
difficult because not all pages require the same set of functionality or
deliver the same type of information

 The success of an interface is determined by whether its users are


successful in getting the information they need and understanding
the information that is presented to them
9-29
Implementation (cont’d)

Application Development
 The application development is shaped by the functionality matrix and
the functional specification

 The team creates modules that meet all the capabilities the website
needs to have
9-30
Test/Fix

 Most 2 important aspects in developing are


 Proper documentation

 Test the code

 Testing starts by developing test scripts


 Use case → specifies functions

 Test scripts→ intermediate processing to achieve the specified


function
9-31
Test/Fix

 Steps in the testing process:


 Unit testing
 Coded is tested in isolation & in high ideal condition

 Integration testing
 Tests how individual functionality modules work with one another
and with visual interface system
 When bugs are detected, they are called open (not fixed),
after fixing they are called closed
 Systems testing
 Load testing
9-32
Number of Bugs Over Testing Days

Bugs

160

140

120

100
Bugs

80 Bugs

60

40

20

0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59
Days
9-33
Launch

 Basic issues that need to be solved before launching a site:


 A hosting facility/ISP must be selected
 The servers must be built and tested
 The connectivity of the site must be tested
 The security of the overall system must be audited
 Then Go live starts by
 Approving site version
 Publishing it on server within the hosting environment

You might also like