TM427 The M360 Project
Project title: Building an Internet application: the
specification, design and implementation of an E-commerce
application
Sample project description
Specific title
A distributed application for maintaining up-to-date web
pages
Description
[535 words]
One of the problems that website
developers face is that the links to other sites that they maintain often
become dead. There are a number of reasons for this: the server may be
malfunctioning, there may be communication problems or, more likely, the owner
of the site has decided to delete it.
Often web applications need to keep
extensive links to websites, for example if you visit a portal you will often
see hundreds of such links. My project will aim to develop an application which
will ensure that a site which contains a number of such links will very rarely
contain dead links.
In the final chapter of M360 there is a
description of some Java code which can check the availability of a website. I
intend using this to develop a system which replaces any dead sites by a web
link to an alternative site. The application should be capable of:
·
monitoring web pages containing links in order to check whether
any of them are dead;
·
replacing any dead links with alternatives which have been
specified by the owner of a site;
·
storing websites and alternatives in a relational database;
·
storing web pages which contain links in XML;
·
allowing the owner of a website to update the database used to
store link details remotely over the Internet.
To carry out this project I will need to
explore what products and facilities are available to carry out the functions
detailed above. I will also need to talk to two or three people who maintain
websites which contain a large number of links. This requirements analysis will
produce a requirements specification which I can then use to design such
a system.
The next stage of the project will
involve me in designing the system. The design process will consist of a
number of processes:
·
The design of a relational database containing link
information.
·
The design of a DTD which describes the way that the links are
stored in an HTML page.
·
The design of some mechanism whereby the owner of the website
keeps the stored link information up to date. There are a number of options
here such as a simple message passing protocol or a distributed object
scheme.
·
The design of the individual code items that comprise the system,
for example the code used to implement the client functionality associated with
keeping link information up to date. The code will be specified by describing
the individual classes that make up the components of the system.
The final stages will involve the
implementation of the system. Since M360 employs the Java language this will be
the chosen implementation medium. I would imagine that I would require few
facilities outside those described in the course for the implementation.
My final activity would be to
evaluate my solution. This evaluation will consist of:
·
looking for other products which carry out similar functions and
comparing my system with them;
·
looking at alternative designs. If, for example, I had chosen a
simple message passing mechanism for my system I could compare this to other
ways of carrying out client/server communication, such as RMI or CORBA.
Project scope
The system will not be concurrent, i.e.
it can only be employed by one user at a time. As detailed below this will be a
simulated distributed application using the localhost (127.0.0.1) facility. I do not
intend to develop this system as a fully distributed application. The system
will not contain any facilities which enable the relational tables containing
the links to be extracted from some HTML source.
Project schedule
Start date: February
200x
End date: December 200x
Total time allocation: 260 hours
Fixed intermediate and final
deadlines and approximate allocation
|
TMA 01 |
[the cut-off date] |
48 hours |
|
TMA 02 |
[the cut-off date] |
48 hours |
|
TMA 03 |
[the cut-off date] |
60 hours |
|
Report submission |
[the cut-off date] |
84 hours |
|
TMA 04 |
[the cut-off date] |
20 hours |
|
|
|
|
|
Revise main distributed
concepts from M360.
Redo relevant programming
exercises from M360, for example XML exercises.
Research alternative systems
using the Internet.
Write a short report which
details the findings of the investigation.
|
|
4050 hours
Requirements specification
|
Interview website
administrators.
Partition their requirements
into essential and desirable requirements.
Develop a functional
specification of what the system should do.
Develop a data specification
which describes the main business objects that are to be processed or accessed
by the system.
|
|
4050 hours
Design
|
Specify the mechanism that is
to be used between client and the server which contains XML source and link
database.
Specify the tables used to
store link information.
Specify a DTD that describes
links and alternative links.
Specify the classes that are
required at both the client and the server.
|
|
100120 hours
Implementation
|
Develop the code for both
client and server.
Set up the XML DTD.
Implement a test database and
some test HTML pages.
Develop an HCI which is used on
the client.
Check out HCI with a user.
Integrate code, database, DTD
and sample XML source.
Test out whole system.
Finalize project report.
|
Bibliography
Deitel, H.M.
and Deitel, P. E-Business and E-Commerce: How to Program, Prentice-Hall,
ISBN 013028419X.
This is an
introductory book which describes the development of e-commerce systems. I
should be able to use some of the techniques that are detailed in it.
Fournier, R.
A Methodology for Client/Server and Web Application Development,
Prentice Hall, ISBN 0135984262.
This is one
of the few books which describe the process of developing client/server
systems. It will be an excellent companion to the M360 materials.
McLaughlin,
B. Java and XML. OReilly, ISBN 0596001975.
The M360
course contains a good introduction to XML but I suspect more will be needed
for this project. This book is a comprehensive introduction to the topic.
Nielsen, J.
Designing Web Usability: The Practice of Simplicity, New Riders,
ISBN 156205810X.
M360 is a
bit short of detail on how to structure and design a website so I thought that
I would include this book. Nielsen takes the view that websites are far too
complicated and work against the users interest. In the book he shows how
simple websites make both commercial and cognitive sense. Although the web
pages that he presents are somewhat austere they do look good and do have the
advantage of being easy to navigate. I intend using this book as the model for
my website development.
Equipment or software
I will use the IDE supplied with the
course M360; in almost all respects it contains the facilities I require.
However, I may use a more up-to-date API for the XML part of the project,
probably the SAX2 API which is readily downloadable from the web. Development
will be on my own PC so I shall use localhost communication. I have no
plans for a full distributed deployment.