基于SSM的学生信息管理系统(源码+L文+说明文档)
目录
4 系统设计
4.1界面设计原则
4.2功能结构设计
4.3数据库设计
4.3.1数据库概念设计
4.3.2 数据库物理设计
第5章 系统实现
5.1管理员功能实现
5.1.1班级和课程关系管理
5.1.2老师管理
5.1.3奖惩类型管理
5.2 老师功能实现
5.2.1成绩管理
5.2.2学生奖惩管理
5.2.3课程管理
5.3 学生功能实现
5.3.1班级管理
5.3.2查询成绩
5.3.3修改密码
4 系统设计
市面上设计比较好的系统都有一个共同特征,就是主题鲜明突出。通过对页面简洁清晰的布局,让页面的内容,包括文字语言,或者视频图片等元素可以清晰表达出系统的主题。让来访用户无需花费过多精力和时间找寻需要的内容。
4.1界面设计原则
一般来说,大部分用户使用系统,有些是想从系统中获取需要的信息,有些则是使用系统提供的服务。所以,为了改善用户体验,提高系统的使用率,在对系统界面设计时,需要按照下面的原则进行。
第一点,对用户进行分析,了解用户使用系统的目的,以及使用系统的方式,考虑大部分用户的阅读习惯,设计Z字形或F型结构可以方便用户获取信息。
第二点:设计有效的导航,这个包括每个页面上都有导航条的显示,有时也可以在页面的底部设计导航条,当用户进入具体页面时,要设计相应的位置提示,在页面中比较特殊的位置,需要设计返回链接,可以返回上个页面,也可以返回首页等。
第三点:对整个系统要运用统一的设计方案,包括色彩方案的一致性,页面模板的相似性等,对相同操作和专业术语的描述在整个系统中也应该保持一致。
第四点:设计的界面要保证传达的内容清晰准确。要避免在同一个页面设计非常多的内容,另外可以准确对系统内容进行分类,把页面中用户视觉集中的位置,用来显示重要信息。
作为初学者,并没有那么多的设计经验,但是可以运用上面提到的界面设计原则设计出比较好的系统,可以让用户产生良好的使用体验。
4.2功能结构设计
为了让系统的编码可以顺利进行,特意对本系统功能进行细分设计,管理员的功能在经过细分后,设计的功能结构见下图。管理员管理班级和课程的关系,管理奖惩类型,课程和专业信息。
图4.1 管理员功能结构图
老师的功能在经过细分后,设计的功能结构见下图。老师负责学生成绩和学生奖惩信息的管理,查询任课课程。
图4.2 老师功能结构图
学生的功能在经过细分后,设计的功能结构见下图。学生主要查询成绩,查询奖惩信息,查看班级和班级课程。
图4.3 学生功能结构图
4.3数据库设计
一般来说,对用户进行调查,了解其需求,主要还是完成功能上的分析设计,殊不知,设计功能时,也要展示对数据库的设计。数据库服务于程序,它可以按照设定的规则对程序的数据进行保存,因此,也可以说数据库就是程序相关数据的集合。为了保证程序的高质量,数据库提供的数据存储服务也需要快速响应,同时数据信息也要安全合法可靠,所以设计一个数据库这样的任务也需要高度重视,并花时间和精力去努力完成。毕竟这影响到后期程序的开发和使用。试想而知,假设设计一个不好的数据库,遇到的问题将会有:第一,面对信息处理,会有着繁琐的业务逻辑,延长事务处理时间。第二:程序编码期间,将会产生更多的代码去完成数据处理的功能,产生大量的数据冗余,而且也不方便注释代码,还会占用更多的存储空间。综上所述,设计出合理的数据库是多么的重要。
4.3.1数据库概念设计
完成此部分内容,需要通过设计展示最终的数据库概念模型,因为这是数据库设计中的关键。而这个概念模型也是在数据库设计中必不可少的E-R模型。之所以要运用E-R模型展示概念设计的内容,主要还是因为E-R模型可以更加方便的展示实体,还有实体间的关系,而且E-R模型可以更方便表达数据的意义。这将有助于数据库的设计工作。
E-R模型的建立也需要使用对应的软件,目前市场上使用频率高的是微软旗下的成员之一Visio,当然,国产的亿图软件也可以绘制E-R模型。无论是采用哪个绘制软件,要绘制好E-R图,还是要掌握E-R图的各个符号代表的意义。比如矩形常用来表示实体,对于实体的特征就使用椭圆形符号表示,像菱形这样的符号就是处于两个矩形之间,代表着实体间的联系,而直线符号就是把矩形,椭圆,菱形这些符号进行连接。接下来就对本系统的E-R图进行展示。
(1)设计的学生实体,其具备的属性见下图。
图4.4 学生实体属性图
(2)设计的成绩实体,其具备的属性见下图。
图4.5 成绩实体属性图
(3)设计的老师实体,其具备的属性见下图。
图4.6 老师实体属性图
(4)设计的学生奖惩实体,其具备的属性见下图。
图4.7 学生奖惩实体属性图
(5)设计的上述实体间关系见下图。
图4.8 实体间关系E-R图
4.3.2 数据库物理设计
作为程序后台的支持,本数据库也需要设计数据存储的结构。而数据存储结构的设计就包括了数据表结构的设计和创建。这里也会运用到前面设计的E-R模型来构建数据表结构。
数据表结构包括了字段,数据类型,还有字段的取值范围等信息。而E-R模型中的实体就是一张表,实体的特征就可以作为该表中的字段,根据本程序信息存储要求,设计每个字段需要的类型,还有该字段的取值范围等。每当设计完成一张数据表,就需要及时保存在数据库里面,并对该设计的数据表准确命名,要求设置的数据表的名称尽量不要是中文,而且要方便记忆。因为在程序编码阶段,通过SQL语句可以把程序里面的数据写入在各个数据表里面,而这个环节需要使用到数据表的名称。如果数据表名称是中文的话,可能会乱码并影响程序运行。下面就以表格形式展示设计的结果。
表4. 1班级信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | int(11) | 否 |
| 主键 |
zhuanye_types | int(11) | 是 | NULL | 专业 |
banji_name | varchar(200) | 是 | NULL | 班级名称 |
create_time | timestamp | 是 | NULL | 创建时间 |
表4.2 学生信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | int(11) | 否 |
| 主键 |
username | varchar(200) | 是 | NULL | 账户 |
password | varchar(200) | 是 | NULL | 密码 |
name | varchar(200) | 是 | NULL | 姓名 |
phone | varchar(200) | 是 | NULL | 手机号 |
id_number | varchar(200) | 是 | NULL | 身份证号 |
sex_types | int(11) | 是 | NULL | 性别 |
my_photo | varchar(200) | 是 | NULL | 照片 |
nation | varchar(200) | 是 | NULL | 民族 |
politics_types | int(11) | 是 | NULL | 政治面貌 |
birthplace | varchar(200) | 是 | NULL | 籍贯 |
wupin_types | int(11) | 是 | NULL | 是否领取过物品 |
banji_id | int(11) | 是 | NULL | 班级 |
yonghu_types | int(11) | 是 | NULL | 学生状态 |
create_time | timestamp | 是 | NULL | 创建时间 |
表4.3 成绩信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | int(11) | 否 |
| 主键 |
yonghu_id | int(11) | 是 | NULL | 学生 |
exam_name | varchar(200) | 是 | NULL | 考试名称 |
kecheng_id | int(11) | 是 | NULL | 课程 |
fraction | decimal(10,4) | 是 | NULL | 分数 |
create_time | timestamp | 是 | NULL | 创建时间 |
表4.4 学生奖惩信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | int(11) | 否 |
| 主键 |
yonghu_id | int(11) | 是 | NULL | 学生id |
jiangcheng_name | varchar(200) | 是 | NULL | 奖惩名称 |
jiangcheng_types | int(11) | 是 | NULL | 奖惩类型 |
jiangcheng_content | varchar(200) | 是 | NULL | 奖惩详情 |
insert_time | timestamp | 是 | NULL | 奖惩时间 |
create_time | timestamp | 是 | NULL | 创建时间 |
表4.5 课程信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | int(11) | 否 |
| 主键 |
laoshi_id | int(11) | 是 | NULL | 老师 |
kecheng_name | varchar(200) | 是 | NULL | 课程名称 |
kecheng_content | varchar(200) | 是 | NULL | 课程内容 |
create_time | timestamp | 是 | NULL | 创建时间 |
表4.6 老师信息表
字段 | 类型 | 空 | 默认 | 注释 |
id (主键) | int(11) | 否 |
| 主键 |
username | varchar(200) | 是 | NULL | 账户 |
password | varchar(200) | 是 | NULL | 密码 |
name | varchar(200) | 是 | NULL | 老师姓名 |
phone | varchar(200) | 是 | NULL | 老师手机号 |
id_number | varchar(200) | 是 | NULL | 老师身份证号 |
sex_types | int(11) | 是 | NULL | 老师性别 |
my_photo | varchar(200) | 是 | NULL | 照片 |
nation | varchar(200) | 是 | NULL | 民族 |
politics_types | int(11) | 是 | NULL | 政治面貌 |
birthplace | varchar(200) | 是 | NULL | 籍贯 |
create_time | timestamp | 是 | NULL | 创建时间 |
第5章 系统实现
这个环节需要使用前面的设计方案,包括对系统模块的设计,还有对程序后台的数据支持的数据库的设计等。不过这部分内容还是强调系统编码人员的开发能力,要把前面设计的内容通过编码的形式以一个完整的,可以运行的系统呈现出来。
5.1管理员功能实现
5.1.1班级和课程关系管理
管理员管理班级和课程关系,其运行效果见下图。在本页面,每个班级对应的课程以及任课老师信息都会清楚的展示,管理员可修改,也能删除。
图5.1 班级和课程关系管理页面
5.1.2老师管理
管理员管理老师。其运行效果见下图。老师是本系统中的一个角色,其信息需要管理员管理。
图5.2 老师管理页面
5.1.3奖惩类型管理
管理员可以管理奖惩类型,其运行效果见下图。管理员修改奖惩类型名称,提交奖惩类型名字获取对应信息。
图5.3 奖惩类型管理页面
5.2 老师功能实现
5.2.1成绩管理
老师管理成绩。其运行效果见下图。老师登记各个学生的课程学习分数,可以根据分数段查询学生成绩。
图5.4 成绩管理页面
5.2.2学生奖惩管理
老师管理学生奖惩,其运行效果见下图。学生的奖励和惩罚信息需要教师添加和管理。
图5.5 学生奖惩管理页面
5.2.3课程管理
老师管理课程,其运行效果见下图。老师在当前页面查看课程,也能根据老师姓名查询对应课程信息。
图5.6 课程管理页面
5.3 学生功能实现
5.3.1班级管理
学生管理班级。其运行效果见下图。学生除了可以查询班级信息之外,还可以查看该班级的课程信息。
图5.7 班级管理页面
5.3.2查询成绩
学生查询成绩,其运行效果见下图。学生在本人后台就能查询成绩。根据课程名称,或者是分数段信息就能查询成绩。
图5.8 查询成绩页面
5.3.3修改密码
学生修改密码。其运行效果见下图。学生在本页面设置新密码,密码设置成功之后,需要重新登录。
图5.9 修改密码页面
源码获取