"The hardest part of building a software system is deciding precisely what to build." – Frederick Brooks.
Chapter 1. Purpose and Scope
Scroll down or click a link.
| 1a. | What is the overall scope and goal? What is our mission statement? |
|---|---|
| 1b. | Who are the Stakeholders? (Who cares if we build the system or not?) |
| 1c. | What topics are within our scope? What topics are out of scope? |
Chapter 2. Terms Used / Glossary
Chapter 3. Use Cases
| 3a. | The "actors" involved in the system under design |
|---|---|
| 3b. | The business use cases (operations concepts) |
| 3c. | The system use cases (development concepts) |
Chapter 4. The Technology Used
| 4a. | What technology requirements are there for this system? |
|---|---|
| 4b. | With what systems will this system interface? What are the interface requirements? |
Chapter 5. Other requirements
| 5a. | Development process |
|---|---|
| Q1. Who are the project participants? | |
| Q2. What values will be reflected? (Simple, soon, fast, or flexible?) | |
| Q3. What feedback or project visibility do the users and sponsors expect? | |
| Q4. What can we import? What must we build? What other systems have a similar scope? | |
| Q5. Under what other process requirements does the project operate? | |
| 5b. | Business Rules |
| 5c. | Performance |
| 5d. | Operations, security, documentation |
| 5e. | Use and usability |
| 5f. | Maintenance and portability |
| 5g. | Unresolved or deferred |
| The outline for this "plausible requirements" document was adapted from Writing Effective Use Cases |
Mission
(1a.) What is the overall scope and goal? What is our mission statement?
| Scope | Internet application that can be used to track a sports team, league or section. |
|---|---|
| Goal | Present detailed information about youth sports teams and atheletes, including scores, news, standings, and statistics. The presentation must be easy to navigate and available to the widest possible audience. In short, the appication provides the tools to create a local "ESPN.com" for a youth sports team, league, or section. |
| Mission Statement | The SportsForge software exists to fill the gaps of reporting on youth sports at a local and high school level. By providing information about youth sports teams, leagues or sections, we help bring communities, parents, and youth atheletes closer together. We encourage non-athlete students to become involved by providing the opportunity to conduct interviews and write stories to be publishd on a SportsForge website. |
Stakeholders
(1b.) Who are the Stakeholders? (Who cares if we build the system or not?)
| Stakeholder | Rationale |
|---|---|
| |
Topics
(1c.) What topics are within our scope? What topics are out of scope?
| In/Out of Scope | Topic |
|---|---|
| |
|
| |
|
| |
Glossary
(2.) Terms Used
| Section | One or multiple Leagues (Section 10, Section 3, Section 5) |
|---|---|
| League | Multiple teams in multiple sports (Fairport Baseball, Greece Baseball, Fairport Softball, Webster Softball, etc..) |
| Team | A school name or team name (Webster School or Wegman's in youth soccer league or something) |
| Sport | Specific sport like boys basketball, girls tennis, ... |
| Community League | One sport for one community or organization with multiple teams. |
Actors
(3a.) The "actors" involved in the system under design (stakeholder that triggers a use case)
| Actor | General goals | Straw User |
|---|---|---|
| Administrator | Sets up initial website and maintains overall control | Myra Fleener |
| Coach |
|
Norman Dale |
| Student Writer | Adds/Edits Stories to system for review by admin | Angelo Pizzo |
| Visitor | Browses site looking for latest high school sports info | Jane Anderson |
| Subscriber | Reviews changes to site via a RSS or Atom feed | Laurie White |
Business Use Cases
(3b.) The business use cases (operations concepts)
| Priority | Actor | Goal | Story or Brief | Issue ID |
|---|---|---|---|---|
| |
||||
| Student Writer | Register | Angelo Pizzo has browsed the SportsForge site several times, and he decides to register so that he can submit stories. Angelo selects the Register command from the SportsForge home page, and the system presents a form that asks for his Name, Username, Password, and email. Angelo submits the completed form, and the system presents a thank you page. From the thank you page, Angelo can choose to return to the Home page, Submit Article, or Preferences | |
|
| |
||||
| |
||||
| |
||||
| Student Writer | Submit Article | Registered users can submit stories for staff review prior to publication on the site. | |
|
| Administrator Login | |
|||
| Administrative Commands | |
|||
| Add Sport | |
|||
| Add Division | |
|||
| Add Class | |
|||
| Add Position | |
|||
| Add School | |
|||
| |
||||
| Add Game | |
|||
| Add Player | |
|||
| Administrator Update Score | |
|||
| |
||||
| |
||||
| |
||||
| View Latest News | SP-5 | |||
| View Player Stats | |
|||
| View Schedule Roster | |
|||
| View Leaderboard | |
|||
| |
||||
| Coach - Add Player | |
System Use Cases
(3c.) The system use cases (development concepts)
| Priority | Actor | Goal | Story or Brief | Issue ID |
|---|---|---|---|---|
| 1 | Setup PRIM Infrastructure | "Be Proactive." | |
|
| 1 | Define requirements and use cases | "Begin with the end in mind." | |
|
| 1 | Prioritize use cases into iterations | "First things first." | |
|
Technology
(4a.) What technology requirements are there for this system?
- Java API 1.5
- Servlet API 2.3
- HTTP 1.1
- HTML 4
- JavaScript/ECMAScript
- Struts 2
- MySQL 5 or equivalent
Systems
(4b.) With what systems will this system interface? What are the interface requirements?
- HTTP/HTML (web browsers)
- RSS and Atom (news feeds)
- SQL DBMS (MySQL)
Development process
(5a.) The development process outlines the nuts and bolts of the project.
Who are the project participants?
- Jeff Wellings
- Ted Husted
- Toby Jee
- Other interested parties
What values will be reflected? (Simple, soon, fast, or flexible?)
Simple and flexible.
What feedback or project visibility do the users and sponsors expect?
The project is expected to be transparent. All development decisions are expected to take place in public forums.
What can we import? What must we build? What other systems have a similar scope?
Import
- Linux or Windows
- Java 1.5
- Tomcat 5.5 Web Container
- Struts 2 Web MVC Framework
- iBATIS Data Access Framework
- MySQL Database System
- JUnit
- DbUnit

- Web testing solution
(e.g. Web Canoo, HostedQA
or maybe FITnesse
) - The original SectionXSports
codebase, migrated to Struts 2. - SectionXSports data schema
Build
- Requirements and use cases
- Struts configuration
- Server Pages (adapt from v1)
- iBATIS configuration
- Database queries (adapt from v1)
- Development database with realistic test data (have schema from v1)
- Unit tests against Action classes and database queries
- Integration tests against user interface (web browser)
Systems with a similar scope
- Club Express

- ESPN
"SportsForge is ESPN for youth sports." - eTeamz
(Working example
) - SectionXSports

- Youth and High School Web Sites

Under what other process requirements does the project operate?
Code and other intellectual property donated to SportsForge will be distributed under the Apache License
.
Business Rules
(5b.) ...
Performance
(5b.) ...
Operations, security, documentation
(5d.) ...
Use and usability
(5e.) ...
Maintenance and portability
(5f.) ...
Unresolved or deferred
(5g.) ...
