实训报告.docx
《实训报告.docx》由会员分享,可在线阅读,更多相关《实训报告.docx(13页珍藏版)》请在冰豆网上搜索。
实训报告
实训报告
课程名称:
学生选课系统
专业:
软件工程班级:
113061
姓名:
杨禹程学号:
27
指导教师:
李莹成绩:
完成日期:
2013年1月11日
任务书
题目:
设计内容及要求:
1.学生必须仔细阅读数据访问技术实训任务书,选择合适的设计题目,有问题及时主动通过各种方式与教师联系沟通。
2.学生要发挥自主学习的能力,充分利用时间,安排好设计的时间计划,并在设计过程中不断检测自己的计划完成情况,及时向教师展示软件设计情况。
3.设计按照教学要求需要3周时间完成,每周要上20小时的机来调试设计的程序,总共至少要上机调试程序60小时。
4.功能要求:
要求利用Web窗体(或Windows窗体相关控件)及ADO.NET对象模型,对数据库中的数据进行相关操作(至少包括增、删、改、查)。
设计环境:
MicrosoftVisualStudio2010,
SQLServerManagementStudio2008
实现目标:
本设计的任务是学生选课系统的设计与实现,其中要实现,课程信息管理(录入、查询、维护);学生信息管理(录入、查询、维护);教师信息管理(录入、查询、维护);选课管理(选课、退课、选课信息查询);教师输入成绩管理(查询学生选到教师的课并给学生成绩)
目录
引言3
1需求分析4
2数据库设计5
2.1Server简介5
2.2表设计5
2.2.1学生表5
2.2.2教师表5
2.2.3成绩表6
3系统设计与实现7
3.1系统功能模块设计7
3.2系统功能模块实现7
3.2.1登陆界面设计7
3.2.2管理员界面设计7
3.2.3学生信息维护界面8
3.2.6教师登陆界面10
结论12
引言
目前,国家的高等教育事业蓬勃发展,高校的规模不断扩大,同时,高校的教学改革也在全面推行,学分制在各高校全面启动。
学分制——允许学生在计划的指导下,根据自己的条件、能力、志趣,有选择地支配自己的学习。
因此,学生的选课就成为推行学分制的重要管理任务。
以往的选课均是在计划模式下进行:
每位教师将所开的课程名称,个人简介,课程限选人数,限选专业等信息交给教务处,教务处再将这些信息统一成册,分发给各个班级班长,由班长将本班的选课情况统计并返回教务处。
这是一个相当长的周期,并且耗费大量的人力、物力,对选择结果没有控制。
针对这些问题,提出一种基于WEB的选课系统,该系统将课程的基本信息录入之后,即可由学生选课,受限制专业的学生将无法选择该课程,同样,选课按照先后顺序,超过限制的人数,也不能选择该课程。
学生选课系统能够让学生们在网络上自主选择选修课程,教务处的工作人员则通过网络来处理学生的选课信息。
这个系统实现了对信息数据的浏览、查询、编辑和管理等基本数据库操作,采取模块化的编写思想,提高了可读性,同时提高了开发效率,从而实现了校园无纸化办公,提高选课的效率,减轻选课操作的工作量,从而提高教学管理的效率。
本系统是一个典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
1需求分析
本设计的任务是学生选课系统的设计与实现,其中要实现,课程信息管理(录入、查询、维护);学生信息管理(录入、查询、维护);教师信息管理(录入、查询、维护);选课管理(选课、退课、选课信息查询);教师输入成绩管理(查询学生选到教师的课并给学生成绩)。
本程序首先要有一个登陆界面,在登陆界面的要有输入用户名,输入密码,并且选择登陆时用户名的类型,分为三种:
管理员、教师、学生。
当用户名的类型为管理员的时候,进入的是管理员界面,当进入管理员界面的时候,里面有三种选项,三种选项分别是:
学生信息维护、教师信息维护、课程信息维护。
当分别选择不同的选项的时候分别进入3种界面:
学生信息维护界面、教师信息维护界面、教师信息维护界面。
当用户名的类型为教师的时候,进入的是教师输入成绩的界面,该界面可以查找本教师所教的课程,并且给所选课程的学生的成绩。
当用户名的类型为学生的时候,进入的是学生选课的界面,该界面学生可以选课并且可以退课,并且可以查询该学生所选的课各界面的关系如下图:
2数据库设计
2.1Server简介
图书馆管理系统应用SQLServer2008软件,SQLserver2008在Microsoft的数据平台上发布,可以随时随地管理任何数据。
可以将结构化、半结构化和非结构化文档的数据(例如图像和音乐)直接存储到数据库中。
SQLserver2008提供一系列丰富的集成服务,可以对数据进行查询、搜索、同步、报告和分析之类的操作。
数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,可以控制数据而不用管数据在哪里。
SQLserver2008允许在使用Microsoft.NET和VisualStudio开发的自定义应用程序中使用数据,在面向服务的构架(SOA)和通过MicrosoftBizTalkServer进行的业务流程中使用数据。
信息工作人员可以通过日常使用的工具(例如2007MicrosoftOffice系统)直接访问数据。
SQLServer2008提供一个可信的、高效率智能数据平台,可以满足所有数据需求。
2.2表设计
2.2.1学生表
学生表如图2.1所示
表2.1学生表
字段
类型
长度
是否为空
sid
int
4
为主键
姓名
Char
8
否
生日
Datatime
否
性别
Char
2
否
2.2.2教师表
教师表如图2.2所示
表2.2教师表
字段
类型
长度
是否为空
tid
int
4
为主键
姓名
Char
8
否
管理员编码
Int
6
否
授课科目
Char
16
否
2.2.3成绩表
成绩表如图2.3所示
表2.3成绩表
字段
类型
长度
是否为空
sid
int
4
为主键
表2.2教师表
字段
类型
长度
是否为空
姓名
Char
8
否
生日
Datatime
否
3系统设计与实现
3.1系统功能模块设计
本设计的任务是学生选课系统的设计与实现,其中要实现,课程信息管理(录入、查询、维护);学生信息管理(录入、查询、维护);教师信息管理(录入、查询、维护);选课管理(选课、退课、选课信息查询);教师输入成绩管理(查询学生选到教师的课并给学生成绩)。
3.2系统功能模块实现
3.2.1登陆界面设计
选择登陆身份,输入正确的编号和密码,单击确定登陆,如图1.1所示
图1.1登陆界面
具体实现:
if(textBox1.Text.Equals("id")==textBox2.Text.Equals("passwrod"))
{选课界面a1=new选课界面();
a1.Show();
this.Hide();}
else
{MessageBox.Show("密码或账号不正确");}
3.2.2管理员界面设计
管理员界面共有三个功能选项,如图2.1
图2.1管理员界面设计
具体实现:
StudentInfosi=newStudentInfo();
si.ShowDialog();
TeacherInfoti=newTeacherInfo();
ti.ShowDialog();
CourseInfoci=newCourseInfo();
ci.ShowDialog();
3.2.3学生信息维护界面
可实现学生信息的更改,查询,删除,加入。
如图3.1
图3.1学生入录界面
图3.2插入数据
具体实现:
privatevoidbutNew_Click(objectsender,EventArgse)
{tbXh.Text="";tbXm.Text="";
tbSzx.Text="";tbXb.Text="";
tbCsrq.Text="";tbMm.Text="";Insert_flag=true;}
图3.3查询数据
具体实现:
if(tbSearch.Text.Length<=0)
{MessageBox.Show("查询条件不能为空","系统提示:
MessageBox.Show("学号必需为数字","系统提示:
",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}
3.2.4教师信息入录
实现教师的查询,管理,如图4.1
图4.1教师信息入录
图4.2查询条件选择
具体实现:
if(tbSearch.Text.Length<=0
MessageBox.Show("教师号必需为数字","系统提示:
",MessageBoxButtons.OK,MessageBoxIcon.Information);return}
3.2.5学生选课界面
图5.1学生选课界面
图5.2课表查询
具体实现:
if(tbSearch2.Text.Length<=0)
{MessageBox.Show("查询条件不能为空","系统提示:
",MessageBoxButtons.OK,MessageBoxIcon.Information);}
inti;if(int.TryParse(tbSearch2.Text,outi)){if(tbSearch2.Text.Length<=0){MessageBox.Show("学号必需为数字","系统提示:
",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}}
3.2.6教师登陆界面
可实现对学生成绩的查询与修改
图6.1教师登陆界面
图6.2成绩输入
具体实现:
sql="updateSCsetscore='"+tbCj.Text+"'wherrsno="+((DataRowView)sCBindingSource.Current)["sno"].ToString();
SqlConnectioncnn=newSqlConnection("DataSource=.;InitialCatalog=myd;UserID=sa;Password=");{MessageBox.Show("出现错误,错误原因为"+ex.Message,
"系统提示:
",MessageBoxButtons.OK,MessageBoxIcon.Error);}
结论
该项目的主要功能是实现学生选课,并且负责维护老师、学生和课程的一些信息。
由于是第一次开发一个完整的程序,所以许多工作都在摸索着进行,在老师的帮助下,共同努力下,完成了程序规定的功能要求。
本系统采用当前流行的面向对象的开发工具—C#来完成整个系统的设计,在数据库的设计上利用了SQL的便利性和实用性。
本系统具有相当的实用功能。
在查询方面,系统实现了多条件任意字段的模糊查询,同时在分类查询上实现了动态生成。
系统在设计过程中不可避免地遇到了各种各样的问题,由于整个系统完全都是由个人设计的,有关C#许多细节问题都要靠自己去摸索,加之本人水平有限,并没有完全地理解C#和SQL的强大功能,而且还存在着许多不足之处。
由于时间关系,系统功能实现不够完善,使用不是很方便。
这些都是需要完善的地方,该系统离实际使用也还有相当的距离,需要我进行不断地补充和完善,有很多不完美的地方,有许多功能没有实现,每名学生每学期至少选一门课程,最多选三门课程的功能未能实现。
数据库内容不多。
而且无法实现网络操作,细节之处不够完善。
由于时间仓促,一些好的设计思想还没有实现,将进一步完善本系统功能。
本系统还有待需要进一步改正的地方,请提出宝贵意见。
通过本次学到了不少新的东西,也发现了大量的问题,有些在设计过程中已经解决,有些还有待今后慢慢学习。
只要学习就会有更多的问题,有更多的难点,但也会有更多的收获。