学生学籍管理系统的设计与实现软件综合课程设计_第1页
学生学籍管理系统的设计与实现软件综合课程设计_第2页
学生学籍管理系统的设计与实现软件综合课程设计_第3页
学生学籍管理系统的设计与实现软件综合课程设计_第4页
学生学籍管理系统的设计与实现软件综合课程设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、沈阳航空航天大学 课课 程程 设设 计计 报报 告告 课程设计名称:软件综合课程设计软件综合课程设计 课程设计题目:学生学籍管理系统的设计与实现学生学籍管理系统的设计与实现 院(系): 计算机学院 专 业: 计算机科学与技术 班 级: 04010101 学 号: 2010040101015 姓 名: 指导教师: 丁一军 沈阳航空航天大学沈阳航空航天大学 课课程程设设计计任任务务书书 课程设计名称 软件综合课程设计专业计算机科学与技术 学生姓名刘航源班级 04010101 学号 2010040101015 题目名称学生学籍管理系统的设计与实现 起止日期 2013 年 12 月 16 日起至 20

2、14 年 01 月 12 日止 课设内容和要求: 根据计算机学院的具体情况,设计一个满足实际情况的学籍管理系统。 该系统能实现如下基本功能: 1建立学生信息档案,包括学生信息,各学期表彰,处分信息,助学贷款信 息; 2休学、退学信息得管理; 3对学生信息和学习、助学贷款信息等基本信息的查询,要求至少能按关键 字和时间间隔进行查询; 4对学生学籍进行统计,要求能按班级和年级对基本信息进行统计。 要求具有较完整的图形界面,使用户能按所给界面完成相应功能。 参考资料: 1 数据库原理 (第 3 版) , (美)克罗恩克,清华大学出版社。 2 sql server 实用教程 ,刘启芬、顾韵华,电子工业

3、出版社。 教教研研室室审审核核意意见见: 教教研研室室主主任任签签字字: 指导教师(签名)指导教师(签名) 年月日 学学 生(签名)生(签名) 2013 年 01 月 12 日 目目 录录 1 课程设计介绍课程设计介绍.1 1.1 课程设计内容.1 1.2 课程设计要求.1 1.3 需求分析简述.1 2 数据库设计数据库设计.2 2.1 实体关系(e-r)图.2 2.2 实体图.2 2.3 数据库表.3 3 功能设计功能设计.4 3.1 系统功能模块.4 整体程序.4 3.2 各功能模块程序流程图.4 4 调试与分析调试与分析.7 4.1 调试过程.7 4.2 程序执行过程.7 参考文献参考文

4、献.8 总结总结.9 附附 录(关键部分程序清单)录(关键部分程序清单).10 1 课程设计介绍 1.1 课程设计内容课程设计内容 设计程序,实现对宿舍管理的基本操作,系统主要功能如下: 1. 实现对学生信息的查询。 2. 实现学生基本信息的添加、删除、修改。 3. 实现学生表彰,处分信息的添加、修改。 4. 实现对学生助学贷款的全部查询、添加和删除。 5. 实现对学生休学,退学信息的管理。 1.2 课程设计要求课程设计要求 1.学生信息的查询。 2.实现学生基本信息的添加、修改。 3. 要求按班级,年级对基本信息进行统计。 4. 要求能按关键字进行查询。 5. 上述各项信息的查询。 1.3

5、需求分析简述需求分析简述 随着计算机科学技术的不断发展,各个学校对学生学籍的管理也 由原先的手动管理转变为计算机操作管理,这不但节省了大量的人力 物力,而且还提高了工作效率。本系统的设计就是用于学生学籍的管 理系统,通过使用该系统平台能够实现对学生信息的管理。实现学生 基本信息的添加、修改。实现学生表彰,处分信息的添加、修改。实 现对学生助学贷款的全部查询、添加和删除。实现对学生休学,退学 信息的管理。 2 数据库设计 2.1 实体关系实体关系(e-r)图图 贷款 类型 表彰信息 表彰类型 表彰时间 姓名 学生 生日 院系 性别 姓名 学号 身份证号 办理表彰 nnmn 时间 金额 家庭住址

6、图图 2.1 系统系统 e-r 图图 2.2 实体图实体图 贷款 贷款年份 贷款类型 姓名 表彰信息 表彰类型 表彰时间 姓名 学生 身份证号 院系 性别 姓名 学号 生日 家庭住址 贷款金额 图图 2.2 类别实体图类别实体图 宿舍 2.3 数据库表数据库表 表表 2.12.1 学生信息表学生信息表 字段名称类型可否为空约束 功能描述 snumint 否主键 学生学号 snamevarchar(10) 否无 学生姓名 ssexvarchar(10) 否无 学生性别 sdatevarchar(10) 否无 学生年龄 splacevarchar(10) 否无 学生家庭住址 spoliticsva

