1、学生成绩管理系统设计说明书1 作者: 日期:2 个人收集整理 勿做商业用途学生成绩管理系统设计说明书小组成员:张颖,刘雅男编制日期:2009年2月28日第1章 绪论本文以学校管理信息系统建设中的教学管理子系统的开发为背景,论述了管理信息系统的概念、结构及系统开发的基本原理和方法,全文共分为绪论、系统分析、系统设计、系统实施、开发总结、致谢、参考文献、附录等。1.1系统开发的背景伴随着信息社会的到来,信息的极大丰富必然要求人们适应信息社会,信息和材料、能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用,其中最重要的前提就是充分利用人们的才智和学习能力。传统的教学只教会了学
2、生相关的知识,没有教会学生如何利用这些知识,以及再学习的能力.特别对于“管理信息系统这类实用性比较强的课程,更需要培养学生的实际动手能力.。教与学互动与结合,强调应用,不仅让学生了解课程上讲授的管理信息系统方法和原理,而且让学生们利用这些知识解决实际问题。这对学生的实际工作能力是一个很好的锻炼。密切结合学生独立完成的系统开发作业,通过指导教师的点评,使学生能够在较短的时间内,通过实践,真正掌所学的知识。同时人们对信息和数据的利用与处理也已经进入了自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了,管理信息系统作为一门边缘学科,集管理科学、信息科学、系统科学
3、、现代通信技术和电子计算机技术于一体,可以解决企业或组织所面临的问题,对于成绩管理员的劳动强度、提高工作质量和效率;方便管理人员对信息的查询、提高信息资源的利用效率和管理水平都具有重要意义。 1。2系统开发目标 本系统是将现代话的计算机技术和传统的教学、教务工作相结合,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:1。 能够对学生、成绩、教师等各类信息进行录入、修改、查询与、删除、存储;2。 可以查询输出某一学生的各门课程的成绩单;3. 可以查询输出某位老师所上某一门课程的成绩单;4。 可以统计某一门课程的平均分以及各分数段人数及学生明细;5. 可以按专业或班级或课
4、程进行成绩排序;6. 可对数据进行自动备份;7. 程序功能可以根据实际需要进行扩充与改进;8。 方便、快捷和友好的界面;1.3开发工具的选择 在开发工具的选择上,我们选择了由Microsoft公司推出的VC6。0开发工具。C+是在C语言的基础上增加了对面向对象程序设计支持的语言,它目前是应用最为广泛的编程语言,其主要特点如下:个人收集整理,勿做商业用途本文为互联网收集,请勿用作商业用途1.有丰富的编程工具。 2.类的使用可实现程序的多态性,封装性等。3。大量使用可视化的界面操作工具4.支持面向对象的程序设计5。多平台支持1.3开发方法的选择 在开发方法的选择上,选择了演绎式原型法与生命周期法相
5、结合的方法。具体来说,就是在系统开发之前对系统有一个总体框架设想,各功能单元的结构和功能也比较清楚,但是还没有具体实现。系统完成什么功能,分成哪几个部分,各个部分又有哪几个模块,都已理解掌握,且以后不需要做更大的变动,只是具体到每个模块,还没有全部实现。具体地设计可能是完全实现一个模块,也可能是用一个效率高地模块代替一个旧模块。信息系统的开发是一项比较复杂的工作,我们必须选用科学的有效的开发方法。近年来,国内外已逐步总结出一些开发信息系统的方法和技术,但是,从目前的情况来看,系统的开发技术仍是一个比较薄弱的环节。那么根据本系统开发的要求,本系统选择了生命周期法和原型法相结合的方法.现具体介绍如
6、下 生命周期这个概念源于系统工程方法。广义地说,任何系统均有其发生、发展、成熟、消亡或更新换代的过程,这个过程称为系统的生命周期.主要包括系统调查阶段、系统分析、系统设计、系统实施及系统维护与评价五个部分。根据系统设计而对整个系统实施,包括物理实施,程序设计,调试等.实施是最后的一步,关系着最后的成功。1。4.1系统分析 先根据用户提出的建立新系统的要求,进行初步调查和初步可行性分析,提出系统总体规划。再对原系统进行深入的调查,彻底掌握原系统的模型,并在此基础上提出新系统的逻辑模型.a。系统目标 学院在教学这一部分主要是由教务处对课程、对学生、对学生成绩进行合理地安排以及统筹计划,使用本系统对
7、学生的成绩进行合理管理,实现学生成绩的录入、编辑、删除等功能,也可以实现成绩的排序、检索等.它将成为教务处老师的一个很好的帮手。b系统功能 总体来说,学生成绩管理系统完成以下功能:1 学生资料录入2 老师资料录入3 学生资料的查询,修改,删除等。1。4。2系统设计 根据系统分析确定的逻辑模型,确定新系统的物理模型,即计算机化信息系统应用软件的总体结构和设计,并提出系统配置方案,继而对物理模型进行详细的设计。主要内容有:代码设计,用户界面设计,处理过程设计,编写系统设计说明书。 系统设计是以系统分析为基础,而系统设计又是系统实施的基础,系统设计的主要任务是代码设计、物理设计、功能结构图设计。 系
8、统设计的任务主要包括:1代码设计2系统物理设计本文为互联网收集,请勿用作商业用途文档为个人收集整理,来源于网络1.4.3系统实施 按照物理模型实现应用软件的编写和测试,系统试运行,编写技术文件,系统转换,系统交付使用,以及运行后的系统维护和评价等工作。 生命周期法要求信息系统的开发研制工作要按照规定步骤,使用一定的图表工具,在结构化和模块化的基础上进行。结构化的思想是把整个系统的功能看作是一个大模块,根据系统分析和设计的不同要求,按照由顶向下,逐步求精的原则进行模块的分解和组合,这种方法贯穿于系统分析、系统设计和程序设计的各个过程中.1。5调试维护 系统程序和数据的维护又包括程序的维护,数据文
9、件的维护,代码的维护等等。维护是系统在使用中应对系统注意,并加以维护,维护包括:1系统运行的日常维护2系统运行情况的记录3系统程序和数据的维护.1。6开发本系统的意义 学生成绩管理是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生成绩管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,介与它的重要性,学生成绩管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。 在现代,高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题.学生成绩管理是一个非常繁琐与复杂的一项工作,
10、一个原因就是工作量大,不好管。对于一个学校而言,更应该运用一些本地资源,提高管理的力度,对学生负责,对国家负责.第2章 系统分析这章主要讲的是学生成绩管理系统的逻辑分析,系统分析在整个系统中具有重要作用为系统的设计打下基础。 2。1背景分析 学院在教学这一部分主要是由教务处对课程、对学生、对学生成绩进行合理地安排以及统筹计划,以期让教务处中最短的时间内把学生的成绩核算出来,提高教务处的办事效率。同时,能够随时对学生、学生成绩进行各种查询,以及很好地对系统进行维护。2.2组织机构调查分析 教学组织机构主要是由:学生管理,成绩管理,老师管理等组成.图2-1为组织机构图。 图21组织机构图职责:学生
11、管理:管理一些学生的资料,具体是学生的学号、姓名、班级、专业,老师的工号、所学科目,. 成绩管理:管理学生的成绩录入、删除、排序、查询、检索等。老师管理:管理整理老师的资料,具体是老师的工号、姓名、所教的课程。2.3可行性分析 可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决。也就是说可行性研究的目的不是解决问题,而是确定问题是否值得去解,研究在当前的具体条件下,开发新系统是否具备必要的资源和其它条件。 一般说来,应从经济可行性、技术可行性、操作可行性和开发方案可行性等方面研究可行性。 可行性研究需要的时间长短取决于工程的规模,一般说来,可行性研究的成本只占预期的工程中成本
12、的5-10。2.3.1技术可行性分析成绩管理系统主要是用于计算机教育部关于教学计划、课程、教师信息、成绩的查询和管理。通过使用Microsoft公司提供的VC 6.0工具可以实现对学生成绩实现计算机管理. 2.3.2经济可行性开发学生成绩管理系统费用较底,可利用现有的微机设备,经济上是可行的,非常适合于成绩管理,因为该系统实现了将管理和查询网络 化,极大地方便了管理员、教师、学生。 本系统的界面设计简单直观,易于理解.它使用的控件都是用户常用的或常见的,操作起来很容易上手。不需要特别的培训和讲解,用户便能使用该系统. 2。4业务流程分析 主要的业务是:老师、学生的资料的输入,对老师学生综合资料
13、的查询、修改、删除、统计等造作的实现,然后是将结果可以显示出来。业务流程图如图2-4学生学生资料的输入综合资料老师老师资料的输入查询修改删除统计输出结果图2-42。5数据流程的分析数据流程图是描述系统逻辑模型的主要工具,通过几个特定的符号,可以综合反映出信息在系统中的使用、加工处理、传递、存储的整体情况。数据流程图是系统结构化分析行之有效的工具,它抽象地描述了系统数据处理的情况,担却无法表达各个处理的详细内容,因此还要对数据流程图中出现的数据流和处理等做进一步的补充说明,这就是数据字典和变换逻辑说明。数据字典的任务就是对数据流程图中的出现的所有被命名的图形元素在数据字典中作为一个条目加以定义,
14、便得每一个图形元素的名字都有一个确切的解释。数字是对数据流程图的补充说明,它的编制和维护是一项非常繁重的工作,一旦建立起来,从系统分析直至系统运行都用到它.由于本系统的数据模块较多,下面仅以学生成绩管理模块为例来进行编制.流程图如下图2-5教师学生成绩管理系统教务处学生教师教师学生情况老师情况查询统计分析学生学生成绩管理系统0层数据流程图2.6数据存储分析数据模型设计.首先来做出学生成绩管理系统的E-R图,分析这个问题的实体,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、教师组成了这个系统的三个实体。再分析三个实体之间的联系。首先,这三个实体不是一个统一体,学生成绩与教
15、师没有内在联系,教师必须通过课程实体才能与学生建立联系,因而先不考虑。课程与学生这两个实体是多对多联系;一位学生要学习多门课程,一门课程有多位学生共同学习。而学习成绩是这两个实体“学生和“成绩”共有的属性,应填在二者的联系“学习”边。因为成绩既不是学生独有的,也不是课程独有的;“学生甲70分”或“英语70分”是不完全的,说“学生甲英语70分才是正确的,因为70分是学生甲和英语课二者共有的。这个ER图可画成下图。学生课程成绩学习mn第三章 系统设计3。1概要设计3.1。1数据流的设计系统方案确定。通过对系统的调研与分析,系统主要应完成的功能如下:学生信息的录入、修改、删除,老师信息的录入、修改、
16、删除,成绩的查询、排序、统计等功能。本系统在执行时,先根据操作人员的基本需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。所以其数据流图应该是事物型的。其数据处理流程图如下3.1. 图3.1。13.1.2系统物理结构设计根据系统业务要求的分析,数据关系的分析以及数据流程的分析可以设计出此事务型系统的结构。本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(设备、存储区域).此系统的结构层次图如下3。1。2 图3.1.23。1.3模块的划分 将整个系统根据功能和需要划分成多个模块便于程序的设计和任务
17、的划分,现根据分析,将系统大致划分成学生模块、老师模块、界面模块等,其情况可用下图表示:当然每个模块还可以划分成多个小模块,就不一一列出了。3.1。4系统维护设计 由于系统较小没有外加维护模块,因为维护工作比较简单,仅靠一些基本维护措施即可。但为便于维护,应该设计了三种日志:系统运行日志、操作日志、出错日志。三种日志根据不同的重要程度采取存放在文件和数据库的方式,系统管理员可以很轻松地监控系统运行情况。3.2代码设计3.2。1学生模块的设计此模块存放在文件student.h中,此程序设计的工具语言是C和C+,而类是其核心,类的设计应充分考虑题目要求,在学生模块中应设计两个类。其中一个是CStu
18、denRec类,用于定义基本的类型和操作 (运算符的重载问题);另一个是CStudentFile类,用于定义记录在文件中的基本操作(添加、删除、修改、查找、获取记录)。3。2。2老师模块的设计此模块存放在文件teacher.h中,此模块的设计思路和学生的是一致的,也是包括两个类。其中一个是CTeacherRec类,用于定义基本的类型和操作 (运算符的重载问题);另一个是CTeachertFile类,用于定义记录在文件中的基本操作(添加、删除、修改、获取记录)。3。2.3界面模块的设计根据的系统的要求要做出友好界面,友好界面的基本界面功能存放在console。h文件中,这部分源程序是从网上下载的
19、。然后各界面的设计都是由存放在此文件中的CConUI类派生出来的:学生信息界面的显示是由CStudentUI类实现的,存放在studentui。h文件中;老师信息界面的显示是由CTeacherUI类实现的,存放在teacherui.h文件中;按分数段输出的界面是由COutputUI类实现的,存放在outputui.h文件中;按老师查找学生的界面显示是由CSeekEUI类,CSeekMUI类,CSeekCUI类实现的,存放在tseeksui。h中;按班级输出平均分界面显示是由COutaveUI类实现,存放在outaveui.h中;按专业排名的界面显示是CArranageUI类实现,存放在arra
20、ngeui。h中。3。3详细设计详细设计说明书是对系统架构进行详细直观描述,从而完成详细设计,作为软件实现的基础。在概要设计中已经对系统进行了基本划分,而每个基本模块又可划分成多个小模块,下面对各模块中的一些基本功能函数进行分析和设计.3。3。1添加学生信息模块设计程序描述添加新学生信息。功能添加新学生的信息,包括姓名、学号等信息。输入项姓名charstrName20; 学号charstrID10; 班级char strClas5; 专业char strMajor15; 三门成绩floatfScore3; 总平均分floatfAve; 三门课老师的工号int teaID3;函数名称Void A
21、dd(CStudentRec stu);算法表示层接收数据,控制层将数据转到数据持久层保存(到数据库).流程逻辑3.3。2查询学生信息模块设计程序描述对学生信息做查询操作。功能根据输入的学生查询条件查询并显示相应学生的信息,并且可以对其进行查询操作。输人项班级:字符串型专业:字符型学号:字符型输出项合法:显示出查询学生的信息页面非法:重新查询函数名称: intSeek(char* id, CStudentRec stu); / 按学号查找, 返回记录号,int SeekClas(char clas,CStudentRec &stu); /按班级查找,返回记录号,int SeekMajor(ch
22、ar* major,CStudentRec stu); /按专业查找,返回记录号, 算法表示层接收数据,控制层将数据转到数据持久层保存。流程逻辑 输入查询条件合法?显示所查学生信息 3.3.3修改,删除学生信息模块设计程序描述对学生信息做修改删除操作。功能根据输入的学生条件对其进行修改,删除操作。输人项学号:字符型输出项合法:显示出查询学生的信息页面非法:显示没有函数名称: voidDelete(char id); / 删除学号为id的记录算法表示层接收数据,控制层将数据转到数据持久层保存.流程逻辑3.3。4添加老师信息模块程序描述添加新老师信息.功能添加新老师的信息,包括姓名、工号,所教课程
23、等信息.输入项姓名char terName10; 老师的工号char terID10; 老师所教课程名称char terSubject10; 函数名称voidTAdd(CTeacherRec tea);/ 添加记录算法表示层接收数据,控制层将数据转到数据持久层保存(到数据库)。流程逻辑3。3。5查询老师信息模块设计程序描述对老师信息做查询操作。功能根据输入的老师查询条件查询并显示相应学生的信息,并且可以对其进行查询操作.输人项工号:字符型输出项合法:显示出查询老师的信息页面非法:重新查询函数名称: int TSeekName(char*name,CTeacherRec &tea); /按姓名查找intTSeek(char id, CTeacherRec tea); / 按工号查找算法表示层接收数据,控制层将数据转到数据持久层保存。流程逻辑输入查询条件合法?显示所查老师信息3.3。6修改,删除老师信息模块设计程序描述对老师信息做修改删除操作.功能根据输入的老师条件对其进行修改,删除操作。输人项工号:字符型输出项合法:显示出老师的信息页面非法:显示没有函数名称:voidTDelete(char id);算法表示层接收数据,控制层将数据转到数据持久层保存。流程逻辑参考文献:C/C+程序设计 中国铁道出版社Visual C+使用教程 电子工业出版社17