关于本次实训ssh框架开发过程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于本次实训ssh框架开发过程相关的知识,希望对你有一定的参考价值。
学生管理系统需求分析
一、系统功能需求
我们的系统需要实现的功能主要包括以下几个方面:
1. 设计不同用户的操作权限和登录方法;
2. 学生有查询个人档案信息和成绩信息、修改个人档案、个人登录密码的权利;
3.教师可以查询所授课程的学生信息,可以录入并所授课程的成绩,查询、修改个人档案信息;
4.教务管理员可以对学生、教师的档案进行审查,维护学生、教师的登录密码。
图1 用例模型
二、功能描述
该系统主要分为四个模块:登录管理模块、学生管理模块、教师管理模块和管理员管理模块。
1. 登录管理模块
为了系统的安全,在进入系统之前首先会出现一个登录模块,用户只有在输入正确的用户名和正确的密码之后,才能进入系统。
用户登录窗体中放置了两个文本框,用来输入用户名和密码;两个按钮用来确定或者取消登录。提供一个验证用户登录类型的选项框,根据用户选择不同类型进入不同的用户界面。学生、教师分别可以通过学号、教工号进行登录,一开始的默认密码是0000。管理员的登录ID与密码都是固定为admin。
2.学生管理模块
该模块包括:查询基本信息、修改个人信息、成绩查询、修改密码、退出系统功能。
(1)查询基本信息
学生通过点击菜单栏上的查询基本信息,就能查询出个人的档案信息。
(2)修改个人信息
学生可以通过点击菜单栏上的修改个人信息,就可以修改个人的姓名、性别、班级、出生日期等信息。
(3)成绩查询
学生可以通过点击菜单栏上的成绩查询,就查询到自己不同课程的成绩。
(4)修改密码
学生可以通过点击菜单栏上的修改密码,修改个人的登录密码。修改完成后,需要重新登录。
(5)退出系统
学生可以通过点击菜单栏上的退出系统,返回到登录页面。
3. 教师管理模块
该模块包括:查询基本信息、修改个人信息、查询学生成绩、录入成绩、修改密码、退出系统功能。
(1)查询基本信息
教师通过点击菜单栏上的查询基本信息,就能查询出个人的档案信息。
(2)修改个人信息
教师可以通过点击菜单栏上的修改个人信息,就可以修改个人的姓名、性别、出生日期、职称等信息。
(3)查询学生成绩
教师可以通过点击菜单栏上的查询学生成绩,就查询到自己所授课程的学生成绩。
(4)录入成绩
教师可以通过点击菜单栏上的录入成绩,在线录入学生的成绩。
(5)修改密码
教师可以通过点击菜单栏上的修改密码,修改个人的登录密码。修改完成后,需要重新登录。
(6)退出系统
教师可以通过点击菜单栏上的退出系统,返回到登录页面。
4. 管理员管理模块
该模块包括:管理员信息管理、学生信息管理、教师信息管理、退出系统功能。
(1)管理员信息管理
管理员可以通过点击菜单栏上的管理员信息,可以查询到管理员的详细信息。
(2)学生信息管理
管理员可以通过点击菜单栏上的学生列表,可以查询到所有学生的档案记录。
可以通过点击添加学生,添加学生信息。
(3)教师信息列表
管理员可以通过点击菜单栏上的教师列表,可以查询到所有教师的档案记录。可以通过点击添加教师,添加教师信息。
(4)退出系统
管理员可以通过点击菜单栏上的退出系统,返回到登录页面。
三、数据模型分析
图2 数据模型
四、性能需求
系统应具有以下性能需求:
(1)系统应用方便
所开发的系统应做到操作简单,尽量使系统操作不受用户对电脑知识水平的限制。
(2)系统应用性强,容错性强
要求应用安全、可靠,故障存在的情况下,系统仍能正常工作。
(3)系统具有可维护性
管理员可以对系统数据及一些简单的功能独立的维护及调整。
学生管理系统软件架构及设计说明
一、系统总体架构设计及实现
该系统采用Struts2.1 + Spring2.5 + Hibernate3.2框架进行实现,这些框架所需要的jar包如下表所列。
表1 项目需要的jar包列表
jar包名称 |
作用说明 |
antlr-2.7.6.jar |
解析HQL |
aspectjrt |
AOP |
aspectjweaver |
AOP |
cglib-nodep-2.1_3.jar |
代理,二进制增强 |
common-annotations.jar |
@Resource |
commons-collections-3.1.jar |
集合框架 |
commons-fileupload-1.2.1.jar |
struts |
commons-io-1.3.2 |
struts |
commons-logging-1.1.1 |
struts spring |
dom4j-1.6.1.jar |
解析xml |
ejb3-persistence |
@Entity |
freemarker-2.3.13 |
struts |
hibernate3.jar |
|
hibernate-annotations |
|
hibernate-common-annotations |
|
javassist-3.9.0.GA.jar |
hibernate |
jta-1.1.jar |
hibernate transaction |
junit4.5 |
|
|
|
ognl-2.6.11.jar |
|
slf4j-api-1.5.8.jar |
hibernate-log |
slf4j-nop-1.5.8.jar |
|
spring.jar |
|
struts2-core-2.1.6.jar |
|
xwork-2.1.2.jar |
struts2 |
commons-dbcp |
|
commons-pool.jar |
|
struts2-spring-plugin-2.1.6.jar |
软件项目架构的实现步骤:
1、导入上述jar包
2、首先整合Spring 与 Hibernate框架,其步骤为:
1)建立对应的package
dao / dao.impl / model / service / service.impl/ test
2) 建立对应的接口与类框架
3)建立spring的application.xml配置文件
3.建立数据库
1)用Hibernate映射实体类,把Hibernate交给Spring管理
2)写dao service的实现
3)加入Spring注解
a.在对应Service及DAO实现中加入@Component,让spring对其初始化
b.定义事务管理
c.创建一个superDao
d.在Service中注入DAO
e.写DAO与Service的实现
4.写测试
1)整合Struts2
结合点:Struts2的Action由Spring产生
2)修改web.xml加入 struts的filter
二、软件模块设计
软件模块见如下软件模块层次图。
图1. 系统功能模块设计图
三、系统包结构的设计
系统的架构及包结构的设计见下图。
图2. 系统的包结构设计
学生管理系统数据库设计
一、数据建模(E-R图)
图1 E-R图
二、数据库设计
根据需求分析,我们数据库的表有:
管理员表:adminer,学生表:student,教师表:teacher,
课程表:course,成绩表:score
图2 数据库表的设计
管理员表(adminer):
字段名 |
字段类型 |
是否允许为空 |
Default |
主键 |
Extras |
备注 |
id |
Int(11)unsigned |
No |
Auto_Incremnt |
Yes |
unique |
|
username |
Varchar20) |
Yes |
Null |
|
|
用户名 |
password |
Varchar20) |
Yes |
0 |
|
|
密码 |
name |
Varchar20) |
Yes |
Null |
|
|
姓名 |
学生表(student):
字段名 |
字段类型 |
是否允许为空 |
Default |
主键 |
Extras |
备注 |
id |
Int(11) |
No |
|
Yes |
unique |
学号 |
name |
Varchar20) |
Yes |
Null |
|
|
姓名 |
password |
Varchar20) |
Yes |
0 |
|
|
密码 |
sex |
Int(11) |
Yes |
0 |
|
|
性别 |
clazz |
Varchar20) |
Yes |
Null |
|
|
班级 |
Birthday |
Varchar20) |
Yes |
Null |
|
|
出生日期 |
教师表(teacher):
字段名 |
字段类型 |
是否允许为空 |
Default |
主键 |
Extras |
备注 |
id |
Int(11) |
No |
|
Yes |
unique |
教工号 |
name |
Varchar20) |
Yes |
Null |
|
|
姓名 |
password |
Varchar20) |
Yes |
0 |
|
|
密码 |
sex |
Int(11) |
Yes |
0 |
|
|
性别 |
courseId |
Int(11) |
Yes |
0 |
|
|
课程号 |
birthday |
Varchar20) |
Yes |
Null |
|
|
出生日期 |
professional |
Varchar20) |
Yes |
Null |
|
|
职称 |
课程表(course):
字段名 |
字段类型 |
是否允许为空 |
Default |
主键 |
Extras |
备注 |
id |
Int(11) |
No |
|
Yes |
unique |
课程号 |
courseName |
Varchar20) |
Yes |
Null |
|
|
课程名 |
teacherId |
Int(11) |
Yes |
0 |
|
|
教工号 |
成绩表(score):
字段名 |
字段类型 |
是否允许为空 |
Default |
主键 |
Extras |
备注 |
id |
Int(11) |
No |
|
Yes |
unique |
|
stuId |
Int(11) |
Yes |
0 |
|
|
学号 |
courseId |
Int(11) |
Yes |
0 |
|
|
课程号 |
score |
Double |
Yes |
0.0 |
|
|
成绩 |
基于SSH的软件架构
软件架构包括如下内容:
1.创建项目,导入SSH所需的Jar包
2.根据数据库设计创建数据库
3.项目包结构的设计
4.整合Spring与Hibernate 整合Spring与Hibernate需要在Spring的配置文件applicationContext.xml中进行。首先建立Spring的applicationContext.xml配置文件,然后在配置文件配置中配置Hibernate的数据库连接信息、Hibernate声明式事务处理、Hibernate与Spring的注解方式以及Spring的相关信息等。
5.用Hibernate映射实体类 根据5个数据库表:管理员表(adminer)、学生表(student)、教师表(teacher)、课程表(course)、成绩表(score),通过Hibernate映射创建5个实体类:Admin、 Student、Teacher、Course、 Score并统一存放在“com.ssh.model”包中。 然后在这些实体类引入Hibernate注解,并将这些类在applicationContext.xml配置文件的session工厂的配置中进行注解类的声明(见上面applicationContext.xml中的代码),从而把Hibernate交给Spring管理。
6. Struts2的配置及与Spring的整合 Struts2的配置及String与Struts2的整合需要在web.xml配置文件中进行。修改web.xml加入 struts2的filter。
7.业务处理公共DAO(数据处理对象)的实现 基于Spring与Hibernate集成框架实现业务处理公共的数据处理对象DAO。该DAO包括新增、删除、修改、查询等公共方法(该类可由MyEclipse自动生成)。
软件操作功能简介
1.系统登录
2.系统操作主界面(学生登录成功后)
3.个人信息修改(学生)
4.成绩登记(教师)
5.成绩查询(学生)
6.密码修改(学生与教师)
7.管理员后台管理
8.后台对学生信息查询与维护
9.后台对教师信息查询与维护
以上是关于关于本次实训ssh框架开发过程的主要内容,如果未能解决你的问题,请参考以下文章