7、rchar(20) 否无 学生政治面貌 cardnumvarchar(20) 否无 学生身份证号 spenumvarchar(20) 否无 学生所在院系 表表 2.22.2 贷款信息表贷款信息表 字段名称类型可否为空约束 功能描述 loannumint 否主键 贷款标号 snamevarchar(10) 否无 学生姓名 loanmoneyvarchar(10) 否无 贷款金额 loanyearvarchar(10) 否无 贷款年份 loantypevarchar(10) 否无 贷款类型 表表 2.32.3 处分信息表处分信息表 字段名称类型可否为空约束 功能描述 punishnamevarch

8、ar(10) 否主键 处分人姓名 punishtypevarchar(10) 否无 处分类型 punishtimevarchar(10) 否无 处分时间 表表 2.42.4 表彰信息表表彰信息表 字段名称类型可否为空约束 功能描述 snamevarchar(10) 否主键 学生姓名 honornamevarchar(10) 否无 表彰类型 honortimevarchar(10) 否无 表彰时间 表表 2.52.5 休学学生信息表休学学生信息表 字段名称类型可否为空约束 功能描述 snumint 否主键 学生学号 snamevarchar(10) 否无 学生姓名 ssexvarchar(10)

9、 否无 学生性别 sdatevarchar(10) 否无 学生年龄 splacevarchar(10) 否无 学生家庭住址 spoliticsvarchar(20) 否无 学生政治面貌 cardnumvarchar(20) 否无 学生身份证号 spenumvarchar(20) 否无 学生所在院系 sustimevarchar(20) 否无 休学时间 susyearvarchar(20) 否无 休学年份 3 功能设计 3.1 系统功能模块系统功能模块 整体程序如图 3.1 所示 学生学籍管理系统 学生 信息 管理 学生 表彰 处分 信息 管理 学生 助学 贷款 管理 学生 休学 退学 管理 图

10、图 3.1 功能模块图功能模块图 3.2 各功能模块程序流程图各功能模块程序流程图 1.登录模块流程图,如图 3.2 所示。 开始 输入用户名和 密码 正确 跳转到系统主 界面 错误提示 结束 y n 图图 3.2 登录程序流程图登录程序流程图 2.查询模块流程图,如图 3.3 所示。 开始 输入要查询信 息的关键字 正确 弹出错误提醒 界面 跳转到查询结 果显示界面 结束 n y 跳转到系统主 界面 查询所有信息 选择 图图 3.3 查询程序流程图查询程序流程图 3.添加模块流程图,如图 3.4 所示。 开始 按要求输入添 加的信息 正确 弹出错误提醒 界面 弹出添加成功 界面 结束 ny

11、返回 跳转到系统主 界面 图图 3.4 添加程序流程图添加程序流程图 4.修改模块流程图,如图 3.5 所示。 开始 按要求输入要修 改的关键信息 正确 弹出错误提醒 界面 弹出修改成功 界面 结束 ny 返回 跳转到系统主 界面 图图 3.5 修改程序流程图修改程序流程图 5.删除模块流程图,如图 3.6 所示。 开始 n y 显示信息 选择要删除项 显示删除操作 删除成功 结束 图图 3.6 删除程序流程图删除程序流程图 4 调试与分析 4.1 调试过程调试过程 在调试程序时主要遇到以下几类问题: 1. 当程序运行时空指针异常,是变量作用域问题。 2. 数据从数据库中读出失败,因为 ado

12、 语句写错。 3. 操作数据库数据时报错,是数据类型与变量类型不符。 4. 操作数据库时报错,因为数据库没打开。 5. sql 语句执行失败,是 sql 语句书写不规范。 4.2 程序执行过程程序执行过程 1.登录界面,如图 4.1 所示。 图图 4.1 登陆界面图登陆界面图 2.主界面,如图 4.2 所示。 图图 4.2 主界面图主界面图 3.查询操作,如图 4.3 所示。 图图 4.3 查询界面图查询界面图 4.学生信息查询,如图 4.4 所示。 图图 4.4 所有学生信息查询界面图所有学生信息查询界面图 5.贷款信息查询,如图 4.5 所示。 图图 4.5 贷款信息查询界面图贷款信息查询

