关于本次实训ssh框架开发过程

author author     2022-07-29     495

关键词:

学生管理系统需求分析

一、系统功能需求

我们的系统需要实现的功能主要包括以下几个方面:

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.后台对教师信息查询与维护

技术分享

实训报告过程怎么写

...相关人员的一种感谢。参考技术A实训报告总结范文  本次实训,是对我潜力的进一步锻炼,也是一种考验。从中获得的诸多收获,也是很可贵的,是十分有好处的。在实习中我学到了许多新的知识。是一个让我把书本上的理... 查看详情

ssh开源框架的优缺点

...初学者,对于理解其中的交互过程很适合,便于以后对SSH框架的理解。 SSH框架下的web开发,将三层给解耦了,而且封装了很多的工具类等,使开发效率化 查看详情

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

...目运行视频再决定项目部分功能界面一、博客主页面二、关于我三、个人日记四、用户登录界面五、登录后主界面六、个人资料管理界面在这里其他界面就不粘贴啦,如有需要联系上面的qq 查看详情

关于ssh的框架的整合

<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/sch 查看详情

(01)什么是springboot

1.SpringBoot是spring家族的全新框架;SpringBoot是简化spring应用程序的创建和开发过程,也就是说SpringBoot能够简化之前采用ssh,ssm框架进行开发的过程;2.SpringBoot简化配置在以往我们采用ssh,ssm框架进行开发的时候,搭建环境,在编码... 查看详情

ssh框架

...搭建,可以方便的调用包内的函数实现用户需要的功能。关于功能实现的比较难出错,因为有老师给的代码,但是在于网页跟数据库连接的时候特别容易出错。多次检查之后发现404错误,一般是类名跟配 查看详情

ssh框架搭建过程

...作用比较抽象,是用于项目的松耦合hibernate是对象持久化框架,其实就是实体类和数据库表建立关系,操作类就会触发相应的sql语句,可以不用写任何sql语句,完成数据库编程(引自百度知道)SSH就是Struts+Spring+Hibernate3个Ja 查看详情

第五次个人作业:个人总结

...望5个月来软件工程实践走过的路,你做了哪些作业;git实训,团队开发AB冲刺等总结这门课程的实践给你带来的提升:懂得团队开发的含义了学习和使用的新软件、新工具;github学习和掌握的新语言、新平台、新框架、新架构;... 查看详情

一零四大数据可视化技术与应用实训(展示大屏幕)(代码片段)

目录一、定义二、技能标准三、实训安排四、前台页面展示五、项目架构六、static七、py文件八、index页面 一、定义利用本专业核心课程《数据可视化实训项目》的知识,完成《政府大数据可视化系统》系统分析、设计、编... 查看详情

关于框架那些事

一、SSM和SSH的区别:1、ssh(struts,spring,hibernate):SSH通常是struts做前端控制器,spring管理各层的组件,hibernate负责持久化层。  1.1Struts的原理:  1.2hibernate的理解:    1.2.1定义:    1.2.2 hibernate中的update()和saveOrU... 查看详情

xamarin.forms5.0项目实战发布!

...部署文档以及项目解决方案文档说明Xamarin.Forms项目文档关于基于ABP的完整WPF版本,则会在本次Xamarin.Forms发布之后进行开发(实际上,去年年尾已经开发了大部分),会在这两个月发布,随后投入ABP框架移植MAUI的开发与教程制作工作。参... 查看详情

秋季软件工程专业实训分组及选题情况

2016年秋季软件工程专业实训分组及选题情况  实训意义  综合实训旨在为学生提供参与完整软件开发过程的实践经历,并对所涉及的应用领域进行初步了解,培养面向领域的工程能力。项目来源主要是学校或相关... 查看详情

实训最终总结

这次实训学习到了很多知识,前后端都有所涉猎,但大多是后端的知识。                        前端:我们学习了jQuery,通过jQuery可以实现前端的很多小功能,比如,切换隐藏与出现,     ... 查看详情

ssh框架分模块开发

------------------siwuxie095                SSH框架分模块开发     1、在 Spring核心配置文件中配置多个内容,容易造成配置混乱,不利于维护 查看详情

传统的javaweb开发(jsp+servlet+javabean)与ssh框架各有啥样的优缺点,希望能够做一个对比

...初学者,对于理解其中的交互过程很适合,便于以后对SSH框架的理解。SSH框架下的web开发,将三层给解耦了,而且封装了很多的工具类等,使开发效率化。但是有一点坏处就是当框架更新时,需要对框架的更新内容进行学习,尤... 查看详情

算法设计与分析实训(代码片段)

文末也可直接获取实训文档算法设计与分析实训目录1.题目2.目的3.内容4.需求分析5.两种算法5.1动态规划法5.2回溯法6.总结及心得体会1.题目0-1背包问题2.目的课程设计的目的是训练学生灵活应用所学数据结构知识,独立完成问... 查看详情

ssh框架的搭建

...sp;导言目的本文档是根据个人的工作经验搭建的轻量级SSH框架,也是实际应用中比较全面的基础框架,用于指导SSH框架初学者学习搭建SSH框架,希望能给各位使用者提供帮助,同时也希望朋友们尽量去帮助其他人。说明本文档是... 查看详情

ssh(struts2+spring+hibernate)三大框架整合

SSH框架整合理论:在SSH框架的JAVAweb项目的开发过程中,WEB层通常使用的是Struts2+jsp,service层使用的是javaBean,DAO层使用的是hibernate,而spring的使用覆盖三层。    使用了spring框架之后,我们可以把对象交给spring来管... 查看详情