The program must be able to perform the functions needed by a typical bowling league secretary. That is, be able to add, edit, and delete the following items; seasons, leagues, bowlers, teams, the schedule, lane assignments, scores, awards, and the treasury. The user will be able to prepare standard, and maybe custom reports as well as be able to view various information about these items on screen. Computation of statistics, averages, handicaps, team standings, etc. must be included. After entering the scores for a competition, the user will be notified if any bowler has become eligible for any awards.
At startup, there will be a splash screen while the program loads. After loading, the user will see several options on the program screen to add, edit, etc. the different items such as bowlers, leagues, teams, and scores. The options will become available when they have been loaded from data storage. The user will be able to interact with these options and their contents. The program should be capable of handling multiple leagues and multiple seasons. An option to backup the data should be provided, along with a way to update the program and its files as needed. It would also be nice if the program could be adapted to be used over the web. Naturally, internationalization considerations must be included since bowling is an international sport.