Professional Documents
Culture Documents
3. Coursework submitted more than two weeks late will be given feedback but a
grade of non-submission will be awarded regardless of any extenuating
circumstances. However, if your Extenuating Circumstances claim is accepted
then the Extenuating Circumstances Panel will recommend to the Progression
and Award Board that you be permitted to retake a different item of
assessment at a future assessment point.
You are to create an adult education web site. Visitors to the site will be able to
register as members and store personal information, images and upload their
assignments. Once they are registered they should be able to access learning material.
You are required to produce a web site that passes W3C XHTML 1.1 validation
using http://validator.w3.org
Your web site must pass at least the Priority 1 W3C web content accessibility
guidelines (using Bobby™ or WebXACT™).
Remember:
The site must run from the UNIX Apache web server stuweb.cms.gre.ac.uk and the
UNIX MySQL database server studb.cms.gre.ac.uk provided by the school.
DO NOT USE ANY LOCAL SERVERS
A few hints on how to start: First decide what information you need to capture in the
database and group/organise it accordingly. This is a critical task and you need to do
this before attempting any kind of database implementation. Then design the ERD
model of your database and the storyboard of the required web pages. Try to adhere to
the rule “simple is better” as this will allow a trouble free validation of your web
pages. Then try to identify what you can put in the CSS. Once that is done you can
implement the database and the required web pages and test that information can be
exchanged through the web pages with the database.
Functionality to be achieved
This is expressed as a number of levels. The level of functionality implemented in
your application will determine the maximum possible mark that you can achieve.
It is recommended that in designing your websites (and databases) you should allow
for all of the features to be implemented. In building the websites each level should be
attempted in increasing order. Starting with Level 1 you should incrementally enhance
your work to include the next level.
Visitors should be able to choose a username and password. The system must prevent
duplicate usernames being chosen. Newly created accounts should remain inactive
until they are verified by handshaking the email details (Level 3). Members may wish
to conceal their email address from other members to avoid spam.
Note: Remember that some characters (notably the apostrophe) can cause
problems with SQL strings. The staff passwords should ideally be stored in the
database in an encrypted format. Authentication credentials should be protected
from interception in transit.
Level 2: Authentication
Provide a login form that allows members to authenticate with the site using their
username and password. These credentials should be compared with the
information recorded in the database.
Note that you will need to initiate some form of session state to prevent unauthorised
access to further activity. New members will also need to verify their account details
(Level 3) before being allowed access to further activity with the site.
Note: This page must include PHP that denies access to users who have not
authenticated as a member using the form that you created in Level 2. Members
should only be required to verify their account the first time that they authenticate.
Note: Images may be stored as either files on the server or as records in the MySQL
database.
Level 6: Personalisation
Provide a means for members to be able to personalise the way in which their
information is shown in a browser. This may include choice of colours, font faces,
font sizes and so on.
Note: This could be implemented in a number of different ways. You could simply
alter the CSS or you could allow members to include markup in their stored
information.
Level 8: Report
A report (contents page, introduction, problem analysis, design considerations,
discussion, conclusion, references) describing your work as detailed in the following
section under ‘Deliverables’. This report should contain sufficient information to
allow another developer to understand and maintain your work. Your references
should adhere to the Harvard referencing system and they cannot be in the form of
“www.google.com” or “www.wikipedia.org”. Marks will be deducted for bad
references and poor report structure and content (including grammatical mistakes).
You MUST produce a report no matter what level of functionality you have achieved.
The main body of your report should be no less than five pages long and no more
than nine pages long (without the references or the appendix).
YOU MUST NOT PUT THE XHTML/CSS CODE, STORYBOARDS,
SITEMAPS, DESIGN DIAGRAMS, ERDS, TESTING PLANS IN THE MAIN
REPORT. PUT THESE IN THE APPENDIX.
In the main section of your report (discussion) you need to have at least the
following:
The main body of your report should be no less than five pages long and no more
than nine pages long (without the references or the appendix).
Server Details
To upload your website to the server you need to use an FTP client such as:
• Filezilla – free to download and use
• WinSCP – http://unix.cms.gre.ac.uk/software/mswindows.html#winscp,
and FTP the files to stuftp.cms.gre.ac.uk. The login name (userid) and password -
which will be unique for each one of you and must be kept secret- will be printed on
Once you upload all of your website files (remember that your website must be placed
in the public_html directory and that you don’t have to create it yourselves as this
directory is already there) you need to make sure that you have set the correct
permissions to access it from the Internet. These permissions are readable and
executable for the owner, group and everyone else. To set/change permissions of
directories and files in UNIX you use the chmod command and for that you need to
telnet to the UNIX server student.cms.gre.ac.uk (again the login name and password
will be provided by your centre). To telnet to the server it is recommended to use
putty which can be found at
http://unix.cms.gre.ac.uk/software/mswindows.html#putty.
The advantage of using putty over traditional telnet when connecting to the server is
that userid and password are encrypted.
In your PHP code you will need to use studb.cms.gre.ac.uk in the connection string
to achieve connectivity with the database server. Before you do that though, you will
have to create the database tables and relationships on the server. There are two ways
of creating a database: manually using the command line from within UNIX, or by
using the web interface. To use the command line you will have to telnet onto the
UNIX server student.cms.gre.ac.uk (again the login name and password will be
provided by your centre). Assuming that your username is ab001 you will need to
type mysql -h studb.cms.gre.ac.uk -u ab001 -p mdb_ab001 to connect to the
MYSQL server.
To use the web interface to create your database (this is easier!) visit
https://stumyadmin.cms.gre.ac.uk
(again the login name and password will be provided by your centre).
Grading Criteria
Assessment Criteria
• Have you achieved all the required functionality, or only some?
• How well have you achieved the functionality?
• Have you incorporated any features that were not explicitly included in the
requirements, but which add value to the site?
• Is the application easy to use? Is it obvious to the user at each stage what he/she
needs to do next?
• Are all messages to the user clear and unambiguous? Is the layout consistent,
attractive and easy to read?
• Is navigation though the application clear and straightforward?
• Does the application follow WAI accessibility guidelines?
• Is your application reliable? For example, if it crashes every time the user enters
invalid input you will lose marks. Faults that you admit to on your bug list (see
deliverables) will be looked on more sympathetically than those that are not
declared.
• Is your code of high quality? For example: inclusion of meaningful comments, use
of sensible naming standards (e.g. for variables, functions and files) and code
layout (e.g. indentation to make the structure clear).
• How many of your pages pass W3C XHTML validation?
• Does your application operate correctly on all required browsers? If any features fail
on a particular browser, does it fail gracefully, or simply crash?
• Have you used technologies in an appropriate manner? For example, is user data
validated on both the client and the server? The specification is intentionally open so
that you can decide to a certain extent how to implement each feature.
• Is the design flexible? Would it be easy for you or someone else to add to or amend
the application to support additional functionality?
• Are all the required sections included in the report and completed appropriately?
Is the report lengthy and verbose or is it concise but full of significant
information? Is the standard of English adequate?
• Your code does not run from the required web and database servers
The assessment sheets require a circle to be drawn around one or more of the
following criteria for each row on the sheet.
The difference between these six categories should be perfectly clear. You should
seek timely guidance from your tutor if you require clarification. Try where possible
to refine your assessment by perhaps circling two adjacent criteria. For example,
having decided that a level is good you circle ‘good’. Now think again, is this level
really very good, in which case you should also circle ‘excellent’. Perhaps the level is
good but there are some significant flaws, poor coding, poor XHTML, weak
validation or some such, in which case you should also circle ‘ok’. If you find
yourself wanting to circle ‘excellent’ then please read the specification document very
carefully, submit your page to validator.w3.org and WebXACT and consider what is
meant by “faultless”.
URL: ___________________________________________________
Student Use
Level 1 : User registration none poor weak ok good excellent
Adherence to good website design principles? none poor weak ok good excellent
Adherence to good software design principles? none poor weak ok good excellent
Final mark
Do you have any reason to suspect plagiarism in this work?
e.g. similarities with other student’s code or the student’s inability to explain their code Yes / No
adequately? If so please investigate thoroughly and complete and submit a plagiarism report.