已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
16前 言随着计算机技术的普及,数据信息处理技术得到了空前发展,使得越来越多的人员从事于数据库操作相关的开发工作,并且不断有新人准备加入其中。的几大功能模块,有着手工管理所不能替代的优点,比如:查找方便、操作简单、检索速度快、性价比高、扩展性强等。这些优点能够极大地提高教务信息管理的效率,对于加快教务管理自动化有着较为重要的意义。因此,开发一套简单易用、方便快捷的教务管理系统,是十分有必要的。1 设计背景与设计目的1.1 设计背景学校教务管理工作中一项非常重要的工作就是教学调度工作。教学调度工作包括两个方面的内容:一方面是按教学计划配课、排课,另一方面是日常教务管理。日常教务管理是教学调度工作的一化、规范化处理;(2) 采用模块式结构,层次清楚,使用直观;(3) 具有冲突判断能力;(4) 统计结果准确、直观;2 相关理论与工具2.1 Microsoft Visual C+ 6.0简介 Microsoft Visual C+ 6.0是微软开发的一套优秀的可视化编程工具。2.1.1 Microsoft Visual C+ 6.0的特色Visual C+是Microsoft公司推出的功能最强大,最复杂的语言产品之一,它是目前为止Windows环境下进行大型软件开发的首选。其特点如下:(1)Visual C+的语法符合ANSI C+标准,并在此基础上针对Windows操作系统增加了一些语句;(2)集成了MFC(Microsoft Foundation Class)类库,MFC封装了Windows API函数和消息,使得程序员可以使用MFC高效率的开发各种应用程序;(3)提供MFC App Wizard,通过它可以轻松地完成对各种MFC类的使用与维护。2.1.2 Microsoft Visual C+ 6.0的集成开发环境 现代的计算机语言产品都提供了集成开发环境。Visual C+的集成开发环境提供了源程序编辑编译调试和运行等功能,是进行程序设计的工作场所。Visual C+是Microsoft Visual Studio的一部分,安装Microsoft Visual Studio很简单,只要照着安装过程的提示,即可以顺利完成安装工作。建议使用所有的默认设置安装Microsoft Visual Studio。安装完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命令打开一个项目后显示的典型窗口。图1Microsoft Visual C+ 6.0界面在Visual C+主窗口中,除了通常的菜单工具栏和状态栏外,还有项目工作台窗口正文编辑窗口和输出窗口。在源程序编写完成后,即可以对源程序进行编译。Build菜单下的Compile命令用于启动编译器编译程序,产生目标代码模块;Build命令则不仅编译源程序,还调用链接程序生成最终可执行代码。(5)资源编辑器在Windows环境下,菜单对话框图标位图和字符串等是独立于源程序代码的,它们被称为资源。Visual C+提供了可视化的资源编辑界面,可以很方便地编辑这些资源。单击项目工作台窗口上的Resource View标签,然后双击其中一个对话框资源。即可以对该对话框进行可视化编程。(6)调试器调试器是在程序设计中必不可少的辅助工具。通过调试器,程序员能很快找到程序中的逻辑错误。在编译阶段,编译器会找出程序的语法错误,但语法上完全正确的程序不一定就能正确的运行。要找出逻辑错误,只能通过人工调试。Visual C+提供了完善的程序调试环境,以便对程序进行调试工作。2.1.3 Visual C+ 6.0 开发数据库的相关技术 Visual C+提供了多种访问数据库的技术,如下所示:ODBC(Open DataBase Connectivity)MFC ODBC(Microsoft Foundation Class ODBC)DAO(Data Access Object)借书证号,图书编号,借书日期) VALUES (000000001,000000001,2006-6-1)。INSERT语句还可以将多行数据添加到目标表中去,在这种形式的 INSERT 语句中,新行的数据值不是在语句正文中明确地指定的,而是语句中指定的一个数据库查询。添加的值来自于数据库自身的行,在某些特定的状态下,这是非常有用的。多行 INSERT语句为拷贝数据提供了一种紧凑而高效的方法,但在该教务管理系统中没有使用这种方法,在系统中是使用循环依照上面的用法来完成多个记录的插入。(3)UPDATE标准语法:UPDATE Table_Name SET columnname1 = value1, columname2 = value2 WHERE search_condition举例:在Book表中将书号为0000000001的书名改为Microsoft Visual C+ 6.0入门教程。实现语句为:UPDATE Book SET BookName = Microsoft Visual C+ 6.0入门教程 WHERE Bookid=0000000001。Update语句用于更新单表中选定行的一列或多列的值。要更新的目标表在语句中定义,Set子句则指定要更新哪些列并计算它们的值。Update语句总是包含Where语句,而且Update语句比较危险,所以您必须明确地认识到Where语句的重要性,Where语句被用来指定需要更新的行。(4)Delete 语句标准语法:DELETE FROMtablenameWHEREcondition 举例:在Book表中将书号为0000000001的书籍信息删除。实现语句为:DELETE FROM Book WHERE Bookid=0000000001。在设计数据库系统时,常常会遇到归类、汇总、映射、索引、子查询等复杂操作,其相应的支持与实现如下:(1)GROUP BY方法 GROUP BY子句语法为: SELECT column1,SUM(column2) FROM “table1” GROUP BY” column-list”这个GROUP BY子句将集中所有的行在一起,它包含了指定列的数据以及允许合计函数来计算一个或者多个列。(2)组合条件和布尔运算符以下的SQL语句中就含有组合条件:SELECT column1,SUM(column2) FROM list-of-table WHERE “condition1” AND “condition2”(3)UNION子句有些时候,需要一起浏览多个查询的结果、组合它们的输出,这时可以使用UNION关键字。举例:将Book表和BookType表的两个查询结果合并到一起,得到的结果是每本书的书号和书类型名。实现语句为:SELECT Bookid,Booktypename FROM Book UNION SELECT Bookid,Booktypename FROM BookType2。总体设计思想在设计这套系统时,根据实际情况,从以下几个方面进行考虑:(1) 能对日常教务管理所包含的几大部分内容:基本信息管理、基本信息查询、成绩管理等进行即时地处理,并能对录入的数据进行分类、统计、分析。(2) 系统应简洁,易使用、易维护、适合非计算机人员使用。应做到简单易学,界面友好清晰。(3) 建立安全保密措施,设立权限,对使用人要进行身份认证。部分数据只能查阅,不能修改。根据需求分析的结果,本系统主要划分为以下几个模块:,包括学生信息的添加、修改、删除等。在进行信息的添加时,首先新窗口进行学生信息的录入,在保存的时候要进行学生学好是否重复的检验,如果添加的学生编号重复要对用户进行提示,只有在不重复的情况下才能够进行信息的添加。在进行信息的删除时,要首先打开提示窗口让用户确认是否删除,只有在用户确认后才能够进行信息的删除。在进行信息的修改时,要能够根据用户选定的学生进行修改,即列出用户选定的学生的所有信息,在这个基础上进行学生信息的修改。(2) 教师信息管理教务工作人员通过此模块来管理教师信息,包括教师信息的添加、修改、删除等。在进行信息的添加时,首先新窗口进行教师信息的录入,在保存的时候要进行教师编号是否重复的检验,如果添加的教师编号重复要对用户进行提示,只有在不重复的情况下才能够进行信息的添加。在进行信息的删除时,要首先打开提示窗口让用户确认是否删除,只有在用户确认后才能够进行信息的删除。在进行信息的修改时,要能够根据用户选定的教师进行修改,即列出用户选定的教师的所有信息,在这个基础上进行教师信息的修改。(3) 班级信息管理教务工作人员通过此模块来管理班级信息,包括班级信息的添加、修改、删除等。在进行信息的添加时,首先新窗口进行班级信息的录入,在保存的时候要进行班级编号是否重复的检验,如果添加的班级编号重复要对用户进行提示,只有在不重复的情况下才能够进行信息的添加。在进行信息的删除时,要首先打开提示窗口让用户确认是否删除,只有在用户确认后才能够进行信息的删除。在进行信息的修改时,要能够根据用户选定的班级进行修改,即列出用户选定的班级的所有信息,在这个基础上进行班级信息的修改。(4) 课程信息管理教务工作人员通过此模块来管理课程信息,包括课程信息的添加、修改、删除等。在进行信息的添加时,首先新窗口进行课程信息的录入,在保存的时候要进行课程编号是否重复的检验,如果添加的课程编号重复要对用户进行提示,只有在不重复的情况下才能够进行信息的添加。在进行信息的删除时,要首先打开提示窗口让用户确认是否删除,只有在用户确认后才能够进行信息的删除。在进行信息的修改时,要能够根据用户选定的课程进行修改,即列出用户选定的课程的所有信息,在这个基础上进行课程信息的修改。(5) 学生成绩管理教务工作人员通过此模块来管理学生的成绩。在进行学生成绩的添加时,可利用为学生设置的所在班级的课程来直接输入成绩。(6) 班级课程设置教务工作人员通过此模块来设置班级课程。(7) 日志信息管理教务工作人员通过此模块来查看用户的操作日志,并可以删除日志信息。(8)文件信息管理教务工作人员通过此模块来发布、删除教务通知信息,用户则可以查看教务通知信息。(9)综合查询用户通过此模块来查询所需要的各种信息。例如,教师信息查询提供了根据教师编号、教师姓名、所在院系等查询条件来进行教师基本信息的查询。同时,在查询时还提供了进行模糊查询的功能,即该模块能够利用用户输入的非完整的查询条件进行查询,这样更加方便了用户的查询。(10)常用工具该模块提供了一些实用的工具,如定时器,它能定时提醒用户按时休息,还能定时运行各种程序,定时关闭计算机。(11)权限管理管理员可以通过权限管理模块能够设置教师和学生的权限,比如是否允许添加用户,是否允许修改密码,是否允许删除日志信息,是否允许下载资源等等。(12)用户管理用户管理模块提供了增加用户和修改用户两个功能,管理员可以通过增加用户功能添加新的用户到数据库中。用户可以通过修改用户功能来修改登录密码。该教务管理系统采用了自上而下、自下而上的设计方法和模块化的设计思想,系统包含了教学管理的需求,且系统有良好的扩充性,可根据管理需求进一步增加系统功能,不断完善。4.4 分析与创建数据库4.4.1 数据库的概念设计针对一般教务信息管理系统的需求,通过对教务信息管理工作过程的内容、数据流程和基本信息数据流图的分析,在本系统中主要有以下实体:(1)学生信息,包括的数据项有:学生学号,学生姓名,学生性别,学生年龄,学生姓名,籍贯,政治面貌,宿舍,备注。(2)教师信息,包括的数据项有:教师编号,教师姓名,教师性别,教师年龄,职称。(3)班级信息,包括的数据项有:班级编号,编辑名称,入学年份,班主任。(4)课程信息,包括的数据项有:课程编号,课程名称,学分,学时,课程性质,备注。(5)用户信息,包括的数据项有:用户名,用户密码,用户权限。(6)教务文件信息,包括的数据项有:文件名,文件内容。有了上面的数据结构和数据项,现在开始进行下面的数据库概念结构设计。教务工作信息管理系(8)日志信息(操作用户,操作类型,操作时间)(9)授课(课程编号,教师编号)(10)教务文件信息(文件名,文件内容)根据模块的设计,以及规范化的设计要求,该设计的数据库表设计如下: 学生信息表如表3所示,教师信息表如表4所示,班级信息表如表5所示 ,课程信息表如表6所示,开设信息表如表7表所示, 选课信息表如表8所示,用户信息表如表9所示,日志信息表如表10所示,授课教师表如表11所示, 详细设计阶段的关键任务是确定怎样具体地实现所要求的目标系统,也就是要设计出程序的“蓝图”,除了应该保证程序的可靠性外,使将来编写出的程序可读性好,容易理解,容易测试和容易修改,维护是详细设计阶段最重要的目标。现在介绍一下该系统的详细设计与实现过程。5.1 日志信息管理功能通过操作日志模块,该系统每一次改变数据库数据的操作都会在操作日志表格中有相应的记录。这样可以增强操作人员的责任感,提高系统的安全性,也利于维护数据库数据的完整性。此外,一个详实的操作日志,也给开发过程中的调试,除错带来了很大的便利,所以,把这个模块的设计放在了最前面12。在设计该模块时将其又分为两个小的模块:写日志模块和读日志模块。写日志模块主要负责在有操作进行时将操作的相关信息写入数据库中;而读日志模块则主要用于查看日志信息,将存储于数据库中的日志信息读出并显示出来。首先,介绍一下写日志模块的实现思路:定义一个名为CLogMngr的类,在这个类中,保存了一个数据库连接直接m_DBCnt和当前用户的ID(m_user)。在主对话框CLoginTestDlg中加入一个CLogMngr型的成员变量,并在CLoginTestDlg:OnInitDialog()中调用其Setup方法进行初始化,设置好数据库连接指针和用户名。这样当程序中某处需要写信息进入操作日志的时候,只需调用这个类的AddLog方法即可。在AddLog函数中利用了Connectiong对象的Execute方法,直接执行SQL语句,向HOWDO表中加入了一条包含了操作者、操作时间和操作内容3个字段的记录。直接使用SQL语句的方法在表比较简单的时候很快捷,但在表包含比较多的字段的时候,就不太实用了。在这里因为日志表比较简单,所以选择使用这种方法。紧接着就是读日志模块的设计,该功能的界面设计如图7所示。它包含了一个列表框控件,几个编辑框和两个按钮。这个窗口用以显示系统中所有的日志记录。它还将实现清空所有记录的功能(注意为了保证日志记录的完整性、完全性,不能单独删除某条记录)。在删除所有记录时,用SQL语句显得很方便。但是注意最好不要用Delete * FROM howdo这样的语句,而是使用TRUNCATE TABLE语句,它的速度比Delete要快。在这里就是使用了TRUNCATE TABLE语句,如theAp Windows程序是消息驱动的,每一个对象都会有很多的Windows消息。点击登录按钮后,要让程序进行密码验证的操作,就必须为登录按钮增加一个响应鼠标点击的函数。在MFC Class Wizard 对话框中,选中Message Map选项卡。然后在其中为登录按钮增加消息响应函数OnOk()。展开CLoginDlg类,双击OnOk()函数,在编辑区打开OnOk的定义,将CLoginDlg:OnOK()的内容修改为如下内容:if(m_name= | m_code=)MessageBox(请输入密码!); strSql.Format(SELECT * FROM user1 WHERE usermanager=%s AND username=%s AND usercode=%s,m_combo,m_name,m_code);MessageBox(密码错误!); /提示输入错误 MessageBox(登陆成功!); /提示登录成功 5.2.3 调试结果如果用户输入的信息是错误的,在单击登录按钮后,系统会弹出如下对话框提示用户输入有误。如图12所示。图12 错误信息对话框如果用户输入的信息是正确的,在单击登录按钮后,系统会直接进入主界面。5.3 主界面的设计实现登录完成之后,显示出主界面。如图13所示。单击菜单栏的菜单项就能弹出某个功能的界面。主界面根据用户的权限不同而有不同,但整个框架是一样的,只是某些菜单会失效变灰。譬如:当登录用户为教师或学生时,那么工具栏上的权限管理菜单就会变成灰色,因为该功能只有管理员才能使用。图13 教务工作信息管理系统主界面在主界面的标题栏上将会显示当前登录用户的用户名、该用户的权限以及系统当前时间,譬如上图中的用户为粟彬,他的权限为管理员,时间为2006年6月8号的19:40:43。实现这一功能的代码如下:void CLoginDlg:OnOK() ()当工作人员选择该生所在班级时,选择学号组合控件将作相关数据的查询,查找该班中的所有学生,并将该班所有学生学号显示在控件中以便工作人员选取。因此,应该给选择班级组合框增加一个消息响应函数void OnSelchangeComboClass(),在该函数中加入如下代码:()实现导入功能的代码15如下: m_pRecordset-AddNew();m_pRecordset-PutCollect(username, _variant_t(m_username);m_pRecordset-Update();5.9 权限管理模块5.9.1 权限管理模块的功能管理员可以通过权限管理模块能够设置教师和学生的权限,比如是否允许添加用户,是否允许修改密码,是否允许删除日志信息,是否允许下载资源等等。当管理员需要修改教师和学生的权限时,只需在相应的功能右边选择允许或不允许,然后点击确定按钮即可。N_NAME,1);ExitWindowsEx(EWX_SHUTDOWN, 0); /关闭计算机()实现定时打开程序的关键代码如下:MessageBox(请选择需要打开的文件或程序);CFileDialog filedlg(TRUE,NULL,(LPCTSTR)m_localFilePath,NULL,AllFiles(*.*)|*.*|EXEFiles (*.exe)|*.exe|); /选择文件if(IDOK=filedlg.DoModal()m_localFilePath=filedlg.GetPathName();悉,否则将延迟工作速度,必须停下来再去学习,后因时间问题,本系统还有一些不尽如意之处。总的来说,这次的毕业设计为我即将踏入社会之前提供了一次锻炼的舞台。正像指导老师说的一样,他让我对几年来所学的专业课有了更为深刻的认识,使知识得到了融会贯通,得到了比以往学习任何一门课都大的提高和进步。对于我们来讲,我们每天都要学习,但这书本上的东西如果只是个理论,如果不把他应用于实践中,这门课可能对我们来说完全没有意义。经过开发这个系统,这不仅仅是一次毕业设计,不仅仅是学会了一门开发语言,更重要的是在学习的过程中,所有的问题要自已去面对,有问题也只有靠自已去解决,在学习和解决这些困难的过程中提高了我学习的能力、解决问题的能力和实际工作的能力,学到了许多书本以外的知识,这是我在踏出这个校门之前给予自已最大的回报,同时我也相信会给我在以后的人生道路上带来很多的帮助。参考文献1 李劲,谢兆阳SQL Server 2000数据库设计与系统管理M. 北京:清华大学出版社,2001:10-135.2 徐守祥.数据库应用技术SQL Server篇M.人民邮电出版社,2005:1-35.3 刘杰.SQL Server 数据库管理系统M.中国水利水电出版社,1999:1-5.4 周之英.现代软件工程M.科学出版社,2003:123-145. 16 张志学.Microsoft Visual C+项目开发指南M.清华大学出版社,2000:31-46.致 谢忙碌了两个多月,我的毕业设计和论文终于完成了。孤掌难鸣,今天的成绩是很多人帮助的结果。首先要感谢的,当然是我的指导老师周晓兰老师,在我进行毕业设计的这段时间,她给了我很大的支持与帮助,尤其在选题以及数据库前期设计上给予了很大的指导。更是在百忙之中抽出时间,指导和检查我的设计和论文,帮我指导数据库的设计和系统功能模块的划分,跟我探讨我在诸多观点上或论述上的错误,对我代码的优化方面进行了指导,令我受益匪浅。还要感谢的,是教过我帮助过我的老师们,他们的教导使我积累了大量的知识,在做毕业设计的时候,不会因为基础知识的不足而寸步难行。最后要感谢的,是帮助过我的同学们,感谢刘志彪同学在系统设计上给予的建议和帮助,感谢罗潇同学在编程上给予我的帮助,还要感谢在一旁支持和鼓励我的同学。目 录前 言11 设计背景与设计目的21.1 设计背景21.2 设计目标22 相关理论与工具32.1 Microsoft Visual C+ 6.0简介32.1.1 Microsoft Visual C+ 6.0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 多联机空调系统技术要点
- 不间断电源系统技术要点
- 施工技术考试题库及答案
- 食品安全培训c类试题及答案
- 砂轮机使用安全培训试题及答案
- 辅警岗位知识培训课件
- 2026 年初中英语《动词》专项练习与答案 (100 题)
- 2026年深圳中考语文传统题型强化试卷(附答案可下载)
- 春晚排序题目及答案
- 2025 小学二年级科学下册了解光的折射现象实例分析报告总结报告课件
- 2026广东东莞市谢岗镇社区卫生服务中心招聘纳入岗位管理编制外人员7人备考题库及一套答案详解
- 2025年csco肝癌治疗指南
- 2026云南公务员考试(6146人)易考易错模拟试题(共500题)试卷后附参考答案
- 海参供货合同范例
- 工程勘察设计行业质量管理体系
- 复方蒲公英注射液对心血管系统作用研究
- 2021-2022学年浙江省宁波市镇海区蛟川书院八年级(上)期末数学试卷(附答案详解)
- (新版)老年人能力评估师理论考试复习题库(含答案)
- 光纤激光打标机说明书
- 治理现代化下的高校合同管理
- 境外宗教渗透与云南边疆民族地区意识形态安全研究
评论
0/150
提交评论