13、界面图 6.学生档案的录入,如图 4.6 所示。 图图 4.6 学生档案录入界面图学生档案录入界面图 7.助学贷款的录入,如图 4.7 所示。 图图 4.7 助学贷款录入界面图助学贷款录入界面图 8.休学退学办理,如图 4.8 所示。 图图 4.8 休学退学界面图休学退学界面图 参考文献 1 王国胜,刘攀.c#软件开发课堂m.北京:清华大学出版社,2009 2 郑宇军, c#语言程序设计基础m. 北京:清华大学出版社,2009 3 高英,access 数据库应用系统开发与实例m.北京:清华大学出版社,2010 4 柴煜,王云,ado.net 数据库访问技术案例式教程北京m:清华大学出版社, 2

14、010 5 严蔚敏,吴伟民. .数据结构m.北京:清华大学出版社,2007. 6 王珊. .数据库技术与联机分析处理m.北京:北京科学出版社,2004. 7 钱雪忠. .数据库原理及应用m.北京:邮电大学出版社,2007. 8 ryan stephens.sql 入门经典m.北京,人民邮电出版社,2010. 总结 通过这次软件综合课程设计,是对我大学四年里所学专业知识的系统总结 和回顾,熟练了 c#程序设计,了解了数据库的建立与应用。同时有了很多的体 会、经验和感想,以下是我这次课程设计的几点总结。 这次课设让我学到了很多东西,同时更是感觉仅仅依靠上课老师讲的知识 是远远不够的,老师只是一个引

15、导,而更多的东西需要自己去学习,而不是 被动的去接受。我这次做的课设题目需要用到绘图函数,但是我们以前没有 学过,于是我就去上网,上图书馆查资料。一点一点的学习,由于有了 c 语 言的基础,学习这个也并不是一件非常费力的事,所以我有了些感悟。 老师上课教授的东西远远不够,但是老师教的东西也是最精华的东西,要 将老师讲的东西充分的吸收,因为这是一切的基础,并且学习更多的心的东西。 通过一些书籍的学习,自己也觉得受益匪浅,但是还不熟练,所以在初期有很 多的低级的错误,不过我还是在失败中学习,进步着。 总之,通过这次的课程设计,我学到了很多,也深刻理会理论跟实践结合 的重要性,不能光在书上看,自己动

16、手调程序也是很重要的环节,以后一定要 加强这方面能力的锻炼。 指导教师评语: 指导教师(签字): 年 月 日 课程设计成绩: 附 录(关键部分程序清单) 程序代码程序代码 using system; using system.collections.generic; using system.linq; using system.windows.forms; namespace student static class program / / 应|用?程序的?主入?口点?。 / stathread static void main() application.enablevisualstyle

