一、 实验目的与任务:
1.目的:通过实验课程,熟悉和基本掌握软件的工程设计方法、软件工程设计的表达
形式、以及实现工程设计的辅助软件工程工具的使用。使学生在进行一个计算机应用系统开发过程中,学习所应该采取的步骤、方法,掌握需求分析、概要设计、系统设计和详细设计的主要环节,达到全面领会和贯通所学习的理论知识,以适应将来实际工作的需要。
2.任务:学校主要有总务处、政教处、教导处、培训处四大块。其中教导处的工作最
为繁重,工作人员多,信息量大。除财务部门有专人及专用软件进行信息处理外,其它各类的数据处理都由班主任以及教导处工作人员人工完成。教导处目前有几十个班级的学生,处理的信息主要有三大类:学生信息、成绩数据、课程信息。本系统主要着眼于以上部分,建立数据库以及对数据的各种操作功能。
对于学生信息,各班的班主任及学校领导由于各种分类和了解的需要,经常性地进行各种查询。例如:查询一个班级中团员的人数,男、女生的人数,住宿或通宿学生的人数等等。教导处在每一届学生进校时必须进行分班,设置学号;每一届学生毕业,要进行学生信息备份;
对于成绩管理,课任教师要进行本科目成绩登记,计算平均分、优秀率、及格率;班主任在期中考试和期末考试后计算本班学生总分,排名次;教导处要统计补考学生人数及相应名单,每学期进行学生成绩备份;学校领导则可通过查询工具来了解学生成绩情况。
对于课程信息,教导处每学期要进行课程安排、课任教师分配、一周课程安排、中途课程调整等等。
二、 实验的基本要求:
1. 软件开发绘图工具Visio
实验要求:熟悉Visio的工作环境及组成;掌握Visio软件绘制图表的基本操作;熟练使用Visio的图形模板绘制出专业图表。
2. 软件需求分析
实验要求:掌握系统的功能描述、性能描述方法;掌握需求分析工具数据流图、数据字典等;掌握系统需求分析的步骤和方法。
3. 软件系统设计
实验要求:掌握系统总体结构的设计;掌握系统接口设计,数据结构设计;掌握系统概要设计的步骤和方法。
4. 软件详细设计
实验要求:掌握模块的程序描述;熟练使用流程图、PDL等详细描述工具;掌握详细设计的步骤和方法。
1
5.软件测试和调试
实验要求:掌握软件测试的基本技术和概念;掌握软件测试的方法;掌握程序调试的常用技术。
三、实验内容和步骤:
(一)
可行性分析
学生信息,作为一个学校,就有一定的工作量存在,而学生信息,它的工作量可能是其它信息工作量的几倍,班级的增加、班级的查找、班级的修改;学生档案;课程管理;成绩管理;缴费管理;统计等等,每个信息的数据都在不断地变化着,如果采用人工的方式进行操作,那么,一天的工作量,足以让人觉得比较繁琐,吃不消。针对这样的情况,采用让数据的查询变得简单化,数据变的更让每个人都在任何时刻都可以了解到。
学生信息管理系统是为本校开发的,本系统所采用的语言是Visual Basic,用Microsoft Access 2000数据库完成。该系统总体有四部分组成,包括学生信息查询、教务信息维护、学生选课及用户管理。通过本系统,把本校内部查询学生信息、教务信息、学生选课各个环节进行有效地计划、组织和控制。通过本校内部的信息,依据统一数据信息进行管理,把任何一块信息所产生的数据变动及时地反映给其它相关信息,做到数据共享。
本系统主要信息流程为:教务信息维护接受学生的信息,学生信息查询根据教务信息维护的学生信息做出对所接收的信息合理性进行判断,并交于信息维护进行相应的修改,再把信息存入数据库中。学生选课是对学生进行相应选择自己相关的课程。最后进行打印。 采用本系统,能够使整个系统内部所有信息的工作简化,提高工作效益。由于采用统一的数据信息,使相关资料能够快速地查询所需的数据、资料及其它信息的,使信息快速高效运行。
(二) 系统设计
1. 系统功能描述
本系统的主要任务是实现对学校教导处的学生信息管理、成绩管理、课程管理及相关查询。其主要功能包括: (1)学生信息管理功能
班级管理。提供给班主任进行本班学生的信息更新、删除。
添加学生。以班级为单位,进行学生入库。其中分为单个添加和成批添加。单个添加学生供数量较少的学生信息入库;成批添加可以从现存的学生信息EXCEL文件中成批录入到数据库中。
删除学生。当学生毕业后,学生信息转移备份数据库中,系统的基本数据库中需要删除学生信息。该功能主要进行成批地删除学生信息,如连续学号区段的多位学生信息删除,整个班级的删除,所有学生信息的删除。
新生管理。本部分的功能主要有新生导入、分班、及设置学号。新生导入实现从现存的EXCEL新生名单中录入学生信息。分班功能实现按新生的报考专业、成绩及性别进行分班。设置学号实现自动为各班学生编发学号。
学生信息备份。在学生信息删除前,将其按班级为单位保存到备份数据库。 (2)学生成绩管理功能
2
分数录入。以班级为单位,录入各科目的期中、期末、总评成绩。 总分及名次。计算指定班级学生的总分及名次。
补考成绩录入。修改总评成绩,以决定最终补考人数。
成绩备份。为指定班级及指定的学期数的学生成绩保存到备份数据库中。 (3)课程信息管理功能
课程管理。提供本学期各年级各专业所开课程名称的录入、修改、删除。它是学生成绩管理的基础。用以保证数据库中一致性原则。 (4)查询功能。
学生信息查询。根据用户的要求,查询学生数据库的所有可能的信息,其中包括成绩查询。
备份成绩查询。按班级为单位查询备份数据库的学生信息,补考情况。
2. 数据描述
(1)
系统流程图 半页
(2) 数据流图
根据以上的系统功能描述,设计出数据流图如下:
①顶层数据流图与0层数据流图(图1至图2)(2个图一样大) 学生信息管理 学成绩管理 生当前日期 信学生信息 息课程信息管理 管管理系统 查询要求 系统时钟
理系统用户 3
查询结果 统计表
图1 顶层数据流图
②1层数据流图(图3至图4) 2个图 一页
③学生信息管理模块分层数据流图(图9至图15)(8个图) 三页
④成绩管理模块分层数据流图:(图16至18)(三个图)九行乘以3 ⑤查询模块分层数据流图:(图24) 一个图 九行
(3)
数据字典
数据流条目: ①学生信息管理模块:
学生信息管理要求=[新生数据处理要求|班级数据管理要求|添加数据要求|数据删除要求|数据备份要求]
新生数据处理要求=[新生数据|班级数目|起始学号|班级名称|专业] 班级数据管理要求=[班级名称|修改要求] 添加数据要求=[单个学生数据单|成批数据单] 数据删除要求=[起止学号|班级名称|所有学生数据] 数据备份要求=[班级名称|学期数]
新生数据=姓名+性别+出生日期+家庭住址+原毕业学校+政治面貌+入学总分 起始学号={数字}15
班级名称=[会计04(1)| 会计04(2)|会计04(3)| 计算机软件04(1)|会计03(1)| 会计03(2)|会计03(3)| 计算机软件03(1)|会计02(1)| 会计02(2)|会计02(3)| 计算机软件02(1)|网络技术03(1)| 网络技术04(1)| 机电03(1)| 机电02(1) | 机电04(1)| 网络技术02(1)| 网络技术02(1)]
修改要求=姓名+性别+出生日期+家庭住址+原毕业学校+政治面貌+入学总分+专业+班级+是否住宿
单个学生数据单=姓名+性别+出生日期+家庭住址+原毕业学校+政治面貌+入学总分+班级+是否住宿
成批数据单=姓名+性别+出生日期+家庭住址+原毕业学校+政治面貌+入学总分+班级+是否住宿
4
性别=[男|女]
政治面貌=[团员|非团员] 是否住宿=[住宿|通学] ②成绩管理模块:
成绩管理要求=[成绩录入要求|总分计算要求|成绩备份要求] 成绩录入要求=班级名称+成绩数据 总分计算要求=班级名称+成绩数据 成绩备份要求=班级名称+学期数 成绩数据=姓名+课程名称+分数
成绩表=学号+姓名+期中成绩总分+期末成绩总分+期中名次+期末名次 ③课程信息管理模块:
课程管理要求=[课程表维护要求|教师课程表维护要求|排课要求] 课程表维护要求=课程名称+年级+专业
教师课程表维护要求=教师姓名+任教班级+课程名称+周课时数 年级=[一年级|二年级|三年级]
任教班级=[会计04(1)| 会计04(2)|会计04(3)| 计算机软件04(1)|会计03(1)| 会计03(2)|会计03(3)| 计算机软件03(1)|会计02(1)| 会计02(2)|会计02(3)| 计算机软件02(1)|网络技术03(1)| 网络技术04(1)| 机电03(1)| 机电02(1) | 机电04(1)| 网络技术02(1)| 网络技术02(1)] ④查询模块: 查询要求=[查询条件]
查询结果=[学生信息统计表|学生成绩统计表|学生总分名次统计表|教师信息统计表|备份信息统计表]
加工条目:
①学生信息管理模块加工条目: 加工编号:2.2.2.1
加工名称:检查记录有效性 输入:新生数据
输出:有效的新生记录、无效的新生记录
5