JAVAEE课程设计之实验室设备管理系统.docx

上传人:b****6 文档编号:7244004 上传时间:2023-05-11 格式:DOCX 页数:27 大小:338.02KB
下载 相关 举报
JAVAEE课程设计之实验室设备管理系统.docx_第1页
第1页 / 共27页
JAVAEE课程设计之实验室设备管理系统.docx_第2页
第2页 / 共27页
JAVAEE课程设计之实验室设备管理系统.docx_第3页
第3页 / 共27页
JAVAEE课程设计之实验室设备管理系统.docx_第4页
第4页 / 共27页
JAVAEE课程设计之实验室设备管理系统.docx_第5页
第5页 / 共27页
JAVAEE课程设计之实验室设备管理系统.docx_第6页
第6页 / 共27页
JAVAEE课程设计之实验室设备管理系统.docx_第7页
第7页 / 共27页
JAVAEE课程设计之实验室设备管理系统.docx_第8页
第8页 / 共27页
JAVAEE课程设计之实验室设备管理系统.docx_第9页
第9页 / 共27页
JAVAEE课程设计之实验室设备管理系统.docx_第10页
第10页 / 共27页
JAVAEE课程设计之实验室设备管理系统.docx_第11页
第11页 / 共27页
JAVAEE课程设计之实验室设备管理系统.docx_第12页
第12页 / 共27页
JAVAEE课程设计之实验室设备管理系统.docx_第13页
第13页 / 共27页
JAVAEE课程设计之实验室设备管理系统.docx_第14页
第14页 / 共27页
JAVAEE课程设计之实验室设备管理系统.docx_第15页
第15页 / 共27页
JAVAEE课程设计之实验室设备管理系统.docx_第16页
第16页 / 共27页
JAVAEE课程设计之实验室设备管理系统.docx_第17页
第17页 / 共27页
JAVAEE课程设计之实验室设备管理系统.docx_第18页
第18页 / 共27页
JAVAEE课程设计之实验室设备管理系统.docx_第19页
第19页 / 共27页
JAVAEE课程设计之实验室设备管理系统.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

JAVAEE课程设计之实验室设备管理系统.docx

《JAVAEE课程设计之实验室设备管理系统.docx》由会员分享,可在线阅读,更多相关《JAVAEE课程设计之实验室设备管理系统.docx(27页珍藏版)》请在冰点文库上搜索。

JAVAEE课程设计之实验室设备管理系统.docx

JAVAEE课程设计之实验室设备管理系统

JAVAEE课程设计--之实验室设备管理系统

 

软件学院

课程设计报告书

 

课程名称Java高级框架应用开发 

设计题目实验室设备管理系统

专业班级软件工程10-6班

学号1020010627

姓名萧翎

指导教师郭鹏飞

 

2013年1月

 

1设计时间

2013年1月21日-2013年1月25日

2设计目的

JavaEE课程设计是对所学JavaEE与中间件课程的小结,是提高学生对所学知识综合应用能力的一种方式,是集中实践性环节之一。

要求同学们对课程中所学习到的知识综合运用,开发有一定规模的JavaWeb程序。

3设计任务

本次课程设计课题为实验室设备管理系统,目的在于设计一款系统帮助实验室管理员管理实验室设备。

只要求实现的功能有以下几条:

(1)用户以合法身份登录系统后才能进行所有操作。

且用户有两种权限:

管理员权限和普通用户权限。

管理员用户可以添加、查看、修改和删除设备信息,普通用户只能添加、查看和修改设备信息;

(2)合法用户可以添加设备信息(包括设备编号、名称、类别、领用人、实验室、是否在使用等等);其中类别分路由器、计算机、交换机等;

(3)合法用户可以查看、修改设备信息;

(4)合法用户(管理员级别)可以删除设备信息,但是必须记录删除操作。

(5)对设备使用设备使用情况进行统计分析。

4设计内容

4.1需求分析

4.1.1总体目标

因不同学生实验的不同需求,实验室中的设备种类繁杂、数量较多,如果采用人工管理,则任务量大、信息容易出错,显得很不方便。

所以,需要开发实验室管理系统来协助管理人员管理实验室中的设备,不但可以减轻管理人员的负担、提高管理效率,而且还可以有效减少日常工作中的出错率。

具体来说,实验管理系统应该能够避免和克服人工管理的信息滞后,计算量大和出错以及统计不准确不及时等缺陷以及弊端,使得管理更加规范化、自动化。

管理人员通过系统可以记录设备的使用情况,以及对设备的操作记录,以便有错或设备损坏时可查。

也能够为学院管理层提供必要的信息。

4.1.2具体目标

(1)实现用户权限控制

实验室管理人员分为两个级别:

管理员以及普通用户。

