基于SSM的学生信息管理系统(源码+L文+说明文档)
目录
4 系统设计
学生信息管理系统的设计方案比如功能框架的设计,比如数据库的设计的好坏也就决定了该系统在开发层面是否高效,以及在系统维护层面是否容易维护和升级,因为在系统实现阶段是需要考虑用户的所有需求,要是在设计阶段没有经过全方位考虑,那么系统实现的部分也就无从下手,所以系统设计部分也是至关重要的一个环节,只有根据用户需求进行细致全面的考虑,才有希望开发出功能健全稳定的程序软件。
4.1 系统概要设计
本次拟开发的系统为了节约开发成本,也为了后期在维护和升级上的便利性,打算通过浏览器来实现系统功能界面的展示,让程序软件的主要事务集中在后台的服务器端处理,前端部分只用处理少量的事务逻辑。下面使用一张图(如图4.1所示)来说明程序的工作原理。
图4.1 程序工作的原理图
4.2 系统功能结构设计
在分析并得出使用者对程序的功能要求时,就可以进行程序设计了。如图4.2展示的就是管理员功能结构图,管理员主要负责填充学生信息,并对已填充的数据进行维护,包括修改与删除,管理员也需要对老师信息,缴费信息,宿舍信息进行管理等。
图4.2 系统功能结构图
4.3 数据库设计
程序功能操作不管是添加,修改,还是删除等功能产生的数据都是经由数据库进行数据保存和更新的,所以一个数据库设计的好坏也是程序是否好坏的判定标准,因为程序的成功,有一半的功劳都是靠数据库的优秀设计。数据库一旦设计得良好是可以减轻开发人员的开发负担的。
4.3.1 数据库E-R图设计
这个部分的设计需要使用到E-R图绘制工具,常用的工具就是Visio工具来绘制E-R模型图,这款工具不仅可以快速创建需要的E-R模型图,而且该工具提供的操作界面很简单,可以短时间内修改绘图界面的图形或者是文字的属性。在绘制E-R模型图时,要分清楚各个图形代表的含义,以免绘制出错,E-R模型图由长方形(实体),椭圆形(属性),菱形(关系)这三部分图形符号组成,绘制期间要区分开来,用准确的图形符号代表相应的数据元素。
各个实体之间的联系用下图的E-R图表示。绘制的系统E-R图见图4.8。
图4.8 系统E-R图
4.3.2 数据库表结构设计
数据库系统一旦选定之后,需要根据程序要求在数据库中建立数据库文件,并在已经完成创建的数据库文件里面,为程序运行中产生的数据建立对应的数据表格,数据表结构设计就是对创建的数据表格进行字段设计,字段长度设计,字段类型设计等,当数据表格合理设计完成之后,才能正常存储相关程序运行产生的数据信息。
表4.1字典表表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | dic_code | String | 字段 | 是 |
3 | dic_name | String | 字段名 | 是 |
4 | code_index | Integer | 编码 | 是 |
5 | index_name | String | 编码名字 | 是 |
6 | super_id | Integer | 父字段id | 是 |
7 | create_time | Date | 创建时间 | 是 |
表4.2缴费表表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
8 | yonghu_id | Integer | 用户id | 是 |
9 | jiaofei_types | Integer | 缴费类型 | 是 |
10 | jiaofei_money | Integer | 缴费金额 | 是 |
11 | insert_time | Date | 通知时间 | 是 |
12 | shifou_types | Integer | 是否缴费 | 是 |
13 | update_time | Date | 缴费时间 | 是 |
14 | create_time | Date | 创建时间 | 是 |
表4.3老师表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
15 | laoshi_name | String | 老师姓名 | 是 |
16 | sex_types | Integer | 老师性别 | 是 |
17 | laoshi_id_number | String | 老师身份证号 | 是 |
18 | laoshi_phone | String | 老师手机号 | 是 |
19 | laoshi_photo | String | 老师照片 | 是 |
20 | create_time | Date | 创建时间 | 是 |
表4.4宿舍信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
21 | building | String | 楼栋 | 是 |
22 | unit | String | 单元 | 是 |
23 | room | String | 房间号 | 是 |
24 | sushe_number | Integer | 已住人员 | 是 |
25 | create_time | Date | 创建时间 | 是 |
表4.5人员与宿舍关系表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
26 | yonghu_id | Integer | 用户id | 是 |
27 | sushe_id | Integer | 宿舍id | 是 |
28 | create_time | Date | 创建时间 | 是 |
表4.6学生表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
29 | yonghu_xuehao | String | 学号 | 是 |
30 | yonghu_name | String | 学生姓名 | 是 |
31 | sex_types | Integer | 学生性别 | 是 |
32 | yonghu_id_number | String | 学生身份证号 | 是 |
33 | yonghu_phone | String | 学生手机号 | 是 |
34 | yonghu_photo | String | 学生照片 | 是 |
35 | create_time | Date | 创建时间 | 是 |
表4.7用户表表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
36 | role | String | 角色 | 是 |
37 | addtime | Date | 新增时间 | 是 |
5 系统实现
系统实现部分就是将系统分析,系统设计部分的内容通过编码进行功能实现,以一个实际应用系统的形式展示系统分析与系统设计的结果。前面提到的系统分析,系统设计最主要还是进行功能,系统操作逻辑的设计,也包括了存储数据的数据库方面的设计等内容,系统实现就是一个最终的实施阶段,将前面的设计成果进行物理转化,最终出具可以运用于实际的软件系统。
5.1 管理员功能介绍
5.1.1 学生管理
如图5.1显示的就是学生管理页面,此页面提供给管理员的功能有:新增学生,修改学生,删除学生。
图5.1 学生管理页面
5.1.2 老师管理
如图5.2显示的就是老师管理页面,此页面提供给管理员的功能有:新增老师,修改老师.删除老师。
图5.2 老师管理页面
5.1.3 缴费管理
如图5.3显示的就是缴费管理页面,此页面提供给管理员的功能有:新增缴费,删除缴费,缴费。
图5.3 缴费管理页面
5.1.4 缴费类型管理
如图5.4显示的就是缴费类型管理页面,此页面提供给管理员的功能有:新增缴费类型,删除缴费类型,修改缴费类型。
图5.4 缴费类型管理页面