《实验室设备管理系统的JAVAEE课程设计.docx》由会员分享,可在线阅读,更多相关《实验室设备管理系统的JAVAEE课程设计.docx(27页珍藏版)》请在课桌文档上搜索。
1、软件学院课程设计汇报书课程名称JaVa高级框架应用开发设计题目试验室设备管理系统专业班级软件工程10-6班学号姓名萧翎指导教师郭鹏E2023年1月目录1设计时间错误!未定义书签。2设计目的错误!未定义书签。3设计任务错误!未定义书签。4设计内容错误!未定义书签。1 .1需求分析错误!未定义书签。总体目日勺错误!未定义书签。详细目日勺错误!未定义书签。系统据建模错!未定乂签o系统功能建模错误!未定义书签。数据字典错误!未定义书签。2 .2总体设计错误!未定义书签。4 .3详细设计错误!未定义书签。5 .4运行与测试错误!未定义书签。5总结与展望错误!未定义书签。附:系统程序重要代码错误!未定义书
2、签。参照文献错误!未定义书签。成绩评估错误!未定义书签。1设计时间2023年1月21日-2023年1月25日2设计目的JavaEE课程设计是对所学JavaEE与中间件课程的小结,是提高学生对所学知识综合应用能力的!一种方式,是集中实践性环节之,7规定同学们对课程中所学习到的知识综合运用,开发有一定规模BJavaWeb程序。3设计任务本次课程设计课题为试验室设备管理系统,目日勺在于设计一款系统协助试验室管理员管理试验室设备。只规定实现B功能有如下几条:(1)顾客以合法身份登录系统后才能进行所有操作。且顾客有两种权限:管理员权限和一般顾客权限。管理员顾客可以添加、查看、修改和删除设备信息,一般顾客
3、只能添加、查看和修改设备信息;(2)合法顾客可以添加设备信息(包括设备编号、名称、类别、领用人、试验室、与否在使用等等);其中类别分路由器、计算机、互换机等;(3)合法顾客可以查看、修改设备信息;(4)合法顾客(管理员级别)可以删除设备信息,不过必须记录删除操作。(5)对设备使用设备使用状况进行记录分析。4设计内容5.1 需求分析4.1.1总体目日勺因不一样学生试验的不一样需求,试验室中日勺设备种类繁杂、数量较多,假如采用人工管理,则任务量大、信息轻易出错,显得很不以便。因此,需要开发试验室管理系统来协助管理人员管理试验室中B设备,不仅可以减轻管理人员日勺承担、提高管理效率,并且还可以有效减少
4、平常工作中B出错率。详细来说,试验管理系统应当可以防止和克服人工管理的信息滞后,计算量大和出错以及记录不精确不及时等缺陷以及弊端,使得管理愈加规范化、自动化。管理人员通过系统可以记录设备的使用状况,以及对设备日勺操作记录,以便有错或设备损坏时可查。也可以为学院管理层提供必要的信息。4. 1.2详细目的(1)实现顾客权限控制试验室管理人员分为两个级别:管理员以及一般顾客。其中,管理员可以查看、更新、添加、删除设备,而一般顾客只能查看、更新、添加,不能删除。(2)实现设备添加试验室中B设备会有损坏、报废等状况,因此需要购进新aJ设备添加。系统中需要可以为顾客提供添加设备B功能,详细信息包括设备编号
5、、所属试验室、使用人、名称、类别、目前使用状况等。其中设备种类包括互换机、计算机、路由器等。(3)实现设备更新设备信息会常常变更,如被领用、更换试验室等,这些信息都需要及时更新到数据库中,以便后来顾客查询。(4)实现设备删除当设备损坏、报废无法使用后,需要将系统中该设备0信息删除。(5)实现设备信息查看顾客在申请使用设备之前需要查询目前所有设备B使用状况,以便决定申请哪些设备使用。(6)记录设备操作信息系统中记录下顾客每一次对设备的操作,以便处理突发状况。4.1.3系统数据建模(1)系统ER图系统ER如下所示:图1试验室设备管理系统总ER图图3实体试验室H勺属性图4实体设备的属性(2)数据表的
6、设计数据库表格设计如下:表1试验室属性表列名数据类型长度容许空文字描述IidInt4N试验室编号locationvachar50试验室详细位置表2顾客属性表列名数据类型长度容许空文字描述uidint4N顾客编号usernamevarchar50N顾客名passwordvachar50N顾客密码gradeint4N顾客等级标志表3设备属性表列名数据类型长度容许空文字描述fidint4N设备编号Iidint4N所属试验室编号uidint4N领用顾客编号fnamevarchar50N设备名称sortvarchar50N设备种类appliedint4N使用标志表4操作属性表列名数据类型长度容许空文字描
7、述idint4N操作记录编号fidint4N操作的设备编号uidint4N操作的顾客编号operatevarchar50N操作名4.1.4系统功能建模试验室设备管理系统顶层数据流程图如图5所示,一层数据流程图如图6所示:图5试验室设备管理系统顶层数据流程图图6试验室设备管理系统一层数据流程图F1:设备详细信息F2:更新后0设备信息F3:添加的设备信息F4:设备操作记录信息4. 1.5数据字典(1)数据元素顾客级别名字:顾客级别标志描述:用于标志顾客的级别(辨别管理员和一般顾客)数据类型:字符长度:50试验室地点名字:试验室地点描述:用于描述试验室的详细地点数据类型:字符长度:50设备种类名字:
8、设备种类描述:用于描述设备的种类数据类型:字符长度:50设备使用状况名字:设备与否使用描述:用于标识设备目前与否被使用数据类型:数值长度:4操作项名字:操作描述:用于记录设备的J操作记录数据类型:字符长度:50(2)数据存储设备信息名字:设备信息描述:每一种设备的详细信息编号:Dl构成:设备编号、所属试验室、使用人、名称、类别、目前使用状况顾客信息名字:顾客信息描述:每一种顾客的详细信息编号:D2构成:顾客编号、顾客名、顾客密码、顾客级别操作记录名字:操作记录描述:顾客对设备卧J操作记录编号:D3构成:设备编号、顾客编号、操作项(3)数据流设备详细信息名字:设备详细信息描述:数据库中存储的设备
9、详细信息编号:Fl构成:设备编号、所属试验室、使用人、名称、类别、目前使用状况更新后的设备信息名字:更新后的设备信息描述:顾客对某一设备更新后的详细信息编号:F2构成:所属试验室、使用人、名称、类别、目前使用状况添加B设备信息名字:添加的设备信息描述:顾客新添加的设备信息编号:F3构成:所属试验室、使用人、名称、类别、目前使用状况设备操作记录信息名字:设备操作记录描述:顾客操作过程被记录下来B信息编号:F4构成:设备编号、顾客编号、操作项(4)数据处理查看设备名字:查看设备描述:顾客申请查询设备信息编号:Pl输入/输出数据流:设备详细信息、操作记录添加设备名字:添加设备描述:管理员添加新增的设
10、备信息编号:P2输入/输出数据流:添加的设备信息、操作记录更新设备名字:更新设备描述:管理员对某一变更了的设备信息进行更新编号:P3输入/输出数据流:更新后的设备信息、操作记录删除设备名字:删除设备描述:管理员删除某一设备的信息编号:P4输入/输出数据流:操作记录查看操作名字:查看操作描述:顾客申请查看设备的操作记录编号:P5输入/输出数据流:设备操作记录信息4.2总体设计根据对系统需求分析中的总体目B和详细目的的分析,可以得到系统的功能图如图7所示:试验室设备管理系统数据处理顾客信息维护系统维护试验室信息维护图7试验室设备管理系统功能树4.3详细设计总体来看,系统的功能比较简朴,可以看作是一
11、种模块来设计。(1)模块定义模块名称:试验室设备管理系统模块功能:合法顾客登录系统后,可以实现查看设备信息、添加设备、更新设备以及删除设备(仅管理员级别顾客)。每一次操作都要被记录下来,以便管理过程中使用。(2)输入项目顾客注册时B顾客信息;合法顾客添加设备时的设备信息;顾客更新设备信息时输入的设备信息;顾客每一次操作时记录下来B操作记录信息。(3)输出项目顾客查看设备信息时输出的设备详细信息;顾客查看操作记录时输出的操作记录信息。(4)程序逻辑类的设计表5系统类的设计构造表包名类名类0描述包的!描述com.actionFCLCrudAction控制设备信息系统中action类0集合,是系统0
12、关键类LoginAction控制顾客登录OPRCrudAction控制操作记录RegisteAction控制顾客注册com.beanUser读取页面上B顾客信息获取页面上0信息com.daoFaciIityDAOI系统连接数据库所用的所有接口OperateDAOIUserDAOIFacilityDAOImpl系统连接数据库所用的J类,实现com.dao包中的J接口OperateDAOImplUserDAOImplcom.mapFacility表facility映射的类Hibemate从数据库中映射过来0类Lab表Iab映射的)类Users表USerS映射欧I类Operates表operates
13、映射的类JSP页面设计表6系统日勺JSP页面设计构造表jsp文献名页面描述login顾客登录页面registe顾客注册页面success登录提醒以及主菜单页面flist设备信息展示页面update用于更新选中B设备信息add用于添加设备信息mlist用于展示操作记录信息的页面(5)测试要点测试顾客登录、注册以及顾客的分级与否成功;测试顾客对设备I内查看、更新、添加、删除与否成功;测试能否记录下顾客的所有操作记录并供顾客查看4.4运行与测试针对4.3中的测试要点,依次对系统进行测试。(1)测试顾客登录、注册以及顾客B分级与否成功顾客登录lidusernamepasswordgradeadmina
14、dmin12 aspartaspart13 abcaabb04 qbabc0NULLNULLNULLNULL图8顾客表初始数据请登陆:用户名:密码:笺陆去注册图9顾客登录界面登录顾客名为admin日勺账号,测试登录功能。若登录成功,进入SUCCeSs.jsp页面,若不成功,进入错误提醒页面。欢迎您,admin,登陆成功进入设备管理查看设备操作记录图10登录成功后的)页面顾客注册用户名:密码:用户等级:普通用户餐册图11顾客注册界面注册顾客名为“wjj”、顾客密码为力23456”B账号,若注册成功,则数据库表USerS中会多出一条记录。uidusernamepasswordgradeBadmin
15、admin12aspartaspart13abcaabb04qbabc05Wjj1234560NULLMJLLNULL图12注册成功后的users表数据比较图12与图8,可见顾客表中多出一种顾客名为“wjj”、顾客密码为力23456”的账号,即注册成功。顾客分级先使用管理员级别账号“admin”登录,在使用刚刚注册的一般账号“wjj”,查看区别。观测与否拥有删除功能,若admin”顾客拥有,而“wjj”顾客不拥有,则分级成功。设备详细信息表设备编号所属实验室用户编号设备名称设备种类是否占用修改删除:14交换机IOl交换机1修改删除214路由器102路由器1修改删除323计算机103计算机2修改
16、删除434计算机104计算机1修改删除544计算机105计算机2修改删除633路由器106路由器1修改删除添加设备返回菜单图13admin”顾客注册后进入的信息展示页面设备详细信息表设备编号所属实验室用户编号设备名称设备种类是否占用修改114交换机101交换机酸214路由器102路由器1修改323计算机103计算机|2酗434计算机104计算机1修改544计算机105计算机2修改633路由器106路由器1酗添加设备返回菜单图14uwjjw顾客注册后进入的信息展示页面比较图13和图14,可见不一样级别顾客登录成功后,得到的展示页面时不一样的。管理员顾客可以对设备进行删除操作,而一般顾客不可以。即
17、,顾客分级成功。(2)测试顾客对设备时查看、更新、添加、删除与否成功查看设备信息在(1)中,对顾客分级进行测试的过程中,已经对此功能进行了变相测试,参见其成果(图13、图14),可发现此功能已经实现。添加设备信息IidUidfhamesortappyedIl14一越咽U交换机1214路由器102路由器1323计算机103计算机2434计算机104计算机1544计算机105计算机2633路由器106路由器1KIAUZNULLNULLNULLNULLNULL图15设备表初始数据进入设备添加界面,添加一设备,详细信息为(耘慧414,3号顾客领用,设备名为计算机101,设备种类为计算机,未被使用)。添
18、加设备信息:所属实验室:耘慧414领用用户:3设备名称:计算机101设备种类:计算机是否使用:l三j-添加添加前请认真核对设备信息图16设备添加界面fidIkilidfhamesortapplyed比El14交换机ioi交摭机1214路由器102路由器1323计算机103计算机2434计算机10,计算机1544计算机105计算机2633路由器106路由器1W23计算机101计算机1NULLNUUNULLNULLNULLNULL图17设备添加成功后的facility表数据较图15与图17,可见设备添加成功。即,此功能已经实现。设备更新实验室:耘慧412用户:4设备名称:交换机101设备种类:交换
19、机更新编号是否使用:否确定返回图18设备信息更新页面为1B设备,搬到试验室2(耘慧414),并且已使用。fidliduidframesortapplyed口24交换机101交换机2214路由器102路由器1323计算机103计算机2434计算机104计算机1544计算机105计算机2比实现。633路由器106路由器11423计算机101计算机1NULLNULLNULLNULLNULLNULL图19更新后的设备表数据较图17与图19,可见编号为1的设备信息已被变化。即,设备信息更新功能已经删除设备登录“admin”顾客,进入查看页面删除刚添加的设备信息。fidBdlidfhamesortappy
20、edB24交换机101交换机2214路由器102路由器1323计算机103计算机2434计算机104计算机1544计算机105计算机2633路由器106路由器1NUU.NULLNULLNULLNULLNULL图20删除后的设备表信息比较图19与图20,可见删除功能已经实现。(3)测试能否记录下顾客的所有操作记录并供顾客查看ifidudoperate001查看1901查看2001查看2101查看6NULLNULLNULLNULL图21设备操作登记表初始数据idfiduidoperate固01查看1901查看2001查看2101查看2201查看2305查看24145添加2505查看2615更新27
21、01查看28141删除2901查看NULLNULLNULLNULL图22测试后操作登记表数据通过之前的测试过程,已经记录下来欧J操作记录信息如图22所示,与图21进行比较,可见均已经成功记录下来。设备操作记录如下:设备号操作用户操作项;O1查看O1I查看O1查看O1查看O1查看O5查看145添加O515更新O1查看141删除,O1查看共查看9次,添加1次,更新1次,删除1次。返回上一页图23操作记录信息展示页面如图23,在操作记录信息展示页面成功展示了数据库中(如图22)的所有操作记录。即,操作记录信息供顾客查看的功能已经实现。5总结与展望在通过一周时间的努力后,终于完毕了“试验室设备管理系统
22、”的实现。习惯了平日里跟随老师学习H模式,在自己动手实现一种实际应用aJ过程中,碰到了诸多困难、许多次失败,不过学习到B更多。首先是数据库的设计方面,一开始只是按照自己的臆想简朴地设计了数据库的构造以及表,在实现系统功能时发现很难进行下去,因此不得不重新认真地根据需求分析来设计更完善的数据库构造以及表。另一方面是对JaVaEE课程的学习了,自己动手来做确实得到了很好地学习效果。通过了一周的课程设计后,对于StrUtS2、hibernate日勺理解愈加深刻、使用愈加纯熟。当然,我愈加清晰这还仅仅只是一种开始,后续的学习尚有诸多,愈加值得我去努力。附:系统程序重要代码1.顾客登录代码/LoginA
23、ctionjavaUserDAOImpluserdao=newUserDAOImpIO;HttpServletRcquestrequest=ServletActionContexLgaReqveM);HttpSessionsession=request.getSession();booleanb=userdao.search(user.getUsername(),user.getPassword();if(b)1.iStlist=userdao.find(user.getUsername(),user.getPassword();Usersu=(Users)list.get(O);sessio
24、n.setAttribute(login,user);session.setAttribute(u,u);returnsuccess;else(returnerror;)2 .顾客注册代码/UserDAOImpljavaSessionsession=HibernateSeSSiOnFaCtOry.geSessio();Transactiontc=session.beginTransaction();try(session.save(user);tcmit();catch(Exceptione)tc.rollback();e.printStackTrace();1session.close();
25、/RegisleActionjavauserdao.save(user);return,success;3 .设备信息B操作/FacilityDAOImpLjava查找publicLiStfind()Sessionsession=HibemateSessionFactoryQueryquery=session.createQuery(fromFacility);1.iStlist=query.list();returnlist;)添加publicvoidsave(Facilityfacility)Sessionsession=HibernateSeSSiOnFaCtOry.gefSessioz
26、();Transactiontc=session.beginTransaction();try(session.save(facility);tcmit();)catch(Exceptione)tc.rollback();e.printStackTrace();)session.close();更新publicbooleanupdate(Facilityfacility)Sessionsession=HibernateSeSSionFaCtOrygbSeSSio();Transactiontc=session.beginTransaction();trysession.update(facil
27、ity);tcmit();)catch(Exceptione)tc.rollback();e.printStackTrace();returnfalse;)returntrue;)删除publicbooleandelete(intfid)Sessionsession=HibemateSessionFactoryFacilitytemp=(Facility)session.load(Facility.class,fid);Transactiontc=session.beginTransaction();trysession.dclete(temp);tcmit();catch(Exception
28、e)tc.rollback();e.printStackTrace();returnfalse;)returntrue;)publicbooleandelete(Facilityfacility)/TODOAuto-generatedmethodstubSessionsession=HibernateSeSSiOnFaCtorygaSesSio();session.delete(facility);returntrue;)4 .操作记录查询publicLiStsearch()SessionSeSS沁n=HibernateSeSSiOnFaCtorygbSeSSio();Queryquery=s
29、ession.createQuery(fromOperates);LiStlist=query.list();returnlist;)存储publicvoidsave(Operatesoperate)SessionSeSS沁n=HibernateSeSSiOnFaCtorygbSeSSio();Transactiontc=session.beginTransaction();try)session,save(operate);tcmit();catch(Exceptione)tc.rollback();e.printStackTrace();)session.close();)5 .配置文献/struts.xmlsuccess.jsperror.jsplogin.jspflist.jspupdate.jspupdates.jspsave.jspdelete.jspmlist.jsp参照文献1郑人杰,马素霞,麻志毅.软件工程,北京:人民邮电出版社,20232王珊,萨师炮.数据库系统概论.第4版,北京:高等教育出版社,202331骆斌,丁二玉.需求工程一软件建模与分析.北京:高等教育出版社,2023|4王永贵,郭伟,冯永安,焦学理.Java高级框架应用开发案例教程,北京:清华大学出版社,2023成绩评估成绩教师签字