毕业设计管理系统.docx
- 文档编号:10914347
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:21
- 大小:889.78KB
毕业设计管理系统.docx
《毕业设计管理系统.docx》由会员分享,可在线阅读,更多相关《毕业设计管理系统.docx(21页珍藏版)》请在冰豆网上搜索。
毕业设计管理系统
课程设计报告
课程名称数据库课程设计
设计题目毕业设计管理系统
专业科学与技术
班级
学号
姓名
完成日期
课程设计任务书
设计题目:
毕业设计管理系统
_________________________________________________________
设计内容与要求:
指导教师:
课程设计评语
成绩:
指导教师:
_______________
年月日
第1章概述
1.1选题背景
随着计算机及计算机网络的普及和全国各院校的校园网络的日益完善、健全,各种工作的计算机网络化将逐步取代繁重的传统办公模式。
毕业设计作为大学生学习的重要环节,也有必要实行计算机网络化管理,从而减轻设计指导老师的承重负担,简化立题、选题、评分等过程,让繁冗的课题设计信息采用计算机数据库统筹管理。
因此,设计一种毕业设计综合管理系统为学生、教师、管理员提供一个交互的接口,大大方便了学生、老师及管理员的管理人员。
毕业设计是学生在校期间的一个教学环节,是学习深化和提高的一个重要过程,也是综合检验所学理论知识的一个重要环节。
本设计从课题的申报、课题的审核、学生选题、调剂、指导、评阅、答辩、归档等环节进行管理,实现了毕业设计的整个流程的管理工作。
系统实现了学生自主选题和教师自主选择学生的网上双向选择,并增加了留言板、文件上传与下载、新闻发布等功能,能够保证毕业设计期间管理员、老师、学生之间信息的联通,对保证毕业设计的质量有非常重要的现实意义。
随着网络化的普及,全国高校的校园网络日益健全,实现无纸化办公成为未来的趋势,并且随着天津城市建设学院的教学体制改革不断加深,本系统的建立为参加毕业设计的教师、学生提供接口。
1.2系统环境
运行环境:
本系统开发的毕业设计综合管理系统,在Windowsxp下运行,要求使用的操作系统上安装有SQLServer2005数据库和MicrosoftVisualStudio2008。
第二章需求分析
2.1功能需求
毕业设计管理系统是用于一个系的毕业设计管理的系统,系统为三类用户提供不同的功能:
管理人员可以完成各项管理功能,包括添加和维护学生、教师信息,查看所有课题信息和按班级查看定题情况。
管理人员还可以添加和发布公告、通知。
教师可以添加毕业设计题目,修改题目信息,可以看到选自己课题的学生名单,可以接受学生的选题申请(叫做定题)。
定题后,每个教师还可以向自己的全部学生发布小组公告。
学生可以查看所有课题,可以填报多个(最多3个)选题志愿,表明自己的选题意愿。
学生还可以查看小组公告。
当论文完成后,可以上传论文。
2.2数据需求
一个学校有若干个系,一个系有若干个专业和教研室,一个专业有许多学生,一个教研室里有若干个教师;教师可以发布课题和公告,学生可以查看课题和公告,还可以选择课题。
以下是一些实体的相关数据对象:
(1)系:
系编号,系名。
(2)专业:
专业号,专业名。
(3)教研室:
教研室编号,教研室名。
(4)教师:
教工号,姓名,性别,电话,密码。
(5)学生:
学号,姓名,性别,班级,密码。
(6)课题:
课题编号,课题名,信息。
(7)公告:
公告编号,公告内容。
第三章概念结构设计
3.1概述
概念结构式将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。
它是整个数据库设计的关键;
概念结构式各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更稳定;描述概念结构的有力工具是E-R模型。
3.2E-R图
经分析共有7个实体,实体与实体之间有一定的联系,如下图所示:
图1
第四章逻辑结构设计
4.1关系模型
由E-R图转换的各关系模式如下(下划线为主码,波浪线为外码):
管理员(管理员号,密码)
系别(系别编号,系别名称)
专业(专业编号,名称,系别编号)
教研室(教研室编号,名称,系别编号)
学生(学号,姓名,性别,班级,专业编号,密码)
教师(工号,姓名,性别,联系电话,教研室编号,密码)
毕业课题(课题编号,课题名,信息,工号)
填报志愿(学号,课题编号,志愿)
学生定题(学号,课题编号,是否提交论文,论文地址)
公告(公告编号,公告内容,工号,发布日期)
4.2关系模式的优化
因为各关系都到达了第三范式,不存在非主属性对主属性的部分依赖和传递依赖。
所以不用优化。
第五章物理结构设计
5.1建立数据库
在sqlserver2005中建立名称为“Graduate”的数据库。
图2
数据库大小为4MB。
5.2数据库中共建立了十个表。
建表语句如下:
建立“管理员”表:
createtableadm
(Anochar(9)primarykey,
Akeychar(9));
图3
(1)
建立“系别”表:
createtabledep
(Dnochar(9)primarykey,
Dnamechar(9)unique
);图4
(2)建立“专业”表:
createtablepro
(Pnochar(9)primarykey,
Pnamechar(9)unique,
Dnochar(9),
foreignkey(Dno)referencesdep(Dno));
(3)建立“教研室”表:
createtablecla
(Cnochar(9)primarykey,
Cnamechar(9)unique,
Dnochar(9),
foreignkey(Dno)referencesdep(Dno)
);图5
(4)建立“学生”表:
createtablestu
(Snochar(10)primarykey,
Snamechar(9)notnull,
Ssexchar(3)notnull,
Sclachar(9)notnull,
Skeychar(9)notnull,
Pnochar(9),
foreignkey(Pno)referencespro(Pno)图6
);
(5)
建立“教师”表:
createtabletea
(Tnochar(9)primarykey,
Tnamechar(9)notnull,
Tsexchar(3)notnull,
Ttelchar(9)notnull,
Tkeychar(9)notnull,
Cnochar(9),
foreignkey(Cno)referencescla(Cno)图7
);
(6)
建立“毕业课题”表:
createtablegt
(Gnochar(9)primarykey,
Gnamechar(9),
Ginfochar(9),
Tnochar(9),
foreignkey(Tno)referencestea(Tno)图8
);
(7)建立“填报志愿”表:
createtablevol
(Snochar(10),
Gnochar(9)notnull,
VVochar(9)notnull,
primarykey(Sno,Gno),
foreignkey(Sno)referencesstu(Sno),
foreignkey(Gno)referencesgt(Gno)
);图9
(8)
建立“学生定题”表:
createtablext
(Snochar(9)primarykey,
Gnochar(9),
Mtjchar
(2),
Maddchar(9),
foreignkey(Gno)referencesgt(Gno)图10
);
(9)
建立“公告”表:
createtablepub
(Unochar(9)primarykey,
Ucochar(9),
Tnochar(9),
Udatachar(9),
foreignkey(Tno)referencestea(Tno)图11
);
第六章应用程序设计
6.1系统总体结构
本应用程序设置了有属于管理员增加,删除,修改教师和学生信息功能的界面和管理员发布公告的界面。
有属于学生查看课题,填报志愿,查看公告和提交论文功能的界面。
有属于教师添加毕业设计题目,修改题目信息和查看自己课题的学生名单的功能界面和接受学生选题申请和发放公告等界面。
图12
6.2系统界面与源代码
(1)登录界面
图13
该页面部分原代码如下:
privatevoidbutton1_Click(objectsender,EventArgse)
{
SqlConnectionmycon=newSqlConnection(MyConBase.myCon);
SqlCommandcmd=newSqlCommand();
stringuse=userName.Text;
stringTname=use;
if(use=="")
{
MessageBox.Show("用户名不能为空");
return;
}
stringpass=passWord.Text;
if(pass=="")
{
MessageBox.Show("密码不能为空");
return;
};
stringmsg=boBox1.SelectedItem.ToString();
if(msg=="管理人员")
{
stringstr=string.Format("selectAkeyfromadmwhereAno='{0}'andAkey='{1}'",use,pass);
cmd.Connection=mycon;
cmd.CommandText=str;
mycon.Open();
cmd.ExecuteNonQuery();
SqlDataReaderread=cmd.ExecuteReader();
while(read.Read())
{
if(pass==read[0].ToString().Trim())
MessageBox.Show("登录成功");
dll1a=newdll1();
a.Show();
}
read.Close();
}
mycon.Close();
if(msg=="学生")
{
stringstr=string.Format("selectSkeyfromstuwhereSno='{0}'andSkey='{1}'",use,pass);
cmd.Connection=mycon;
cmd.CommandText=str;
mycon.Open();
cmd.ExecuteNonQuery();
SqlDataReaderread=cmd.ExecuteReader();
while(read.Read())
{
if(pass==read[0].ToString().Trim())
flag=true;
MessageBox.Show("登录成功");
StudentUsea=newStudentUse();
a.Show();
}
read.Close();
}
mycon.Close();
if(msg=="教师")
{
stringstr=string.Format("selectTkeyfromteawhereTno='{0}'andTkey=’{1}’",usepass);
cmd.Connection=mycon;
cmd.CommandText=str;
mycon.Open();
cmd.ExecuteNonQuery();
SqlDataReaderread=cmd.ExecuteReader();
while(read.Read())
{
if(pass==read[0].ToString().Trim())
flag=true;
MessageBox.Show("登录成功");
TeacherMakea=newTeacherMake();
a.Show();
}
read.Close();
}
mycon.Close();
}
管理员窗口
图14
增加学生信息窗口
图15
对应数据库中stu表:
部分代码信息如下:
publicpartialclassAddStudent:
Form
{
publicAddStudent()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
SqlConnectionmycon=newSqlConnection(MyConBase.myCon);
SqlCommandcmd=newSqlCommand();
try
{
//2创建Command对象
stringstrSql=string.Format("insertintostuvalues('{0}','{1}','{2}','{3}','{4}','{5}')",textNo.Text,textName.Text,textSex.Text,textCla.Text,textPno.Text,textSkey.Text);
cmd.CommandText=strSql;
cmd.Connection=mycon;
//3执行数据操作
mycon.Open();
intrel=cmd.ExecuteNonQuery();
MessageBox.Show(string.Format("本次成功添加了{0}条记录!
",rel));
this.Close();
}
catch(System.Exceptionex)
{
MessageBox.Show(ex.Message);
}
finally
{
if(mycon!
=null)
{
mycon.Close();
}
}
删除学生信息窗口如下:
图16
部分代码如下:
publicpartialclassDelStudent:
Form
{
publicDelStudent()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
SqlConnectionmycon=newSqlConnection(MyConBase.myCon);
SqlCommandcmd=newSqlCommand();
try
{
//2创建Command对象
stringstrSql=string.Format("deletefromstuwhereSno='{0}'",textDel.Text);
cmd.CommandText=strSql;
cmd.Connection=mycon;
//3执行数据操作
mycon.Open();
intrel=cmd.ExecuteNonQuery();
MessageBox.Show(string.Format("本次删除了{0}条记录!
",rel));
MessageBox.Show("删除成功");
this.Close();
}
catch(System.Exceptionex)
{
MessageBox.Show(ex.Message);
}
finally
{
if(mycon!
=null)
{
mycon.Close();
}
}
this.Close();
}
第七章设计总结
在本次关于“毕业设计管理系统”的课程设计中,我首先遇到的难题是如何有效的运用所学知识设计好数据的概念结构,逻辑结构。
耗费了相当长的一部分时间。
然后是该怎样设计表中元素的属性。
譬如“学号”的格式应该要怎样定义,学生表和教师表之间要怎么联系起来等等。
经过和同学的讨论和向老师的请教,把这一部分的问题基本解决了,最后的难题是该怎么设计好用户界面,以达到自己想要的功能。
第八章体会和收获
通过本次课设,我知道了书上得来终觉浅,实践才是检验真理的唯一标准。
我学会了该怎样有效的开展数据库设计,一步一步地实现程序的功能。
也大大地加强了我的实践操作能力。
第九章参考文献
[1]王珊,萨师煊.数据库系统概论(第4版).高等教育出版社,2006
[2]杨晓光。
面向对象程序设计(C#实现)清华大学出版社北京交通大学出版社2010
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 管理 系统