Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Advice Required

Wealth-BuilderWealth-Builder Member Posts: 3
I am a final year student currently on a first and want to produce a quality project.

I have written my project spec (see below) but I would appreciate some advice regarding it's implementation, which languages would you suggest and why? Which DBMS would you recommend using and why?

Any comments or advice would be very welcome.

Project Specification

[b]1 Project Title[/b]

A Complaints and Suggestions system for Wortons Estate Agency

[b]2 Aim of the Project[/b]

The aim of the project is to design and build a web-based complaints and suggestions system for a local chain of estate agents. This will have an interface for customers, accessible through web browsers and terminals at the agents premises, for the input of complaints, compliments and suggestions (notifications) and an interface for management to produce reports and to respond to the notifications

[b]3 Background Information[/b]

The local agent, Wortons, has shops in Hatfield, Potters Bar, Brookmans Park, Welwyn Garden City and St. Albans. They advertise properties for sale and rent and specialise in the letting of properties to students. They provide the following services:

Survey and valuation of properties
Sale of properties, advertised in the shops, in newspapers and on the web
Management of rental properties on behalf of clients
Location of properties for clients to buy or rent
A special service to local students and to clients offering properties for student rental

Customers may be people looking to buy or rent a property, people with a property to sell or people with properties to let. When things go wrong they are not usually slow in complaining. Currently complaints are dealt with by staff at the individual agencies who write them onto a slip of paper and pass them on to the management team. There is a suggestions box at each agency (which people also use for complaints, but rarely compliments) but the box next to it containing the empty suggestions slips is often empty so customers have nothing to write on.

Management are keen to improve their customer services and would now like to implement a complaints and suggestions scheme on their web site which customers can access from a terminal in the reception area or from home. They propose to acknowledge all notifications within one working day either by email or post, with follow-up letters for complaints once they have been investigated and dealt with. Management would like to be able to report on the types of notification received and also the speed with which complaints are dealt with.

The system should have access to a database containing all the customers details and all notifications should be recorded in this database referenced by a client number assigned to the author.

[b]4 User Requirements[/b]

[b]4.1 The Customer Interface[/b]

Customers should have an easy way of accessing their details by entering their surname and postcode. There should be a facility for them to enter their details if they do not appear, as new customers may not yet be on the system.

Customers should have a free-text area to type in details of their notification. They should be encouraged to select from a list of types and sub-types the main description which applies to the notification.

If there is no recorded email address for the customer on file they will be asked if they want to input one.

Once the notification has been submitted the customer should be thanked for taking the trouble to communicate and told that an acknowledgement will be sent within one working day by email or post (if they dont have an email address)

[b]4.2 The Customer Service Interface[/b]

Submitted complaints are automatically entered into the database. Every day, the customer services manager (CSM) will analyse all notifications received. A list of the complaints should show on her system at login.

The CSM will select the notifications one at a time and may adjust the types allocated by the customer. She will decide if the notification is a complaint, compliment or suggestion and allocate the appropriate category. She will then choose an acknowledgement letter from a pre-defined list of Word documents the letter will be generated in Word with the customers name and address automatically entered. The acknowledgement will either be printed for posting or sent by email if the customer has an email address.

If the notification needs no further action, the CSM will mark it as resolved. If it needs further action she will allocate it to one of the team of Resolvers (i.e. people working at the different agencies), she will give it a turn-round date (a default has been agreed at 5 working days but this can be over-ridden) All notifications allocated to a Resolver will show on a list when s/he logs in. For each notification s/he should either:
Deal with it and contact the customer saying what has been done stored standard letters may be used for communications with members
Pass it on to another Resolver with a note of what action is required
If the Resolver considers the notification has been dealt with s/he should mark it as resolved.

Every action taken relating to a notification should be recorded in an Actions list in the database.

[b]4.3 The Reporting Interface[/b]

Management would like access to a number of standard reports:

