CSCI
TeamFourSports Teammate Pro SDD
Teammate Pro v.1.0
Interactive Team Management Web Application
Software Design Description
February 19, 2007
Prepared for:
TeamFourSports
Prepared By:
Jonathan Allen
Vic Beach
Nick Gavin
Jeromey Lewis
Approvals
|
Title |
Printed Name |
Signature |
Date |
|
Client Representative |
Professor Jeffrey Appel |
|
|
|
Project Manager |
Jeromey Lewis |
|
|
|
Systems Engineering |
Jonathan Allen |
|
|
|
Quality Manager |
Vic Beach |
|
|
|
Software Engineer |
Nick Gavin |
|
|
Revision Change Record
|
Revision |
Date |
Description |
Author |
|
Initial Draft |
02/19/2007 |
First Draft |
Vic Beach |
|
Update 0.2 |
02/24/2007 |
Added CSCI, CSC, CSU Diagrams |
J. Lewis |
|
Update 0.2 |
02/25/2007 |
Added CSC Descriptions |
J. Lewis |
|
Update 0.5 |
03/01/2007 |
Added Detailed, ERD, Web Object, DB tables |
Vic Beach |
|
Release |
03/03/2007 |
Released to Professor |
Vic Beach |
Table of Contents
11 1 Scope
13 1.2 Glossary
13 1.1.1 Definitions, Acronyms and Abbreviations
15 2 References
18 3.1.1 Teammate Pro Team Home Page (CSCI)
19 3.1.2 Manage Team Information (CSC)
23 3.1.3 Access Team Information (CSC)
27 3.1.4 Mobile Team Information Manager (CSC)
29 3.3 Assumptions and Dependencies
30 3.4 Non-Functional Scenarios and Tactics
30 3.4.1 Quality Attribute Scenarios
42 4.1.1 Mobile
45 4.1.2 Web
45 4.2 Detailed Web Object Model
45 4.2.1 Mobile
46 4.2.2 Web
55 4.5 Manage Team Information (CSC)
55 4.5.1 CSC Structure Chart Diagrams
55 4.6 Manage Team Home Page (Sub-CSC)
55 4.6.1 CSC Structure Chart Diagrams
56 4.6.2 Detailed Software Design –Add Home Page (CSU)
58 4.6.3 Detailed Software Design -Edit Home Page (CSU)
59 4.7 Manage Coach Information (Sub-CSC)
59 4.7.1 CSC Structure Chart Diagrams
59 4.7.2 Detailed Software Design -Add Coach (CSU)
62 4.7.3 Detailed Software Design -Edit Coach Information (CSU)
65 4.7.4 Detailed Software Design -Remove Coach (CSU)
66 4.8 Manage Roster (Sub-CSC)
66 4.8.1 CSC Structure Chart Diagrams
67 4.8.2 Detailed Software Design -Add Player (CSU)
69 4.8.3 Detailed Software Design -Edit Player (CSU)
71 4.8.4 Detailed Software Design -Remove Player (CSU)
73 4.9 Manage Player Bios (Sub-CSC)
73 4.9.1 CSC Structure Chart Diagrams
73 4.9.2 Detailed Software Design -Add Player Bio (CSU)
75 4.9.3 Detailed Software Design -Edit Player Bio (CSU)
77 4.10 Manage Schedule (Sub-CSC)
77 4.10.1 CSC Structure Chart Diagrams
77 4.10.2 Detailed Software Design -Add Scheduled Game (CSU)
79 4.10.3 Detailed Software Design -Edit Scheduled Game (CSU)
80 4.10.4 Detailed Software Design -Cancel Scheduled Game (CSU)
81 4.11 Manage Lineup (Sub-CSC)
81 4.11.1 CSC Structure Chart Diagrams
81 4.11.2 Detailed Software Design -Create Lineup (CSU)
84 4.11.3 Detailed Software Design -Load Default Lineup (CSU)
87 4.12 Manage Statistics (Sub-CSC)
87 4.12.1 CSC Structure Chart Diagrams
87 4.12.2 Detailed Software Design -Update Statistics (CSU)
89 4.12.3 Detailed Software Design –Get Batter Statistics (CSU)
91 4.13 Manage Team Discussion Board (Sub-CSC)
91 4.13.1 CSC Structure Chart Diagrams
91 4.13.2 Detailed Software Design -Create Message (CSU)
93 4.13.3 Detailed Software Design -View Message (CSU)
95 4.13.4 Detailed Software Design -Delete Message (CSU)
98 4.13.5 Detailed Software Design -Allow/Deny User Access (CSU)
101 4.14 Access Team Information (CSC)
101 4.14.1 CSC Structure Chart Diagrams
101 4.15 View Team Information (Sub-CSC)
101 4.15.1 CSC Structure Chart Diagrams
101 4.15.2 Detailed Software Design -View Coach Information (CSU)
104 4.15.3 Detailed Software Design -View Roster (CSU)
106 4.15.4 Detailed Software Design -View Player Bios (CSU)
108 4.16 View Schedule (Sub-CSC)
108 4.16.1 CSC Structure Chart Diagrams
108 4.16.2 Detailed Software Design -Select Game (CSU)
111 4.17 View Lineup (Sub-CSC)
111 4.17.1 CSC Structure Chart Diagrams
111 4.17.2 Detailed Software Design -Select Game (CSU)
114 4.18 View Statistics (Sub-CSC)
114 4.18.1 CSC Structure Chart Diagrams
114 4.18.2 Detailed Software Design -View Team Statistics (CSU)
117 4.18.3 Detailed Software Design -View Game Statistics (CSU)
118 4.18.4 Detailed Software Design -View Player Statistics (CSU)
120 4.19 View Game Tracker (Sub-CSC)
120 4.19.1 CSC Structure Chart Diagrams
121 4.19.2 Detailed Software Design -Select Game (CSU)
123 4.20 Access Team Discussion Board (Sub-CSC)
123 4.20.1 CSC Structure Chart Diagrams
123 4.20.2 Detailed Software Design -View Message (CSU)
125 4.20.3 Detailed Software Design -Create Message (CSU)
127 4.20.4 Detailed Software Design -Edit Message (CSU)
129 4.20.5 Detailed Software Design -Delete Message (CSU)
132 4.21 Mobile Team Information Manager (CSC)
132 4.21.1 CSC Structure Chart Diagrams
132 4.22 Record Game Statistics (Sub-CSC)
132 4.22.1 CSC Structure Chart Diagrams
132 4.22.3 Enter Batting Statistics
132 4.22.4 Enter Pitching Statistics
132 4.23 Modify Lineup (Sub-CSC)
132 4.23.1 CSC Structure Chart Diagrams
132 4.23.2 Detailed Software Design -Select Game (CSU)
134 4.23.3 Detailed Software Design -Add Player to Lineup (CSU)
137 4.23.4 Detailed Software Design -Remove Player From Lineup (CSU)
139 4.23.5 Detailed Software Design -Assign Position to Player (CSU)
141 5 CSCI Data
146 6.1 Data File to CSC/CSU cross-reference
152 7 Requirements Traceability Appendixes
153 Appendix A Requirements Traceability Web Functions
161 Appendix B Requirements Traceability Mobile Functions
Table of Figures
19 Figure 2 Manage Team Home Page
20 Figure 3 Manage Coach Information
21 Figure 5 Manage Player Bios
23 Figure 9 Manage Team Discussion Board
24 Figure 10 View Team Information
26 Figure 14 View Game Tracker
26 Figure 15 Access Team Discussion Board
27 Figure 16 Record Game Statistics
30 Figure 18 Performance Quality Attribute Scenarios
31 Figure 19 Security Quality Attribute Scenarios
32 Figure 20 Security two Quality Attribute Scenarios
32 Figure 21 Maintainability Quality Attribute Scenarios
33 Figure 22 Correctness Quality Attribute Scenarios
34 Figure 23 Testability Quality Attribute Scenarios
34 Figure 24 Usability Quality Attribute Scenarios
35 Figure 25 Portability Quality Attribute Scenarios
36 Figure 26 Modifiability Quality Attribute Scenarios
36 Figure 27 Availability Quality Attribute Scenarios
37 Figure 28 Performance Quality Tactics
38 Figure 29 Security Quality Tactics
39 Figure 30 Maintainability Quality Tactics
39 Figure 31 Correctness Quality Tactics
40 Figure 32 Testability Quality Tactics
40 Figure 33 Usability Quality Tactics
41 Figure 34 Portability Quality Tactics
41 Figure 35 Modifiability Quality Tactics
42 Figure 36 Availability Quality Tactics
43 Figure 37 Select Game Page on Openwave™ Simulator
43 Figure 38 Select Game Screen on Openwave™ Simulator
44 Figure 39 Begin Game Play Panel
44 Figure 41 Batter is Out Panel
45 Figure 42 Batter Gets a Hit Panel
46 Figure 43 Mobile Web Object
47 Figure 44 Initial Web Interface
47 Figure 45 Manage Team Info View
48 Figure 46 Access Team Information View
49 Figure 47 Sequence Diagram 1 for Team Administrator
50 Figure 48 Sequence Diagram 2 for Team Administrator
51 Figure 49 Mobile Sequence Diagram for Team Administrator
52 Figure 50 Sequence Diagram for User
120 Figure 52 Game Tracker Structure
Table of Tables
56 Table 1 Team Admin Manage Team Home Page –Add Home Page Input Data Elements
56 Table 2 Team Admin Manage Team Home Page –Add Home Page Data Elements
58 Table 3 Team Admin Manage Team Home Page – Edit Home Page Input Data Elements
58 Table 4 Team Admin Manage Team Home Page – Edit Home Page Data Elements
60 Table 5 Manage Coach Information Page –Add Coach Input Data Elements
60 Table 6 Manage Coach Information Page –Add Coach Output Data Elements
62 Table 7 Manage Coach Information Page –Edit Coach Input Data Elements
63 Table 8 Manage Coach Information Page – Edit Coach Output Data Elements
65 Table 9 Manage Coach Information Page –Edit Coach Input Data Elements
65 Table 10 Manage Coach Information Page – Edit Coach Output Data Elements
67 Table 11 Manage Roster Page –Manage Roster Input Data Elements
67 Table 12 Manage Roster Page –Manage Roster Output Data Elements
69 Table 13 Manage Roster Page –Manage Roster Input Data Elements
69 Table 14 Manage Roster Page –Manage Roster Output Data Elements
71 Table 15 Team Admin Modify Lineup – Remove Input Data Elements
71 Table 16Team Admin Modify Lineup – Remove Player Output Data Elements
73 Table 17 Manage Player Bios Page –Add Player Bio Input Data Elements
73 Table 18 Manage Player Bios Page –Add Bio Output Data Elements
75 Table 19 Manage Player Bios Page –Edit Player Bio Input Data Elements
75 Table 20 Manage Player Bios Page –Edit Bio Output Data Elements
77 Table 21 Manage Schedule Page –Manage Schedule Input Data Elements
77 Table 22 Manage Schedule Page –Manage Schedule Output Data Elements
81 Table 23 Team Admin Manage Lineup – Create Lineup Input Data Elements
81 Table 24 Team Admin Manage Lineup – Create Lineup Output Data Elements
84 Table 25 Team Admin Manage Lineup – Load Default Lineup Input Data Elements
84 Table 26 Team Admin Manage Lineup – Load Default Lineup Output Data Elements
87 Table 27 Manage Statistics – UpdateBatterStats Input Data Elements
87 Table 28Manage Statistics – GetBatterStats() Output Data Elements
89 Table 29 Manage Statistics – GetBatterStats() Input Data Elements
89 Table 30 Manage Statistics – GetBatterStats() Output Data Elements
91 Table 31 Access Team Discussion Board Page –Send Message Input Data Elements
91 Table 32 Access Team Discussion Board Page –View Message Output Data Elements
93 Table 33 Access Team Discussion Board Page –View Message Input Data Elements
93 Table 34 Access Team Discussion Board Page –View Message Output Data Elements
95 Table 35 Team Admin Manage Discussion Board – Delete Message Input Data Elements
95 Table 36 Team Admin Manage Discussion Board – Delete Message Output Data Elements
98 Table 37 Team Admin Manage Discussion Board – Delete Message Input Data Elements
98 Table 38 Team Admin Manage Discussion Board – Delete Message Output Data Elements
101 Table 39 View Coach Information Page –View Coach Information Input Data Elements
101 Table 40 View Coach Information Page –View Coach Information Input Data Elements
104 Table 41 View Roster Page –View Roster Input Data Elements
104 Table 42 View Roster Page –View Roster Input Data Elements
106 Table 43 View Bios Page –View Bios Input Data Elements
106 Table 44 View Bios Page –View Bios Input Data Elements
108 Table 45 User View Lineup – Select Game Input Data Elements
108 Table 46 User View Lineup – Select Game Output Data Elements
111 Table 47 User View Lineup – Select Game Input Data Elements
111 Table 48 User View Lineup – Select Game Output Data Elements
114 Table 49 Manage Statistics – GetBatterStats() Input Data Elements
114 Table 50 Manage Statistics – GetBatterStats() Output Data Elements
118 Table 51 View Statistics – GetBatterStats() Input Data Elements
118 Table 52 View Statistics – GetBatterStats() Output Data Elements
121 Table 53 Manage Statistics – ControlGamePlay() Input Data Elements
121 Table 54 Manage Statistics – ControlGamePlay() Output Data Elements
123 Table 55 Access Team Discussion Board Page –View Message Input Data Elements
123 Table 56 Access Team Discussion Board Page –View Message Output Data Elements
125 Table 57 Access Team Discussion Board Page –Send Message Input Data Elements
125 Table 58 Access Team Discussion Board Page –View Message Output Data Elements
127 Table 59 Access Team Discussion Board Page –Send Message Input Data Elements
127 Table 60 Access Team Discussion Board Page –View Message Output Data Elements
129 Table 61 UserManage Discussion Board – Delete Message Input Data Elements
129 Table 62 User Manage Discussion Board – Delete Message Output Data Elements
133 Table 63 Team Admin Modify Lineup – Select Game Input Data Elements
133 Table 64 Team Admin Modify Lineup – Select Game Output Data Elements
134 Table 65 Team Admin Modify Lineup – Add Player Input Data Elements
135 Table 66 Team Admin Modify Lineup – Add Player Output Data Elements
137 Table 67 Team Admin Modify Lineup – Remove Input Data Elements
137 Table 68 Team Admin Modify Lineup – Remove Player Output Data Elements
139 Table 69 Team Admin Modify Lineup – Assign Position Input Data Elements
139 Table 70 Team Admin Modify Lineup – Assign Position Output Data Elements
141 Table 71 User
141 Table 72 Player
142 Table 73 Team
142 Table 74 Game
143 Table 75 Lineup
145 Table 80 Message
146 Table 81 User cross-reference
146 Table 82 Player cross-reference
147 Table 83 Team cross-reference
148 Table 84 Game cross-reference
148 Table 85 Lineup cross-reference
149 Table 86 Position cross-reference
149 Table 87 GameScore cross-reference
149 Table 88 BattingStats cross-reference
150 Table 89 PitchingStats cross-reference
151 Table 90 Message cross-reference
1 Scope
1.1 System Overview
Teammate Pro is a proposed baseball team management, application targeting recreational baseball teams for children’s age groups under age 18 and for adults. Teammate Pro would strive to solve problems evident within the current software solutions. This team management web-enabled application would provide true innovation with primary components that have never been delivered within a single application.
The first component that the product will provide is the intuitive automation of all team management aspects, including team information, lineup, scheduling, and statistical administration. By providing these essential capabilities, the “Teammate Pro” system can deliver an integrated solution for the fundamental tasks required by all individuals managing a team.
Teammate Pro will provide dynamic access to team information via the internet. This component of the system will provide significant innovation to a product line that has historically been relegated to a desktop computer. Management of team data becomes much more efficient by enabling a user of the system to perform activities remotely, a feature that is enhanced by specifically targeting internet enabled mobile devices.
This capability also utilizes a much more convenient mode of communication that shifts a tremendous amount of the responsibility from the coach or team manager, to the individuals on the team, to take accountability for being up to date with the team information. By providing this access from any internet-capable device, it effectively increases the ability of a wider audience to track the real-time progress of the team throughout the season.
The product shall also tap into a diverse market that provides the possibility of a vast array of different users, including people of varying ages. Specifically, the application should be just as accessible and usable by a younger individual, as it is by an older person.
The final aspect of the Teammate Pro application that makes the product viable is its integration of newer technologies. By adding the capability of the product to support cutting-edge web, development and media technologies, the overall experience is enhanced for each user of the system.
1.2 Glossary
1.1.1 Definitions, Acronyms and Abbreviations
|
Term |
Definition |
|
AJAX |
Asynchronous JavaScript and XML |
|
BIO |
Biography |
|
Broadband |
A telecommunications signaling method that handles a relatively wide range of frequencies. Specifically referencing an internet connection that provides a great bandwidth |
|
Browser
|
A user interface that allows the navigation of objects or files in a computer or internet environment |
|
CSC |
Computer Software Component |
|
CSCI |
Computer Software Component Integrated |
|
CSU |
Computer Software Unit |
|
Database |
An electronic collection of records stored systematically in a computer system or application |
|
FK |
Foreign Key |
|
GB |
Gigabyte |
|
GHz |
Gigahertz |
|
GUI |
Graphical User Interface |
|
HTML |
Hyper-Text Markup Language The predominant development language utilized for the creation of internet pages |
|
HTTP |
Hypertext Transfer Protocol |
|
IDE |
Integrated Development Environment |
|
Int |
Integer |
|
LLB |
Little League Baseball The traditional non-profit youth baseball organization that organizes leagues world-wide |
|
NVARCHAR |
Variable length character, unicode |
|
Operating System |
The primary program that manages the hardware and software resources of a computer |
|
PC |
Personal Computer |
|
PDA |
Personal Digital Assistants were originally designed as electronic personal organizers, but have become much more technologically advanced over the years. Current PDA’s can be considered handheld computers that run a variety of operating systems, with a number of capabilities such as touch-screen interfaces, internet web browsing, multimedia playback, and high capacity data storage |
|
PK |
Primary Key |
|
SQL |
Structured Query Language – SQL is a language used for database applications |
|
SRS |
Software Requirements Specification – The SRS is a document that describes a proposed system in terms of the necessary functionality of the software |
|
TCP/IP |
Transport Control Protocol/Internet Protocol – A computer protocol used to connect Computers to one another through an addressing scheme |
|
URI |
Uniform Resource Identifier |
|
VarChar |
Variable Length Character |
|
Web Application |
Web application is a software application that is accessed with a browser over the internet. Also known as a thin-client application |
|
Wiki |
A site on the internet that allows the visitors themselves to easily add, remove, and otherwise edit and change available content, often without a registered account |
|
XHTML |
eXtensible HyperText Mark-up Language Mobile Profile |
|
XML |
Extensible Markup Language |
1.3 Document Overview
The Teammate Pro Software Development Document (SDD) is comprised of seven sections. Section 1 provides the introduction to SDD document and the background information regarding the project it is referencing. Section 2 provides references used in the composition of this document. Section 3 is the Computer Software Component Interface (CSCI) Overview, which includes the CSCI Architecture, Constraints, Assumptions and Dependencies. Section 4 is the Detailed Design, which includes detailed information about each Computer Software Component (CSC) and Computer Software Unit (CSU). Section 5 is the CSCI Data section and Section 6 is the CSCI Data Files section.
2 References
Allen, J., Beach, V., Gavin, N., Lewis, J. (2007) Teammate Pro Interactive Team Management Web Application Research Paper. National University.
Allen, J., Beach, V., Gavin, N., Lewis, J. (2007) Teammate Pro v.1.0 Interactive Team Management Web Application Software Requirements Specification. National University.
Allen, J., Beach, V., Gavin, N., Lewis, J. (2007) Teammate Pro v.1.0 Interactive Team Management Web Application Operational Concept Document. National University.
Allen, J., Beach, V., Gavin, N., Lewis, J. (2007) Teammate Pro v.1.0 Interactive Team Management Web Application Software Development Plan. National University.
Allen, J., Beach, V., Gavin, N., Lewis, J. (2007) Teammate Pro v.1.0 Interactive Team Management Web Application Software Requirements Specification. National University.
IEEE Standard 1016-1998. Recommended Practice for Software Design Descriptions.
Pressman, Roger S., Software Engineering: A Practitioner’s Approach, Fifth Edition, McGraw Hill, 2001.
3 CSCI Overview
The CSCI overview provides a high-level illustration of the significant Computer Software Components of the system. The Teammate Pro is a web application that provides a single point of access to all system functionality from the Team Home Page. This lone CSCI is comprised of three primary CSC’s that properly segregate the broad functionality of the application. Each CSC that is identified in the high level diagram is further decomposed into Sub-CSC’s and CSU’s in order to fully elaborate upon the functional system architecture. The following sections describe the properties of the CSCI, as well each CSC, and their respective Sub-CSC’s, and CSU’s.
3.1 CSCI Architecture
Manage Team
Information
(
CSC
)
Manage Team
Home Page
(
Sub
-
CSC
)
Manage Coach
Information
(
Sub
-
CSC
)
Manage Player
Bios
(
Sub
-
CSC
)
Manage Schedule
(
Sub
-
CSC
)
Manage Lineup
(
Sub
-
CSC
)
Manage Statisitics
(
Sub
-
CSC
)
Manage Team
Discussion Board
(
Sub
-
CSC
)
Teammate Pro
Team Home Page
(
CSCI
)
Access Team
Information
(
CSC
)
View Team
Information
(
Sub
-
CSC
)
Access Team
Discussion Board
(
Sub
-
CSC
)
View Game
Tracker
(
Sub
-
CSC
)
View Schedule
(
Sub
-
CSC
)
View Lineup
(
Sub
-
CSC
)
Manage Roster
(
Sub
-
CSC
)
View Statistics
(
Sub
-
CSC
)
Mobile Team
Information Mgr
(
CSC
)
Record Game
Statistics
(
Sub
-
CSC
)
Modify Lineup
(
Sub
-
CSC
)
Figure 1 Teammate Pro CSCI
3.1.1 Teammate Pro Team Home Page (CSCI)
The Teammate Pro Team Home Page will provide users with the ability to securely login with a valid username and password that has been pre-registered. The team home page will serve as the initial access point for the application and present users with their available functionality. Upon successful login, the user will be presented with the customized team logo and page layout. If the user is a Team Admin, the customized page will display both the Manage Team Information and Access Team Information links. If the user is a standard user, the customized page will only display the Access Team Information link.
3.1.2 Manage Team Information (CSC)
The Manage Team Information CSC provides team admin users with a centralized method of accessing all administrative functions of the Teammate Pro application. This page displays each of the administrative Sub-CSC’s so that managing the team information is organized, easily accessed and efficiently maintained.
3.1.2.1 Manage Team Home Page (Sub-CSC)
Manage Team
Home Page
(
Sub
-
CSC
)
Add Home Page
(
CSU
)
Edit Home Page
(
CSU
)
Figure 2 Manage Team Home Page
The Manage Team Home Page Sub-CSC provides the necessary functionality to create and edit the customizable team home pages. The Add Home Page CSU enables team admin users to create an initial team home page with a custom logo and page layout. The Edit Home Page CSU expands upon the customization of the team home page by allowing further modifications of all aspects after the page has been created and posted.
3.1.2.2 Manage Coach Information (Sub-CSC)
Manage Coach
Information
(
Sub
-
CSC
)
Add Coach
(
CSU
)
Edit Coach
Information
(
CSU
)
Remove Coach
(
CSU
)
Figure 3 Manage Coach Information
The Manage Coach Information Sub-CSC provides the ability for team admin users to create background and contact information records for each coach on the team. This information that is stored for each coach record can be edited to accommodate necessary changes, or the entire coach record can be deleted from the system, should the need arise to remove a particular coach from the team. The Add, Edit, and Remove Coach CSU’s provide these functional capabilities.
3.1.2.3 Manage Roster (Sub-CSC)
Manage Roster
(
Sub
-
CSC
)
Add Player
(
CSU
)
Edit Player
(
CSU
)
Remove Player
(
CSU
)
Figure 4 Manage Roster
The Manage Roster Sub-CSC enables team admin users of the system to manage the team roster changes that are sometimes necessary throughout the course of a season. The Add Player, Edit Player, and Remove Player CSU’s provide the functionality to keep the roster of players up to date, be allowing the easy adding of new players to the roster, editing of existing player information, and deleting of players that are no longer with the team.
3.1.2.4 Manage Player Bios (Sub-CSC)
Manage Player
Bios
(
Sub
-
CSC
)
Add Player Bio
(
CSU
)
Edit Player Bio
(
CSU
)
Figure 5 Manage Player Bios
The Manage Player Bios Sub-CSC provides team admin users with the ability to create detailed player biography information for each player that is currently configured on the active team roster. The player bios present the capability to add background information, personal attributes and player photos, which will be shared with family members and other fans of the team. These player bios can also be updated or modified at any time after they have been created. The Add Player Bio and Edit Player Bio CSU’s provide these functional capabilities.
3.1.2.5 Manage Schedule (Sub-CSC)
Manage Schedule
(
Sub
-
CSC
)
Add Scheduled
Game
(
CSU
)
Edit Scheduled
Game
(
CSU
)
Cancel Scheduled
Game
(
CSU
)
Figure 6 Manage Schedule
The Manage Schedule Sub-CSC provides team admin users of the system with the ability to create, modify, and post the important team schedule information so that it may be shared with the players, family members and fans of the team. The schedule is managed by the Add Scheduled Game, which enables the input of the specific game information such as location and time, the Edit Scheduled Game, which enables the modification of this specific game information that has been added, and the Cancel Scheduled Game CSU’s, which provides the functionality to completely remove scheduled games that may have been cancelled.
3.1.2.6 Manage Lineup (Sub-CSC)
Manage Lineup
(
Sub
-
CSC
)
Create Lineup
(
CSU
)
Load Default
Lineup
(
CSU
)
Figure 7 Manage Lineup
The Manage Lineup Sub-CSC provides team admin users of the system with the ability to create a specific batting and fielding lineup for each scheduled game. The Create Lineup CSU allows the team admin to set a unique lineup for a game that requires specific batting and pitching assignments, or to save the current lineup as the default to be selected for future games. The Load Default Lineup CSU provides the capability to utilize the existing default lineup successfully, when setting the lineup for a particular game.
3.1.2.7 Manage Statistics (Sub-CSC)
Manage Statistics
(
Sub
-
CSC
)
Add Statistics
(
CSU
)
Edit Statistics
(
CSU
)
Figure 8 Manage Statistics
The Manage Statistics Sub-CSC provides team admin users of the system with the ability to effectively establish and modify the statistical categories that will be available for recording statistics against during a scheduled game and pre-configured lineup. The Add Statistics CSU enables the simple selection of existing batting and pitching statistics that will be tracked for a particular game. The Edit Statistics CSU enables the modification of these pre-selected statistical categories, if it becomes necessary to change them.
3.1.2.8 Manage Team Discussion Board (Sub-CSC)
Manage Team
Discussion Board
(
Sub
-
CSC
)
Create Message
(
CSU
)
View Message
(
CSU
)
Delete Message
(
CSU
)
Allow
/
Deny
User Access
(
CSU
)
Figure 9 Manage Team Discussion Board
The Manage Team Discussion Board Sub-CSC provides team admin users of the system with the ability to monitor, contribute to, and manage the existing content posted on the team discussion board. The Create Message CSU enables the creation and posting of message to the board. The View Message CSU enables the viewing of all current messages on the discussion board so that may be reviewed for acceptable content. The Delete Message CSU enables the deletion of messages that are posted by both the team admin, and any user that may have created an unacceptable message. The Allow/Deny User Access CSU enables the administration of a user’s ability to successfully post to the team discussion board.
3.1.3 Access Team Information (CSC)
The Access Team Information CSC provides team admin and standard users with a centralized method of accessing all informational functions of the Teammate Pro application. This page displays each of the identified viewing and accessing Sub-CSC’s, so that obtaining the team information is organized, easily accessed and efficiently communicated to coaches, players, parents and fans throughout the season.
3.1.3.1 View Team Information (Sub-CSC)
View Team
Information
(
Sub
-
CSC
)
View Roster
(
CSU
)
View Coach
Information
(
CSU
)
View Player Bios
(
CSU
)
Figure 10 View Team Information
The View Team Information Sub-CSC provides users with three separate informational viewing options that provide coaches, players, parents and fans with all of the currently stored team information. The View Coach Information CSU displays all of the stored background and contact information for each coach. The View Roster CSU displays all of the basic player and contact information for all individuals on the active team roster. Lastly, the View Player Bios CSU displays all of the existing expanded background information, personal attributes and uploaded photos that have been stored for each player.
3.1.3.2 View Schedule (Sub-CSC)
View Schedule
(
Sub
-
CSC
)
Select Game
(
CSU
)
Figure 11 View Schedule
The View Schedule Sub-CSC provides users with the ability to view detailed information regarding team games that have been scheduled throughout the season. The Select Game CSU enables users to select a single game from the list that is presented, after which the pertinent detail such as the location of the game, the time and the opponent is displayed.
3.1.3.3 View Lineup (Sub-CSC)
View Lineup
(
Sub
-
CSC
)
Select Game
(
CSU
)
Figure 12 View Lineup
The View Lineup Sub-CSC provides users with the ability to view detailed information regarding the team lineup that has been established for scheduled games throughout the season. The Select Game CSU enables users to select a single game from the list that is presented, after which the associated lineup is displayed, identifying the players assigned batting order and fielding positions for the game.
3.1.3.4 View Statistics (Sub-CSC)
View Statistics
(
Sub
-
CSC
)
View Game
Statistics
(
CSU
)
View Player
Statistics
(
CSU
)
View Team
Statistics
(
CSU
)
Figure 13 View Statistics
The View Statistics Sub-CSC provides users with the ability to view detailed statistical information that has been recorded for the performance of players in the lineup during the team’s scheduled games that have been played. These statistics are viewable by three different categories. The View Team Statistics CSU displays the aggregate statistics for all of the categories that have been recorded for the entire team’s performance. The View Game Statistics CSU displays only the statistics for a selected game, broken down by inning and player. Finally, the View Player Statistics CSU, displays the aggregate statistics throughout the season for a selected player.
3.1.3.5 View Game Tracker (Sub-CSC)
View Game
Tracker
(
Sub
-
CSC
)
Select Game
(
CSU
)
Figure 14 View Game Tracker
The View Game Tracker Sub-CSC provides users with the ability to view live detailed game and statistical information as the statistics are being recorded by a team admin. This functionality enables individuals unable to attend the game to access the up to date game information, so that they may track what is happening with the players. The Select Game CSU enables users to select a single game from the list that is presented, after which a Game Tracker dialogue is presented to the user with real-time game information. A user may also choose to view the recorded game tracker information for games that have already been completed.
3.1.3.6 Access Team Discussion Board (Sub-CSC)
Access Team
Discussion Board
(
Sub
-
CSC
)
Create Message
(
CSU
)
View Message
(
CSU
)
Delete Message
(
CSU
)
Edit Message
(
CSU
)
Figure 15 Access Team Discussion Board
The Access Team Discussion Board Sub-CSC provides users of the system with the ability to effectively view, contribute to, and modify discussion messages that have been posted on the team discussion board. The View Message CSU enables the viewing of all current messages on the discussion board. The Create Message CSU enables the creation and posting of messages to the board. The Edit Message CSU enables the modification of messages that are posted by the current user. The Delete Message CSU enables the deletion of messages that are posted by the current user.
3.1.4 Mobile Team Information Manager (CSC)
The Mobile Team Information Manager CSC provides team admin users who have a web-enabled device, with efficient mobile access to the live management of the team’s statistical game information, as well as the modification of pre-configured team lineups that are available for scheduled games. This CSC automatically presents users with the two aforementioned options upon successful login to the mobile web page.
3.1.4.1 Record Game Statistics (Sub-CSC)
Record Game
Statistics
(
Sub
-
CSC
)
Enter Batting
Statistics
(
CSU
)
Enter Pitching
Statistics
(
CSU
)
Select Game
(
CSU
)
Figure 16 Record Game Statistics
The Record Game Statistics Sub-CSC provides team admin users with the necessary functionality to successfully record detailed game statistics against the established lineup for the selected team game. The Select Game CSU presents the user with a list of all available games that have yet to be played. Once the desired game is selected, the pre-configured lineup for the game will initiate the following two CSU’s. The Enter Batting Statistics CSU enables the successful entry of the established offensive statistical categories through a mobile device browser. The Enter Pitching Statistics CSU enables the successful entry of the established pitching & defensive statistical categories through a mobile device browser.
3.1.4.2 Modify Lineup (Sub-CSC)
Modify Lineup
(
Sub
-
CSC
)
Add Player to
Lineup
(
CSU
)
Remove Player
From Lineup
(
CSU
)
Select Game
(
CSU
)
Assign Position to
Player
(
CSU
)
Figure 17 Modify Lineup
The Modify Lineup Sub-CSC provides team admin users with the necessary functionality to successfully modify and update the existing team lineup in real-time for a selected game. The Select Game CSU presents the user with a list of all selectable games, which effectively displays the pre-configured lineup after the desired game selection is made. The Add Player to Lineup CSU enables the user to add any player currently displayed in the reserves section, into any spot in the team lineup. The Remove Player From Lineup CSU enables the successful removal of any player currently assigned a spot in the team lineup. Finally, the Assign Position to Player CSU allows the user to assign any fielding position to player that exists in a spot in the team lineup.
3.2 General Constraints
The application is to be utilized on handheld devices. Because of this limitation, and to allow for an enhanced user interface, the application shall make use of the eXtensible HyperText Mark-up Language Mobile Profile (XHTML-MP) version 1.0.
The application shall use Microsoft® ASP.NET Mobile Controls for development for the handheld environment.
Safety is considered very important to the TeamFourSports team. Both adults and children will use the application being built. As such, the TeamFourSports team shall follow all current “Child Protection Laws” enacted in any state for any computer media; therefore, the following items shall not be used on any Teammate Pro website: Alcohol, Tobacco, Pornography or Obscene material, Gambling, Lotteries, Illegal Drugs, Firearms, Prostitution, Materials harmful to minors and Vehicle advertisements.
3.3 Assumptions and Dependencies
The successful implementation and use of the Teammate Pro interactive team management web application assumes that the following product & system dependencies are fulfilled:
· An application and database server, providing continuous SQL database service for Teammate Pro interactive team management web application users
· Proper system database backup, archiving, and disaster recovery processes
· Continuous internet access of PC’s and mobile devices
· Network connectivity and security
· Installed and managed virus protection software
· Secure login & authentication to the desktop PC’s
The W3C has written a white paper on the best practices for use of Mobile devices on the Internet titled Mobile Web Best Practices 1.0. TeamFourSports shall use these best practices in developing the application.
The application server will be hosted on a third party internet service provider’s network. This tier is primarily responsible for providing the necessary connectivity between the web application and the system’s database system. In addition, the application server fulfills the user requests provided from the web application, and executes the developed business logic, to retrieve and supply the proper data from the database.
The database will also reside on the third party internet service provider’s network, and utilize the storage capacity provided to the application. In addition, the database will be continuously available and allow multiple user-initiated connections concurrently.
3.4 Non-Functional Scenarios and Tactics
3.4.1 Quality Attribute Scenarios
3.4.1.1 Performance
The response time, utilization, and throughput behavior of the system are concerned within the performance quality attribute scenarios. Team Administrators, Coaches, Players and Fans provide sources of stimulus to the system. Sporadic events can occur when the users request services from the system. Under normal operations, the transactions should be processed in the system and a reasonable response should be provided to the users. Every process should complete with average latency of three seconds, and the data contained in the response should be complete and accurate.
Source
:
Team Admins
Coaches
Players
Fans
Response
Measure
:
With average
latency of
three
seconds
Completeness and
correctness of
data
Artifact
:
Teammate Pro Web
Application
Stimulus
:
I
nitiate
s
service
request
transactions
Response
:
Transactions
are processed
Environment
:
Under normal
operations
Figure 18 Performance Quality Attribute Scenarios
3.4.1.2 Security
There are two components of concern within the security quality attribute scenario. The first component is regarding the login procedure, while the other component is related to data storage. In the first part of security scenario, when a user tries to log into the system, the system has to identify the user and record the event in its access history. After the successful identification and authentication process, the system should correctly assign the user to one of two user classes: Team Administrators and Standard Users. Team Administrator users have a greater privilege set that allows access to the team management functionality of the system, while the Standard User is allowed only the access and view the team information. If the user is not successfully authenticated, the system shall deny the user access to the system.
Source
:
Users
Response
Measure
:
Correctly identify
individual
(
Team
Admin or
Standard User
)
Denial
of
un
authenticated
User
Artifact
:
Login
to Team Home
Page
Stimulus
:
Tries to
log into
the system
Response
:
System
records
access history
Environment
:
Under normal
operations
Figure 19 Security Quality Attribute Scenarios
Regarding the second component of the security scenario, the system shall only allow Team Administrators to create or modify the existing system data. If a user attempts to modify the information of the system, whether or not they have the privileges to do so, the database system logs the activity and maintains an audit trail. If unauthorized access occurs, the system needs to restore correct data within 24 hours.
Source
:
Correctly identify
individual
(
Team Admin
)
Response
Measure
:
Activity is logged
Data is modified
Artifact
:
Edit Roster
Information
Stimulus
:
Tries to modify
information
Response
:
System maintains
audit trail
Environment
:
Under normal
operations
Figure 20 Security two Quality Attribute Scenarios
3.4.1.3 Maintainability
When a software or hardware failure of a server occurs, such that the web server shuts down, the system should connect to the fail-over redundancy server to continue to provide services to all users. Services should be re-supplied and fixed on the affected server within 24 hours.
Source
:
Users
Response
Measure
:
Affected server is
re
-
supplied within
24
hours
Artifact
:
System
Stimulus
:
Software
or
hardware failure
of
a
server occurs
Response
:
System
connects
to fail
-
over
server
Environment
:
Under normal
operations
Figure 21 Maintainability Quality Attribute Scenarios
3.4.1.4 Correctness
This quality attribute is concerned with the extent to which the software and system conforms to its requirements. As a system that will be required to provide accurate information for all users to utilize the features effectively, correctness can be considered as one of the most significant attributes. All users of the system are the source of and provide a stimulus to the system by attempting to access data. This stimulus is provided under normal conditions and the response is expected to occur by providing the information that is being requested. This information is then evaluated for correctness by determining its accuracy.
Source
:
Users
Response
Measure
:
Desired data is
accurate
Artifact
:
System
Stimulus
:
Accessing of data
such as team
information
,
schedule
,
lineup
,
and statistics
Response
:
System provides
information
Environment
:
Under normal
operations
Figure 22 Correctness Quality Attribute Scenarios
3.4.1.5 Testability
This quality attribute is concerned with the relative effort for which software can be made to demonstrate its faults, or provide the necessary interface controls to utilize the system. In this scenario, developers or testers are the sources that provide the stimulus of performing application actions/tests on the system or system component. After the stimulus is provided under normal conditions, the response can be characterized as the system providing the necessary interface control to carry out the action or test. The method of measuring the response involves determining if the desired action or test is successfully carried out or completed.
Source
:
Developers
Testers
Response
Measure
:
Test
/
action is
successfully
completed
Artifact
:
At completion of
system component
/
system
Stimulus
:
Perform
application action
Perform test
Response
:
Desired test has
interface control
Environment
:
Under normal
operations
Figure 23 Testability Quality Attribute Scenarios
3.4.1.6 Usability
The usability quality attribute is mostly concerned with the relative ease of using software, learning the software and building confidence with the software. This particular scenario’s source is the end-users of the system who provide the stimulus of minimizing errors to the system under normal conditions. The desired response in this case involves the need of the user to cancel the current operation and the measure of this response includes the criteria that the operation cancel request occurs within 1 second.
Source
:
Users
Response
Measure
:
Cancel takes
within
1
second
to process
Artifact
:
System
Stimulus
:
Minimize Errors
Response
:
Wish to cancel
current operation
Environment
:
At runtime
Figure 24 Usability Quality Attribute Scenarios
3.4.1.7 Portability
The portability quality attribute is mostly concerned with the relative effort to adapt the software to a different environment. In this scenario, the platform dependency of the system is tested by administrators, and in the long run users. The administrator in this case is seen from the implementation perspective. The response desired is to have a system that is easy adaptable to cross platform configuration with ‘ease of installation’ being the response measure. The system involved the software as well as the hardware that is to be used.
Source
:
Administrator
Users
Response
Measure
:
Ease of
installation
Artifact
:
System
Stimulus
:
Minimize
Platform
Dependency
Response
:
Cross Platform
Configuration
Environment
:
At installation
Figure 25 Portability Quality Attribute Scenarios
3.4.1.8 Modifiability
The modifiability quality attribute is the relative effort in which a software system can accommodate changes to its software. In this scenario, users need to change data that they interact with in the system. The operation happens at runtime and the desire response is edit and save changes made to the data in a speedy and reliable way so they can extract that data in the future if necessary.
Source
:
Users
Response
Measure
:
Speed and
Reliability to
write to database
Artifact
:
System
Stimulus
:
Changing Data
Response
:
Wish to edit and
save changes
made
Environment
:
At runtime
Figure 26 Modifiability Quality Attribute Scenarios
3.4.1.9 Availability
The availability quality attribute is concerned with the amount of time that the system is up and running correctly; the time between failure and the time that is needed to resume operation after failure. In this scenario, a software or hardware failure occurs during normal operations. The system connects to a fail-over server that takes over the responsibility of the downed server; in that way, operations continue to be available with no downtime. Then the downed server is restored by first fixing the software or hardware problem within a time frame of 2 to 5 hours.
Source
:
External
Response
Measure
:
Affected server is
re
-
supplied within
2
-
5
hours
Artifact
:
Process
Stimulus
:
Software
or
hardware failure
of
a
server occurs
Response
:
System
connects
to fail
-
over
server
Environment
:
Under normal
operations
Figure 27 Availability Quality Attribute Scenarios
3.4.2 Quality Tactics
3.4.2.1 Performance
The appropriate tactics to apply to the Performance quality attribute include resource demand, which is primarily affected by the system’s computational efficiency and the size of the data queues. Resource Management is also considered, so that the necessary available resources are increased or fully utilized. Lastly, resource arbitration is a tactic that can control the scheduling policies on the system to limit user loads at critical times.
Performance
Resource demand
:
increase computation efficiency
bound queue sizes
Resource management
:
increase available resources
Resource arbitration
:
scheduling policy
Multiple User
Requests
System Response
Figure 28 Performance Quality Tactics
3.4.2.2 Security
The appropriate tactics to apply the Security quality attribute have already been alluded to in the scenarios illustrated in the section above. One of the primary tactics that should be considered is resisting attacks by utilizing the proper security technology to authenticate and authorize users upon login. The other primary tactic focuses on the recovery of the system after a security breach is detected. The only way to enable this sort of tactic is to enforce the constant identification and logging of activities by all users to create a complete audit trail.
Security
Resisting Attacks
:
authenticate users
authorize users
Recovering from an Attack
:
identification
-
audit trail
Stimulus
Response
Figure 29 Security Quality Tactics
3.4.2.3 Maintainability
The appropriate tactics to apply to the Maintainability quality attribute include maintaining the software, hardware, tools and the texts describing the aforementioned attributes. Maintaining software involves configuration management and change management. Maintaining hardware is focused on keeping the hardware functional and operational maintenance agreements. The quality attribute for tools may involve keeping the Integrated Development Environment for each build of the software, or for the tools used for configuration management or record keeping. For texts involves keeping the records of maintenance. In addition, keeping the documentation that was involved with building the application current.
Maintainability
Maintain existing interface
Maintain Software
Maintain Hardware
Maintain tools
Maintain texts
Stimulus
Response
Figure 30 Maintainability Quality Tactics
3.4.2.4 Correctness
The appropriate tactics to apply to the Correctness quality attribute include data entry specifications, which consider the enforcement of required data formats being followed upon data entry. The other factor that is considered is the enforcement of data retrieval specification upon obtaining data from the database. The final tactic that must be considered is the uniform representation of data when it is displayed throughout the system.
Correctness
Data entry specifications
:
enforce required data format
Data retrieval specifications
:
enforce routine access
Standardized data representation
:
follow uniform display requirements
Users request
data
Correct data is
provided
Figure 31 Correctness Quality Tactics
3.4.2.5 Testability
In order to ensure the achievement of the testability quality attribute within the system, the two major factors that must be considered are “Managing Input/Output” and “Internal Monitoring.” These two factors are further elaborated with their respective activities of record/playback, separate interfaces provided to developers and testers, and specialized access routines that allow the bypassing of the application to effectively test. In addition, by utilizing built-in monitors, faults can be more efficiently detected.
Testability
Manage Input
/
Output
:
record
/
playback
separate interface from implementation
specialized access routines
/
interfaces
Internal Monitoring
:
built
-
in monitors
Completion of
component
/
System
Faults detected
Figure 32 Testability Quality Tactics
3.4.2.6 Usability
In order to ensure the usability quality attribute, we must consider three major factors: a separate user-interface for the user to utilize, supporting the user initiative and supporting the system initiative. To support the user initiative, the system should provide the ability to cancel and undo actions at all times. For support of the system initiative, the system must provide the user, system and task models.
Usability
Separate user
-
interface
Support user initiative
:
cancel action
undo action
Support system initiative
:
user model
system model
task model
User request
Appropriate
feedback
provided
Figure 33 Usability Quality Tactics
3.4.2.7 Portability
In order for portability to be assured during design time, they system must be thought with cross platform design in mind. Another way to put it is to have an open design that is adaptable to different environments. When distributing an installation, it shall run on different platforms. The goal is ease and adaptability of installation.
Portability
Manage Installation
different platforms
Open Design
adaptability
Cross Platform
Design
Ease
/
adaptability of
Installation
Figure 34 Portability Quality Tactics
3.4.2.8 Modifiability
In order for a system to assure modifiability, the system should be able to localize (anticipate) changes. Managing modifications will assure that negative ripple effects do not occur. Polymorphism can be used to make changes more easily taken by the system. The ultimate goal is to have the system accept the changes requested with minimal disruptions.
Modifiability
Localize Changes
anticipate
limit options
Prevention of Ripple Effects
hide information
maintain existing interface
Defer Binding Time
polymorphism
Configure
Changes
Accept Changes
Figure 35 Modifiability Quality Tactics
3.4.2.9 Availability
When an external problem is introduced, the system shall provide for fault detection, ability to recover and accommodate for fast repairs, easy resynchronization after rollover, and monitoring of resources to prevent the same problems to occur again. The main goal is fast recovery of system with minimal downtime when a problem is introduced.
Availability
Fault Detection
exception
Recovery
/
Repair
redundancy
Reintroduction
resynchronization
Prevention
monitor for reoccurance
External Problem
Introduced
Recovery of
System with
minimal
downtime
Figure 36 Availability Quality Tactics
4 Detailed Design
4.1 Screen Display Samples
The following sections have prototype mock user interface that should be used to design the Teammate Pro application. There are two distinct interfaces: Mobile and Web.
4.1.1 Mobile
The following screenshots illustrate the graphical user interface for the mobile devices:
Mobile Login Page on Openwave™ Simulator
Figure 37 Select Game Page on Openwave™ Simulator
Figure 38 Select Game Screen on Openwave™ Simulator
Figure 39 Begin Game Play Panel
Figure 40 Batter Up Panel
Figure 41 Batter is Out Panel
Figure 42 Batter Gets a Hit Panel
4.1.2 Web
4.2 Detailed Web Object Model
The proceeding diagrams illustrate the Web objects used for the detailed design of Teammate Pro. Normally there would be class diagrams in the Object model, because the application is web-based the object oriented class diagram will not work, therefore TeamFourSports elected to view the project as web objects. Since there are two distinct interfaces into Teammate Pro, there are partitioned as such: Mobile and Web.
4.2.1 Mobile
The figure below represents the Web object model for the Mobile interface of Teammate Pro.
Login
MobTeamInfo
Page
MobRecStats
Page
MobModLineup
Page
Figure 43 Mobile Web Object
4.2.2 Web
For the Web interface, it was necessary to break the Web objects into partitions. Below are three figures that represent the Web interface Web Object view.
Login
TeamPage
ManTeamInfo
Page
AccessTeamInfo
Page
Figure 44 Initial Web Interface
ManTeamHome
Page
ManCoachInfo
Page
ManRoster
Page
ManPlayerBios
Page
ManSched
Page
ManLineup
Page
ManStats
Page
ManDiscBoard
Page
ManTeamInfo
Page
Figure 45 Manage Team Info View
AccessTeamInfo
Page
ViewTeamInfo
Page
ViewSchedule
Page
ViewLineup
Page
ViewStats
Page
ViewGameTrack
Page
DiscBoard
Page
Figure 46 Access Team Information View
4.3 Detailed Dynamic Model
The dynamic model chosen for Teammate Pro are sequence diagrams. The Figures below contain four separate Sequence Diagrams:
valid
:TeamHomePage:ManageTeamInfoManageTeamPageLoginControllerPageController:UserAccountDatabase
Submit Login Information
[Valid] Display Manage Team Information Page
[Not Valid] Display Error
Verify Account Information
Select Manage Team Information Feature
Add/Edit/Delete Records
Boundary Objects
Control ObjectsEntity Objects
Sequence Diagram 1 for Team Administrator
Top Package::Team Admin
ManageCoachInfoManagePlayerBiosManage Roster
Display Manage Team Home Page
Submit Home Page Changes
Display Manage Coach Information
Submit Coach Information Changes
Display Manage Roster Page
Submit Roster Changes
Display Manage Player Bio Page
Submit Player Bio Changes
Figure 47 Sequence Diagram 1 for Team Administrator
valid
:TeamHomePage:ManageTeamInfoManage ScheduleLoginControllerPageController:UserAccountDatabase
Submit Login Information
[Valid] Display Manage Team Information Page
[Not Valid] Display Error
Verify Account Information
Select Manage Team Information Feature
Add/Edit/Delete Records
Boundary Objects
Control ObjectsEntity Objects
Sequence Diagram 2 for Team Administrator
Top Package::Team Admin
Manage LineupManage Discussion BoardManage Statistics
Display Manage Schedule Page
Submit Schedule Changes
Display Manage Lineup Page
Submit Lineup Changes
Display Manage Statistics Page
Submit Statistics Changes
Display Manage Discussion Page
Submit Discussion Changes
Figure 48 Sequence Diagram 2 for Team Administrator
valid
:MobileTeamHomePage:ManageTeamInfoModify LineupLoginControllerMobilePageController:UserAccountDatabase
Submit Login Information
[Valid] Display Manage Team Information Page
[Not Valid] Display Error
Verify Account Information
Select Manage Mobile Team Information Feature
Add/Edit/Delete Records
Boundary ObjectsControl Objects
Entity Objects
Mobile Sequence Diagram for Team Administrator
Top Package::Team Admin
Record Game Statistics
Display Manage Team Home Page
Submit Home Page Changes
Display Manage Player Bio Page
Submit Player Bio Changes
Figure 49 Mobile Sequence Diagram for Team Administrator
valid
:TeamHomePage:ViewTeamInfoViewScheduleLoginControllerPageController:UserAccountDatabase
Submit Login Information
[Valid] Display View Team Information Page
[Not Valid] Display Error
Verify Account Information
Select View Team Information Feature
Boundary Objects
Control ObjectsEntity Objects
Sequence Diagram for User
Top Package::User
ViewLineupViewGameTrackerView Statistics
Display Team Schedule
Display Lineup Information
Display Team Statistics
Display Game Tracker
Return Data
ViewDiscussion
Display Discussion Board
Retrieve Data
Display Team Information Page
Figure 50 Sequence Diagram for User
4.4 Functional Diagram
The Figure below is a Entity Relationship Diagram that represents the Teammate Pro application database.
User
PKUserKey
Password
IsRegistered
CreatedDate
CreatedBy
CreatedByIP
Team
PKTeamKey
TeamName
LeagueName
SeasonStartDate
City
State
IsMinorLeague
TeamPage
CreatedDate
CreatedBy
CreatedByIP
Player
PKPlayerKey
FK1UserKey
FK2TeamKey
FirstName
LastName
Nickname
CanManageTeam
Number
CreatedDate
CreatedBy
CreatedByIP
PlayerPage
Game
PKGameKey
FK1TeamKey
GameDate
OpposingTeam
Location
IsHomeGame
CreatedDate
CreatedBy
CreatedByIP
BattingStats
PK,FK2PlayerKey
PK,FK1GameKey
Singles
Doubles
Triples
HomeRuns
RunsScored
RunsBattedIn
Strikeouts
Popouts
Flyouts
Lineouts
Groundouts
FieldersChoice
Walks
IntentionalWalks
HitByPitch
ThirdStrikePastBall
OnByError
PitchingStats
PK,FK1PlayerKey
PK,FK2GameKey
Stirkeouts
Popouts
Flyouts
Lineouts
Groundouts
FieldersChoice
Walks
IntentionalWalks
Singles
Doubles
Triples
HomeRuns
HitBatters
ThirdStrikePastBall
RunsScored
OnByError
Position
PKPositionKey
PositionName
Abbreviation
GameScores
PK,FK1GameKey
PKInning
HomeScore
HomeHits
HomeErrors
AwayScore
AwayHits
AwayErrors
Lineup
PKLineupKey
BattingOrder
InningIn
FK1GameKey
FK2PlayerKey
FK3PositionKey
FK4TeamKey
Figure 51 Teammate Pro ERD
4.5 Manage Team Information (CSC)
4.5.1 CSC Structure Chart Diagrams
4.6 Manage Team Home Page (Sub-CSC)
4.6.1 CSC Structure Chart Diagrams
4.6.2 Detailed Software Design –Add Home Page (CSU)
4.6.2.1.1 Narrative:
The newHome method allows the coach to create a team page with customizable logo and page layout.
4.6.2.1.2 Input Data Elements:
Table 1 Team Admin Manage Team Home Page –Add Home Page Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
Logo |
Picture |
(.jpeg, .gif, .png) |
N/A |
PageKey
|
Parameter (By Value) |
|
Color |
Colors |
Int |
5-10 characters |
PageKey |
Parameter (By Value) |
|
SiteTemplate |
Html file |
String |
N/A |
PageKey |
Parameter (By Value) |
4.6.2.1.3 Output Data Elements
Table 2 Team Admin Manage Team Home Page –Add Home Page Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
displayPage |
Message |
Bool |
0 = False 1 = True |
TeamWebPage |
GUI Dialogue/Message |
4.6.2.1.4 Processing Characteristics
4.6.2.1.5 Algorithms
Get Logo selection,
get Color selection,
get SiteTemplate selection
save
4.6.2.1.6 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.6.2.1.7 Utilization of Other Elements
The newHome method requires direct interaction with the Team Home Page GUI, as well as an active connection to the TeamMate Pro database.
4.6.2.1.8 Limitations
The newHome will have predefined Logos, Colors and Site Templates.
4.6.3 Detailed Software Design -Edit Home Page (CSU)
4.6.3.1 Team Admin ManHomePage Method – editHome ()
4.6.3.2 Narrative:
The newHome method allows the coach to create a team page with customizable logo and page layout.
4.6.3.3 Input Data Elements:
Table 3 Team Admin Manage Team Home Page – Edit Home Page Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
Logo |
Picture |
(.jpeg, .gif, .png) |
N/A |
PageKey
|
Parameter (By Value) |
|
Color |
Colors |
Int |
5-10 characters |
PageKey |
Parameter (By Value) |
|
SiteTemplate |
Html file |
String |
N/A |
PageKey |
Parameter (By Value) |
4.6.3.4 Output Data Elements
Table 4 Team Admin Manage Team Home Page – Edit Home Page Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
displayPage |
Message |
Bool |
0 = False 1 = True |
TeamWebPage |
GUI Dialogue/Message |
4.6.3.5 Processing Characteristics
4.6.3.6 Algorithms
Get Logo selection,
get Color selection,
get SiteTemplate selection
save
4.6.3.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.6.3.8 Utilization of Other Elements
The editHome method requires direct interaction with the Team Home Page GUI, as well as an active connection to the TeamMate Pro database.
4.6.3.9 Limitations
The editHome will have predefined Logos, Colors and Site Templates.
4.7 Manage Coach Information (Sub-CSC)
4.7.1 CSC Structure Chart Diagrams
4.7.2 Detailed Software Design -Add Coach (CSU)
4.7.2.1 Team Admin ManCoachInfo Method – addCoach()
4.7.2.2 Narrative:
The addCoach method allows new coaches to be added to a team in the database.
4.7.2.3 Input Data Elements:
Table 5 Manage Coach Information Page –Add Coach Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
TeamKey |
Team id |
int |
n/a |
Session |
Parameter (By Value) |
|
FirstName |
Coach's First Name |
varChar |
50 |
Coach Information Page |
Parameter (By Value) |
|
LastName |
Coach's Last Name |
varChar |
50 |
Coach Information Page |
Parameter (By Value) |
|
NickName |
Coach's Nick Name, optional |
varChar |
50 |
Coach Information Page |
Parameter (By Value) |
|
EmailAddress |
Coach's Email Address, optional |
varChar |
50 |
Coach Information Page |
Parameter (By Value) |
|
IsCoach |
Indicates if the team member is a coach or player |
bit |
1 = coach 0 = player |
Coach Information Page |
Parameter (By Value) |
|
CanManageTeam |
Indicates if the team member can edit the team website |
bit |
0 = Restricted user 1 = Full rights |
Coach Information Page |
Parameter (By Value) |
4.7.2.4 Output Data Elements:
Table 6 Manage Coach Information Page –Add Coach Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
PlayerKey |
New Player's id |
int |
n/a |
Database |
SQL |
|
Success |
Message |
Bool |
0 = False 1 = True |
Coach Information Page |
GUI Dialogue/Message |
4.7.2.5 Processing Characteristics
Chained row insert
4.7.2.6 Algorithms
SEARCH for EmailAddress IN User table
If Found, Fetch UserKey
Else Create new row in User table, save new UserKey
SEARCH for UserKey/TeamKey in PlayerKey
If Found, throw error
Else Create new row in Player table, returning PlayerKey
Display success message
4.7.2.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.7.2.8 Utilization of Other Elements
The addCoach method requires interaction with the ManageCoachInfo page, as well as an active connection to the Teammate Pro database.
4.7.3 Detailed Software Design -Edit Coach Information (CSU)
4.7.3.1 Team Admin ManCoachInfo Method – editCoach()
4.7.3.2 Narrative:
The editCoach method allows new players and coaches to be added to a team in the database.
4.7.3.3 Input Data Elements:
Table 7 Manage Coach Information Page –Edit Coach Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
TeamKey |
Team id |
int |
n/a |
Session |
Parameter (By Value) |
|
FirstName |
Coach's First Name |
varChar |
50 |
Coach Information Page |
Parameter (By Value) |
|
LastName |
Coach's Last Name |
varChar |
50 |
Coach Information Page |
Parameter (By Value) |
|
NickName |
Coach's Nick Name, optional |
varChar |
50 |
Coach Information Page |
Parameter (By Value) |
|
EmailAddress |
Coach's Email Address, optional |
varChar |
50 |
Coach Information Page |
Parameter (By Value) |
|
IsCoach |
Indicates if the team member is a coach or player |
bit |
1 = coach 0 = player |
Coach Information Page |
Parameter (By Value) |
|
CanManageTeam |
Indicates if the team member can edit the team website |
bit |
0 = Restricted user 1 = Full rights |
Coach Information Page |
Parameter (By Value) |
4.7.3.4 Output Data Elements:
Table 8 Manage Coach Information Page – Edit Coach Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
PlayerKey |
Coach's id |
int |
n/a |
Database |
SQL |
|
Success |
Message |
Bool |
0 = False 1 = True |
Coach Information Page |
GUI Dialogue/Message |
4.7.3.5 Processing Characteristics
Chained row insert
4.7.3.6 Algorithms
SEARCH for EmailAddress IN User table
If Found, Fetch UserKey
Else Create new row in User table, save new UserKey
SEARCH for UserKey/TeamKey in PlayerKey
If Found, throw error
Else Create new row in Player table, returning PlayerKey
Display success message
4.7.3.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.7.3.8 Utilization of Other Elements
The editCoach method requires direct interaction with the ManCoachInfo page, as well as an active connection to the Teammate Pro database.
4.7.4 Detailed Software Design -Remove Coach (CSU)
4.7.4.1 Team Admin ManCoachInfo Method – remCoach()
4.7.4.2 Narrative:
The remCoach method allows coaches to be removed (virtually) from a team in the database. The database retains the information; however, the coach will not be displayed on the team pages.
4.7.4.3 Input Data Elements:
Table 9 Manage Coach Information Page –Edit Coach Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
PlayerKey |
Coach’s id |
int |
n/a |
Database |
SQL |
4.7.4.4 Output Data Elements:
Table 10 Manage Coach Information Page – Edit Coach Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
IsRemoved |
Removal bit |
bit |
0 = not set 1 = set |
Coach Information Page |
Parameter (By Value) |
4.7.4.5 Processing Characteristics
Chained row insert
4.7.4.6 Algorithms
SEARCH for PlayerKey IN Player table
If Found, set IsRemoved key to 1
Display removal message
4.7.4.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.7.4.8 Utilization of Other Elements
The remCoach method requires direct interaction with the ManCoachInfo page, as well as an active connection to the Teammate Pro database.
4.8 Manage Roster (Sub-CSC)
4.8.1 CSC Structure Chart Diagrams
4.8.2 Detailed Software Design -Add Player (CSU)
4.8.2.1 Team Admin Manage Roster Method – AddPlayer()
4.8.2.2 Narrative:
The AddPlayer method allows new players and coaches to be added to a team in the database.
4.8.2.3 Input Data Elements:
Table 11 Manage Roster Page –Manage Roster Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
TeamKey |
Team id |
int |
n/a |
Session |
Parameter (By Value) |
|
FirstName |
Player's First Name |
varChar |
50 |
Add Player Page |
Parameter (By Value) |
|
LastName |
Player's Last Name |
varChar |
50 |
Add Player Page |
Parameter (By Value) |
|
NickName |
Player's Nick Name, optional |
varChar |
50 |
Add Player Page |
Parameter (By Value) |
|
EmailAddress |
Player's Email Address, optional |
varChar |
50 |
Add Player Page |
Parameter (By Value) |
|
IsCoach |
Indicates if the team member is a coach or player |
bit |
1 = coach 0 = player |
Add Player Page |
Parameter (By Value) |
|
CanManageTeam |
Indicates if the team member can edit the team website |
bit |
0 = Restricted user 1 = Full rights |
Add Player Page |
Parameter (By Value) |
4.8.2.4 Output Data Elements:
Table 12 Manage Roster Page –Manage Roster Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
PlayerKey |
New Player's id |
int |
n/a |
|
|
4.8.2.5 Processing Characteristics
Chained row insert
4.8.2.6 Algorithms
SEARCH for EmailAddress IN User table
If Found, Fetch UserKey
Else Create new row in User table, save new UserKey
SEARH for UserKey/TeamKey in PlayerKey
If Found, throw error
Else Create new row in Player table, returning PlayerKey
4.8.2.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.8.2.8 Utilization of Other Elements
The AddPlayer method requires direct interaction with the GUI, as well as an active connection to the database.
4.8.3 Detailed Software Design -Edit Player (CSU)
4.8.3.1 Team Admin Manage Roster Method – EditPlayer()
4.8.3.2 Narrative:
The EditPlayer method allows new players and coaches to be added to a team in the database.
4.8.3.3 Input Data Elements:
Table 13 Manage Roster Page –Manage Roster Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
TeamKey |
Team id |
int |
n/a |
Session |
Parameter (By Value) |
|
FirstName |
Player's First Name |
varChar |
50 |
Edit Player Page |
Parameter (By Value) |
|
LastName |
Player's Last Name |
varChar |
50 |
Edit Player Page |
Parameter (By Value) |
|
NickName |
Player's Nick Name, optional |
varChar |
50 |
Edit Player Page |
Parameter (By Value) |
|
EmailAddress |
Player's Email Address, optional |
varChar |
50 |
Edit Player Page |
Parameter (By Value) |
|
IsCoach |
Indicates if the team member is a coach or player |
bit |
1 = coach 0 = player |
Edit Player Page |
Parameter (By Value) |
|
CanManageTeam |
Indicates if the team member can edit the team website |
bit |
0 = Restricted user 1 = Full rights |
Edit Player Page |
Parameter (By Value) |
4.8.3.4 Output Data Elements:
Table 14 Manage Roster Page –Manage Roster Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
PlayerKey |
Player's id |
int |
n/a |
|
|
4.8.3.5 Processing Characteristics
Chained row insert
4.8.3.6 Algorithms
SEARCH for EmailAddress IN User table
If Found, Fetch UserKey
Else Create new row in User table, save new UserKey
SEARCH for UserKey/TeamKey in PlayerKey
If Found, throw error
Else PlayerKey in Player table,
Update * by PlayerKey
4.8.3.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.8.3.8 Utilization of Other Elements
The EditPlayer method requires direct interaction with the GUI, as well as an active connection to the database.
4.8.4 Detailed Software Design -Remove Player (CSU)
4.8.4.1 Team Admin Manage Roster Method – removePlayer ()
4.8.4.2 Narrative:
The removePlayer method allows Team Admins to specify the player they would like to remove from the Roster. This method shall check for the IsCanceled value in the Player table and set to 1. That Player will no longer be visible for that team; however, the Player will not be removed from the database.
4.8.4.3 Input Data Elements:
Table 15 Team Admin Modify Lineup – Remove Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
IsCanceled |
Removal Bit |
Bit |
0 = not set, 1 = set |
Player Table
|
Parameter (By Value) |
|
playerID |
Player Identifier |
Char |
1-6 Chars |
playerID |
Parameter (By Value) |
4.8.4.4 Output Data Elements
Table 16Team Admin Modify Lineup – Remove Player Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
Success Message |
Success |
Popup |
Na |
Display |
Show |
4.8.4.5 Processing Characteristics
4.8.4.6 Algorithms
Search Player Table by PlayerKey
Fetch IsCanceled
IsCanceled = 1
4.8.4.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.8.4.8 Utilization of Other Elements
The removePlayer method requires inclusion in the classes utilized within the ManRoster, as well as an active connection to the Teammate Pro database.
4.8.4.9 Limitations
The playerID and lineupID cannot be passed in as a NULL value, as the database cannot successfully query tblPlayer or tblLineup with this invalid input. Constraints placed upon the field input of the ModifyLineup Page shall prevent this occurrence.
4.9 Manage Player Bios (Sub-CSC)
4.9.1 CSC Structure Chart Diagrams
4.9.2 Detailed Software Design -Add Player Bio (CSU)
4.9.2.1 Team Admin ManPlayerBio Method – addBio()
4.9.2.2 Narrative:
The addBio method allows players bios to be added to the players information in the Teammate Pro database in the Player table. A team and player must exist in the database prior to adding the bios information.
4.9.2.3 Input Data Elements:
Table 17 Manage Player Bios Page –Add Player Bio Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
TeamKey |
Team id |
int |
n/a |
Session |
Parameter (By Value) |
|
PlayerKey |
Player's id |
int |
n/a |
Manage Player Bios Page |
SQL |
4.9.2.4 Output Data Elements:
Table 18 Manage Player Bios Page –Add Bio Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
Bios |
Player Bio for written description of player |
String |
500 char |
Database |
SQL |
|
Success |
Message |
Bool |
0 = False 1 = True |
Manage Player Bios Page |
GUI Dialogue/Message |
4.9.2.5 Processing Characteristics
Chained row insert
4.9.2.6 Algorithms
Get PlayerKey and Bios information from Manage Player Bios Page
SEARCH for PlayerKey IN Player table
If Found, Bios = Bios
Display success message
4.9.2.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.9.2.8 Utilization of Other Elements
The addBios method requires interaction with the ManagePlayerBio page, as well as an active connection to the Teammate Pro database.
4.9.3 Detailed Software Design -Edit Player Bio (CSU)
4.9.3.1 Team Admin ManPlayerBio Method – editBio()
4.9.3.2 Narrative:
The editBio method allows players bios to be changed in the players information in the Teammate Pro database in the Player table. A team and player must exist in the database prior to adding the bios information.
4.9.3.3 Input Data Elements:
Table 19 Manage Player Bios Page –Edit Player Bio Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
TeamKey |
Team id |
int |
n/a |
Session |
Parameter (By Value) |
|
PlayerKey |
Player's id |
int |
n/a |
Manage Player Bios Page |
SQL |
4.9.3.4 Output Data Elements:
Table 20 Manage Player Bios Page –Edit Bio Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
Bios |
Player Bio for written description of player |
String |
500 char |
Database |
SQL |
|
Success |
Message |
Bool |
0 = False 1 = True |
Manage Player Bios Page |
GUI Dialogue/Message |
4.9.3.5 Processing Characteristics
Chained row insert
4.9.3.6 Algorithms
Get PlayerKey and Bios information from Manage Player Bios Page
SEARCH for PlayerKey IN Player table
If Found, Bios = Bios
Display success message
4.9.3.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.9.3.8 Utilization of Other Elements
The editBios method requires interaction with the ManagePlayerBio page, as well as an active connection to the Teammate Pro database.
4.10 Manage Schedule (Sub-CSC)
4.10.1 CSC Structure Chart Diagrams
4.10.2 Detailed Software Design -Add Scheduled Game (CSU)
4.10.2.1 Team Admin manSchedule Method – AddGame ()
4.10.2.2 Narrative:
The AddGame method allows new players and coaches to be added to a team in the database.
4.10.2.3 Input Data Elements:
Table 21 Manage Schedule Page –Manage Schedule Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
TeamKey |
Team id |
int |
n/a |
Session |
Parameter (By Value) |
|
GameDate |
Date and time of game |
datetime |
n/a |
Team Calendar Page |
Parameter (By Value) |
|
OpposingTeam |
Name of other team |
varChar |
100 |
Team Calendar Page |
Parameter (By Value) |
|
Location |
Address of playing field |
varChar |
1,000 |
Team Calendar Page |
Parameter (By Value) |
|
IsHomeGame |
Flag indicating game location |
bit |
1= home 0 = away |
Team Calendar Page |
Parameter (By Value) |
4.10.2.4 Output Data Elements:
Table 22 Manage Schedule Page –Manage Schedule Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
GameKey |
New Game's id |
int |
n/a |
|
|
4.10.2.5 Processing Characteristics
Chained row insert
4.10.2.6 Algorithms
SEARCH for EmailAddress IN User table
If Found, Fetch UserKey
Else Create new row in User table, save new UserKey
SEARCH for UserKey/TeamKey in PlayerKey
If Found, throw error
Else Create new row in Player table, returning PlayerKey
4.10.2.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.10.2.8 Utilization of Other Elements
The AddGame method requires direct interaction with the GUI, as well as an active connection to the database.
4.10.3 Detailed Software Design -Edit Scheduled Game (CSU)
4.10.4 Detailed Software Design -Cancel Scheduled Game (CSU)
4.11 Manage Lineup (Sub-CSC)
4.11.1 CSC Structure Chart Diagrams
4.11.2 Detailed Software Design -Create Lineup (CSU)
4.11.2.1 Team Admin CreateLineup Method – setLineup ()
4.11.2.2 Narrative:
The setLineup method allows the team admin user to store the current lineup that has been created for selected game. This method shall check for the gameDate value and the lineupComplete value to determine if the submitted lineup has been properly created by the user before it is stored in the database. A lineup may not be created without an existing game date, or if the lineup has not successfully been completed prior to submission.
4.11.2.3 Input Data Elements:
Table 23 Team Admin Manage Lineup – Create Lineup Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
gameDate |
Game Date |
Date |
N/A |
gameID
|
Parameter (By Value) |
|
lineupComplete |
Lineup Flag |
Bool |
0 = False 1 = True |
lineupKey |
Parameter (By Value) |
4.11.2.4 Output Data Elements
Table 24 Team Admin Manage Lineup – Create Lineup Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
displayLineup |
Created lineup successfully displayed |
Bool |
0 = False 1 = True |
Create Lineup Page |
GUI Dialogue/Message |
4.11.2.5 Processing Characteristics
4.11.2.6 Algorithms
VERIFY lineupComplete IN tblLineup
IF gameDate EXISTS
AND
IF lineupComplete EQUALS 1
THEN STORE INTO tblLineup
RETURN displayLineup
ELSE
RETURN Error Message “Lineup Incomplete”
4.11.2.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.11.2.8 Utilization of Other Elements
The setLineup method requires inclusion in the classes utilized within the CreateLineupPage, as well as an active connection to the Teammate Pro database.
4.11.2.9 Limitations
The gameDate cannot be passed in as a NULL value, as the database cannot successfully query tblGame or tblLineup with this invalid input. Constraints placed upon the field input of the CreateLineup Page shall prevent this occurrence.
4.11.3 Detailed Software Design -Load Default Lineup (CSU)
4.11.3.1 Team Admin LoadDefaultLineup Method – getDefaultLineup ()
4.11.3.2 Narrative:
The getDefaultLineup method allows the team admin user to access the current stored default lineup that has been created for the team. This method shall check for the lineupID value and the isDefault value to retrieve the proper lineup in the database that has been identified previously as the default. A default lineup cannot be successfully loaded if no lineup currently exists with the status of default.
4.11.3.3 Input Data Elements:
Table 25 Team Admin Manage Lineup – Load Default Lineup Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
lineupID |
Lineup Identifier |
Char |
N/A |
lineupKey
|
Parameter (By Value) |
|
isDefault |
Default Lineup Flag |
Bool |
0 = False 1 = True |
lineupID |
Parameter (By Value) |
4.11.3.4 Output Data Elements
Table 26 Team Admin Manage Lineup – Load Default Lineup Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
setLineup |
Sets values for lineup with the default values |
dataTable |
N/A |
Create Lineup Page |
GUI Dialogue/Message |
4.11.3.5 Processing Characteristics
4.11.3.6 Algorithms
VERIFY lineupID IN tblLineup
IF lineupID EXISTS
AND
IF isDefault EQUALS 1
THEN setLineup = defaultLineup
RETURN displayLineup
ELSE
RETURN Error Message “No Default Lineup”
4.11.3.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.11.3.8 Utilization of Other Elements
The getDefaultLineup method requires inclusion in the classes utilized within the CreateLineupPage, as well as an active connection to the Teammate Pro database.
4.11.3.9 Limitations
The lineupID cannot be passed in as a NULL value, as the database cannot successfully query tblLineup with this invalid input. Constraints placed upon the field input of the Load Default Lineup Page shall prevent this occurrence.
4.12 Manage Statistics (Sub-CSC)
4.12.1 CSC Structure Chart Diagrams
4.12.2 Detailed Software Design -Update Statistics (CSU)
4.12.2.1 Record Game Statistics Method – UpdateBatterStats()
4.12.2.2 Narrative:
The function of the UpdateBatterStats method is to modify or insert batting statistics for a particular team player in the BattingStats table in the Teammate Pro database. The method shall utilize a player’s unique identifier and a game’s unique identifier to update or insert a unique row in the BattingStats table associated with that player and game.
4.12.2.3 Input Data Elements:
Table 27 Manage Statistics – UpdateBatterStats Input Data Elements
|
Identifier |
Description |
Data Type |
Limit/ Range |
Source(s) |
Input Method |
|
playerKey |
The unique identifier for Player |
Int |
n/a |
GUI List |
Parameter (By Value) |
|
gameKey |
The unique identifier for Game |
Int |
n/a |
GUI List |
Parameter (By Value) |
|
statName |
The batting statistic to be updated |
String |
n/a |
GUI List |
Parameter (By Value) |
|
statValue |
The value of the statistic to be updated |
Int |
n/a |
Calculated |
Parameter (By Value) |
4.12.2.4 Output Data Elements:
Table 28Manage Statistics – GetBatterStats() Output Data Elements
|
Identifier |
Description |
Data Type |
Limit/ Range |
Destination(s) |
Output Method |
|
n/a |
n/a |
n/a |
n/a |
n/a |
n/a |
4.12.2.5 Processing Characteristics
The UpdateBatterStats method performs an indexed table search and performs an update on a specified column. If no matching row exists, a new row is created.
4.12.2.6 Algorithms
SEARCH playerKey AND gameKey IN BattingStats table
IF no matching rows
INSERT new row with playerKey and gameKey and values of zero
for all statistic columns
INCREMENT column [statName] by statValue
4.12.2.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.12.2.8 Utilization of Other Elements
The UpdateBatterStats method requires inclusion in the classes utilized within the ManageStatisticsPage, as well as an active connection to the Teammate Pro database.
4.12.2.9 Limitations
The playerKey and gameKey cannot be passed in as a NULL value or a value that doesn’t map to a row in the Player or Game table. Both of these cases should result in no rows updated or inserted in BattingStatistics table.
4.12.3 Detailed Software Design –Get Batter Statistics (CSU)
4.12.3.1 Manage Statistics Method – GetBatterStats()
4.12.3.2 Narrative:
The function of the GetBatterStats method is to retrieve batting statistics for a particular team player from the BattingStats table in the Teammate Pro database. The method shall utilize a player’s unique identifier to select all rows from the BattingStats table associated with that player and display the data in a GUI table.
4.12.3.3 Input Data Elements:
Table 29 Manage Statistics – GetBatterStats() Input Data Elements
|
Identifier |
Description |
Data Type |
Limit/ Range |
Source(s) |
Input Method |
|
playerKey |
The unique identifier for Player |
Int |
n/a |
GUI List |
Parameter (By Value) |
4.12.3.4 Output Data Elements:
Table 30 Manage Statistics – GetBatterStats() Output Data Elements
|
Identifier |
Description |
Data Type |
Limit/ Range |
Destination(s) |
Output Method |
|
batterStats |
Tablular data structure containing all of a player’s batting statistics |
DataTable |
n/a |
Display Player Statistics Page |
GUI |
4.12.3.5 Processing Characteristics
The GetBatterStats method is an indexed table search.
4.12.3.6 Algorithms
SEARCH playerKey IN BattingStats table
STORE matching rows in batterStats
DISPLAY rows in batterStats
4.12.3.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.12.3.8 Utilization of Other Elements
The GetBatterStats method requires inclusion in the classes utilized within the ManageStatisticsPage, as well as an active connection to the Teammate Pro database.
4.12.3.9 Limitations
The playerKey cannot be passed in as a NULL value or a value that doesn’t map to a row in the Player table. Both of these cases should result in no rows stored in batterStats.
4.13 Manage Team Discussion Board (Sub-CSC)
4.13.1 CSC Structure Chart Diagrams
4.13.2 Detailed Software Design -Create Message (CSU)
4.13.2.1 Team Admin SendMessage Method – setMessage()
4.13.2.2 Narrative:
The setMessage method allows the Team Admin to be able to view the team discussion board. The discussion board messages will be stored in the Teammate Pro database by date. The IsRestricted bit must not be set otherwise the player or coach will not be able to access the Discussion board.
4.13.2.3 Input Data Elements:
Table 31 Access Team Discussion Board Page –Send Message Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
IsRestricted |
Field used to restrict access to Discussion Board |
bit |
0 = not set, 1 = set |
Player table |
Parameter (By Value) |
|
PlayerKey |
Player Id |
Int |
N/A |
Session |
Parameter (By Value) |
|
MessageTxt |
Text Box for Message |
String |
500 char |
Discussion Board Page |
Parameter (By Value) |
4.13.2.4 Output Data Elements:
Table 32 Access Team Discussion Board Page –View Message Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
Message |
Message Text |
varChar |
500 char |
Message Table |
assignment |
4.13.2.5 Processing Characteristics
Chained row insert
4.13.2.6 Algorithms
Get PlayerKey from Discussion Board Page
SEARCH for PlayerKey IN Player table
If Found, fetch IsRestricted
If IsRestricted Deny access
Else, fetch Discussion Board Message
setMessage = MessageTxt
Display Discussion Board
4.13.2.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.13.2.8 Utilization of Other Elements
The setMessage method requires interaction with the ViewMessage page, as well as an active connection to the Teammate Pro database.
4.13.3 Detailed Software Design -View Message (CSU)
4.13.3.1 Team Admin ViewMessage Method – getMessage()
4.13.3.2 Narrative:
The getMessage method allows the Team Admin to be able to view the team discussion board. The discussion board messages will be stored in the Teammate Pro database by date. The IsRestricted bit must not be set otherwise the player or coach will not be able to access the Discussion board.
4.13.3.3 Input Data Elements:
Table 33 Access Team Discussion Board Page –View Message Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
IsRestricted |
Field used to restrict access to Discussion Board |
bit |
0 = not set, 1 = set |
Player table |
Parameter (By Value) |
|
PlayerKey |
Player Id |
Int |
N/A |
Session |
Parameter (By Value) |
4.13.3.4 Output Data Elements:
Table 34 Access Team Discussion Board Page –View Message Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
|
|
|
|
|
|
4.13.3.5 Processing Characteristics
Chained row insert
4.13.3.6 Algorithms
Get PlayerKey from Discussion Board Page
SEARCH for PlayerKey IN Player table
If Found, fetch IsRestricted
If IsRestricted Deny access
Else, fetch Discussion Board
Display Discussion Board
4.13.3.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.13.3.8 Utilization of Other Elements
The getMessage method requires interaction with the ViewMessage page, as well as an active connection to the Teammate Pro database.
4.13.4 Detailed Software Design -Delete Message (CSU)
4.13.4.1 Team Admin DeleteMessage Method – setMsgDelete ()
4.13.4.2 Narrative:
The setMsgDelete method allows the team admin user to remove messages that have been posted to the team discussion board. This method shall check for the messageID value for the selected message and modify the isDeleted value to prevent the message from displaying in the message board. The team admin may modify the isDeleted value for any message that is posted.
4.13.4.3 Input Data Elements:
Table 35 Team Admin Manage Discussion Board – Delete Message Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
messageID |
Message Identifier |
Char |
6 Chars |
messageID
|
Parameter (By Value) |
|
isDeleted |
Message Deleted Flag |
Bool |
0 = False 1 = True |
messageID |
Parameter (By Value) |
4.13.4.4 Output Data Elements:
Table 36 Team Admin Manage Discussion Board – Delete Message Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
displayMsg |
Modifies the Current Display of Messages |
dataTable |
N/A |
Manage Discussion Board Page |
GUI Dialogue/Message |
4.13.4.5 Processing Characteristics
4.13.4.6 Algorithms
VERIFY messageID IN tblMessage
IF messageID EXISTS
AND
IF isDeleted EQUALS 0
THEN SET isDeleted = 1
RETURN displayMsg
ELSE
RETURN Error Message “Message Does Not Exist”
4.13.4.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.13.4.8 Utilization of Other Elements
The setMsgDelete method requires inclusion in the classes utilized within the ManageDiscussionBoardPage, as well as an active connection to the Teammate Pro database.
4.13.4.9 Limitations
The messageID cannot be passed in as a NULL value, as the database cannot successfully query tblMsg with this invalid input. Constraints placed upon the field input of the ManageDiscussionBoardPage shall prevent this occurrence.
4.13.5 Detailed Software Design -Allow/Deny User Access (CSU)
4.13.5.1 Team Admin ModifyAccess Method – setAccess ()
4.13.5.2 Narrative:
The setAccess method allows the team admin user to modify a user’s privilege to allow or deny their access to create messages within the team discussion board. This method shall check for the userID value associated with a selected message and modify the msgAccess value within tblUser. The team admin may modify the msgAccess value for any user who has posted an inappropriate message.
4.13.5.3 Input Data Elements:
Table 37 Team Admin Manage Discussion Board – Delete Message Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
messageID |
Message Identifier |
Char |
6 Chars |
messageID
|
Parameter (By Value) |
|
userID |
User Identifier |
Char |
6-10 Chars |
userID |
Parameter (By Value) |
|
msgAccess |
User Access Flag |
Bool |
0 = False 1 = True |
userID |
Parameter (By Value) |
4.13.5.4 Output Data Elements:
Table 38 Team Admin Manage Discussion Board – Delete Message Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
displayUser |
Displays User Profile with New Changes |
dataTable |
N/A |
Manage Discussion Board Page |
GUI Dialogue/Message |
4.13.5.5 Processing Characteristics
4.13.5.6 Algorithms
VERIFY messageID, userID IN tblMessage, tblUser
IF messageID EXISTS
AND userID EXISTS
IF msgAccess EQUALS 0
THEN SET msgAccess = 1
RETURN displayUser
ELSE
IF msgAccess EQUALS 1
THEN SET msgAccess = 0
RETURN displayUser
ELSE
RETURN Error Message “User No Longer Exists”
4.13.5.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.13.5.8 Utilization of Other Elements
The setAccess method requires inclusion in the classes utilized within the ManageDiscussionBoardPage, as well as an active connection to the Teammate Pro database.
4.13.5.9 Limitations
The messageID and userID cannot be passed in as a NULL value, as the database cannot successfully query tblMsg and tblUser with this invalid input. Constraints placed upon the field input of the ManageDiscussionBoardPage shall prevent this occurrence.
4.14 Access Team Information (CSC)
4.14.1 CSC Structure Chart Diagrams
4.15 View Team Information (Sub-CSC)
4.15.1 CSC Structure Chart Diagrams
4.15.2 Detailed Software Design -View Coach Information (CSU)
4.15.2.1 User ViewTeamInfo Method – viewCoach ()
4.15.2.2 Narrative:
The viewCoach method allows a user to view on one page the coach’s first name, last name, email address, phone number and (optional) picture. The user will select a list of available coaches by checking the isCoach field of the Players table.
4.15.2.3 Input Data Elements:
Table 39 View Coach Information Page –View Coach Information Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
getCoach |
Coach Name |
String |
256 characters |
PlayerKey |
Dropdown |
4.15.2.4 Output Data Elements:
Table 40 View Coach Information Page –View Coach Information Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
displayCoach |
Coach Information Page |
DataTable |
N/A |
CoachInfoPage |
GUI |
4.15.2.5 Processing Characteristics
4.15.2.6 Algorithms
Get list from Player table
Check if isCoach
Populate list
On click:
Get Coach First Name from database,
Get Coach Last Name from database,
Get Coach Phone Number from database,
Get Coach email from database,
Get Coach picture from database,
display
4.15.2.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.15.2.8 Utilization of Other Elements
The viewCoach method requires inclusion in the classes utilized within the CoachInfoPage, as well as an active connection to the Teammate Pro database.
4.15.2.9 Limitations
The viewCoach will be populated by the Player table with check for isCoach field into a data table.
4.15.3 Detailed Software Design -View Roster (CSU)
4.15.3.1 User ViewRoster Method – getRoster ()
4.15.3.2 Narrative:
The getRoster method of the ViewRoster class allows a user to view on one page all the players information including first name, last name, email address, phone number. The getRoster will display in a table all the players’ information.
4.15.3.3 Input Data Elements:
Table 41 View Roster Page –View Roster Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
onSubmit |
Listener for Button Click |
Listener |
N/A |
ViewRosterPage |
GUI click |
4.15.3.4 Output Data Elements:
Table 42 View Roster Page –View Roster Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
getRoster |
Roster Page |
DataTable |
N/A |
RosterPage |
GUI |
4.15.3.5 Processing Characteristics
4.15.3.6 Algorithms
Get list from Player table
On click:
Populate Grid
4.15.3.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.15.3.8 Utilization of Other Elements
The getRoster method requires inclusion in the classes utilized within the RosterPage, as well as an active connection to the Teammate Pro database.
4.15.3.9 Limitations
The getRoster will be populated by the Player table into a data table and displayed.
4.15.4 Detailed Software Design -View Player Bios (CSU)
4.15.4.1 User ViewBios Method – getBios ()
4.15.4.2 Narrative:
The getBios method of the ViewBios class allows a user to view on one page a player’s information including first name, last name, email address, phone number, (optional) picture and player bio information.
4.15.4.3 Input Data Elements:
Table 43 View Bios Page –View Bios Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
BiosSubmit |
Listener for Button Click |
Listener |
N/A |
ViewBiosPage |
GUI click |
4.15.4.4 Output Data Elements:
Table 44 View Bios Page –View Bios Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
getBios |
Player Bios Page |
DataTable |
N/A |
RosterPage |
GUI |
4.15.4.5 Processing Characteristics
4.15.4.6 Algorithms
Get list from Player table
On click:
Populate Grid
4.15.4.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.15.4.8 Utilization of Other Elements
The getBios method requires inclusion in the classes utilized within the RosterPage, as well as an active connection to the Teammate Pro database.
4.15.4.9 Limitations
The getBios will be populated by the Player table into a data table and displayed.
4.16 View Schedule (Sub-CSC)
4.16.1 CSC Structure Chart Diagrams
4.16.2 Detailed Software Design -Select Game (CSU)
4.16.2.1 User ViewLineup Method – selectGame()
4.16.2.2 Narrative:
The selectGame method allows users to specify the scheduled game for which they would like to view the pre-configured team lineup. This method shall check for the gameDate value and the lineupComplete value to determine if the selected game has a lineup properly configured. If the game selected does not have a lineup configured, the user will not be presented with a lineup.
4.16.2.3 Input Data Elements:
Table 45 User View Lineup – Select Game Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
gameDate |
Game Date |
Date |
N/A |
gameID
|
Parameter (By Value) |
|
lineupComplete |
Lineup Flag |
Bool |
0 = False 1 = True |
lineupKey |
Parameter (By Value) |
4.16.2.4 Output Data Elements:
Table 46 User View Lineup – Select Game Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
displayLineup |
Lineup successfully displayed flag |
Bool |
0 = False 1 = True |
View Lineup Page |
GUI Dialogue/Message |
4.16.2.5 Processing Characteristics
4.16.2.6 Algorithms
VERIFY lineupComplete IN tblLineup
IF gameDate EXISTS
AND
IF lineupComplete EQUALS 1
RETURN displayLineup
ELSE
RETURN Error Message “No Lineup Configured”
4.16.2.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.16.2.8 Utilization of Other Elements
The selectGame method requires inclusion in the classes utilized within the ViewLineupPage, as well as an active connection to the Teammate Pro database.
4.16.2.9 Limitations
The gameDate cannot be passed in as a NULL value, as the database cannot successfully query tblGame or tblLineup with this invalid input. Constraints placed upon the field input of the ViewLineup Page shall prevent this occurrence.
4.17 View Lineup (Sub-CSC)
4.17.1 CSC Structure Chart Diagrams
4.17.2 Detailed Software Design -Select Game (CSU)
4.17.2.1 User ViewLineup Method – selectGame()
4.17.2.2 Narrative:
The selectGame method allows users to specify the scheduled game for which they would like to view the pre-configured team lineup. This method shall check for the gameDate value and the lineupComplete value to determine if the selected game has a lineup properly configured. If the game selected does not have a lineup configured, the user will not be presented with a lineup.
4.17.2.3 Input Data Elements:
Table 47 User View Lineup – Select Game Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
gameDate |
Game Date |
Date |
N/A |
gameID
|
Parameter (By Value) |
|
lineupComplete |
Lineup Flag |
Bool |
0 = False 1 = True |
lineupKey |
Parameter (By Value) |
4.17.2.4 Output Data Elements:
Table 48 User View Lineup – Select Game Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
displayLineup |
Lineup successfully displayed flag |
Bool |
0 = False 1 = True |
View Lineup Page |
GUI Dialogue/Message |
4.17.2.5 Processing Characteristics
4.17.2.6 Algorithms
VERIFY lineupComplete IN tblLineup
IF gameDate EXISTS
AND
IF lineupComplete EQUALS 1
RETURN displayLineup
ELSE
RETURN Error Message “No Lineup Configured”
4.17.2.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.17.2.8 Utilization of Other Elements
The selectGame method requires inclusion in the classes utilized within the ViewLineupPage, as well as an active connection to the Teammate Pro database.
4.17.2.9 Limitations
The gameDate cannot be passed in as a NULL value, as the database cannot successfully query tblGame or tblLineup with this invalid input. Constraints placed upon the field input of the ViewLineup Page shall prevent this occurrence.
4.18 View Statistics (Sub-CSC)
4.18.1 CSC Structure Chart Diagrams
4.18.2 Detailed Software Design -View Team Statistics (CSU)
4.18.2.1 Manage Statistics Method – GetTeamStats()
4.18.2.2 Narrative:
The function of the GetTeamStats method is to retrieve batting statistics for a particular team player from the BattingStats table in the Teammate Pro database. The method shall utilize a player’s unique identifier to select all rows from the BattingStats table associated with that player and display the data in a GUI table.
4.18.2.3 Input Data Elements:
Table 49 Manage Statistics – GetBatterStats() Input Data Elements
|
Identifier |
Description |
Data Type |
Limit/ Range |
Source(s) |
Input Method |
|
playerKey |
The unique identifier for Player |
Int |
n/a |
GUI List |
Parameter (By Value) |
4.18.2.4 Output Data Elements:
Table 50 Manage Statistics – GetBatterStats() Output Data Elements
|
Identifier |
Description |
Data Type |
Limit/ Range |
Destination(s) |
Output Method |
|
batterStats |
Tablular data structure containing all of a player’s batting statistics |
DataTable |
n/a |
Display Player Statistics Page |
GUI |
4.18.2.5 Processing Characteristics
The GetBatterStats method is an indexed table search.
4.18.2.6 Algorithms
Foreach Player in Team
SEARCH playerKey IN BattingStats table
STORE matching rows in batterStats
DISPLAY rows in batterStats
4.18.2.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.18.2.8 Utilization of Other Elements
The GetBatterStats method requires inclusion in the classes utilized within the ManageStatisticsPage, as well as an active connection to the Teammate Pro database.
4.18.2.9 Limitations
The playerKey cannot be passed in as a NULL value or a value that doesn’t map to a row in the Player table. Both of these cases should result in no rows stored in batterStats.
4.18.3 Detailed Software Design -View Game Statistics (CSU)
4.18.4 Detailed Software Design -View Player Statistics (CSU)
4.18.4.1 View Statistics Method – GetBatterStats()
4.18.4.2 Narrative:
The function of the GetBatterStats method is to retrieve batting statistics for a particular team player from the BattingStats table in the Teammate Pro database. The method shall utilize a player’s unique identifier to select all rows from the BattingStats table associated with that player and display the data in a GUI table.
4.18.4.3 Input Data Elements:
Table 51 View Statistics – GetBatterStats() Input Data Elements
|
Identifier |
Description |
Data Type |
Limit/ Range |
Source(s) |
Input Method |
|
playerKey |
The unique identifier for Player |
Int |
n/a |
GUI List |
Parameter (By Value) |
4.18.4.4 Output Data Elements:
Table 52 View Statistics – GetBatterStats() Output Data Elements
|
Identifier |
Description |
Data Type |
Limit/ Range |
Destination(s) |
Output Method |
|
batterStats |
Tablular data structure containing all of a player’s batting statistics |
DataTable |
n/a |
Display Player Statistics Page |
GUI |
4.18.4.5 Processing Characteristics
The GetBatterStats method is an indexed table search.
4.18.4.6 Algorithms
SEARCH playerKey IN BattingStats table
STORE matching rows in batterStats
DISPLAY rows in batterStats
4.18.4.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.18.4.8 Utilization of Other Elements
The GetBatterStats method requires inclusion in the classes utilized within the ManageStatisticsPage, as well as an active connection to the Teammate Pro database.
4.18.4.9 Limitations
The playerKey cannot be passed in as a NULL value or a value that doesn’t map to a row in the Player table. Both of these cases should result in no rows stored in batterStats.
4.19 View Game Tracker (Sub-CSC)
4.19.1 CSC Structure Chart Diagrams
The following illustration is a structure diagram for the Game Tracker:
Begin Inning
Home
Game?
Record
Pitcher Stat
Three
Outs?
No
Record
Batter Stat
Yes
YesNo
Three
Outs?
No
End of
Inning?
Yes
No
End of
Game?
Yes
No
Stop
Yes
Start
Home
Game?
Yes
No
Figure 52 Game Tracker Structure
4.19.2 Detailed Software Design -Select Game (CSU)
4.19.2.1 Manage Statistics Method – ControlGamePlay()
4.19.2.2 Narrative:
The function of the ControlGamePlay method is to cycle through a game lineup for the input of game statistics during regular baseball game play. The flowchart in Figure 52 depicts the control structure required for the algorithm in the ControlGamePlay method.
4.19.2.3 Input Data Elements:
Table 53 Manage Statistics – ControlGamePlay() Input Data Elements
|
Identifier |
Description |
Data Type |
Limit/ Range |
Source(s) |
Input Method |
|
game |
Contains the current status of a Game |
Game |
n/a |
GUI List |
Parameter (By Value) |
|
gameLineup |
The team lineup |
Lineup |
n/a |
Teammate Pro database |
Parameter (By Value) |
4.19.2.4 Output Data Elements:
Table 54 Manage Statistics – ControlGamePlay() Output Data Elements
|
Identifier |
Description |
Data Type |
Limit/ Range |
Destination(s) |
Output Method |
|
n/a |
n/a |
n/a |
n/a |
n/a |
n/a |
4.19.2.5 Processing Characteristics
The GetBatterStats method is an application control method.
4.19.2.6 Algorithms
WHILE the current game innning <= total innings in a Game
IF (Top of Inning and Home Game) or (Bottom of Inning and Not Home Game)
WHILE outs < 3
RECORD Pitching Statistic
INCREMENT current game inning by .5
ELSE
WHILE outs < 3
GET next batter from gameLineup
RECORD Batting Statistic
INCREMENT current game inning by .5
4.19.2.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.19.2.8 Utilization of Other Elements
The GetBatterStats method requires inclusion in the classes utilized within the ManageStatisticsPage, as well as an active connection to the Teammate Pro database.
4.19.2.9 Limitations
The playerKey cannot be passed in as a NULL value or a value that doesn’t map to a row in the Player table. Both of these cases should result in no rows stored in batterStats.
4.20 Access Team Discussion Board (Sub-CSC)
4.20.1 CSC Structure Chart Diagrams
4.20.2 Detailed Software Design -View Message (CSU)
4.20.2.1 User ViewMessage Method – getMessage()
4.20.2.2 Narrative:
The getMessage method allows the Team Admin to be able to view the team discussion board. The discussion board messages will be stored in the Teammate Pro database by date. The IsRestricted bit must not be set otherwise the player or coach will not be able to access the Discussion board.
4.20.2.3 Input Data Elements:
Table 55 Access Team Discussion Board Page –View Message Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
IsRestricted |
Field used to restrict access to Discussion Board |
bit |
0 = not set, 1 = set |
Player table |
Parameter (By Value) |
|
PlayerKey |
Player Id |
Int |
N/A |
Session |
Parameter (By Value) |
4.20.2.4 Output Data Elements:
Table 56 Access Team Discussion Board Page –View Message Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
|
|
|
|
|
|
4.20.2.5 Processing Characteristics
Chained row insert
4.20.2.6 Algorithms
Get PlayerKey from Discussion Board Page
SEARCH for PlayerKey IN Player table
If Found, fetch IsRestricted
If IsRestricted Deny access
Else, fetch Discussion Board
Display Discussion Board
4.20.2.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.20.2.8 Utilization of Other Elements
The getMessage method requires interaction with the ViewMessage page, as well as an active connection to the Teammate Pro database.
4.20.3 Detailed Software Design -Create Message (CSU)
4.20.3.1 User SendMessage Method – setMessage()
4.20.3.2 Narrative:
The setMessage method allows the user to be able to view the team discussion board. The discussion board messages will be stored in the Teammate Pro database by date. The IsRestricted bit must not be set otherwise the player or coach will not be able to access the Discussion board.
4.20.3.3 Input Data Elements:
Table 57 Access Team Discussion Board Page –Send Message Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
IsRestricted |
Field used to restrict access to Discussion Board |
bit |
0 = not set, 1 = set |
Player table |
Parameter (By Value) |
|
PlayerKey |
Player Id |
Int |
N/A |
Session |
Parameter (By Value) |
|
MessageTxt |
Text Box for Message |
String |
500 char |
Discussion Board Page |
Parameter (By Value) |
4.20.3.4 Output Data Elements:
Table 58 Access Team Discussion Board Page –View Message Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
Message |
Message Text |
varChar |
500 char |
Message Table |
assignment |
4.20.3.5 Processing Characteristics
Chained row insert
4.20.3.6 Algorithms
Get PlayerKey from Discussion Board Page
SEARCH for PlayerKey IN Player table
If Found, fetch IsRestricted
If IsRestricted Deny access
Else, fetch Discussion Board Message
setMessage = MessageTxt
Display Discussion Board
4.20.3.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.20.3.8 Utilization of Other Elements
The setMessage method requires interaction with the ViewMessage page, as well as an active connection to the Teammate Pro database.
4.20.4 Detailed Software Design -Edit Message (CSU)
4.20.4.1 User SendMessage Method – setMessage()
4.20.4.2 Narrative:
The setMessage method allows the user to be able to view the team discussion board. The discussion board messages will be stored in the Teammate Pro database by date. The IsRestricted bit must not be set otherwise the player or coach will not be able to access the Discussion board.
4.20.4.3 Input Data Elements:
Table 59 Access Team Discussion Board Page –Send Message Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
IsRestricted |
Field used to restrict access to Discussion Board |
bit |
0 = not set, 1 = set |
Player table |
Parameter (By Value) |
|
PlayerKey |
Player Id |
Int |
N/A |
Session |
Parameter (By Value) |
|
MessageTxt |
Text Box for Message |
String |
500 char |
Discussion Board Page |
Parameter (By Value) |
4.20.4.4 Output Data Elements:
Table 60 Access Team Discussion Board Page –View Message Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
Message |
Message Text |
varChar |
500 char |
Message Table |
assignment |
4.20.4.5 Processing Characteristics
Chained row insert
4.20.4.6 Algorithms
Get PlayerKey from Discussion Board Page
SEARCH for PlayerKey IN Player table
If Found, fetch IsRestricted
If IsRestricted Deny access
Else, fetch Discussion Board Message
setMessage = MessageTxt
Display Discussion Board
4.20.4.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.20.4.8 Utilization of Other Elements
The setMessage method requires interaction with the ViewMessage page, as well as an active connection to the Teammate Pro database.
4.20.5 Detailed Software Design -Delete Message (CSU)
4.20.5.1 User DeleteMessage Method – setMsgDelete ()
4.20.5.2 Narrative:
The setMsgDelete method allows the user to remove messages that have been posted to the team discussion board. This method shall check for the messageID value for the selected message and modify the isDeleted value to prevent the message from displaying in the message board. The team admin may modify the isDeleted value for any message that is posted.
4.20.5.3 Input Data Elements:
Table 61 UserManage Discussion Board – Delete Message Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
messageID |
Message Identifier |
Char |
6 Chars |
messageID
|
Parameter (By Value) |
|
isDeleted |
Message Deleted Flag |
Bool |
0 = False 1 = True |
messageID |
Parameter (By Value) |
4.20.5.4 Output Data Elements:
Table 62 User Manage Discussion Board – Delete Message Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
displayMsg |
Modifies the Current Display of Messages |
dataTable |
N/A |
Manage Discussion Board Page |
GUI Dialogue/Message |
4.20.5.5 Processing Characteristics
4.20.5.6 Algorithms
VERIFY messageID IN tblMessage
IF messageID EXISTS
AND
IF isDeleted EQUALS 0
THEN SET isDeleted = 1
RETURN displayMsg
ELSE
RETURN Error Message “Message Does Not Exist”
4.20.5.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.20.5.8 Utilization of Other Elements
The setMsgDelete method requires inclusion in the classes utilized within the ManageDiscussionBoardPage, as well as an active connection to the Teammate Pro database.
4.20.5.9 Limitations
The messageID cannot be passed in as a NULL value, as the database cannot successfully query tblMsg with this invalid input. Constraints placed upon the field input of the ManageDiscussionBoardPage shall prevent this occurrence.
4.21 Mobile Team Information Manager (CSC)
4.21.1 CSC Structure Chart Diagrams
4.22 Record Game Statistics (Sub-CSC)
4.22.1 CSC Structure Chart Diagrams
4.22.2 Select Game
4.22.3 Enter Batting Statistics
4.22.4 Enter Pitching Statistics
4.23 Modify Lineup (Sub-CSC)
4.23.1 CSC Structure Chart Diagrams
4.23.2 Detailed Software Design -Select Game (CSU)
4.23.2.1 Team Admin ModifyLineup Method – selectGame ()
4.23.2.2 Narrative:
The selectGame method allows users to specify the scheduled game for which they would like to modify the pre-configured team lineup. This method shall check for the gameDate value and the lineupComplete value to determine if the selected game has a lineup currently available for modification. If the game selected does not have a lineup configured, the user will not be presented with a lineup to modify.
4.23.2.3 Input Data Elements:
Table 63 Team Admin Modify Lineup – Select Game Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
gameDate |
Game Date |
Date |
N/A |
gameID
|
Parameter (By Value) |
|
lineupComplete |
Lineup Flag |
Bool |
0 = False 1 = True |
lineupKey |
Parameter (By Value) |
4.23.2.4 Output Data Elements:
Table 64 Team Admin Modify Lineup – Select Game Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
displayLineup |
Lineup successfully displayed flag |
Bool |
0 = False 1 = True |
Modify Lineup Page |
GUI Dialogue/Message |
4.23.2.5 Processing Characteristics
4.23.2.6 Algorithms
VERIFY lineupComplete IN tblLineup
IF gameDate EXISTS
AND
IF lineupComplete EQUALS 1
RETURN displayLineup
ELSE
RETURN Error Message “No Lineup Configured”
4.23.2.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.23.2.8 Utilization of Other Elements
The selectGame method requires inclusion in the classes utilized within the ModifyLineupPage, as well as an active connection to the Teammate Pro database.
4.23.2.9 Limitations
The gameDate cannot be passed in as a NULL value, as the database cannot successfully query tblGame or tblLineup with this invalid input. Constraints placed upon the field input of the ModifyLineup Page shall prevent this occurrence.
4.23.3 Detailed Software Design -Add Player to Lineup (CSU)
4.23.3.1 Team Admin ModifyLineup Method – addPlayer ()
4.23.3.2 Narrative:
The addPlayer method allows users to specify the player they would like to add to the current pre-configured team lineup that has been established for a scheduled game. This method shall check for the lineupID value, and modify the playerID that is stored in the lineupNo that is specified by the team admin. The user may not add the same playerID to more than a single lineupNo.
4.23.3.3 Input Data Elements:
Table 65 Team Admin Modify Lineup – Add Player Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
lineupID |
Lineup Identifier |
Char |
6-10 Chars |
lineupKey
|
Parameter (By Value) |
|
playerID |
Player Identifier |
Char |
1-6 Chars |
playerpID |
Parameter (By Value) |
|
lineupNo |
Number in Lineup |
Int |
1-9 |
lineupID |
Parameter (By Value) |
4.23.3.4 Output Data Elements
Table 66 Team Admin Modify Lineup – Add Player Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
modifyLineup |
Lineup Modified to Add Player |
dataTable |
N/A |
Modify Lineup Page |
GUI Dialogue/Message |
4.23.3.5 Processing Characteristics
4.23.3.6 Algorithms
VERIFY lineupID IN tblLineup
IF lineupID EXISTS
AND
IF playerID NOT EXISTS in lineupNo
SET lineupNo = playerID
RETURN modifyLineup
ELSE
RETURN Error Message “Player Already Assigned”
4.23.3.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.23.3.8 Utilization of Other Elements
The addPlayer method requires inclusion in the classes utilized within the ModifyLineupPage, as well as an active connection to the Teammate Pro database.
4.23.3.9 Limitations
The playerID and lineupID cannot be passed in as a NULL value, as the database cannot successfully query tblPlayer or tblLineup with this invalid input. Constraints placed upon the field input of the ModifyLineup Page shall prevent this occurrence.
4.23.4 Detailed Software Design -Remove Player From Lineup (CSU)
4.23.4.1 Team Admin ModifyLineup Method – removePlayer ()
4.23.4.2 Narrative:
The removePlayer method allows users to specify the player they would like to remove from the current pre-configured team lineup that has been established for a scheduled game. This method shall check for the lineupID value, and remove the playerID that is stored in the lineupNo that is specified by the team admin. The user may only remove a player that has been assigned to a number in the lineup.
4.23.4.3 Input Data Elements:
Table 67 Team Admin Modify Lineup – Remove Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
lineupID |
Lineup Identifier |
Char |
6-10 Chars |
lineupKey
|
Parameter (By Value) |
|
playerID |
Player Identifier |
Char |
1-6 Chars |
playerID |
Parameter (By Value) |
|
lineupNo |
Number in Lineup |
Int |
1-9 |
lineupID |
Parameter (By Value) |
4.23.4.4 Output Data Elements:
Table 68 Team Admin Modify Lineup – Remove Player Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
modifyLineup |
Lineup Modified to Remove Player |
dataTable |
N/A |
Modify Lineup Page |
GUI Dialogue/Message |
4.23.4.5 Processing Characteristics
4.23.4.6 Algorithms
VERIFY lineupID IN tblLineup
IF lineupID EXISTS
AND
IF playerID EXISTS in lineupNo
SET lineupNo = NULL
RETURN modifyLineup
ELSE
RETURN Error Message “Player Not Assigned”
4.23.4.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.23.4.8 Utilization of Other Elements
The removePlayer method requires inclusion in the classes utilized within the ModifyLineupPage, as well as an active connection to the Teammate Pro database.
4.23.4.9 Limitations
The playerID and lineupID cannot be passed in as a NULL value, as the database cannot successfully query tblPlayer or tblLineup with this invalid input. Constraints placed upon the field input of the ModifyLineup Page shall prevent this occurrence.
4.23.5 Detailed Software Design -Assign Position to Player (CSU)
4.23.5.1 Team Admin ModifyLineup Method – setPosition ()
4.23.5.2 Narrative:
The setPosition method allows users to specify the fielding position for players that exist within the pre-configured team lineup that has been established for a scheduled game. This method shall check for the lineupID and playerID values, and modify the existing positionID that is specified by the team admin. The user may not assign the same positionID to more than a single player in the lineup.
4.23.5.3 Input Data Elements:
Table 69 Team Admin Modify Lineup – Assign Position Input Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Source(s) |
Input Method |
|
lineupID |
Lineup Identifier |
Date |
N/A |
lineupKey
|
Parameter (By Value) |
|
playerID |
Player Identifier |
Char |
1-6 Chars |
playerID |
Parameter (By Value) |
|
positionID |
Number in Lineup |
Int |
1-9 |
lineupID |
Parameter (By Value) |
4.23.5.4 Output Data Elements:
Table 70 Team Admin Modify Lineup – Assign Position Output Data Elements
|
Identifier |
Description |
Data type |
Limit/ Range |
Destination(s) |
Output Method |
|
modifyLineup |
Lineup Modified to Assign Position |
dataTable |
N/A |
Modify Lineup Page |
GUI Dialogue/Message |
4.23.5.5 Processing Characteristics
4.23.5.6 Algorithms
VERIFY lineupID IN tblLineup
IF lineupID EXISTS
AND
IF playerID EXISTS
SET positionID = Selected positionID
RETURN modifyLineup
ELSE
RETURN Error Message “Position Not Assigned”
4.23.5.7 Error Handling
Upon any error, transfer control to error handling page where the appropriate error message will be displayed. Errors that may occur include:
· Insufficient access rights
· Network communication error
· Database connection error
· Invalid/Incomplete Fields
4.23.5.8 Utilization of Other Elements
The setPosition method requires inclusion in the classes utilized within the ModifyLineupPage, as well as an active connection to the Teammate Pro database.
4.23.5.9 Limitations
The playerID and lineupID cannot be passed in as a NULL value, as the database cannot successfully query tblPlayer or tblLineup with this invalid input. Constraints placed upon the field input of the ModifyLineup Page shall prevent this occurrence.
5 CSCI Data
The following are the global data elements of the Teammate Pro application. These tables represent the entire database as all are used throughout different CSCs.
Table 71 User
|
Column |
DataType |
Options |
|
UserKey |
int |
Primary Identity Clustered |
|
|
nVarChar(50) |
|
|
Password |
nVarChar(50) |
|
|
IsRegistered |
bit |
Default(0) |
|
CreatedDate |
DateTime |
Default(GetDate) |
|
CreatedBy |
int |
FK(User) null |
|
CreatedByIP |
varChar(20) |
|
Table 72 Player
|
Column |
DataType |
Options |
|
PlayerKey |
int |
Primary Identity Clustered |
|
UserKey |
int |
FK(User) null |
|
TeamKey |
int |
FK(User) |
|
First Name |
nVarChar(50) |
|
|
Last Name |
nVarChar(50) |
|
|
Nick Name |
nVarChar(100) |
|
|
CanManageTeam |
bit |
|
|
Number |
int |
null Constraint(0..99) |
|
CreatedDate |
DateTime |
Default(GetDate) |
|
CreatedBy |
int |
FK(User) |
|
CreatedByIP |
char(15) |
|
|
PlayerPage |
nVarChar(max) |
Null |
|
PlayerPhoto |
varChar(255) |
Null |
|
IsCoach |
bit |
Default(0) |
|
IsActive |
bit |
Default(1) |
|
IsRestricted |
bit |
Default(0) |
Table 73 Team
|
Column |
DataType |
Options |
|
TeamKey |
int |
Primary Identity Clustered |
|
TeamName |
nVarChar(100) |
Indexed |
|
LeagueName |
nVarChar(100) |
Indexed |
|
SeasonStateDate |
smallDateTime |
|
|
City |
nVarChar(100) |
|
|
State |
char(2) |
|
|
IsMinorLeague |
bit |
|
|
TeamPage |
nVarChar(max) |
|
|
CreatedDate |
DateTime |
Default(GetDate) |
|
CreatedBy |
int |
FK(User) |
|
CreatedByIP |
varChar(20) |
|
|
LogoImage |
varChar(255) |
|
|
Color |
varChar(255) |
|
|
SiteTemplate |
varChar(255) |
|
Table 74 Game
|
Column |
DataType |
Options |
|
GameKey |
int |
Primary Identity Clustered |
|
TeamKey |
int |
FK(Team) |
|
GameDate |
smallDateTime |
|
|
OpposingTeam |
nVarChar(100) |
|
|
Location |
nVarChar(500) |
|
|
IsHomeGame |
bit |
|
|
CreatedDate |
DateTime |
Default(GetDate) |
|
CreatedBy |
int |
FK(User) |
|
CreatedByIP |
varChar(20) |
|
|
IsActive |
bit |
Default(1) |
|
IsCanceled |
bit |
Default(0) |
Table 75 Lineup
|
Column |
DataType |
Options |
|
LineupKey |
int |
Primary Identity Clustered |
|
BattingOrder |
int |
|
|
Inning |
int |
|
|
GameKey |
int |
FK(Game) |
|
PlayerKey |
int |
FK(Player) |
|
PositionKey |
int |
FK(Position) |
|
Version |
int |
|
Table 76 Position
|
Column |
DataType |
Options |
|
PositionKey |
int |
Primary Identity Clustered |
|
PositionName |
varChar(50) |
|
|
Abbreviation |
varChar(5) |
|
Table 77 GameScore
|
Column |
DataType |
Options |
|
GameScoreKey |
int |
Primary Identity Clustered |
|
GameKey |
int |
FK(Game) |
|
Inning |
int |
Constraint(1..99) |
|
HomeScore |
int |
Constraint(0..999) |
|
HomeHits |
int |
Constraint(0..999) |
|
HomeErrors |
int |
Constraint(0..999) |
|
AwayScore |
int |
Constraint(0..999) |
|
AwayHits |
int |
Constraint(0..999) |
|
AwayErrors |
int |
Constraint(0..999) |
Table 78 BattingStats
|
Column |
DataType |
Options |
|
BattingStatsKey |
int |
Primary Identity Clustered |
|
PlayerKey |
int |
FK(Player) |
|
GameKey |
int |
FK(Game) |
|
Singles |
int |
Constraint(0..999) |
|
Doubles |
int |
Constraint(0..999) |
|
Triples |
int |
Constraint(0..999) |
|
HomeRuns |
int |
Constraint(0..999) |
|
RunsScored |
int |
Constraint(0..999) |
|
RunsBattedIn |
int |
Constraint(0..999) |
|
Strikeouts |
int |
Constraint(0..999) |
|
Popouts |
int |
Constraint(0..999) |
|
Flyouts |
int |
Constraint(0..999) |
|
Lineouts |
int |
Constraint(0..999) |
|
Groundouts |
int |
Constraint(0..999) |
|
Walks |
int |
Constraint(0..999) |
|
IntentionalWalks |
int |
Constraint(0..999) |
|
HitByPitch |
int |
Constraint(0..999) |
|
ThirdStrikePastBall |
int |
Constraint(0..999) |
|
OnByError |
int |
Constraint(0..999) |
Table 79 PitchingStats
|
Column |
DataType |
Options |
|
PitchingStatsKey |
int |
Primary Identity Clustered |
|
PlayerKey |
int |
FK(Player) |
|
GameKey |
int |
FK(Game) |
|
Strikeouts |
int |
Constraint(0..999) |
|
Popouts |
int |
Constraint(0..999) |
|
Flyouts |
int |
Constraint(0..999) |
|
Lineouts |
int |
Constraint(0..999) |
|
Groundouts |
int |
Constraint(0..999) |
|
Walks |
int |
Constraint(0..999) |
|
IntentionalWalks |
int |
Constraint(0..999) |
|
Singles |
int |
Constraint(0..999) |
|
Doubles |
int |
Constraint(0..999) |
|
Triples |
int |
Constraint(0..999) |
|
HomeRuns |
int |
Constraint(0..999) |
|
HitBatters |
int |
Constraint(0..999) |
|
ThirdStrikePastBall |
int |
Constraint(0..999) |
|
OnByError |
int |
Constraint(0..999) |
Table 80 Message
|
Column |
DataType |
Options |
|
MessageKey |
int |
Primary Identity Clustered |
|
Topic |
varChar(200) |
null |
|
TopicKey |
int |
FK(Message) null |
|
Message |
text |
Constraint(0..999) |
|
PlayerKey |
int |
FK(Player) |
|
|
|
Constraint (TopicKey Is Null XOR Topic Is Null) |
6 CSCI Data Files
6.1 Data File to CSC/CSU cross-reference
The following tables represent the database files used for the Teammate Pro application with the reference to the CSC and CSU using each.
Table 81 User cross-reference
|
Column |
DataType |
Options |
CSC |
CSU |
|
UserKey |
int |
Primary Identity Clustered |
4.7 |
4.7.2 |
|
|
nVarChar(50) |
|
4.7, 4.8, 4.15 |
4.7.2, 4.7.3, 4.8.2, 4.8.3, 4.15.1 |
|
Password |
nVarChar(50) |
|
|
|
|
IsRegistered |
bit |
Default(0) |
|
|
|
CreatedDate |
DateTime |
Default(GetDate) |
|
|
|
CreatedBy |
int |
FK(User) null |
|
|
|
CreatedByIP |
varChar(20) |
|
|
|
Table 82 Player cross-reference
|
Column |
DataType |
Options |
CSC |
CSU |
|
PlayerKey |
int |
Primary Identity Clustered |
4.7, 4.8, 4.9, 4.12, 4.13, 4.15, 4.18, 4.20 |
4.7.2, 4.7.3, 4.7.4, 4.8.2, 4.8.3, 4.8.4, 4.9.2, 4.9.3, 4.12.2, 4.12.3, 4.13.2, 4.13.3, 4.15.2, 4.18.2, 4.18.4, 4.20.2, 4.20.3, 4.20.4 |
|
UserKey |
int |
FK(User) null |
4.7, 4.8 |
4.7.2, 4.7.3, 4.8.2, 4.8.3, 4.10.2, |
|
TeamKey |
int |
FK(User) |
4.7, 4.8, 4.9, 4.10 |
4.7.2, 4.7.3, 4.8.2, 4.8.3, 4.9.2, 4.9.3, 4.10.2 |
|
First Name |
nVarChar(50) |
|
4.7, 4.8, 4.15 |
4.7.2, 4.7.3, 4.8.2, 4.8.3, 4.15.2, 4.15.3 |
|
Last Name |
nVarChar(50) |
|
4.7, 4.8, 4.15 |
4.7.2, 4.7.3, 4.8.2, 4.8.3, 4.15.2, 4.15.3 |
|
Nick Name |
nVarChar(100) |
|
4.7, 4.8, 4.15 |
4.7.2, 4.7.3, 4.8.2, 4.8.3, 4.15.2, 4.15.3 |
|
CanManageTeam |
bit |
|
4.7, 4.8 |
4.7.2, 4.7.3, 4.8.2, 4.8.3, |
|
Number |
int |
null Constraint(0..99) |
4.7, 4.8, 4.15 |
4.7.2, 4.7.3, 4.8.2, 4.8.3, 4.15.2, 4.15.3 |
|
CreatedDate |
DateTime |
Default(GetDate) |
|
|
|
CreatedBy |
int |
FK(User) |
|
|
|
CreatedByIP |
char(15) |
|
|
|
|
PlayerPage |
nVarChar(max) |
Null |
|
|
|
PlayerPhoto |
varChar(255) |
Null |
|
|
|
IsCoach |
bit |
Default(0) |
4.7, 4.8, 4.15 |
4.7.2, 4.7.3, 4.8.2, 4.8.3, 4.15.2 |
|
IsActive |
bit |
Default(1) |
|
|
|
IsRestricted |
bit |
Default(0) |
4.18, 4.20 |
4.13.2, 4.13.3, 4.20.2, 4.20.3, 4.20.4 |
Table 83 Team cross-reference
|
Column |
DataType |
Options |
CSC |
CSU |
|
TeamKey |
int |
Primary Identity Clustered |
4.7, 4.8, 4.9, 4.10 |
4.7.2, 4.7.3, 4.8.2, 4.8.3, 4.9.2, 4.9.3, 4.10.2 |
|
TeamName |
nVarChar(100) |
Indexed |
|
|
|
LeagueName |
nVarChar(100) |
Indexed |
|
|
|
SeasonStateDate |
smallDateTime |
|
|
|
|
City |
nVarChar(100) |
|
|
|
|
State |
char(2) |
|
|
|
|
IsMinorLeague |
bit |
|
|
|
|
TeamPage |
nVarChar(max) |
|
|
|
|
CreatedDate |
DateTime |
Default(GetDate) |
|
|
|
CreatedBy |
int |
FK(User) |
|
|
|
CreatedByIP |
varChar(20) |
|
|
|
|
LogoImage |
varChar(255) |
|
4.6 |
4.6.2, 4.6.3 |
|
Color |
varChar(255) |
|
4.6 |
4.6.2, 4.6.3 |
|
SiteTemplate |
varChar(255) |
|
4.6 |
4.6.2, 4.6.3 |
Table 84 Game cross-reference
|
Column |
DataType |
Options |
CSC |
CSU |
|
GameKey |
int |
Primary Identity Clustered |
4.10, 4.12 |
4.10.2, 4.12.2 |
|
TeamKey |
int |
FK(Team) |
4.7, 4.8, 4.9, 4.10 |
4.7.2, 4.7.3, 4.8.2, 4.8.3, 4.9.2, 4.9.3, 4.10.2 |
|
GameDate |
smallDateTime |
|
4.10, 4.11, 4.16, 4.17, 4.23 |
4.10.2, 4.11.2, 4.16.2, 4.17.2, 4.23.2 |
|
OpposingTeam |
nVarChar(100) |
|
4.10 |
4.10.2 |
|
Location |
nVarChar(500) |
|
4.10 |
4.10.2 |
|
IsHomeGame |
bit |
|
4.10 |
4.10.2 |
|
CreatedDate |
DateTime |
Default(GetDate) |
|
|
|
CreatedBy |
int |
FK(User) |
|
|
|
CreatedByIP |
varChar(20) |
|
|
|
|
IsActive |
bit |
Default(1) |
|
|
|
IsCanceled |
bit |
Default(0) |
4.8 |
4.8.4 |
Table 85 Lineup cross-reference
|
Column |
DataType |
Options |
CSC |
CSU |
|
LineupKey |
int |
Primary Identity Clustered |
4.11, 4.16, 4.17, 4.23 |
4.11.2, 4.11.3, 4.16.2, 4.17.2, 4.23.2, 4.23.3, 4.23.4, 4.23.5 |
|
BattingOrder |
int |
|
4.19 |
4.19.2 |
|
Inning |
int |
|
4.19 |
4.19.2 |
|
GameKey |
int |
FK(Game) |
4.10, 4.12 |
4.10.2, 4.12.2 |
|
PlayerKey |
int |
FK(Player) |
4.7, 4.8, 4.9, 4.12, 4.13, 4.15, 4.18, 4.20 |
4.7.2, 4.7.3, 4.7.4, 4.8.2, 4.8.3, 4.8.4, 4.9.2, 4.9.3, 4.12.2, 4.12.3, 4.13.2, 4.13.3, 4.15.2, 4.18.2, 4.18.4, 4.20.2, 4.20.3, 4.20.4 |
|
PositionKey |
int |
FK(Position) |
4.23 |
4.23.5 |
|
Version |
int |
|
|
|
Table 86 Position cross-reference
|
Column |
DataType |
Options |
CSC |
CSU |
|
PositionKey |
int |
Primary Identity Clustered |
4.23 |
4.23.5 |
|
PositionName |
varChar(50) |
|
4.23 |
4.23.5 |
|
Abbreviation |
varChar(5) |
|
|
|
Table 87 GameScore cross-reference
|
Column |
DataType |
Options |
CSC |
CSU |
|
GameScoreKey |
int |
Primary Identity Clustered |
|
|
|
GameKey |
int |
FK(Game) |
4.10, 4.12 |
4.10.2, 4.12.2 |
|
Inning |
int |
Constraint(1..99) |
4.19 |
4.19.2 |
|
HomeScore |
int |
Constraint(0..999) |
|
|
|
HomeHits |
int |
Constraint(0..999) |
|
|
|
HomeErrors |
int |
Constraint(0..999) |
|
|
|
AwayScore |
int |
Constraint(0..999) |
|
|
|
AwayHits |
int |
Constraint(0..999) |
|
|
|
AwayErrors |
int |
Constraint(0..999) |
|
|
Table 88 BattingStats cross-reference
|
Column |
DataType |
Options |
CSC |
CSU |
|
BattingStatsKey |
int |
Primary Identity Clustered |
4.19 |
4.19.2 |
|
PlayerKey |
int |
FK(Player) |
4.7, 4.8, 4.9, 4.12, 4.13, 4.15, 4.18, 4.20 |
4.7.2, 4.7.3, 4.7.4, 4.8.2, 4.8.3, 4.8.4, 4.9.2, 4.9.3, 4.12.2, 4.12.3, 4.13.2, 4.13.3, 4.15.2, 4.18.2, 4.18.4, 4.20.2, 4.20.3, 4.20.4 |
|
GameKey |
int |
FK(Game) |
4.10, 4.12 |
4.10.2, 4.12.2 |
|
Singles |
int |
Constraint(0..999) |
|
|
|
Doubles |
int |
Constraint(0..999) |
|
|
|
Triples |
int |
Constraint(0..999) |
|
|
|
HomeRuns |
int |
Constraint(0..999) |
|
|
|
RunsScored |
int |
Constraint(0..999) |
|
|
|
RunsBattedIn |
int |
Constraint(0..999) |
|
|
|
Strikeouts |
int |
Constraint(0..999) |
|
|
|
Popouts |
int |
Constraint(0..999) |
|
|
|
Flyouts |
int |
Constraint(0..999) |
|
|
|
Lineouts |
int |
Constraint(0..999) |
|
|
|
Groundouts |
int |
Constraint(0..999) |
|
|
|
Walks |
int |
Constraint(0..999) |
|
|
|
IntentionalWalks |
int |
Constraint(0..999) |
|
|
|
HitByPitch |
int |
Constraint(0..999) |
|
|
|
ThirdStrikePastBall |
int |
Constraint(0..999) |
|
|
|
OnByError |
int |
Constraint(0..999) |
|
|
Table 89 PitchingStats cross-reference
|
Column |
DataType |
Options |
CSC |
CSU |
|
PitchingStatsKey |
int |
Primary Identity Clustered |
|
|
|
PlayerKey |
int |
FK(Player) |
4.7, 4.8, 4.9, 4.12, 4.13, 4.15, 4.18, 4.20 |
4.7.2, 4.7.3, 4.7.4, 4.8.2, 4.8.3, 4.8.4, 4.9.2, 4.9.3, 4.12.2, 4.12.3, 4.13.2, 4.13.3, 4.15.2, 4.18.2, 4.18.4, 4.20.2, 4.20.3, 4.20.4 |
|
GameKey |
int |
FK(Game) |
4.10, 4.12 |
4.10.2, 4.12.2 |
|
Strikeouts |
int |
Constraint(0..999) |
|
|
|
Popouts |
int |
Constraint(0..999) |
|
|
|
Flyouts |
int |
Constraint(0..999) |
|
|
|
Lineouts |
int |
Constraint(0..999) |
|
|
|
Groundouts |
int |
Constraint(0..999) |
|
|
|
Walks |
int |
Constraint(0..999) |
|
|
|
IntentionalWalks |
int |
Constraint(0..999) |
|
|
|
Singles |
int |
Constraint(0..999) |
|
|
|
Doubles |
int |
Constraint(0..999) |
|
|
|
Triples |
int |
Constraint(0..999) |
|
|
|
HomeRuns |
int |
Constraint(0..999) |
|
|
|
HitBatters |
int |
Constraint(0..999) |
|
|
|
ThirdStrikePastBall |
int |
Constraint(0..999) |
|
|
|
OnByError |
int |
Constraint(0..999) |
|
|
Table 90 Message cross-reference
|
Column |
DataType |
Options |
CSC |
CSU |
|
MessageKey |
int |
Primary Identity Clustered |
4.13, 4.20 |
4.13.2, 4.13.3, 4.13.4, 4.13.5, 4.20.2, 4.20.3, 4.20.4, 4.20.5 |
|
Topic |
varChar(200) |
null |
|
|
|
TopicKey |
int |
FK(Message) null |
|
|
|
Message |
text |
Constraint(0..999) |
4.13, 4.20 |
4.13.2, 4.13.3, 4.13.4, 4.13.5, 4.20.2, 4.20.3, 4.20.4, 4.20.5 |
|
PlayerKey |
int |
FK(Player) |
4.7, 4.8, 4.9, 4.12, 4.13, 4.15, 4.18, 4.20 |
4.7.2, 4.7.3, 4.7.4, 4.8.2, 4.8.3, 4.8.4, 4.9.2, 4.9.3, 4.12.2, 4.12.3, 4.13.2, 4.13.3, 4.15.2, 4.18.2, 4.18.4, 4.20.2, 4.20.3, 4.20.4 |
|
|
|
Constraint (TopicKey Is Null XOR Topic Is Null) |
|
|
7 Requirements Traceability Appendixes
Appendix A Requirements Traceability Web Functions
|
Requirement ID |
SRS Reference No. |
Requirement Description |
SDD Reference No. |
CSU Name |
|
TPW-001 |
3.1.1.1 |
The system shall provide a method to securely login to the Teammate Pro web application from the Team Home Page. |
3.1.1 |
Teammate Pro Team Home Page |
|
TPW-002 |
3.1.1.2 |
The system shall automatically determine the user type upon successful login. |
3.1.1 |
Teammate Pro Team Home Page |
|
TPW-003 |
3.1.1.3 |
The system shall only accept email addresses as valid usernames. |
3.1.1 |
Teammate Pro Team Home Page |
|
TPW-004 |
3.1.1.4 |
The system shall provide team admin users who have successfully logged in, with a link to "Manage Team Information" and "Access Team Information." |
3.1.1, 3.1.2 |
Teammate Pro Team Home Page, Manage Team Information |
|
TPW-005 |
3.1.1.5 |
The system shall provide standard users who have successfully logged in, with a link to "Access Team Information." |
3.1.1 |
Teammate Pro Team Home Page |
|
TPW-006 |
3.1.1.6 |
The Team Home Page shall display the customized team logo and page layout. |
3.1.1 |
Teammate Pro Team Home Page |
|
TPW-007 |
3.1.5.1 |
The system shall provide team admin users with a "Manage Team Information" page. |
3.1.2 |
Team Information Page |
|
TPW-008 |
3.1.5.2 |
The "Manage Team Information" page shall allow the team admin to access each of the administrative links identified in the success scenario of this use case. |
3.1.2.1 |
Manage Team Home Page |
|
TPW-009 |
3.1.6.1 |
The team admin shall be able to add a custom team logo to the Team Home Page. |
3.1.2.1 |
Edit Home Page |
|
Requirement ID |
SRS Reference No. |
Requirement Description |
SDD Reference No. |
CSU Name |
|
TPW-010 |
3.1.6.2 |
The team admin shall be able to modify the team logo on the Team Home Page. |
3.1.2.1 |
Edit Home Page |
|
TPW-011 |
3.1.6.3 |
The team admin shall be able to modify the standard page layout of the Team Home Page. |
3.1.2.1 |
Edit Home Page |
|
TPW-012 |
3.1.7.1 |
The team admin shall be able to add coaches to the coach roster. |
3.1.2.2 |
Add Coach |
|
TPW-013 |
3.1.7.2 |
The team admin shall be able to edit information for existing coaches. |
3.1.2.2 |
Edit Coach Information |
|
TPW-014 |
3.1.7.3 |
The team admin shall be able to delete coaches from coach roster. |
3.1.2.2 |
Delete Coach |
|
TPW-015 |
3.1.7.4 |
The system shall display the coach's first name. |
3.1.3.1 |
View Coach Information |
|
TPW-016 |
3.1.7.5 |
The system shall display the coach's last name. |
3.1.3.1 |
View Coach Information |
|
TPW-017 |
3.1.7.6 |
The system shall display the coach's email address. |
3.1.3.1 |
View Coach Information |
|
TPW-018 |
3.1.7.7 |
The system shall display the coach's phone number. |
3.1.3.1 |
View Coach Information |
|
TPW-019 |
3.1.7.8 |
The system shall allow the coach' picture to be displayed |
3.1.3.1 |
View Coach Information |
|
TPW-020 |
3.1.7.9 |
The system shall provide a description field for background information |
3.1.2.4 |
View Coach Information |
|
TPW-021 |
3.1.7.11 |
The team admin shall be able to add players to the team roster. |
3.1.2.3 |
Add Player |
|
TPW-022 |
3.1.7.12 |
The team admin shall be able to edit existing player information on the roster. |
3.1.2.3 |
Edit Player |
|
|
|
|
|
|
|
Requirement ID |
SRS Reference No. |
Requirement Description |
SDD Reference No. |
CSU Name |
|
TPW-023 |
3.1.7.13 |
The team admin shall be able to delete existing players from the roster. |
3.1.2.3 |
Delete Player |
|
TPW-024 |
3.1.7.14 |
The roster shall display the player's first name. |
3.1.3.1 |
View Player Bios |
|
TPW-025 |
3.1.7.15 |
The roster shall display the player's last name. |
3.1.3.1 |
View Player Bios |
|
TPW-026 |
3.1.7.16 |
The roster shall display the player's number. |
3.1.3.1 |
View Player Bios |
|
TPW-027 |
3.1.7.17 |
The roster shall display the player's email address. |
3.1.3.1 |
View Player Bios |
|
TPW-028 |
3.1.7.18 |
The roster shall display the player's phone number. |
3.1.3.1 |
View Player Bios |
|
TPW-029 |
3.1.8.1 |
The team admin shall be able to add player bios. |
3.1.2.4 |
Edit Player Bio |
|
TPW-030 |
3.1.8.2 |
The team admin shall be able to edit player bios. |
3.1.2.4 |
Edit Player Bio |
|
TPW-031 |
3.1.8.3 |
The player bio shall display the player's nick-name. |
3.1.3.1 |
View Player Bios |
|
TPW-032 |
3.1.8.4 |
The player bio shall display the player's number. |
3.1.3.1 |
View Player Bios |
|
TPW-033 |
3.1.8.5 |
The player bio shall display the player's position. |
3.1.3.1 |
View Player Bios |
|
TPW-034 |
3.1.8.6 |
The player bio shall display the player's batting preference. |
3.1.3.1 |
View Player Bios |
|
TPW-035 |
3.1.8.7 |
The player bio shall display the player's throwing preference. |
3.1.3.1 |
View Player Bios |
|
TPW-036 |
3.1.8.8 |
The player bio shall display the player's height. |
3.1.3.1 |
View Player Bios |
|
|
|
|
|
|
|
Requirement ID |
SRS Reference No. |
Requirement Description |
SDD Reference No. |
CSU Name |
|
TPW-037 |
3.1.8.9 |
The player bio shall display the player's weight. |
3.1.3.1 |
View Player Bios |
|
TPW-038 |
3.1.8.10 |
The player bio shall allow the player's picture to be displayed. |
3.1.3.1 |
View Player Bios |
|
TPW-039 |
3.1.8.11 |
The player bio shall provide a description field for background information. |
3.1.2.4 |
Add Player Bio |
|
TPW-040 |
3.1.9.1 |
The team admin shall be able to add a scheduled practice. |
3.1.2.5 |
Add Schedule |
|
TPW-041 |
3.1.9.2 |
The team admin shall be able to add a scheduled game. |
3.1.2.5 |
Add Schedule |
|
TPW-042 |
3.1.9.3 |
The team admin shall be able to edit an existing scheduled practice. |
3.1.2.5 |
Edit Schedule |
|
TPW-043 |
3.1.9.4 |
The team admin shall be able to edit an existing scheduled game. |
3.1.2.5 |
Edit Schedule |
|
TPW-044 |
3.1.9.5 |
The team admin shall be able to delete an existing scheduled practice. |
3.1.2.5 |
Edit Schedule |
|
TPW-045 |
3.1.9.6 |
The team admin shall be able to delete an existing scheduled game. |
3.1.2.5 |
Delect Scheduled Game |
|
TPW-046 |
3.1.9.7 |
The schedule shall display the game/practice time. |
3.1.3.2 |
Select Game |
|
TPW-047 |
3.1.9.8 |
The schedule shall display the game/practice date. |
3.1.3.2 |
Select Game |
|
TPW-048 |
3.1.9.9 |
The schedule shall display the game/practice location. |
3.1.3.2 |
Select Game |
|
TPW-049 |
3.1.9.10 |
The schedule shall display the game opponent. |
3.1.3.2 |
Select Game |
|
TPW-050 |
3.1.9.11 |
The schedule shall display team's "Home" or "Away" status for each game. |
3.1.3.2 |
Select Game |
|
Requirement ID |
SRS Reference No. |
Requirement Description |
SDD Reference No. |
CSU Name |
|
TPW-051 |
3.1.9.12 |
The schedule shall display the appropriate player's name if it is their responsibility to bring snacks to a scheduled game. |
3.1.3.2 |
Select Game |
|
TPW-052 |
3.1.9.13 |
The schedule shall display postponement information for each game. |
3.1.3.2 |
Select Game |
|
TPW-053 |
3.1.10.1 |
The team admin shall be able to create a team lineup for each scheduled game. |
3.1.2.6 |
Create Lineup |
|
TPW-054 |
3.1.10.2 |
The team admin shall be able to save a team lineup as the default. |
3.1.2.6 |
Create Lineup |
|
TPW-055 |
3.1.10.3 |
The team admin shall be able to load the current default team lineup. |
3.1.2.6 |
Load Default Lineup |
|
TPW-056 |
3.1.10.4 |
The Manage Lineup page shall provide a selectable list of all scheduled games. |
3.1.3.3 |
Select Game |
|
TPW-057 |
3.1.10.5 |
The Manage Lineup page shall provide a selectable list containing nine available spots to assign each starting player's batting order and field position. |
3.1.2.6 |
Create Lineup |
|
TPW-058 |
3.1.10.6 |
The Manage Lineup page shall provide a selectable list of all players on the team |
3.1.2.6 |
Create Lineup |
|
TPW-059 |
3.1.10.7 |
The Manage Lineup page shall provide a selectable list of all players on the team |
3.1.2.6 |
Create Lineup |
|
TPW-060 |
3.1.10.8 |
The Manage Lineup page shall provide a "Reserves" section to display all players not assigned to a spot in the lineup |
3.1.2.6 |
Create Lineup |
|
TPW-061 |
3.1.10.9 |
The Manage Lineup page shall display a graphical view of a baseball field with positions. |
3.1.2.6 |
Create Lineup |
|
|
|
|
|
|
|
Requirement ID |
SRS Reference No. |
Requirement Description |
SDD Reference No. |
CSU Name |
|
TPW-062 |
3.1.10.10 |
The graphical view of the field shall display a player's name next to their assigned position. |
3.1.2.6 |
Create Lineup |
|
TPW-063 |
3.1.10.11 |
The system shall remove the name of a player from the selectable list once a player is assigned to a spot in the lineup. |
3.1.2.6 |
Create Lineup |
|
TPW-064 |
3.1.10.12 |
The system shall remove the position name from the selectable list once a position is assigned to a player in the lineup. |
3.1.2.6 |
Create Lineup |
|
TPW-065 |
3.1.11.1 |
The team admin shall be able to add statistics for team |
3.1.2.7 |
Add Statistics |
|
TPW-066 |
3.1.11.2 |
The team admin shall be able to edit statistics for team |
3.1.2.7 |
Edit Statistics |
|
TPW-067 |
3.1.12.1 |
The team admin shall be able to create a discussion board message. |
3.1.2.8 |
Create Message |
|
TPW-068 |
3.1.12.2 |
The team admin shall be able to view all discussion board messages. |
3.1.2.8 |
View Message |
|
TPW-069 |
3.1.12.3 |
The team admin shall be able to delete any discussion board message. |
3.1.2.8 |
Delete Message |
|
TPW-070 |
3.1.12.4 |
The team admin shall be able to allow user access to the discussion board. |
3.1.2.8 |
Allow/Deny User Access |
|
TPW-071 |
3.1.12.5 |
The team admin shall be able to deny user access to the discussion board. |
3.1.2.8 |
Allow/Deny User Access |
|
TPW-072 |
3.1.13.1 |
The system shall provide standard users with an "Access Team Information" page. |
3.1.2.1 |
Edit Home Page |
|
|
|
|
|
|
|
Requirement ID |
SRS Reference No. |
Requirement Description |
SDD Reference No. |
CSU Name |
|
TPW-073 |
3.1.13.2 |
The "Access Team Information" page shall provide standard users with access to each of the links identified in the main success scenario above. |
3.1.3.1 |
View Team Information |
|
TPW-074 |
3.1.14.1 |
The user shall be able to view the existing Coach information. |
3.1.3.1 |
View Coach Information |
|
TPW-075 |
3.1.14.2 |
The user shall be able to view the existing Roster information. |
3.1.3.1 |
View Roster |
|
TPW-076 |
3.1.14.3 |
The user shall be able to view the existing Player Bios. |
3.1.3.1 |
View Player Bios |
|
TPW-077 |
3.1.15.1 |
The user shall be able to view the existing list of Scheduled Games. |
3.1.3.2 |
Select Game |
|
TPW-078 |
3.1.15.2 |
The user shall be able to view the detailed information of each game by selecting it from the list. |
3.1.3.4 |
View Game Statistics |
|
TPW-079 |
3.1.16.1 |
The user shall be able to view the existing Lineup if it has been created for selected games. |
3.1.3.3 |
Select Game |
|
TPW-080 |
3.1.17.1 |
The user shall be able to view the recorded Team Statistics that have been stored for the season. |
3.1.3.4 |
View Team Statistics |
|
TPW-081 |
3.1.17.2 |
The user shall be able to view the recorded Game Statistics that been have stored for the selected game. |
3.1.3.4 |
View Game Statistics |
|
TPW-082 |
3.1.17.3 |
The user shall be able to view the recorded Player Statistics that have been stored for the selected player. |
3.1.3.4 |
View Player Statistics |
|
|
|
|
|
|
|
Requirement ID |
SRS Reference No. |
Requirement Description |
SDD Reference No. |
CSU Name |
|
TPW-083 |
3.1.18.1 |
The user shall be able to view the live game tracking information for games that are being actively scored from web enabled devices |
3.1.3.5 |
Select Game |
|
TPW-084 |
3.1.18.2 |
The user shall be able to view the game tracking information for games that have already been completed |
3.1.3.5 |
Select Game |
|
TPW-085 |
3.1.18.3 |
The live game shall be designated in the selectable game list |
3.1.3.5 |
Select Game |
|
TPW-086 |
3.1.18.4 |
Completed games shall be designated in the selectable game list |
3.1.3.5 |
Select Game |
|
TPW-087 |
3.1.18.5 |
The user shall be able to view discussion board messages. |
3.1.3.6 |
View Message |
|
TPW-088 |
3.1.18.6 |
The user shall be able to add a discussion board message. |
3.1.3.6 |
Create Message |
|
TPW-089 |
3.1.18.7 |
The user shall be able to edit their submitted discussion board messages. |
3.1.3.6 |
Edit Message |
|
TPW-090 |
3.1.18.8 |
The user shall be able to edit their submitted discussion board messages. |
3.1.3.6 |
Edit Message |
|
TPW-091 |
3.1.18.9 |
The message length shall be limited to 500 characters |
3.1.3.6 |
Create Message |
Appendix B Requirements Traceability Mobile Functions
|
Requirement ID |
SRS Reference No. |
Requirement Description |
SDD Reference No. |
CSU Name |
|
TPM-003 |
3.1.3.3 |
The system shall allow team admin to select a pre-established game with an established lineup from a mobile device. |
3.1.4.1 |
Select Game |
|
TPM-004 |
3.1.3.4 |
The system shall allow team admin to enter batter statistics for players in the order of the game lineup. |
3.1.4.1 |
Enter Batting Statistics |
|
TPM-005 |
3.1.3.5 |
Batting statistics shall include number of hits by type. |
3.1.4.1 |
Enter Batting Statistics |
|
TPM-006 |
3.1.3.6 |
Hit types shall include singles. |
3.1.4.1 |
Enter Batting Statistics |
|
TPM-007 |
3.1.3.7 |
Hit types shall include doubles. |
3.1.4.1 |
Enter Batting Statistics |
|
TPM-008 |
3.1.3.8 |
Hit types shall include triples. |
3.1.4.1 |
Enter Batting Statistics |
|
TPM-009 |
3.1.3.9 |
Hit types shall include home runs. |
3.1.4.1 |
Enter Batting Statistics |
|
TPM-010 |
3.1.3.10 |
Batting statistics shall include player's runs batted in. |
3.1.4.1 |
Enter Batting Statistics |
|
TPM-011 |
3.1.3.11 |
Batting statistics shall include runs scored. |
3.1.4.1 |
Enter Batting Statistics |
|
TPM-012 |
3.1.3.12 |
Batting statistics shall include player's strikeouts. |
3.1.4.1 |
Enter Batting Statistics |
|
TPM-013 |
3.1.3.13 |
Batting statistics shall include player's fly-outs. |
3.1.4.1 |
Enter Batting Statistics |
|
TPM-014 |
3.1.3.14 |
Batting statistics shall include player's ground-outs. |
3.1.4.1 |
Enter Batting Statistics |
|
TPM-015 |
3.1.3.15 |
Batting statistics shall include player's line-outs. |
3.1.4.1 |
Enter Batting Statistics |
|
TPM-016 |
3.1.3.16 |
Batting statistics shall include player's pop-outs. |
3.1.4.1 |
Enter Batting Statistics |
|
Requirement ID |
SRS Reference No. |
Requirement Description |
SDD Reference No. |
CSU Name |
|
TPM-017 |
3.1.3.17 |
Batting statistics shall include base-on-balls. |
3.1.4.1 |
Enter Batting Statistics |
|
TPM-018 |
3.1.3.18 |
Batting statistics shall include intentional base-on-balls. |
3.1.4.1 |
Enter Batting Statistics |
|
TPM-019 |
3.1.3.19 |
Batting Statistics shall include fielder's choice plays. |
3.1.4.1 |
Enter Batting Statistics |
|
TPM-020 |
3.1.3.20 |
Batting Statistics shall include hit-by-pitcher plays. |
3.1.4.1 |
Enter Batting Statistics |
|
TPM-021 |
3.1.3.21 |
Batting Statistics shall include reaching base on past-ball on third strike. |
3.1.4.1 |
Enter Batting Statistics |
|
TPM-022 |
3.1.3.22 |
The system shall allow team admin to enter pitcher statistics. |
3.1.4.1 |
Enter Pitching Statistics |
|
TPM-023 |
3.1.3.23 |
Pitching statistics shall include strikes. |
3.1.4.1 |
Enter Pitching Statistics |
|
TPM-024 |
3.1.3.24 |
Pitching statistics shall include balls. |
3.1.4.1 |
Enter Pitching Statistics |
|
TPM-025 |
3.1.3.25 |
Pitching statistics shall include hits by type. |
3.1.4.1 |
Enter Pitching Statistics |
|
TPM-026 |
3.1.3.26 |
Pitching statistics shall include walks. |
3.1.4.1 |
Enter Pitching Statistics |
|
TPM-027 |
3.1.3.27 |
Pitching statistics shall include hit batters. |
3.1.4.1 |
Enter Pitching Statistics |
|
TPM-028 |
3.1.3.28 |
Pitching statistics shall include strikeouts. |
3.1.4.1 |
Enter Pitching Statistics |
|
TPM-029 |
3.1.3.29 |
Pitching statistics shall include unearned runs. |
3.1.4.1 |
Enter Pitching Statistics |
|
TPM-030 |
3.1.3.30 |
Pitching statistics shall include earned runs. |
3.1.4.1 |
Enter Pitching Statistics |
|
TPM-031 |
3.1.3.31 |
Pitching statistics shall include hits allowed. |
3.1.4.1 |
Enter Pitching Statistics |
|
|
|
|
|
|
|
Requirement ID |
SRS Reference No. |
Requirement Description |
SDD Reference No. |
CSU Name |
|
TPM-033 |
3.1.3.33 |
The system shall allow team admin to modify team lineup at any time during game play from a mobile device. |
3.1.4.2 |
Add/Remove Player From Lineup |
|
TPM-034 |
3.1.4.1 |
The mobile system shall allow team admin to remove any player from the team lineup. |
3.1.4.2 |
Remove Player From Lineup |
|
TPM-035 |
3.1.4.2 |
The mobile system shall allow team admin to assign any player to any slot in the lineup. |
3.1.4.2 |
Add Player to Lineup |
|
TPM-036 |
3.1.4.3 |
The mobile system shall allow team admin to assign a new position to any player in the team lineup. |
3.1.4.2 |
Assign Position to Player |
National University, San Diego, CA Page 15 of 169
_1234392516.vsd
valid
:MobileTeamHomePage
:ManageTeamInfo
Modify Lineup
LoginController
MobilePageController
:UserAccount
Database
Submit Login Information
[Valid] Display Manage Team Information Page
[Not Valid] Display Error
Verify Account Information
Select Manage Mobile Team Information Feature
Add/Edit/Delete Records
Boundary Objects
Control Objects
Entity Objects
Mobile Sequence Diagram for Team Administrator
Top Package::Team Admin
Record Game Statistics
Display Manage Team Home Page
Submit Home Page Changes
Display Manage Player Bio Page
Submit Player Bio Changes
_1234392597.vsd
valid
:TeamHomePage
:ViewTeamInfo
ViewSchedule
LoginController
PageController
:UserAccount
Database
Submit Login Information
[Valid] Display View Team Information Page
[Not Valid] Display Error
Verify Account Information
Select View Team Information Feature
Boundary Objects
Control Objects
Entity Objects
Sequence Diagram for User
Top Package::User
ViewLineup
ViewGameTracker
View Statistics
Display Team Schedule
Display Lineup Information
Display Team Statistics
Display Game Tracker
Return Data
ViewDiscussion
Display Discussion Board
Retrieve Data
Display Team Information Page
_1234392412.vsd
valid
:TeamHomePage
:ManageTeamInfo
Manage Schedule
LoginController
PageController
:UserAccount
Database
Submit Login Information
[Valid] Display Manage Team Information Page
[Not Valid] Display Error
Verify Account Information
Select Manage Team Information Feature
Add/Edit/Delete Records
Boundary Objects
Control Objects
Entity Objects
Sequence Diagram 2 for Team Administrator
_1234392242.vsd
valid
:TeamHomePage
:ManageTeamInfo
ManageTeamPage
LoginController
PageController
:UserAccount
Database
Submit Login Information
[Valid] Display Manage Team Information Page
[Not Valid] Display Error
Verify Account Information
Display Manage Team Home Page
Select Manage Team Information Feature
Add/Edit/Delete Records
Sequence Diagram 1 for Team Administrator