教务管理系统教务管理系统_第1页
教务管理系统教务管理系统_第2页
教务管理系统教务管理系统_第3页
教务管理系统教务管理系统_第4页
教务管理系统教务管理系统_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、-ax.a刖 弓随着计算机技术的普及,数据信息处理技术得到了空前发展,使得越來越多的人员从事于数据库 操作相关的开发工作,并不断有新人准备加入其中。的儿人功能模块,有着手工管理所不能替代的优点,比如:查找方便、操作简单、检索速度快、 性价比高、扩展性强等。这些优点能够极大地提高教务信息管理的效率,对于加快教务管理口动化有 着较为重要的意义。因此,开发一套简单易用、方便快捷的教务管理系统,是卜分有必要的。1设计背景与设计目的1.1设计背景学校教务管理工作中一项非常重要的工作就是教学调度工作。教学调度工作包括两个方面的内 容:一方面是按教学计划配课、排课,另一方面是日常教务管理。h常教务管理是教学

2、调度工作的- 化、规范化处理;(2) 采用模块式结构,层次清楚,使用肓观;(3) 具有冲突判断能力;(4) 统计结果准确、直观;2相关理论与工具2.1 microsoft visual o+ 6.0 简介microsoft visual c+ 6.0是微软开发的一套优秀的可视化编程工具。2.1.1 microsoft visual c+ 6.0 的特色visual c卄是microsoft公司推出的功能最强人,最复杂的语言产品z,它是目前为止windows 环境下进行大型软件开发的首选。其特点如下:(1) visual c+的语法符合ansi c+标准,并在此基础上针对windows操作系统增

3、加了一些语 句;(2) 集成了 mfc(microsoft foundation class)类库,mfc 封装了 windows api 函数和消息,使得 程序员可以使用mfc高效率的开发各种应用程序:(3) 提供mfcapp wizard,通过它可以轻松地完成对各种mfc类的使用与维护。2.1.2 microsoft visual c+ 6.0 的集成开发环境现代的计算机语言产品都提供了集成开发环境。visual c+的集成开发环境提供了源程序编辑 编译调试和运行等功能,是进行程序设计的工作场所。visual o+是 microsoft visual studio 的一部分,安装 micr

4、osoft visual studio 很简单,只要照着安 装过程的提示,即可以顺利完成安装工作。建议使川所有的默认设置安装microsoft visual studio0安 装完microsoft visual studio后,windows【开始】菜单中的【程序】子菜单中会出现microsoft visual studio 了菜单。要启动visual c+,只需选择【开始】/【程序】microsoft visual studio/visual c+6.0命令即可。(1) visual c卄主窗口visual c卄的主窗口如图1所示,这是在file菜单屮选择open workspace命令打

5、开一个项目示显 示的典型窗口。图 1 microsoft vi sua i c+ 6. 0 界面在visual c+主窗口小,除了通常的菜单工具栏和状态栏外,还有项目工作台窗口正文编辑窗 口和输出窗口。在源程序编写完成麻,即可以对源程序进行编译。build菜单下的compile命令用于启动编译器 编译程序,产生日标代码模块;build命令则不仅编译源程序,还调用链接程序生成最终可执行代码。(5) 资源编辑器在windows环境下,菜单对话框图标位图和字符串等是独立于源程序代码的,它们被称为资源。 visual c+提供了可视化的资源编辑界面,可以很方便地编辑这些资源。单击项目工作台窗口上的re

6、source view标签,然后双击其中一个对话框资源。即可以対该对话 框进行可视化编程。(6) 调试器调试器是在程序设计屮必不可少的辅助工具。通过调试器,程序员能很快找到程序屮的逻辑错课。在编译阶段,编译器会找出程序的语法错课,但语法上完全正确的程序不一定就能正确的运行。 耍找出逻辑错误,只能通过人工调试。visual c+提供了完善的程序调试环境,以便对程序进行调试 工作。2.3 visual c+ 6.0开发数据库的相关技术visual c卄提供了多种访问数据库的技术,如下所示:odbc (open database connectivity)mfc odbc (microsoft fo

7、undation class odbc)dao(data access object)借书证号,图书编号,借书日期)values (t00000000r;000000001<2006-6-r)oinsert语句还可以将多行数据添加到目标表中去,在这种形式的insert语句屮,新行的数 据值不是在语句正文中明确地指定的,而是语句中指定的一个数据库查询。添加的值來自于数据库自 身的行,在某些特定的状态下,这是非常冇用的。多行insert语句为拷贝数据捉供了一种紧凑而 高效的方法,但在该教务管理系统屮没有-使用这种方法,在系统中是使用循环依照上面的用法来完成 多个记录的插入。(3) updat

