1 系统需求的分析
1.1需求分析
本项目所开发的班级管理系统完成学校对学生的班级信息的统计与管理,减少数据漏掉的情况,同时也节约人力、物力和财力,告别以往的人工统计。方便学生使用,学生可以在线查看班级信息,学生信息,课程信息,成绩信息,信息修改,。
1.1.1系统管理员需求分析
①班级管理:管理员在登录之后可以对系统内的班级进行管理,包括对班级的信息进行增加、查询、修改和删除等操作。
②课程管理:管理员在登录之后可以对系统内的课程进行管理,包括对课程的信息进行增加、查询、修改和删除等操作。
③学生管理:管理员在登录之后可以对系统内学生进行管理,包括对学生的信息进行增加、查询、修改和删除等操作。
1.1.2 教师需求分析
基本信息管理::
①成绩录入:管理员在后台添加、编辑成绩,进行成绩录入。
②统计查询:统计某一个学生的所修课程信息、汇总出学分、不及格课程(标红)统计每一门课程的最高分、最低分和平均分
1.2 任务概述
1.2.1 目标
本系统是为了更好管理班级信息而设计的。由于学校的学生繁多,包含的信息量大且复杂,有必要建立一个班级管理系统,使选班级管理工作规范化,系统化,程序化,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课排课相关信息。
1.2.2 运行环境
服务器配置包括硬件配置和软件配置,它们各自都有详细的要求,下面将分别进行介绍.
(1)硬件配置
安装本软件之前,需要确保计算机具有如下配置,这也是最低硬件要求: 酷睿i5或更高的微处理器(或与之相当的处理器) 使用2G内存
(2)软件配置
安装本软件之前,需要确保计算机已安装:Micorsoft Win8.1的操作系统.
1.3系统完整性、安全性
1.3.1 对服务的要求
为保证该系统平稳、安全地运行,系统为用户提供的服务要有以下限制:
(1)管理员具有该系统的最高权限,负责系统维护,更新。
(2) 教师可以查看个人的全部信息,修改个人信息,若要修改课程信息需向教务处申报,由管理员修改。
(3)学生能查看个人的全部信息、自己的选课结果、修改个人信息,若要修改选课信息,需向教务处申报,由教务处修改。
1.3.2 对性能的要求
此系统的数据输入大多数为字符串类型,也有表示成绩的浮点数,精度为6。
响应时间:对于管理人员输入的用户信息应该在人们所能接受的等待时间来确定,通常为1-2秒。
更新处理时间要求 :用户输入数据后,对于该操作人员输入的数据处理时间应该是毫秒级的。数据的转换和传输也应该在人们的接受的等待时间内。
灵活行:
(1) 在操作方式上若发生变化,如无法使用浏览器进入系统,那么,可以使用命令方式进入如:可以通过编写java程序与数据库联接,实现登录。
(2) 因为本系统开发是使用jsp实现,这种开发技术具有java一样的很好的系统移植性。
(3) 对于数据精度方面,应在数据库中加以限制;实现实体完整性,用户自定义完整性约束。
(4) 在设计界面结构和数据结构是应留有对以后扩充系统功能的余地,如可以在每个数据字段上设计多个自定义字段。
2系统设计
2.1系统概要设计
在需求明确、准备开始编码之前,要做概要设计。概要设计的主要任务是把需求分析得到的DFD转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。概要设计有多种方法。在早期有模块化方法、功能分解方法;在60年代后期提出了面向数据流和面向数据结构的设计方法;近年来又提出面向对象的设计方法等。本系统采用模块化软件设计,自顶向下逐层把软件系统划分成若干模块。每个模块完成一个特定的功能,最后将所有模块按照某种方法组合成一个整体,达到整个播放器所要求的功能。
2.2 系统功能设计及描述
本选课系统不仅要实现常见的选课功能,而且还要有友好的用户界面。其最终设计目标是:多用户可以同时对系统进行操作、实现学生选课及对个人信息的修改,实现老师可以查看学生选课情况及对个人信息的修改,实现管理员对教师,学生信息修改及对课程的管理、运行平台要求不高、界面美观舒适、操作简单、易维护、高稳定性、,能满足用户的常见需求。
主要划分为以下四个功能模块,每个功能模块的作用描述如下:
- 班级管理:主要用来管理班级情况。
- 课程管理:管理员可以对课程进行管理确定课程的数量。
- 学生管理:管理员可以对学生进行管理,可以对学生增加或者删除。
- 成绩录入:将成绩提交到数据库
- 统计查询:统计某一个学生的所修课程信息、汇总出学分、不及格课程(标红)统计每一门课程的最高分、最低分和平均分
其具体功能模块如图4-1所示:
图2-1 学生选课系统功能模块图
3系统功能的实现、代码与截图。
3.1学生登录界面
3.2主页
3.3点击学生信息
3.4班级信息
编辑界面
3.5课程信息
编辑界面
3.6成绩录入
3.7统计查询
6、心得体会
通过这次大作业我的编程水平有了进一步的提高,对ssh框架有了更加深入的理解,在编写大作业的过程中,初期对框架的整合费了不少功夫。后来我在编程中遇到了许多莫名奇妙的错误,不知怎么就错了,不知怎么就改对了。在不断改正bug的过程中我对ssh框架有了更深刻的理解,在编写中遇到了许多的问题,但通过查阅资料都找到了解决的办法;
遇到部分的问题及解决办法:
1、 框架的编写,左侧菜单栏,右侧显示栏界面的布局;
2、 在登录的action中关于要获取的数据库中的数值显示在界面上时,在acting中的(private List<BTable> btablelist;)命名不能有大写字母、在jsp获取数据库相应数值时s标签下应使用<s:property value='数据库中的值,及Model中的相应名/>
3、 数据在删除时外约束,不能删除数据;
--查询关于数据库的关于数据的级联删除和更新;
外键(Foreign Key):
如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。由此可见,外键表示了两个关系之间的联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。换而言之,如果关系模式R中的某属性集不是R的主键,而是另一个关系R1的主键则该属性集是关系模式R的外键,通常在数据库设计中缩写为FK
外键的作用
保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值或使用空值
4、 在jsp界面上显示数据时,需在对应的action函数中添加上,在就随便获取值时应当写成btable.bid映射Model中的相应变量名;