收藏 分销(赏)

JAVAEE专业课程设计之实验室设备标准管理系统.doc

上传人:快乐****生活 文档编号:2864445 上传时间:2024-06-07 格式:DOC 页数:26 大小:539.04KB 下载积分:10 金币
下载 相关 举报
JAVAEE专业课程设计之实验室设备标准管理系统.doc_第1页
第1页 / 共26页
JAVAEE专业课程设计之实验室设备标准管理系统.doc_第2页
第2页 / 共26页


点击查看更多>>
资源描述
软 件 学 院 课程设计汇报书 课程名称 Java高级框架应用开发  设计题目 试验室设备管理系统 专业班级 软件工程10-6班 学 号 100627 姓 名 萧翎 指导老师 郭鹏飞 年 1 月 目录 1 设计时间 2 2 设计目标 2 3设计任务 2 4 设计内容 2 4.1需求分析 2 4.1.1总体目标 2 4.1.2具体目标 3 4.1.3系统数据建模 4 4.1.4系统功效建模 6 4.1.5数据字典 7 4.2总体设计 11 4.3具体设计 11 4.4运行和测试 13 5 总结和展望 20 附:系统程序关键代码 20 参考文件 24 成绩评定 24 1 设计时间 1月21日-1月25日 2 设计目标 JavaEE课程设计是对所学JavaEE和中间件课程小结,是提升学生对所学知识综合应用能力一个方法,是集中实践性步骤之一。要求同学们对课程中所学习到知识综合利用,开发有一定规模Java Web程序。 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以下所表示: 用户 设备 试验室 管理 m n p 图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 试验室设备管理系统顶层数据步骤图 查看设备 添加设备 更新设备 删除设备 查看操作 设备信息表 设备操作统计表 用户 用户 用户 F1 F2 F3 F4 图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 UserDAOImpl userdao = new UserDAOImpl(); HttpServletRequest request = ServletActionContext.getRequest(); HttpSession session = request.getSession(); boolean b = userdao.search(user.getUsername(), user.getPassword()); if (b) { List list = userdao.find(user.getUsername(), user.getPassword()); Users u = (Users)list.get(0); session.setAttribute("login", user); session.setAttribute("u", u); return "success"; } else { return "error"; } 2.用户注册代码 //UserDAOImpl.java Session session = HibernateSessionFactory.getSession(); Transaction tc = session.beginTransaction(); try { session.save(user); mit(); } catch (Exception e) { tc.rollback(); e.printStackTrace(); } session.close(); //RegisteAction.java userdao.save(user); return "success"; 3.设备信息操作 //FacilityDAOImpl.java //查找 public List find() { Session session = HibernateSessionFactory.getSession(); Query query = session.createQuery("from Facility"); List list = query.list(); return list; } //添加 public void save(Facility facility) { Session session = HibernateSessionFactory.getSession(); Transaction tc = session.beginTransaction(); try { session.save(facility); mit(); } catch (Exception e) { tc.rollback(); e.printStackTrace(); } session.close(); } //更新 public boolean update(Facility facility) { Session session = HibernateSessionFactory.getSession(); Transaction tc = session.beginTransaction(); try { session.update(facility); mit(); } catch (Exception e) { tc.rollback(); e.printStackTrace(); return false; } return true; } //删除 public boolean delete(int fid) { Session session = HibernateSessionFactory.getSession(); Facility temp = (Facility) session.load(Facility.class, fid); Transaction tc = session.beginTransaction(); try { session.delete(temp); mit(); } catch (Exception e) { tc.rollback(); e.printStackTrace(); return false; } return true; } public boolean delete(Facility facility) { // TODO Auto-generated method stub Session session = HibernateSessionFactory.getSession(); session.delete(facility); return true; } 4.操作统计 //查询 public List search(){ Session session = HibernateSessionFactory.getSession(); Query query = session.createQuery("from Operates"); List list = query.list(); return list; } //存放 public void save(Operates operate) { Session session = HibernateSessionFactory.getSession(); Transaction tc = session.beginTransaction(); try { session.save(operate); mit(); } catch (Exception e) { tc.rollback(); e.printStackTrace(); } session.close(); } 5.配置文件 //struts.xml <struts> <package name="struts2" extends="struts-default" namespace="/"> <action name="login" class="com.action.LoginAction"> <result name="success">/success.jsp</result> <result name="error">/error.jsp</result> </action> <action name="registe" class="com.action.RegisteAction"> <result name="success">/login.jsp</result> </action> <action name="fcl*" class="com.action.FCLCrudAction" method="{1}"> <result name="success">/flist.jsp</result> <result name="update">/update.jsp</result> <result name="updates">/updates.jsp</result> <result name="save">/save.jsp</result> <result name="delete">/delete.jsp</result> </action> <action name="opr*" class="com.action.OPRCrudAction" method="{1}"> <result name="success">/mlist.jsp</result> </action> </package> </struts> 参考文件 [1] 郑人杰,马素霞,麻志毅.软件工程,北京:人民邮电出版社, [2] 王珊,萨师煊.数据库系统概论.第4版,北京:高等教育出版社, [3] 骆斌,丁二玉.需求工程—软件建模和分析.北京:高等教育出版社, [4] 王永贵,郭伟,冯永安,焦学理.Java高级框架应用开发案例教程,北京:清华大学出版社, 成绩评定 成绩 老师签字
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服