8、e标准语法:update table_name set columnname 1 = valuel, columname2 = value2 . where search_condition举例:在book表中将书号为"()()()0()(x)()()l ”的书名改为” microsoft visual c+ 6.0入门教程”。 实现语句为:update book set bookname microsoft visual c+ 6.0 入门教程where bookid= *000000000update语句用于更新单表屮选定行的一列或多列的值。要更新的目标表在语句屮定义,set 了

9、句 则指定要更新哪些列并计算它们的值。update语句总是包含where语句,而且update语句比较危险, 所以您必须明确地认识到where语句的重要性,where语句被用来指定盂要更新的行。(4) delete语句标准语法:delete from tablename where condition举例:在book表中将书号为” 0000000001 ”的书籍信息删除。实现语句为:delete from book where bookid=4000000000r。在设计数据库系统时,常常会遇到归类、汇总、映射、索引、子查询等复杂操作,其相应的支持 与实现如下:(1) group by 方法g

10、roup by子句语法为:select columnl,sum(column2) from “table 1" group by" column-list"这个group by子句将集中所有的行在一起,它包含了指定列的数据以及允许合计函数来计算 一个或者多个列。(2) 组合条件和布尔运算符以下的sql语句中就含冇组合条件:select column 1 ,sum(column2) from list-of-table where "condition 1 ” and “condi(ion2"(3) union 子句有些时候,需要一起浏览多个查询

11、的结果、组合它们的输出,这时可以使用union关键字。举例:将book表和booktype表的两个査询结果合并到一起,得到的结果是每本书的书号和书 类型名。实现语句为:select bookid, booktypename from book union select bookid, booktypename from booktype叫总体设计思想在设计这套系统时,根据实际情况,从以下儿个方而进行考虑:(1) 能对口常教务管理所包含的儿大部分内容:慕木信息竹理、慕木信息查询、成绩管理等进行 即时地处理,并能对录入的数据进行分类、统计、分析。(2) 系统应简洁,易使用、易维护、适合非计算机人员

12、使用。应做到简单易学,界面友好清晰。(3) 建立安全保密措施,设立权限,对使用人耍进行身份认证。部分数据只能查阅,不能修改。 根据需求分析的结果,本系统主要划分为以下儿个模块:,包括学生信息的添加、修改、删除等。在进行信息的添加时,首先新窗口进行学生信息的录入, 在保存的吋候要进行学生学好是否重复的检验,如果添加的学生编号重复要对用户进行提示,只有在 不重复的情况下才能够进行信息的添加。在进行信息的删除时,要首先打开提示窗口让用户确认是否 删除,只冇在用户确认后才能够进行信息的删除。在进行信息的修改时,要能够根据用户选定的学生 进行修改,即列出用户选定的学生的所有信息,在这个基础上进行学牛信息

13、的修改。(2) 教师信息管理教务工作人员通过此模块來管理教师信息,包括教师信息的添加、修改、删除等。在进行信息的 添帅i寸,首先新窗口进行教师信息的录入,在保存的时候要进行教师编号是否重复的检验,如果添加 的教师编号重复耍对川户进行捉示,只有在不重复的情况卜才能够进行信息的添加。在进行信息的删 除时,要首先打开提示窗口让用户确认是否删除,只有在用户确认后才能够进行信息的删除。在进行 信息的修改时,要能够根据用户选定的教师进行修改,即列岀用户选定的教师的所有信息,在这个基 础上进行教师信息的修改。(3) 班级信息管理教务工作人员通过此模块来管理班级信息,包括班级信息的添加、修改、删除等。在进行信

14、息的 添加时,首先新窗口进行班级信息的录入,在保存的时候要进行班级编号是否重复的检验,如果添加 的班级编号重复要对用户进行提示,只冇在不重复的情况下才能够进行信息的添加。在进行信息的删 除时,要首先打开提示窗口让用户确认是否删除,只冇在用户确认后才能够进行信息的删除。在进行 信息的修改时,要能够根据用户选定的班级进行修改,即列出用户选定的班级的所有信息,在这个基 础上进行班级信息的修改。(4) 课程信息管理教务工作人员通过此模块來管理课程信息,包括课程信息的添加、修改、删除等。在进行信息的 添加时,首先新窗口进行课程信息的录入,在保存的时候要进行课程编号是否重复的检验,如果添加 的课程编号重复

15、要对用八进行提示,只有在不重复的情况下才能够进行信息的添加。在进行信息的删除时,要首先打开提示窗u-iijij户确认是否删除,只有在用户确认后才能够进行信息的删除。在进行 信息的修改时,耍能够根据用户选定的课程进行修改,即列出用户选定的课程的所有信息,在这个基 础上进行课程信息的修改。(5) 学生成绩管理教务工作人员通过此模块來管理学生的成绩。在进行学牛成绩的添加吋,可利用为学牛设置的所 在班级的课程来直接输入成绩。(6) 班级课程设置教务工作人员通过此模块来设置班级课程。(7) 口志信息管理教务工作人员通过此模块来查看用户的操作日志,并可以删除日志信息。(8) 文件信息管理教务工作人员通过此

16、模块来发布、删除教务通知信息,用户则可以杳看教务通知信息。(9) 综合查询用户通过此模块来查询所需要的各种信息。例如,教师信息查询提供了根据教师编号、教师姓名、 所在院系等杳询条件来进行教师基木信息的杏询。同时,在查询时还提供了进行模糊查询的功能,即 该模块能够利用用八输入的非完整的查询条件进行查询,这样更加方便了用户的查询。(10) 常用工具该模块提供了一些实用的工具,如定时器,它能定时提醒用户按时休息,还能定时运行各种程序, 定时关闭计算机。(11) 权限管理管理员可以通过权限管理模块能够设置教师和学牛的权限,比如是否允许添加川户,是否允许修 改密码,是否允许删除h志信息,是否允许下载资源

17、等等。(12) 用户管理用户管理模块提供了增加用户和修改用户两个功能,管理员可以通过增加用户功能添加新的用户 到数据库中。用戶可以通过修改用户功能来修改登录密码。该教务管理系统采用了”自上而下”、” 口下而上”的设计方法和模块化的设计思想,系统包含 了教学管理的需求,且系统有良好的扩充性,可根据管理需求进一步增加系统功能,不断完善。4.4分析与创建数据库4.4.1数据库的概念设计针对一般教务信息管理系统的需求,通过对教务信息管理工作过程的内容、数据流程和基本信息数据流图的分析,在本系统中主要有以下实体: 学生学号,(1)学生信息,包括的数据项有: 贯,政治面貌,宿舍,备注。教师信息,班级信息,

18、课程信息,川户信息,学生姓名,学生性别,学生年龄,学生姓名,籍(2)(3)(4)(5)包括的数据项冇 包括的数据项冇 包括的数据项有 包括的数据项冇教师编号, 班级编号, 课程编号,教师姓名, 编辑名称, 课程名称,教师年龄,职称。 班主任。教师性别,入学年份,学分,学时,课程性质,备注。用户名,用户密码,用户权限。(6)教务文件信息,包括的数据项有:文件名,文件内容。有了上而的数据结构和数据项,现在开始进行卜-面的数据库概念结构设计。教务丄作信息管理系(8)日志信息(操作用户,操作类型,操作时间)(9)授课(课程编号,教师编号)(10)教务文件信息(文件名,文件内容)根据模块的设计,以及规范

19、化的设计要求,该设 计的数据库表设计如下:学生信息表如表3所 示,教师信息表如表4所示,班级信息表如表5 所示,课程信息表如表6所示,开设信息表如 表7表所示,选课信息表如表8所示,用户信息表如表9所示,日志信息表如表10所示,授 课教师表如表11所示,详细设计阶段的关键任务是确定怎样具体地实现所要求的目标系统,也就是要设计出程序的“蓝 图”,除了应该保证程序的可靠性外,使将来编写出的程序可读性好,容易理解,容易测试和容易修 改,维护是详细设计阶段最重要的目标。现在介绍一下该系统的详细设计与实现过程。5.1日志信息管理功能通过操作口志模块,该系统每一次改变数据库数据的操作都会在操作口志表格屮有

20、相应的记录。这样可以增强操作人员的责任感,提高系统的安全性,也利于维护数据库数据的完整性。此外,一个 详实的操作h志,也给开发过程中的调试,除错带來了很大的便利,所以,把这个模块的设计放在了 最前面问。在设计该模块时将其又分为两个小的模块:写日志模块和读口志模块。写li志模块主要负责在冇 操作进行时将操作的相关信息写入数据库屮;而读h志模块则主要用于查看h志信息,将存储于数据 库中的l1志信息读出并显示出来。首先,介绍一下写li志模块的实现思路:定义一个名为clogmngr的类,在这个类中,保存了一 个数据库连接直接m_dbcnt和当前川户的id (m_user)0在主对话!l£ c

21、logintestdlg屮加入一个 clogmngr型的成员变量,并在clogintestdlg:oninitdialog()中调用其setup方法进行初始化,设置 好数据库连接指针和用户名。这样当程序屮某处需要写信息进入操作日志的时候,只需调用这个类的 addlog方法即可。在addlog函数中利用了 connectiong对象的execute方法,总接执行sql语句, 向howdo表中加入了-条包含了操作者、操作时间和操作內容3个字段的记录。直接使用sql语 句的方法在表比佼简单的时候很快捷,但在表包含比鮫多的字段的时候,就不太实用了。在这里因为 日志表比较简单,所以选择使用这种方法。紧接

22、着就是读日志模块的设计,该功能的界而设计如图7所示。它包含了一个列表框控件,几个 编辑框和两个按钮。这个窗口用以显示系统中所有的fi志记录。它还将实现清空所有记录的功能(注意为了保证li志记录的完整性、完全性,不能单独删除某条记录)。在删除所冇记录时,用 sql语句显得很方便。但是注意最好不要用” delete * from howdo *'这样的语句,而是使用” truncate table ”语句,它的速度比delete要快。在这里就是使用了 “ truncate table ” 语句,女0 thcapwindows程序是消息驱动的,每一个对彖都会有很多的windows消息。点击登

23、录按钮后, 耍让程序进行密码验证的操作,就必须为登录按钮增加一个响应”鼠标点击”的函数。在mfc class wizard对话框中,选中” message map 11选项卡。然后在其中为登录按钮增加 消息响应函数onok 0。展开clogindlg类,双击onok()函数,在编辑区打开onok的定义,将clogindlg:onok()j内 容修改为如下内容:if(m_name= " " ii m_code= '* ")messagebox( u 情输入密码! ” );strsql.format( ” select * from userl where u

24、sermanager=,%s, and username='%s' and usercode='%s' " , m_combo, m_name, m_code);messagebox( n密码错误! ”);/提示输入错误messagebox( °登陆成功! ”);提示登录成功5.2.3调试结果如果用户输入的信息是错谋的,在单击登录按钮后,系统会弹出如f对话框提示川户输入有误。 如图12所示。图12错误信息对话框如果用户输入的信息是正确的,在单击登录按钮后,系统会肓接进入主界血。5.3主界面的设计实现登录完成z后,显示出主界而。如图13所示。单

25、击菜单栏的菜单项就能弹出某个功能的界面。 主界面根据用户的权限不同1佃有不同,但整个框架是一样的,只是某些菜单会失效变灰。譬如: 当登录用户为教师或学生时,那么工具栏上的”权限管理“菜单就会变成灰色,因为该功能只有管理 员才能使用。图13教务工作信息管理系统主界面在主界面的标题栏上将会显示当前登录用户的用户名、该用户的权限以及系统当前时间,譬如上 图中的用户为粟彬,他的权限为管理员,时间为2006年6月8号的19: 40: 43。实现这一功能的代码如下:void clogindlg:onok()(2)当工作人员选样该牛所在班级时,”选择学号”组合控件将作相关数据的杳询,查找该班 中的所有学生,

26、并将该班所有学牛学号显示在控件小以便工作人员选取。因此,应该给“选择班级“ 组介框增加一个消息响应函数void onsclchangccombociasso,在该函数中加入如下代码:(1)实现导入功能的代码i如下:m_precordset->addnew(); m_precordset->putcollect( u username n , _variant_t(m_username); m_precordset->update();5.9权限管理模块5.9.1权限管理模块的功能管理员可以通过权限管理模块能够设置教师和学生的权限,比如是否允许添加用户,是否允许修 改密码,是否

27、允许删除i志信息,是否允许下载资源等等。当管理员需要修改教师和学生的权限时, 只需在相应的功能右边选择”允许”或”不允许”,然后点击”确定”按钮即可。n_name,1);exitwindowsex(ewx_shutdown, 0);关闭计算机(2)实现定吋打开程序的关键代码如下:mcssagcbox("请选择盂要打开的文件或程序”);cfiledialog filedlg(true, null, (lpctstr)mjocalfilepath,null, u allfiles(*.*)l*.*iexefiles (*.exe)l*.exell ” );/选择文件if(idok=fil

28、edlg.domodal()m_localfilepath=filedlg.getpathname();悉,否则将延迟工作速度,必须停下来再去学习,后因时间问题,本系统还有一些不尽 如意z处。总的来说,这次的毕业设计为我即将踏入社会之前提供了一次锻炼的舞台。正像指导老师说的一 样,他让我对儿年來所学的专业课有了更为深刻的认识,使知识得到了融会贯通,得到了比以往学习 任何一门课都大的提高和进步。对于我们来讲,我们每天都耍学习,但这帖本上的东西如果只是个理 论,如果不把他应用于实践屮,这门课可能对我们来说完全没有意义。经过开发这个系统,这不仅仅 是一次毕业设计,不仅仅是学会了一门开发语言,更重要的

29、是在学习的过程中,所有的问题要自己去 而对,有问题也只有靠自已去解决,在学习和解决这些困难的过程中捉高了我学习的能力、解决问题 的能力和实际工作的能力,学到了许多书木以外的知识,这是我在踏出这个校门z前给予自已最大的 回报,同时我也相信会给我在以后的人牛道路上带來很多的帮助。参考文献|1|李劲,谢兆阳sql server 2000数据库设计与系统管理m|.北京:清华大学出版社,2001:10-135.2徐守祥擞据库应用技术一sqlserver篇m.人民邮电出版社,2005:1-35.3刘杰.sqlserver数据库管理系统m.中国水利水电出版社,1999:154周之英.现代软件工程m.科学出版

30、社,2003:123-145.16张志学.microsoft visual c卄项h开发指南m.清华大学出版社,2000:31-46.致谢忙碌了两个多刀,我的毕业设计和论文终于完成了。孤掌难鸣,今天的成绩是很多人帮助的结果。首先要感谢的,当然是我的指导老师周晓兰老师,在我进行毕业设计的这段时间,她给了我很大 的支持与帮助,尤具在选题以及数据库前期设计上给予了很人的指导。更是在百忙之屮抽出时间,指 导和检查我的设计和论文,帮我指导数据库的设计和系统功能模块的划分,跟我探讨我在诸多观点上 或论述上的错课,对我代码的优化方面进行了指导,令我受益匪浅。还要感谢的,是教过我帮助过我的老师们,他们的教导使

31、我积累了大量的知识,在做毕业设计的 吋候,不会因为基础知识的不足而寸步难行。最示要感谢的,是帮助过我的同学们,感谢刘志彪同学在系统设计上给予的建议和帮助,感谢罗 潇同学在编程上给了我的帮助,还要感谢在一旁支持和鼓励我的同学。1日11 =i设訂背景与设计目的1.1设计背景1.2设计目标错误未定义书签。32.1 microsoft visual c+ 6.0 简介2.1.1 microsoft visual c+ 6.0 的特色2.2 microsoft visual c+ 6.0的集成开发坏境2.1.3 visual o+ 6.0开发数据库的相关技术,2.2 sql server 2000 简介2.2.1 sql语言概述2.2.2 ms sql server 2000 简述2.3 为什么选用 vi

温馨提示

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

评论

0/150

提交评论