SlideShare a Scribd company logo
TeamFourSportsTeammate 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
111Scope
111.1System Overview
131.2Glossary
131.1.1Definitions, Acronyms and Abbreviations
151.3Document Overview
152References
173CSCI Overview
183.1CSCI Architecture
183.1.1Teammate Pro Team Home Page (CSCI)
193.1.2Manage Team Information (CSC)
233.1.3Access Team Information (CSC)
273.1.4Mobile Team Information Manager (CSC)
283.2General Constraints
293.3Assumptions and Dependencies
303.4Non-Functional Scenarios and Tactics
303.4.1Quality Attribute Scenarios
373.4.2Quality Tactics
424Detailed Design
424.1Screen Display Samples
424.1.1Mobile
454.1.2Web
454.2Detailed Web Object Model
454.2.1Mobile
464.2.2Web
494.3Detailed Dynamic Model
534.4Functional Diagram
554.5Manage Team Information (CSC)
554.5.1CSC Structure Chart Diagrams
554.6Manage Team Home Page (Sub-CSC)
554.6.1CSC Structure Chart Diagrams
564.6.2Detailed Software Design –Add Home Page (CSU)
584.6.3Detailed Software Design -Edit Home Page (CSU)
594.7Manage Coach Information (Sub-CSC)
594.7.1CSC Structure Chart Diagrams
594.7.2Detailed Software Design -Add Coach (CSU)
624.7.3Detailed Software Design -Edit Coach Information
(CSU)
654.7.4Detailed Software Design -Remove Coach (CSU)
664.8Manage Roster (Sub-CSC)
664.8.1CSC Structure Chart Diagrams
674.8.2Detailed Software Design -Add Player (CSU)
694.8.3Detailed Software Design -Edit Player (CSU)
714.8.4Detailed Software Design -Remove Player (CSU)
734.9Manage Player Bios (Sub-CSC)
734.9.1CSC Structure Chart Diagrams
734.9.2Detailed Software Design -Add Player Bio (CSU)
754.9.3Detailed Software Design -Edit Player Bio (CSU)
774.10Manage Schedule (Sub-CSC)
774.10.1CSC Structure Chart Diagrams
774.10.2Detailed Software Design -Add Scheduled Game (CSU)
794.10.3Detailed Software Design -Edit Scheduled Game (CSU)
804.10.4Detailed Software Design -Cancel Scheduled Game
(CSU)
814.11Manage Lineup (Sub-CSC)
814.11.1CSC Structure Chart Diagrams
814.11.2Detailed Software Design -Create Lineup (CSU)
844.11.3Detailed Software Design -Load Default Lineup (CSU)
874.12Manage Statistics (Sub-CSC)
874.12.1CSC Structure Chart Diagrams
874.12.2Detailed Software Design -Update Statistics (CSU)
894.12.3Detailed Software Design –Get Batter Statistics (CSU)
914.13Manage Team Discussion Board (Sub-CSC)
914.13.1CSC Structure Chart Diagrams
914.13.2Detailed Software Design -Create Message (CSU)
934.13.3Detailed Software Design -View Message (CSU)
954.13.4Detailed Software Design -Delete Message (CSU)
984.13.5Detailed Software Design -Allow/Deny User Access
(CSU)
1014.14Access Team Information (CSC)
1014.14.1CSC Structure Chart Diagrams
1014.15View Team Information (Sub-CSC)
1014.15.1CSC Structure Chart Diagrams
1014.15.2Detailed Software Design -View Coach Information
(CSU)
1044.15.3Detailed Software Design -View Roster (CSU)
1064.15.4Detailed Software Design -View Player Bios (CSU)
1084.16View Schedule (Sub-CSC)
1084.16.1CSC Structure Chart Diagrams
1084.16.2Detailed Software Design -Select Game (CSU)
1114.17View Lineup (Sub-CSC)
1114.17.1CSC Structure Chart Diagrams
1114.17.2Detailed Software Design -Select Game (CSU)
1144.18View Statistics (Sub-CSC)
1144.18.1CSC Structure Chart Diagrams
1144.18.2Detailed Software Design -View Team Statistics
(CSU)
1174.18.3Detailed Software Design -View Game Statistics
(CSU)
1184.18.4Detailed Software Design -View Player Statistics
(CSU)
1204.19View Game Tracker (Sub-CSC)
1204.19.1CSC Structure Chart Diagrams
1214.19.2Detailed Software Design -Select Game (CSU)
1234.20Access Team Discussion Board (Sub-CSC)
1234.20.1CSC Structure Chart Diagrams
1234.20.2Detailed Software Design -View Message (CSU)
1254.20.3Detailed Software Design -Create Message (CSU)
1274.20.4Detailed Software Design -Edit Message (CSU)
1294.20.5Detailed Software Design -Delete Message (CSU)
1324.21Mobile Team Information Manager (CSC)
1324.21.1CSC Structure Chart Diagrams
1324.22Record Game Statistics (Sub-CSC)
1324.22.1CSC Structure Chart Diagrams
1324.22.2Select Game
1324.22.3Enter Batting Statistics
1324.22.4Enter Pitching Statistics
1324.23Modify Lineup (Sub-CSC)
1324.23.1CSC Structure Chart Diagrams
1324.23.2Detailed Software Design -Select Game (CSU)
1344.23.3Detailed Software Design -Add Player to Lineup
(CSU)
1374.23.4Detailed Software Design -Remove Player From
Lineup (CSU)
1394.23.5Detailed Software Design -Assign Position to Player
(CSU)
1415CSCI Data
1466CSCI Data Files
1466.1Data File to CSC/CSU cross-reference
1527Requirements Traceability Appendixes
153Appendix A Requirements Traceability Web Functions
161Appendix B Requirements Traceability Mobile Functions
Table of Figures
18Figure 1 Teammate Pro CSCI
19Figure 2 Manage Team Home Page
20Figure 3 Manage Coach Information
20Figure 4 Manage Roster
21Figure 5 Manage Player Bios
21Figure 6 Manage Schedule
22Figure 7 Manage Lineup
22Figure 8 Manage Statistics
23Figure 9 Manage Team Discussion Board
24Figure 10 View Team Information
24Figure 11 View Schedule
25Figure 12 View Lineup
25Figure 13 View Statistics
26Figure 14 View Game Tracker
26Figure 15 Access Team Discussion Board
27Figure 16 Record Game Statistics
28Figure 17 Modify Lineup
30Figure 18 Performance Quality Attribute Scenarios
31Figure 19 Security Quality Attribute Scenarios
32Figure 20 Security two Quality Attribute Scenarios
32Figure 21 Maintainability Quality Attribute Scenarios
33Figure 22 Correctness Quality Attribute Scenarios
34Figure 23 Testability Quality Attribute Scenarios
34Figure 24 Usability Quality Attribute Scenarios
35Figure 25 Portability Quality Attribute Scenarios
36Figure 26 Modifiability Quality Attribute Scenarios
36Figure 27 Availability Quality Attribute Scenarios
37Figure 28 Performance Quality Tactics
38Figure 29 Security Quality Tactics
39Figure 30 Maintainability Quality Tactics
39Figure 31 Correctness Quality Tactics
40Figure 32 Testability Quality Tactics
40Figure 33 Usability Quality Tactics
41Figure 34 Portability Quality Tactics
41Figure 35 Modifiability Quality Tactics
42Figure 36 Availability Quality Tactics
43Figure 37 Select Game Page on Openwave™ Simulator
43Figure 38 Select Game Screen on Openwave™ Simulator
44Figure 39 Begin Game Play Panel
44Figure 40 Batter Up Panel
44Figure 41 Batter is Out Panel
45Figure 42 Batter Gets a Hit Panel
46Figure 43 Mobile Web Object
47Figure 44 Initial Web Interface
47Figure 45 Manage Team Info View
48Figure 46 Access Team Information View
49Figure 47 Sequence Diagram 1 for Team Administrator
50Figure 48 Sequence Diagram 2 for Team Administrator
51Figure 49 Mobile Sequence Diagram for Team Administrator
52Figure 50 Sequence Diagram for User
54Figure 51 Teammate Pro ERD
120Figure 52 Game Tracker Structure
Table of Tables
56Table 1 Team Admin Manage Team Home Page –Add Home
Page Input Data Elements
56Table 2 Team Admin Manage Team Home Page –Add Home
Page Data Elements
58Table 3 Team Admin Manage Team Home Page – Edit Home
Page Input Data Elements
58Table 4 Team Admin Manage Team Home Page – Edit Home
Page Data Elements
60Table 5 Manage Coach Information Page –Add Coach Input
Data Elements
60Table 6 Manage Coach Information Page –Add Coach Output
Data Elements
62Table 7 Manage Coach Information Page –Edit Coach Input
Data Elements
63Table 8 Manage Coach Information Page – Edit Coach Output
Data Elements
65Table 9 Manage Coach Information Page –Edit Coach Input
Data Elements
65Table 10 Manage Coach Information Page – Edit Coach
Output Data Elements
67Table 11 Manage Roster Page –Manage Roster Input Data
Elements
67Table 12 Manage Roster Page –Manage Roster Output Data
Elements
69Table 13 Manage Roster Page –Manage Roster Input Data
Elements
69Table 14 Manage Roster Page –Manage Roster Output Data
Elements
71Table 15 Team Admin Modify Lineup – Remove Input Data
Elements
71Table 16Team Admin Modify Lineup – Remove Player
Output Data Elements
73Table 17 Manage Player Bios Page –Add Player Bio Input
Data Elements
73Table 18 Manage Player Bios Page –Add Bio Output Data
Elements
75Table 19 Manage Player Bios Page –Edit Player Bio Input
Data Elements
75Table 20 Manage Player Bios Page –Edit Bio Output Data
Elements
77Table 21 Manage Schedule Page –Manage Schedule Input
Data Elements
77Table 22 Manage Schedule Page –Manage Schedule Output
Data Elements
81Table 23 Team Admin Manage Lineup – Create Lineup Input
Data Elements
81Table 24 Team Admin Manage Lineup – Create Lineup
Output Data Elements
84Table 25 Team Admin Manage Lineup – Load Default Lineup
Input Data Elements
84Table 26 Team Admin Manage Lineup – Load Default Lineup
Output Data Elements
87Table 27 Manage Statistics – UpdateBatterStats Input Data
Elements
87Table 28Manage Statistics – GetBatterStats() Output Data
Elements
89Table 29 Manage Statistics – GetBatterStats() Input Data
Elements
89Table 30 Manage Statistics – GetBatterStats() Output Data
Elements
91Table 31 Access Team Discussion Board Page –Send Message
Input Data Elements
91Table 32 Access Team Discussion Board Page –View
Message Output Data Elements
93Table 33 Access Team Discussion Board Page –View
Message Input Data Elements
93Table 34 Access Team Discussion Board Page –View
Message Output Data Elements
95Table 35 Team Admin Manage Discussion Board – Delete
Message Input Data Elements
95Table 36 Team Admin Manage Discussion Board – Delete
Message Output Data Elements
98Table 37 Team Admin Manage Discussion Board – Delete
Message Input Data Elements
98Table 38 Team Admin Manage Discussion Board – Delete
Message Output Data Elements
101Table 39 View Coach Information Page –View Coach
Information Input Data Elements
101Table 40 View Coach Information Page –View Coach
Information Input Data Elements
104Table 41 View Roster Page –View Roster Input Data
Elements
104Table 42 View Roster Page –View Roster Input Data
Elements
106Table 43 View Bios Page –View Bios Input Data Elements
106Table 44 View Bios Page –View Bios Input Data Elements
108Table 45 User View Lineup – Select Game Input Data
Elements
108Table 46 User View Lineup – Select Game Output Data
Elements
111Table 47 User View Lineup – Select Game Input Data
Elements
111Table 48 User View Lineup – Select Game Output Data
Elements
114Table 49 Manage Statistics – GetBatterStats() Input Data
Elements
114Table 50 Manage Statistics – GetBatterStats() Output Data
Elements
118Table 51 View Statistics – GetBatterStats() Input Data
Elements
118Table 52 View Statistics – GetBatterStats() Output Data
Elements
121Table 53 Manage Statistics – ControlGamePlay() Input Data
Elements
121Table 54 Manage Statistics – ControlGamePlay() Output
Data Elements
123Table 55 Access Team Discussion Board Page –View
Message Input Data Elements
123Table 56 Access Team Discussion Board Page –View
Message Output Data Elements
125Table 57 Access Team Discussion Board Page –Send
Message Input Data Elements
125Table 58 Access Team Discussion Board Page –View
Message Output Data Elements
127Table 59 Access Team Discussion Board Page –Send
Message Input Data Elements
127Table 60 Access Team Discussion Board Page –View
Message Output Data Elements
129Table 61 UserManage Discussion Board – Delete Message
Input Data Elements
129Table 62 User Manage Discussion Board – Delete Message
Output Data Elements
133Table 63 Team Admin Modify Lineup – Select Game Input
Data Elements
133Table 64 Team Admin Modify Lineup – Select Game Output
Data Elements
134Table 65 Team Admin Modify Lineup – Add Player Input
Data Elements
135Table 66 Team Admin Modify Lineup – Add Player Output
Data Elements
137Table 67 Team Admin Modify Lineup – Remove Input Data
Elements
137Table 68 Team Admin Modify Lineup – Remove Player
Output Data Elements
139Table 69 Team Admin Modify Lineup – Assign Position
Input Data Elements
139Table 70 Team Admin Modify Lineup – Assign Position
Output Data Elements
141Table 71 User
141Table 72 Player
142Table 73 Team
142Table 74 Game
143Table 75 Lineup
143Table 76 Position
143Table 77 GameScore
144Table 78 BattingStats
145Table 79 PitchingStats
145Table 80 Message
146Table 81 User cross-reference
146Table 82 Player cross-reference
147Table 83 Team cross-reference
148Table 84 Game cross-reference
148Table 85 Lineup cross-reference
149Table 86 Position cross-reference
149Table 87 GameScore cross-reference
149Table 88 BattingStats cross-reference
150Table 89 PitchingStats cross-reference
151Table 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 Scenarios3.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 Scenarios3.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 Scenarios3.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 Scenarios3.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 Scenarios3.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 Scenarios3.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 Scenarios3.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 Tactics3.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 Tactics3.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 Tactics3.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 Tactics3.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 Tactics3.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 Tactics3.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 Tactics3.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 Tactics3.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 Tactics4 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 Panel4.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:ManageTeamInfoManageTeamPageLoginContr
ollerPageController: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:UserAccountDatab
ase
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:ViewTeamInfoViewScheduleLoginControllerP
ageController: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 User4.4 Functional Diagram
The Figure below is a Entity Relationship Diagram that
represents the Teammate Pro application database.
User
PKUserKey
Email
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/Message4.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/Message4.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/Message4.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/Message4.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
SQL4.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
Show4.8.4.5 Processing Characteristics
4.8.4.6 Algorithms
Search Player Table by PlayerKey
Fetch IsCanceled
IsCanceled = 14.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
SQL4.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/Message4.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
SQL4.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/Message4.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/Message4.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/Message4.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 TeammatePro 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/a4.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 TeammatePro 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
GUI4.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
assignment4.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/Message4.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/Message4.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
Dropdown4.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 click4.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
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx
TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx

