Anatomy of a project
December 11 Web Enabled Databases 1
This lecture looks at what makes this
type of student project into a good project
Choosing a good title
Making a good proposal
Choice of business focus
December 11 Web Enabled Databases 2
Reminder of Deliverables
Activity Date due
Project Proposal 30/10/2006
Initial Report 4/12/2006
Interim Report 22/1/2007
Completed Project 19/3/2007
December 11 Software development 3
The initial report
Current project status
draft write up of the research done so far,
Any changes to project objectives and an
updated project plan
Any project outcomes e.g. choice of
development methodology, programming
December 11 Software development 4
Take care about the title you choose for
It should indicate that you are doing some
background investigation of the Web-
enabled database area, not just building
The technology/systems/literature review
can often help with the title
December 11 Web Enabled Databases 5
Improving your title
Poor - Building a web enabled library system database
Better - Investigation of role based access in a web
enabled database using a library system as an example
Poor - Creating a web enabled hair dresser booking system
Better - Use of software design patterns in the creation of a
web application using a hair dresser booking exemplar
Poor - A web enabled pizza ordering system
Better - An investigation into suggestive product
composition using a web based pizza ordering system
Better - Scheduling and load balancing for distributed JIT
production using a web based pizza ordering system
December 11 Web Enabled Databases 6
Your project proposal should have contained a
list of 3-5 major objectives of your project.
Objectives are tasks that require specific
activities and their completion will always result
in specific deliverables
e.g. literature/technology review,
December 11 Web Enabled Databases 7
Keep up to date
Project proposals are “work in progress”,
especially at the beginning of a project,
so update them when needed.
Remember when you do the evaluation,
to go through each of these objectives,
and comment on how successfully you
have achieved them.
December 11 Web Enabled Databases 8
Choose a software engineering methodology
and follow it, e.g. iterative prototyping
(this can be a helpful method since it allows you to
match your learning curve to the project by
implementing simple features first).
Make sure you produce good design
documentation (e.g. dataflow diagrams,
ERD’s, Use Cases, Sequence Diagrams).
December 11 Web Enabled Databases 9
A good project will aim to demonstrate a variety
of programming and design techniques,
It will avoid finishing with a number of screens
which in essence all do the same thing e.g. data
capture, data display.
Examples of extended functionality would be:
User logins and different access rights
Flexible user-controlled search mechanisms
Automation of business functions
Intelligence or analysis of data
December 11 Web Enabled Databases 10
Choice of service
A key decision is the choice of
business/service – try to use your own
interests or contacts; possibly some work
experience (e.g. online DJ booking service, or
a Somali poetry site).
You must have a specific focus – this is not
difficult as there are many examples on the
Web to help trigger your ideas.
Aim to choose an area that is distinctive. Use
some of your project time to work on this by
doing research and individual reading.
December 11 Web Enabled Databases 11
There are a large number of freely available open source
codes that implement standard web/e-commerce
applications such as
customer relation managers, content managers,
content syndicators, etc., etc.
There is absolutely no point in re-inventing or re-
implementing the wheel although wheels may be used in
Make sure that you reference open source material and
don’t forget to describe (your contribution) how you
selected, integrated and tested it.
December 11 Web Enabled Databases 12
the basics …
Go through the standard design
procedures for a relational database.
Research the business processes so
that a good detailed data model can be
The model needs to be normalised. This
is really important.
If your database has got obvious design
problems then you risk failure.
December 11 Web Enabled Databases 13
Review the choice of technologies and
sample some of the literature relating to
your project (try typing the project title
into Google Scholar, or the ACM
Refer to the Literature Review Lecture
for detailed guidance.
December 11 Web Enabled Databases 14
Decide how to implement the database –
Oracle, SQLServer, Access, MySQL;
Decide how to implement interaction with the
VBScript, SQL, ASP, PHP, XHTML etc.
These decisions should match your project
objectives as each choice of technology has
specific limitations/advantages and there is no
“one size fits all”.
Since this is a distributed application expect
some frustration with the implementation.
Some choices require more low level
programming than others.
December 11 Web Enabled Databases 15
Evaluate your project. You will find it
helpful to have read some general
articles on DBMS and the Web.
You can add value to your project work
by relating it carefully to specific issues
that came up in your research
user interface design,
Web service standards,
WebML, Web 3.0
usability, security, maintainability.
December 11 Web Enabled Databases 16
add a dash of pepper …
a computer science project should
include a non-trivial question of
professional or academic interest to
a business oriented degree project
should incorporate a critical evaluation of
a key business issue
December 11 Web Enabled Databases 17
High scoring features
A realistic data model; if you only have a
single many-to-many relationship to break
then it is far too simple and you have not
spent enough time thinking through the
ordering, booking, contracting,
making appointments, browsing data,
invoicing, submitting, registering ….
Your model should make a good attempt at
representing the semantic complexity of the
data (the practical outcome is usually a good
number, say 10, of carefully related tables in
December 11 Web Enabled Databases 18
Some interesting functionality via the Web
browser, requiring you to
write and test procedures of your own,
or to successfully integrate and extend any open
source code you have acquired
Typical examples might be
support for accessibility,
support for multiple client platform types,
use of MING or programmatically generated
shockwave, etc., etc.).
December 11 Web Enabled Databases 19
Some academic interest, in that you are
exploring or investigating an area or
application that is relatively recent or
novel and not simply a well trodden path.
e.g. (circa 2006)
semantic web, web ontologies, AJAX, rich
internet applications, accessibility, e-learning,
December 11 Web Enabled Databases 20
Either some extensive data gathering
activity e.g. interviewing specific people,
or researching specific markets (e.g. in
certain types of commercial websites,
Or a good literature survey in which
you have discussed a relevant topical
issue and related it to the project
development and evaluation.
December 11 Web Enabled Databases 21
A good project must integrate your
reading and research with a well
designed and featured implementation
that is properly evaluated
December 11 Web Enabled Databases 22