All notifications by category and type
Outstanding notifications by category and type
Outstanding notifications by Resolver
A summary table showing numbers of complaints by type and sub type over a given period

[b]5 Project Tasks[/b]

In order to be considered for a pass at [b]Third Class Honours[/b] standard on this project, I must give evidence of having adequately attempted to:
Design and implement a database to store details of customers and notifications they have posted.
Design and partially implement a prototype web-based front-end for the Worton Estate Agency Complaints and Suggestions system
Enable notifications to be input via the web and stored in the database against the client number of the author (all new customers will be automatically allocated a client number)
Design and partially implement an interface for the customer services manager to view notifications, and record actions against them. The operator should be able to select the name of a standard letter from a pull-down list, but links to Word and email are not required for 3rd Class Hons. Standard and the letter templates do not need to be created.
Implement at least two of the required reports

In order to be considered for a pass at [b]Second Class Honours[/b] standard in addition to the above, I must give evidence of having adequately attempted to:

Provide automated links to Word and email from the customer services manager interface. A few template letters should be created to show how the customers details can be transferred into a Word document, however the content of the letters is not important and you do not need to create the full text of the replies.
Implement all of the required reports
Have produced interfaces which not only work but have robust error trapping and show due consideration of usability issues.

In order to be considered for a pass at [b]First Class Honours[/b] standard on this project, I must, in addition to the above, must also give evidence of having adequately attempted to:
Identify usability criteria for all aspects of the system and show how the design of the system meets these criteria
Evaluate the system with a number of users and comment critically (based on the evaluation) on the extent to which these criteria have been met.

[b]6 Project Deliverables[/b]

As appendices to the project report I am expected to provide
An entity relationship diagram and data dictionary for the final system
Documented program code
A full set of annotated screen shots

[b]Useful References[/b]

Recommended reference on evaluating the usability of software

[b]Other references on web design and usability[/b]

General Human Computer Interaction Texts:
Human Computer Interaction Dix, AJ. et al. Prentice-Hall 1998
Designing the User Interface, Shniederman, B. Addision Wesley 1998
Human Computer Interaction, Preece, J. et al Addision Wesley 1994
Usabiltity Inspection methods Nielsen, John Wiley & Sons 1994
Handbook on Usabiltiy Testing, Rubin J. John Wiley & Sons Ltd 1994
Interaction Design beyond human-computer interaction, Preece, J. et al John Wiley & Sons 2002


  • JonathanJonathan Member Posts: 2,914
    : I am a final year student currently on a first and want to produce a
    : quality project.
    : I have written my project spec (see below) but I would appreciate some
    : advice regarding it's implementation, which languages would you
    : suggest and why? Which DBMS would you recommend using and why?
    : Any comments or advice would be very welcome.
    I've built quite a few web systems that seem to be in line with what you're asking about. I use the Perl programming language and the MySQL database server.

    Perl has been used for web development for a long time and is a stable, mature language. It's extremely easy to use Perl to connect to a wide range of databases, and it has a very clean OO database layer. Validation is a key part of web development, particularly if security is your concern, and Perl has regular expressions as part of the langauge, making validation code easy to write. There may be some things Perl doesn't do for you that, say, PHP does, but given the way that PHP went about doing some of those things (*cough*autoglobals*cough*) I'd rather have the control to do them myself anyway. And that's write-once, use lots code. Or just use the pre-existing CGI module. As a language, it's very full-featured, with all the control structures you'd expect in a high level language, good OOP support and other fun stuff.

    MySQL does the job and does the job efficiently. It's pretty easy to work with. Admittedly, it does lack certain features, like stored procedures, triggers etc. If you need those, look to PostGre instead, perhaps.

    Hope this helps,


    (tr/yuiqwert/her anot/))for($::b);for($::c){$_.=$^X;
    /(p.{2}l)/;$_=$1}$::b=~/(..)$/;print("$::a$::b $::c hack$1.");

Sign In or Register to comment.