More Related Content

Similar to TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx

Sprint 88
Sprint 88Sprint 88
Sprint 88
ManageIQ
 
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Howard Greenberg
 
Sprint 71
Sprint 71Sprint 71
Sprint 71
ManageIQ
 
Just the Facets Ma'am - MWLUG 2013
Just the Facets Ma'am - MWLUG 2013Just the Facets Ma'am - MWLUG 2013
Just the Facets Ma'am - MWLUG 2013
balassaitis
 
Just the Facets Ma'am ... MWLUG August 23, 2013, Indianapoilis, IN
Just the Facets Ma'am ... MWLUG August 23, 2013, Indianapoilis, INJust the Facets Ma'am ... MWLUG August 23, 2013, Indianapoilis, IN
Just the Facets Ma'am ... MWLUG August 23, 2013, Indianapoilis, IN
Paul Della-Nebbia
 
CME
CMECME
Windows 2008 R2 & Windows7
Windows 2008 R2 & Windows7Windows 2008 R2 & Windows7
Windows 2008 R2 & Windows7
Gabe Akisanmi
 
RICOH THETA x IoT Developers Contest : Cloud API Seminar (2nd installation)
RICOH THETA x IoT Developers Contest : Cloud API Seminar (2nd installation)RICOH THETA x IoT Developers Contest : Cloud API Seminar (2nd installation)
RICOH THETA x IoT Developers Contest : Cloud API Seminar (2nd installation)
contest-theta360
 
