当前位置:文档之家› 在线小区物业管理系统的设计与实现

在线小区物业管理系统的设计与实现

诚信承诺书

郑重承诺:所呈交的论文是作者个人在导师指导下进行的研究工作及取得的研究成果。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得安阳师范学院或其他教育机构的学位或证书所使用过的材料。与作者一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。

作者签名:日期:

导师签名:日期:

院长签名:日期:

论文使用授权说明

本人完全了解安阳师范学院有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。保密论文在解密后遵守此规定。

作者签名:导师签名:日期:

目录

前言 (1)

1 绪论 (1)

1.1 课题背景 (1)

1.2 目的和意义 (1)

1.3 开发工具及技术 (1)

1.3.1 开发工具 (1)

1.3.2 JSP技术 (2)

1.3.3 JavaScript (2)

1.4 软硬件需求 (3)

2 需求分析 (3)

2.1 需求调研 (3)

2.2 可行性分析 (3)

2.2.1 技术可行性 (3)

2.2.2 经济可行性 (3)

2.2.3 操作可行性 (3)

2.2.4 法律可行性 (3)

2.3 系统用户用例图 (4)

2.4 系统功能模块图 (4)

2.5 性能需求 (5)

2.6 界面需求 (5)

3 系统分析与设计 (5)

3.1 数据库的分析与设计 (5)

3.2 数据库的概念结构设计 (6)

3.3 数据库的逻辑结构设计 (7)

3.4 数据库的连接原理 (9)

4 系统功能实现 (10)

4.2.1业主信息管理 (11)

4.2.2 信息发布管理 (13)

4.2.3 报修信息管理 (14)

4.2.4 收费信息管理 (15)

4.2.5 车位信息管理 (16)

4.3 网站前台模块 (17)

4.3.1 网站首页实现 (17)

4.3.2 系统留言板 (18)

5 系统测试 (18)

5.1 系统测试目的与意义 (18)

5.2 测试过程 (18)

5.3 其他错误 (19)

结论 (19)

参考文献 (20)

在线小区物业管理系统的设计与实现

摘要:随着城镇人口居住的集中化加剧,传统人工小区管理模式逐渐跟不上时代的潮流。这就要求我们提供一个专门的管理系统。来提高物业的工作效率、为住户提供更好的服务。本系统方便了小区业主与物业之间的交流,业主可以实时了解小区动态,了解自己各项收费信息等等;物业管理员可以实现与业主的交流,可以及时回复业主的留言和保修信息,对小区的费用楼盘进行管理等。本系统前台主要使用JSP作为开发语言,后台使用MySQL 作为数据库管理系统,开发环境是MyEclipse,服务器采用tomcat,开发出的一个基于Web 技术的B/S结构的物业管理系统。

关键词:物业管理;JSP;B/S结构

前言

物业管理系统运用现代化的计算机管理手段,使物业的硬件管理结合软件管理,为物业管理走向现代化,制度化与规范化创造条件。系统的主要功能包括:业户信息管理、小区概况管理、报修信息模块、收费信息管理、信息发布模块、新闻资讯管理、系统留言板等功能。

1 绪论

1.1 课题背景

随着经济的发展和人们生活水平的提高,小区已经成为人们安家置业的首选,原始的小区管理系统已经不能满足人们需求。小区管理在手工操作时代,工作非常繁琐,需要大量的人力、物理和财力,极大的浪费了小区物业的资源;使用计算机对小区物业各项进行管理,具有检索迅速、查找方便、保密性好、成本低等优势。目前小区物业管理的范围主要包括以下几个方面:常规性的公共服务;针对性的专项服务;委托性的特约服务。本物业管理系统的开发,加强了业主与物业管理人员的沟通,提高了小区物业的服务质量,方便物业人员对小区进行管理,为物业管理部门提供一套高效、快捷的应用软件。

1.2 目的和意义

物业管理公司作为房地产开发公司的附属单位,担负着整个小区的各项服务。由于物业管理业务的复杂性,物业管理逐步趋于信息化高效化。只有高标准、高质量的社区服务才能满足人们的需求。面对信息时代的挑战,就要利用现有的信息基础设施,重点开发和推广应用于各类科技、经济等数据库和网络资源服务系统,争取取得巨大的社会效益和经济效益。

