关于本次实训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

 

mysql-

 

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框架开发过程的主要内容,如果未能解决你的问题,请参考以下文章

SSH框架之Spring系列

实训随笔:从零开始Spring项目

实训总结

SSH开源框架的优缺点

java毕设--基于ssh框架开发的个人博客系统

Java实训项目--小型图书管理系统(ssm框架)