其中,管理员可以查看、更新、添加、删除设备,而普通用户只能查看、更新、添加,不能删除。

(2)实现设备添加

实验室中的设备会有损坏、报废等情况,所以需要购进新的设备添加。

系统中需要能够为用户提供添加设备的功能,具体信息包括设备编号、所属实验室、使用人、名称、类别、当前使用情况等。

其中设备种类包括交换机、计算机、路由器等。

(3)实现设备更新

设备信息会经常变更,如被领用、更换实验室等,这些信息都需要及时更新到数据库中,以便后来用户查询。

(4)实现设备删除

当设备损坏、报废无法使用后,需要将系统中该设备的信息删除。

(5)实现设备信息查看

用户在申请使用设备之前需要查询当前所有设备的使用情况,以便决定申请哪些设备使用。

(6)记录设备操作信息

系统中记录下用户每一次对设备的操作,以便处理突发情况。

 

4.1.3系统数据建模

(1)系统ER图

系统ER如下所示:

图1实验室设备管理系统总ER图

图2实体用户的属性图3实体实验室的属性

图4实体设备的属性

 

(2)数据表的设计

数据库表格设计如下:

表1实验室属性表

列名

数据类型

长度

允许空

文字描述

lid

Int

4

N

实验室编号

location

vachar

50

实验室具体位置

表2用户属性表

列名

数据类型

长度

允许空

文字描述

uid

int

4

N

用户编号

username

varchar

50

N

用户名

password

vachar

50

N

用户密码

grade

int

4

N

用户等级标志

 

表3设备属性表

列名

数据类型

长度

允许空

文字描述

fid

int

4

N

设备编号

lid

int

4

N

所属实验室编号

uid

int

4

N

领用用户编号

fname

varchar

50

N

设备名称

sort

varchar

50

N

设备种类

applied

int

4

N

使用标志

表4操作属性表

列名

数据类型

长度

允许空

文字描述

id

int

4

N

操作记录编号

fid

int

4

N

操作的设备编号

uid

int

4

N

操作的用户编号

operate

varchar

50

N

操作名

4.1.4系统功能建模

实验室设备管理系统顶层数据流程图如图5所示,一层数据流程图如图6所示:

图5实验室设备管理系统顶层数据流程图

 

图6实验室设备管理系统一层数据流程图

F1:

设备详细信息F2:

更新后的设备信息

F3:

添加的设备信息F4:

设备操作记录信息

 

4.1.5数据字典

(1)数据元素

①用户级别

名字:

用户级别标志

描述:

用于标志用户的级别(区分管理员和普通用户)

数据类型:

字符

长度:

50

②实验室地点

名字:

实验室地点

描述:

用于描述实验室的具体地点

数据类型:

字符

长度:

50

③设备种类

名字:

设备种类

描述:

用于描述设备的种类

数据类型:

字符

长度:

50

④设备使用情况

名字:

设备是否使用

描述:

用于标识设备当前是否被使用

数据类型:

数值

长度:

4

⑤操作项

名字:

操作

描述:

用于记录设备的操作记录

数据类型:

字符

长度:

50

(2)数据存储

①设备信息

名字:

设备信息

描述:

每一个设备的详细信息

编号:

D1

组成:

设备编号、所属实验室、使用人、名称、类别、当前使用情况

②用户信息

名字:

用户信息

描述:

每一个用户的详细信息

编号:

D2

组成:

用户编号、用户名、用户密码、用户级别

③操作记录

名字:

操作记录

描述:

用户对设备的操作记录

编号:

D3

组成:

设备编号、用户编号、操作项

(3)数据流

①设备详细信息

名字:

设备详细信息

描述:

数据库中存储的设备详细信息

编号:

F1

组成:

设备编号、所属实验室、使用人、名称、类别、当前使用情况

②更新后的设备信息

名字:

更新后的设备信息

描述:

用户对某一设备更新后的详细信息

编号:

F2

组成:

所属实验室、使用人、名称、类别、当前使用情况

③添加的设备信息

名字:

添加的设备信息

描述:

用户新添加的设备信息

编号:

F3

组成:

所属实验室、使用人、名称、类别、当前使用情况

④设备操作记录信息

名字:

设备操作记录

描述:

用户操作过程被记录下来的信息

编号:

F4

组成:

设备编号、用户编号、操作项

(4)数据处理

①查看设备

名字:

查看设备

描述:

用户申请查询设备信息

编号:

P1

输入/输出数据流:

设备详细信息、操作记录

②添加设备

名字:

添加设备

描述:

管理员添加新增的设备信息

编号:

P2

输入/输出数据流:

添加的设备信息、操作记录

③更新设备

名字:

更新设备

描述:

管理员对某一变更了的设备信息进行更新