小区物业管理系统,是针对当代社会这一市场需要应运而生的。从技术上方便小区业主的生活,可以直接在小区管理系统中查询住户所需要的相关信息,足不出户就能了解小区的动态。同时大大提高了小区管理的工作人员工作效率,降低了服务成本,提高了服务水平,增强了物业服务的扩张力。综合上述各个方面的优点,开发这样一套小区物业管理系统成为了很必要的事情。

1.3 开发工具及技术

1.3.1 开发工具

此次设计主要采用MyEclipse加Tomcat后台服务器进行,设计过程中页面主要使用JSP技术完成,下面对MyEclipse、Tomcat和MySQL数据库进行简要介绍。

MyEclipse是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,支持代码编

写、配置、测试以及除错。MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse可以支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能[1,2]。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。

Tomcat是一个Java程序,设置好几个环境变量再用命令行的方式运行,为开发组提供了一些脚本使启动和关闭Tomcat提供了轻松的环境。它在中小型系统中被普遍使用,是开发和调试JSP 程序的首选[10]。Tomcat作为一个servlet容器,其应用前景是非常好的,如果与jboss结合起来,则可以实现sun的j2ee规范[3,4]。TOMCAT是一个基于组件的服务器,它的构成组件都是可配置的,其中最外层的给件是CATALINA SERVLET容器,其他的组件按照一定的格式要求配置在这个顶层容器中。

MySQL数据库软件是一种客户端/服务器系统,它使用C和C++编写,并使用了多种编译器进行测试,能够保证源代码的可移植性,它提供用于管理、检查、优化数据库操作的管理工具。并且为多种编程语言提供了API,优化的SQL查询算法,有效地提高查询速度[6]。十余年来,MySQL数据库一直是数据库应用的核心,拥有不断增长的客户群。在LAMP架构(Linux,Apache,MySQL,PHP/Perl/Python)中代表M的MySQL经历了大交易处理应用、T级数据仓库和高流量网站的严苛测试,证明了其在开源数据库中的领先地位。MySQL 是全世界最流行的开源数据库软件,问世已超过15年,因其代码自由、最终用户可免费使用,首先在互联网行业得到应用,MySQL 在全球普及,用户遍布互联网、电信、能源、交通、高科技、设备制造、科研和军事领域。

1.3.2 JSP技术

JSP是由Sun Microsystems 公司倡导的,现在JSP已经成为Java服务器编程的非常重要的组成部分,并与许多公司一起参与建立的一种动态网页技术标准,该技术是在Servlet技术基础上发展而来的。它虽然还未成型,但是它必将和J2EE(Java 2 Enterprise Edition)一起发展。

JSP它基于强大的Java语言,所以不仅可以沿用Java强大的API功能,而且不管是在何种平台下,只要服务器支持JSP,就可以运行JSP开发的Web应用程序,这体现了它的跨平台、跨服务器的特点[5]。在数据库操作中,因为JDBC同样是独立于平台的,所以在JSP试用装的Java API中提供的JDBC来连接数据库,就不用担心平台变更时的代码移植问题。

JSP在执行以前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释的效率高;服务器上还有字节码的Cache机制,能提高字节码的访问效率。第一次调用 JSP 网页可能稍慢,因为它被编译成Cache,以后就快得多了。同时,JSP源程序不大可能被下载,特别是JavaBean程序完全可以放到不对外的目录中。

总的来说,JSP已经成为目前主流的动态网页开发技术之一。

1.3.3 JavaScript

JavaScript最早是工作于Netscape (网景公司)的 Brendan Eich为即将在1995年发行的NetscapeNavigator 2.0(NN2.0)开发的,当时叫做LiveScript。由于当时是和非常热门的Sun公司合作的,为了赶上当时的潮流——Java语言,这门语言被命名为JavaScript。

JavaScript是一种轻量级的编程语言,可插入 HTML 页面,由JavaScript是一种弱类型的语言。JavaScript脚本像其他编程语言一样,每个变量都有数据类型,

但在声明变量时不需显式地指定其数据类型,变量的数据类型将根据变量的具体内容推导出来,并根据变量内容的改变而自动更改[7,8]。这是强类型语言无法做到的。由于JavaScript由Java集成而来,因此它是一种面向对象的程序设计语言。它包含的对象有两个组成部分,即变量和函数,也称为属性和方法[9]。

