运动会成绩管理系统.docx
- 文档编号:12363034
- 上传时间:2023-04-18
- 格式:DOCX
- 页数:19
- 大小:203.76KB
运动会成绩管理系统.docx
《运动会成绩管理系统.docx》由会员分享,可在线阅读,更多相关《运动会成绩管理系统.docx(19页珍藏版)》请在冰豆网上搜索。
运动会成绩管理系统
第一章概述………………………………………………………………………………
第二章需求分析…………………………………………………………………………
2.1问题陈述………………………………………………………………………
2.2功能分析………………………………………………………………………
2.3数据流图…………………………………………………………………………
2.4数据字典…………………………………………………………………………
第三章.概念结构设计……………………………………………………………………
第四章逻辑结构设计………………………………………………………………………
第五章软件功能设计………………………………………………………………
第六章代码设计和界面设计………………………………………………………………
小结……………………………………………………………………………………
参考文献………………………………………………………………………………
课程设计任务书
1、课程设计题目
运动会成绩管理系统
2、设计任务和内容
一个运动会成绩管理系统是根据学校的实际运动会工作专门设计的一个管理信息系统。
该系统能够对项目、运动员、成绩进行有效管理。
对以上信息管理主要包括:
登记各项比赛成绩、根据预赛成绩产生预(决)赛名单,同时能够进行适当的统计工作和结果输出,可以满足各个单位、个人成绩查询的需求。
本课题任务是开发一个运动会成绩管理系统,并撰写符合规范的课程设计说明书以体现设计过程和设计结果。
3、设计步骤和要求
设计步骤:
首先进行相关资料查阅和学习,了解基本的业务流程和系统数据功能要求。
然后结合软件工程的理论和教材中数据库设计的六个阶段(重点是前三个阶段)完成设计任务,即系统结构设计(需求分析、概念结构设计、逻辑结构设计、物理结构设计)和系统功能设计。
设计要求:
1、撰写课程设计说明书。
其要求如下:
(1)基本要求:
①能反映完成了上述设计内容要求。
②要求撰写不少于5000个文字(20页)的文档。
③文档中至少要包括:
数据流图、数据字典、E-R图、数据库表的详细
说明、系统功能结构图、主要功能模块说明。
④课程设计说明书一律用碳素墨水书写,其中用户界面设计可以附界面
的计算机截图或手工绘图。
(2)文档格式要求(遵循数据库原理及应用课程设计大纲上的要求)
其中,正文部分:
①分章、层次等,每一章从新一页开始。
②章节安排可如下安排
.概述:
包括项目背景、编写目的、软件定义、开发环境等内容。
.需求分析:
问题陈述、需完成的功能。
以数据流图和数据字典表达。
.概念结构设计:
将上述需求分析的成果抽象为ER模型图。
.逻辑结构设计:
把ER模型图转换为关系表;描述每一个基本表关
系。
并进行规范化;定义视图、定义索引、主关键字、定义权限。
.软件功能设计:
画出系统功能结构图,描述每个功能所完成的任务。
.代码设计和界面设计:
给出主要功能的代码并有适当的说明;界面
设计要合理,给出主要界面。
2、一个可运行的运动会成绩管理系统原型。
(根据学分制的实际情况该要求为部分专业学生的要求,其他专业学生为可选要求)
指导教师(签名):
年月日
第六章.代码设计和界面设计
6.1登录模块
用户输入正确的用户类型、用户名和密码,如果用户类型为记录员,则直接进入主界面,若果用户类型为查询者,则其只能够进入查询主界面。
点击注册按钮进入注册界面,点击退出系同则退出系统。
代码设计:
SqlDataAdaptersda;
DataSetds;
staticstringconnectionstring=@"server=localhost;database=leiliang;uid=sa;pwd=";SqlConnectionmySqlConnection=newSqlConnection(connectionstring);
privatevoidbutton1_Click(objectsender,EventArgse)
{
mySqlConnection.Open();
sda=newSqlDataAdapter("Select*FromUserwhere用户类型='"+comboBox1.Text+"'and用户名='"+textBox1.Text+"'and密码='"+textBox2.Text+"'",mySqlConnection);//新建数据适配器
SqlCommandBuilderscb=newSqlCommandBuilder(sda);//创建SqlCommandBuilder,可产生自动更新DataSet的语句
ds=newDataSet();
sda.Fill(ds);//填充ds数据集
if(comboBox1.text==”记录员”&&ds.Tables[0].Rows.Count!
=0)
{
Form3f3=newForm3();
f3.Show();
this.Hide();
}
elseif(comboBox1.text==”记录员”&&ds.Tables[0].Rows.Count!
=0)
{
Form5f5=newForm5();
F5.Show();
this.Hide();
}
else{
MessageBox.Show("用户不存在或密码错误!
","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
textBox1.Clear();
textBox2.Clear();
textBox1.Focus();
}
mySqlConnection.Close();
}
privatevoidbutton2_Click_1(objectsender,EventArgse)
{
Form2f2=newForm2();
f2.Show();
this.Hide();
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
DialogResultdr=MessageBox.Show(this,"确认要出吗?
","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
try
{
if(dr==DialogResult.Yes){this.Close();
Application.Exit();}
}
catch(Exceptiona){MessageBox.Show("异常!
没有选择");
}
}
6.2注册模块
用户输入符合要求的用户类型、用户名和密码可以注册成新的用户,并可以返回登陆界面重新登录系统,出于安全性考虑,新注册的用户类型必须只是普通的查询者。
代码设计:
SqlDataAdaptersda;
DataSetds;
staticstringconnectionstring=@"server=localhost;database=leiliang;uid=sa;pwd=";
SqlConnectionmySqlConnection=newSqlConnection(connectionstring);
privatevoidbutton1_Click(objectsender,EventArgse)
{
string用户名=this.textBox1.Text.ToString();
string密码=this.textBox2.Text.ToString();
string用户类型=this.textBox4.Text.ToString();
stringpwd1=this.textBox3.Text.ToString();
if(用户名==""||密码==""||用户类型==""||pwd1=="")
{
MessageBox.Show("所有内容都不能为空,请重新输入!
","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox1.Focus();
}
else{if(密码!
=pwd1)
{
MessageBox.Show("两次密码输入必须一致!
","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox2.Focus();
}
else{
mySqlConnection.Open();
SqlDataAdaptersda1=newSqlDataAdapter("Select*FromUserwhere用户名='"+textBox1.Text+"'",mySqlConnection);//新建数据适配器
SqlCommandBuilderscb1=newSqlCommandBuilder(sda1);//创建SqlCommandBuilder,可产生自动更新DataSet的语句
DataSetds1=newDataSet();
sda1.Fill(ds1);//填充ds数据集
if(ds1.Tables[0].Rows.Count==0)
{
sda=newSqlDataAdapter("insertintoUser(用户类型,用户名,密码)values('"textBox4.Text+"'+'"+textBox1.Text+"','"+textBox2.Text+"')",mySqlConnection);//新建数据适配器
SqlCommandBuilderscb=newSqlCommandBuilder(sda);//创建SqlCommandBuilder,可产生自动更新DataSet的语句
ds=newDataSet();
sda.Fill(ds);
MessageBox.Show("注册成功","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);}
else{
MessageBox.Show("注册失败!
","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox1.Focus();
}
mySqlConnection.Close();
}
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
Form1f1=newForm1();
f1.Show();
this.Hide();
}
6.3主页模块
记录员用户通过点击项目或查询按钮可以进行分别进入项目或者查询界面,点击退出则退出系统
代码设计:
privatevoid项目成绩录入ToolStripMenuItem1_Click(objectsender,EventArgse)
{
Form4f4=newForm4();
f4.Show();
this.Hide();
}
privatevoid项目成绩修改ToolStripMenuItem2_Click(objectsender,EventArgse)
{
Form4f4=newForm4();
f4.Show();
this.Hide();
}
privatevoid项目成绩查询ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form5f5=newForm5();
f5.Show();
this.Hide();
}
privatevoid个人成绩查询ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form5f5=newForm5();
f5.Show();
this.Hide();
}
privatevoid退出系统ToolStripMenuItem_Click(objectsender,EventArgse)
{
DialogResultdr=MessageBox.Show(this,"确认要退出吗?
","退出确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
try{
if(dr==DialogResult.Yes){
this.Close();
Application.Exit();}
}
catch(Exceptiona){
MessageBox.Show("异常!
没有选择");
}
}
6.4项目录入修改模块
录入纪录成绩:
录入纪录成绩是把每个比赛项目的纪录成绩插入表中,点击添加就可录入信息。
修改成绩:
选定项目和编号就可修改成绩
代码设计:
staticstringconnectionstring=@"server=localhost;database=leiliang;uid=sa;pwd=";
SqlConnectionmySqlConnection=newSqlConnection(connectionstring);
DataSetds=newDataSet();
privatevoidcomonDataview(){
try{
SqlDataAdaptersda=newSqlDataAdapter("select*fromprograme",mySqlConnection);
DataSetds=newDataSet();
sda.Fill(ds);
dataGridView1.DataSource=ds.Tables[0];
}
catch(Exceptionex){MessageBox.Show("错误"+ex.Message);}
}
privatevoidForm4_Load(objectsender,EventArgse){
comonDataview();
}
privatevoidbutton1_Click(objectsender,EventArgse){
DialogResultdr=MessageBox.Show(this,"确认要添加吗?
","添加确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
try{
if(dr==DialogResult.Yes){
if(comboBox1.Text==""||textBox1.Text==""||textBox3.Text==""||textBox4.Text==""){
MessageBox.Show("输入有空白量录入失败!
","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
comboBox1.Text="";textBox1.Text="";textBox2.Text="";textBox3.Text="";textBox4.Text="";textBox1.Focus();}
else{
SqlDataAdaptersda1=newSqlDataAdapter("Select*Fromprogramwhere运动员编号='"+textBox1.Text+"'",mySqlConnection);//新建数据适配器
SqlCommandBuilderscb=newSqlCommandBuilder(sda1);//创建SqlCommandBuilder,可产生自动更新DataSet的语句
DataSetds1=newDataSet();
sda1.Fill(ds1);//填充ds数据集
if(ds1.Tables[0].Rows.Count!
=0){
MessageBox.Show("有相同象录入失败!
","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
comboBox1.Text="";textBox1.Text="";textBox2.Text="";textBox3.Text="";textBox4.Text="";textBox1.Focus();}
else{
stringsex=radioButton1.Checked?
radioButton1.Text:
radioButton2.Text;
mySqlConnection.Open();
SqlCommandcmd=mySqlConnection.CreateCommand();
stringInsertString="insertintoProgramvalues('"+textBox1.Text+"','"+
comboBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"','"+sex+"','"+
textBox4.Text+"')";
cmd.CommandText=InsertString;
cmd.ExecuteNonQuery();
MessageBox.Show("录入成功","项目成绩录入",MessageBoxButtons.OK,MessageBoxIcon.Information);
mySqlConnection.Close();
comonDataview();
comboBox1.Text="";textBox1.Text="";textBox2.Text="";textBox3.Text="";textBox4.Text="";}
}
}
}
catch(Exceptiona){MessageBox.Show("异常!
没有选择");}
}
privatevoidbutton2_Click(objectsender,EventArgse){
if(comboBox1.Text==""||textBox1.Text==""||textBox2.Text=="")
{
MessageBox.Show("输入有空白量!
","项目成绩修改",MessageBoxButtons.OK,MessageBoxIcon.Information);
comboBox1.Text="";textBox1.Text="";textBox2.Text="";
}
DialogResultdr=MessageBox.Show(this,"确认要修改吗?
","修改确认",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
try{if(dr==DialogResult.Yes){
SqlDataAdaptersda2=newSqlDataAdapter("Select*FromGradewhere运动员编号='"+textBox1.Text+"'and项目编号='"+comboBox1.Text+'",mySqlConnection);//新建数据适配器
SqlCommandBuilderscb=newSqlCommandBuilder(sda2);//创建SqlCommandBuilder,可产生自动更新DataSet的语句
DataSetds2=newDataSet();
sda2.Fill(ds2);//填充ds数据集
if(ds2.Tables[0].Rows.Count!
=0){
mySqlConnection.Open();
SqlCommandcmd=newSqlCommand("updateGradeset成绩='"+textBox2.Text+"'where项目='"+comboBox1.Text+"'and编号='"+textBox1.Text+"'",mySqlConnection);
cmd.ExecuteNonQuery();
MessageBox.Show("修改成功","项目成绩修改",MessageBoxButtons.OK,MessageBoxIcon.Information);
mySqlConnection.Close();comonDataview();
comboBox1.Text="";textBox1.Text="";textBox2.Text="";textBox3.Text="";textBox4.Text="";}
else{
MessageBox.Show("没有修改对象","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
comboBox1.Text="";textBox1.Text="";textBox2.Text="";textBox3.Text="";textBox4.Text="";
textBox1.Focus();
}
}
}
catch(Exceptiona){MessageBox.Show("异常!
没有选择");}
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
Form3f3=newForm3();
f3.Show();
this.Hide();
}
6.5查询模块
运动员成绩:
运动员成绩查询是以运动员姓名来查询,如果有该运动员则输出该运动员的所有比赛的成绩,如果不存在该运动员则不输出。
项目成绩:
项目成绩查询是以比赛项目来查询的,输入一个比赛项目输出参加该项目的所有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运动会 成绩管理系统