编号:

P3

输入/输出数据流:

更新后的设备信息、操作记录

④删除设备

名字:

删除设备

描述:

管理员删除某一设备的信息

编号:

P4

输入/输出数据流:

操作记录

⑤查看操作

名字:

查看操作

描述:

用户申请查看设备的操作记录

编号:

P5

输入/输出数据流:

设备操作记录信息

4.2总体设计

根据对系统需求分析中的总体目标和具体目标的分析,可以得到系统的功能图如图7所示:

图7实验室设备管理系统功能树

4.3详细设计

总体来看,系统的功能比较简单,可以看作是一个模块来设计。

(1)模块定义

①模块名称:

实验室设备管理系统

②模块功能:

合法用户登录系统后,可以实现查看设备信息、添加设备、更新设备以及删除设备(仅管理员级别用户)。

每一次操作都要被记录下来,方便管理过程中使用。

(2)输入项目

①用户注册时的用户信息;

②合法用户添加设备时的设备信息;

③用户更新设备信息时输入的设备信息;

④用户每一次操作时记录下来的操作记录信息。

(3)输出项目

①用户查看设备信息时输出的设备详细信息;

②用户查看操作记录时输出的操作记录信息。

(4)程序逻辑

①类的设计

表5系统类的设计结构表

包名

类名

类的描述

包的描述

com.action

FCLCrudAction

控制设备信息

系统中action类的集合,是系统的核心类

LoginAction

控制用户登录

OPRCrudAction

控制操作记录

RegisteAction

控制用户注册

com.bean

User

读取页面上的用户信息

获取页面上的信息

com.dao

FacilityDAOI

系统连接数据库所用的所有接口

OperateDAOI

UserDAOI

com.dao.impl

FacilityDAOImpl

系统连接数据库所用的类,实现com.dao包中的接口

OperateDAOImpl

UserDAOImpl

com.map

Facility

表facility映射的类

Hibernate从数据库中映射过来的类

Lab

表lab映射的类

Users

表users映射的类

Operates

表operates映射的类

②JSP页面设计

表6系统的JSP页面设计结构表

jsp文件名

页面描述

login

用户登录页面

registe

用户注册页面

success

登录提示以及主菜单页面

flist

设备信息展示页面

update

用于更新选中的设备信息

add

用于添加设备信息

mlist

用于展示操作记录信息的页面

(5)测试要点

①测试用户登录、注册以及用户的分级是否成功;

②测试用户对设备的查看、更新、添加、删除是否成功;

③测试能否记录下用户的所有操作记录并供用户查看

4.4运行与测试

针对4.3中的测试要点,依次对系统进行测试。

(1)测试用户登录、注册以及用户的分级是否成功

①用户登录

图8用户表初始数据

图9用户登录界面

登录用户名为admin的账号,测试登录功能。

若登录成功,进入success.jsp页面,若不成功,进入错误提示页面。

图10登录成功后的页面

②用户注册

图11用户注册界面

注册用户名为“wjj”、用户密码为“123456”的账号,若注册成功,则数据库表users中会多出一条记录。

图12注册成功后的users表数据

比较图12与图8,可见用户表中多出一个用户名为“wjj”、用户密码为“123456”的账号,即注册成功。

③用户分级

先使用管理员级别账号“admin”登录,在使用刚刚注册的普通账号“wjj”,查看区别。

观察是否拥有删除功能,若“admin”用户拥有,而“wjj”用户不拥有,则分级成功。

图13“admin”用户注册后进入的信息展示页面

 

图14“wjj”用户注册后进入的信息展示页面

比较图13和图14,可见不同级别用户登录成功后,得到的展示页面时不同的。

管理员用户可以对设备进行删除操作,而普通用户不可以。

即,用户分级成功。

(2)测试用户对设备的查看、更新、添加、删除是否成功

①查看设备信息

(1)中,对用户分级进行测试的过程中,已经对此功能进行了变相测试,参见其结果(图13、图14),可发现此功能已经实现。

②添加设备信息

图15设备表初始数据

进入设备添加界面,添加一设备,详细信息为(耘慧414,3号用户领用,设备名为计算机101,设备种类为计算机,未被使用)。

图16设备添加界面

图17设备添加成功后的facility表数据

比较图15与图17,可见设备添加成功。

即,此功能已经实现。

③设备更新

图18设备信息更新页面

更新编号为1的设备,搬到实验室2(耘慧414),并且已使用。

图19更新后的设备表数据

比较图17与图19,可见编号为1的设备信息已被改变。

即,设备信息更新功能已经实现。

④删除设备

登录“admin”用户,进入查看页面删除刚添加的设备信息。

图20删除后的设备表信息

比较图19与图20,可见删除功能已经实现。