JavaScript是一种宽松类型的语言。事实上JavaScript更进一步,无法在JavaScript 中明确地定义数据类型。此外,在大多数情况下,JavaScript会根据需要自动进行转换。

1.4 软硬件需求

硬件需求:CPU:Pentium以上计算机

内存: 512M以上

软件需求:操作系统版本:Windows XP /vista/Win7

开发工具:MyEclipse 8.5

后台服务器:Apache Tomcat 6.0

开发语言:Java

浏览器:IE6.0

2 需求分析

2.1 需求调研

在项目的开始是需求调研,本小区物业管理系统的设计思想符合物业管理规范工作流程,在本系统中,住户可以浏览小区的基本信息,看到小区的新闻资讯,阅读小区的公告动态。业主可以用自己个人信息登录进入系统,可对小区物业系统进行留言,同时登录个人主页,可以查询修改自己个人信息,查看个人费用信息,也可以添加自己的报修信息。小区物业工作人员登录本系统,可以管理业主信息,增添小区概况,回复小区业主留言,发布新闻公告等。因此,本系统简化了物业管理员工作流程的繁杂性,方便小区业主的生活,方便了业主和管理员的交流沟通。

2.2 可行性分析

可行研究的目的不是解决问题,而是确定问题是否值得去解决。可行性分析是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,以避免投资的失误,保证新系统开发成功。下面就技术、经济、操作和法律四个方面来介绍。

2.2.1 技术可行性

技术可行性分析主要是分析技术条件是否能顺利完成开发工作,硬、软件是否能满足开发者的需要等。

本系统开发工具是MyEclipse和MySQL数据库,用JSP开发语言进行前台界面的设计、与后台数据库的连接、录入。作为软件学院的毕业生,掌握了数据库原理及应用,在一定程度上具备了开发该系统的能力。加以指导老师的帮助可以得到许多技术支持。因此,完成本系统在技术上是完全具有可行性的。

2.2.2 经济可行性

经济可行性主要是对项目的经济效益进行分析,由于选择的开发工具和服务器几乎全部为免费的开源软件,并不需要资金投入,只需要个人电脑一台,并且由于是开发成本较低的基于Web的B/S模式,所以从经济上来讲是可行的。

2.2.3 操作可行性

操作可行性主要是分析系统的运行方式、操作规程在用户组织内是否可以有效、顺利实施等问题。本系统设计清晰,操作简单,对操作人员的要求很低,只需要对Windows操作熟练,对本系统稍作熟悉即可使用。

2.2.4 法律可行性

本系统在设计过程中,没有涉及到任何法律方面的问题,只针对需求进行设计。开发这个系统不同于普通开发的系统软件,不存在侵权等问题。因此法律上是可行的。

通过上述对技术可行性,经济可行性,操作可行性,法律可行性的研究,我们可以看出开发一个物业管理系统与原有的物业管理方法相比更加快捷,操作更加准确,因此,建立这个物业管理系统是必要可行的。

2.3 系统用户用例图

⑴管理员用例图

管理员是系统的核心用户,涉及到八大功能模块,能够及时动态的掌握小区收费及投诉信息的各项情况。如图1所示

图 1 管理员用例图

⑵业主用例图

业主通过已有的账号和密码登陆系统后,实现我的收费查询、报修信息等操作。如图2所示

图 2 业主用户用例图

2.4 系统功能模块图

如图3、图4所示

图 3 管理员用户功能模块图

图 4 业主用户功能模块图

2.5 性能需求

首先是系统的安全性。物业管理系统在管理权限上要严格进行控制,想登录物业管理系统进行操作,住户必须使用身份证信息和密码登陆,管理员需要固定的管理员账号密码登陆,以确保系统的严密性和安全性。

数据的完整性。首先要求各种记录信息的完整性,信息记录内容不能为空,还要做到个信息之间相互联系的正确性。

2.6 界面需求

客户端页面是用户和服务器之间进行人机交互的一个介质,对它制作要求简洁大方,色彩搭配要协调。

用户界面是指软件系统与用户交互的接口,在本系统中主页面包括标题栏,日历,小区动态,新闻资讯,留言板和用户登录。页面设计简单大方,日历实用方便。

3 系统分析与设计

计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。在本系统中,用户的需求具体表现在各种信息的提供、保存、更新和查询方面。

数据库的设计一般经过规划。需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护6个步骤。

3.1 数据库的分析与设计

