




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、山东建筑大学计算机科学与技术学院课程设计说明书题目: 学生公寓管理系统的分析和设计课程: 软件工程院(部): 计算机学院专业: 软件工程班级: 学生姓名:学号: 指导教师: 完成日期: 目 录目 录2课程设计任务书(五)31 需求分析51.1 系统概述51.2 目标系统描述51.2.1 组织结构与职责51.2.3 业务流程61.2.4 表格及报表81.3 目标系统功能需求81.3.1 功能需求分析81.3.2 系统用例图92 概要设计112.1 数据流图及数据字典112.1.1 公寓管理系统管理系统数据流图112.2 数据分析与数据库设计122.2.1 数据库概念结构设计132.2.2 视图设
2、计143 详细设计183.1 公寓中心工作人员18山东建筑大学计算机科学与技术学院课程设计任务书(五)设计题目学生公寓管理系统的分析和设计已知技术参数和设计要求设计内容与步骤1.采用面向对象或结构化设计方法,在 windows 开发环境下进行。2.4-5 人成立一个开发小组,选出小组项目负责人,并对小组成员按任务进行分工。3.严格按软件工程的方法,分阶段进行开发(需求分析、概要及详细设 计、编码、测试等)。4.要求每阶段产生的软件工程文档等软件配置齐全、合理。5课程设计结束上交课程设计报告电子版、编码。 要求的提交的课程设计报告内容包括:1)问题定义2)需求分析3)概要设计4)详细设计5)程序
3、设计6)软件测试。学校有若干公寓,每栋 5 层,每层 18 个房间,每个房间 4 个学生,需要一个公寓管理系统实现管理。系统主要模块如下:(1)学生公寓管理系统设计与实现寝室分配l寝室分配:根据系别、年级、班级分配寝室。查询寝室状态 和入住信息。(2)学生公寓管理系统设计与实现学生管理l学生管理:实现入住学生信息的维护和查询功能l住宿查询:包括按公寓楼号、学生姓名等查询住宿信息。(3)学生公寓管理系统设计与实现财产管理l财产管理:实现对公寓财产的管理功能。(4)学生公寓管理系统设计与实现出入登记l出入登记:实现对学生搬出公寓的货物进行登记和对外来人 员进行登记等功能。(5)学生公寓管理系统设计
4、与实现系统管理系统管理:参数设置(如公寓楼号、寝室房号、系别、年级、班级的 设置)设计工作计划与进度安排1. 工作计划1)软件工程课程设计任务是一个团队合作完成的任务,小组每位成员都要自始至终一起参与完成。2) 任务分配要求:软件开发注重过程管理,组长负责整个任务的管理和协调。组长根小组成员情况,将题目进行分解,每个成员至少要完成一个模块的设计工作。3)文档的书写安排:2 位成员负责需求分析文档的书写,2 位成员负责概要设计文档的书写,小组成员每人完成自己分得的模块的详细设计、 实现和测试。4)课程设计结束,根据课程设计模板,每位学生提交一份完整的 “软件工程课程设计报告”。2进度安排第 9
5、周:布置课程设计工作,布置题目,分组,组长分工;第 10 周:书写软件可行性研究报告,星期三介绍报告;第 11 周:书写软件开发计划,星期三介绍报告;第 12 周:书写需求分析文档,星期三介绍报告;第 13 周:书写概要设计文档,星期三介绍报告;第 14 周:书写详细设计文档,星期三介绍报告;第 15 周:书写测试报告,星期三介绍报告;第 19 周:撰写课程设计报告;第 20 周:答辩,经任课教师检验合格后l 每位同学将自己的文件打包(文档+代码),文件名:学号姓名(2007000101 某某).rar 交给组长;l 组长将文档和程序存储到资料室存储器中,同时发公共邮箱一份。设计考核要求设计考
6、核成绩分为三部分:1.课程设计报告(50)2.程序实现(30%) 课程设计考勤(20)指导教师(签字):教研室主任(签字):1 需求分析1.1 系统概述目前我校对于公寓的管理仍有公寓中心,各二级学院和物业人员依靠人力进行管理,而且 宿舍中的各种出入人员和财务管理还仅仅依靠纸质文件,容易丢失和损坏,而学生的日常 管理也有个学员到院自行收集信息管理。一旦出现变动无法上传,最直接的导致每年新生 入学时,需要许多人员进行服务,和进行前期准备。而且新生宿舍的分配也有纯粹的人工 进行,耗时耗力,而且难以杜绝中间的各种主观问题。基于此我们开始了系统的开发。1.2 目标系统描述1.2.1 组织结构与职责图 1
7、.2.1 山东建筑大学组织结构图1.2.2 角色定义目标系统中的角色如表 1.1 所示。表 1.1 角 色 定 义1系统管理员信息中心负责系统的管理维护,用户权限的分配,对用户的管理。2公寓中心工作人员公寓中心公寓的具体管理工作,全校宿舍的分配,院级的宿舍管理。3院学生组织工作人二级学院负责具体学生事务,把宿舍分配给所有新生,对新生宿舍具体的管理和安排。员4学院导员二级学院对学生的信息进行管理。负责学生的生活学习5楼管物业控制宿舍的出入情况,负责中东宿舍楼的管理1.2.3 业务流程整个公寓管理系统的业务一共有出入人员管理,财务管理。(1)登陆7 个,登陆,用户管理,公寓管理,公寓分配,学生管理
8、,图 1.2.2 用户登录流程图每一个用户在登录时,系统会根据用户名和密码对照,再根据权限跳转相应网页。(2)用户管理图 1.2.3 用户管理流程图管理员登陆后,对用户进行操作,操作完成后系统返回对应信息。(3)公寓管理图 1.2.4 公寓管理流程图公寓中心工作人员登陆后,对公寓进行操作,操作完成后系统返回对应信息。(4)公寓分配图 1.2.5 公寓分配流程图公寓分配分两部分进行,首先由公寓中心对公寓信息进行第一次分配,把宿舍分给各学院, 再由各二级学院进行分配。(5)学生管理图 1.2.6 学生管理流程图学院导员登陆后,对学生信息进行操作,操作完成后系统返回对应信息。(6)出入人员管理图 1
9、.2.7 出入人员管理流程图楼管登陆后,对出入人员信息进行操作,操作完成后系统返回对应信息。(7)财务管理图 1.2.7 财务管理流程图1.2.4 表格及报表1.3 目标系统功能需求1.3.1 功能需求分析公寓管理系统涉及系统管理员,公寓管理员,学院工作人员,学院老师,楼管。不同的 角色对系统的使用权限不同。其中系统管理员拥有对该系统的最高权限,能够在该系统中 执行对其他所有用户的权限控制和对用户的管理操作;公寓管理员负责全校宿舍的管理和初级宿舍分配;学院工作人员则负责学院级别的宿舍分配和手动调节宿舍;学院老师则可 以对学生信息进行操作;楼管则负责出入人员和财务的管理。1.3.2 系统用例图登
10、陆增加公寓删除公寓信息修改公寓信息公寓中心工作人员显示所有公寓信息校级公寓分配查询公寓信息图 1.3.1 公寓管理用例图1.3.2 系统时序图图 1.3.1 公寓管理时序图1.3.4 系统类图公寓管理实体类为 ApartBean,它的属性包括楼号、宿舍号、最大人数、已有人数、所属学院、分配时间图 1.3.2 公寓管理类图2 概要设计2.1 数据流图及数据字典2.1.1 公寓管理系统管理系统数据流图在这个系统里,公寓中心只有向系统里更新公寓信息的权利,还有分配给二级学院宿舍的 权力。命令二级学院可以进行宿舍到人的分配功能公寓管理2.2 数据分析与数据库设计根据要求可知,实体有 3 个。(1)公寓
11、宿舍实体的属性为:楼号、宿舍号、最大人数、已有人数、所属学院、分配时间(2)用户实体的属性为:用户名、密码、权限、备注(3)学生实体的属性为:学号、姓名、学院、专业、班级、楼号、宿舍号2.2.1 数据库概念结构设计表名说明备注apartInfo公寓信息表储存全部公寓信息accountIfo用户信息表系统内所有登录用户的信息studentInfo学生信息表记录学生信息的表apartInfo 数据字典列名类型内容备注BuildingNoInt公寓楼号DormitoryNoInt宿舍号allPeopleInt总人数livePeopleInt已有有人数belongSchoolVarchar(50)所属
12、学院TimeInt分配时间accountIfo 数据字典列名类型内容备注accountpasswordVarchar(50)Varchar(50)账号密码主键powerInt权限remarksVarchar(50)备注studentInfo 数据字典列名类型内容备注studentNoInt学号主键studentNameVarchar(50)姓名studentCollegestudentJobVarchar(50)Varchar(50)学院专业studentClassBuildingNoVarchar(50)Int班级楼号DormitoryNoInt宿舍号2.2.2 视图设计2.3 功能概要设计
13、模块名称子模块 1子模块 2功能说明1.公寓中心工作人员1.1 公寓管理1.1.1 新增公寓1.1.2 删除公寓增加一个新的宿舍删除一个宿舍,把一个宿舍从系统中拿走1.1.3 修改公寓修改公寓信息,保证日查维护1.1.4 查询公寓1.1.5 显示所有公寓信息查询单个公寓信息一次性显示所有公寓信息1.2 校级公寓分配1.2.1 校级公寓分配把宿舍分给各个二级学院2.院学生组织工作人员2.1院级宿舍分配2.1.1 院级宿舍分配把宿舍分给本院每个新生。2.2 微调2.2.1 修改公寓对本院学生宿舍进行手动调节2.2.2 显示所有公寓信息显示本院所有公寓信息3详细设计3.1 公寓中心工作人员3.1.1
14、 公寓管理 界面设计登陆界面新增公寓界面删除公寓界面修改公寓信息界面查询公寓新界面查询结果界面操作成功界面显示所有公寓信息界面出错宿舍号已存在出错界面公寓分配界面公寓分配结果界面微调界面 功能说明模块名称:公寓管理1.1 公寓管理模块说明书窗口标题及标识:新增公寓: insrtApart.jsp删除公寓:deleteApart.jsp 修改公寓:updateApart.jsp 查询公寓:selectApart.jsp显示所有公寓信息: flatMangager.jsp校级公寓分配:相关表及视图:公寓信息表:apartInfo 新增公寓: insrtApart.jsp
15、信息输入:添加的公寓楼号建立一个文本框窗添加的宿舍号建立一个文本框口总人数建立一个文本框控已有有人数建立一个文本框件所属学院建立一个文本框设分配时间建立一个文本框计新增结果:成功则显示成功页面,失败显示失败页面。 说功能按钮:建立 2 个功能按钮,重置和提交明删除公寓:deleteApart.jsp信息输入:删除的公寓楼号建立一个文本框。删除的宿舍号建立一个文本框。功能按钮:建立 2 个功能按钮,重置和提交修改公寓:updateApart.jsp信息输入:修改的公寓楼号建立一个文本框修改的宿舍号建立一个文本框总人数建立一个文本框已有有人数建立一个文本框所属学院建立一个文本框分配时间建立一个文本
16、框功能按钮:建立一个功能按钮,保存。查询公寓:selectApart.jsp信息输入:查询的公寓楼号建立一个文本框。查询的公宿舍号建立一个文本框。功能按钮:建立 2 个功能按钮,重置和提交功能按钮:建立 2 个功能按钮,确定和取消。显示所有公寓信息: flatMangager.jsp楼号宿舍号总人数已有人数所属学院分配时间一个表格显示。功公寓信息管理能l查询:通过输入想要的楼号和宿舍号,系统会返回对应宿舍的信息。说l新增:通过填写表单信息后,将新的宿舍添加到公寓信息表中,同时如果成功则 明会返回成功的页面,如果失败则会报错。l修改:通过输入想要的楼号和宿舍号,同时输入想要修改成的数据,通过表单
17、对 数据库进行修改。同时如果成功则会返回成功的页面,如果失败则会报错。l删除:通过输入想要的楼号和宿舍号,删除相应宿舍。同时如果成功则会返回成 功的页面,如果失败则会报错。l显示所有公寓信息:报数据库中所有资料打印到一个表格中,显示在网页上。 新增公寓: insrtApart.jspl重置:将所有的文本框、列表框中输入的信息清空,单选框默认为第一个,复选 框至于未选状态。l 提交: 将表单提交到 ApartDal.Java , 根据此时所提交的网页地址, 调用ApartBean.Java 中的 Insert 方法,加表单内容存入数据库。同时返回操作情况, 以用来显示是否成功。删除公寓:dele
18、teApart.jspl重置:将所有的文本框、列表框中输入的信息清空,单选框默认为第一个,复选 框至于未选状态。l 提交: 将表单提交到 ApartDal.Java , 根据此时所提交的网页地址, 调用ApartBean.Java 中的 delete 方法,通过楼号和宿舍号找到相应宿舍,对其进行删除。同时返回操作情况,以用来显示是否成功。修改公寓:updateApart.jspl重置:将所有的文本框、列表框中输入的信息清空,单选框默认为第一个,复选 框至于未选状态。l提交:将表单提交到ApartDal.Java,根据此时所提交的网页地址,调用ApartBean.Java 中的update 方法
19、,通过楼号和宿舍号找到相应宿舍,对其进行修改, 将内容改为表单中的内容。同时返回操作情况,以用来显示是否成功。查询公寓:selectApart.jspl重置:将所有的文本框、列表框中输入的信息清空,单选框默认为第一个,复选 框至于未选状态。l 提交: 将表单提交到 ApartDal.Java , 根据此时所提交的网页地址, 调用ApartBean.Java 中的 select 方法,通过楼号和宿舍号找到相应宿舍,将此行内容取出,在网页上的一个列表中显示出来。显示所有公寓信息: flatMangager.jspl网页在加载时,自动实例化 ApartBean 对象,同时调用 ListAllApar
20、t()方法,把数据库的内容读取到一个 list 中,在从一个表格中打印出来。校级公寓分配:l重置:将所有的文本框、列表框中输入的信息清空,单选框默认为第一个,复选 框至于未选状态。l 提交: 将表单提交到 ApartDal.Java , 根据此时所提交的网页地址, 调用ApartBean.Java 中的 divide 方法,通过学院提交的人数,取 4 的倍数,计算出宿舍数量,从没有学院和分配时间的宿舍分配好学院和时间。4 程序设计4.1 系统外部环境开发环境:PC 系列微机,CPU 1.2G 以上,内存 256 及以上操作系统:Windows XP 及以上浏览器:IE开发工具:MyEclips
21、e 8.5 Web 服务器:Tomcat6.x 数据库:SqlServer 20054.2 系统开发技术Java:面向对象编程语言Jsp: Java 服务器界面JavaBean:Java 语言写成的可重用组件JSTL:JSP 标准标签库SQL:结构化查询语言本系统采用 JSP+Servlet+javaBean 技术开发而成,采用 B/S 架构进行开发, 开发环境采用 MyEclipse 开发,数据库使用 SQLServer2005 数据库来存储信息。运行在 windows7 系统上。电脑配置:处理器 Intel Core i5-2410M(2.3GHz)内存容量2GB 硬盘容量 500GB 。
22、服务器:Tomcat6.0核心代码:Jsp 网页:新增公寓: insrtApart.jspMyEclipse:jdk5.0删除公寓:deleteApart.jsp 修改公寓:updateApart.jsp 查询公寓:selectApart.jsp显示所有公寓信息: flatMangager.jspServlet: ApartDal javaBean:ApartBean4.3.1 添加公寓信息界面 insertApart.Javabase href=添加公寓信息引入样式表。!-左侧功能菜单 后 台管理首页菜单查询公寓信息公寓信息 修改公寓信息删除公寓信息 增加公寓信息 显示所有公寓信息欢迎使用学
23、生管理系统,公寓中心工作人员公寓信息添加用于向 servelet 提交的表单元素。*添加的公寓楼号:size=50type=text*添加的宿舍号:input class=common-text name=DormitoryNosize=50type=text*总人数:inputclass=common-textname=allPeoplesize=50type=text*已有有人数:inputclass=common-textname=livePeoplesize=50type=text*所属学院:input class=common-textname=belongSchoolsize=50
24、type=text*分配时间:inputclass=common-textname=time交 type=submitvalue=返回 type=buttoninput class=btn btn-primary btn6 mr10 value= 提input class=btn btn6 onClick=history.go(-1)使用帮助电话:183661837304.3.2 公寓信息管理的 servlet 文件。public class ApartDal extends HttpServlet /* The doPost method of the servlet. * This met
25、hod is called when a form has its tag value method equals to post.* param request the request send by the client to the server* param response the response send by the server to the client* throws ServletException if an error occurred* throws IOException if an error occurred*/ Overridepublic void do
26、Post(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 用来区分来源的字符串String insert=http:/localhost:8080/FlatManage/insertApart.jsp;String select=http:/localhost:8080/FlatManage/selectApart.jsp; String delete=http:/localhost:8080/FlatManage/deleteApart.jsp; St
27、ring update=http:/localhost:8080/FlatManage/updateApart.jsp; if(request.getHeader(Referer).equals(select)如果表单来自 http:/localhost:8080/FlatManage/selectApart.jsp 网页则开始执行这一步ApartBean apart=new ApartBean(); ApartBean apart1=new ApartBean();apart.setbuildingno(Integer.parseInt(request.getParameter(Buildi
28、ngNo); apart.setdormitoryno(Integer.parseInt(request.getParameter(DormitoryNo); try apart1=apart.Select(apart);调用 bean 里的 select 方法if(apart1!=null) request.setAttribute(obj ect, apart1);request.getRequestDispatcher(ApartSelect.jsp).forward(request,response);网页跳转response);elserequest.getRequestDispat
29、cher(ApartFail.jsp).forward(request, catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace();elseif(request.getHeader(Referer).equals(delete) ApartBe an apart=new ApartBean();ApartBean apart1=new ApartBean(); apart.setbuildingno(Integer.parseInt(request.getParameter(BuildingNo);
30、 apart.setdormitoryno(Integer.parseInt(request.getParameter(DormitoryNo); int flag;try response);response);response);flag = apart1.Delete(apart); if(flag=0)else if(flag=1) request.getRequestDispatcher(ApartSuccess.jsp).forward(request,elserequest.getRequestDispatcher(ApartWithout.jsp).forward(reques
31、t, catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace();elseif(request.getHeader(Referer).equals(insert) ApartBe an apart=new ApartBean();ApartBean apart1=new ApartBean(); apart.setbuildingno(Integer.parseInt(request.getParameter(BuildingNo); apart.setdormitoryno(Integer.pars
32、eInt(request.getParameter(DormitoryNo); apart.setAllPeople(Integer.parseInt(request.getParameter(allPeople); apart.setLivePeople(Integer.parseInt(request.getParameter(livePeople); apart.setBelongSchool(request.getParameter(belongSchool); apart.setTime(Integer.parseInt(request.getParameter(time);int
33、flag; try flag = apart1.Insert(apart); if(flag=2)response);response);response);else if(flag=1) request.getRequestDispatcher(ApartSuccess.jsp).forward(request,elserequest.getRequestDispatcher(ApartFail.jsp).forward(request, catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace();
34、elseApartBean apart=new ApartBean(); ApartBean apart1=new ApartBean();apart.setbuildingno(Integer.parseInt(request.getParameter(BuildingNo); apart.setdormitoryno(Integer.parseInt(request.getParameter(DormitoryNo); apart.setAllPeople(Integer.parseInt(request.getParameter(allPeople); apart.setLivePeop
35、le(Integer.parseInt(request.getParameter(livePeople); apart.setBelongSchool(request.getParameter(belongSchool); apart.setTime(Integer.parseInt(request.getParameter(time);int flag; try response);response);response);flag = apart1.Update(apart); if(flag=1)request.getRequestDispatcher(ApartSuccess.jsp).
36、forward(request,else if(flag=0) request.getRequestDispatcher(ApartFail.jsp).forward(request,elserequest.getRequestDispatcher(ApartWithout.jsp).forward(request, catch (SQLException e) / TODO Auto-generated catch block e.printStackTrace();4.3.3 javabean 文件public class ApartBean 实体所拥有的属性private int bui
37、ldingno;private int private int private intdormitoryno; allPeople; livePeople;private String belongSchool; private inttime;get set 方法List list1=new LinkedList();public int getbuildingno() return buildingno;public void setbuildingno(int budlingNo) buildingno = budlingNo;public int getdormitoryno() re
38、turn dormitoryno;public void setdormitoryno(int dormitoryNo) dormitoryno = dormitoryNo;public int getAllPeople() return allPeople;public void setAllPeople(int allPeople) this.allPeople = allPeople;public int getLivePeople() return livePeople;public void setLivePeople(int livePeople) this.livePeople
39、= livePeople;public String getBelongSchool() return belongSchool;public void setBelongSchool(String belongSchool) this.belongSchool = belongSchool;public int getTime() return time;public void setTime(int time) this.time = time;public List ListAllApart()/获取公寓信息表所有内容的方法Connection conn=null; PreparedSt
40、atement ps=null; ResultSet re=null;try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);String url=jdbc:sqlserver:/localhost:49188; DatabaseName=FlatManager; String user1=ares;String passworda=ares; conn=DriverManager.getConnection(url,user1,passworda); String sql=select * from apartInfo;
41、 ps=conn.prepareStatement(sql);re=ps.executeQuery(); while(re.next()ApartBean apart11=new ApartBean(); apart11.buildingno=re.getInt(BuildingNo); apart11.dormitoryno=re.getInt(DormitoryNo); apart11.allPeople=re.getInt(allPeople); apart11.livePeople=re.getInt(livePeople); apart11.belongSchool=re.getString(belongSchool); apart11.time=re.getInt(time);list1.add(apart11); catch (ClassNotFoundException e) / TODO Auto-generated catch block e.printStackTrace(); catch (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农行知识点课件
- 二零二五年展会现场保洁与设施管理合同补充条款
- 2025版教育培训机构劳动合同封面
- 2025版茶叶礼盒定制与销售合同
- 二零二五年电子烟ODM定制加工合同
- 2025版茶餐厅连锁经营合同范本
- 2025版厂房建设项目风险管理与应急预案合同
- 二零二五年度挖掘机零配件采购合同范本
- 二零二五版新型节能门窗安装与节能减排评估合同范本
- 2025年玻璃纤维增强塑料安装工程合同范本
- 语用学(第五章)课件
- GB/T 4214.5-2023家用和类似用途电器噪声测试方法电动剃须刀、电理发剪及修发器的特殊要求
- 事故车出险定损单模板
- 2023年广东广州市越秀区流花街招聘两名专职统计员笔试备考题库及答案解析
- 色彩心理和色彩联想
- 软件项目投标技术标书
- 干部人事档案目录(样表)
- 幼儿园中班语言教案《顽皮的小雨滴》含反思
- NY/T 455-2001胡椒
- GB/T 8544-1997铝及铝合金冷轧带材
- GB/T 5585.1-2005电工用铜、铝及其合金母线第1部分:铜和铜合金母线
评论
0/150
提交评论