#Virtualdreamin Meera_Nar_Salesforce_performance_considerations
#Virtualdreamin Meera_Nar_Salesforce_performance_considerations#Virtualdreamin Meera_Nar_Salesforce_performance_considerations
#Virtualdreamin Meera_Nar_Salesforce_performance_considerations
Meera R Nair
 
CISCO ACS 5.6 Migration Guide
CISCO ACS 5.6 Migration GuideCISCO ACS 5.6 Migration Guide
CISCO ACS 5.6 Migration Guide
PCCW GLOBAL
 
Svcrsp 1.3p1
Svcrsp 1.3p1Svcrsp 1.3p1
Svcrsp 1.3p1
Fábio Junior
 
Cassandra 3.0 advanced preview
Cassandra 3.0 advanced previewCassandra 3.0 advanced preview
Cassandra 3.0 advanced preview
Patrick McFadin
 
Section 2 M Vision Geometry Calibration V Mc 062707 V Rjo062807
Section 2  M Vision Geometry Calibration  V Mc 062707 V Rjo062807Section 2  M Vision Geometry Calibration  V Mc 062707 V Rjo062807
Section 2 M Vision Geometry Calibration V Mc 062707 V Rjo062807
Richard O'Keeffe
 
WebRTC Standards & Implementation Q&A - All about browser interoperability
WebRTC Standards & Implementation Q&A - All about browser interoperabilityWebRTC Standards & Implementation Q&A - All about browser interoperability
WebRTC Standards & Implementation Q&A - All about browser interoperability
Amir Zmora
 
Walking Through Spring Cloud Data Flow
Walking Through Spring Cloud Data FlowWalking Through Spring Cloud Data Flow
Walking Through Spring Cloud Data Flow
VMware Tanzu
 
Sprint 149
Sprint 149Sprint 149
Sprint 149
ManageIQ
 
Compressor 2 User Manual
Compressor 2 User ManualCompressor 2 User Manual
Compressor 2 User Manual
Videoguy
 
Making (console) games in the browser
Making (console) games in the browserMaking (console) games in the browser
Making (console) games in the browser
Mike Acton
 
Interconnecting_Cisco_Networking_Devices.pdf
Interconnecting_Cisco_Networking_Devices.pdfInterconnecting_Cisco_Networking_Devices.pdf
Interconnecting_Cisco_Networking_Devices.pdf
Daginni78
 
[Insert System Name (Acronym)]Security Categorization Moderat.docx
[Insert System Name (Acronym)]Security Categorization Moderat.docx[Insert System Name (Acronym)]Security Categorization Moderat.docx
[Insert System Name (Acronym)]Security Categorization Moderat.docx
danielfoster65629
 

Similar to TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx (20)

Sprint 88
Sprint 88Sprint 88
Sprint 88
 
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
 
Sprint 71
Sprint 71Sprint 71
Sprint 71
 
Just the Facets Ma'am - MWLUG 2013
Just the Facets Ma'am - MWLUG 2013Just the Facets Ma'am - MWLUG 2013
Just the Facets Ma'am - MWLUG 2013
 
Just the Facets Ma'am ... MWLUG August 23, 2013, Indianapoilis, IN
Just the Facets Ma'am ... MWLUG August 23, 2013, Indianapoilis, INJust the Facets Ma'am ... MWLUG August 23, 2013, Indianapoilis, IN
Just the Facets Ma'am ... MWLUG August 23, 2013, Indianapoilis, IN
 
CME
CMECME
CME
 
Windows 2008 R2 & Windows7
Windows 2008 R2 & Windows7Windows 2008 R2 & Windows7
Windows 2008 R2 & Windows7
 
RICOH THETA x IoT Developers Contest : Cloud API Seminar (2nd installation)
RICOH THETA x IoT Developers Contest : Cloud API Seminar (2nd installation)RICOH THETA x IoT Developers Contest : Cloud API Seminar (2nd installation)
RICOH THETA x IoT Developers Contest : Cloud API Seminar (2nd installation)
 
#Virtualdreamin Meera_Nar_Salesforce_performance_considerations
#Virtualdreamin Meera_Nar_Salesforce_performance_considerations#Virtualdreamin Meera_Nar_Salesforce_performance_considerations
#Virtualdreamin Meera_Nar_Salesforce_performance_considerations
 
CISCO ACS 5.6 Migration Guide
CISCO ACS 5.6 Migration GuideCISCO ACS 5.6 Migration Guide
CISCO ACS 5.6 Migration Guide
 
Svcrsp 1.3p1
Svcrsp 1.3p1Svcrsp 1.3p1
Svcrsp 1.3p1
 