通过系统功能分析,针对本物业管理系统,总结出如下的需求信息:

⑴用户分业主和管理员,登陆方法不一致。

⑵业主登陆需要管理员提前添加业主信息,利用业主身份证才能登陆,业主可以自己更改密码。

⑶业主登陆后可以更改个人信息,查询费用,进行报修,添加留言信息。

⑷管理员登陆后,可以就小区业主信息进行增添,删除。回复业主报修信息和留言信息。随时添加小区动态和公告等。

3.2 数据库的概念结构设计

概念设计是整个数据库设计的关键,它对用户要求描述的现实世界,通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。

数据库的概念结构设计采用实体—联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。

根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立E-R模型图。

⑴业主信息实体E-R图如图5所示

图 5 业主信息实体E-R图

⑵信息发布实体E-R图如图6所示

图 6 信息发布实体E-R图

⑶报修信息实体E-R图如图7所示

图 7 报修信息实体E-R图

⑷收费信息实体E-R图如图8所示

图 8 收费信息实体E-R图

⑸新闻资讯信息E-R图如图9所示

图 9 新闻资讯信息实体E-R图

⑹管理员信息E-R图如图10所示

图 10 管理员信息实体E-R图

3.3 数据库的逻辑结构设计

逻辑结构设计是根据已经建立的概念数据模型,以及所采用的某个数据库管理系统软件的数据模型特性,按照一定的转换规则,把概念模型转换为这个数据库管理系统所能够接受的逻辑数据模型。不同的数据库管理系统提供了不同的逻辑数据模型,如层次模型、网状模型、关系模型等。需要根据具体使用的数据库管理系统的特点进行转换。即转化为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:每一个实体要转换成一个关系;所有的主键必须定义非空(NOT NULL);对于二元联系应按照

一对多、弱对实、一对一、多对多等联系来定义外键。

根据E-R模型,物业管理系统建立了以下逻辑数据结构,下面是各数据表的详细说明。

⑴业主信息表主要是记录了注册业主基本信息,表结构如表1所示

表 1 业主信息表(t_zhuhu)

字段名称数据类型主键是否为空说明

id int Y N 编号

louId int N N 楼盘

danyuan varchar(50) N N 单元

menpail varchar(50) N N 门牌

xingming varchar(50) N N 姓名

shengfenzheng varchar(50) N N 身份证号

dianhua varchar(50) N N 电话

loginpw varchar(50) N N 密码

表 2 信息发布表(t_gonggao)

字段名称数据类型主键是否为空说明

gonggao_id int Y N 自动递增

gonggao_title varchar(50) N N 信息标题

gonggao_content varchar(50) N N 信息内容

表 3 报修信息表(t_baoxiu)

字段名称数据类型主键是否为空说明

baoxiu_Id int Y N 编号

zhuhu_id int N N 业主信息

baoxiu_shijian varchar(50) N N 报修时间

baoxiu_beizhu varchar(50) N N 报修原因

表 4 收费信息表(t_shoufei)

字段名称数据类型主键是否为空说明

shoufei_Id int Y N 自动编号

zhuhu_id int N N 业主ID

shoufei_shijian varchar(50) N N 收费时间

shoufei_xiangmu varchar(50) N N 收费项目

表 5 新闻资讯信息表(t_news)

字段名称数据类型主键是否为空说明

news_id int Y N 自动编号

news_title varchar(50) N N 新闻标题

news_content varchar(50) N N 新闻内容

fujian int N N 图片

news_date varchar(50) N N 发布时间

⑹管理员信息表主要记录的管理员的账号信息,包括用户名和密码,表结构如表6所示

表 6 管理员信息表(t_admin)

userId int Y N 编号

userName varchar(50) N N 用户名

userPw varchar(50) N N 密码

3.4 数据库的连接原理

采用JDBC连接数据库的方式,只需在工程中导入对应数据库的jar包,就可以方便的对数据库进行连接,在程序中,用Class.forName()方法来加载驱动程序,在用DriverManager的getConnection()方法就可以创建一个数据库连接。程序采用的是DAO 模式来操作数据库,DAO(Data Access Object,数据访问对象),是Java编程中的一种经典模式,已被广泛应用,也是J2EE架构中持久层框架的基础知识,基于分层次式的软件架构来实现对数据库的访问操作。它应用在数据层那块,用于访问数据库,对数据库进行操作的类。DAO模式的主要思想就是从抽象数据源获取与操纵数据的方法,它的优点是提供给用户的接口只有DAO的接口,所以如果用户想添加数据,只需要调用create函数即可,不需要数据库的操作。其思想如图11所示

