Lab 2 – Topspin Product Specification
James Crusenberry Old Dominion University
CS411W Janet Brunelle March 27, 2019
Version 1
Table of Contents
1. Introduction ...3
1.1 Purpose ...3
1.2 Scope ...4
1.3 Definitions, Acronyms, and Abbreviations ...8
1.4 References ...9
Tables of Figures Figure 1. Software web interface currently utilized by ODU’s men’s tennis team ...5
Table 1. Comparison of the functionalities of the real-world product and the prototype ...6
Lab 1 – Topspin Product Specification Outline
1. Introduction
The importance of sports and their influences on societies have been demonstrated by their widespread prevalence throughout history and among cultures. Tennis, in particular, is one of the most popular sports in the world. Supported by an estimated fanbase of 1 billion
individuals, Tennis is currently the fourth most popular sport globally (Kessler, 2018).
Tennis is played by a wide variety of groups ranging from casual groups of friends to professional teams. Professional tennis teams typically have higher levels of funding than non- professional teams, giving them access to tools such as software products that non-professional teams may not be able to afford. If amateur teams are unable to acquire the tools they need, they will have a harder time conveying important information to their fans. Although other software solutions have been created in attempts to solve this issue, most of them fail to provide teams with functionalities that relay relevant information to fans in real-time.
1.1 Purpose
Topspin is a mobile application and a website designed in Fall 2018 by Old Dominion University’s CS410 Red Group which is comprised of Joseph Watson, Chantal Murdock, Brett Simpson, Edwin Ordona, James Crusenberry, Sharell Gilchrist, Adam Wilson, and Evan
O’Sullivan. The purpose of Topspin is to provide amateur tennis teams with a license-free digital method of relaying information about the team and the games they are participating in in real-
time to their fans and families. The focus of Topspin’s design is on the customizable real-time notifications that provide fans with immediate access to the most-recently updated scores during tennis matches. The software is neither designed nor intended to be used as a replacement for any official scorekeeping procedure employed by a university or professional institution.
Topspin is intended to be used by tennis teams that lack the funding to invest in more- costly software solutions. Although Topspin can be used by any amateur tennis team, the
targeted demographic for the prototype is university tennis teams that do not have a budget large enough to accommodate the expenses associated with software licenses. Topspin is license-free and does not require administrators or client users to make any purchase to utilize the Topspin software package.
1.2 Scope
Topspin is being developed for the men’s tennis team of Old Dominion University at the request of head coach Dominik Mueller. The team’s current software solution lacks several of the features that Mr. Mueller desires. Figure 1 gives an example of how match information is being presented by the current software.
Figure 1. Software web interface currently utilized by ODU’s men’s tennis team
The current software solution, Live Stats, generates reports based on user input that displays the names of the players, the university affiliations of the players, the number of sets won by each player, the winner of each match, the number of matches won by a university, and the date of the matches. At any given time, only the last recorded match is displayed on the team’s website. All the previous matches are relegated to typed recaps of the scores. Live Stats does not provide the team with a way to instantly distribute score updates to their fans due to the lack of real-time notifications. If the design of Topspin is given a complete implementation, the resulting real-world product will satisfy all of the requirements that Mr. Mueller has specified.
The prototype of Topspin is designed to demonstrate that the core functionalities of the real-world product can be implemented in a manner that fulfils the needs of the identified user roles. The core functionalities of the real-world product and its prototype are the live score entry,
customizable notifications, team roster management, and feedback submission. As a result, the prototype will implement all the functionalities that are required for the implementation of those core functionalities. Some of the functionalities that are not required for the implementation of the core functionalities will either not be implemented at all in the prototype, only partially implemented in the prototype, or only implemented in the prototype if there is enough time left.
The prototype design also contains match simulation and notification simulation functionalities that are not present in the design of the real-world product. Table 1 gives a detailed comparison of the functionalities present in the real-world product, the prototype, or both.
Version 1.2
Software Functionality / Capability RWP Prototype (PC/Website App)
Prototype (Android App) Features Basic Live Scoring
Tennis scoring system in compliance with college rulesets provided by the ODU Men’s Tennis
Team.
Full Full Full
Offline Scoring
Allow scorers to score matches without internet; allow matches to
be synced online later. Full Partial Partial
Adjustable Match
Format Allow for customizable matches. Full Eliminated Eliminated
Live-Stream Capability
Embed live-streamed matches if proper equipment is available
through external APIs (i.e.
facebook live, youtube)
Full Time
Permitting
Time Permitting
Basic Match Information
Standard information for each match (Player Names, Teams, Score, Coach Names, Umpire Name, Scorer/Volunteer Names,
Match Start/End).
Full Full Full
Supplemental Match Information
Additional information pulled from external APIs or manually entered
for each match (Location, Weather, Court Type).
Full Partial Partial
Match Simulations
Allow testers to run match simulations to test app
functionality.
Eliminated Full Full
Notification Simulations
Allow testers to run fake events to trigger notifications to test app
functionality.
Eliminated Full Full
Submit Feedback
Allow all users to submit feedback about the app (comments or bug
reports).
Full Full Full
Volunteer System
Allow admins/super admins to promote or demote users to/from
volunteer scorers. Full Time
Permitting
Time Permitting
Volunteer Assignments
Assign volunteers to matches (automatically via algorithm or
manually).
Full Time
Permitting
Time Permitting
Volunteer Notifications
Allow notifications relating to their assigned matches be sent to
volunteers
Full Time
Permitting
Time Permitting
Player Profile
Access basic information pertaining to selected player
(Name, Bio, Statistics).
Full Full Full
Player Profile Extensive History
Access all matches played by the player and available video links if
any.
Full Eliminated Eliminated
Player Profile Entry
& Manipulation
Allow admins/super admins to create/delete/edit new player
profiles for each player.
Full Full Full
Roster View Allow users to view roster of any
team. Full Partial Partial
User Tutorials Written & Visual In-app tutorials
detailing app functionality. Full
Written Only (Visual Time
Permitting)
Written Only (Visual Time
Permitting)
Event Calendar Calendar listing events inputted by
administrator. Full Full Full
Manual Event Entry &
Manipulation
Enter in events into calendar &
edit/remove existing events. Full Full Full
Automatic Event Entry
Scrub information from a file or
webpage to populate schedule Full Eliminated Eliminated
Account Creation Allow new users to create a new
account. Full Full Full
Google/Facebook Account Integration
Allow users to create an account using existing Google or Facebook
accounts
Full Eliminated Eliminated
Change Roles Allow super admins to freely
change roles of users. Full Full Full
Delete Users Allow super admins to delete
users and associated data. Full Full Full
Track Players Allow users to track / untrack
specific players. Full Full Full
App Notifications
Send notifications to app users;
Customize notification frequency and event types.
Full Partial Partial
External Notifications
Send text/email notifications to
users. Full Partial Partial
Database Store User Accounts
Allow user information to be
stored in database. Full Full Full
Store Player Profiles
Allow player information to be
stored in database. Full Full Full
Event Storage
Store events
(completed/upcoming) to allow for historical reviews or event
preparation.
Full Partial Partial
Feedback Collection
Store feedback submitted by user in database accessible by super
admins.
Full Full Full
Table 1. Comparison of the functionalities of the real-world product and the prototype
1.3 Definitions, Acronyms, and Abbreviations
[Super] Administrator: IT support; Oversees smooth operation of the database and solves user issues.
Administrator: Person responsible for setting up events and approving/selecting volunteers.
CSS: Cascading Style Sheets; used to stylize webpages.
Dual Match: College rule set format for two teams that consist of six singles matches and three doubles matches; synonymous with event.
Event: A collection of tennis matches to be played on a given date.
Fan: End users of Topspin that will utilize the application to receive match information and notifications in real-time.
Game: The next subdivision above a point (a game is won when a player reaches 4 points or leads by two points if both players have at least 3 points).
Guest: Initial role for users who have not created an account on Topspin.
HTML: Hypertext Markup Language; standard computer language typically used to create web pages and web applications.
Javascript: Object-oriented language used to create dynamic, interactive effects on webpages.
Match: The default singles match format is played in best-of-three sets with the third set being a tiebreaker set and the default doubles match format is played in one set first to six games with at least a two game advantage (an additional tiebreaker will be played if both teams win six games).
MySQL: A relational database management system based on SQL.
PHP: Hypertext Preprocessor; server-side scripting language typically used to collect form data.
Point: The smallest subdivision of a score (1 point = 15, 2 points = 30, 3 points = 40).
Set: The next subdivision above a game (6-7 games required to win a set).
SMS: Short message service; the protocol used by cellular devices to transmit text messages.
SQL: Structured Query Language; ; computer language for relational database management.
Tester: Topspin beta testers; users of the application in its prototype phase who will provide feedback on their experience.
Volunteer: Volunteer scorekeepers who will enter match info into the application as it occurs courtside (Ex. player A scores a point).
1.4 References
Team Red. (2019, March 19). Lab 1 - Topspin Product Description. Retrieved March 19, 2019 from https://www.cs.odu.edu/~411red.
Kessler, M. (2018). Ranking The Most Popular Sports In The World. Retrieved February 18, 2018, from The 18 site: https://the18.com/soccer-entertainment/most-popular-sports-in- the-world.