Cassandra 3.0 advanced preview
Cassandra 3.0 advanced previewCassandra 3.0 advanced preview
Cassandra 3.0 advanced preview
 
Section 2 M Vision Geometry Calibration V Mc 062707 V Rjo062807
Section 2  M Vision Geometry Calibration  V Mc 062707 V Rjo062807Section 2  M Vision Geometry Calibration  V Mc 062707 V Rjo062807
Section 2 M Vision Geometry Calibration V Mc 062707 V Rjo062807
 
WebRTC Standards & Implementation Q&A - All about browser interoperability
WebRTC Standards & Implementation Q&A - All about browser interoperabilityWebRTC Standards & Implementation Q&A - All about browser interoperability
WebRTC Standards & Implementation Q&A - All about browser interoperability
 
Walking Through Spring Cloud Data Flow
Walking Through Spring Cloud Data FlowWalking Through Spring Cloud Data Flow
Walking Through Spring Cloud Data Flow
 
Sprint 149
Sprint 149Sprint 149
Sprint 149
 
Compressor 2 User Manual
Compressor 2 User ManualCompressor 2 User Manual
Compressor 2 User Manual
 
Making (console) games in the browser
Making (console) games in the browserMaking (console) games in the browser
Making (console) games in the browser
 
Interconnecting_Cisco_Networking_Devices.pdf
Interconnecting_Cisco_Networking_Devices.pdfInterconnecting_Cisco_Networking_Devices.pdf
Interconnecting_Cisco_Networking_Devices.pdf
 
[Insert System Name (Acronym)]Security Categorization Moderat.docx
[Insert System Name (Acronym)]Security Categorization Moderat.docx[Insert System Name (Acronym)]Security Categorization Moderat.docx
[Insert System Name (Acronym)]Security Categorization Moderat.docx
 

More from ssuserf9c51d

Muslims in the Golden Age is the theme for the research project. You.docx
Muslims in the Golden Age is the theme for the research project. You.docxMuslims in the Golden Age is the theme for the research project. You.docx
Muslims in the Golden Age is the theme for the research project. You.docx
ssuserf9c51d
 
Multiple Sources of MediaExamine the impact of multiple sour.docx
Multiple Sources of MediaExamine the impact of multiple sour.docxMultiple Sources of MediaExamine the impact of multiple sour.docx
Multiple Sources of MediaExamine the impact of multiple sour.docx
ssuserf9c51d
 
Multicultural Event WrittenPlease choose and research a cult.docx
Multicultural Event WrittenPlease choose and research a cult.docxMulticultural Event WrittenPlease choose and research a cult.docx
Multicultural Event WrittenPlease choose and research a cult.docx
ssuserf9c51d
 
Multi-Party NegotiationFor this Essay, you will explore the co.docx
Multi-Party NegotiationFor this Essay, you will explore the co.docxMulti-Party NegotiationFor this Essay, you will explore the co.docx
Multi-Party NegotiationFor this Essay, you will explore the co.docx
ssuserf9c51d
 
Music has long been used by movements seeking social change.  In the.docx
Music has long been used by movements seeking social change.  In the.docxMusic has long been used by movements seeking social change.  In the.docx
Music has long been used by movements seeking social change.  In the.docx
ssuserf9c51d
 
MSW Advanced Clinical Concentration -Student Learning AgreementW.docx
MSW Advanced Clinical Concentration -Student Learning AgreementW.docxMSW Advanced Clinical Concentration -Student Learning AgreementW.docx
MSW Advanced Clinical Concentration -Student Learning AgreementW.docx
ssuserf9c51d
 
Multimedia Instructional MaterialsStaying current on technolog.docx
Multimedia Instructional MaterialsStaying current on technolog.docxMultimedia Instructional MaterialsStaying current on technolog.docx
Multimedia Instructional MaterialsStaying current on technolog.docx
ssuserf9c51d
 
Murray Bowen is one of the most respected family theorists in th.docx
Murray Bowen is one of the most respected family theorists in th.docxMurray Bowen is one of the most respected family theorists in th.docx
Murray Bowen is one of the most respected family theorists in th.docx
ssuserf9c51d
 
Mrs. Thomas is a 54, year old African American widow, mother and gra.docx
Mrs. Thomas is a 54, year old African American widow, mother and gra.docxMrs. Thomas is a 54, year old African American widow, mother and gra.docx
Mrs. Thomas is a 54, year old African American widow, mother and gra.docx
ssuserf9c51d
 
Multiple Source Essay, Speculating about CausesProposing a Solution.docx
Multiple Source Essay, Speculating about CausesProposing a Solution.docxMultiple Source Essay, Speculating about CausesProposing a Solution.docx
Multiple Source Essay, Speculating about CausesProposing a Solution.docx
ssuserf9c51d
 
Multiyear Plans Please respond to the followingDo you.docx
Multiyear Plans Please respond to the followingDo you.docxMultiyear Plans Please respond to the followingDo you.docx
Multiyear Plans Please respond to the followingDo you.docx
ssuserf9c51d
 
Multinational Financial ManagementDetermine key reasons wh.docx
Multinational Financial ManagementDetermine key reasons wh.docxMultinational Financial ManagementDetermine key reasons wh.docx
Multinational Financial ManagementDetermine key reasons wh.docx
ssuserf9c51d
 
Murder CasePreambleAn organization system administrator .docx
Murder CasePreambleAn organization system administrator .docxMurder CasePreambleAn organization system administrator .docx
Murder CasePreambleAn organization system administrator .docx
ssuserf9c51d
 
Multimodal Personal Narrative – Develop a multimodal document to bot.docx
Multimodal Personal Narrative – Develop a multimodal document to bot.docxMultimodal Personal Narrative – Develop a multimodal document to bot.docx
Multimodal Personal Narrative – Develop a multimodal document to bot.docx
ssuserf9c51d
 
Multigenre ProjectEN101O Fall 2019 Dr. WalterA Multigenre Pr.docx
Multigenre ProjectEN101O Fall 2019 Dr. WalterA Multigenre Pr.docxMultigenre ProjectEN101O Fall 2019 Dr. WalterA Multigenre Pr.docx
Multigenre ProjectEN101O Fall 2019 Dr. WalterA Multigenre Pr.docx
ssuserf9c51d
 
Multimedia activity Business OrganizationVisit the Choose Your .docx
Multimedia activity Business OrganizationVisit the Choose Your .docxMultimedia activity Business OrganizationVisit the Choose Your .docx
Multimedia activity Business OrganizationVisit the Choose Your .docx
ssuserf9c51d
 
Multicultural PerspectiveToday’s classrooms are diverse and .docx
Multicultural PerspectiveToday’s classrooms are diverse and .docxMulticultural PerspectiveToday’s classrooms are diverse and .docx
Multicultural PerspectiveToday’s classrooms are diverse and .docx
ssuserf9c51d
 
Muhammad Ali, how did his refusal to go into the army affect his.docx
Muhammad Ali, how did his refusal to go into the army affect his.docxMuhammad Ali, how did his refusal to go into the army affect his.docx
Muhammad Ali, how did his refusal to go into the army affect his.docx
ssuserf9c51d
 
