Professional Documents
Culture Documents
0
Document Version 1.0
February 7, 2011
Page ii
Table of Contents
Table of Contents .......................................................................................................................... ii Revision History ........................................................................................................................... iii 1. Introduction ............................................................................................................................. 1
1.1 1.2 1.3 2.1 2.2 2.3 2.4 2.5 2.6 3.1 3.2 3.3 3.4 3.5 3.6 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 5.1 5.2 5.3 5.4 6.1 6.2 6.3 6.4 7.1 7.2 7.3 Purpose......................................................................................................................................... 1 Project Scope and Product Features ............................................................................................. 1 References .................................................................................................................................... 1 Product Perspective...................................................................................................................... 2 User Classes and Characteristics ................................................................................................. 2 Operating Environment................................................................................................................ 2 Design and Implementation Constraints ...................................................................................... 3 User Documentation .................................................................................................................... 3 Assumptions and Dependencies .................................................................................................. 3 Authenticate Users Identity or New User ................................................................................... 5 Manage My Account.................................................................................................................... 5 Register for a Session................................................................................................................... 7 Roster ........................................................................................................................................... 7 Administration by Coach ............................................................................................................. 8 Administration by League Manager ............................................................................................ 9 Use Case Name: New User Account Creation / Authenticate User Identity ............................. 12 Use Case Name: Manage My Account ...................................................................................... 14 Use Case Name: Register for a Session ..................................................................................... 16 Use Case Name: Roster ............................................................................................................. 18 Use Case Name: Administration by Coach................................................................................ 20 Use Case Name: Admin League Manager Create User ....................................................... 21 Use Case Name: Admin League Manager Review / Edit / Delete User .............................. 23 Use Case Name: Admin League Manager Create a Registration Session ........................... 25 Use Case Name: Admin League Manager Review / Edit / Delete Session ......................... 27 Use Case Name: Admin League Manager Review / Edit / Delete Session ......................... 29 Use Case Name: Admin League Manager Review / Edit Teams ........................................ 31 Use Case Name: Admin League Manager Customize Welcome Page ................................ 33 Use Case Name: Logout ............................................................................................................ 34 High Level Activities using SLMS for a Normal Soccer Registration Phase............................ 35 User Interfaces ........................................................................................................................... 37 Hardware Interfaces ................................................................................................................... 37 Software Interfaces .................................................................................................................... 37 Communications Interfaces ....................................................................................................... 37 Performance Requirements ........................................................................................................ 37 Safety Requirements .................................................................................................................. 38 Security Requirements ............................................................................................................... 38 Software Quality Attributes ....................................................................................................... 38 Desired Requirements for Future Releases: ............................................................................... 38 Optional Requirements for Future Releases: ............................................................................. 38 Hardware Evolution Changes: ................................................................................................... 39
Page iii
9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 9.10 9.11 9.12 9.13 9.14
New User Page........................................................................................................................... 44 My Account Page....................................................................................................................... 45 Register Page ............................................................................................................................. 46 Roster Page ................................................................................................................................ 47 Admin - Coach Page .................................................................................................................. 48 Admin League Manager Page ................................................................................................. 49 Create User Page ........................................................................................................................ 50 Edit / Delete User Page .............................................................................................................. 51 Create Session Page ................................................................................................................... 52 Review / Edit / Delete Session Page .......................................................................................... 53 Auto Populate Teams Page ........................................................................................................ 54 Review / Edit Teams Page ......................................................................................................... 55 Customize Welcome Page ......................................................................................................... 56
Revision History
Name Kent Etling Date 2/7/2011 Reason For Changes Original version Document template is from a website referenced in the class text book Wiegers (2011). Version 1.0
Page 1
1. Introduction
1.1 Purpose
This Software Requirements Specification (SRS) describes the software functional and nonfunctional requirements for release 1.0 of the Soccer League Management System (SLMS). This document is intended to be used by the members of the project team that will implement and verify the correct functioning of the system. Unless otherwise noted, all requirements specified here are to be considered as high priority and committed for release 1.0.
1.3 References
Farlex, Inc. (2011). The Free Dictionary. Retrieved February 4, 2011, from The Free Dictionary: http://www.thefreedictionary.com Pressman, R. S. (2010). Software Engineering. New York: McGraw Hill. Wiegers, K. E. (2011, February 1). Requirements Engineering. Retrieved January 15, 2011, from Process Impact: http://www.processimpact.com/process_assets
Page 2
2. Overall Description
2.1 Product Perspective
The Soccer League Management System is a new software application for a recreational soccer league that allows the league to replace their current manual process of completing a paper player registration form, matching players to teams, and producing team rosters. The current process requires a lot of time and effort and the new process should dramatically reduce those as well as improve the accuracy of the data since the users will directly enter their information. The system is expected to evolve over several releases and the customer may eventually market the application or offer it as an application service provider (ASP).
Coach
League Manager
Page 3
OE-2: OE-3:
The Soccer League Management System shall operate on a server with Windows Server 2008 operating system. The Soccer League Management System shall permit user access from an Internet connection.
CO-2:
Page 4
Figure 1- High Level Use Case Diagram for the Soccer League Management System
Page 5
3.1.2
3.1.3
Page 6
3.2.3
Functional Requirements MyAccount.UserIDNumber: The system shall display the accounts unique User ID Number. MyAccount.EmailAddr: The system shall display and prompt for the users email address which will be used as their login username and verify the email address is unique to this account. Required Field. MyAccount.Password.Nonvisible: The system shall display asterisks instead of the actual characters for a password. Required Field. MyAccount.Password.MinSize: The system shall require passwords to be a minimum of seven characters. Required Field. MyAccount.FirstName: The system shall display and prompt for users first name. Required Field. MyAccount.LastName: The system shall display and prompt for users last name. Required Field. MyAccount.MiddleName: The system shall display and prompt for users middle name or initial. Optional Field. MyAccount.PhoneNumber: The system shall display and prompt for users phone number. Required Field. MyAccount.Address: The system shall display and prompt for the users street number and street address. Required Field. MyAccount.City: The system shall display and prompt for the users city address. Required Field. MyAccount.State: The system shall display and prompt for the users state address. Required Field. MyAccount.Zip: The system shall display and prompt for the users zip address information. Required Field. MyAccount.Birthdate: The system shall display and prompt for the users birth date including month, day and year. Required Field. MyAccount.Birthdate18: The system shall only allow player who are 18 and above to register for sessions. MyAccount.Experience: The system shall display and prompt for the players highest soccer past experience with choices of 1) College, 2) High School, 3) Recreation League, or 4) None. Required Field. MyAccount.Position: The system shall display and prompt for the users positions they have played (total of three) and list them in preference order where number one is the most preferred position. Positions include: full back, half back, forward, goalie, or none. Required Field. MyAccount.Save: The system shall provide a Save button so that the user can save the information they entered. Required Field. MyAccount.Access: The system shall limit access to the My Account information (except password) to the users themselves, the coach that has that player on their team, and the league managers. MyAccount.UpdateTiming: The system shall allow players to make changes to their My Account information at any time, but the changes will not go into effect until they register for the next season, the one coming up. Then the changes will go into effect and they will be placed on the team according to the update data or have the correct contact info.
Copyright 2011 by Kent Etling. All Rights Reserved.
Page 7
3.3.2
3.3.3
3.4 Roster
3.4.1 3.4.2 Description and Priority A user may request to view, print, or email a roster. Priority = High. Stimulus/Response Sequences Stimulus: User wants to view a roster. Response: System prompts for session name, level/division, and team, and then displays the information on the web page. Stimulus: User wants to print a roster. Response: System prompts for session name, level/division, and team, and then displays the information on the web page and sends a print page request to the web browser. Stimulus: User wants to email a roster. Response: System prompts for session name, level/division, and team, and then displays the information on the web page and sends an email page request to the web browser.
Page 8
3.4.3
Functional Requirements Roster.Session: Roster.LevelDivision: Roster.Team: Roster.Report: The system shall prompt user to choose a currently active session (as well as an option for inactive session) that should be included in the roster report. Required Field. The system shall prompt user to choose a specific Level/Division or All of them that should be included in the roster report. Required Field. The system shall prompt user to choose a specific Team or All of them that should be included in the roster report. Required Field. The system shall provide a roster report consisting of the following data field: level/division name, team name, list of players with phone number, email address, and participation type (coach, player, both). The system shall provide the ability to view the roster online. The system shall provide the ability to print the roster. The system shall provide the ability to email the roster. The system shall allow players & coaches to view/print/email their teams rosters. The league managers can view/print/email any roster. By default, the system shall sort the list alphabetically by last name.
3.5.2
3.5.3
Page 9
3.6.2
3.6.3
Functional Requirements UserAdmin.NewUser: The system shall prompt for the same information and perform the same validation as listed in the My Account requirements (see section 3.2.3). In addition, the League Manager role may be assigned. UserAdmin.ReviewEditUser: The system shall prompt for the user name to review/edit. The system shall display and allow updates to the same information and perform the same validation as
Page 10
listed in the My Account requirements (see section 3.2.3). UserAdmin.LeagueManagerRole: For the new user and review/edit user pages, the system shall display/prompt for assign the league manager role. UserAdmin.DeleteUser: The system shall prompt for the user name that should be deleted. Upon selecting a Delete button, the system shall prompt the league manager to confirm deletion and then the user account should be removed from the entire system. Session.SessionName: The system shall prompt for the name to use for the session. Required Field. Session.NumberOfLevels: The system shall prompt for the number of different levels that will be offered for the session. Level is between one and twenty. Required Field. Session.RegistrationStartDate: The system shall prompt for the start date that users can begin to register for the session. Required Field. Session.RegistrationEndDate: The system shall prompt for the end date that users are allowed to register for the session. Required Field. Session.SessionStartDate:The system shall prompt for the start date that session play (practice/matches) will begin. Required Field. Session.SessionEndDate: The system shall prompt for the date that session play (practice/matches) will end. Required Field. Session.DivisionName: The system shall prompt for the division name for each specific level. The system will initially default it to Division {Level#}. Required Field. Session.LevelMinAge: The system shall prompt for the minimum age criteria for a particular level. Age is between 18 and 99. Required Field. Session.LevelMaxAge: The system shall prompt for the maximum age criteria for a particular level. Age is between 18 and 99. Maximum Age must be equal or greater than Minimum Age. Required Field. Session.LevelMinExperienceLevel: The system shall prompt for the minimum experience level for a particular level. Experience values include: college, high school, recreational league, and none. Required Field. Session.ReviewEdit: The system shall allow the league manager to review and edit an existing session by prompting for the session name. The system shall display and allow modification for all the above mentioned Session data. Session.Delete: The system shall allow the league manager to delete an existing session by prompting for session name. The system shall prompt the user to confirm the deletion of the session. AutoPopulate.SessionName: The system shall prompt the league manager for the session name that should be auto populated. Only those sessions with a registration end date prior to the current date will appear in the list of session names to choose from, since those sessions are open for registration. AutoPopulate.AutoPopulate: After selecting a valid session name, the system shall provide a button for the league manager to select to begin the auto populate teams. The auto populating of teams will be based on the session criteria for the levels defined and the
Page 11
players and coach who registered for that session. Age and experience will be used to determine proper level for a player. The players position 1 criteria will be used in evenly distributing the players to the various teams If there are any issues with the auto populate teams (for example, not enough players to create 4 teams for a level), the system will provide a warning message so that the league manager can make the appropriate session level changes manually. AutoPopulate.Results: The system shall display the results of the latest auto populate attempt for a session. EditTeams.SessionName: The system shall prompt the league manager for the session name that they want to edit team assignments for. Only sessions that have been auto populated and currently active will be displayed, but an option to show inactive sessions shall be provided as well. EditTeams.Filter: The system shall allow the league manager to filter by the specific level and/or team. EditTeams.Sort: The system shall allow the league manager to sort the list of players/coaches by levels and/or teams. EditTeams.PlayerCoach: The system shall allow the league manager to re-assign players and coaches to different levels and/or teams as well as type (player/coach). EditTeams.DeletePlayerCoach: The system shall allow the league manager to delete players or coaches completely from a session. EditTeams.InsertPlayerCoach: The system shall allow the league manager to insert players or coaches into a session. WelcomePage.Message: The system shall allow the league manager to customize the welcome page of the system. The message can contain HTML markup code to allow for additional formatting options.
Page 12
Post-conditions:
Page 13
3. Continues with step 6. 1.0.E.2 Invalid email address (at step 6) 1. System informs Player that an invalid email address has been entered and it must consist of user@domain.com. 2. Player enters corrected email address. 3. Continues with step 7. 1.0.E.3 Invalid password (at step 7) 1. System informs Player that an invalid password not meeting minimum guidelines has been entered and displays the password guidelines. 2. Player enters corrected password. 3. Continues with step 8. 1.1.E.1 Unable to authenticate user (at step 4 of scenario 1.0) 1. System informs Player that either an invalid email address or password has been supplied. 2. Continue with step 1 of scenario 1.0. None High Usage will be high during the open registration period for the next season. 1. Player can end the session at any time by navigating away or closing their browser. For new Players, the account will not be created unless step 8 is successfully completed by the Player. 2. The league manager role can only be granted to user by an existing league manager user. 1. Assume that 500 Players will be accessing the system during a registration periods. 1. Peak usage load will be during registration periods mostly evening hours (local time) during the week and anytime on the weekends
Page 14
Exceptions:
Page 15
1.0.E.2 Invalid password (at step 4) 1. System informs Player that an invalid password not meeting minimum guidelines has been entered and displays the password guidelines. 2. Player enters corrected password. 3. Continues with step 5. 1.0.E.3 Birthdate less than 18 years old (at step 13) 1. System informs Player that based on the birthdate entered; they are not eligible to register for any sessions due to minimum age requirement of 18 and to re-check the value they entered. 2. Player enters corrects birthdate. 3. Continues with step 14. Includes Use Case: Priority: Frequency of Use: Special Requirements: New User Account Creation / Authenticate User Identity High Usage will be high during open registration period for the next season. 1. Player can end the session at any time by navigating away or closing their browser. For new Players, the account will not be created unless step 16 is successfully completed by the Player. 2. Only an existing league manager can grant the role of league manager to another account. 3. The system shall allow players to make changes to their personal information at any time, but the changes will not go into effect until they register for the next season, the one coming up. Then the changes will go into effect and they will be placed on the correct team or have the correct contact info. Assumptions: 1. Assume that 500 Players will be accessing the system during a registration periods. Notes and Issues: 1. Peak usage load will be during registration periods mostly evening hours (local time) during the week and anytime on the weekends
Page 16
Page 17
change. 3. The system displays in the Registration Status field: Registration Updated. 1.3 Cancel Account Update (branch after step 6) 1. Player selects Cancel button. 2. Any updates made by the Player is reverted back to their original values and displayed on the page. 3. Return to step 2 of scenario 1.0. Exceptions: Includes Use Case: Priority: Frequency of Use: Special Requirements:
New User Account Creation / Authenticate User Identity High Usage will be high during open registration period for the next season. 1. Actor can end the connection at any time by navigating away or closing their browser. No updates will be made to the system unless the user chooses Register or Delete Registration. Assumptions: 1. Assume that 500 Players will be accessing the system during a registration period. Notes and Issues: 1. Peak usage load will be during registration periods mostly evening hours (local time) during the week and anytime on the weekends.
Page 18
Page 19
consisting of the following columns of data Level/Division, Team Name, Name (Player/Coach), Type (Player/Coach/Both), Phone Number, Email Address, Position played #1, Position played #2, and Position played #3. By default, the roster rows will be sorted by last name, first name. 3. The system sends a command to the web browser to Send -> Page by Email which will then give the Player the option of choosing who to email the page to. Exceptions: 1.0.E.1 No players or coach assigned for the selected session, level, or team (at step 5 of scenario 1.0) 1. System informs Player No Data for selected report criteria found. 2. Player can adjust criteria by returning to Step 2. 1.1.E.1 No players or coach assigned for the selected session, level, or team (at step 1 of scenario 1.1) 1. System informs Player No Data for selected report criteria found. 2. Player can adjust criteria by returning to Step 2 of scenario 1.0. 1.1.E.2 No printer is available (at step 3 of scenario 1.1) 1. Actor will not be able to print report. 2. Returning to Step 2 of scenario 1.0. 1.2.E.1 No players or coach assigned for the selected session, level, or team (at step 1 of scenario 1.2) 1. System informs Player No Data for selected report criteria found. 2. Player can adjust criteria by returning to Step 2 of scenario 1.0. 1.2.E.2 No email program is available (at step 3 of scenario 1.2) 1. Player will not be able to email the report. 2. Returning to Step 2 of scenario 1.0. Includes Use Case: New User Account Creation / Authenticate User Identity Priority: High Frequency of Use: Usage will be high after the registration period ends for an upcoming session. Special Requirements: Assumptions: 1. The Player has a printer and necessary drivers installed on their computer. 2. The Player has an email program installed. Notes and Issues:
Page 20
Page 21
A League Manager creates a new user account. 1. League Manager is logged into the SLMS. A league manager would like to create a new user. 1.0 Create User 1. League Manager chooses the Admin League Manager tab. See Screen Layout Section 9.7 League Manager Page. 2. The System displays links for the various administration functionalities that can be performed. 3. The League Manager selects Create User. 4. The system displays the Create User page. See Screen Layout Section 9.8 Create User Page. 5. Type in Email address. Must re-type for confirmation. Required. 6. Type in Password. Must re-type for confirmation. Required. 7. Type in First Name. Required. 8. Type in Middle Name. 9. Type in Last Name. Required. 10. Type in Phone Number. Required. 11. Type in Address. Required. 12. Type in City. Required. 13. Type in State. Required. 14. Type in Zip. Required. 15. Type in Birthdate. Required. 16. Choose Highest Past Experience (College, High School, Recreational League, None). Required. 17. Choose Positions Played (3) starting with most preferred position. Positions: full back, half back, forward, goalie, or none. Required. 18. Check mark if the user will have the League Manager Role. 19. System provides a Save button for the League Manager to press when they have completed updating the information. 20. Save button is pressed. The system will ensure all required fields and validations are completed and then save the updates to the database. 21. The system returns to step 2. Post-conditions: 1. A new user is entered into the database and may now log into the system. Scenario Alternative 1.1 Cancel Account Update (branch after step 19) Flows: 1. Cancel button is chosen.
Page 22
2. No updates to the database are made. 3. Return to step 2 of scenario 1.0. Exceptions: 1.0.E.1 Invalid email address (at step 5) 1. System informs League Manager that an invalid email address has been entered and it must consist of user@domain.com. 2. League Manager enters corrected email address. 3. Continues with step 6. 1.0.E.2 Invalid password (at step 6) 1. System informs League Manager that an invalid password not meeting minimum guidelines has been entered and displays the password guidelines. 2. League Manager enters corrected password. 3. Continues with step 7. 1.0.E.3 Birthdate less than 18 years old (at step 15) 1. System informs League Manager that based on the birthdate entered, the player is not eligible to register for any sessions due to minimum age requirement of 18 and to re-check the value they entered. 2. League Manager enters corrected birthdate. 3. Continues with step 16. Includes Use Case: New User Account Creation / Authenticate User Identity Priority: High Frequency of Use: Usage will generally be low as players will normally create their own user accounts. Special 1. League Manager can end the connection at any time by navigating Requirements: away or closing their browser. The account will not be created unless the Save button is selected. Assumptions: Notes and Issues:
Page 23
4.7 Use Case Name: Admin League Manager Review / Edit / Delete User
Use Case ID: Use Case Name: Created By: Date Created: Primary Actor(s): Secondary Actor(s) Description: Preconditions: Trigger Scenario Normal Flow: 7 Admin League Manager Review / Edit / Delete User Kent Etling Last Updated By: Kent Etling February 4, 2011 Date Last Updated: February 4, 2011 League Manager A League Manager can review, edit, or delete a users account. 1. League Manager is logged into the SLMS. A league manager would like to review, edit, or delete a users account. 1.0 Review User 1. League Manager chooses the Admin League Manager tab. See Screen Layout Section 9.7 League Manager Page. 2. The System displays links for the various administration functionalities that can be performed. 3. The League Manager selects Review / Edit / Delete User link. 4. The system displays a prompt for the League Manager to choose the letter that users last name starts with. 5. The system displays a prompt for the League Manager to choose the player to review account information for. See Screen Layout Section 9.9 Edit / Delete User Page. 6. System displays data for User Id, Email Address, Password, First Name, Middle Name, Last Name, Phone Number, Address, City, State, Zip, Birthdate, Highest Past Experience, Positions Played, and an indicator if League Manager Role is assigned.
Post-conditions: 1. A users account information is reviewed, updated, or deleted from the database. Scenario Alternative 1.1 Edit Account Information (branch after step 6) Flows: 1. League Manager goes to whichever data field needs to be updated except for User ID Number 2. League Manager makes the necessary update for the field and any others. 3. The Save button is selected 4. The user information is updated in the database. 5. Return to step 2 of scenario 1.0. 1.2 Delete User (branch after step 6) 1. The Delete button is selected. 2. The users account is deleted from the database including from any sessions and teams. 3. Return to step 2 of scenario 1.0. Exceptions: 1.1.E.1 Invalid email address (at step 3 of scenario 1.1 ) 1. System informs League Manager that an invalid email address has been entered and it must consist of user@domain.com.
Page 24
2. League Manager enters corrected email address. 3. Continues with step 3 of scenario 1.1. 1.1.E.2 Invalid password (at step 3 of scenario 1.1 ) 1. System informs League Manager that an invalid password not meeting minimum guidelines has been entered and displays the password guidelines. 2. League Manager enters corrected password. 3. Continues with step 3 of scenario 1.1. 1.1.E.3 Birthdate less than 18 years old (at step 3 of scenario 1.1 ) 1. System informs League Manager that based on the birthdate entered, the player is not eligible to register for any sessions due to minimum age requirement of 18 and to re-check the value they entered. 2. League Manager enters corrected birthdate. 3. Continues with step 3 of scenario 1.1. Includes Use Case: New User Account Creation / Authenticate User Identity Priority: High Frequency of Use: Low - with usage typically being during open registration period for the next season. Special 1. League Manager can end the connection at any time by navigating Requirements: away or closing their browser. The account will not be created unless the Save button is selected. Assumptions: 1. Typically users will manage their own accounts except that only a League Manager can delete a user account. Notes and Issues:
Page 25
4.8 Use Case Name: Admin League Manager Create a Registration Session
Use Case ID: Use Case Name: Created By: Date Created: Primary Actor(s): Secondary Actor(s) Description: Preconditions: Trigger Scenario Normal Flow: 8 Admin League Manager Create a Registration Session Kent Etling Last Updated By: Kent Etling February 4, 2011 Date Last Updated: February 4, 2011 League Manager A League Manager creates a new registration session. 1. League Manager is logged into the SLMS. A league manager would like to create a new registration session for an upcoming soccer season. 1.0 Create a Session 1. League Manager chooses the Admin League Manager tab. See Screen Layout Section 9.7 League Manager Page. 2. The System displays links for the various administration functionalities that can be performed. 3. The League Manager selects Create Session link. 4. The system displays the Create Session page. See Screen Layout Section 9.10 Create Session Page. 5. Type in Session Name. Required. 6. Select the number of levels between 1 and 20. Required. 7. Type in Registration Start date. Required. 8. Type in Registration End date. Required. 9. Type in Session Start date. Required. 10. Type in Session End date. Required. 11. Choose Create Session button. 12. The system will display a child level consisting of a level row for each of the number of levels the actor chose in step 6. 13. Type in a division name for each level. Required. 14. Type in minimum age for each level. Required. 15. Type in maximum age for each level. Required. 16. Type in minimum experience level for each level. Required. 17. System will provide a Save button for the actor to press when they have completed entering all the required information. 18. Save button is pressed, the system will ensure all required fields and validations are completed, and then save the information to the database. 19. The system returns to step 2. 1. A new session with appropriate level information is entered into the database. 1.1 Cancel Account Update (branch after step 17) 1. Cancel button is chosen. 2. No updates to the database are made. 3. Return to step 2 of scenario 1.0. 1.0.E.1 Invalid date (at step 7, 8, 9, 10 in scenario 1.0) 1. System informs actor that an invalid date has been chosen either the
Copyright 2011 by Kent Etling. All Rights Reserved.
Exceptions:
Page 26
date itself is invalid, the end date value is less than the start date value, or the session start date value is less than the registration end date. 2. League Manager corrects the date issue. 3. Continues with step 11 in scenario 1.0. 1.0.E.2 Invalid Age (at step 15 in scenario 1.0) 1. System informs actor that a maximum age value for a level is less than the minimum age value. 2. League Manager corrects the age values. 3. Continues with step 16. New User Account Creation / Authenticate User Identity High Low - usage typically will be a few weeks prior to opening up registration for a new soccer season. 1. League Manager can end the connection at any time by navigating away or closing their browser. The session and level data will not be created unless the Save button has been selected.
Includes Use Case: Priority: Frequency of Use: Special Requirements: Assumptions: Notes and Issues:
Page 27
4.9 Use Case Name: Admin League Manager Review / Edit / Delete Session
Use Case ID: Use Case Name: Created By: Date Created: Primary Actor(s): Secondary Actor(s) Description: Preconditions: 9 Admin League Manager Review / Edit / Delete Session Kent Etling Last Updated By: Kent Etling February 4, 2011 Date Last Updated: February 4, 2011 League Manager
A League Manager can review, edit, or delete a registration session. 1. League Manager is logged into the SLMS. 2. A registration session has already been created. Trigger A league manager wants to review, edit, or delete a session. Scenario Normal 1.0 Review a Session Flow: 1. League Manager chooses the Admin League Manager tab. See Screen Layout Section 9.7 League Manager Page. 2. The System displays links for the various administration functionalities that can be performed. 3. The League Manager selects Review / Edit / Delete Session link. 4. The system displays the Review / Edit / Delete Session page. See Screen Layout Section 9.11 Review / Edit / Delete Session Page. 5. League Manager selects a session name to review. 6. The System displays: 7. The number of levels for the session. 8. Registration Start date. 9. Registration End date. 10. Session Start date. 11. Session End date. 12. The system will display a child level consisting of a level row for each of the number of levels in step 7. Fields displayed are: 13. Division name for each level. 14. Minimum age for each level. 15. Maximum age for each level. 16. Minimum experience level for each level.
Post-conditions: 1. A session with appropriate level information is displayed, updated, or deleted. Scenario Alternative 1.1 Edit Session Information (branch after step 16) Flows: 1. League Manager goes to whichever data field that needs to be updated. 2. League Manager makes the necessary update for the field and any others. 3. The System will provide a Save button for the League Manager to choose. 4. Save button is pressed, the system will ensure all required fields and validations are completed, and then save the information to the database.
Page 28
5. Return to step 2 of scenario 1.0. 1.2 Delete Session (branch after step 16) 1. The Delete Session button is selected. 2. The session data is deleted from the database including the level information. 3. Return to step 2 of scenario 1.0. 1.3 Cancel Account Update (branch after step 16) 1. Cancel button is chosen. 2. No updates to the database are made. 3. Return to step 2 of scenario 1.0. Exceptions: 1.1.E.1 Invalid date (at step 4 in scenario 1.1) 1. System informs League Manager that an invalid date has been chosen either the date itself is invalid, the end date value is less than the start date value, or the session start date value is less than the registration end date. 2. League Manager corrects the date issue. 3. Continues with step 3 in scenario 1.1. 1.1.E.2 Invalid Age (at step 4 in scenario 1.1) 1. System informs League Manager that a maximum age value for a level is less than the minimum age value. 2. League Manager enters corrected age values. 3. Continues with step 3 in scenario 1.1. New User Account Creation / Authenticate User Identity High Low - Usage typically will be a few weeks prior to opening up registration for a new soccer season. 1. League Manager can end the connection at any time by navigating away or closing their browser. The session and level data will not be created unless the Save button has been selected.
Includes Use Case: Priority: Frequency of Use: Special Requirements: Assumptions: Notes and Issues:
Page 29
4.10 Use Case Name: Admin League Manager Review / Edit / Delete Session
Use Case ID: Use Case Name: Created By: Date Created: Primary Actor(s): Secondary Actor(s) Description: Preconditions: 10 Admin League Manager Auto Populate Teams Kent Etling Last Updated By: Kent Etling February 4, 2011 Date Last Updated: February 4, 2011 League Manager A League Manager can automatically populate teams for a session that is past the registration end date. 1. League Manager is logged into the SLMS. 2. A registration session has already been created. 3. Players have registered for a session. 4. A registration end date is past for one or more sessions. A registration period has ended for an upcoming soccer season session and the league manager wants to automatically populate the teams now. 1.0 Auto Populate Teams for a Session 1. League Manager chooses the Admin League Manager tab. See Screen Layout Section 9.7 League Manager Page. 2. The System displays links for the various administration functionalities that can be performed. 3. The League Manager selects Auto Populate Teams link. 4. The system prompts the League Manager to select a session name from a list of sessions that are past their registration end date. See Screen Layout Section 9.12 Auto Populate Teams Page. 5. League Manager selects a Session name. 6. League Manager chooses the Auto Populate Teams button. 7. The System proceeds to automatically populate teams for each level based on the level criteria that the League Manager entered for that session and the player information for those that registered for that session and updates the database accordingly. 8. The System displays date time stamp and the results of the Auto Populate Teams being successful.
Post-conditions: 1. A session will now have players assigned appropriately to the teams for each of the levels. Scenario Alternative 1.1 Cancel (branch after step 5) Flows: 1. Cancel button is chosen. 2. No further updates to the database are made. 3. Return to step 2 of scenario 1.0. Exceptions: 1.1.E.1 Warnings in populating teams (at step 7 in scenario 1.0) 1. System informs League Manager that there were issues during auto populating the teams for the session such as not enough players to make at least four teams for each level. 2. League Manager reviews issues and will make the appropriate manual updates within the system as necessary.
Page 30
Includes Use Case: New User Account Creation / Authenticate User Identity Priority: High Frequency of Use: Low - usage typically will be after a registration end date has past for an upcoming soccer season. Special Requirements: Assumptions: Notes and Issues:
Page 31
4.11 Use Case Name: Admin League Manager Review / Edit Teams
Use Case ID: Use Case Name: Created By: Date Created: Primary Actor(s): Secondary Actor(s) Description: Preconditions: 11 Admin League Manager Review / Edit Teams Kent Etling Last Updated By: Kent Etling February 4, 2011 Date Last Updated: February 4, 2011 League Manager A League Manager can review and edit teams for a soccer session. 1. League Manager is logged into the SLMS. 2. A session has been created, registration period has ended, and the teams have been auto populated. A league manager would like to review and make changes to the player assignments for the teams of a session. 1.0 Review Teams 1. League Manager chooses the Admin League Manager tab. See Screen Layout Section 9.7 League Manager Page. 2. The System displays links for the various administration functionalities that can be performed. 3. The League Manager selects Review / Edit Teams link. 4. The system displays the Review / Edit Teams page. See Screen Layout Section 9.13 Review / Edit Teams Page. 5. The League Manager selects a session name to review based on a list of active sessions and there is an option to show inactive sessions as well. 6. The League Manager can choose a specific Level/Division or All. 7. The League Manager can choose a specific Team or All. 8. The League Manager can choose to sort by Level/Division and/or Teams. By default, it will be sorted by last name and first name. 9. The League Manager chooses the Retrieve Team Info button. 10. The System displays: 11. Assigned Level/Division. 12. Assigned Team. 13. Name (Last, First Middle). 14. Type (Coach, Player, Both). 1. A League Manager has reviewed and/or updated team assignments for a session. 1.1 Edit a players team assignment (branch after step 14) 1. League Manager finds the name of the player in the team assignments list. 2. Changes the Level/Division the player is assigned by selecting from a list of values. 3. System changes assigned Team to the first team in the list for that Level/Division. 4. The League Manager changes the Team the player is assigned to by selecting from a list of values which will only be Teams assigned to
Page 32
that division. 5. League Manager changes the Type of player by selecting from a list of values. 6. League Manager chooses the Save button. 7. The System updates the database accordingly. 1.2 Delete a player from a session (branch after step 14) 1. League Manager finds the name of the player in the team assignments list. 2. League Manager selects the Delete button for that row of data. 3. The System removes that row from the page. 4. The League Manager selects the Save button. 5. The System updates the database accordingly. 1.3 Insert a player into a session (branch after step 14) 1. League Manager goes to the Insert section of the page. 2. League Manager selects from a list of Player Names who are not already assigned to a team for this session. 3. Selects Level/Division assignment. 4. Selects Team name. 5. Selects the Insert button. 6. The row is inserted into the above team assignments list by the System. 7. The League Manager selects the Save button. 8. The System updates the database accordingly. 1.4 Cancel Account Update (at any time) 1. The League Manager selects the Cancel button. 2. No further updates to the database are made. 3. Return to step 2 of scenario 1.0. Exceptions: Includes Use Case: New User Account Creation / Authenticate User Identity Priority: High Frequency of Use: Low - usage typically will be after a registration end date has passed for a new soccer season and the auto populate teams has been executed. Special 1. League Manager can end the connection at any time by navigating Requirements: away or closing their browser. The Team updates will not be saved to the database unless the Save button has been selected. Assumptions: Notes and Issues:
Page 33
4.12 Use Case Name: Admin League Manager Customize Welcome Page
Use Case ID: Use Case Name: Created By: Date Created: Primary Actor(s): Secondary Actor(s) Description: Preconditions: Trigger Scenario Normal Flow: 12 Admin League Manager Customize Welcome Page Kent Etling Last Updated By: Kent Etling February 4, 2011 Date Last Updated: February 4, 2011 League Manager A League Manager can customize the home page of the SLMS. 1. League Manager is logged into the SLMS. A league manager needs to update the home page of the system to make an announcement. 1.0 Customize Welcome Page 1. League Manager chooses the Admin League Manager tab. See Screen Layout Section 9.7 League Manager Page. 2. The System displays links for the various administration functionalities that can be performed. 3. The League Manager selects Customize Welcome Page. 4. The system displays the Customize Welcome Page. See Screen Layout Section 9.14 Customize Welcome Page. 5. League Manager edits the welcome page message and adds HTML markup code to the text as needed for additional formatting. 6. Chooses the Save button. 7. The System updates the database and the home page will now reflect the changes. 1. The Welcome/Home page of the SLMS displays an updated message. 1.1 Cancel Account Update (at any time) 1. The League Manager selects the Cancel button. 2. No further updates to the database are made. 3. Return to step 2 of scenario 1.0.
Exceptions: Includes Use Case: New User Account Creation / Authenticate User Identity Priority: High Frequency of Use: Low - usage typically will be a few weeks prior to opening up registration for a new soccer season. Special 1. League Manager can end the connection at any time by navigating Requirements: away or closing their browser. Any updates will not be reflected unless the Save button has been selected. Assumptions: Notes and Issues:
Page 34
Post-conditions: Scenario Alternative Flows: Exceptions: Includes Use Case: Priority: Frequency of Use: Special Requirements: Assumptions: Notes and Issues:
New User Account Creation / Authenticate User Identity High High - Usage each session.
Page 35
4.14 High Level Activities using SLMS for a Normal Soccer Registration Phase
Figure 2- High Level Activity Diagram of SLMS during a Normal Soccer Registration Phase
Page 36
Figure 2 provides a depiction of the activities involved with the overall process of using SLMS to manage a normal soccer registration phase based on the following actors: league manager, player, and coach. The activities proceed as: 1. A league manager signing onto the SLMS. 2. A league manager creates a soccer session record. 3. A league manager customizes the welcome page of the SLMS to announce the new soccer session with registration start and end dates. 4. Players and coaches create new users accounts or sign onto SLMS. 5. Players and coaches update their user account information. 6. Players and coaches register for the session during the open registration period. 7. When the registration period ends, a league manager uses the auto populate teams functionality to place players and coaches on the appropriate level and team. 8. A league manager reviews and edits (if necessary) the team assignments. 9. Coaches update their respective team names. 10. Players and coaches view / print / email their respective team rosters. 11. The soccer season is now ready to begin.
Page 37
Page 38
7. System Evolution
7.1 Desired Requirements for Future Releases:
1. My Account information shall contain data fields for emergency contact information. 2. The system shall provide provision for requesting a specific coach and players be on the same team. 3. My Account information shall contain a data field for gender. 4. The system shall provide the ability to have gender specific levels as well as co-ed levels. 5. The system should be packaged up so that it can be distributed and marketed to other recreational soccer leagues. 6. The system shall provide the ability to collect registration fees and payments.
Page 39
Page 40
8. Risk Analysis
Risks Category Probability Low Impact High Risk Mitigation, Monitoring, and Management Schedule regular meetings with the client to update them on the progress and ensure the delivery deadline does change. If it does, then potentially additional resources will need to be added to meet the revised deadline. Yearly contracts are in place with all development team members. Will bill client on a monthly basis for time and materials. The System is expected to save the client costs by having players enter their own information instead of paying someone to type the information in from a paper form. Most users are already familiar with using web based systems for registering for college classes, booking hotel rooms, and purchasing products on-line. In addition, players information will be more accurate as they will be entering it and reviewing it themselves. Developers are cross trained and each have a backup that they share knowledge with. Weekly staff meetings will ensure everyone is up to speed on the project.
Cost of Development Resources increase. Client looses funding for the project.
Business
Low
Medium
Business
Low
High
Low
Low
Development Low
Medium
Page 41
Category
Probability
Impact Medium
Development Low
Development Low
Medium
Development Low
High
Development Development Low resource shortage. The delivered Development Low software does not meet the requirements.
High High
A larger number of players enroll in sessions than was provided in the requirements. Some software modules take significantly longer to code than expected.
Performance
Low
Medium
Schedule
High
High
Some hardware Schedule components (servers, storage, memory, etc.) are delivered late.
Low
High
Risk Mitigation, Monitoring, and Management The project manager is using project management software and is familiar with the tool and has experience in managing similar projects. The team is using a corporate standard tool for managing the software process and the Development Team is already trained. The Development Team has already received training on the tools and has developed other applications with these tools. Sufficient resources have already been assigned to the project. The development team members have recently completed a software engineering course that will allow them to use best practices for requirements gathering, design, coding, and implementation. In addition, some of our best resources are on the project. Client has been managing this soccer league for many years. Also, additional processors can be easily added to the servers. The schedule was created with added padding for the estimated hours. Weekly staff meetings will be used to monitor project progress and schedule dates. The necessary hardware is already in-house.
Page 42
Risks
Category
Probability Low
Impact High
Some software Schedule and hardware components are not compatible or certified. Client will change requirements during or after the construction phase. Schedule
Low
Medium
Risk Mitigation, Monitoring, and Management Software and hardware specifications and requirements will be closely examined and recommended corporate standards will be used. There were several thorough requirements gathering sessions conducted with the client.
Page 43
Description: The front/welcome page to the Soccer League Management System which provides announcement of upcoming sessions, allows for sign-on to the system, and new user account creation.
Page 44
Page 45
Description: The page allows the user to view and update their account information.
Page 46
Description: This page allows players and/or coaches to register (or review/update/delete) for an upcoming soccer session.
Page 47
Page 48
Description: This page allows coaches to update their teams name as well as view detail information on the players assigned to their team.
Page 49
Description: This page is for the league managers providing them administration functionality for user accounts, registrations, and system configuration.
Page 50
Description: This page is used for creating a new user account for the system.
Page 51
Description: This page is used for review/edit/delete of user accounts in the system.
Page 52
Description: This page is used for creating a new soccer session and specifying all the associated parameters that go with it.
Page 53
Page 54
Description: This page is used for auto populating the registered players to teams for the session.
Page 55
Description: This page is used to review/edit the player assignments for a session.
Page 56
Description: This page is used for updating the announcement on the home/front page of the system.
Page 57
10. Glossary
Below is list of glossary terms that may be helpful. Some of the definitions were based on Pressman (2010) and Farlex, Inc., (2011). Term Actors Application Service Provider Acronym ASP Definition / Description The different types of users or devices that interact with the system. A business where a single application software is provided over the internet to customers. ASP provides advantages where by the complexities of installation and upgrades are handled by the service providers as well as technical support. Thus significant cost savings can be realized by the customer. A record of what, when, and who performed a modification to the system. Confirm the identity of a user. A member of a team that manages and provides instructions to the team players. A system used to store large amounts of data electronically with facilities to store, organize, retrieve, and sort the data. A specific name/description for a particular soccer level (usually based on age or experience). A location where messages can be delivered and the normal Internet email address follows the standard of username@domain.com. This is the first (welcome) page of a web site. It is a computer language used formatting and structuring text and graphics on a page that is viewed by a web browser. Provides a secure communications for the transfer of data between a web browser and server. Method/interaction between two separate systems or components. A world-wide computer network that connects computers and other devices that enables sharing of data and services. A person responsible for managing an entire sports league. A communication device for connecting a computer to a remote network over a telephone line. A programming methodology that uses Objects that consist of both data and methods. The methods are used to access and manage the data. A secret word used for authentication. A member of a team that plays the game. The last date which users can sign up to participate in an upcoming soccer session. The date which users can begin signing up to participate in an upcoming soccer session. A list of names of members of a team. For the SLMS, it will included contact information and positions played as well.
Audit trail logs Authenticate Coach Database Division Name Email Home Page Hypertext markup language Hypertext Transfer Protocol Secure Interface Internet League Manager Modem Object Oriented Programming Password Player Registration End Date Registration Start Date Roster OOP
HTML HTTPS
Page 58
Scenarios Server Session End Date Session Start Date Smartphone Soccer Soccer League Management System Software Engineering Software Requirements Specifications Tablet Computers Use Case Web Browser SLMS SE SRS
A step by step description of a specific instance of a use case listing the actors actions and the system responses. A specialized computer that provides centralized service such as providing web pages to clients or data/file management services to other computers on a network. The date which a soccer session/season play (practice/games) will end. The date which a soccer session/season play (practice/games) will begin. An enhanced mobile phone that allow for web browsing and applications to run on them. A game played on a rectangular field consisting of two teams with eleven players each that try to drive a ball into the opposing teams goal. A web based application that will provide capabilities for managing a recreational soccer league. A systematic approach to gathering requirements, performing designs, building computer software, testing, implementation, and on-going support/maintenance of the software. A document that provides a complete description of the behavior of an application software system that is to be developed. A specialized computer that takes the form of slate that allows input from a pen/stylus input device. A use case is method to describe how a system will behave for a specific function based on an interaction with actors. A program that allows a user to view HTML documents and other data.