图 11 DAO模式类图

图中BussinessObject是业务对象,是使用DAO模式的客户端;DataTransferObject数据传输对象,在应用程序不同层次之间传输对象,在一个分布式应用程序中,通常可以提高整理的性能;DataAccesObject数据输入/输出对象封装了对数据源的一些基本操作;DataSource指的是数据源。可以从图中看出,DAO模式分离了业务逻辑和数据罗即将,是

的编写的软件具有良好的层次式体系结构。在程序需要连接数据库的地方,只需要生成一个DBConnet的对象,就可以对数据库进行连接并操作。

4 系统功能实现

一个构建完善的管理系统可以使小区内的日常管理工作更加的顺畅、方便。本系统是根据小区日常工作特点设计出的一个物业管理系统,实现小区内工作的系统化管理。在管理信息系统的生命周期中,经过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。下面将展示系统的各个功能的实现。

4.1 登陆页面实现

为了保证系统的安全性,要先使用本系统必须先登陆到系统中,用户需要正确的账号和密码登录本系统。接下来展示的是管理员登陆页面,程序运行效果图如图12所示

图 12 系统登陆页面设计

在登陆页面输入用户名和密码,点击提交按钮,跳转到登陆的service中,在该service 中会对用户名,密码,验证码进行判断,验证通过进入对应的页面,loginservice关键代码:

public String login(String userName,String userPw,int userType)

{

String result="no";

if(userType==0)//系统管理员登陆

{ //使用用户名和密码查询数据库

String sql="from TAdmin where userName=? and userPw=?";

Object[] con={userName,userPw};

List adminList=adminDAO.getHibernateTemplate().find(sql,con);

//查不到,登陆失败

if(adminList.size()==0)

{

result="no";

}

else

{ //查到了,在会话里保存用户名,用户类型,result标志为成功

WebContext ctx = WebContextFactory.get();

HttpSession session=ctx.getSession();

TAdmin admin=(TAdmin)adminList.get(0);

session.setAttribute("userType", 0);

session.setAttribute("admin", admin);

result="yes";

}

}

if(userType==1)

{

String sql="from TZhuhu where userName=? and userPw=? and del='no'";

Object[] con={userName,userPw};

List zhuhuList=zhuhuDAO.getHibernateTemplate().find(sql,con);

if(zhuhuList.size()==0)

{

result="no";

}

else

{

WebContext ctx = WebContextFactory.get();

HttpSession session=ctx.getSession();

TZhuhu zhuhu=(TZhuhu)zhuhuList.get(0);

session.setAttribute("userType", 1);

session.setAttribute("zhuhu", zhuhu);

result="yes";

}

}

return result;

}

4.2 总体功能模块

管理员系统主页面:左方页面展示了管理员可操作的八大功能,进入相关的管理页面可以链接到子菜单,每个管理模块下面都有相应的子菜单。程序运行效果图如图13所示

图 13 管理员主页面

在每个jsp页面将会对相关用户进行拦截操作,这样可以提高安全性,防止用户不经过登陆页面而进入任何子菜单页面。

4.2.1 业主信息管理

⑴业主信息添加

管理员输入业主相关正确信息后点击录入按钮,如果是没有输入完整的业主信息,都

会给出相应的错误提示,不能录入成功。程序效果图如下图14所示

图 14 业主信息添加

业主信息的添加关键代码如下:

public String zhuhuAdd()

{

Map request=(Map)ServletActionContext.getContext().get("request");

String s=panduan_menpai_shifouchongfu(louId, danyuan, menpai);

if(s.equals("chongfu"))

{

request.put("msg", "此门牌号的业主信息已经添加");

return "msg";

}

TZhuhu zhuhu=new TZhuhu();

zhuhu.setLouId(louId);

zhuhu.setDanyuan(danyuan);

zhuhu.setMenpai(menpai);

zhuhu.setXingming(xingming);

zhuhu.setShenfenzheng(shenfenzheng);

zhuhu.setDianhua(dianhua);

zhuhu.setLoginpw(loginpw);

zhuhu.setDel("no");

zhuhuDAO.save(zhuhu);

request.put("msg", "业主信息添加完毕");

return "msg";

}