MS 113 Some key concepts that you need to know to navigate th.docx
MS 113 Some key concepts that you need to know to navigate th.docxMS 113 Some key concepts that you need to know to navigate th.docx
MS 113 Some key concepts that you need to know to navigate th.docx
ssuserf9c51d
 
Much has been made of the new Web 2.0 phenomenon, including social n.docx
Much has been made of the new Web 2.0 phenomenon, including social n.docxMuch has been made of the new Web 2.0 phenomenon, including social n.docx
Much has been made of the new Web 2.0 phenomenon, including social n.docx
ssuserf9c51d
 

More from ssuserf9c51d (20)

Muslims in the Golden Age is the theme for the research project. You.docx
Muslims in the Golden Age is the theme for the research project. You.docxMuslims in the Golden Age is the theme for the research project. You.docx
Muslims in the Golden Age is the theme for the research project. You.docx
 
Multiple Sources of MediaExamine the impact of multiple sour.docx
Multiple Sources of MediaExamine the impact of multiple sour.docxMultiple Sources of MediaExamine the impact of multiple sour.docx
Multiple Sources of MediaExamine the impact of multiple sour.docx
 
Multicultural Event WrittenPlease choose and research a cult.docx
Multicultural Event WrittenPlease choose and research a cult.docxMulticultural Event WrittenPlease choose and research a cult.docx
Multicultural Event WrittenPlease choose and research a cult.docx
 
Multi-Party NegotiationFor this Essay, you will explore the co.docx
Multi-Party NegotiationFor this Essay, you will explore the co.docxMulti-Party NegotiationFor this Essay, you will explore the co.docx
Multi-Party NegotiationFor this Essay, you will explore the co.docx
 
Music has long been used by movements seeking social change.  In the.docx
Music has long been used by movements seeking social change.  In the.docxMusic has long been used by movements seeking social change.  In the.docx
Music has long been used by movements seeking social change.  In the.docx
 
MSW Advanced Clinical Concentration -Student Learning AgreementW.docx
MSW Advanced Clinical Concentration -Student Learning AgreementW.docxMSW Advanced Clinical Concentration -Student Learning AgreementW.docx
MSW Advanced Clinical Concentration -Student Learning AgreementW.docx
 
Multimedia Instructional MaterialsStaying current on technolog.docx
Multimedia Instructional MaterialsStaying current on technolog.docxMultimedia Instructional MaterialsStaying current on technolog.docx
Multimedia Instructional MaterialsStaying current on technolog.docx
 
Murray Bowen is one of the most respected family theorists in th.docx
Murray Bowen is one of the most respected family theorists in th.docxMurray Bowen is one of the most respected family theorists in th.docx
Murray Bowen is one of the most respected family theorists in th.docx
 
Mrs. Thomas is a 54, year old African American widow, mother and gra.docx
Mrs. Thomas is a 54, year old African American widow, mother and gra.docxMrs. Thomas is a 54, year old African American widow, mother and gra.docx
Mrs. Thomas is a 54, year old African American widow, mother and gra.docx
 
Multiple Source Essay, Speculating about CausesProposing a Solution.docx
Multiple Source Essay, Speculating about CausesProposing a Solution.docxMultiple Source Essay, Speculating about CausesProposing a Solution.docx
Multiple Source Essay, Speculating about CausesProposing a Solution.docx
 
Multiyear Plans Please respond to the followingDo you.docx
Multiyear Plans Please respond to the followingDo you.docxMultiyear Plans Please respond to the followingDo you.docx
Multiyear Plans Please respond to the followingDo you.docx
 
Multinational Financial ManagementDetermine key reasons wh.docx
Multinational Financial ManagementDetermine key reasons wh.docxMultinational Financial ManagementDetermine key reasons wh.docx
Multinational Financial ManagementDetermine key reasons wh.docx
 
Murder CasePreambleAn organization system administrator .docx
Murder CasePreambleAn organization system administrator .docxMurder CasePreambleAn organization system administrator .docx
Murder CasePreambleAn organization system administrator .docx
 
Multimodal Personal Narrative – Develop a multimodal document to bot.docx
Multimodal Personal Narrative – Develop a multimodal document to bot.docxMultimodal Personal Narrative – Develop a multimodal document to bot.docx
Multimodal Personal Narrative – Develop a multimodal document to bot.docx
 
Multigenre ProjectEN101O Fall 2019 Dr. WalterA Multigenre Pr.docx
Multigenre ProjectEN101O Fall 2019 Dr. WalterA Multigenre Pr.docxMultigenre ProjectEN101O Fall 2019 Dr. WalterA Multigenre Pr.docx
Multigenre ProjectEN101O Fall 2019 Dr. WalterA Multigenre Pr.docx
 
Multimedia activity Business OrganizationVisit the Choose Your .docx
Multimedia activity Business OrganizationVisit the Choose Your .docxMultimedia activity Business OrganizationVisit the Choose Your .docx
Multimedia activity Business OrganizationVisit the Choose Your .docx
 
Multicultural PerspectiveToday’s classrooms are diverse and .docx
Multicultural PerspectiveToday’s classrooms are diverse and .docxMulticultural PerspectiveToday’s classrooms are diverse and .docx
Multicultural PerspectiveToday’s classrooms are diverse and .docx
 
Muhammad Ali, how did his refusal to go into the army affect his.docx
Muhammad Ali, how did his refusal to go into the army affect his.docxMuhammad Ali, how did his refusal to go into the army affect his.docx
Muhammad Ali, how did his refusal to go into the army affect his.docx
 
MS 113 Some key concepts that you need to know to navigate th.docx
MS 113 Some key concepts that you need to know to navigate th.docxMS 113 Some key concepts that you need to know to navigate th.docx
MS 113 Some key concepts that you need to know to navigate th.docx
 
Much has been made of the new Web 2.0 phenomenon, including social n.docx
Much has been made of the new Web 2.0 phenomenon, including social n.docxMuch has been made of the new Web 2.0 phenomenon, including social n.docx
Much has been made of the new Web 2.0 phenomenon, including social n.docx
 

Recently uploaded

Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
Nicholas Montgomery
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
Jyoti Chand
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
History of Stoke Newington
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
Nicholas Montgomery
 
B. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdfB. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdf
BoudhayanBhattachari
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
GeorgeMilliken2
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
Celine George
 
UGC NET Exam Paper 1- Unit 1:Teaching Aptitude
UGC NET Exam Paper 1- Unit 1:Teaching AptitudeUGC NET Exam Paper 1- Unit 1:Teaching Aptitude
UGC NET Exam Paper 1- Unit 1:Teaching Aptitude
S. Raj Kumar
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
MysoreMuleSoftMeetup
 
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
สมใจ จันสุกสี
 
How to deliver Powerpoint Presentations.pptx
How to deliver Powerpoint  Presentations.pptxHow to deliver Powerpoint  Presentations.pptx
How to deliver Powerpoint Presentations.pptx
HajraNaeem15
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
Celine George
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
WaniBasim
 
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptxPrésentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
siemaillard
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
adhitya5119
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
Priyankaranawat4
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
Nguyen Thanh Tu Collection
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
Jean Carlos Nunes Paixão
 
Leveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit InnovationLeveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit Innovation
TechSoup
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Excellence Foundation for South Sudan
 

Recently uploaded (20)

Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
 
