Group Proposal for "The Group Formerly Known as U"
Project Objective
The objective of our project is to design and implement a program that manages a fantasy football league. The league will consist of a number of "owners" who each have a team. The teams are made up of professional players whom the owners have drafted. The real life performance of the players on the team determine the success of the fantasy team. The reason such a program is needed is to eliminate the need for an individual to manually sort through dozens of box scores and compile the weekly statistics and season standings.
Specifications
The statistics will be downloaded weekly from the Espn web site. These stats will be in html format, so once they are downloaded, the files will be parsed, taking out the html code, to make them more useable and readable. From this file of total league stats, we will construct weekly statistics files for each team. Once this is done, we will compute the team standings by comparing the weekly team stats against each other. From these results, we will make a season standings file. This file will keep the standings from each week, so it will be continually updated as the season goes on. We will also develop a graphical user interface through which the owners can change rosters, designate starters, and check statistics.
Main Tasks for the Project
The main tasks for the project as we forsee them are:
- Retreiving the files from the ESPN site.
- Parsing the HMTL files so they are useable.
- Constructing the team, weekly standing, and season standing files.
- Constructing a useable interface.
- Write readable and informative documentation for all our classes.
- Create a useful and helpful product.
Responsibilities
Kevin: Retrieving and parsing.
Andrew: Compiling weekly and team stats.
Sunil: ???
Yu: ???
Classes and Objects
Objects:
- TeamRoster for each team
- TeamStats for each team
- LeagueStats
- WeeklyStats
Classes:
- RecordStats: retreives statistics from the web and parses the html files.
- Draft: assigns players to team rosters.
- CompileStats: computes the weekly stats and standings.
- Owner: facilitates the signing, trading, and releasing of players and marking the week's starters.
- * LeagueLeaders: computes the leaders for each week and shows them in a graphical representation.
- * DisplayHtml: creates html files from the statistics files so owners can view the league stats on the web.
* denotes extra things that we'll implement if we have time.
Group Roles
Andrew: Fantasy League specialist.
Kevin: Network and HTML specialist.
Sunil: ?
Yu: ?
Timetable
- Week 1: Formulate specific design and assign specific roles.
- Week 2: Coding, implementation, and documentation of parts.
- Week 3: Same as above.
- Week 4: Same as above.
- Week 5: Connecting the parts together.
- Week 6: Connecting the parts, designing the extras.
- Week 7: Finishing the extras and finishing up.
Potential Obsticles
The parsing of the html file could be tricky. Especially if ESPN changes the format of their site. Designing a user interface that's both useable and useful is also a challenge. We will have to meet often and be specific on how the parts are to work if we want them to fit together well when we construct the program as a whole in weeks 5 and 6.
Fallback Subproject
If our project doesn't go as smoothly as anticipated, we have something to fall back on. Our project will at least output the weekly team statistics files for each team. This will save a team owner a good deal of time by saving him from going through the box scores manually.
Project Extensions
If everything goes well and we have some extra time, we have a number of extensions we would like to add to our project. One would be the implementation of passwords for each owner so owners could not alter team rosters that do not belong to them. Another would be the generation of web pages that display the weekly and overall stats. One more thing would be an extension of our user interface that would display the weekly results in a graphical format. With such a graphical representation, an owner could follow trends and could more easily analyze his team's performance.
Kevin Notheis
Last modified: Thu Oct 16 21:04:30 CDT