图3 系统总体功能模块图
4 数据库总体设计
一个成功的信息管理系统,是建立在许多条件之上的。数据库结构设计的好坏将直接对应用系统的效率以及实现效果产生的影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。
4.1 数据库概念结构设计
如图4为系统E-R模型图:
图4 系统E-R模型图
4.2 数据库逻辑结构设计
数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。
经过分析系统的用户需求,按照实现功能的要求,把信息按描述的信息对象分类,分为学生信息,课程信息,试卷分值信息,学生成绩信息,考次信息,学生考勤信息,现将表的关系试图表示如下:
图5 数据表关系图
5系统实现
通过对系统各子模块进行具体功能程序代码设计,使该中小学教师管理系统得以实施、运行。由于本系统是由各个相互独立的子功能模块构,本章就以下两个主要模块详细阐述其实现过程:学生信息管理模块、学生成绩管理模块。
5.1主要功能模块功能分析
5.1.1学生信息管理模块
该模块的子级包括快速录入和综合管理,教师可通过快速录入窗体对新生信息进行数据库存储,也可以在综合管理窗体录入,同时操作其他的功能。
功能分析:
1)提交注册:窗体自动显示要添加的学号通过生成学号类实现。
2)注册:注册功能使用三层架构思想实现,表示层将要录入的学生信息封装成学生类传递到业务处理层,业务处理层继续传递封装的学生类到数据访问层并向表示层返回状态值,数据访问层创建sql对象,将封装的类变量值以参数的形式传递到通用访问类、并向业务处理层返回通用访问类执行的结果。
系统会将相关数据存入数据库表中,如果你输入错误或者没有输入,窗体会显示相应的消息框。
5.1.2 学生成绩管理模块
该模块的子级包括综合管理,成绩打印,学生成绩分析。教师通过对学生每个科目的成绩进行修改、更新、删除。并对考次下学生成绩进行打印、对单个学生单个科目进行分析。
(1)成绩打印窗体
功能分析:
1)查询:通过输入考次号,学号,科目查询参加本考次该科目的所有学生的成绩,或某个学生的单科成绩,并在datagridview控件中显示。
2)打印:首先创建报表窗体,在报表窗体内添加水晶报表。再次创建数据集并对数据集进行数据源绑定,主要对要显示的数据项进行绑定和设置。当单击打印按钮时,将要打印的数据以表的形式通过参数方式实例化报表窗体,在报表窗体加载事件中分别进行实例化报表,设置数据报表源,将报表对象设置为报表浏览器的报表源来实现数据的显示打印。