足球联赛信息系统设计报告书Word格式.docx
《足球联赛信息系统设计报告书Word格式.docx》由会员分享,可在线阅读,更多相关《足球联赛信息系统设计报告书Word格式.docx(58页珍藏版)》请在冰豆网上搜索。
4.数据字典:
◎用户信息=用户ID+用户姓名+用户类型+用户密码+联系电话+联系地址+证件号码+备注;
◎球队信息=球队ID+球队名称+董事长+总经理+主教练+教练简介+联系电话+联系地址+邮编+传真号码+球队备注;
◎球员信息=球员ID+球员名称+所属球队+出生日期+身高+体重+场上位置+国家队身份+照片+备注;
◎进球信息=进球ID+射门球员ID+助攻球员ID+比赛场次+进球时间;
◎领牌信息=红黄牌ID+领牌球员ID+出示时间;
◎比赛信息=比赛ID+主队ID+客队ID+比赛场次+比赛时间+比赛地点+比赛结果(主队胜负平)+比赛比分+主裁信息+边裁信息;
◎积分信息=球队ID+球队名称+比赛场数+胜场数+负场数+平场数+主场战绩+客场战绩+进球总数+失球总数+积分;
5.系统数据流图
三.结构设计
1.数据库结构设计
●系统用户表:
名称
数据类型
作用
id
varchar
用户帐号
name
用户名称
type
用户类型
password
用户密码
tel
联系电话
addr
联系地址
PICNo
身份证号
remark
备注
●球队信息表
T_id
球队编号
T_name
球队名称
Chairman
球队董事长
T_manager
球队经理
Coach
球队主教练
Coach_resume
教练备注
Addr
球队联系地址
Zip
邮编
Tel
Fax
传真
T_remark
球队备注
●球员信息表
P_id
球员编号
P_name
球员姓名
所属球队
Birthday
datetime
出生日期
Weight
float
体重
High
身高
Posi
场上位置
Nation_player
是否现役国脚
Photo
图片地址
P_remark
球员备注
●进球信息表
G_id
int
进球编号
M_times
进球场次
shotter_id
射门球员编号
Assist_id
助攻球员编号
G_time
场上时间
●红黄牌信息表
C_id
红黄牌编号
M_id
红黄牌场次
领牌球员编号
Yellow_Red
红、黄牌
C_time
出示时间
●比赛信息表
比赛编号
Host_id
主队编号
Guest_id
客队编号
比赛场次
M_date
比赛时间
M_addr
比赛地点
Host_win
主队胜负平
Host_goals
主队进球
Guest_goals
客队进球
Chief_umpire
主裁判
Umpire_1
边裁1
Umpire_2
边裁2
●积分表
Sum_match
比赛总数
Wins
胜场数
Loses
负场数
Too_fall
平场数
Host_wins
主场获胜数
Guest_wins
客场获胜数
Goals
总进球数
Lose_goals
总失球
Score
联赛积分
2.E-R图
图2.1球队作为一个实体
图2.2球员最为一个实体
图2.3进球作为一个实体
图2.4比赛作为一个实体
图2.5红黄牌作为一个实体
图2.6积分榜作为一个实体
nm
1
n
n1
21
●主要数据表关系如下:
●主要数据库SQL脚本如下:
CREATETABLE[dbo].[Cards](
[C_id][int]NOTNULL,
[M_id][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,
[P_id][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,
[Yellow_Red][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[C_time][varchar](10)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
GO
CREATETABLE[dbo].[Goals](
[G_id][int]NOTNULL,
[M_times][varchar](10)COLLATEChinese_PRC_CI_ASNULL,
[shotter_id][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,
[Assist_id][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,
[G_time][varchar](10)COLLATEChinese_PRC_CI_ASNULL
CREATETABLE[dbo].[Matches](
[Host_id][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,
[Guest_id][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,
[M_times][varchar](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[M_date][datetime]NULL,
[M_addr][varchar](50)COLLATEChinese_PRC_CI_ASNULL,
[Host_win][varchar](10)COLLATEChinese_PRC_CI_ASNULL,
[Host_goals][int]NULL,
[Guest_goals][int]NULL,
[Chief_umpire][varchar](20)COLLATEChinese_PRC_CI_ASNULL,
[Umpire_1][varchar](20)COLLATEChinese_PRC_CI_ASNULL,
[Umpire_2][varchar](20)COLLATEChinese_PRC_CI_ASNULL
CREATETABLE[dbo].[Players](
[P_name][varchar](25)COLLATEChinese_PRC_CI_ASNULL,
[T_name][varchar](30)COLLATEChinese_PRC_CI_ASNOTNULL,
[Birthday][datetime]NULL,
[Weight][float]NULL,
[High][float]NULL,
[Posi][varchar](10)COLLATEChinese_PRC_CI_ASNULL,
[Nation_player][varchar](10)COLLATEChinese_PRC_CI_ASNULL,
[Photo][varchar](255)COLLATEChinese_PRC_CI_ASNULL,
[P_remark][varchar](255)COLLATEChinese_PRC_CI_ASNULL
CREATETABLE[dbo].[TEAMScore](
[T_id][varchar](20)COLLATEChinese_PRC_CI_ASNOTNULL,
[Sum_match][int]NULL,
[Wins][int]NULL,
[Loses][int]NULL,
[Too_fall][int]NULL,
[Host_wins][int]NULL,
[Guest_wins][int]NULL,
[Goals][int]NULL,
[Lose_goals][int]NULL,
[Score][int]NULL
CREATETABLE[dbo].[Teams](
[Coach][varchar](20)COLLATEChinese_PRC_CI_ASNULL,
[Addr][varchar](50)COLLATEChinese_PRC_CI_ASNULL,
[Zip][varchar](15)COLLATEChinese_PRC_CI_ASNULL,
[Tel][varchar](20)COLLATEChinese_PRC_CI_ASNULL,
[Fax][varchar](20)COLLATEChinese_PRC_CI_ASNULL,
[Chairman][varchar](20)COLLATEChinese_PRC_CI_ASNULL,
[T_manager][varchar](20)COLLATEChinese_PRC_CI_ASNULL,
[Coach_resume][varchar](254)COLLATEChinese_PRC_CI_ASNULL,
[T_remark][varchar](254)COLLATEChinese_PRC_CI_ASNULL
CREATETABLE[dbo].[operator](
[id][varchar](25)COLLATEChinese_PRC_CI_ASNOTNULL,
[name][varchar](25)COLLATEChinese_PRC_CI_ASNULL,
[type][varchar](10)COLLATEChinese_PRC_CI_ASNULL,
[password][varchar](15)COLLATEChinese_PRC_CI_ASNULL,
[tel][varchar](15)COLLATEChinese_PRC_CI_ASNULL,
[addr][varchar](50)COLLATEChinese_PRC_CI_ASNULL,
[PICNo][varchar](18)COLLATEChinese_PRC_CI_ASNULL,
[remark][varchar](255)COLLATEChinese_PRC_CI_ASNULL
ALTERTABLE[dbo].[Cards]ADD
CONSTRAINT[PK_Card]PRIMARYKEYCLUSTERED
(
[C_id]
)ON[PRIMARY]
ALTERTABLE[dbo].[Goals]ADD
CONSTRAINT[PK_Goals]PRIMARYKEYCLUSTERED
[G_id]
ALTERTABLE[dbo].[Matches]ADD
CONSTRAINT[PK_Matches]PRIMARYKEYCLUSTERED
[M_id]
ALTERTABLE[dbo].[Players]ADD
CONSTRAINT[PK_Players]PRIMARYKEYCLUSTERED
[P_id]
ALTERTABLE[dbo].[TEAMScore]ADD
CONSTRAINT[PK_TEAMScore]PRIMARYKEYCLUSTERED
[T_id]
ALTERTABLE[dbo].[Teams]ADD
CONSTRAINT[PK_Teams]PRIMARYKEYCLUSTERED
ALTERTABLE[dbo].[operator]ADD
CONSTRAINT[PK_operator]PRIMARYKEYCLUSTERED
[id]
CONSTRAINT[FK_Cards_Players]FOREIGNKEY
)REFERENCES[dbo].[Players](
)
altertable[dbo].[Cards]nocheckconstraint[FK_Cards_Players]
CONSTRAINT[FK_Goals_Players]FOREIGNKEY
[shotter_id]
),
CONSTRAINT[FK_Goals_Players1]FOREIGNKEY
[Assist_id]
altertable[dbo].[Goals]nocheckconstraint[FK_Goals_Players]
altertable[dbo].[Goals]nocheckconstraint[FK_Goals_Players1]
CONSTRAINT[FK_Matches_TEAMScore]FOREIGNKEY
[Host_id]
)REFERENCES[dbo].[TEAMScore](
)NOTFORREPLICATION,
CONSTRAINT[FK_Matches_TEAMScore1]FOREIGNKEY
[Guest_id]
altertable[dbo].[Matches]nocheckconstraint[FK_Matches_TEAMScore]
altertable[dbo].[Matches]nocheckconstraint[FK_Matches_TEAMScore1]
CONSTRAINT[FK_TEAMScore_Teams]FOREIGNKEY
)REFERENCES[dbo].[Teams](
altertable[dbo].[TEAMScore]nocheckconstraint[FK_TEAMScore_Teams]
2.系统功能模块设计图:
四.程序设计实现
1.用户登陆。
在这个模块主要由两个类来实现:
CheckUser.class,LoginSystem.class。
这是程序进入的界面,Main.class这个程序的入口类调用。
界面如下:
※LoginSystem.class。
这个类主要设置了登陆界面,并从界面获取用户输入的用户名和密码,并对这些数据进行处理,通过CheckUser.class类中的方法进行判断是否是用户以及获得用户的权限。
主要代码实现如下:
//取得用户输入的用户名
Stringoperator=username.getText();
//取得用户输入的密码
chartemp[]=password.getPassword();
StringtempPass=newString(temp);
//检查用户是否为合法用户
if(cUser.isValidUser(operator,tempPass)==false){
JOptionPane.showMessageDialog(this,"
错误的用户名或密码"
"
错误"
JOptionPane.WARNING_MESSAGE);
logincount++;
//如果输入错误三次,自动退出系统
if(logincount>
=3)
System.exit
(1);
}
else{
//初始化系统主界面
MainFrameframe=newMainFrame();
//获取用户类型
StringuserType=cUser.getUserType(operator);
//将主界面置于屏幕中央}
※CheckUser.class。
这个类主要封装了对用户表的相关操作,如查询用户名是否存在(userExist)、修改密码(updatePassword)、增加用户(addOperator)、删除用户(deleteOperator)、获得用户类型(getUserType)。
各方法主要代码如下:
◆isValidUser:
Connectioncon=null;
PreparedStatementps=null;
ResultSetrs=null;
booleanisValid=false;
try{
con=DriverManager.getConnection(url);
StringqueryStr="
select*fromoperatorWHEREid=?
andpassword=?
"
;
ps=con.prepareStatement(queryStr);
ps.setString(1,operator);
ps.setString(2,pass