版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 软件工程课程设计报告( 2015 - 2016 学年 第一学期)课程名称: 软件工程课程设计 题 目: 学生宿舍管理系统 院 系:控制与计算机工程学院 班 级: 组 号: 组 长: 组 员: 指导教师: 设计周数: 两 周 小组成绩: 日期:2016 年 1月 8日软件工程课程设计任 务 书一、 目的、要求通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。具体如下:1. 学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;2. 熟悉自动化的软件开发工具Rational
2、Rose,并将其运用于软件开发的全过程;3. 进一步加强和提高软件工程文档的编写能力;4. 培养协作能力和团队精神。二、 主要内容1 运用面向对象方法进行校园宿舍管理系统的需求分析与设计;2 建模语言采用UML,以Rational Rose为建模工具,进行系统的静态建模和动态建模;3 利用对象模型自动生成数据模型,自动建立数据库;4 使用hibernate技术以面向对象的方式编程管理数据库,前端使用html+css结合javaScript进行设计,后台逻辑采用java来实现,整个系统采用了ssh框架来实现,使得各个模块低耦合,分层明确,提高了代码的重用以及二次开发;5 撰写课程设计报告。三、任
3、务分配任务负责人参与人备注数据库设计前端开发美工及测试后台开发 软件工程课程设计报告四、 进度计划序号设计内容名称完成时间备注1分组及确定题目1个工作日2初步的需求分析与设计建模, 确定实现平台,并搭建环境2个工作日3详细的需求分析与设计建模2个工作日进行中期检查4关键模块的实现与测试3个工作日5编写课程设计报告1个工作日6验收检查及评定成绩1个工作日五、 设计成果要求1 建立系统分析模型与设计模型;2 初步建立系统原型,实现关键的功能;3 编写课程设计报告。六、 考核方式1 系统演示及讲解占50%。2 设计报告占50%。指导教师: 日 期: 2015 年 12 月 25 日软件工程课程设计
4、成 绩 评定一、 指导教师评语二、 成绩学号姓名成绩备注 指导教师: 日 期: 2015 年 1 月 8 日摘要:学生宿舍管理是学校的一项重要工作,使用计算机技术来管理学生宿舍,不但可以节省时间、人力和资源,更能全面有效地掌握学生的基本情况,及时获取最新的准确资料和信息,加强对来访人员的管理,优化宿舍内部信息的公示,提高报修物品的处理效率,督促学生提高宿舍的卫生质量,重点监控学生缺寝情况,为同学们营造一个良好、舒适、安全的宿舍环境,从而提高生活质量。本学生宿舍管理系统是在B/S架构下采用Struts2+Hibernate4.1+Spring4.1框架的进行开发的,服务器为tomcat8,运行环
5、境为Ubuntu Server 14.04,以myeclipse作为前端和后台开发工具,前端主要使用html/css以及JavaScript开发,后台的逻辑主要通过java来实现,数据库采用mysql,使用JSP 技术实现数据的读取和传输。界面的设计美化等使用Dreamweaver工具。开发过程中,首先分别开发个个独立的模块,然后整合到一起,以便于日后系统的扩展。达到对学生、楼宇、宿舍信息、访客来访信息、宿舍分配、公物借还以及报修等方面进行管理的目的,操作简单,界面友好,运行稳定,适用于各大高校以及小区对宿舍或者公寓的管理。关键词:学生宿舍管理系统;B/S;Struts2;Hibernate;
6、Spring;Ubuntu Server;mysql;JSP;JavaScript一、课程设计的目的与要求通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。具体如下:1. 学习和实践在分析和设计计算机应用系统时所需要的知识,包括面向对象的系统分析、设计、编码和测试方面的知识;2. 熟悉自动化的软件开发工具Rational Rose,并将其运用于软件开发的全过程;3. 进一步加强和提高软件工程文档的编写能力;4. 培养协作能力和团队精神。二、设计正文1 概述1.1 系统开发的目的和意义由于学生宿舍管理工作存在工作量大、事务
7、繁琐的特点,宿舍管理人员需付出大量的工作时间来从事各种事务性工作,但工作的效率很低。为提高工作效率,减轻校方人员的工作负担,决定针对学生宿舍管理开发管理系统软件,以供宿舍管理人员通过电脑操作进行宿舍管理,从而使学校的宿舍管理工作系统化、规范化、自动化,提供整个宿舍管理的效率,使总体管理水平上升到一个新的高度。 本系统能减少很多不必要的资源,消除了以前用冗余的纸张式管理,大节省了学校能源。并且计算机的存储与快速查询功能大大提高了宿舍管理的效率。方便快速的操作,可减少信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资
8、上都为学校节约了开支。为学校增加了财富。1.2 系统开发环境及运行环境开发环境:Windows系统,开发工具有myecilpse,Dreamweaver以及Navicat for mysql运行环境:Ubuntu Server 14.04+Tomcat8+mysql2 系统需求分析2.1 系统需求概述 2.1.1用户界面需求学生宿舍管理系统应提供简单、层次关系明了、清晰的操作界面,使用户一目了然。尽可能的为用户的录入、查询等常用功能提供方便、贴心的操作帮助,尽可能减少用户输入。最好让用户不用看系统说明就能很好的使用本系统。2.1.2 基本功能需求本系统主要实现的是宿舍管理系统,在设计时尽可能贴
9、近宿舍问题,方便用户操作。基本功能如下:(1) 系统要求用户必须输入正确的用户名和密码才能进入系统。(2) 系统应该提供添加用户和用户的修改,删除和查询功能。(3) 系统应提供学生入住宿舍的功能和宿舍,修改和删除功能。(4) 系统应提供人员来访登记及时间登记,条件查询,删除。(5) 系统应提供宿舍里学生晚归的登记,条件查询,修改,删除。(6) 系统应提供宿舍维修登记,查询,删除等。2.2 用例图本系统的外部角色主要有系统管理员、楼宇管理员和学生三类。其主要的用例如下图所示:(1)管理员拥有登录、楼管管理、楼宇管理、宿舍管理、申请审核以及修改个人信息的功能。图2-1 系统管理员用例图 用例的事件
10、流描述:管理员进行楼宇的添加 主事件流:管理员通过界面登陆系统,用例开始; 管理员请求楼宇管理,系统显示楼宇管理界面; 管理员请求增加楼宇,系统显示增加楼宇界面; 管理员输入新添加楼宇的名称(楼号)和简介; 保存新加楼宇信息; 系统提示添加成功; 用例结束。 异常事件流:若输入的楼宇已存在,则显示楼宇已存在; 若新添加的楼宇的基本信息不规范,系统提示修改信息。(2)楼宇管理员拥有登录、学生管理、来访管理、报修管理、缺寝管理、宿舍卫生测评以及修改个人信息功能。学生管理包括学生信息查询、入住登记、换寝管理、迁出管理三个功能。图1-2楼宇管理员用例图用例的事件流描述:楼宇管理员进行学生的换寝管理 主
11、事件流:楼宇管理员通过界面登陆系统,用例开始; 楼宇管理员请求学生管理,系统显示学生管理界面; 楼宇管理员请求换寝楼宇,系统显示换寝界面; 楼宇管理员输入学生学号、姓名、性别,目前的楼宇、寝室以及换寝后的楼宇、寝室; 保存修改后的信息; 系统提示修改成功; 用例结束。 异常事件流:若学生的基本信息不符合,系统提示修改信息;若输入的楼宇及寝室信息与目前的一样,则显示楼宇换寝无效; 若要换寝的楼宇不存在,系统提示修改信息。 用例的事件流描述:楼宇管理员进行学生入住登记 主事件流:楼宇管理员通过界面登陆系统,用例开始; 楼宇管理员请求学生管理,系统显示学生管理界面; 楼宇管理员请求学生入住登记,系统
12、显示入住登记界面; 楼宇管理员输入学生的学号、姓名、性别、年龄、院系、专业、班级、联系方式,入住的楼宇和寝室; 保存新添加的学生入住信息; 系统提示添加成功; 用例结束。 异常事件流:若学生的基本信息不规范,系统提示修改信息; 若要换寝的楼宇不存在,系统提示修改信息。(3)学生拥有登录、公物报修、缺寝情况查询、个人申请以及修改个人信息功能。图2-2学生用例图用例的事件流描述:学生进行个人信息修改主事件流:学生通过界面登陆系统,用例开始; 学生请求个人信息修改,系统显示学生个人信息修改界面; 学生查看个人信息,并修改需要更换的信息; 保存修改后的信息; 系统提示修改成功; 用例结束。 异常事件流
13、:若学生的基本信息不符合,系统提示修改信息;2.3 类图图2-3类图2.4 顺序图(1) 入住登记。图2-4成功入住登记顺序图图2-5入住登记失败顺序图(2) 换寝管理。图2-6学生成功换寝顺序图图2-7没有申请到换寝的学生换寝失败顺序图(3) 迁出管理。图2-8学生成功迁出顺序图图2-9未申请到迁出的学生迁出失败的顺序图2.5 协作图(可选)图2-11学生成功入住登记协作图 (1)入住登记。 (2)换寝管理。图2-12学生换寝成功协作图(3)迁出管理。图2-13学生成功迁出协作图3 系统总体设计3.1 系统体系结构设计图3-1 系统体系结构图 表现层有描绘解析数据模型的数据,向数据模型层请求
14、更新,将用户的请求发送至业务逻辑层等 功能。可使用HTML、FreeMarker模板、JSP等多种技术实现。 业务逻辑层定义应用系统中的行为,接受并验证HTTP请求的数据,将用户的请求映射到对应数据模型的更新。其中主要依赖Struts2的核心控制器StrutsPrepareAndExecuteFilter拦截用户的HTTP请求,根据配置文件具体调用相应的业务控制器(Action)。 数据模型层主要有对业务逻辑的处理、管理数据的存储和一致性等功能。3.2 设计问题域子系统(1) 在开发过程中业务逻辑层中的各个action可以根据功能的划分,实现对action类的重用。 比如在登录设计时,将本应该
15、用三个类实现的三类用户的登录控制实现在一个类中(loginAction),在学生管理模块中,将同属与一个模块下的功能控制类都写在studentManagerAction类中,实现了开发中对已有类的公用。(2) 在设计数据模型层的dao类时,通过使用一个由Spring容器管理注入的sessionFactory类方便的管理数据库的事务。图3-2问题域子系统分析图3.3 设计数据管理子系统图3-3数据管理子系统图absence表名类型长度不是null主键说明abIDvarchar10唯一标识sIDvarchar10学生学号abDatedate0缺勤日期表3-1学生缺寝信息表administrator
16、表名类型长度不是null主键说明aIDvarchar10管理员账号aNamevarchar50管理员名字aPasswordvarchar20密码aTelephonevarchar11电话aPowervarchar1权限表3-2管理员信息表bpublicproperty表名类型长度不是null主键说明bPPIDvarchar10唯一标识bPPnamevarchar20借出公物名bPPnumint5借出数量bPPborrowTdatetime0借出时间bPPreturnTdatetime0归还时间bNovarchar3楼号bsNovarchar10借物人学号表3-3公共物品信息表building表
17、名类型长度不是null主键说明bNovarchar3楼号bDescvarchar50楼宇描述表3-4楼宇信息表buildingad表名类型长度不是null主键说明bAdIDvarchar10楼管账号bNovarchar3楼号bAdNamevarchar50楼管名字bAdPasswordvarchar20密码bAdTelephonevarchar11电话bAdConnectAdrvarchar50联系地址bADPowervarchar1权限表3-5楼宇管理员信息表collegemajor表名类型长度不是null主键说明cmidvarchar10唯一标识collegevarchar30学院majo
18、rvarchar20专业表3-6学生信息表house表名类型长度不是null主键说明hIDvarchar10宿舍地址bNovarchar3所属楼宇hNovarchar3宿舍号hCapacityint1容量表3-7宿舍信息表housescore表名类型长度不是null主键说明hsIDvarchar10唯一标识hIDvarchar10宿舍地址hScoreint3分数hLevelvarchar2分数水平hDatedate0评比日期表3-8宿舍成绩表hpublicproperty表名类型长度不是null主键说明hppIDvarchar10唯一标识hIDvarchar10申请报修的宿舍hppNameva
19、rchar20报修的物品hppNumint5报修数量sNamevarchar50申请人名字datedate0申请人学号表3-9公物报修申请表rollout表名类型长度不是null主键说明sIDvarchar10迁出学生学号roDatedate0迁出日期roReasonvarchar50迁出原因表3-10迁出记录表student表名类型长度不是null主键说明sIDvarchar10学号sNamevarchar50学生姓名sPasswordvarchar20密码sSexvarchar1性别sNationvarchar20民族sClassvarchar10班级sMajorvarchar20专业sC
20、ollegevarchar30所属院系sEnrolldatedate0入住时间sBirthdaydate0生日sHidvarchar10所属宿舍sBedidvarchar1床号sTelephonevarchar11电话sHomeTelvarchar12家里联系电话sPowervarchar1权限表3-11学生信息表visit表名类型长度不是null主键说明vIDvarchar10唯一标识vNamevarchar50拜访人姓名vArriveTdatetime0拜访时间vLeaveTdatetime0离开时间vStuNamevarchar50被拜访学生姓名vStuIDvarchar10被拜访学生学
21、号表3-12来访记录表3.4 设计人机交互子系统提示: 选择主要的功能建立人机交互界面。(1)登录界面。图3-4宿舍管理系统登陆界面图(2)系统管理员主页。图3-5系统管理员主界面图(3)楼宇管理员主页图3-6楼宇管理员主界面图(4) 学生主页。图3-7学生主界面图4. 详细设计(1) 登录模块图4-1 用户登录流程图(2) 学生信息查询功能图4-2学生查询流程图(3)信息添加功能图4-3添加信息流程图5. 系统实现(1)用户登录功能:通过在继承自ActionSupport的loginAction中的execute()方法中,通过判断从前台传过来的身份类型参数来选择调用不同的dao的check
22、Login()方法来检查用户名或密码是否正确。然后将登录用户的id以及power保存到会话session中并返回相应的逻辑视图所对应的参数,进行跳转。public String execute() throws Exception System.out.println(id+" "+password);if(type.equals("系统管理员")if (!addao.checkLogin(id, password) addActionMessage("用户名或者密码错误");return INPUT;else/获取姓名Adminis
23、trator user=addao.findById(id);String user_name=user.getAname();String user_power=user.getApower();/创建sessionHttpSession session = ServletActionContext.getRequest().getSession();session.setAttribute("id", id);session.setAttribute("name", user_name);session.setAttribute("powe
24、r",user_power);return "success_ad"else if(type.equals("楼宇管理员")if (!baddao.checkLogin(id, password) addActionMessage("用户名或者密码错误");return INPUT;elseBuildingad user=baddao.findById(id);String user_name=user.getBadName();String user_power=user.getBadpower();/创建sessionH
25、ttpSession session = ServletActionContext.getRequest().getSession();session.setAttribute("id", id);session.setAttribute("name", user_name);session.setAttribute("power", user_power);return "success_bad"else if(type.equals("学生")if (!stulogindao.checkLo
26、gin(id, password) addActionMessage("用户名或者密码错误");return INPUT;elseStulogin user=stulogindao.findById(id);String user_power=user.getSpower();/创建sessionHttpSession session = ServletActionContext.getRequest().getSession();session.setAttribute("id", id);session.setAttribute("powe
27、r", user_power);return "success_stu"elseaddActionMessage("身份类型码错误");return INPUT;图5-1 学生成功登录后界面图(2)学生信息查询功能。前端获取查询条件的界面:图5-2学生信息查询界面图后台用于生成最终hql查询语句的逻辑代码:public String searchStuInfo() String hql="from Stulogin where "String hql1="from Stuinfo where "if(!s
28、id.equals("")hql+="sid not in (select id.sid from Stuinfo) and sid='"+sid+"'"stuinfolist=stuinfodao.findByProperty("id.sid", sid);stulist=stulogindao.findByhdl(hql);elseif(f!=null)hql+="sname='"+sname+"'"hql1+="id.sname
29、='"+sname+"'"if(s!=null)hql+=" and house.building.bno='"+bno+"'"hql1+=" and id.shid like '"+bno+"%'"if(t!=null)hql+=" and house.hno='"+hno+"'"hql1+=" and id.shid like '%"+hno+&quo
30、t;'"elseif(t!=null)hql+=" and house.hno='"+hno+"'"hql1+=" and id.shid like '%"+hno+"'"elseif(s!=null)hql+="house.building.bno='"+bno+"'"hql1+="id.shid like '"+bno+"%'"if(t!=null)h
31、ql+=" and house.hno='"+hno+"'"hql1+=" and id.shid like '%"+hno+"'"elseif(t!=null)hql+="house.hno='"+hno+"'"hql1+="id.shid like '%"+hno+"'"stuinfolist=stuinfodao.findByhdl(hql1);hql+="
32、 and sid not in (select id.sid from Stuinfo)"stulist=stulogindao.findByhdl(hql);return "searchStuInfo"然后通过Hibernate 4.1管理的dao以及生成的hql语句创建Query对象,通过调用Query的list()方法得到stulogin表和stuinfo视图中的对应满足条件的数据,最后通过Stulogin和Stuinfo对象返回到视图层进行显示。显示结果如下:图5-3学生信息查询结果显示图(3)添加信息功能,各种添加信息功能基本相仿,这里通过公物报修功能进
33、行分析。先通过视图层的jsp页面获取对应的信息,通过Struts2的参数类型装换,将相应的form参数通过js或者直接传递给对应实体对象,这里是Hpublicproperty的实例对象,然后通过调用相应实体dao封装的save()函数,将对应实体对象信息直接保存到数据库中。添加成功图:图5-4公物报修登记界面图图5-5新增公物报修信息写入数据库后数据库的信息图6. 测试提示: 说明使用了哪些测试方法,设计的测试用例,运行结果分析。6.1登录功能测试。测试方法: 由于本次测试的依据是实际功能,所以采用黑盒测试方法。 测试策略: 功能测试,主要采用等价类划分的策略。 测试手段: 手动模拟正常、异常输入。 测试内容: 功能测试,按照需求功能。(1) 当登录的时候未选择身份时,会给出相应友好的提醒。图6-1系统登陆界面图图6-2异常提示界面图(2) 当身份选择系统管理员、楼宇管理员、学生中的任何一种身份时,用户名或者密码输入错误时能给出友好的提示。图6-3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理环境与患者康复计划
- 护理团队危机管理
- 护理安全沟通:促进团队合作与沟通
- 快消品行业客户服务流程介绍
- 《税法》(第八版)习题及答案 6.3.1契税法
- 快消品企业文化专员面试要点及回答指南
- 零售业财务总监招聘面试全攻略
- 护理带教中的跨文化沟通
- 基于用户反馈的文档质量改进方案
- 旅游行业采购专员的面试宝典
- 中国专家共识解读:颅脑损伤院前与急诊诊治(2025版)
- 小儿惊厥的应急预案演练脚本(2篇)
- 广东省初级注册安全工程师题库及答案解析
- 浮雕画彩塑艺术精讲
- 《嵌入式系统原理及应用》课件第3章ARM指令系统
- 《电力工程 第3版》课件 鞠平 第1-7章 绪论、输电设备-电力系统潮流
- 患者术中体温管理课件
- 【课件】美术的曙光-史前与早期文明的美术+课件-2024-2025学年高中美术人教版(2019)必修美术鉴赏
- 口腔癌前病变
- 2025年高考数学全国一卷试题真题及答案详解(精校打印)
- GB/T 42230-2022钢板卷道路运输捆绑固定要求
评论
0/150
提交评论