The Open University | OU LIBRARY
TM420-426 The IT and Computing Project
Home
TM421 / M301 Project
TM422 / M358 Project
TM423 / T305 Project
TM426 / T396 Project
TM427 / M360 Project
 

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

Not indicated on the above: group and individual tutorial meetings

Timing and activity

Details

40–50 hours

Revision and investigation

Apr/May

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.

Develop TMA 01.


40–50 hours

Requirements specification

Jun/Jul

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.

Develop TMA 02.

40–50 hours

Design

Aug/Sep

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.

Develop TMA 03.

100–120 hours

Implementation

Sep/Dec

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.

Develop TMA 04.

Project and product documentation, record keeping, reading etc. will form background activities taking place as the project progresses – the TMA submission dates will be a good time to review and summarize these background tasks.

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. O’Reilly, 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 user’s 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.

Back to top of page

mixed communications image