(3)测试能否记录下用户的所有操作记录并供用户查看

图21设备操作记录表初始数据

图22测试后操作记录表数据

经过之前的测试过程,已经记录下来的操作记录信息如图22所示,与图21进行比较,可见均已经成功记录下来。

图23操作记录信息展示页面

如图23,在操作记录信息展示页面成功展示了数据库中(如图22)的所有操作记录。

即,操作记录信息供用户查看的功能已经实现。

5总结与展望

在经过一周时间的努力后,终于完成了“实验室设备管理系统”的实现。

习惯了平日里跟随老师学习的模式,在自己动手实现一个实际应用的过程中,遇到了很多困难、许多次失败,不过学习到的更多。

首先是数据库的设计方面,一开始只是按照自己的臆想简单地设计了数据库的结构以及表,在实现系统功能时发现很难进行下去,所以不得不重新认真地根据需求分析来设计更完善的数据库结构以及表。

其次是对JavaEE课程的学习了,自己动手来做的确得到了很好地学习效果。

经过了一周的课程设计后,对于struts2、hibernate的了解更加深刻、使用更加熟练。

当然,我更加清楚这还仅仅只是一个开始,后续的学习还有很多,更加值得我去努力。

附:

系统程序主要代码

1.用户登录代码

//LoginAction.java

UserDAOImpluserdao=newUserDAOImpl();

HttpServletRequestrequest=ServletActionContext.getRequest();

HttpSessionsession=request.getSession();

booleanb=userdao.search(user.getUsername(),user.getPassword());

if(b){

Listlist=userdao.find(user.getUsername(),user.getPassword());

Usersu=(Users)list.get(0);

session.setAttribute("login",user);

session.setAttribute("u",u);

return"success";

}else{

return"error";

}

2.用户注册代码

//UserDAOImpl.java

Sessionsession=HibernateSessionFactory.getSession();

Transactiontc=session.beginTransaction();

try{

session.save(user);

mit();

}catch(Exceptione){

tc.rollback();

e.printStackTrace();

}

session.close();

//RegisteAction.java

userdao.save(user);

return"success";

3.设备信息的操作

//FacilityDAOImpl.java

//查找

publicListfind(){

Sessionsession=HibernateSessionFactory.getSession();

Queryquery=session.createQuery("fromFacility");

Listlist=query.list();

returnlist;

}

//添加

publicvoidsave(Facilityfacility){

Sessionsession=HibernateSessionFactory.getSession();

Transactiontc=session.beginTransaction();

try{

session.save(facility);

mit();

}catch(Exceptione){

tc.rollback();

e.printStackTrace();

}

session.close();

}

//更新

publicbooleanupdate(Facilityfacility){

Sessionsession=HibernateSessionFactory.getSession();

Transactiontc=session.beginTransaction();

try{

session.update(facility);

mit();

}catch(Exceptione){

tc.rollback();

e.printStackTrace();

returnfalse;

}

returntrue;

}

//删除

publicbooleandelete(intfid){

Sessionsession=HibernateSessionFactory.getSession();

Facilitytemp=(Facility)session.load(Facility.class,fid);

Transactiontc=session.beginTransaction();

try{

session.delete(temp);

mit();

}catch(Exceptione){

tc.rollback();

e.printStackTrace();

returnfalse;

}

returntrue;

}

publicbooleandelete(Facilityfacility){

//TODOAuto-generatedmethodstub

Sessionsession=HibernateSessionFactory.getSession();

session.delete(facility);

returntrue;

}

4.操作记录

//查询

publicListsearch(){

Sessionsession=HibernateSessionFactory.getSession();

Queryquery=session.createQuery("fromOperates");

Listlist=query.list();

returnlist;

}

//存储

publicvoidsave(Operatesoperate){

Sessionsession=HibernateSessionFactory.getSession();

Transactiontc=session.beginTransaction();

try{

session.save(operate);

mit();

}catch(Exceptione){

tc.rollback();

e.printStackTrace();

}

session.close();

}

5.配置文件

//struts.xml

/success.jsp

/error.jsp

/login.jsp

/flist.jsp

/update.jsp

/updates.jsp

/save.jsp

/delete.jsp

/mlist.jsp

 

参考文献

[1]郑人杰,马素霞,麻志毅.软件工程,北京:

人民邮电出版社,2009

[2]王珊,萨师煊.数据库系统概论.第4版,北京:

高等教育出版社,2006

[3]骆斌,丁二玉.需求工程—软件建模与分析.北京:

高等教育出版社,2009

[4]王永贵,郭伟,冯永安,焦学理.Java高级框架应用开发案例教程,北京:

清华大学出版社,2012

 

成绩评定

 

成绩教师签字

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2