关键词:
学生管理系统需求分析
一、系统功能需求
我们的系统需要实现的功能主要包括以下几个方面:
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来管... 查看详情