JAVAEE学生信息管理系统课程设计报告内含工程源码.docx
- 文档编号:23519887
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:32
- 大小:370.34KB
JAVAEE学生信息管理系统课程设计报告内含工程源码.docx
《JAVAEE学生信息管理系统课程设计报告内含工程源码.docx》由会员分享,可在线阅读,更多相关《JAVAEE学生信息管理系统课程设计报告内含工程源码.docx(32页珍藏版)》请在冰豆网上搜索。
JAVAEE学生信息管理系统课程设计报告内含工程源码
GUILINUNIVERSITYOFELECTRONICTECHNOLOGY
《JAVAE&课程设计报告
题目:
学生信息管理系统
学院:
计算机科学与工程
专业:
计算机科学与技术
学生姓名:
学号:
指导教师:
2015年7月1日
引言2
一、系统需求分析5
1.1功能分析5
1.2系统结构分析5
1.3系统流程分析6
二、系统概要设计7
三、系统详纟田设计8
3.1数据库设计8
3.1.1设计原则8
3.1.2数据库组成9
3.1.3数据库表的结构9
3.2系统模块设计1.1
3.2.1登录模块11
3.2.2系统管理模块1.2
3.2.3学籍管理模块1.3
3.2.4成绩管理模块1.4
四、系统实现和演示15
4.1系统Model层实现1.5
4.2系统配置和界面16
4.2.1界面实现16
4.2.2显示学生所选课程信息.19........
4.2.3显示课程成绩1.9
4.2.4修改学生信息21
4.2.5管理员管理界面21
4.2.6hibernate配己置文件设置22
4.2.7Struts-config配置文件设置22
五、开发过程中所用到的技术25
5.1软件工程的思想方法25
5.2MVC思想26.
5.3Struts2.027
六、总结28
引言
随着计算机技术的迅速发展和网络技术的突飞猛进,人们迫切要求利用这些
新技术以减轻个人的工作负担及提高工作效率。
目前,学校工作繁杂、资料重
多,管理信息系统已进入高校,但还未普及,而对于学生信息管理来说,还没有一套完整的、统一的系统。
因此,开发一套适和大众的、兼容性好的系统是很有必要的。
根据开发要求,它主要应用于教育系统,完成对日常学生基本信息以及成绩的录入查询更新删除等管理操作,实现学生信息管理的计算机化。
开发学生信息管理系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理。
因此,本文描述如何基于MVC框架,使用Hibernate和Struts,开发一个学生信息管理系统”。
其中,Model由Hibernate来负责,Control则使用Struts来实现,利用mysql建立数据库。
本系统是采用B/S模式进行开发的,系统的用户权限有三种:
学生、教师和系统管理员,不同权限用户登入到不同的操作界面。
该系统主要由学籍维护、选课管理、成绩查询等功能模块组成,本文具体介绍了各功能模块所包含的小模块的功能,学籍维护模块主要是对学生的基本信息进行添加、查询、修改、删除;选课管理模块主要是对选修的课程进行添加、删除、统计选修人数,以及学生进
行选课和更改选课;成绩查询模块主要是对必修课进行添加、删除、录入成绩,以及学生进行查询成绩等功能。
一、项目开发的工具
本系统采用MyEclipse8.5+MySQL+tomcat6.0.36开发
1.1MyEclipe简介
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate在结构上,MyEclipse的特征可以被分为7类:
1.JavaEE模型
2.WEB开发工具
3.EJB开发工具
4.应用程序服务器的连接器
5.JavaEE项目部署服务
6.数据库服务
7.MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。
MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
1.2MySql简介
MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。
MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
与其他的大型数据库例如Oracle、DB2、SQLServer等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQLCluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。
对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,
因此可以大大降低总体拥有成本。
1.3Tomcat简介
Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件
开发商的认可,成为目前比较流行的Web应用服务器。
Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
对于一个初学者
来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。
实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
这里的诀窍是,当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。
另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
不过,Tomcat处理静态HTML的能力不如Apache服务器。
3数据库的连接
本系统采用JDBC连接方式。
JDBC(JavaDataBaseConnectivityjava数据库连接)是一种用于执行SQL语句的JavaAP,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序。
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。
换言之,有了JDBCAPI就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBCAPI写一个程序就够了,它可向相应数据库发送SQL调用。
同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处
处运行”的优势。
Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。
JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。
作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。
JDBC使用已有的SQL标准并
支持与其它数据库连接标准,如ODBC之间的桥接。
JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
Java具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。
所需要的只是Java应用程序与各种不同数据库之间进行对话的方法。
而JDBC正是作为此种用途的机制。
JDBC扩展了Java的功能。
例如,用Java和JDBCAPI可以发布含有applet的网页,而该applet使用的信息可能来自远程数据库。
企业也可以用JDBC通过Intranet将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有Windows、Macintosh和UNIX等各种不同的操作系统)。
随着越来越多的程序员开始使用Java编程语言,对从Java中便捷地访问数据库的要求也在日益增加。
MIS管理员们都喜欢Java和JDBC的结合,因为它使信息传播变得容易
和经济。
企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些
信息是储存在不同数据库管理系统上。
新程序的开发期很短。
安装和版本控制将大为简化。
程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,
随后任何人就都可得到最新版本的应用程序。
对于商务上的销售信息服务,Java和JDBC可为外部客户提供获取信息更新的更好方法。
一、系统需求分析
1.1功能分析
(1)用户登录:
用户登录(一个界面)通过验证分为管理员,学生,老师登陆三个主页面。
学生信息管理系统采用用户名及密码验证模式,进入学生信
息管理系统前,用户必须在登陆页面输入用户名及密码,只有验证通过的用户方可进入学生信息管理系统操作主页面。
(2)学生信息管理:
管理员对学生信息进行删除,查询和修改。
(3)课程信息管理:
管理员也可以进行删除,修改和查询功能,同时学生可以选课和查询该课程成绩,和查询课程成绩。
老师根据所授课程对学生录入成绩
(4)用户管理:
三种用户可进行注销进行切换,可以修改密码
1.2系统结构分析
登陆
1.3系统流程分析
通过分析描述,可以很轻松的将系统的运行流程设计出来。
系统运行流程如图所示:
学生信息管理系统流程图如上图所示:
通过对流程的分析,即可进行下一步工作一一系统的概要设计。
二、系统概要设计
运用面向对象的设计方法,这个阶段设计一下系统的大体框架。
最直接的方法就是直接将流程图直接映射成为项目文件。
参照上一节的系统流程分析,直接将流程图中的流程变为JSP页面,流程之间测转换则映射成为
Action和Struts的导航规则
系统中所有的数据库相关操作都由Hibernate中的DAO(数据访问对象)类来实现。
由于使用了JSP页面,所以不仅可以使用HTML标签,同时还可以使用JSP中的EL语言和Struts中的标签。
为了更好的配合JAVAEE开发,数据库采用MYSQL。
三、系统详细设计
3.1数据库设计
3.1.1设计原则
(1)密码管理:
学生修改学生查询密码;教师可以修改查询密码。
(2)每个教师可以查看所有学生的成绩,包括每门课程的成绩、每门课程的平
均成绩、每个分数段的成绩。
(3)学生根据自己的学号查询本人的成绩。
(4)管理员可以对学生、老师等信息进行增加、删除、修改等操作。
3.1.2数据库组成
本系统中共用到了7个数据表,如下:
admin表:
记录管理员信息;teacher表:
记录教师信息;student表:
记录学生学籍信息;kechengbiao表:
记录选修课信息;chegnji表:
记录学生基础课信息;成绩关联表:
记录学生基础课成绩信息;选课关联表:
记录学生选课信息。
3.1.3数据库表的结构
字段名
字段描述
是否主键
数据类型
长度
约束
说明
admin_id
管理员ID
是
varchar
20
Not
null
主键
password
密码
否
varchar
20
Not
null
表3-1admin表
字段名
字段描述
是否主键
数据类型
长度
约束
说明
tno
教师号
是
varchar
20
Notnull
主键
tpss
密码
否
varchar
20
Notnull
tname
教师姓名
否
varchar
20
Notnull
sex
性别
否
varchar
20
Notnull
jibie
职称
否
varchar
20
Notnull
tel
电话号码
否
varchar
20
Notnull
表3-2teacher表
字段名
字段描述
是否主键
数据类型
长度
约束
说明
name
学生姓名
否
varchar
20
Notnull
stu」d
学号
是
varchar
20
Notnull
主键
password
密码
否
varchar
20
Notnull
sex
性别
否
varchar
20
Notnull
zy
专业
否
varchar
20
Notnull
mz
民族
否
char
10
Notnull
zzmm
政治面貌
否
varchan
20
Notnull
cym
曾用名
否
varchar
20
sfz
否
varchar
20
csrq
出生日期
否
varchar
20
jg
籍贯
否
varchar
20
jkzk
健康状况
否
varchar
20
rxnf
入学年份
否
varchar
20
jtdz
家庭地址
否
varchar
50
jtdh
家庭电话
否
varchar
20
yzbm
邮政编码
否
varchar
10
lxfs
联系方式
否
varchar
20
否
varchar
20
qtlxfs
其他联系
否
varchar
20
bz
备注
否
varchar
20
3-3student表
字段名
字段描述
是否主键
数据类型
长度
约束
说明
学期号
学期号
否
varchar
20
eno
】田千口i=r.
课程号
是
varchar
20
Notnull
主键
cname
课程名
否
varchar
20
Notnull
学分
学分
否
varchar
20
主讲教师
主讲教师
否
varchar
20
3-4chengji表
字段名
字段描述
是否主键数据类型
长度
约束
说明
eno
】田千口i=r.
课程号
是varchar
20
Notnull
主键
cname
课程名
否varchar
20
Notnull
tno
任课教师
否varchar
20
星期几
星期几
否varchar
20
时间
时间
否varchar
20
classno
上课教室
否varchar
20
表3-5kecheng
表
字段名
字段描述
是否主键
数据类型
长度
约束
说明
id
自动标识
是
int
4
Notnull
主键
stu」d
学号
否
varchar
20
Notnull
eno
】田千口i=r.
课程号
否
varchar
20
Notnull
成绩
成绩
否
varchar
20
Notnull
重修成绩
重修成绩
否
varchar
20
Notnull
表3-6成绩关联表
字段名
字段描述是否主键
数据类型
长度
约束
说明
id
自动标识
是
int
4
Notnull
主键
stu」d
学号
否
varchar
20
Notnull
eno
】田千口i=r.
课程号
否
varchar
20
Notnull
表3-7选课关联表
3.2系统模块设计
3.2.1登录模块
为了系统的安全,在进入系统之前首先会出现一个登录模块,用户只有在输入正确的用户名和正确的密码之后,才能进入系统。
用户登录窗体中放置了两个文本框,用来输入用户名和密码;两个按钮用来
确定或者重写登录。
设置三个单选控件,供不同用户登录时选择用户权限,管理员拥有一切权限
(包括添加删除和修改以及对用户的管理),教师和学生拥有受限制的权限(如
查询及修改密码),提高了数据库的安全性。
登录模块图如下图所示:
322系统管理模块
3.221添加用户窗体的创建
进入系统后,将会出现一个主窗体,选择系统管理模块下的添加用户,就可
以进入添加用户窗体,可以通过该窗体增加新的用户。
在这个窗体中放置了五个文本框,用来输入用户名、密码出生时间、总学分和备注;一个下拉列表框和两个单选框用来确定专业和性别;两个按钮用来确定是否添加用户;
3.2.2.2修改密码窗体的创建
在系统管理模块下,进入修改密码窗体,用户可根据需要修改自己的密码。
在这个窗体中放置了三个文本框,用来输入原始密码、新密码和确认新密码;两个按钮用来确定是否修改密码。
3.2.3学籍管理模块
3.2.3.1添加学籍信息功能
选择主窗体中学籍管理模块下的添加学籍信息,就可进入添加学籍信息的窗体,在该窗体中我们可以对学生的学号、、性别、出生日期、班号等学生的信息进行添加。
添加的信息将全部存储到数据库中。
在窗体上放置多个文本框和下拉式文本框,用来输入学籍信息;两个按钮用来确定是否输入学籍信息;一个按钮用来退出窗体;多个标签用来提示文本框中
需要输入的内容
323.2修改学籍信息功能
点击学籍管理模块下的修改学籍信息,就进入修改学籍信息的窗体,在该窗体中我们可以对前面添加的学籍信息进行修改。
由于用户的需求不同,有的是要
对学生的信息做个别的改动,有的是需要删除该条记录,所以该窗体同时包括了修改记录的功能和删除记录的功能。
3.2.3.3查询学籍信息功能
进入学籍管理模块下的查询学籍信息窗体,在该窗体中可以对学生的信息进行查询,有三种查询方式。
一方面考虑到简洁的因素,用户可以只设置一种查询方式进行查询;另一方面又为了避免数据的重复,用户可以输入详细的信息,也就是同时设置多种查询方式进行查询。
进入查询窗体时,会显示出所有学生的学籍信息,如果不设置查询方式就进行查询,是无效查询,系统会给出提示。
在设置好查询方式后,便开始查询,将显示出用户所需的学生的学籍信息。
3.2.4成绩管理模块
3.2.4.1成绩信息管理功能
点击成绩管理模块下的成绩信息浏览,进入成绩信息浏览窗体。
点击工具条中的修改、添加和查询按钮就可分别进入修改成绩信息窗体、添加成绩信息窗体和查询成绩信息窗体。
这三个窗体的界面设置分别类似于学籍管理下修改学籍信息窗体、添加学籍信息窗体和查询学籍信息窗体。
四、系统实现和演示
要明确的是,该项目是一个基于MVC结构的,其中使用Struts2.0作为整个MVC的实现,其中的Action又充当控制器的角色(当然包括了struts.xml配置文件的导航作用),Hibernate3.1作为Model的实现。
现在在MyEclipselO下新建空的web项目,然后在项目根目录src文件夹下建立两个包:
j遇沁
p-审CQm.attiQrbcorrt.entity
action包用来存放Action类,entity用于存放从hibernate逆向过来的实体类的java文件。
4.1系统Model层实现
由于工程属于数据库先行的方法,因此需要将数据库逆向成为hibernate实
体类,hibernate3.1中提供了这样的工具。
在逆向之前,我们需要对我们建立好的数据库在MyEclipse的Hibernate视图下建立一个连接。
方法是,在Hibernate视图,左边DBBrowser鼠标右击->【new】,然后再弹出的对话框中填写好相关信息,点击【Finish】即新建一个数据库连接。
建立好需要的数据库连接之后,就要为项目添加Hibernate组件了,方法是:
方法是:
在项目上点击鼠标右键->【MyEclipse】->【AddHibernate
capabilities……】,然后选择Hibernate版本,这里用的是3.1,然后单击【Finish】完成Hibernate功能的添加。
uHcorrj.r'nlity
』AbstracftAdlmm.java
sIJAhstrac^Custcite-rsjav-e
.J]
.J]口ILmgardJ
;I]Ab'Stra
AbsirscWistedJava
JIAdminJava
AdminDAOjava
718asqHibernatoDAOjova
JjCiustorftere.jaivia
LJJLustomeitsDACJj-ava
tJJjenlog-ava
jIJG^nlogOAO.java
J)TitjprnionFoctoryJavei
iIBn芍厂Hiarrnestr-DAOJava
aJ]Lc
』Lega^rordDADjaiwa
aJ]Rowprvwj自攀自
[J]R» 接下来,就可以着手将数据表逆向到Hibernate实体类了,还是要到数据库视图,双击打开之前建立好的数据库连接,选择要逆向成为实体类的数据表,鼠标右击->【HibernateReserver Engineering】,在弹出来的对话框中,选择实体类生成的位置一一也就是之前建立的com.entity包。 勾选生成DAO类,其余设置保持默认即可,点击【Finish】完成数据表的逆向,此时再回到工程视 图,可以看见生成好的实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVAEE 学生 信息管理 系统 课程设计 报告 内含 工程 源码