VSharp - Adventures in a Software Engineering Project


As a Computer Science student, one of the main portions of your course is made of a software engineering project. For each of the 4 years of the course you partake in a software engineering project and it's always interesting to see how the are handled from year to year. Some years the groups and projects have been predetermined, which put's a bit of a dampner on the subject in my eyes.

This year thankfully we were allowed to pick our own team, and a preset project was proposed for all the teams to do, a java Poker game. Not the most encouraging project for a 3rd year SE project I thought, but the lecturer decided to give a bit of lenience and decided that any team that could put together their own proposal for a project could undertake that project instead. Much better!

So what the hell is VSharp then!!

Well to quote the official project description,

The aim of VSharp is to create a customisable poll generation systems that will make it quick and easy for people to create polls for their website and to provide a featured rich environment for them to create, manage and view their polls and their results.

So in short it was an online poll system. The idea is to allow users to create an account with the site and to request a poll for their site. The system will then send the user generated code that they can place on any site they wish as a poll. The user can then view the results in the control panel.

This proved to be an intriguing a complex project. When we broke it down we realised there was quite a bit more to it then we had envisioned. We needed:

    A main website with user registration on user control panel
    A program that would generate the poll code and add the poll to the database
    A servlet that would listen for poll votes and record them
    A method to prevent spamming of the polls
    A program to calculate the results for the users polls
    A system to produce graphs of the users results
    A method of tracking where various votes came from to provide a geographical breakdown of votes

It took us as a team nearly 6 weeks to complete the project in it's entirety, and it proved to be a fantastic learning experience. We had to teach ourselves everything from Java Servlet programming to PHP scripting right through to API calls, JavaScript-ing and SQL. The least fun being the setting up and using of a Tomcat server.

You can see our team blog at www.vsharp.info and hopefully we will have a live version of the project up in the next few weeks.