资源描述
管理信息系统开发案例参照
教学管理信息系统的开发与制定
一、引言
本案例主要介绍的是大学使用的教学管理系统的整个制定。随着计算机技术的不断发展,计算机应用于各大领域,并给人们的生活带来了极大的便利,在同学管理系统亦是。以往大学教学员由于缺乏适当的软件而给其工作带来了很多不便。本案例所介绍的便是一个大学教学管理系统,以方便其在课程安排、成绩处理、学籍管理上的工作任务。
该系统适用于大学教学员,其功能主要分为四大类:
公共信息管理:用于学院信息和专业信息建立和修改,
同学基本信息管理:用于班级信息和同学信息的建立和修改以及查询;
课程管理:用于各学期课程的开设和修改〕;
成绩管理:用于成绩的输入、修改、汇总和排名。
该系统性能力求易于使用,具有较高的扩展性和可维护性。
整个系统的开发过程严格遵循软件工程的要求,做到模块化分析、模块化制定和代码编写的模块化。
二、系统分析
1、现行业务系统描述
在学校,教学管理工作是非常重要的一项工作,它负责整个学校的日常教学安排,同学的学籍管理等等。以前都是人工进行操作。随着学校规模扩展,教学处的教学管理工作量大大加重。随着计算机应用的发展,教学工急切希望能够将大部分繁琐的工作交由计算机的处理,已减轻人工的压力并提升工作效率。而计算机的普及更加快了教学管理系统的产生。
上一代的教学管理系统主要为单机单用户的系统,其数据库主要采纳Foxbase或FoxPro,系统开发环境也是数据库内置的开发工具。其特点是单机单用户方式,开发简单,能充分利用数据库的特性。其缺点是开发出的系统依赖性强,运行必需依托数据库环境;不容易升级与扩展;无法实现数据的共享与并行操作;代码重用性差。
随着计算机网络的发展,特别是校园网的建立。原有教学管理系统数据共享差的问题更加特别,而新必需求的提出也越来越多,越来越频繁。这就要求系统在可扩展性和标准化的要求更高。而原有的系统由于其与生俱来的缺点而无法在适应现有的必需求了。
因此,使用现在的新技术,开发出适应新的必需求的新系统的任务刻不容缓。
2、组织结构
图1是学校大致的组织结构图。其中校教务处,是使用综合教学系统的主要部门,对同学的教学管理主要由教务处承当,进行中管理。
图1 组织结构图
3、业务流程分析
教学管理系统是一个面向学校教学人员,为其提供服务的综合信息管理系统。教务人员通过本系统完成相关的日常工作,这些工作也是平常较为繁重的工作。同学的个人信息、所有的课程考试成绩以及每学期的开课状况都记录在教学系统里进行管理。
教学管理系统工作流程:
由教务人员在公共信息系统中完成对运行教学系统所必需的基本数据的维护〔如:系所信息,专业信息等〕。包括这些信息的增、修、改,关于系所和专业的变动都将在这进行操作。所有专业都必需附属于一个也只有一个系所。系统开始投入使用,教学人员先依据学校实际状况,建立系所的信息,主要信息包括系所的名称及它的编号。输入专业信息的过程是首先从系统数据库中选择相关的系所,然后再它下面加入新的专业信息。当学校系所、专业发生变动后,教务人员要及时完成对库中的系所信息和专业信息的维护。
新生入学后由教务人员在学籍系统中完成新生学籍信息的维护。包括班级的建立,新生个人信息的录入。班级是一个“专业〞下面的组织结构,它也是同学的上层组织结构。在每个新学年,新生来校报到后,教务人员先从公共信息库中选择正确的系所信息及专业信息,在专业下加入班级,班级的信息包括班级名称及其编号,班级添加完后,就可以在其下面添加新生的信息。新生的信息来自新生的信息卡,又教务人员手工输入。如果新生所在班级已经存在,则直接从库中选择相应的班级,进行新生信息的输入。
在每个学期开始,教学处依据老师的状况,以班级为单位,通过排课系统为每个班级制定下学期的开课状况。这部分包括三个方面,一是任课教师的信息管理,教务人员要录入新的任课教师的基本信息,并负责对已有教师信息的变动的更新;二是课程信息的管理,教务人员还是对学校所有开设课程的信息的管理与维护,当课程变化后要及时更新;第三,也是本步骤最主要的工作,教务人员依据上两步所产生的信息,即班级信息、教师信息和课程信
息,组织编排每个班级本学期的开课状况以及每门课的任课教师和课时。
每学期末,选课的数据送至成绩系统,由教务人员完成同学成绩的维护工作〔成绩排名,成绩单打印〕。首先是教务人员依据成绩单,将每个同学没门课的成绩录入。然后依据相同专业或同意班级进行成绩的排名打印。还要打印每个同学的单课成绩,生成本学期的同学成绩单。
在同学马上毕业时,教务人员在成绩系统中查询每个同学的整个学业的各课成绩状况,为同学的毕业审核提供依据,并依据必需要打印出每个同学所有的成绩单。
图2是教学处日常的一些工作的业务流程。
图2 业务流程图
4、现行系统存在的主要问题分析
现行系统的主要问题归纳起来主要有,
1. 单机单用户系统,随着网络的发展和校园网的建立,同时教学管理系统中信息的使用者大大增加,原有的单机单用户系统已远远不能满足必需要。同时,原有的数据库也不支持多用户的网络运行环境。
2.系统独立性差,原有系统一般都是使用数据库提供的开发工具编写的程序,因此收数据库的制约比较大,编写出来的程序性能也不好。特别是无法支持如Access,MS SQL Server等新的数据库。
3.模块性差,由于不是一个完整的编程语言,故无法做到代码的模块化,给功能的扩
展带来了庞大的不便。
提出可能的解决方案:
鉴于目前学校对教学管理系统的必需求与实际状况,新系统方案的重点放在系统的可扩展性上,为了实现这一制定,新系统应具备以下几方面的要求:
1.新系统采纳服务器/客户端结构,充分利用现有的校园网络资源,打破地域的限制,并能提供多人同时使用系统,提升工作效率。
2.使用最新的数据访问接口〔ADO〕,可以运行于Win9x/WinNT/Win2000/WinXP多种操作系统上,所有支持ADO接口的数据库都可以作为系统的后台数据库。因此,在以后对数据处理的要求提升时,容易升级为MS SQL Server 或Oracle 等数据库。
3.新系统从制定到实现都应遵循模块化,是用一致的接口进行信息的传递与模块调用。模块的划分应尽量符合实际业务的划分,以确保以后新模块的加入尽可能少的影响现有功能模块的运行
5、可行性分析与决策
关于新系统制定的几个关键技术的可行性分析如下,
1.新系统目前使用Access2000作为数据库,这是一个支持多用户的新型数据库,适用于中小规模的数据量必需求。学校校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持。
2.使用Visual Basic作为系统开发的开发环境,Visual Basic作为一种现代的编程语言,提供完善的指令流控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的确保。同时,Visual Basic支持的ADO数据访问接口是Windows平台下被各类主流数据库广泛支持的数据库接口,这些数据库中包括大型数据库如MS SQL Server和Oracle等。使用标准的数据访问接口给数据的共享及以后数据库的升级提供极大的方便和确保。也确保了系统能够适应网络环境里各种操作系统平台的要求。
3.Visual Basic关于类和对象的支持,确保了代码的模块化要求,而代码模块化的程度的提升,非常有利于以后对新系统的扩展与修改。符合现代信息管理系统开发的理念。
综上所述,新系统的制定与开发在技术上和硬件设备上的条件都是满足的,新系统的开发是可行的。
6、数据流图描述
图3是教学管理系统的顶层图,它是依据教学管理工作业务流程的总体状况,划分系统边界,识别系统的数据来源和去处,确定外部项。然后,划分出几个重要的管理模块,并明确各功能之间的关系而得出的。
从图上可以看到教学管理系统从总体上分为公共信息管理、学籍管理、课程管理和同学成绩处理四大部分。整个系统已公共信息管理开始,先建立学院及专业的信息。然后把新生的公共信息输入班级数据库和同学数据库。依据实际状况管理开课数据库。在每学期末,依据同学数据库为每个同学输入其考试的成绩,并计算排名和成绩单。
图3 教学管理系统顶层数据流图
5对顶层图中四个处理进一步细化后的第一层数据流图如下:
图4 公共信息管理数据流图
图5 课程管理数据流图
图6 学籍管理数据流图
图7 成绩管理数据流图
学籍管理是系统中一个重要的处理模块,学籍管理数据流图中的学籍信息录入和学籍信息查询进行更进一步细化后,有如下两个数据流图:
图8 学籍信息查询数据流图
图9 学籍信息录入数据流图
7、数据字典描述
关于数据流图中出现的一些成分,常使用数据字典来进一步解释,如下:“学籍管理〞数据流图中,数据项“学号编码〞的数据元素卡如表1。
表1学号编码数据元素
“学籍管理〞数据流图中,数据流“存库同学信息〞的数据流卡片如表2,
“学籍管理〞数据流图中,用于存储同学公共信息的“同学信息库〞的数据存储卡,如表3所示。
表3同学信息库数据存储
“学籍管理〞数据流图中,“学籍管理〞数据加工处理的卡如表4。
表4学籍管理数据加工处理
“学籍管理〞数据流图中,外部项“同学档案管理人员〞的外部项卡如表9.5。
表9. 5同学档案管理人员外部项8、处理逻辑的表达
关于数据流图中的基本加工模块,将使用结构化语言进行描述说明。
1.开课课程表查询
获取查询条件
如果是以教师作为查询条件
则从数据库中查询指定教师在指定学期的开课状况
否则从数据库中查询指定班级在指定学期的开课状况
将查询结果显示在程序界面上
2.同学录入
获取所在学院编号
获取所在专业编号
获取所在班级编号
获取同学公共信息数据
将同学公共信息存入数据库
三、系统制定
1、功能结构图图
依据系统分析的结果,按照结构化的系统制定方法,教学管理信息系统从功能上可分成如图10所示,整个系统由公共信息子系统、课程管理子系统、学籍管理子系统、成绩管理子系统和用户管理子系统。各子系统的简要功能说明如表6所示:
图10 教学管理系统功能结构图
12
2、数据库制定
1〕实体描述
学院实体是对应教学管理中的学院这个机构,用来存放学院的信息。
专业实体是对应将教学管理中的专业这个机构,用来存放专业的各种信息。
班级实体是对应教学管理中的班级,再组织结构中它属于专业下的分支,每个专业下属至少应有一个班级实体。
同学实体是教学管理系统的中心实体,存放教学管理系统的对象,同学的基本信息。在系统的三个主要功能模块中都涉及到此实体。
教师实体是用来存储与开课有关的教师的基本信息。
课程实体主要存放教学管理系统中的课程信息,它是开课管理模块和成绩管理模块的基础信息。
开课实体存放教学管理系统中开课编排生成的结果。
成绩实体是成绩管理模块的主要对象,用于储存每个同学各个课程的成绩与学分。2〕实体属性描述
学院
实体集学院,有属性学院编号和名称。一般每个学院都会有唯一的编号,所以直接使用它作为这个实体的主键。
专业
实体集专业,有属性专业编号和名称,使用由学院分配给它的唯一的专业编号作为主键。
班级
实体集班级,有属性班级编号〔唯一的班级编号〕,班号。班号是表示班级的名称如“98级一班〞。
同学
实体集同学,有属性学号〔唯一的学号〕,姓名,生日,家址和 。
教师
实体集教师,有属性教师编号〔唯一的工号〕,姓名,性别,职称,学历和教研室。
课程:
实体集课程,有属性课程编号〔唯一的标示号〕和课程名。
3〕实体之间的联系
实体集学院和专业之间,专业和班级,班级和同学之间都是1:N的联系,其中每个专业只能属于一个学院,每个班级只能属于一个专业,每个同学只能属于一个班级。
开课,实体集教师,课程和班级的一个三元联系,三者之间都是N:M的联系,因为一个教师可以给多个班级上多门课程,一门课程可以由多名教师在多个班级开课,而一个班级肯定是有多个教师来上多门课。同时开课这个联系还有自己特有是属性,它的属性有学年,学期和上课课时,用来表示三个实体之间一个唯一的开课关系。
成绩,是实体集课程和同学的一个N:M的联系。这个联系有4个自己的属性,他们是学年,学期,分数和学分。学年和学分同实体集课程和同学一起唯一表示的一个成绩。
4〕E-R图
5〕关系模式
学院〔学院编号,名称〕
专业〔专业编号,学院编号,名称〕
班级〔班级编号,专业编号,班号〕
同学〔学号,班级编号,姓名,出生日期,家址, 〕
教师〔教师编号,姓名,性别, 职称, 学历, 教研室〕
课程〔课程编号,课程名〕
开课〔开课号,课程编号,教师编号,班级编号,学年,学期,上课课时,学分〕成绩(课程编号,学号, 学年,学期,分数)
4、计算机系统配置方案的选择和制定
1〕软硬件平台
客户机/服务器:采纳Pentium II 或以上级别PC机,至少80M硬盘,Pentium90MHZ,支持VGA或分辨率更高的显示器
客户机/服务器操作系统:Window 2000/Me,也可使用Windows NT作为操作系统数据库:Access2000
网络:以太网组成的局域网,可设多台客户机。
2〕系统总体安全性方案与措施
由于教学系统中的数据有一定的敏感性,因此系统采纳用户登录验证,防止未通过许可的用户使用系统。系统的用户管理模块,提供对系统账号的管理,以确保系统的安全性。
5、代码制定
学号是系统中一个基本数据项,也是一个重要的数据项。它是固定8位数字的数据项,它的一般格式是“AABBCDEE〞,其意义是“AA〞为年份编码,如98,99,用来表示同学的学级;“BB〞为学院编码,表示同学所在学院;“C〞为专业编号,表示同学所学专业,“D〞为班级编码,“EE〞为同学在班级的学号。学号是系统中同学的唯一标示。
其它代码如学院代码,专业代码和班级代码没有特别的规定,教学人员可以自行使用一套可以唯一标示学院,专业和个班级的编码。
教师代码及课程代码系统也没有做规定,但建议使用老师工号和学校的课程号。
6、人机界面制定
由于教学管理系统的大部分工作是查询和打印数据库中的信息,,从系统应用必需求出发,系统对数据库中的信息直接以二维表格作为主工作区,辅以各种对话框进行新增、修改和删该的操作,系统的主用户界面如图11所示:
图11 系统主界面
主界面大致有二部分组成,它们是主菜单和工作区。在窗口的主菜单区,显示了本系统的四大功能子系统,用户可以用鼠标选择必需要的菜单项选择项。如果有二级菜单,在选择了相应的一级菜单后,二级菜单将自动出现。
当用户选择的所要使用的功能菜单,系统就进入了此业务处理功能,这时工作区将以二位表格的形式显示与此业务有关的数据信息,在工作区右击鼠标可以打开“右键菜单〞,这个菜单用来提供新增、修改和删除的功能。
在整个系统的应用过程中,系统将会使用大量的对话框来与用户互动,帮助用户完成工作。
依据业务数据处理功能从界面的性质来看,可分为三类:
1〕.数据的编辑:这包括数据的新增和修改,这类界面都是包涵下拉列表和文本框的对话框,如图12所示,通过下拉列表提供有限的规定数据,即可减少用户的输入量,也降低的输入错误的概率。
图12 同学基本信息修改界面
2〕.数据查询:系统查询功能的条件都是在给出的对话框中进行选择,这些对话框中的查询条件都是下拉列表的形式,避免了用户的繁琐输入。查询的结果则在工作区以二维表格的形式显示在主界面上。如同专业单课的年级排名查询界面如图13所示:
图13 同专业单课的年级排名查询界面
3〕.数据的输出:数据的输出分为屏幕输出和打印输出,关于打印输出,系统提供的完整的功能从打印预览到打印机的设置,可以打印所所有在工作区显示出的表格。图14是打印预览的界面:
图14 打印预览界面
四、系统实施概况
1、实施环境与工具的比较选择
系统的实施是在系统制定的基础上,用Visual Basic 6进行程序制定开发。Visual Basic 6是新一代的程序语言,它提供了开发Microsoft Windows(R) 应用程序的最迅速、最简捷的方法。与系统管理系统常用的开发工具Power Builder相比,Visual basic 6主要有以下优势:1〕.支持ADO(ActiveX 数据对象):这项新的数据访问技术的特性包括:更简单的对象模型;与其它Microsoft 和非Microsoft 的技术更好的集成;为本地和远程数据数据提供的通用接口;可远程访问的和断开的记录集;用户可访问的数据绑定接口;以及层次结构的记录集。
2〕.完整的编程语言:同Power Builder只提供脚本不同,Visual Basic 6提供了一套完整的编程结构和语言元素。丰富的数据类型也提升了程序的性能。
3〕.用对象编程:Visual Basic 6 是一种基于对象的编程语言。Visual Basic 6使得对象的使用变得很容易,它使在程序性编码和使用对象的程序制定之间进行平稳转换成为可能。
2、编程环境、工具、实现与数据准备概况
本系统是在Visual Basic 6自带的IDE下开发,数据库制定工具使用了Microsoft Access 2002。所有开发工具都是在Windows Me操作系统使用,并合计了系统程序在其他Windows 版本操作系统下运行的要求。
程序代码是以对象的观点来编写,整个系统所有的基本功能都封装在4个对象中,系统的功能实现都是通过调用这4个对象提供的接口实现。这样便提升了程序代码的模块化,有助于程序代码的调试及以后的功能扩展。
3、系统测试概况
鉴于本系统规模不是很大,因此系统的测试主要集中在4个封装基本功能的对象的代码测试和最后系统的总体测试。
代码测试主要是测试对象提供的接口运行是否正常,测试运行结果是否与期望相同。以及对象的接口的容错性。
总体测试主要是测试整个系统的运行正确性、可靠性和稳定性,其中正确性最主要。总体测试的内容包括使用本系统进行大量数据的录入,特别是边缘数据的录入测试。其次测试系统的查询和打印功能,测试其结果是否与预期相符。
4、系统运行与维护概况
平常应注意对使用系统的计算机的日常管理,特别是存放数据库文件的计算机。有条件的应该定期对数据库文件进行拷贝备份,防止因意外或人为因素导致数据库文件的破坏而造成数据丢失的损失,确保系统的正常运行。
五、结束语
本系统的特点在于使用的目前较新的数据库技术,使用标准的视窗用户界面,支持鼠标的操作,支持网络环境,实现多用户的服务器/客户端架构。整个开发过程都遵循的软件工程的要求,高度的模块化为以后的系统扩展提供了确保。
当然,由于时间有限,系统只对应的教学业务工作的一小部分,在系统的安全性方面也有待改善。
以后,可以在必需要时,对本系统增加如同学选课、课表编排等功能模块,完善本教学管理系统。
展开阅读全文