JavaEE学期实验
实验报告
教
务
管
理
系
统
小组成员:
周亮俊201026810130软工1007 陈志强201026810103软工1005 王超201026810116软工1006
目录
第一章系统概述 (3)
第一节实验目的 (3)
第二节实验环境 (3)
第三节系统架构 (3)
第二章需求提取 (4)
第一节需求分析 (4)
第二节用例分析 (4)
第三章数据库设计 (6)
第一节数据库表设计 (6)
第二节 ER图设计 (7)
第四章系统界面 (8)
第一节登录界面 (8)
第二节学生登录 (8)
第三节教师登录 (10)
第四节管理员登录 (13)
第五章总结 (16)
第六章源代码(见附件) (16)
第一章系统概述
第一节实验目的:
利用本学期所学的Struts2、Hibernate和Spring知识,对三个框架进行整合实现一个简单的教务管理系统。
第二节环境架构
开发环境基于Myeclipse9,Tomcat7.0,Jdk1.6;
数据库应用MySQL。
第三节系统架构
本系统基于Struts2、Spring、Hibernate三种框架之间的整合。
利用Struts2框架在Web层实现了MVC开发,利用Hibernate框架在数据库层进行对象关系映射,利用Spring框架协调对象之间调用、降低耦合性。
(SSH分别为Struts2.1,Spring3.0,Hibernate3.3)
以下是整合结构图:
三大框架整合图
第二章需求提取
第一节需求分析:
本教务管理系统包括以下3个模块:
1. 学生模块:
学生通过登陆验证后进入系统,可以查询自己的相关信息,课程的相关信息,成绩的相关信息,同时还可以进行选课,查询选课结果。
2. 教师模块:
教师通过登陆验证后进入系统,可以查询自己的相关信息和所教的班级的学生信息,可以选择授课(即教师选课),同时教师还可以上传学生成绩。
3. 教务处模块:
管理员(教务处)通过登陆验证后进入系统,可以查询自己的相关信息,同时可以实现对学生信息的管理,包括学生信息的增删改;教师信息的管理,包括教师信息的增删改;授课信息的管理;课程信息的管理,包括课程信息的修改或删除;选课信息管理,包括学生成绩的修改(若教师发现上传的成绩不对时可向教务处说明情况并修改学生成绩)等。
第二节用例分析
第三章数据库设计第一节数据库表设计
admin表结构
字段数据类型长度是否允许空值备注编号 id Int 11 否主键管理员号 admin_id Varchar 20 是
管理员姓名admin_name Varchar 20 是
备注 admin_ps Text 是
第二节 ER图设计
第四章系统界面
第一节登录界面
输入学生或教师或管理员的标识ID号后,选择登录身份进行登录(系统会判断用户是否选择自己的登录身份以及标识ID是否正确,同时向用户返回判断信息)
第二节学生登录
(左边菜单栏是学生可以进行的操作,包括个人信息管理,选课,选课结果查询以及成绩查询)
以学生身份登录可以查看个人信息
然后学生通过点击右边可选课程信息下的选定按钮选定自己所想要选修的课程(系统会根据学生选择的课程判定学生是否已经选择过该课程,同时系统会向用用户给予提示信息)
学生可通过选择左边菜单栏中的“选课结果查询”选项进行选课结果的查询(也可以点击右边主窗体中选课结果下的删除按钮删除自己的选课记录)
学生可通过选择左边菜单栏中的“成绩查询”选项进行成绩查询
第三节教师登录
(左边菜单栏是教师可以进行的操作,包括个人信息管理,教师选课,选课结果查询以及查询自己的授课情况)
以教师身份登录可以查看个人信息
教师通过点击右边主窗体可选课程信息下的选定按钮选定自己所想要授课的课程(系统会根据教师选择的课程判定教师选定是否成功,接着根据判定结果向教师给予提示信息,当教师再次点击教师可选课程选项时,系统会将教师刚才选定的课程从教师可选课程中删除,防止教师重复选课的情况)
教师可通过选择左边菜单栏中的“选课结果查询”选项进行选课结果的查询(也可以点击右边主窗体中选课结果下的删除按钮删除自己的选课记录,PS:教师在点击删除按钮进行选课信息的删除时,系统会根据该授课号查找学生选课信息库,一旦发现已经有学生选了该课程,则系统会向教师发出提示:教师没有权限删除该授课记录,要求其向管理员请求删除)
教师可通过选择左边菜单栏中的“查询授课”选项进行授课查询通过点击显示该课程的学生信息查看选择该门课程的学生信息
通过点击输入学生成绩录入该学生的成绩
第四节管理员登录
(左边菜单栏是管理员可以进行的操作,包括个人信息管理,学生信息管理,教师信息管理,课程信息管理,教师授课管理,学生选课信息管理)
以管理员(教务处)身份登录可以查看个人信息
管理员通过点击管理员界面左边菜单栏中的学生信息管理选项进行学生信息的管理(包括删除学生和编辑特定学生的相关信息PS:在点击删除时系统会向管理员提示警告信息,提示其删除该学生信息会带来的后果,管理员可以根据实际情况进行选择是否真的要删除。
)原因:涉及到多表的级联删
可以更新学生信息
可以添加学生
可以进行教师信息管理(操作同学生信息管理)
可以进行课程信息管理(操作同学生信息管理)(在删除时,系统弹出警告对话框供管理员确认是否删除。
)
可以进行教师授课管理(操作同学生信息管理)
可以进行学生选课管理(操作同学生信息管理)
第五章总结
本实验我们利用SSH框架实现了一个简单的教务管理系统。
通过本次实验使我们对课本上的理论知识有了更加深入的了解,熟悉掌握了Struts2、Spring、Hibernate三种框架及其框架之间的整合,明白了团队之间沟通和协作的重要性。
更重要的是大大提高了我们实际的动手实践能力,在一定程度上提升了我们的编码能力以及解决和分析问题的能力。
当然在本实验实现过程中,我们也遇到了很多问题,其中之一就是在Hibernate3中延迟加载默认为true,但它的有效期是在session 打开的情况下,当session关闭后,会报异常。
从而我们在实际进行多表操作取值过程中经常出现空值异常。
但这也加深了我们对hibernate中的一些内部机制的理解,有助于我们以后更好的开发SSH工程。
总的来说本次实验对于我们还是有很大收获的。
对以后我们个人的发展有比较大的帮助。
第六章源代码(见附件)。