版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东建筑大学计算机科学与技术学院课程设计说明书题目:学生公寓管理系统的分析和设计课程:软件工程院(部):计算机学院专业:软件工程班级:学生姓名:学号:指导教师:完成日期:目录目录 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视图设计 143详细设计 183.1公寓中心工作人员 18山东建筑大学计算机科学与技术学院课程设计任务书(五)设计题目学生公寓管理系统的分析和设计已知技术参数和设计要求采用面向对象或结构化设计方法,在windows开发环境下进行。4-5人成立一个开发小组,选出小组项目负责人,并对小组成员按任务进行分工。严格按软件工程的方法,分阶段进行开发(需求分析、概要及详细设计、编码、测试等)。要求每阶段产生的软件工程文档等软件配置齐全、合理。5.课程设计结束上交课程设计报告电子版、编码。要求的提交的课程设计报告内容包括:1)问题定义2)需求分析3)概要设计4)详细设计5)程序设计6)软件测试。设计内容与步骤学校有若干公寓,每栋5层,每层18个房间,每个房间4个学生,需要一个公寓管理系统实现管理。系统主要模块如下:(1)学生公寓管理系统设计与实现—寝室分配寝室分配:根据系别、年级、班级分配寝室。查询寝室状态和入住信息。(2)学生公寓管理系统设计与实现—学生管理学生管理:实现入住学生信息的维护和查询功能住宿查询:包括按公寓楼号、学生姓名等查询住宿信息。(3)学生公寓管理系统设计与实现—财产管理财产管理:实现对公寓财产的管理功能。(4)学生公寓管理系统设计与实现—出入登记出入登记:实现对学生搬出公寓的货物进行登记和对外来人员进行登记等功能。(5)学生公寓管理系统设计与实现—系统管理系统管理:参数设置(如公寓楼号、寝室房号、系别、年级、班级的设置)设计工作计划与进度安排1.工作计划1)软件工程课程设计任务是一个团队合作完成的任务,小组每位成员都要自始至终一起参与完成。2)任务分配要求:软件开发注重过程管理,组长负责整个任务的管理和协调。组长根小组成员情况,将题目进行分解,每个成员至少要完成一个模块的设计工作。3)文档的书写安排:2位成员负责需求分析文档的书写,2位成员负责概要设计文档的书写,小组成员每人完成自己分得的模块的详细设计、实现和测试。4)课程设计结束,根据课程设计模板,每位学生提交一份完整的“软件工程课程设计报告”。2.进度安排第9周:布置课程设计工作,布置题目,分组,组长分工;第10周:书写软件可行性研究报告,星期三介绍报告;第11周:书写软件开发计划,星期三介绍报告;第12周:书写需求分析文档,星期三介绍报告;第13周:书写概要设计文档,星期三介绍报告;第14周:书写详细设计文档,星期三介绍报告;第15周:书写测试报告,星期三介绍报告;第19周:撰写课程设计报告;第20周:答辩,经任课教师检验合格后每位同学将自己的文件打包(文档+代码),文件名:学号姓名(2007000101某某).rar交给组长;组长将文档和程序存储到资料室存储器中,同时发公共邮箱一份。设计考核要求设计考核成绩分为三部分:课程设计报告(50%)程序实现(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.22概要设计2.1数据流图及数据字典2.1.1公寓管理系统管理系统数据流图在这个系统里,公寓中心只有向系统里更新公寓信息的权利,还有分配给二级学院宿舍的权力。二级学院可以进行宿舍到人的分配功能公寓管理2.2数据分析与数据库设计根据要求可知,实体有3个。(1)公寓宿舍实体的属性为:{楼号、宿舍号、最大人数、已有人数、所属学院、分配时间}(2)用户实体的属性为:{用户名、密码、权限、备注(3)学生实体的属性为:{学号、姓名、学院、专业、班级、楼号、宿舍号}2.2.1数据库概念结构设计表名说明备注apartInfo公寓信息表储存全部公寓信息accountIfo用户信息表系统内所有登录用户的信息studentInfo学生信息表记录学生信息的表apartInfo数据字典列名类型内容备注BuildingNoInt公寓楼号DormitoryNoInt宿舍号allPeopleInt总人数livePeopleInt已有有人数belongSchoolVarchar(50)所属学院TimeInt分配时间accountIfo数据字典列名类型内容备注accountVarchar(50)账号主键passwordVarchar(50)密码powerInt权限remarksVarchar(50)备注studentInfo数据字典列名类型内容备注studentNoInt学号主键studentNameVarchar(50)姓名studentCollegeVarchar(50)学院studentJobVarchar(50)专业studentClassVarchar(50)班级BuildingNoInt楼号DormitoryNoInt宿舍号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公寓管理界面设计登陆界面新增公寓界面删除公寓界面修改公寓信息界面查询公寓新界面查询结果界面操作成功界面显示所有公寓信息界面出错宿舍号已存在出错界面公寓分配界面公寓分配结果界面微调界面功能说明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><tdclass="res-lab">楼号</td> <tdclass="res-lab">宿舍号</td> <tdwidth="459"class="res-lab">总人数</td> <tdwidth="459"class="res-lab">已有人数</td> <tdwidth="459"class="res-lab">所属学院</td> <tdwidth="459"class="res-lab">分配时间</td> </tr>一个表格显示。功能说明公寓信息管理查询:通过输入想要的楼号和宿舍号,系统会返回对应宿舍的信息。新增:通过填写表单信息后,将新的宿舍添加到公寓信息表中,同时如果成功则会返回成功的页面,如果失败则会报错。修改:通过输入想要的楼号和宿舍号,同时输入想要修改成的数据,通过表单对数据库进行修改。同时如果成功则会返回成功的页面,如果失败则会报错。删除:通过输入想要的楼号和宿舍号,删除相应宿舍。同时如果成功则会返回成功的页面,如果失败则会报错。显示所有公寓信息:报数据库中所有资料打印到一个表格中,显示在网页上。新增公寓:insrtApart.jsp重置:将所有的文本框、列表框中输入的信息清空,单选框默认为第一个,复选框
至于未选状态。提交:将表单提交到ApartDal.Java,根据此时所提交的网页地址,调用ApartBean.Java中的Insert方法,加表单内容存入数据库。同时返回操作情况,以用来显示是否成功。删除公寓:deleteApart.jsp重置:将所有的文本框、列表框中输入的信息清空,单选框默认为第一个,复选框
至于未选状态。提交:将表单提交到ApartDal.Java,根据此时所提交的网页地址,调用ApartBean.Java中的delete方法,通过楼号和宿舍号找到相应宿舍,对其进行删除。同时返回操作情况,以用来显示是否成功。修改公寓:updateApart.jsp重置:将所有的文本框、列表框中输入的信息清空,单选框默认为第一个,复选框
至于未选状态。提交:将表单提交到ApartDal.Java,根据此时所提交的网页地址,调用ApartBean.Java中的update方法,通过楼号和宿舍号找到相应宿舍,对其进行修改,将内容改为表单中的内容。同时返回操作情况,以用来显示是否成功。查询公寓:selectApart.jsp重置:将所有的文本框、列表框中输入的信息清空,单选框默认为第一个,复选框
至于未选状态。提交:将表单提交到ApartDal.Java,根据此时所提交的网页地址,调用ApartBean.Java中的select方法,通过楼号和宿舍号找到相应宿舍,将此行内容取出,在网页上的一个列表中显示出来。显示所有公寓信息:flatMangager.jsp网页在加载时,自动实例化ApartBean对象,同时调用ListAllApart()方法,把数据库的内容读取到一个list中,在从一个表格中打印出来。校级公寓分配:重置:将所有的文本框、列表框中输入的信息清空,单选框默认为第一个,复选框
至于未选状态。提交:将表单提交到ApartDal.Java,根据此时所提交的网页地址,调用ApartBean.Java中的divide方法,通过学院提交的人数,取4的倍数,计算出宿舍数量,从没有学院和分配时间的宿舍分配好学院和时间。1.1公寓分配模块说明书模块名称:院级宿舍分配窗口标题及标识:院级宿舍分配divideFlat.jsp学生宿舍微调just.jsp相关表及视图:公寓信息表:apartInfo学生信息表:studentInfo窗口控件设计说明院级宿舍分配divideFlat.jsp功能按钮:建立1个功能按钮,开始分配。学生宿舍微调just.jsp要调的学号—建立一个文本框要调到的楼号—建立一个文本框要调到的寝室号—建立一个文本框功能按钮:建立2个功能按钮,重置和提交功能说明院级宿舍分配院级宿舍分配学生宿舍微调院级宿舍分配divideFlat.jsp开始分配:点击后,调用studentBean中的divide()方法,将本院的宿舍分到个人上。同时跳转到结果页面显示分配结果。学生宿舍微调just.jsp重置:将所有的文本框、列表框中输入的信息清空,单选框默认为第一个,复选框
至于未选状态。提交:将表单提交到StudentDal.Java,根据此时所提交的网页地址,调用StudentDal.Java中的Just(StudentBean)方法,通过楼号和宿舍号找到相应宿舍,通过学号找到相应同学,找到相信宿舍后,如果未满就就让这个人插入,如果已满,就从目标宿舍中挑选一人与之对换。同时返回操作情况,以用来显示是否成功。4程序设计4.1系统外部环境开发环境:PC系列微机,CPU1.2G以上,内存256及以上操作系统:WindowsXP及以上浏览器:IE开发工具:MyEclipse8.5Web服务器:Tomcat6.x数据库:SqlServer20054.2系统开发技术Java:面向对象编程语言Jsp:Java服务器界面JavaBean:Java语言写成的可重用组件JSTL:JSP标准标签库SQL:结构化查询语言本系统采用JSP+Servlet+javaBean技术开发而成,采用B/S架构进行开发,开发环境采用MyEclipse开发,数据库使用SQLServer2005数据库来存储信息。运行在windows7系统上。电脑配置:处理器IntelCorei5-2410M(2.3GHz)内存容量2GB硬盘容量500GB。服务器:Tomcat6.0MyEclipse:jdk5.0核心代码:Jsp网页:新增公寓:insrtApart.jsp删除公寓:deleteApart.jsp修改公寓:updateApart.jsp查询公寓:selectApart.jsp显示所有公寓信息:flatMangager.jspServlet:ApartDaljavaBean:ApartBean4.3.1添加公寓信息界面insertApart.J<%@pagelanguage="java"import="java.util.*"import="Bean.ApartBean"pageEncoding="UTF-8"%><%@pagecontentType="text/html;charset=UTF-8"%><%@tagliburi="/jsp/jstl/core"prefix="c"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><basehref="<%=basePath%>"><title>添加公寓信息</title><linkrel="stylesheet"type="text/css"href="css/common.css"/><linkrel="stylesheet"type="text/css"href="css/main.css"/><scripttype="text/javascript"src="js/libs/modernizr.min.js"></script>引入样式表。 <metahttp-equiv="pragma"content="no-cache"> <metahttp-equiv="cache-control"content="no-cache"> <metahttp-equiv="expires"content="0"> <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"> <metahttp-equiv="description"content="Thisismypage"> <metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"> <!-- <linkrel="stylesheet"type="text/css"href="styles.css"> --></head><body><div><divclass="topbar-wrapwhite">左侧功能菜单<divclass="topbar-innerclearfix"><divclass="topbar-logo-wrapclearfix"><h1class="topbar-logonone"><ahref="index.html"class="navbar-brand">后台管理</a></h1><ulclass="navbar-listclearfix"><li><aclass="on"href="index.html">首页</a></li></ul></div> </div></div></div><divclass="containerclearfix"><divclass="sidebar-wrap"><divclass="sidebar-title"><h1>菜单</h1></div><divclass="sidebar-content"><ulclass="sidebar-list"><li><iclass="icon-font"></i>公寓信息</a><ulclass="sub-menu"><li><ahref="selectApart.jsp"><iclass="icon-font"></i>查询公寓信息</a></li><li><ahref="UpdateApart.jsp"><iclass="icon-font"></i>修改公寓信息</a></li><li><ahref="deleteApart.jsp"><iclass="icon-font"></i>删除公寓信息</a></li><li><ahref="insertApart.jsp"><iclass="icon-font"></i>增加公寓信息</a></li> <li><ahref="flatMangager.jsp"><iclass="icon-font"></i>显示所有公寓信息</a></li></ul></li></ul></div></div><divclass="main-wrap"><divclass="crumb-wrap"><divclass="crumb-list"><iclass="icon-font"></i><span>欢迎使用学生管理系统,公寓中心工作人员</span></div></div></div> <!--ddddd--> <divclass="main-wrap"> <divclass="result-title"><h1>公寓信息添加</h1></div> <divclass="result-wrap"><divclass="result-content">用于向servelet提交的表单元素。<formaction="ApartDal"method="post"id="myform"name="myform"><tableclass="insert-tab"width="100%"><tbody><tr><th><iclass="require-red">*</i>添加的公寓楼号:</th><td><inputclass="common-textrequired"id="title"name="BuildingNo"size="50"value=""type="text"></td></tr><tr><th><iclass="require-red">*</i>添加的宿舍号:</th><td><inputclass="common-text"name="DormitoryNo"size="50"type="text"></td></tr> <tr><th><iclass="require-red">*</i>总人数:</th><td><inputclass="common-text"name="allPeople"size="50"type="text"></td></tr> <tr><th><iclass="require-red">*</i>已有有人数:</th><td><inputclass="common-text"name="livePeople"size="50"type="text"></td></tr> <tr><th><iclass="require-red">*</i>所属学院:</th><td><inputclass="common-text"name="belongSchool"size="50"type="text"></td></tr><tr><th><iclass="require-red">*</i>分配时间:</th><td><inputclass="common-text"name="time"size="50"type="text"></td></tr><tr><th></th><td><inputclass="btnbtn-primarybtn6mr10"value="提交"type="submit"><inputclass="btnbtn6"onClick="history.go(-1)"value="返回"type="button"></td></tr></tbody></table></form></div></div><divclass="result-wrap"><divclass="result-title"><h1>使用帮助</h1></div><divclass="result-content"><ulclass="sys-info-list"><li><labelclass="res-lab">电话:</label><spanclass="res-info">lt;/span></li></ul></div></div></div></div></body></html>4.3publicclassApartDalextendsHttpServlet{ /** *ThedoPostmethodoftheservlet.<br> * *Thismethodiscalledwhenaformhasitstagvaluemethodequalstopost. * *@paramrequesttherequestsendbytheclienttotheserver *@paramresponsetheresponsesendbytheservertotheclient *@throwsServletExceptionifanerroroccurred *@throwsIOExceptionifanerroroccurred */ @Override publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{用来区分来源的字符串Stringinsert="http://localhost:8080/FlatManage/insertApart.jsp"; Stringselect="http://localhost:8080/FlatManage/selectApart.jsp"; Stringdelete="http://localhost:8080/FlatManage/deleteApart.jsp"; Stringupdate="http://localhost:8080/FlatManage/updateApart.jsp"; if(request.getHeader("Referer").equals(select)){如果表单来自http://localhost:8080/FlatManage/selectApart.jsp网页则开始执行这一步 ApartBeanapart=newApartBean(); ApartBeanapart1=newApartBean(); apart.setbuildingno(Integer.parseInt(request.getParameter("BuildingNo"))); apart.setdormitoryno(Integer.parseInt(request.getParameter("DormitoryNo"))); try{ apart1=apart.Select(apart);调用bean里的select方法 if(apart1!=null){ request.setAttribute("object",apart1); request.getRequestDispatcher("ApartSelect.jsp").forward(request,response);网页跳转 } else{ request.getRequestDispatcher("ApartFail.jsp").forward(request,response); } }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } elseif(request.getHeader("Referer").equals(delete)){ ApartBeanapart=newApartBean(); ApartBeanapart1=newApartBean(); apart.setbuildingno(Integer.parseInt(request.getParameter("BuildingNo"))); apart.setdormitoryno(Integer.parseInt(request.getParameter("DormitoryNo"))); intflag; try{ flag=apart1.Delete(apart); if(flag==0){ request.getRequestDispatcher("ApartFail.jsp").forward(request,response); }elseif(flag==1){ request.getRequestDispatcher("ApartSuccess.jsp").forward(request,response); }else{ request.getRequestDispatcher("ApartWithout.jsp").forward(request,response); } }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } elseif(request.getHeader("Referer").equals(insert)){ ApartBeanapart=newApartBean(); ApartBeanapart1=newApartBean(); apart.setbuildingno(Integer.parseInt(request.getParameter("BuildingNo"))); apart.setdormitoryno(Integer.parseInt(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"))); intflag; try{ flag=apart1.Insert(apart); if(flag==2){ request.getRequestDispatcher("ApartLive.jsp").forward(request,response); }elseif(flag==1){ request.getRequestDispatcher("ApartSuccess.jsp").forward(request,response); }else{ request.getRequestDispatcher("ApartFail.jsp").forward(request,response); } }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } else{ ApartBeanapart=newApartBean(); ApartBeanapart1=newApartBean(); apart.setbuildingno(Integer.parseInt(request.getParameter("BuildingNo"))); apart.setdormitoryno(Integer.parseInt(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"))); intflag; try{ flag=apart1.Update(apart); if(flag==1){ request.getRequestDispatcher("ApartSuccess.jsp").forward(request,response); }elseif(flag==0){ request.getRequestDispatcher("ApartFail.jsp").forward(request,response); }else{ request.getRequestDispatcher("ApartWithout.jsp").forward(request,response); } }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } }}4.3.3publicclassApartBean{实体所拥有的属性privateintbuildingno;privateintdormitoryno;privateintallPeople;privateintlivePeople;privateStringbelongSchool;privateinttime;getset方法List<ApartBean>list1=newLinkedList<ApartBean>(); publicintgetbuildingno(){ returnbuildingno; } publicvoidsetbuildingno(intbudlingNo){ buildingno=budlingNo; } publicintgetdormitoryno(){ returndormitoryno; } publicvoidsetdormitoryno(intdormitoryNo){ dormitoryno=dormitoryNo; } publicintgetAllPeople(){ returnallPeople; } publicvoidsetAllPeople(intallPeople){ this.allPeople=allPeople; } publicintgetLivePeople(){ returnlivePeople; } publicvoidsetLivePeople(intlivePeople){ this.livePeople=livePeople; } publicStringgetBelongSchool(){ returnbelongSchool; } publicvoidsetBelongSchool(StringbelongSchool){ this.belongSchool=belongSchool; } publicintgetTime(){ returntime; } publicvoidsetTime(inttime){ this.time=time; } publicList<ApartBean>ListAllApart(){//获取公寓信息表所有内容的方法 Connectionconn=null;PreparedStatementps=null;ResultSetre=null;try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Stringurl="jdbc:sqlserver://localhost:49188;DatabaseName=FlatManager"; Stringuser1="ares"; Stringpassworda="ares"; conn=DriverManager.getConnection(url,user1,passworda); Stringsql="select*fromapartInfo"; ps=conn.prepareStatement(sql); re=ps.executeQuery(); while(re.next()){ ApartBeanapart11=newApartBean(); 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(ClassNotFoundExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } returnlist1; } publicApartBeanSelect(ApartBeanuser2)throwsSQLException{//查询单个公寓信息所使用的方法 Connectionconn=null;PreparedStatementps=null;ResultSetre=null;ApartBeanapart=null;try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Stringurl="jdbc:sqlserver://localhost:49188;DatabaseName=FlatManager"; Stringuser1="ares"; Stringpassworda="ares"; conn=DriverManager.getConnection(url,user1,passworda); Stringsql="select*fromapartInfowhereBuildingNo=?andDormitoryNo=?"; ps=conn.prepareStatement(sql); ps.setInt(1,user2.buildingno); ps.setInt(2,user2.dormitoryno); re=ps.executeQuery(); while(re.next()){ apart=newApartBean(); apart.buildingno=re.getInt("BuildingNo"); apart.dormitoryno=re.getInt("DormitoryNo"); apart.allPeople=re.getInt("allPeople"); apart.livePeople=re.getInt("livePeople"); apart.belongSchool=re.getString("belongSchool"); apart.time=re.getInt("time"); }}catch(ClassNotFoundExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } returnapart; } publicintDelete(ApartBeanuser2)throwsSQLException{//删除公寓信息的方法。 Connectionconn=null;PreparedStatementps=null;intresult=0;if(user2.Select(user2)!=null){ try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Stringurl="jdbc:sqlserver://localhost:49188;DatabaseName=FlatManager"; Stringuser1="ares"; Stringpassworda="ares"; conn=DriverManager.getConnection(url,user1,passworda); Stringsql="deletefromapartInfowhereBuildingNo=?andDormitoryNo=?"; ps=conn.prepareStatement(sql); ps.setInt(1,user2.buildingno); ps.setInt(2,user2.dormitoryno); result=ps.executeUpdate();}catch(ClassNotFoundExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } if(result==1){ return1; } else{ return0; }}else{ return0;} } publicintUpdate(ApartBeanuser)throwsSQLException{ Connectionconn=null;PreparedStatementps=null;intresult=0;if(user.Select(user)!=null){ try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Stringurl="jdbc:sqlserver://localhost:49188;DatabaseName=FlatManager"; Stringuser1="ares"; Stringpassworda="ares"; conn=DriverManager.getConnection(url,user1,passworda); Stringsql="UpdateapartInfosetallPeople=?,livePeople=?,belongSchool=?,time=?whereBuildingNo=?andDormitoryNo=?"; ps=conn.prepareStatement(sql); ps.setInt(1,user.allPeople); ps.setInt(2,user.livePeople); ps.setString(3,user.belongSchool); ps.setInt(4,user.time); ps.setInt(5,user.buildingno); ps.setInt(6,user.dormitoryno); result=ps.executeUpdate();}catch(ClassNotFoundExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } if(result==1){ return1; } else{ return0; }}else{ return0;} } publicintInsert(ApartBeanuser)throwsSQLException{ Connectionconn=null;PreparedStatementps=null;intresult=0;if(user.Select(user)==null){ try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Stringurl="jdbc:sqlserver://localhost:49188;DatabaseName=FlatManager"; Stringuser1="ares"; Stringpassworda="ares"; conn=DriverManager.getConnection(url,user1,passworda); Stringsql="insertintoapartInfo(BuildingNo,DormitoryNo,allPeople,livePeople,belongSchool,time)values(?,?,?,?,?,?)"; ps=conn.prepareStatement(sql); ps.setInt(1,user.buildingno); ps.setInt(2,user.dormitoryno); ps.setInt(3,user.allPeople); ps.setInt(4,user.livePeople); ps.setString(5,user.belongSchool); ps.setInt(6,user.time); result=ps.executeUpdate();}catch(ClassNotFoundExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } if(result==1){ return1; } else{ return0; }}else{ return0;} }}总结以一个组为单位进行软件开发虽然不是第一次,但是这次实在软件工程的指导下进行的,同时结合了本学期的javaee的学习,制作成了网站样式,利用css进行了布局,让网站变得比以往更加美观。同时利用管理画图工具,在开始之前就对程序和数据库有了直观的印象,让开发过更加简洁,也让开发工作变得更容易配合写作。
参考文献[1]刘甫迎.C#程序设计教程[M].北京:电子工业出版社,2008.[2]黄耀申,张志文,姜海舰等.模具制造企业物流管理信息系统开发与实现(软件工程论文)[J].物流科技,2010,(9):15-17.[3]成先海.数据库基础与应用[M].北京:机械工业出版社,2008.[4]JoelMurach.ASP.NET2.0webprogrammingwithc#2005[M].Mumbai:MikeMurach&AssociatesInc,2006.[5]曹伟.电子商务条件下的粮食物流信息管理系统构建[J].湖南商学院学报,2010,17(3):100-103.[6]AbrahamSilberschatz.DatabaseSystem[M].Singapore:Mcgraw.HillinternationalLtd,2006.[7]杨林,盛业华,王靖,罗涛.基于UML的物流管理信息系统设计与实现[J].南京师大学报(自然科学版),2009,32(4):122-126.[8]RogerS-Pressman.SoftwareEngineering[M].NewDelhi:TataMcGraw-HillPublishingCompanyLtd,2006.[9]张艳.基于工作过程的物流信息系统与管理课程的重构[J].辽宁高职学报,2010,12(2):45-47.[10]HerbertSchildt.ThecompletereferenceJava2[M].NewDelhi:TataMcGraw-HillPublishingCompanyLtd,2006.[11]邹建峰.C#企业级开发案例精解[M].北京:人民邮电出版社,2006.[12]顾正兰.高校图书采购决策系统分析与研究[J].信息系统工程,2009,(12):110-116.[13]李炜.建立高效配送体系实现供应链优化[J].石油商技,2002,20(4):20-22.[14]胡业江,张全伙.基于ASP.NET的WEB数据库的分页显示[J].计算机系统应用,2004,(1):30-31.[15]李德奇.ASP.NET程序设计[M].北京:人民邮电出版社,2007.[16]李剑.路剑.利用物流信息技术再造我国鲜活农产品物流系统[J].商场现代化,2006,2(5):34-38.山东建筑大学计算机科学与技术学院课程设计指导教师评语班级:学生姓名:学号:指导教师评语(包括工作态度,遵守纪律;基本理论、知识、技能;独立工作能力和分析解决问题的能力;完成任务情况及水平):学生成绩(百分制):指导教师签名:年月日基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冬休安全应急预案范文(5篇)
- 童装市场趋势洞察-洞察分析
- 连接器-材料知识培训课件
- 关于节约粮食国旗下讲话稿(17篇)
- 六年级《各具特色的民居》课件
- 汽车设计-课程设计-离合器设计
- 办公空间设计中的天文元素运用
- 农业科技成果转化的新机遇与挑战
- 健康生活家庭健身器材全解析
- 企业内部如何进行创新成果的评估与保护
- 课内文言文阅读(原卷版)-2024-2025学年九年级语文上学期期中试题分类汇编(山东专用)
- 2024秋国开《管理学基础》形考任务(1234)试题及答案
- 叉车安全管理
- 院感课件下载
- 2022幼儿园教师读书参考心得体会5篇
- 2024年《内科护理学》考试复习题库(含答案)
- 江苏省常熟市2024-2025学年七年级上学期12月月考历史卷(含答案)
- 浙江大学医学院附属儿童医院招聘人员真题
- 考试安全保密培训
- 租赁部绩效考核制度
- 江苏省扬州市2023-2024学年高一上学期期末考试物理试题(含答案)
评论
0/150
提交评论