Wound healing PPT
Wound healing PPTWound healing PPT
Wound healing PPT
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
 
B. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdfB. Ed Syllabus for babasaheb ambedkar education university.pdf
B. Ed Syllabus for babasaheb ambedkar education university.pdf
 
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
What is Digital Literacy? A guest blog from Andy McLaughlin, University of Ab...
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
 
UGC NET Exam Paper 1- Unit 1:Teaching Aptitude
UGC NET Exam Paper 1- Unit 1:Teaching AptitudeUGC NET Exam Paper 1- Unit 1:Teaching Aptitude
UGC NET Exam Paper 1- Unit 1:Teaching Aptitude
 
Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47Mule event processing models | MuleSoft Mysore Meetup #47
Mule event processing models | MuleSoft Mysore Meetup #47
 
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
คำศัพท์ คำพื้นฐานการอ่าน ภาษาอังกฤษ ระดับชั้น ม.1
 
How to deliver Powerpoint Presentations.pptx
How to deliver Powerpoint  Presentations.pptxHow to deliver Powerpoint  Presentations.pptx
How to deliver Powerpoint Presentations.pptx
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
 
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptxPrésentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
Présentationvvvvvvvvvvvvvvvvvvvvvvvvvvvv2.pptx
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
 
A Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdfA Independência da América Espanhola LAPBOOK.pdf
A Independência da América Espanhola LAPBOOK.pdf
 
Leveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit InnovationLeveraging Generative AI to Drive Nonprofit Innovation
Leveraging Generative AI to Drive Nonprofit Innovation
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
 

