收藏 分销(赏)

学生公寓管理系统的分析和设计.doc

上传人:可**** 文档编号:2827601 上传时间:2024-06-06 格式:DOC 页数:38 大小:1.47MB 下载积分:10 金币
下载 相关 举报
学生公寓管理系统的分析和设计.doc_第1页
第1页 / 共38页
学生公寓管理系统的分析和设计.doc_第2页
第2页 / 共38页


点击查看更多>>
资源描述
山东建筑大学计算机科学与技术学院 课程设计说明书 题 目: 学生公寓管理系统的分析和设计 课 程: 软件工程 院 (部): 计算机学院 专 业: 软件工程 班 级: 学生姓名: 学 号: 指导教师: 完成日期: 目 录 目 录 2 课程设计任务书(五) 3 1 需求分析 5 1.1系统概述 5 1.2目标系统描述 5 1.2.1组织结构与职责 5 1.2.3 业务流程 6 1.2.4 表格及报表 8 1.3 目标系统功能需求 8 1.3.1 功能需求分析 8 1.3.2 系统用例图 9 2 概要设计 11 2.1数据流图及数据字典 11 2.1.1公寓管理系统管理系统数据流图 11 2.2 数据分析与数据库设计 12 2.2.1数据库概念结构设计 13 2.2.2 视图设计 14 3 详细设计 18 3.1公寓中心工作人员 18 山东建筑大学计算机科学与技术学院 课程设计任务书(五) 设计题目 学生公寓管理系统的分析和设计 已知技术参数和设计要求 1. 采用面向对象或结构化设计方法,在windows开发环境下进行。 2. 4-5人成立一个开发小组,选出小组项目负责人,并对小组成员按任务进行分工。 3. 严格按软件工程的方法,分阶段进行开发(需求分析、概要及详细设计、编码、测试等)。 4. 要求每阶段产生的软件工程文档等软件配置齐全、合理。 5.课程设计结束上交课程设计报告电子版、编码。 要求的提交的课程设计报告内容包括: 1)问题定义 2)需求分析 3)概要设计 4)详细设计 5)程序设计 6)软件测试。 设计内容与步骤 学校有若干公寓,每栋5层,每层18个房间,每个房间4个学生,需要一个公寓管理系统实现管理。系统主要模块如下: (1)学生公寓管理系统设计与实现—寝室分配 l 寝室分配:根据系别、年级、班级分配寝室。查询寝室状态和入住信息。 (2)学生公寓管理系统设计与实现—学生管理 l 学生管理:实现入住学生信息的维护和查询功能 l 住宿查询:包括按公寓楼号、学生姓名等查询住宿信息。 (3)学生公寓管理系统设计与实现—财产管理 l 财产管理:实现对公寓财产的管理功能。 (4)学生公寓管理系统设计与实现—出入登记 l 出入登记:实现对学生搬出公寓的货物进行登记和对外来人员进行登记等功能。 (5)学生公寓管理系统设计与实现—系统管理 系统管理:参数设置(如公寓楼号、寝室房号、系别、年级、班级的设置) 设计工作计划与进度安排 1. 工作计划 1)软件工程课程设计任务是一个团队合作完成的任务,小组每位成员都要自始至终一起参与完成。 2) 任务分配要求:软件开发注重过程管理,组长负责整个任务的管理和协调。组长根小组成员情况,将题目进行分解,每个成员至少要完成一个模块的设计工作。 3)文档的书写安排: 2位成员负责需求分析文档的书写,2位成员负责概要设计文档的书写,小组成员每人完成自己分得的模块的详细设计、实现和测试。 4)课程设计结束,根据课程设计模板,每位学生提交一份完整的“软件工程课程设计报告”。 2.进度安排 第9周:布置课程设计工作,布置题目,分组,组长分工; 第10周:书写软件可行性研究报告,星期三介绍报告; 第11周:书写软件开发计划,星期三介绍报告; 第12周:书写需求分析文档,星期三介绍报告; 第13周:书写概要设计文档,星期三介绍报告; 第14周:书写详细设计文档,星期三介绍报告; 第15周:书写测试报告,星期三介绍报告; 第19周:撰写课程设计报告; 第20周:答辩,经任课教师检验合格后 l 每位同学将自己的文件打包(文档+代码),文件名:学号 姓名(2007000101 某某).rar交给组长; l 组长将文档和程序存储到资料室存储器中,同时发公共邮箱一份。 设计考核要求 设计考核成绩分为三部分: 1. 课程设计报告(50%) 2. 程序实现(30%) 课程设计考勤(20%) 指导教师(签字): 教研室主任(签字): 1 需求分析 1.1系统概述 目前我校对于公寓的管理仍有公寓中心,各二级学院和物业人员依靠人力进行管理,而且宿舍中的各种出入人员和财务管理还仅仅依靠纸质文件,容易丢失和损坏,而学生的日常管理也有个学员到院自行收集信息管理。一旦出现变动无法上传,最直接的导致每年新生入学时,需要许多人员进行服务,和进行前期准备。而且新生宿舍的分配也有纯粹的人工进行,耗时耗力,而且难以杜绝中间的各种主观问题。基于此我们开始了系统的开发。 1.2目标系统描述 1.2.1组织结构与职责 图1.2.1山东建筑大学组织结构图 1.2.2角色定义 目标系统中的角色如表1.1所示。 表1.1 角 色 定 义 编号 角色 所在部门 职 责 1 系统管理员 信息中心 负责系统的管理维护,用户权限的分配,对用户的管理。 2 公寓中心工作人员 公寓中心 公寓的具体管理工作,全校宿舍的分配,院级的宿舍管理。 3 院学生组织工作人员 二级学院 负责具体学生事务,把宿舍分配给所有新生,对新生宿舍具体的管理和安排。 4 学院导员 二级学院 对学生的信息进行管理。负责学生的生活学习 5 楼管 物业 控制宿舍的出入情况,负责中东宿舍楼的管理 1.2.3 业务流程 整个公寓管理系统的业务一共有 7个,登陆,用户管理,公寓管理,公寓分配,学生管理,出入人员管理,财务管理。 (1)登陆 图1.2.2用户登录流程图 每一个用户在登录时,系统会根据用户名和密码对照,再根据权限跳转相应网页。 (2)用户管理 图1.2.3用户管理流程图 管理员登陆后,对用户进行操作,操作完成后系统返回对应信息。 (3)公寓管理 图1.2.4公寓管理流程图 公寓中心工作人员登陆后,对公寓进行操作,操作完成后系统返回对应信息。 (4)公寓分配 图1.2.5公寓分配流程图 公寓分配分两部分进行,首先由公寓中心对公寓信息进行第一次分配,把宿舍分给各学院,再由各二级学院进行分配。 (5)学生管理 图1.2.6学生管理流程图 学院导员登陆后,对学生信息进行操作,操作完成后系统返回对应信息。 (6)出入人员管理 图1.2.7出入人员管理流程图 楼管登陆后,对出入人员信息进行操作,操作完成后系统返回对应信息。 (7)财务管理 图1.2.7财务管理流程图 1.2.4 表格及报表 1.3 目标系统功能需求 1.3.1 功能需求分析 公寓管理系统涉及系统管理员,公寓管理员,学院工作人员,学院老师,楼管。不同的角色对系统的使用权限不同。其中系统管理员拥有对该系统的最高权限,能够在该系统中执行对其他所有用户的权限控制和对用户的管理操作;公寓管理员负责全校宿舍的管理和初级宿舍分配;学院工作人员则负责学院级别的宿舍分配和手动调节宿舍;学院老师则可以对学生信息进行操作;楼管则负责出入人员和财务的管理。 1.3.2 系统用例图 图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)公寓宿舍实体的属性为:{楼号、宿舍号、最大人数、已有人数、所属学院、分配时间} (2)用户实体的属性为:{用户名、密码、权限、备注 (3)学生实体的属性为:{学号、姓名、学院、专业、班级、楼号、宿舍号} 2.2.1数据库概念结构设计 表名 说明 备注 apartInfo 公寓信息表 储存全部公寓信息 accountIfo 用户信息表 系统内所有登录用户的信息 studentInfo 学生信息表 记录学生信息的表 apartInfo数据字典 列名 类型 内容 备注 BuildingNo Int 公寓楼号 DormitoryNo Int 宿舍号 allPeople Int 总人数 livePeople Int 已有有人数 belongSchool Varchar(50) 所属学院 Time Int 分配时间 accountIfo数据字典 列名 类型 内容 备注 account Varchar(50) 账号 主键 password Varchar(50) 密码 power Int 权限 remarks Varchar(50) 备注 studentInfo数据字典 列名 类型 内容 备注 studentNo Int 学号 主键 studentName Varchar(50) 姓名 studentCollege Varchar(50) 学院 studentJob Varchar(50) 专业 studentClass Varchar(50) 班级 BuildingNo Int 楼号 DormitoryNo Int 宿舍号 2.2.2 视图设计 2.3功能概要设计 模块名称 子模块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公寓管理 3.1.1.1 界面设计 登陆界面 新增公寓界面 删除公寓界面 修改公寓信息界面 查询公寓新界面 查询结果界面 操作成功界面 显示所有公寓信息界面 出错宿舍号已存在 出错界面 公寓分配界面 公寓分配结果界面 微调界面 3.1.1.2 功能说明 1.1公寓管理模块说明书 模块名称:公寓管理 窗口标题及标识:新增公寓: insrtApart.jsp 删除公寓:deleteApart.jsp 修改公寓:updateApart.jsp 查询公寓:selectApart.jsp 显示所有公寓信息: flatMangager.jsp 校级公寓分配: 相关表及视图: 公寓信息表:apartInfo 窗口控件设计说明 新增公寓: insrtApart.jsp 信息输入: 添加的公寓楼号—建立一个文本框 添加的宿舍号—建立一个文本框 总人数—建立一个文本框 已有有人数—建立一个文本框 所属学院—建立一个文本框 分配时间—建立一个文本框 新增结果:成功则显示成功页面,失败显示失败页面。 功能按钮:建立2个功能按钮,重置和提交 删除公寓:deleteApart.jsp 信息输入: 删除的公寓楼号—建立一个文本框。 删除的宿舍号—建立一个文本框。 功能按钮:建立2个功能按钮,重置和提交 修改公寓:updateApart.jsp 信息输入: 修改的公寓楼号—建立一个文本框 修改的宿舍号—建立一个文本框 总人数—建立一个文本框 已有有人数—建立一个文本框 所属学院—建立一个文本框 分配时间—建立一个文本框 功能按钮:建立一个功能按钮,保存。 查询公寓:selectApart.jsp 信息输入: 查询的公寓楼号—建立一个文本框。 查询的公宿舍号—建立一个文本框。 功能按钮:建立2个功能按钮,重置和提交功能按钮:建立2个功能按钮,确定和取消。 显示所有公寓信息: flatMangager.jsp <tr><td class="res-lab">楼号</td> <td class="res-lab">宿舍号</td> <td width="459" class="res-lab">总人数</td> <td width="459" class="res-lab">已有人数</td> <td width="459" class="res-lab">所属学院</td> <td width="459" class="res-lab">分配时间</td> </tr> 一个表格显示。 功能说明 公寓信息管理 l 查询:通过输入想要的楼号和宿舍号,系统会返回对应宿舍的信息。 l 新增:通过填写表单信息后,将新的宿舍添加到公寓信息表中,同时如果成功则会返回成功的页面,如果失败则会报错。 l 修改:通过输入想要的楼号和宿舍号,同时输入想要修改成的数据,通过表单对数据库进行修改。同时如果成功则会返回成功的页面,如果失败则会报错。 l 删除:通过输入想要的楼号和宿舍号,删除相应宿舍。同时如果成功则会返回成功的页面,如果失败则会报错。 l 显示所有公寓信息:报数据库中所有资料打印到一个表格中,显示在网页上。 新增公寓: insrtApart.jsp l 重置:将所有的文本框、列表框中输入的信息清空,单选框默认为第一个,复选框 至于未选状态。 l 提交: 将表单提交到ApartDal.Java,根据此时所提交的网页地址,调用ApartBean.Java中的Insert方法,加表单内容存入数据库。同时返回操作情况,以用来显示是否成功。 删除公寓:deleteApart.jsp l 重置:将所有的文本框、列表框中输入的信息清空,单选框默认为第一个,复选框 至于未选状态。 l 提交: 将表单提交到ApartDal.Java,根据此时所提交的网页地址,调用ApartBean.Java中的delete方法,通过楼号和宿舍号找到相应宿舍,对其进行删除。同时返回操作情况,以用来显示是否成功。 修改公寓:updateApart.jsp l 重置:将所有的文本框、列表框中输入的信息清空,单选框默认为第一个,复选框 至于未选状态。 l 提交: 将表单提交到ApartDal.Java,根据此时所提交的网页地址,调用ApartBean.Java中的update方法,通过楼号和宿舍号找到相应宿舍,对其进行修改,将内容改为表单中的内容。同时返回操作情况,以用来显示是否成功。 查询公寓:selectApart.jsp l 重置:将所有的文本框、列表框中输入的信息清空,单选框默认为第一个,复选框 至于未选状态。 l 提交: 将表单提交到ApartDal.Java,根据此时所提交的网页地址,调用ApartBean.Java中的select方法,通过楼号和宿舍号找到相应宿舍,将此行内容取出,在网页上的一个列表中显示出来。 显示所有公寓信息: flatMangager.jsp l 网页在加载时,自动实例化ApartBean对象,同时调用ListAllApart()方法,把数据库的内容读取到一个list中,在从一个表格中打印出来。 校级公寓分配: l 重置:将所有的文本框、列表框中输入的信息清空,单选框默认为第一个,复选框 至于未选状态。 l 提交: 将表单提交到ApartDal.Java,根据此时所提交的网页地址,调用ApartBean.Java中的divide方法,通过学院提交的人数,取4的倍数,计算出宿舍数量,从没有学院和分配时间的宿舍分配好学院和时间。 1.1公寓分配模块说明书 模块名称:院级宿舍分配 窗口标题及标识: 院级宿舍分配 divideFlat.jsp 学生宿舍微调 just.jsp 相关表及视图: 公寓信息表:apartInfo 学生信息表:studentInfo 窗口控件设计说明 院级宿舍分配 divideFlat.jsp 功能按钮: 建立1个功能按钮,开始分配。 学生宿舍微调 just.jsp 要调的学号—建立一个文本框 要调到的楼号—建立一个文本框 要调到的寝室号—建立一个文本框 功能按钮:建立2个功能按钮,重置和提交 功能说明 院级宿舍分配 l 院级宿舍分配 l 学生宿舍微调 院级宿舍分配 divideFlat.jsp l 开始分配:点击后,调用studentBean中的divide()方法,将本院的宿舍分到个人上。同时跳转到结果页面显示分配结果。 学生宿舍微调 just.jsp l 重置:将所有的文本框、列表框中输入的信息清空,单选框默认为第一个,复选框 至于未选状态。 l 提交: 将表单提交到StudentDal.Java,根据此时所提交的网页地址,调用StudentDal.Java中的Just(StudentBean)方法,通过楼号和宿舍号找到相应宿舍,通过学号找到相应同学,找到相信宿舍后,如果未满就就让这个人插入,如果已满,就从目标宿舍中挑选一人与之对换。同时返回操作情况,以用来显示是否成功。 4程序设计 4.1系统外部环境 开发环境:PC系列微机,CPU 1.2G以上,内存256及以上 操作系统:Windows XP及以上 浏览器:IE 开发工具:MyEclipse 8.5 Web服务器:Tomcat6.x 数据库:SqlServer 2005 4.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 。 服务器:Tomcat6.0 MyEclipse:jdk5.0 核心代码: Jsp网页: 新增公寓: insrtApart.jsp 删除公寓:deleteApart.jsp 修改公寓:updateApart.jsp 查询公寓:selectApart.jsp 显示所有公寓信息: flatMangager.jsp Servlet: ApartDal javaBean: ApartBean 4.3.1添加公寓信息界面 insertApart.Java <%@ page language="java" import="java.util.*" import="Bean.ApartBean" pageEncoding="UTF-8"%> <%@ page contentType="text/html;charset=UTF-8"%> <%@ taglib uri=" prefix="c" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>添加公寓信息</title> <link rel="stylesheet" type="text/css" href="css/common.css"/> <link rel="stylesheet" type="text/css" href="css/main.css"/> <script type="text/javascript" src="js/libs/modernizr.min.js"></script> 引入样式表。 <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <div> <div class="topbar-wrap white"> 左侧功能菜单 <div class="topbar-inner clearfix"> <div class="topbar-logo-wrap clearfix"> <h1 class="topbar-logo none"><a href="index.html" class="navbar-brand">后台管理</a></h1> <ul class="navbar-list clearfix"> <li><a class="on" href="index.html">首页</a></li> </ul> </div> </div> </div> </div> <div class="container clearfix"> <div class="sidebar-wrap"> <div class="sidebar-title"> <h1>菜单</h1> </div> <div class="sidebar-content"> <ul class="sidebar-list"> <li> <i class="icon-font">&#xe003;</i>公寓信息</a> <ul class="sub-menu"> <li> <a href="selectApart.jsp"><i class="icon-font">&#xe008;</i>查询公寓信息</a></li> <li> <a href="UpdateApart.jsp"><i class="icon-font">&#xe008;</i>修改公寓信息</a></li> <li> <a href="deleteApart.jsp"><i class="icon-font">&#xe008;</i>删除公寓信息</a></li> <li> <a href="insertApart.jsp"><i class="icon-font">&#xe008;</i>增加公寓信息</a></li> <li><a href="flatMangager.jsp"><i class="icon-font">&#xe008;</i>显示所有公寓信息</a></li> </ul> </li> </ul> </div> </div> <div class="main-wrap"> <div class="crumb-wrap"> <div class="crumb-list"><i class="icon-font">&#xe06b;</i><span>欢迎使用学生管理系统,公寓中心工作人员</span></div> </div> </div> <!-- ddddd--> <div class="main-wrap"> <div class="result-title"> <h1>公寓信息添加</h1> </div> <div class="result-wrap"> <div class="result-content"> 用于向servelet提交的表单元素。 <form action="ApartDal" method="post" id="myform" name="myform" > <table class="insert-tab" width="100%"> <tbody> <tr> <th><i class="require-red">*</i>添加的公寓楼号:</th> <td> <input class="common-text required" id="title" name="BuildingNo" size="50" value="" type="text"> </td> </tr> <tr> <th><i class="require-red">*</i>添加的宿舍号:</th> <td><input class="common-text" name="DormitoryNo" size="50" type="text"></td> </tr> <tr> <th><i class="require-red">*</i>总人数:</th> <td><input class="common-text" name="allPeople" size="50" type="text"></td> </tr> <tr> <th><i class="require-red">*</i>已有有人数:</th> <td><input class="common-text" name="livePeople" size="50" type="text"></td> </tr> <tr> <th><i class="require-red">*</i>所属学院:</th> <td><input class="common-text" name="belongSchool" size="50" type="text"></td> </tr> <tr> <th><i class="require-red">*</i>分配时间:</th> <td><input class="common-text" name="time" size="50" type="text"></td> </tr> <tr> <th></th> <td> <input class="btn btn-primary btn6 mr10" value="提交" type="submit"> <input class="btn btn6" onClick="history.go(-1)" value="返回" type="button"> </td> </tr> </tbody></table> </form> </div> </div> <div class="result-wrap"> <div class="result-title"> <h1>使用帮助</h1> </div> <div class="result-content"> <ul class="sys-info-list"> <li> <label class="res-lab">电话:</label><span class="res-info">18366183730</span> </li> </ul> </div> </div> </div> </div> </body> </html> 4.3.2 公寓信息管理的servlet文件。 public class ApartDal extends HttpServlet { /** * The doPost method of the servlet. <br> * * This method 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 IO
展开阅读全文

开通  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 

客服