⑵业主信息删除

管理员点击左侧的菜单“业主信息管理”,页面跳转到业主信息管理界面,调用后台

的action类查询出所有的业主信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示出业主信息。程序效果图如下图15所示

图 15 业主信息管理

业主信息删除关键代码:

public String zhuhuDel()

{

TZhuhu zhuhu=zhuhuDAO.findById(id);

zhuhu.setDel("yes");

zhuhuDAO.attachDirty(zhuhu);

Map request=(Map)ServletActionContext.getContext().get("request");

request.put("msg", "业主信息删除完毕");

return "msg";

}

4.2.2 信息发布管理

⑴信息发布添加

输入信息后点击提交按钮,如果是没有输入完整的信息,都会给出相应的错误提示,不能提交成功。程序效果图如下图16所示

图 16 信息发布添加

信息发布添加的关键代码:

public String gonggaoAdd()

{

TGonggao gonggao=new TGonggao();

gonggao.setGonggaoTitle(gonggaoTitle);

gonggao.setGonggaoContent(gonggaoContent);

gonggao.setGonggaoData(new SimpleDateFormat("yyyy-MM-dd

HH:mm").format(new Date()));

gonggaoDAO.save(gonggao);

this.setMessage("信息添加完毕");

this.setPath("gonggaoMana.action");

return "succeed";

}

⑵信息发布删除

管理员点击左侧的菜单“信息发布管理”,页面跳转到信息发布管理界面,调用后台的action类查询出所有的信息,并把这些信息封转到数据集合List中,绑定到request 对象,然后页面跳转到相应的jsp,通过el表达式迭代显示出来。程序效果图如下图17所示

图 17 信息发布管理

信息发布删除关键代码:

public String gonggaoDel()

{

TGonggao gonggao=gonggaoDAO.findById(gonggaoId);

gonggaoDAO.delete(gonggao);

this.setMessage("信息删除完毕");

this.setPath("gonggaoMana.action");

return "succeed";

}

4.2.3 报修信息管理

先是点击报修信息管理,页面跳转到报修信息管理界面,浏览所有的业主报修信息,点击要受理的报修信息,完成业主报修信息受理操作。程序效果图如下图18所示

图 18 报修信息受理

报修信息管理关键代码:

public String baoxiuAdd()

{

Map session=ActionContext.getContext().getSession();

TZhuhu zhuhu=(TZhuhu)session.get("zhuhu");

TBaoxiu baoxiu=new TBaoxiu();

baoxiu.setBaoxiuShijian(newSimpleDateFormat("yyyy-MM-dd

HH:mm").format(new Date()));

baoxiu.setBaoxiuBeizhu(baoxiuBeizhu);

baoxiu.setBaoxiuZhuangtai("待受理");

baoxiu.setZhuhuId(zhuhu.getId());

baoxiuDAO.save(baoxiu);

Map request=(Map)ServletActionContext.getContext().get("request");

request.put("msg", "信息提交完毕");

return "msg";

}

public String baoxiuDel()

{

TBaoxiu baoxiu=baoxiuDAO.findById(baoxiuId);

baoxiuDAO.delete(baoxiu);

Map request=(Map)ServletActionContext.getContext().get("request");

request.put("msg", "信息删除完毕");

return "msg";

}

public String baoxiuShouli()

{

TBaoxiu baoxiu=baoxiuDAO.findById(baoxiuId);

baoxiu.setBaoxiuZhuangtai("已受理");

baoxiuDAO.attachDirty(baoxiu);

Map request=(Map)ServletActionContext.getContext().get("request");

request.put("msg", "信息受理完毕");

return "msg";

}

4.2.4 收费信息管理

⑴收费信息添加

管理员输入收费相关正确信息后点击录入按钮,如果是没有输入完整的收费信息,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法onsubmit="return checkForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。程序效果图如下图19所示

图 19 收费信息添加

收费信息添加关键代码如下:

public void shoufeiAdd(HttpServletRequest req,HttpServletResponse res)

{

int yezhu_id=Integer.parseInt(req.getParameter("yezhu_id"));

String shijian=req.getParameter("shijian");

String xiangmu=req.getParameter("xiangmu");

int jine=Integer.parseInt(req.getParameter("jine"));

String sql="insert into t_shoufei(yezhu_id,shijian,xiangmu,jine) values(?,?,?,?)";

Object[] params={yezhu_id,shijian,xiangmu,jine};

DB mydb=new DB();

mydb.doPstm(sql, params);

mydb.closed();

req.setAttribute("msg", "收费信息添加成功");

String targetURL = "/common/msg.jsp";

dispatch(targetURL, req, res);

}

⑵收费信息管理

管理员点击“业主信息查询”,查询到住户,点击右侧“收费管理”,将跳转到收费信息管理界面,调用后台的action类查询出所有的收费信息,并把这些信息封转到数据集合List中,绑定到request对象,然后页面跳转到相应的jsp,显示收费信息。程序效果图如下图20所示

图 20 收费信息管理

收费信息管理关键代码:

public void shoufeiDel(HttpServletRequest req,HttpServletResponse res) {

int id=Integer.parseInt(req.getParameter("id"));

String sql="delete from t_shoufei where id=?";

Object[] params={id};

DB mydb=new DB();

mydb.doPstm(sql, params);

mydb.closed();

req.setAttribute("msg", "收费信息删除成功");

String targetURL = "/common/msg.jsp";

dispatch(targetURL, req, res);

}

4.2.5 车位信息管理

⑴车位信息的添加

管理员通过点击左侧“业主信息查询”查询到业主信息,在业主信息右侧点击“添加车位”。填写车位编号和车位价格点提交即可录入信息。程序效果图如图21所示

图 21 添加车位信息

车位添加关键代码如下:

public String cheweiAdd()

{

TChewei chewei=new TChewei();

//chewei.setId(id);

chewei.setBianhao(bianhao);

chewei.setJiage(jiage);

chewei.setZhuhuId(zhuhuId);

cheweiDAO.save(chewei);

Map request=(Map)ServletActionContext.getContext().get("request");

request.put("msg", "信息添加完毕");

return "msg";

}

⑵车位信息管理

管理员通过点击左侧“业主信息查询”查询到业主信息,在业主信息右侧点击“车位管理”。程序效果图如图22所示

图 22 车位管理信息

车位管理关键代码如下:

public String cheweiDel()

{

TChewei chewei=cheweiDAO.findById(id);

cheweiDAO.delete(chewei);

Map request=(Map)ServletActionContext.getContext().get("request");

request.put("msg", "信息删除完毕");

return "msg";}

4.3 网站前台模块

4.3.1 网站首页实现

页面的上方显示的是该网站的logo,中间部分是导航栏,下方主要部分是信息显示区域,点击后链接到具体的详细信息。程序运行效果图如图23所示

图 23 系统主页面设计

4.3.2 系统留言板

业主注册成功并且登录系统后,可以发布留言信息,实现个人留言及其它会员留言查

看。程序效果图如图24所示

图 24 留言板界面设计

5 系统测试

系统测试时为了发现错误而执行的过程,这是一种以反向思维的方式验证程序的正确

性的思路。

5.1 系统测试目的与意义

系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进

行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发

的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案。

系统测试是管理信息系统开发周期中一个十分重要而漫长的的阶段。系统测试的对象

不仅仅包括需要测试的产品系统的软件,还要包含软件所依赖的硬件、外设甚至包括某些

数据、某些支持软件及其接口等。因此,必须将系统中的软件与各种依赖的资源结合起来,

在系统实际运行环境下来进行测试。简言之,测试的目的应该是验证需求,bug(预期结果

与实际结果之间的差别)是这个过程中的产品而非目标。测试人员应该象工兵一样,在大

部队(客户)预期前进的方向上探雷、扫雷(bug),而不需要去关心那些根本没有人会去碰

的地雷。衡量一个测试人员应该去衡量他/她测试了多少需求。

5.2 测试过程

本系统在系统测试的时候,首先是测试留言板,只有住户登陆之后,才能留言。住户

登陆是根据自己的个人信息身份证号和原始密码000000登陆,登陆之后可以在个人中心

进行密码的修改。接下来可以增添报修信息。测试很顺利的进行。

业主登陆后台测试完之后登陆管理员界面,分别对管理员页面左侧的八个部分分别进

行测试,失败之处标注,进行修改。接下来,就管理员页面登陆模块测试进行了记录。

测试流程:首先打开管理员登陆首页,输入错误的登录信息;登录;输入正确的登录

相关主题
文本预览
相关文档 最新文档