TeamFourSportsTeammate Pro SDDTeammate Pro v.1.0Interactiv.docx

  • 1. TeamFourSportsTeammate 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
  • 2. 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
  • 3. 03/01/2007 Added Detailed, ERD, Web Object, DB tables Vic Beach Release 03/03/2007 Released to Professor Vic Beach Table of Contents 111Scope 111.1System Overview 131.2Glossary 131.1.1Definitions, Acronyms and Abbreviations 151.3Document Overview 152References 173CSCI Overview 183.1CSCI Architecture 183.1.1Teammate Pro Team Home Page (CSCI) 193.1.2Manage Team Information (CSC) 233.1.3Access Team Information (CSC) 273.1.4Mobile Team Information Manager (CSC) 283.2General Constraints 293.3Assumptions and Dependencies 303.4Non-Functional Scenarios and Tactics 303.4.1Quality Attribute Scenarios 373.4.2Quality Tactics 424Detailed Design 424.1Screen Display Samples 424.1.1Mobile 454.1.2Web 454.2Detailed Web Object Model 454.2.1Mobile 464.2.2Web 494.3Detailed Dynamic Model 534.4Functional Diagram 554.5Manage Team Information (CSC) 554.5.1CSC Structure Chart Diagrams
  • 4. 554.6Manage Team Home Page (Sub-CSC) 554.6.1CSC Structure Chart Diagrams 564.6.2Detailed Software Design –Add Home Page (CSU) 584.6.3Detailed Software Design -Edit Home Page (CSU) 594.7Manage Coach Information (Sub-CSC) 594.7.1CSC Structure Chart Diagrams 594.7.2Detailed Software Design -Add Coach (CSU) 624.7.3Detailed Software Design -Edit Coach Information (CSU) 654.7.4Detailed Software Design -Remove Coach (CSU) 664.8Manage Roster (Sub-CSC) 664.8.1CSC Structure Chart Diagrams 674.8.2Detailed Software Design -Add Player (CSU) 694.8.3Detailed Software Design -Edit Player (CSU) 714.8.4Detailed Software Design -Remove Player (CSU) 734.9Manage Player Bios (Sub-CSC) 734.9.1CSC Structure Chart Diagrams 734.9.2Detailed Software Design -Add Player Bio (CSU) 754.9.3Detailed Software Design -Edit Player Bio (CSU) 774.10Manage Schedule (Sub-CSC) 774.10.1CSC Structure Chart Diagrams 774.10.2Detailed Software Design -Add Scheduled Game (CSU) 794.10.3Detailed Software Design -Edit Scheduled Game (CSU) 804.10.4Detailed Software Design -Cancel Scheduled Game (CSU) 814.11Manage Lineup (Sub-CSC) 814.11.1CSC Structure Chart Diagrams 814.11.2Detailed Software Design -Create Lineup (CSU) 844.11.3Detailed Software Design -Load Default Lineup (CSU) 874.12Manage Statistics (Sub-CSC) 874.12.1CSC Structure Chart Diagrams 874.12.2Detailed Software Design -Update Statistics (CSU) 894.12.3Detailed Software Design –Get Batter Statistics (CSU) 914.13Manage Team Discussion Board (Sub-CSC) 914.13.1CSC Structure Chart Diagrams 914.13.2Detailed Software Design -Create Message (CSU)
  • 5. 934.13.3Detailed Software Design -View Message (CSU) 954.13.4Detailed Software Design -Delete Message (CSU) 984.13.5Detailed Software Design -Allow/Deny User Access (CSU) 1014.14Access Team Information (CSC) 1014.14.1CSC Structure Chart Diagrams 1014.15View Team Information (Sub-CSC) 1014.15.1CSC Structure Chart Diagrams 1014.15.2Detailed Software Design -View Coach Information (CSU) 1044.15.3Detailed Software Design -View Roster (CSU) 1064.15.4Detailed Software Design -View Player Bios (CSU) 1084.16View Schedule (Sub-CSC) 1084.16.1CSC Structure Chart Diagrams 1084.16.2Detailed Software Design -Select Game (CSU) 1114.17View Lineup (Sub-CSC) 1114.17.1CSC Structure Chart Diagrams 1114.17.2Detailed Software Design -Select Game (CSU) 1144.18View Statistics (Sub-CSC) 1144.18.1CSC Structure Chart Diagrams 1144.18.2Detailed Software Design -View Team Statistics (CSU) 1174.18.3Detailed Software Design -View Game Statistics (CSU) 1184.18.4Detailed Software Design -View Player Statistics (CSU) 1204.19View Game Tracker (Sub-CSC) 1204.19.1CSC Structure Chart Diagrams 1214.19.2Detailed Software Design -Select Game (CSU) 1234.20Access Team Discussion Board (Sub-CSC) 1234.20.1CSC Structure Chart Diagrams 1234.20.2Detailed Software Design -View Message (CSU) 1254.20.3Detailed Software Design -Create Message (CSU) 1274.20.4Detailed Software Design -Edit Message (CSU) 1294.20.5Detailed Software Design -Delete Message (CSU) 1324.21Mobile Team Information Manager (CSC)
  • 6. 1324.21.1CSC Structure Chart Diagrams 1324.22Record Game Statistics (Sub-CSC) 1324.22.1CSC Structure Chart Diagrams 1324.22.2Select Game 1324.22.3Enter Batting Statistics 1324.22.4Enter Pitching Statistics 1324.23Modify Lineup (Sub-CSC) 1324.23.1CSC Structure Chart Diagrams 1324.23.2Detailed Software Design -Select Game (CSU) 1344.23.3Detailed Software Design -Add Player to Lineup (CSU) 1374.23.4Detailed Software Design -Remove Player From Lineup (CSU) 1394.23.5Detailed Software Design -Assign Position to Player (CSU) 1415CSCI Data 1466CSCI Data Files 1466.1Data File to CSC/CSU cross-reference 1527Requirements Traceability Appendixes 153Appendix A Requirements Traceability Web Functions 161Appendix B Requirements Traceability Mobile Functions Table of Figures 18Figure 1 Teammate Pro CSCI 19Figure 2 Manage Team Home Page 20Figure 3 Manage Coach Information 20Figure 4 Manage Roster 21Figure 5 Manage Player Bios 21Figure 6 Manage Schedule 22Figure 7 Manage Lineup 22Figure 8 Manage Statistics 23Figure 9 Manage Team Discussion Board 24Figure 10 View Team Information 24Figure 11 View Schedule 25Figure 12 View Lineup
  • 7. 25Figure 13 View Statistics 26Figure 14 View Game Tracker 26Figure 15 Access Team Discussion Board 27Figure 16 Record Game Statistics 28Figure 17 Modify Lineup 30Figure 18 Performance Quality Attribute Scenarios 31Figure 19 Security Quality Attribute Scenarios 32Figure 20 Security two Quality Attribute Scenarios 32Figure 21 Maintainability Quality Attribute Scenarios 33Figure 22 Correctness Quality Attribute Scenarios 34Figure 23 Testability Quality Attribute Scenarios 34Figure 24 Usability Quality Attribute Scenarios 35Figure 25 Portability Quality Attribute Scenarios 36Figure 26 Modifiability Quality Attribute Scenarios 36Figure 27 Availability Quality Attribute Scenarios 37Figure 28 Performance Quality Tactics 38Figure 29 Security Quality Tactics 39Figure 30 Maintainability Quality Tactics 39Figure 31 Correctness Quality Tactics 40Figure 32 Testability Quality Tactics 40Figure 33 Usability Quality Tactics 41Figure 34 Portability Quality Tactics 41Figure 35 Modifiability Quality Tactics 42Figure 36 Availability Quality Tactics 43Figure 37 Select Game Page on Openwave™ Simulator 43Figure 38 Select Game Screen on Openwave™ Simulator 44Figure 39 Begin Game Play Panel 44Figure 40 Batter Up Panel 44Figure 41 Batter is Out Panel 45Figure 42 Batter Gets a Hit Panel 46Figure 43 Mobile Web Object 47Figure 44 Initial Web Interface 47Figure 45 Manage Team Info View 48Figure 46 Access Team Information View 49Figure 47 Sequence Diagram 1 for Team Administrator 50Figure 48 Sequence Diagram 2 for Team Administrator
  • 8. 51Figure 49 Mobile Sequence Diagram for Team Administrator 52Figure 50 Sequence Diagram for User 54Figure 51 Teammate Pro ERD 120Figure 52 Game Tracker Structure Table of Tables 56Table 1 Team Admin Manage Team Home Page –Add Home Page Input Data Elements 56Table 2 Team Admin Manage Team Home Page –Add Home Page Data Elements 58Table 3 Team Admin Manage Team Home Page – Edit Home Page Input Data Elements 58Table 4 Team Admin Manage Team Home Page – Edit Home Page Data Elements 60Table 5 Manage Coach Information Page –Add Coach Input Data Elements 60Table 6 Manage Coach Information Page –Add Coach Output Data Elements 62Table 7 Manage Coach Information Page –Edit Coach Input Data Elements 63Table 8 Manage Coach Information Page – Edit Coach Output Data Elements 65Table 9 Manage Coach Information Page –Edit Coach Input Data Elements 65Table 10 Manage Coach Information Page – Edit Coach Output Data Elements 67Table 11 Manage Roster Page –Manage Roster Input Data Elements 67Table 12 Manage Roster Page –Manage Roster Output Data Elements 69Table 13 Manage Roster Page –Manage Roster Input Data Elements 69Table 14 Manage Roster Page –Manage Roster Output Data Elements 71Table 15 Team Admin Modify Lineup – Remove Input Data Elements
  • 9. 71Table 16Team Admin Modify Lineup – Remove Player Output Data Elements 73Table 17 Manage Player Bios Page –Add Player Bio Input Data Elements 73Table 18 Manage Player Bios Page –Add Bio Output Data Elements 75Table 19 Manage Player Bios Page –Edit Player Bio Input Data Elements 75Table 20 Manage Player Bios Page –Edit Bio Output Data Elements 77Table 21 Manage Schedule Page –Manage Schedule Input Data Elements 77Table 22 Manage Schedule Page –Manage Schedule Output Data Elements 81Table 23 Team Admin Manage Lineup – Create Lineup Input Data Elements 81Table 24 Team Admin Manage Lineup – Create Lineup Output Data Elements 84Table 25 Team Admin Manage Lineup – Load Default Lineup Input Data Elements 84Table 26 Team Admin Manage Lineup – Load Default Lineup Output Data Elements 87Table 27 Manage Statistics – UpdateBatterStats Input Data Elements 87Table 28Manage Statistics – GetBatterStats() Output Data Elements 89Table 29 Manage Statistics – GetBatterStats() Input Data Elements 89Table 30 Manage Statistics – GetBatterStats() Output Data Elements 91Table 31 Access Team Discussion Board Page –Send Message Input Data Elements 91Table 32 Access Team Discussion Board Page –View Message Output Data Elements 93Table 33 Access Team Discussion Board Page –View Message Input Data Elements
  • 10. 93Table 34 Access Team Discussion Board Page –View Message Output Data Elements 95Table 35 Team Admin Manage Discussion Board – Delete Message Input Data Elements 95Table 36 Team Admin Manage Discussion Board – Delete Message Output Data Elements 98Table 37 Team Admin Manage Discussion Board – Delete Message Input Data Elements 98Table 38 Team Admin Manage Discussion Board – Delete Message Output Data Elements 101Table 39 View Coach Information Page –View Coach Information Input Data Elements 101Table 40 View Coach Information Page –View Coach Information Input Data Elements 104Table 41 View Roster Page –View Roster Input Data Elements 104Table 42 View Roster Page –View Roster Input Data Elements 106Table 43 View Bios Page –View Bios Input Data Elements 106Table 44 View Bios Page –View Bios Input Data Elements 108Table 45 User View Lineup – Select Game Input Data Elements 108Table 46 User View Lineup – Select Game Output Data Elements 111Table 47 User View Lineup – Select Game Input Data Elements 111Table 48 User View Lineup – Select Game Output Data Elements 114Table 49 Manage Statistics – GetBatterStats() Input Data Elements 114Table 50 Manage Statistics – GetBatterStats() Output Data Elements 118Table 51 View Statistics – GetBatterStats() Input Data Elements 118Table 52 View Statistics – GetBatterStats() Output Data Elements
  • 11. 121Table 53 Manage Statistics – ControlGamePlay() Input Data Elements 121Table 54 Manage Statistics – ControlGamePlay() Output Data Elements 123Table 55 Access Team Discussion Board Page –View Message Input Data Elements 123Table 56 Access Team Discussion Board Page –View Message Output Data Elements 125Table 57 Access Team Discussion Board Page –Send Message Input Data Elements 125Table 58 Access Team Discussion Board Page –View Message Output Data Elements 127Table 59 Access Team Discussion Board Page –Send Message Input Data Elements 127Table 60 Access Team Discussion Board Page –View Message Output Data Elements 129Table 61 UserManage Discussion Board – Delete Message Input Data Elements 129Table 62 User Manage Discussion Board – Delete Message Output Data Elements 133Table 63 Team Admin Modify Lineup – Select Game Input Data Elements 133Table 64 Team Admin Modify Lineup – Select Game Output Data Elements 134Table 65 Team Admin Modify Lineup – Add Player Input Data Elements 135Table 66 Team Admin Modify Lineup – Add Player Output Data Elements 137Table 67 Team Admin Modify Lineup – Remove Input Data Elements 137Table 68 Team Admin Modify Lineup – Remove Player Output Data Elements 139Table 69 Team Admin Modify Lineup – Assign Position Input Data Elements 139Table 70 Team Admin Modify Lineup – Assign Position Output Data Elements
  • 12. 141Table 71 User 141Table 72 Player 142Table 73 Team 142Table 74 Game 143Table 75 Lineup 143Table 76 Position 143Table 77 GameScore 144Table 78 BattingStats 145Table 79 PitchingStats 145Table 80 Message 146Table 81 User cross-reference 146Table 82 Player cross-reference 147Table 83 Team cross-reference 148Table 84 Game cross-reference 148Table 85 Lineup cross-reference 149Table 86 Position cross-reference 149Table 87 GameScore cross-reference 149Table 88 BattingStats cross-reference 150Table 89 PitchingStats cross-reference 151Table 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
  • 13. “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
  • 14. 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
  • 15. 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
  • 16. 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.
  • 17. 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
  • 18. 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
  • 19. ( 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
  • 20. 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
  • 21. ) 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.
  • 22. 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
  • 23. 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
  • 24. 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)
  • 25. 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
  • 26. ) 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
  • 27. - 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
  • 28. ) 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 )
  • 29. 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.
  • 30. 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
  • 31. 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
  • 32. ) 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 )
  • 33. 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
  • 34. 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,
  • 35. 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
  • 36. ( 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
  • 37. ) 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.
  • 38. 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
  • 39. 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
  • 40. 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 Scenarios3.4.1.2
  • 41. 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
  • 42. 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 )
  • 43. 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 Scenarios3.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
  • 44. 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 Scenarios3.4.1.4 Correctness This quality attribute is concerned with the extent to which the
  • 45. 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
  • 46. : System provides information Environment : Under normal operations Figure 22 Correctness Quality Attribute Scenarios3.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
  • 47. 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 Scenarios3.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
  • 48. : 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 Scenarios3.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.
  • 49. 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 Scenarios3.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
  • 50. 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
  • 51. 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 :
  • 52. System connects to fail - over server Environment : Under normal operations Figure 27 Availability Quality Attribute Scenarios 3.4.2 Quality Tactics3.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
  • 53. Multiple User Requests System Response Figure 28 Performance Quality Tactics3.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 Tactics3.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
  • 54. 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 Tactics3.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
  • 55. : 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 Tactics3.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
  • 56. specialized access routines / interfaces Internal Monitoring : built - in monitors Completion of component / System Faults detected Figure 32 Testability Quality Tactics3.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 :
  • 57. user model system model task model User request Appropriate feedback provided Figure 33 Usability Quality Tactics3.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
  • 58. 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 Tactics3.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 /
  • 59. Repair redundancy Reintroduction resynchronization Prevention monitor for reoccurance External Problem Introduced Recovery of System with minimal downtime Figure 36 Availability Quality Tactics4 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
  • 60. Figure 40 Batter Up Panel Figure 41 Batter is Out Panel Figure 42 Batter Gets a Hit Panel4.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
  • 61. 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
  • 62. 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:ManageTeamInfoManageTeamPageLoginContr ollerPageController: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
  • 63. 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
  • 64. 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:UserAccountDatab ase 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:ViewTeamInfoViewScheduleLoginControllerP ageController:UserAccountDatabase
  • 65. 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 User4.4 Functional Diagram The Figure below is a Entity Relationship Diagram that represents the Teammate Pro application database. User PKUserKey Email Password IsRegistered CreatedDate CreatedBy CreatedByIP Team PKTeamKey
  • 68. 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)
  • 69. 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
  • 70. 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/Message4.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
  • 71. · 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
  • 72. 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
  • 73. 1 = True TeamWebPage GUI Dialogue/Message4.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.
  • 74. 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
  • 75. 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:
  • 76. 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/Message4.7.2.5 Processing Characteristics Chained row insert 4.7.2.6 Algorithms SEARCH for EmailAddress IN User table If Found, Fetch UserKey
  • 77. 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
  • 78. 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
  • 79. 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
  • 80. Success Message Bool 0 = False 1 = True Coach Information Page GUI Dialogue/Message4.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:
  • 81. · 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
  • 82. PlayerKey Coach’s id int n/a Database SQL4.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
  • 83. 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
  • 84. 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
  • 85. 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
  • 86. 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,
  • 87. 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
  • 88. 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
  • 89. 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
  • 90. 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/
  • 91. 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 Show4.8.4.5 Processing Characteristics 4.8.4.6 Algorithms
  • 92. Search Player Table by PlayerKey Fetch IsCanceled IsCanceled = 14.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
  • 93. 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 SQL4.9.2.4 Output Data Elements: Table 18 Manage Player Bios Page –Add Bio Output Data Elements Identifier Description Data type Limit/
  • 94. 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/Message4.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:
  • 95. · 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
  • 96. Team id int n/a Session Parameter (By Value) PlayerKey Player's id int n/a Manage Player Bios Page SQL4.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
  • 97. GUI Dialogue/Message4.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)
  • 98. 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
  • 99. 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
  • 100. 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,
  • 101. 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)
  • 102. 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
  • 103. 1 = True Create Lineup Page GUI Dialogue/Message4.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
  • 104. 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
  • 105. 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/Message4.11.3.5 Processing Characteristics
  • 106. 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.
  • 107. 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 TeammatePro 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)
  • 108. 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
  • 109. Description Data Type Limit/ Range Destination(s) Output Method n/a n/a n/a n/a n/a n/a4.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
  • 110. 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 TeammatePro database. The method shall utilize a player’s unique identifier to select all rows from the
  • 111. 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)
  • 112. Output Method batterStats Tablular data structure containing all of a player’s batting statistics DataTable n/a Display Player Statistics Page GUI4.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
  • 113. 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)
  • 114. 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
  • 115. Message Text varChar 500 char Message Table assignment4.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
  • 116. · 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
  • 117. 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
  • 118. 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 ()
  • 119. 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
  • 120. 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/Message4.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
  • 121. 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
  • 122. 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
  • 123. 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/Message4.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
  • 124. 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
  • 125. 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
  • 126. Coach Name String 256 characters PlayerKey Dropdown4.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
  • 127. 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.
  • 128. 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 click4.15.3.4 Output Data Elements: Table 42 View Roster Page –View Roster Input Data Elements Identifier Description Data type Limit/ Range Destination(s)
  • 129. 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