1. Introduction
1.2 Problem Statement
At University, many students decide to join a sports club during their studies and most of the clubs play their matches on a Wednesday afternoon. For example, the Women’s rugby team at Southampton University has two teams a 1s XV and a 2s XV, and it is usual for both teams to be in action either home or away every Wednesday. As a result, it is important that the running and selection of the teams is efficient and effective but at the moment there is no shared system in place that allows students to find out about events such as training schedules and matches or to track attendance etc.
The goal for the club is to make it easy for new members to get involved and for club captains and coaches to ensure that every player that has shown commitment gets the opportunity to play. Unfortunately, due to the complexity of the tracking and scheduling required, this goal is often missed. This is very frustrating for everyone, particularly as it consumes a lot of time and energy that could be better directed at other priorities.
1.3 Motivation
I have been member of the Women’s Rugby Club for the past four years and on the committee for two years, but I have had a passion for rugby since childhood. Over the years I have become more and more involved in the club and come to understand how it runs and its strengths and weaknesses. Like many clubs, managing everything on an informal basis leads to problems, so I thought improving the team selection process would be of the most immediate benefit to the club given my skill.
1.4 Goals
My goal is to develop a Team Management and Selection system that will deliver a better user experience for members, committee, coaches and captains; which in turn will help improve the process and address some of the current frustrations.
1.5 Aims
In this project I aim to plan, design and implement a fully functional web application that will allow the Women’s Rugby Club to improve member satisfaction in the team selection process and the general organisation of the team.
I also aim to develop and acquire knowledge as required when building the application as I intend to build a front-end and back-end to the application and deliver an engaging user experience (UX) development [4].
1.6 Objectives
In order for me to achieve the aims I have identified and overall project goals, it is important to set a few realistic objectives. Those objectives are:
• Project schedule: I intend to ensure the project remains on track for completion in the limited time frame by using Gantt charts and increment planning.
• Requirements: I intend to ensure that all the problems are identifies and scheduled for completion based on priority using system analysis techniques.
• Design: I intend to deliver an engaging user experience by placing significant emphasis on the design of the user interface.
• Technologies: I intend to identify the optimal technologies with which to build the system and anticipate using technologies such as PHP and Laravel for the backend and HTML/JavaScript/CSS/Bootstrap for the front-end. However, this is only an initial guide and it is possible that during the building I may add or remove certain technologies dependent on my project requirement.
1.7 Scope and system boundaries
In order to achieve my goal for the project I will be designing, planning and implementing a web application that will:
– Keep a record of those who attend training
– Improve the team selection process
– Publish team lists in advance of the game
– Facilitate lookup of the training and game schedule for the team
– Notifications to members of matches and training
– Admin and members will have different access rights to the system
– Each new member needs to be verified before access to system
At the moment, the application will not replace the current forms of communication, it will also not include any membership management nor will it handle any payments. This is because all payments are now going directly though the University rather than through the club. Also, despite the membership system having its faults, it works. However the team selection process needs significant improvement.
1.8 Project constraints
In order for the project to run smoothly and efficiently it is important to address project constraints that apply. Some of the current constraints include funding of the project; currently the University issues £150 per person to cover the costs but this should not affect me as I do not anticipate any significant project costs at this point.. Another constraint is the support for multiple languages; currently the only language that will be available will be English however it is possible that other languages may be supported later. Finally, the scale and complexity of the system is another project constraint. The reasoning for this is that if the system is too large and complex, it would be impossible to implement in the short time period we have available.
2. Background research
This section of the report will provide an overview of similar web applications that are already available to the general public, plus all of the technologies and tools I plan to use throughout the course of the project.
2.1 Similar Applications
At the moment there a number of applications that have similar functionality to my application, all of which have some positives and negatives. On the scheduling side of things, there are various applications that are publicly available to manage schedules for example, Google Calendar. Google Calendar is a great piece of scheduling software as it allows users to suggest times, invite participants, auto-decline events and [13]. Google Calendar provides a simple user interface and the application is free to use which makes it an ideal scheduling application [13].
Another application that is very similar to my project is Teamstuff. This is a web application that was created by a team based in Melbourne, Australia. There moto is that ‘We love sport. We love software. We love families. Mix together; then add cloud, JavaScript and a whole lot of blood, sweat and tears – you get teamstuff.com’[12]. Teamstuff is mainly targeted at players, parents and coaches to help manage a child’s team through schedules, availability, photos and payments. Although, of all of the great features that they mention on their website, this application is currently only aimed at organising the sports schedule of a younger demographic rather than my application which is aimed specifically at University students.
2.2 Technology and Tools
As a result of the problem analysis performed so far I have decided on the following tools and technologies to support my application.
2.2.1 HTML
Hypertext Markup Language (HTML), is used to display content on the web. HTML is usually used in conjunction with Cascading Style Sheets (CSS) and JavaScript to support web applications. HTML was first made public in late 1991, in a document published by Tim Berners Lee called “HTML Tags” [14]. HTML documents are delivered from web servers to end users by the Hypertext Transfer Protocol (HTTP).
2.2.2 CSS
Cascading Style Sheets (CSS) is a styling language that is used to format the appearance of a HTML document on the World Wide Web. CSS allows a web page to have variations in formatting and layout for different devices and screen sizes [15].
2.2.3 JavaScript
JavaScript is an important language as it dynamically manipulates CSS and HTML [10]. In addition to the JavaScript, throughout the project I will be using the Bootstrap framework [16] which is an open source technology designed specifically used for developing CSS, HTML and JavaScript web based applications.
2.2.4 PHP
PHP: Hypertext Preprocessor (PHP) is a server side scripting language that was designed and intended for use in web development. In order to use PHP code, it may be embedded into HTML code but it can also be used with other web template systems or frameworks, such as Laravel [17].
2.2.5 Laravel Framework
The Laravel framework is an open source PHP framework, which is considered to be one of the most popular PHP frameworks currently available [18]. Laravel was created by Taylor Otwell in order to try and provide a more advanced alternative framework to the tools that are currently on offer. On June 9, 2011, Taylor Otwell created the first beta version of Laravel, which was swiftly released to the public [19].
2.2.6 SQL database
Structured Query Language (SQL), originally called SEQUEL by its creators at IBM, is a specific language used in programming for handling data held in a relational database management system (RDBMS) [20]. Within SQL, it can handle data queries, data manipulation, data definition and data access control.
3. System Analysis
In this section, I describe the system analysis of the project. This focuses on the stakeholders analysis, creating personas based on the stakeholder analysis, forming user stories, and undertaking a risk analysis. Additionally, I have also identified the functional and non-functional requirements of the system.
3.1 Stakeholder Analysis
Stakeholders are a person, group or organisation who has an interest in the system at hand. The stakeholders can affect or be affected by the project team’s actions, objectives and policies [5]. There are a number of different types of stakeholders that make a difference to the system. Primary stakeholders are ultimately the most affected stakeholder who can either positively or negatively affect the system. Next are secondary stakeholders, they are the ones who are indirectly affected by the system. Finally there are tertiary stakeholders, who are impacted by the system the least [1].