关于本次实训的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.后台对教师信息查询与维护

 

posted @ 2016-06-30 09:59  Beyouself  阅读(82)  评论(0)    收藏  举报