17、s(); application.setcompatibletextrenderingdefault(false); application.run(new form1(); using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.windows.forms; using system.data.oledb; nam

18、espace student public partial class dl : form public dl() initializecomponent(); private void dl_load(object sender, eventargs e) textbox1.focus(); private void button1_click(object sender, eventargs e) if (textbox1.text.trim() = | textbox2.text.trim() = ) messagebox.show(请?输?入?用?户名?和密码?, 错误提示 ?); e

19、lse oledbconnection add = new oledbconnection(provider=microsoft.ace.oledb.12.0;data source=d:myprojectstudentstudentsdatabase.accdb); add.open(); oledbcommand cmd = new oledbcommand(, add); string sql = select user from userinfo where user= + textbox1.text.trim() + and password= + textbox2.text.tri

20、m() + ; cmd.commandtext = sql; if (null != cmd.executescalar() form1 main = new form1(); main.tag = this.findform(); main.showdialog(); add.close(); else messagebox.show(用?户名?或密码?错误, 登?录?失败 ); add.close(); private void button2_click(object sender, eventargs e) textbox1.clear(); textbox2.clear(); usi

21、ng system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.windows.forms; namespace student public partial class form1 : form public form1() initializecomponent(); private void form1_load(objec

22、t sender, eventargs e) adduser adduser; private void 添加用?户toolstripmenuitem_click(object sender, eventargs e) if (adduser = null | adduser.isdisposed) adduser = new adduser(); adduser.show(); dealuser dealuser; private void 删?除y用?户toolstripmenuitem_click(object sender, eventargs e) if (dealuser = nu

23、ll | dealuser.isdisposed) dealuser = new dealuser(); dealuser.show(); addstuinfo addstuinfo; private void 档案?录?入?toolstripmenuitem_click(object sender, eventargs e) if (addstuinfo = null | addstuinfo.isdisposed) addstuinfo = new addstuinfo(); addstuinfo.show(); apdatestuinfo apdatestuinfo; private v

24、oid 学生信?息查询toolstripmenuitem_click(object sender, eventargs e) if (apdatestuinfo = null | apdatestuinfo.isdisposed) apdatestuinfo = new apdatestuinfo(); apdatestuinfo.show(); addloan addloan; private void 助学贷?款?录?入?toolstripmenuitem_click(object sender, eventargs e) if (addloan = null | addloan.isdi

25、sposed) addloan = new addloan(); addloan.show(); seeloan sloan; private void 助学贷?款?查询toolstripmenuitem_click(object sender, eventargs e) if (sloan = null | sloan.isdisposed) sloan = new seeloan(); sloan.show(); private void 表彰?与?处|分?信?息toolstripmenuitem_click(object sender, eventargs e) deletstudent

26、 ds; private void 退?学管理toolstripmenuitem_click(object sender, eventargs e) if (ds = null | ds.isdisposed) ds = new deletstudent(); ds.show(); suspend sus; private void 休y学管理toolstripmenuitem_click(object sender, eventargs e) if (sus = null | sus.isdisposed) sus = new suspend(); sus.show(); honor hon

27、; private void 表彰?信?息查询toolstripmenuitem_click(object sender, eventargs e) if (hon = null | hon.isdisposed) hon = new honor(); hon.show(); honoradd ha; private void 表彰?信?息管理toolstripmenuitem_click(object sender, eventargs e) if (ha = null | ha.isdisposed) ha = new honoradd(); ha.show(); using system

28、; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.windows.forms; using system.data.oledb; namespace student public partial class addloan : form public addloan() initializecomponent(); private v

29、oid addloan_load(object sender, eventargs e) textbox1.focus(); private void button1_click(object sender, eventargs e) if (textbox1.text.trim() = | textbox2.text.trim() = | textbox3.text.trim() = | textbox4.text.trim() = ) messagebox.show(请?填?写完整?信?息!?, 错误提示?); else oledbconnection add = new oledbcon

30、nection(provider=microsoft.ace.oledb.12.0;data source=d:myprojectstudentstudentsdatabase.accdb); /add.close(); add.open(); oledbcommand cmd = new oledbcommand(, add); string sql; sql = select loannum from loaninfo where loannum= + textbox1.text.trim() + ; cmd.commandtext = sql; if (cmd.executescalar

31、() = null) sql = insert into loaninfo values( + textbox1.text.trim() + , + textbox2.text.trim() + , + textbox3.text.trim() + , + textbox4.text.trim() + , + combobox1.text.trim() + ); cmd.commandtext = sql; cmd.executenonquery(); messagebox.show(用?户添加成功|!?, 成功|提示 ?); add.close(); this.close(); else m

32、essagebox.show(该?用?户已?经-存?在,?请?重?新?输? 入?!?, 错误提示?); add.close(); private void button2_click(object sender, eventargs e) this.close(); using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using syst

33、em.windows.forms; using system.data.oledb; namespace student public partial class addstuinfo : form public addstuinfo() initializecomponent(); private void label1_click(object sender, eventargs e) private void addstuinfo_load(object sender, eventargs e) oledbconnection add = new oledbconnection(prov

34、ider=microsoft.ace.oledb.12.0;data source=d:myprojectstudentstudentsdatabase.accdb); add.open(); dataset ds = new dataset(); private void button1_click(object sender, eventargs e) if (textbox1.text.trim() = | textbox2.text.trim() = | textbox3.text.trim() = | textbox4.text.trim() = | textbox5.text.tr

35、im() = | combobox1.text.trim() = | combobox2.text.trim() = | combobox3.text.trim() = ) messagebox.show(你?填?写的?信?息不?完整?,?请?继续?填?写完 整?!?, 错误提示?); else oledbconnection add = new oledbconnection(provider=microsoft.ace.oledb.12.0;data source=d:myprojectstudentstudentsdatabase.accdb); add.open(); string s

36、ql; sql = select * from studentinfo where snum= + this.textbox1.text.trim() + ; oledbcommand cmd = new oledbcommand(sql, add); sql = insert into studentinfo values( + textbox1.text.trim () + , + textbox2.text.trim () + , + combobox1.text.trim() + , + textbox3.text.trim () + , + textbox4.text.trim ()

37、 + , + combobox2.text.trim() + , + textbox5.text.trim () + , + combobox3.text.trim() + ); cmd.commandtext = sql; cmd.executenonquery(); messagebox.show(学生学籍?信?息注册成功|!?, 成功| 信?息); add.close(); using system; using system.collections.generic; using system.componentmodel; using system.data; using system

38、.drawing; using system.linq; using system.text; using system.windows.forms; using system.data.oledb; namespace student public partial class adduser : form public adduser() initializecomponent(); private void adduser_load(object sender, eventargs e) / dataset ds = new dataset(); /oledbconnection cn =

39、 new oledbconnection(provider=microsoft.ace.oledb.12.0;data source=d:myprojectstudentstudentsdatabase.mdb); /oledbdataadapter adp = new oledbdataadapter(,cn); /adp.fill(ds); textbox1.focus(); private void button1_click_1(object sender, eventargs e) if (textbox1.text.trim() = | textbox2.text.trim() =

40、 | textbox3.text.trim() = ) messagebox.show(请?填?写完整?信?息!?, 错误提示?); else if (textbox2.text.trim() != textbox3.text.trim() messagebox.show(两?次?密码?输?入?不?一?致?,?请?重?新?输? 入?!?, 错误提示?); else oledbconnection add = new oledbconnection(provider=microsoft.ace.oledb.12.0;data source=d:myprojectstudentstudentsda

41、tabase.accdb); /add.close(); add.open(); oledbcommand cmd = new oledbcommand(,add); string sql; sql = select user from userinfo where user= + textbox1.text.trim() + ; cmd.commandtext = sql; if (cmd.executescalar() = null) sql = insert into userinfo values( + textbox1.text.trim() + , + textbox2.text.

42、trim() + ); cmd.commandtext = sql; cmd.executenonquery(); messagebox.show(用?户添加成功|!?, 成功|提示 ?); add.close(); this.close(); else messagebox.show(该?用?户已?经-存?在,?请?重?新?输? 入?!?, 错误提示?); add.close(); private void button2_click_1(object sender, eventargs e) this.close(); private void label1_click(object se

43、nder, eventargs e) using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.windows.forms; using system.data.oledb; namespace student public partial class apdatestuinfo : form dataset ds =

44、 new dataset(); oledbdataadapter adp = null; public apdatestuinfo() initializecomponent(); private void apdatestuinfo_load(object sender, eventargs e) string cn = provider=microsoft.ace.oledb.12.0;data source=d:myprojectstudentstudentsdatabase.accdb; oledbconnection deal = new oledbconnection(cn); d

45、eal.open(); string sql = select * from studentinfo; adp = new oledbdataadapter(sql, cn); adp.fill(this.ds, studentinfo); this.datagridview1.datasource = this.ds.tablesstudentinfo; using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; us

46、ing system.linq; using system.text; using system.windows.forms; using system.data.oledb; namespace student public partial class dealuser : form /定义?数y据y集对?象 dataset ds = new dataset(); oledbdataadapter adp =null; public dealuser() initializecomponent(); private void button1_click(object sender, even

47、targs e) string cn=provider=microsoft.ace.oledb.12.0;data source=d:myprojectstudentstudentsdatabase.accdb; oledbconnection deal = new oledbconnection(cn); deal.open(); string sql=select * from userinfo; adp=new oledbdataadapter(sql,cn); adp.fill(this.ds,userinfo); this.datagridview1.datasource = thi

48、s.ds.tablesuserinfo; bindingsource bs = new bindingsource(); bs.datasource = this.ds.tablesuserinfo; bindingnavigator1.bindingsource = bs; private void datagridview1_cellcontentclick(object sender, datagridviewcelleventargs e) private void dealuser_load(object sender, eventargs e) using system; usin

49、g system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.windows.forms; using system.data.oledb; namespace student public partial class deletstudent : form void loaddata() dataset ds = new dataset(); string

50、 cn = provider=microsoft.ace.oledb.12.0;data source=d:myprojectstudentstudentsdatabase.accdb; oledbconnection connection = new oledbconnection(cn); connection.open(); string sql = select * from studentinfo; adp = new oledbdataadapter(sql, cn); adp.fill(ds, studentinfo); this.datagridview1.datasource

51、 = ds.tablesstudentinfo; oledbdataadapter adp = null; public deletstudent() initializecomponent(); private void deletstudent_load(object sender, eventargs e) loaddata(); private void 办理休y学toolstripmenuitem_click(object sender, eventargs e) if (datagridview1.selectedrows.count = 0) messagebox.show(请?选?中d其?中d一?行d!?); return; private void 办理退?学toolstripmenuitem_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论