- Core Servlets and JavaServer Pages, 2nd Edition: Volume 1 – Marty Hall & Larry Brown
- Beginning PHP5, Apache, MySQL web Development – Naramore, Gerner, Le Scouarnec, Stolz, Glass
- Build Your Own Database Driven Website Using PHP & MySQL
- Enterprise J2ME - Developing Mobile Java Applications, Prentice Hall
- Software Engineering: A Practitioner’s Approach 6th Edition, Roger S Pressman
- http://www.java-tips.org
- http://www.sun.com
- http://www.java2s.com
- http://www.netbeans.org
- http://www.w3schools.com
- http://www.phpbuilder.com
- http://www.roseindia.net
- http://www.php.net
- http://www.swish-db.com
- http://www.devx.com
- http://www.wirelessdevnet.com
- http://www.handicapmaster.org/
- http://www.pallasweb.com/color.html
- http://www.conniq.com
- http://www.webmasterworld.com
- http://www.bb-europe.com
- http://www.whatis.com
- http://www.wikipedia.org
- http://www.brsgolf.com
- http://www.teetimes.com
- http://www.milltowngolfclub.ie/onlinebooking/
- http://www.golfregistrations.com
- http://www.oobgolf.com
- http://http://www.testiphone.com/?scroll=off&url=http://www.smartscorecard.com/oobgolf/login.php?reset=true
- http://www.boards.ie
Golf-X
Sunday, January 29, 2012
Bibliography
Appendix
PHP
A scripting language originally designed for producing dynamic web pages. It has evolved to include a command line interface capability and can be used in standalone graphical applications
Java
An object-oriented programming language
JavaScript
A scripting language used to enable programmatic access to objects within other applications
MySQL
A relational database management system
JDBC (Java Database Connectivity)
An API for the Java programming language that defines how a client may access a database. It provides methods for querying and updating data in a database
Servlets
Java programming language objects that dynamically process requests and construct responses
Macros
A procedure that specifies how a certain input sequence should be mapped to an output sequence
HTML (HyperText Markup Language)
A markup language for web pages
CSS (Cascading Style Sheets)
A style sheet language used to describe the presentation of a document written in a markup language
J2ME (Java 2 Platform, Micro Edition)
A specification of a subset of the Java platform aimed at providing a certified collection of Java APIs for the development of software for small devices
MIDlet
A Java application framework for the Mobile Information Device Profile (MIDP)
CLDC (Connected Limited Device Configuration)
A specification of a framework for Java ME applications targeted at devices with very limited resources such as PDAs and mobile phones
MIDP (Mobile Information Device Profile)
A specification published for the use of Java on embedded devices such as mobile phones and PDAs
Par
A scoring system used in most amateur golf clubs
Index
Each hole has an index. 1 for the hardest, 2 for the next hardest, and so on
SSS (Standard Scratch Scoring)
A baseline for how the course plays in practice. Used in the calculation of handicaps
Handicap
A numerical measure of an amateur golfer's playing ability based on the tees played for a given course
Category
Golfers are divided into 4 categories, depending on their handicap
Front 9
Score of first nine holes on a golf course
Back 9
Score of last nine holes on a golf course
Meeting Summary
05/11/08
Initial project proposal discussed. Objectives had to be rewritten. Asked to research connectivity from PC to Mobile device and what systems are already available.
19/11/08
Connectivity research discussed and needed to be expanded. Asked for project plan, user requirements and use-case design. Asked to research existing systems, the need for the system, booking via a mobile device and the authenticity of scorecards that are sent via mobile device.
28/11/08
Connectivity research discussed. Asked for more research into existing systems.
05/12/08
Project plan discussed and needed to be extended. Research documentation was discussed and what needed to be included.
15/12/08
Discussed the non-functional requirements, the UI and the Methodology of the project.
Finalised the documentation of the research phase.
19/12/08
Submitted research phase and presentation.
13/02/09
Asked for a database design, risk assessment for the mobile application, class diagrams and to have to simple mobile application working.
20/02/09
Discussed the website and agreed that it had to look well and be well designed. Discussed the risk assessment and mobile application. Asked to revise the project plan.
06/03/09
Asked to update the project plan, revise the mobile application, revise the database design and class diagram. Also, have a servlet set up for sending the scores via mobile device. Asked to check firewall issues.
20/03/09
Asked for documentation outline. Asked to review the web UI and get an outside opinion. Look at the download option. Asked to finish the servlet.
27/03/09
Asked to get the Update Handicaps functionality working. Alter functionality of events so user can view them by month. Test mobile application on few other mobile devices.
03/04/09
Asked to finish of all coding of the website and mobile application in couple of weeks. Start on testing and documentation.
29/04/09
Discussed what to include in the documentation and what to include on the CD. Discussed the implementation for the documentation. Discussed presentation dates and times.
06/05/09
Submitted Implementation Phase.
Future Enhancements
During the course of this work I met some unexpected problems which delayed my work progress and meant that I was unable to deliver on all of the intended parts of the system. I also identified some other key areas that could be improved on, but due to the time constraints I was unable to do so.
Develop the mobile application fully including adding a colourful GUI and design it to be user friendly. At the moment, the user can’t enter one score and save it, the application has to be kept open, which is awkward while playing a round of golf.
Use Canvases instead of Forms, Lists and Textboxes as the GUI for the Mobile application.
This would result in a more professional looking GUI for the application. Most applications on phones do not use the basic J2ME GUI but use some sort of Canvas or similar custom feature. The use of Canvases is a well documented area in J2ME and would be very possible to implement.
Use XML as the method for passing data between the Client Mobile device and the Server. Initially, the application of XML was not fully comprehended, but near the end of the project lifecycle some material was found that showed how XML worked and how it could be implemented in J2ME.
Although XML is still in development for J2ME, there are open source and commercially available XML parsers available for use on mobile devices such as kXML or NanoXML ranging from 6 KB to 14 KB in size.
In the website application, have an option for a greens keeper to log onto the system and have a function to post messages for all users to see. This wasn’t included in the project proposal, but it was recommended that it should try to be incorporated it into the system. Due to time constraints, this was not possible.
In the website application, have an option for an administrator to send text messages to users regarding events and closing of the club. This was in the project proposal, but due to time constraints, it was not possible to get this function working and it was not included in the application. Currently, there is an option where the administrator can send an e-mail, but not everyone would check their e-mails regularly so the text option would be better.
In the website application, develop the ‘Print Scorecard’ option. The application has an option to get a scorecard where the scorecard is downloaded and then the user has to input it to an Excel document. There is a lot to do here for the user and if there was an option just to print a scorecard straight from the website it would be a lot more straightforward for the user.
In the website application, set the ‘Update Handicap’ option to automatically update the handicaps on the last day of every month. Currently, the administrator has to do this.
In the website application, develop an option for users to sign up to the golf club and pay their Membership Fees through the website. Currently, anyone could use this site, as it is implemented for multiple clubs.
Conclusion
Overall, the end product that has been designed and developed for this project is quite satisfactory. Although not all of the specified targets have been met, the targets that have been delivered on are of a high standard.
Through the areas of research, design and implementation, some valuable lessons have been learnt in development of web sites and mobile applications, from research right through to documenting findings and investigations into areas.
In hindsight, if this project was undertaken again, there would be some changes in the approach to the project. First off, the focus would be on one area until complete rather than splitting the time and effort between two (Mobile and Web-Site). Although the end result of the system is of a high standard, focusing on one area would have delivered a better application. Secondly, during the course of designing the system, the opinion of someone working in the domain that the application is intended for would be sought. There were features that would prove useful in the system that were only realised near the end of the project development, had they been realised earlier they could have been implemented or catered for, for some future development.
UI Testing
As most of the testing was done using Mozilla Firefox, other web browsers had to be checked to see if the they produced the same layout as Mozilla Firefox, which can be seen below.
Mozilla Firefox
One web browser that was checked was Internet Explorer. The testing done here was to check if the layout of the pages displayed on Mozilla Firefox were the same on Internet Explorer. The index page, as can be seen below, has the same layout. Many other pages had the same layout, except for one or two, mainly ones that have many buttons on the page, such as the Events page.
Internet Explorer
The next web browser that was checked was Google Chrome. Again, the testing done here was to check if the layout of the pages displayed on Mozilla Firefox were the same on Google Chrome. As expected, every page produced the same layout.
Google Chrome
However, due to testing done on the user interface, it is clear that the layout of the pages produced won’t always be the same and this has to be incorporated in when designing and implementing the website.
Testing
1. User on the Online System
- 1.1 Register on the System
- 1.2 Log On/Off
- 1.3 View Homepage
- 1.4 View Scorecards
- 1.4.1 Add Scorecard
- 1.4.2 Get & Print Scorecard
- 1.5 Book Tee-off Times
- 1.5.1 View Your Bookings
- 1.5.2 Delete Your Bookings
- 1.6 View All Events
- 1.6.1 View Events by Month
- 1.6.2 Sign Up to Event
- 1.6.3 View Events you have Signed Up to
- 1.7 Access Help Files
- 1.8 Download Mobile Application
2. User on the Mobile Application
- 2.1 Send Scorecard
3. Administrator
- 3.1 Log On/Off
- 3.2 Course Maintenance
- 3.2.1 Add a New Course
- 3.2.2 Alter an Existing Course
- 3.2.3 View Tee-off Times
- 3.2.4 Book Tee-off Times
- 3.2.5 Add a New Administrator
- 3.3 Events Maintenance
- 3.3.1 Add a New Event
- 3.3.2 Alter an Existing Event
- 3.4 Email Users
- 3.5 Update Handicaps
- 3.6 View All Members Rankings
- 3.6.1 View Rankings by Gender
- 3.6.2 View Rankings by Category
- 3.7 View All Live Feed of Scores
- 3.7.1 View Scores by Month
- 3.7.2 View Scores by Current Day
- 3.8 Access Help File