presentation10 - University of Worcester

Download Report

Transcript presentation10 - University of Worcester

COMP3241
E-Commerce Technologies
Richard Henson
University of Worcester
December 2014
Week 10: Documenting a
Client-Server System

Explain the fundamental differences between
documenting client-server and documenting
conventional systems

Explain the importance of presenting a data
model in the documentation

Use software tools to assist documentation of
web pages, web sites, and database design
What is client-side and what is
server side?

Everything that is displayed using HTML…
client side

Everything that interrogates databases, and
databases themselves… server side

What about the rest of the coding?
 JavaScript?
 C#?
 Asp.net controls?
Putting this into a write up

More challenging than a conventional
website/set of programme coding

It helps to have separate headings for “client
side” and “server side”

Site will be marked as a Visual Studio 2010
project
 essential that all server code and the database to
run the site are included on the media handed in
with the assignment write up!!!
How to document…

Project usually have four phases:
Analysis
Design
Implementation
Evaluation

Your assignment 2 can be considered
to be a mini-project…
What to include in the write up

The assignment brief is your spec (no
analysis section therefore necessary!!!)

Requirements:
“Design” (client & server)
“Implementation”
“Evaluation”
Design

Should include:
site & database design diagrams
screen dump(s) to show common page
format(s)
should refer to code (e.g. scripts) by
filename so marker can cross-check with
file(s) on removable media
test plan…
Test Plan

An empty table that lists the tests to be
performed, & expected outcomes…
Action
Expected
outcome
Click on “add to
cart”
Product added to cart,
which is displayed
containing correct
costs
Click on “new
customer”
New customer form
allows customer to add
personal data
Actual
Outcome
Relative and Absolute Paths
For small databases and simplicity
Access works well….
 Note that…

Access requires an absolute path
» e.g. X:\myfolder\yourfolder\database.accdb
SQL Server, and MySQL can cope with a
relative path:
» e.g. ..yourfolder\database.mdf
Implementation

Should include some of:
code sections that you may want to explain
or bring to the attention of the marker
database connection string(s) & path to
Access (or other…) database in working
project

A description of some problems
encountered and how overcome
Testing

Test plan put into effect…

“Actual v Expected” table completed
Action
Expected outcome
Actual Outcome
Click on “add to
cart”
Product added to cart,
which is displayed
containing correct
costs
Yes
Click on “new
customer”
New customer form
allows customer to add
personal data
No. Goes back to
products page
Retesting

Any differences between expected/actual
results need to be resolved

Changes made as a result of testing
should also be documented
retest table also included…

Repeat retest & retest table if necessary,
and if you have time!
Rollout

Retried and retested product copied to
removable medium

Zip up and send to SOLE
keep your own copy!
Evaluation

You should include:
what others (i.e. prospective shoppers)
think of the site
how well the completed site meets the
spec (or goes beyond it… or could do…)
A personal reflection of your experiences in
doing the assignment, and anything else
you’d like to have done with it, if you had
more time…
Further Activities…
Creating a login page for
different access levels

Different users can be given different
levels of access to resources, based on
username
 e.g. only users can be identified as
“administrators”
» using a user category field in the customers/users
table
 administrators may be able to access a further
HTML form or webform
» allows write access the products table
» can add new product details
» and change details (e.g. price) of an existing product
Restricting page access to
unauthorized users


Essential to prevent the unauthorised user
“cheating” the system by typing in the URL of
the restricted page and displaying it manually
Readily achieved using a server script that
automatically brings the user back to a predefined page if they HAVEN’T successfully
logged on
 e.g. takes control back to the home page
Restricted Pages and
Secure Pages (2)

Such an intercept and redirect facility
will ONLY protect HTML pages
problem: HTML can easily be hacked…

Secure pages use the https protocol,
and are protected from the server end
by a server (SSL) certificate
https, and e-commerce
systems

Before payment, the user will also have to be
authenticated by the International Banking
Network (IBN) before payment can proceed
 this MUST happen at a fully protected page
» via https
» logged in checking
» (additionally) a system-defined “time out”
 control then passes to a merchant services provider
for interaction with the IBN

Much more about https in COMP3221 module…
 also see COMP3123-7,8 via link to RH’s old website
if interested
Order information and the
Merchant System

With a real system, at least one parameter
needs to be passed to the bank system with
the credit/debit card details
 e.g. “GrandTotal”
 from Orders Table

Needed to check whether the customer has
enough funds in their account to allow the
transaction…
 actual funds “taken” after this check has a positive
outcome
The “Sendmail” control
The WebXelCart control that allows an
email to be sent when the order passes
through payment
 Email contains a copy of the online
invoice…
 Can be implemented from the
“Payments” page”…

How to submit electronically

As with assignment 1…
 put write up .doc(x) through Turnitin…
 send all docs as a zipped folder
 this time also include practical project

Project should be saved as a .sln file and
associated folders
 when .sln opens in Visual Studio all files should be
appropriate places
 marker will adjust database path (if necessary)
Good Luck
and have
a Great Xmas!
Two timetabled sessions in January
If you can’t make it to either,
practical workshops may be
available by appointment until the
day before hand-in: email me