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

更新时间:2024-03-18 01:32:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

学校代码

分类号

学密

号 级

公 开

题 目 小区物业管理系统的设计与实现

The Design and Implementation of Residential

Property Management System

作者姓名 专业名称 学科门类

XXX 软件工程 工 学 XXX 指导教师 提交论文日期

二○一三年五月 成绩评定等级

摘 要

随着信息技术的普及和不断发展,各行各业对于计算机的依赖性越来越大,尤其是与我们息息相关的房地产行业,城市的不断发展使得越来越多的住宅小区遍布城区,如何高效的管理小区的各项业务,成为一个重要的问题。因此,通过设计一个小区物业管理系统平台,来提高小区管理的效率。

在详细分析现有物业管理系统的基础上,以软件工程理论为指导,Java语言为开发工具,以MyEclipse8.5为前台开发工具,MySQL5.0为后台数据库开发工具,以JDBC技术为支持,利用了当前先进的SSH框架技术,开发了一个B/S架构的小区物业管理系统。小区物业管理系统共分为三个子系统,在注册和登录子系统中,用户可以进行注册和登录,已经注册的用户可以根据不同的权限,进入另外两个不同的子系统,即普通业主子系统和管理员子系统。在普通业主子系统中,可以实现业主登录密码修改,投诉和报修的录入查看,缴费查看,业主交流等功能;在管理员子系统中,可以实现密码修改,增加管理员,管理小区业主的投诉、报修,在线交流,收费管理等功能。通过该系统可实现小区物业管理效率的提高,能使业户得到更方便、更快捷、更满意的答复,减少了查找、更新和维护所带来的困难。

关键词:物业管理系统;B/S结构;JDBC;SSH

I

Abstract

With the development of information technology, all trades and professions were very much dependent on the computers, particularly close to the real estate industry, the development of city promote more and more resident area stretched across town. How to high - efficient management of district various business has been a hot topic. Thus, it is necessary to design management system platform of residential property to increase efficiency of management of the community.

Basing on the detailed analysis of existing property management system, guiding by the software engineering theory, taking Java language as development instrument, and MyEclipse8.5 as the prospects of development tools, MySQL5.0 tools for the background, also under the support of JDBC technology, using advanced SSH framework technology , the system of residential property of B/S structure has been exploited. The system of residential property was composed of three subsystems, when landing in the register, log sub - system, users can register log; registered users can log into two other sub-systems according to the distinct forms of rights, which are ordinary owners sub - system and administrators sub - system. While in the ordinary owner sub - system, it can be achieved the functions that owners modified logon passwords, viewed the entry of complaint and repair, also viewed payment, communied together and so on. While in the administrators sub - system, it can be achieved functions that changing passwords, adding administrators, managing district owners, complaint, repair, online communication and charging management. By this system, it can improve efficiency of management of the community, enable owners to get more convenient, quicker and satisfactory answers, decrease the difficulties caused by searching, updating and maintaining.

Keywords: Property management system; B / S structure; JDBC; SSH

II

目 录

摘 要 ................................................................................................................................................ I Abstract .......................................................................................................................................... II 第一章 绪论 ................................................................................................................................... 1

1.1研究背景 ............................................................................................................................ 1 1.2研究现状 ............................................................................................................................ 1 1.3课题研究的意义 ................................................................................................................ 2 1.4课题设计开发平台 ............................................................................................................ 2 1.5论文总体结构 .................................................................................................................... 3 第二章 系统分析 ........................................................................................................................... 4

2.1 可行性分析 ....................................................................................................................... 4

2.1.1经济可行性 .............................................................................................................. 4 2.1.2技术可行性 .............................................................................................................. 4 2.1.3运行可行性 .............................................................................................................. 5 2.2需求分析 ............................................................................................................................ 5 2.3开发关键技术分析 ............................................................................................................ 7 第三章 数据库设计 ....................................................................................................................... 9

3.1数据库概念设计 ................................................................................................................ 9 3.2 数据库逻辑设计 ............................................................................................................. 11 3.3数据库物理设计 .............................................................................................................. 12 3.4数据库访问接口设计 ...................................................................................................... 12 第四章 系统设计 ......................................................................................................................... 14

4.1系统总体结构设计 .......................................................................................................... 14 4.2系统架构设计 .................................................................................................................. 15 4.3系统详细设计 .................................................................................................................. 16

4.3.1注册和登录子系统 ................................................................................................ 17 4.3.2普通业主子系统 .................................................................................................... 18 4.3.3管理员子系统 ........................................................................................................ 19 4.3.4系统类图 ................................................................................................................ 21

第五章 系统测试分析 ................................................................................................................. 22

III

咸阳师范学院2013届本科毕业论文(设计)

软件方面是可行的[6]。

从硬件方面来说,小区物业管理系统用的是JSP开发语言,对于页面显示内容的处理修改起来非常方便,对于计算机的硬件配置要求不高,我们所使用的计算机硬件配置完全能够满足使用该技术进行软件开发的需要,因此在硬件上也是可行的。

2.1.3运行可行性

对于组织结构有影响的我们称之为运行可行性,具体来说是指人员、机构、环境对系统是否具有一定的适应性,人员培训补充计划是否具有一定的可行性。随着当今人类对于信息化技术和知识的了解与掌握,完成与计算机有关的工作还是比较容易的,而且随着信息技术的发展,当前所使用计算机的软硬件配置相对来说也比较高,运行一般的软件系统基本上没有问题,因此具有一定的运行可行性。

2.2需求分析

小区物业管理系统的角色有两类,一类是面向普通业户的角色,其模块包括:基本操作、我的投诉、我的报修、我的缴费、业户交流等操作;另一类是面向系统管理员的角色,其模块包括:基本操作、小区业主管理、投诉管理、报修管理、收费管理、业户交流管理等。该系统具体所需要实现的功能如下:

1. 普通也主可以修改登录密码;

2. 普通业主可以实现投诉的录入和查看操作; 3. 普通业主可以实现报修的录入和查看操作; 4. 普通业主可以实现缴费操作; 5. 普通业主可以增加和查看交流信息; 6. 系统管理员可以修改登录密码和增加管理员;

7. 管理员可以对小区住户进行增删查和编辑操作; 8. 管理员通过后台对业主的投诉进行查看和受理; 9. 管理员对于业户报修的查看和受理; 10. 管理员对于小区住户各项收费信息的增删查; 11. 管理员对交流信息的增删改查操作;

根据以上的需求分析,本系统的用例图如图2.1所示。

5

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

2.1 系统用例图

系统用例描述,如用例表2.1。

表2.1系统用例表

用例编号 U-1 U-2 U-3 U-4 U-5 U-6 U-7 U-8 U-9 U-10 用例名称 用户注册 用户登录 投诉的查看和受理 保修的查看和受理 收费的增删查 业主交流的增删查 投诉的录入和查看 报修的录入和查看 缴费操作 业主交交流的增查 简要说明 没有注册的用户通过输入正确的账号、密码、住户名、联系方式等信息进行注册 普通业主或管理员通过输入用户名和密码进行登录 管理员登录到系统后,可以对业主的投诉信息进行更新 管理员登录到系统后,可以对业主的报修信息进行更新 管理员登录到系统后,可以对业主的缴费信息进行更新 管理员登录到系统后,可以对业主的在线交流信息进行查看,并且可以发布信息 普通业主登录到系统后,可以更新自己的投诉信息 普通业主登录到系统后,可以更新自己的报修信息 普通业主登录到系统后,可以查看自己的缴费信息,在网上进行缴费操作 普通业主登录到系统后,可以浏览业主交流信息,也可以发布信息 6

咸阳师范学院2013届本科毕业论文(设计)

部分用例详细描述,如用例描述表2.2和2.3。

表2.2用户登录用例描述表

用例编号 描述 涉及的参与者 事件流 U-1 用例名称 用户登录 增加系统的安全性和可实际操作性 普通业主,管理员,系统程序 常规事件流:当用户想使用本系统时,本用例开始执行。 a. 普通业主需要输入用户名和密码来进入本系统 备选事件流:(i) 输入的信息错误:在主流程中,如果用户的用户名和密码输入错误,则系统提示信息错误,请重新输入 用例开始之前,用户必须已经注册成功 无 表2.3业主交流用例描述表

用例编号 描述 涉及的参与者 事件流 U-10 用例名称 业主交流 为业主之间以及业主管理员之间交流提供方便的服务 业主,系统程序 常规事件流:当业主或管理员想在线发布信息时,本用例开始执行。 a. 业主通过系统提供的在线交流操作填写交流信息,最后提交 备选事件流:(i) 输入的信息超过限时:在输入信息的过程中,如果信息过长,提交时,系统会提示错误信息。 用例开始之前,业主或管理员必须已经登录成功 无 前置条件 后置条件 前置条件 后置条件 2.3开发关键技术分析

1.CSS

CSS(Cascading Sytle Sheets)即级联样式表,CSS样式能够设置以前没有大量工作不可能实现的特征,比如精确的字体控制、字间距和行间距、页面边距和边框等,用于描述如何格式化和实现网页中的信息,且对于图像和文本在页面上的位置也可以用样式表正确的控制。CSS样式的使用有两种方式,一种是可以在HTML页面中直接定义使用,另一种是也可以以独立的样式表文件存储。使用CSS样式表,不仅可以更加方便的对前台界面进行修改,保持很好的一致性,使相似的内容具有相同的样式,而且可维护性也非常好,对于显示内容格式的修改仅需要修改相应的样式表即可,避免了在多处修改所带来的麻烦[7]。

2. Hibernate

Hibernate是一个开源框架,主要功能是实现对象关系的映射,也是一种ORM中间件,它的优势是对JDBC进行了轻量级封装,使得编程人员在操纵后台数据库中有了一个强大的武器,即面向对象编程的思维。数据库的连接方式有多种,比如JDBC、

7

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

DAO和ORM相结合等,ORM工具有多种,Hibernate就是其中的一种,它不仅提供了从Java类到数据表之间的映射,也提供了一种新的机制,即数据查询和恢复。相对于使用传统的手工方法来操作数据库,使用Hibernate,使得对数据库进行更新和维护的工作量有了大幅度的减少。Hibernate可以和多种应用服务器结合起来使用,具有较好的集成性,对于数据库服务器的要求也不高,基本上所有的数据库服务器均可以使用Hibernate。最重要的是,Hibernate代替了J2EE架构中EJB的CMP,将内存中的数据保存到磁盘上,完成了一个非常重要的操作,即数据的持久化[8]。

3.Struts2

Struts2是一个全新的框架,它合并了struts 和WebWork,具有更胜一筹的优势。一方面,WebWork作为Struts 2的核心部分,其在处理用户请求的问题上采用的是拦截器机制,该机制完全能够让业务逻辑控制器独立作业,不再依赖于Servlet API;另一方面Struts 2和Struts 1相比变化还是很大的,比如两者在体系结构上就大不相同,但是相对于WebWork来说,Struts 2的变化则是非常小的,因此可以毫不夸张的说Struts 2是基于WebWork的更高一级更有优势的产品[9-10]。

4. Spring

Spring也是一个开源框架,其核心功能是IoC容器和面向切面编程。框架有很多优势,其中主要的优势之一就是其分层架构,编程人员可以根据需要选择合适的组件,同时在基于 J2EE 应用程序的开发中提供了集成的框架。Spring为编程者提供了更多的技术支持,在Spring框架中,可以使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring框架并不只是用于服务器端的开发,因为拥有简单性、可测试性和松耦合的特点,任何Java应用都可以从Spring中受益[11]。

5. ORM

ORM(Object-Relation Mapping),即对象-关系映射模式,指的是在单个组件中负责所有数据的持久化,封装数据访问细节。ORM主要解决的是对象-关系的映射问题,由于只有拥有高超的开发技巧才能直接通过JDBC编程来实现对于复杂的数据模型的持久化,这是比较困难的,而且有很大的编程量,而ORM则可以通过另一种方式实现数据模型的持久化,它对于对象-关系映射细节的描述采用的是映射元数据,因此使得ORM中间件充当了桥梁的作用,可以将任何一个Java应用的业务逻辑层和数据层联系起来。

8

咸阳师范学院2013届本科毕业论文(设计)

第三章 数据库设计

3.1数据库概念设计

在数据库概念设计中,需要确定确定实体、实体的属性及实体之间的关系,得出系统的关系模式。采用实体-联系图,既E-R图的方法进行数据结构分析,E-R图由实体、属性、联系三部分组成。小区物业管理系统涉及到六个实体,分别是管理员、报修信息、留言信息、收费信息、投诉信息、住户信息,其模式结构如下:

1.管理员实体的属性有ID、密码、用户名,管理员实体E—R图设计如图3.1所示。

ID 密码 管理员 图3.1 管理员E-R图

用户名

2.报修信息实体的属性有住户ID、报修ID、报修时间、报修备注、报修状态、删除,报修信息实体E—R图设计如图3.2所示。

报修ID 报修时间 报修备注 报修状态 住户ID 报修信息 删除

图3.2 报修信息E-R图

3.留言信息实体的属性有留言用户、留言ID、留言标题、留言内容、留言时间,留言信息实体E—R图设计如图3.3所示。

留言ID 留言用户 留言信息 留言标题 留言时间 留言内容

图3.3 留言信息E-R图

9

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

4.收费信息的属性有收费ID、收费时间、收费项目、收费金额、住户ID、删除,收费信息实体E—R图设计如图3.4所示。

收费时间 收费项目 收费ID 收费信息 收费金额 删除 住户ID

图3.4 收费信息E-R图

5.投诉信息实体的属性有投诉ID、投诉时间、投诉原因、住户ID、删除、投诉状态,投诉信息实体E—R图设计如图3.5所示。

投诉ID 投诉时间 投诉状态 投诉信息 投诉原因 删除 住户ID

图3.5 投诉信息E-R图

6.住户信息实体的属性有住户ID、住户姓名、住户电话、住户地主、住户备注、删除、登录用户名、登录密码,住户信息表E—R图设计如图3.6所示。

住户ID 住户姓名 住户电话 住户信息 登录用户名 删除 住户备注

图3.6 住户信息E-R图

登录密码 住户地址

10

咸阳师范学院2013届本科毕业论文(设计)

3.2 数据库逻辑设计

根据小区物业管理系统的需求分析,将该系统的数据库分为六张表,系统管理员表、报修信息表、留言信息表、收费信息表、投诉信息表、住户信息表。每张表都有一个主键ID,且主键不允许为空,并使得数据库达到第三范式

该系统由六张表构成,其中部分表的模式结构如下: 1.系统管理员表各字段的定义及说明如表3.1所示。

表3.1 系统管理员表

列名 userId UserName userPw 数据类型 intt varchar(50) varchar(50) 允许空 否 是 是 备注 主键 2.留言信息表各字段的定义及说明如表3.2所示。

表3.2 留言信息表

列名 liuyan_id liuyan_title 数据类型 int varchar(50) 允许空 否 是 是 是 是 备注 主键 liuyan_content varchar(5000) liuyan_date liuyan_user varchar(50) varchar(50) 3.收费信息表各字段的定义及说明如表3.3所示。

表3.3 收费信息表

列名 shoufei_id shoufei_shijian 数据类型 int(4) varchar(50) 允许空 备注 否 是 是 是 是 是 主键 shoufei_xiangmu varchar(50) shoufei_jine zhuhu_id del varchar(50) int varchar(50) 11

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

4.投诉信息表各字段的定义及说明如表3.4所示。

表3.4 投诉信息表

del tousu_zhuangtai varchar(50) varchar(50) 列名 tousu_id tousu_shijian tousu_yuanyin zhuhu_id 数据类型 int varchar(50) varchar(5000) int 允许空 备注 否 是 是 是 是 是 主键 3.3数据库物理设计

数据库设计是要在一个给定的应用环境(DBMS)中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式、子模式,建立数据库和设计应用程序,满足用户的各种信息需求。物理结构设计的原则如下:

1. 尽可能的减少数据冗余和重复。 2. 结构设计与操作设计相结合。 3. 数据结构具有相对的稳定性。

综合各种因素,本系统最终决定使用MySQL5.0作为本系统的后台数据库。MySQL作为一个比较实用的SQL数据库管理系统,尽管该产品不是基于开源代码的,但是仍可以给我们提供自由使用的空间。由于它的诸多优点,例如功能强大、灵活性和系统结构精巧等,使得许多自由软件爱好者乃至商业软件用户愿意实用它作为自己的数据库系统,尤其是自从MySQL与Apache、PHP/PERL结合后,对于开发与数据库相关的动态网站提供了有利的技术保障。MySQL作为一个数据库服务器,是基于多用户和多线程的[12]。

MySQL 要实现的主要目标是速度快、容易使用、健壮性强。最初的原因是我们需要一个能以更快的速度处理与任何可不昂贵硬件平台上提供数据库的一个数量级上的大型数据库, 于是MySQL就应运而生,被开发出来。自1996年以来,MySQL是非常流行的,我们一直都在使用它。

3.4数据库访问接口设计

对于一个与数据库相关的应用程序来说,最重要的一点就是选择一个与应用程序的性能密切相关合适的数据访问接口,Java程序最常用的数据访问接口如下:

12

咸阳师范学院2013届本科毕业论文(设计)

1.JDBC(Java DataBase Connectivity,java数据库连接)是一种Java API,用于执行SQL

语句,为Java程序提供了一套操作各种数据库的统一接口,它由一组用Java语言编写的类和接口组成。JDBC与Java结合,使用户可以很容易的把SQL语句传送到任何关系型数据库中,程序员用它编写的数据库应用程序,可以在各种数据库系统上运行。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名[13]。

2.Hibernate是一个开放源代码的对象关系映射框架,只要有使用JDBC的场合均可以

使用Hibernate。

Hibernate 一方面含有映射机制,另一方面还提供有关数据处理的方法,从而大大的减少了开发时人工使用SQL 和JDBC 处理数据的时间。Hibernate 的目标是对于开发者通常的数据持久化相关的编程任务,解放其中的95%。在分层体系架构中,Hibernate负责应用程序与数据库之间的数据转换,起ORM中间件的作用,使得应用程序通过Hibernate的API就可以访问数据库。由于Hibernate只是对JDBC做了一个轻量级的封装(未完全封装),因此也可绕过Hibernate,直接使用JDBC API来访问数据库。

3.DAO(Data Access Object)数据访问,位于在业务逻辑与数据库资源中间。在核心J2EE模式中是这样介绍DAO模式的:为了使J2EE应用得健壮性更高,应该用一个公共的API来封装所有对数据源的访问操作。用更加专业化的语言来说,首先就是建立了一个包含这种应用程序中将会用到的所有事务方法的接口,该接口的作用是在需要的时候与数据源进行交互,并且对于该接口在逻辑上的对应的数据存储,需要编写一个单独的类来实现[14]。

本课题设计中将采用Hibernate作为数据访问接口。

13

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

第四章 系统设计

4.1系统总体结构设计

在软件工程学中系统总体结构设计也被称为概要设计,根据系统的需求,确定本系统的功能模块,以及在系统中这些模块又是如何合理的整合在一起的,每个字模块的具体功能又是如何实现的。系统总体设计过程又可以分为两个主要阶段,分别为系统设计阶段和结构设计阶段,其中系统设计阶段主要确定系统的具体实现方案,结构设计阶段主要确定软件结构。

本章节主要是介绍小区物业管理系统的设计,虽然系统平台结构模式有多种,但是由于硬件选择和其他方面的原因,有些模式结构已经被淘汰了,所以现代企业级平台结构模式应主要考虑C/S模式和B/S模式。本系统的架构模式是B/S即Brower/Server,该结构模式是在Internet/Intranet结构模式的基础上发展起来的,分为三层,表示层作为第一层,通过浏览器实现了用户和后台的交互功能,并且在页面上输出最终的查询结果。第二层属功能层,包含了WEB服务器,该WEB服务器具有ODBC接口,利用该服务器可以完成客户的应用功能。数据层作为第三层,也就是最后一层,可以独立地进行各种运算,来完成用户的不同请求。把浏览器作为前台客户端,Web服务器作为中间件服务器,数据库服务器为后台。该结构由Web服务器接收客户端在Web页面发出的请求,接下来由数据库服务器接收Web服务器发出的请求,而最后在数据库服务器将反馈信息送至中间件服务器后,仍以页面的形式返回给客户端。这样的方式使得客户端没有直接和数据库服务器发生关系,从而保证了数据的安全性。

本系统主要是用于管理小区居住人口的,采用结构化的开发方法进行系统开发,成功登录后,由于普通用户和管理员的权限等级不同,所进行的操作也会有所不同,管理员的权限级别高,所进行的操作会多一些,而普通用户相对来说少会一些,该系统由三个子系统构成,分别是注册和登录子系统、普通业主子系统、管理员子系统,在相应的子系统下还可以实现其他的功能,该系统功能模块图如图4.1所示。

14

咸阳师范学院2013届本科毕业论文(设计)

图4.1 系统功能模块图

4.2系统架构设计

本系统是采用JavaEE最常规的开发模式MVC三层架构的模式进行开发的,简单地说MVC就是实现了分离的作用,把一个应用的基本流程按照模型层、视图层、控制层进行分离,这样一个应用就被分成了三个分工明确的层次。模型层作为应用程序的核心,用于封装内核数据和功能,模型代表与业务有关的内容,一个模型对应多个视图,可以使应用反复使用;视图层的主要作用就是提供用户界面的显示并且实现与用户之间的交互,首先接收来自于客户端的请求来选择调用哪种事物逻辑功能执行用户的请求,然后再委派适当的视图组建来显示更新后的用户界面,这就是一次交互的过程,这一过程是视图层中控制器主要完成的功能,所以说控制器对于视图层的重要性是不言而喻的,是视图层不可缺少的组件。MVC的处理过程是:首先客户端将请求信息传递给控制器,控制器对这些信息进行分析后决定所要调用哪个模型来进行处理,其次事物逻辑处理完成后,再将处理后的数据返回给控制器,控制器再根据反馈回来的信息调用相应的视图来存放模型返回的数据,最后用户可以在视图层上看到最终的结果[15-17]。在该系统中,视图层是通过struts框架来实现的,主要利用JSP技术在Web服务器上进行用户界面的显示和与用户所进行的交互操作;控制层则是通过在struts.xml配置文件中的一些映射来定义控制器的处理行为,根据这些映射信息调用相应的Action进行事物逻辑的处理;模型层则是一些数据库的映射文件的配置和对数据的更新操作,管理员和普通业主通过Web服务器进行数据操作,最后将这些数据存入到数据库中,本系统的配置图如图4.2所示。

15

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

图4.2 系统配置图

根据MVC的思想,本系统中的包结构为表4.1所示。

表4.1系统包结构定义

包名 com.action com.dao com.model com.service com.util 含义 业务逻辑处理 对数据进行更新操作 Hibernate映射配置 登录身份验证 系统的工具类 4.3系统详细设计

本系统分为三个子系统,分别是注册和登录子系统、普通业主子系统、管理员子系统,页面采用上面部分为导航区,左侧是树状菜单,中间主体部分是各个功能的页面。根据MVC的设计思想,在本系统中struts框架用于显示视图和页面,相当于表示层,其页面是通过JSP技术实现的;所有的Action类相当于控制层,进行实际的业务逻辑处理,通过struts.xml文件中配置一组映射文件来定义控制器的处理行为,每个映射定义了Action类的路径和名字,如果路径与接收到的请求一致,那么该Action就会被执行,进行必要的事物逻辑处理,然后再将处理后的结果传递给视图层,最终显示在页面上;com.dao和com.model这两个包相当于模型层,com.dao包进行的是与数据库有关的操作,比如对数据的增删改查, com.model是与数据库进行映射的,这两个包进行的是后台操作,通过Hibernate的配置将后台数据库的信息返回到包com.dao,com.dao再将信息返回到com.action,最后通过struts框架显示在页面上,该过程的时序图如图4.3所示。

16

咸阳师范学院2013届本科毕业论文(设计)

图4.3 系统时序图

4.3.1注册和登录子系统

该子系统分为注册和登录两个功能,已经成功注册的用户可以使用自己的用户名和密码,选择正确的权限进入该系统;没有注册过的用户,要先经过注册,然后才能成功登录。该子系统的流程图如图4.4所示。

图4.4 登录与注册模块流程图

17

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

4.3.2普通业主子系统

当普通业主以正确的用户名和密码成功登录后,可以进入普通业主子系统的页面,在该子系统中,普通业主可以进行密码修改的基本操作,可以对投诉和保修进行录入和查看,也可以和其他业主进行在线交流。该子系统的模块结构图如图4.5所示。

图4.5 普通业主子系统模块结构图

下面给出了在普通业主子系统中部分功能的时序图和活动图。 1.投诉模块的时序图如图4.6所示。

图4.6 投诉模块时序图

18

咸阳师范学院2013届本科毕业论文(设计)

2.投诉模块包括投诉的录入和查看操作,投诉录入操作的活动图如图4.7所示。

图4.7 投诉录入活动图

4.3.3管理员子系统

当管理员以正确的用户名和密码成功登录后,可以进入管理员子系统的页面,在该子

系统中,管理员可以进行修改密码和增加管理员的基本操作,可以进行业户的增删查和审查的操作,业户投诉和报修的查看和受理操作,收费的增删查操作,业户交流的增删操作。该子系统的模块结构图如图4.8所示。

图4.8 管理员子系统模块结构图

19

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

下面给出了在管理员子系统中,部分功能的时序图和状态图。 1.收费管理的时序图如图4.9所示

图4.9 收费管理时序图

2.业主交流管理模块的时序图如图4.10所示。

图4.10 业主交流管理时序图

3.报修管理模块的状态图如图4.11所示。

图4.11 报修管理状态图

20

咸阳师范学院2013届本科毕业论文(设计)

4.3.4系统类图

经过分析可知该系统有五个包,分别是com.action 、com.dao、com.model、com.service、com.util,com.service进行的是与系统登录权限验证有关的操作,com.util存放的是分页操作类,主要功能是对前页面的显示信息进行分页,其中核心包是com.action 、com.dao、com.model,com.action存放的是进行事物逻辑的处理的类,com.dao存放的是与数据的增删改查操作有关的类,com.model存放的是的是相应的JavaBean以及数据库的映射文件,这些类之间存在着一定的关系,通过相互之间的方法调用,来完成系统核心功能的实现,该系统的类图如图4.12所示。

图4.12 系统的类图

21

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

第五章 系统测试分析

5.1测试的重要性及目的

1.测试的重要性

软件的测试是软件生命周期中重要的一个环节,在我们所熟知的瀑布模型中,仅在运行阶段之前会进行相应的软件测试,作为保证软件质量的重要手段,其目的是确保所开发的软件产品在交付于用户之后可以正常使用。近年来,一种新的观点开始在软件工程界兴起,即就是认为测试并不是仅仅在运行阶段之前,而是贯穿于软件生命周期的每一阶段中,从而可以方便的检验这一阶段的开发成果和近预期目标的接近或偏离程度,对于偏离的部分可以早发现、早修改,节省之后的工作量。如果测试没有在开发的前期阶段进行,那么可能会使错误越积越多,到最后越来越难修改,给最后软件成品的测试带来很大的困难。

事实上,对于软件来讲,出现错误是很正常的,即使你的编程技术再高,算法思想再精妙,仍会在编写代码的过程中出现错误。而我们能做的就是在开发的过程中采取各种措施来尽量减少错误的产生,比如使用新语言、成熟的开发方式、完善开发过程,但是要让开发的软件没有错误是不可能达到的。测试对于所有的工程学科来说都是最基本的部分,在软件开发中也有着非常重要的作用。自有程序设计的那天起测试就一直伴随着。数据分析表明,在软件开发的典型项目中,40%以上的工作都是在进行软件测试。从开销上来说,30%到50%都用到了测试上。如果考虑到维护阶段的话,该比例可能会有所降低,但是在维护阶段也是需要进行软件开发的,这就相当于二次开发,乃至多次开发,因此许多测试工作必定还包含在该阶段 [18]。

2.测试的目的

测试的目的就是针对软件复杂的部分和出错较多的部分,尽可能多的找出软件中所存在的错误。这样的理论提醒人们测试的中心是查找错误,而不是展示软件的功能是正确的。

首先,在测试阶段找到错误之后,通过对这些错误进行分析,包括产生原因、分布特征等,使得软件过程中的缺陷呈现在管理者的面前,使他们意识到着这些错误,并加以改进,并且,通过该分析可以得到针对性高的检测方法,从而使测试的有效性上升到一个新的层次。其次,即使测试没有发现错误,它也是有价值的,可以评定测试的质量。

5.2测试的主要内容

为了确保测试的质量,测试的过程可以分成五个阶段,分别是:单元测试、集成测试、确认测试、系统测试和回归测试。

22

咸阳师范学院2013届本科毕业论文(设计)

1. 单元测试

单元测试所针对的主要软件的最小单位模块。白盒测试是单元测试的主要方法,也是进行单元测试时常用的方法,编程人员在该阶段中比较重要,因为大部分使得测试是由他们来完成的,其目的是检验软件基本组成单位的正确性。单元测试的主要方法有控制流测试、数据流测试等。

2. 集成测试

集成测试则是针对系统整体功能而言的,是在各个模块按照设计要求整合起来后同时进行的测试,该阶段的主要目标是发现与接口相关的问题。如一个模块与另一个模块可能会由于疏忽的问题而造成有害影响,子功能组合起来可能不产生预期的主功能等,集成测试的策略主要有自顶向下和自底向上两种。

3. 确认测试

向未来的用户展示系统能够按照预定的要求工作是确认测试的目的。一个完整的软件系统在集成测试完成以后已经按照设计的要求整合了所有模块,同时也已经基本排除了在接口上存在的错误,下一步的工作就是完成确认测试的任务,这就是对软件有效性的验证,即软件的功能能够像用户所期待的那样运行出来。

4. 系统测试

系统测试是指对已经集成好的软件系统进行彻底完整全面的测试,以验证软件的功能是否和客户所要求的一致,软件的性能是否是良好,并检查软件的行为和输出是否正确。

可以从以下几方面实现系统测试:

1). 功能测试:测试所开发的软件是否符合客户的需求,在软件设计阶段所描述的是

否已经实现。功能测试对于系统测试来说是必须的,并且是用的最多的,在一般情况下它的测试标准就是正式的软件说明书。

2). 性能测试和强度测试:就是在一些非正常条件下,测试系统功能的实现情况分析

它们的实际限度是多少。

3). 安全测试:对系统内部的保护机构进行验证,看它是否能够在各种非常规干扰的

情况下对系统进行保护。 5. 回归测试

回归测试是在软件的维护阶段进行的,对于软件中存在的问题进行改善之后所进行的测试。目的是检验对软件进行的修改是否正确。在此,修改的正确性有两层含义:一是所做的修改改善了软件的性能和质量,;二是不影响软件的其他功能的正确运行[19]。

23

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

5.3系统测试

软件测试方法从测试人员角度看,可分为人工测试和机器测试。人工测试又称为代码复审。主要有三种方法:个人复查、走查、会审。机器测试分为黑盒测试(又称功能测试)和白盒测试(又称结构测试)两种[20]。

下面对该小区物业管理系统的部分功能进行测试,以检查系统能否正确完成各种操作,是否能够实现预期具有的功能。 1.系统管理员登录

该模块是进入本系统的一个入口,用于维护系统的安全。只有输入正确的用户名和密码输入,才能继续进行操作。

用户登录的测试用例如表5.1所示。

表5.1 用户登录测试用例表

用例名称: 前提条件: 输入数据: 步 骤: 预期结果: 用户登录 用户已经成功注册过信息 登录名:admin 密码:admin 权限:系统管理员 登录名:zll 密码:123 权限:普通业主 1.输入数据:登录名和密码。 2.单击“登录”按键。 1.当输入数据不正确时,系统弹出提示。 2.系统管理员成功登录后,跳转到管理员的用户界面。 3.普通业主成功登录后,跳转到普通业主的用户界面。 用户登录模块的测试实际结果与预期结果相同。用户登录模块设计正确。界面如图5.1所示。

图5.1 登录主界面

2. 添加住户

住户添加的测试用例如表5.2所示。

24

咸阳师范学院2013届本科毕业论文(设计)

表5.2 住户添加测试用例表

用例名称: 前提条件: 输入数据: 步 骤: 预期结果: 小区住户添加 系统管理员成功登录系统 住户名,联系方式,住房信息,备注,登录账号,登录密码等等 输入上面所给数据,查看是否能正确添加住户。 1.当输入信息不正确时,系统弹出提示,添加住户失败。 2.当输入信息正确,添加住户成功。 住户添加模块的测试实际结果与预期结果相同。住户添加模块设计正确。界面如图5.2所示。

图5.2 住户添加主界面

3. 住户信息编辑

以管理员身份成功登录进入管理员子系统后,可以在业户注册信息功能中对用户的注册信息进行编辑,用户注册信息的用例如表5.3所示。

表5.3 业户注册信息编辑测试用例表

用例名称: 前提条件: 输入数据: 步 骤: 预期结果: 业户注册信息编辑 管理员成功登录系统 在想要进行修改的字段输入数据,例如输入新的联系方式 1.输入新的联系方式。 2.单击“提交”按钮。 1.当输入信息不全面时,会弹出提示信息。 2.当输入正确数据时,提示操作成功。 住户信息编辑的测试实际结果与预期结果相同。住户信息编辑功能设计正确。界面如图5.3所示。

25

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

图5.3 住户信息编辑主界面

4. 收费管理操作

管理员成功登录该系统后,可以在网上进行住户缴费信息的查看和添加操作,收费管理操作的用例如表5.4所示。

表5.4 收费管理测试用例表

用例名称: 前提条件: 输入数据: 步 骤: 预期结果: 收费管理 管理员成功登录系统 缴费时间:2013-04-19 缴费项目:水费 缴费金额:100 1.输入缴费时间,缴费项目、缴费金额。 2.单击“提交”按钮。 1.当输入数据不全面时,弹出提示信息。 2.当输入数据正确时,提示操作成功信息。 收费管理操作的测试实际结果与预期结果相同。收费管理功能设计正确。界面如图5.4所示。

图5.4 收费管理主界面

5. 投诉管理

管理员成功登录该系统后,可以进行投诉的删除和受理操作,投诉管理模块的用例如表5.5所示。

26

咸阳师范学院2013届本科毕业论文(设计)

表5.5 投诉管理测试用例表

用例名称: 前提条件: 输入数据: 步 骤: 预期结果: 投诉管理 管理员成功登录系统 选择要进行的操作,删除或者受理 1单击删除。 2.单击受理。 1.当单击删除时,弹出删除成功提示信息。 2.当单击受理时,弹出操作成功信息。 投诉管理测试的实际结果与预期结果相同,删除和受理操作能够正常执行,投诉管理模块设计正确。界面如图5.5所示。

图5.5 投诉管理主界面

6. 业户交流管理

管理员和业主成功登录后,可以进行信息发布,业主交流管理的用例如表5.6所示。

表5.6 业户交流管理测试用例表

用例名称: 前提条件: 输入数据: 步 骤: 预期结果: 业主交流 用户或管理员成功登录系统 标题:通知 内容:水费未交业主 1.输入标题,内容。 2.单击“提交留言”按钮。 1.显示所有留言信息。 业户交流操作的测试实际结果与预期结果相同。业户交流功能设计正确。界面如图5.6所示。

图5.6 业户交流主界面

27

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

第六章 总结与展望

时光荏苒,转眼间几个月的时间已经在不知不觉中过去了,这段时间里,在我的导师和同学的悉心帮助下最终基本上完成了毕业设计的任务,这一路走来虽然忙碌紧张却让我感到了前所未有的充实感,更重要的是使我对本专业的基本理论技术和专业知识有了更深入的了解和体会,明白了学以致用的重要性。

通过该小区物业管理系统的开发,是我对于开发一个信息系统的步骤和方法有了更深刻的理解。一句话说的好,凡是预则立,不预则废,所以在系统开发之前,首先必须要做足够的准备工作,了解系统的现状、存在的问题、详细分析客户的需求,并以此作为基础为开发系统准确定位,只有这样,才会在实际的开发工作中循序渐进,使开发工作有条不紊的进行;其次,认真分析总结市场需要和客户需求,根据实际情况先设计出一个初步方案。最后利用自己所掌握的技术,有计划有步骤的开发和设计系统。

本系统采用的是SSH框架,对于JSP的的知识用到较多,同时也用到了一些比较新的编程框架,这些新的框架是之前在学校没有学过的,而是在外包学院培训时老师新讲的,相对来说,会有一些难以运用,但是,学习这些就是为了在以后的工作中能够用到,温故方可以知新,既然学了,就要好好的加以利用,不然这些知识在我们面前永远是新的,只有不怕艰难好好地动手实践一遍,才可以知道其中的奥妙之处,才可以对这些知识有更深层次的理解。

毕业设计是整个教学过程的最后环节,是对我们理论知识应用于实践情况的考查。这次毕业设计不仅使我意识到了学以致用的重要性,更让我知道了严密思考和仔细推敲是计算机编程的关键所在,只有这样,才会有一个完善的软件生成。通过这一系列工作使我系统地掌握大学所学的专业知识,并基本掌握了开发一个应用软件的能力。在以后的工作学习中,一定会将理论知识和实践结合起来,以严谨的态度对待每一件事情,凡事要多动手、多动脑,养成良好的习惯,让自己在以后的生活中表现的更加出色。

28

咸阳师范学院2013届本科毕业论文(设计)

致 谢

在此,由衷的感谢帮助过我的老师和同学。

在撰写本篇论文的过程中,得到了大家的帮助和支持。在这里首先感谢的是我的导师刘淑英老师。刘淑英老师对我们的指导细致认真,一丝不苟,大到论文的选题和大纲,小到写作内容和写作技巧以及标点符号等方面。从她身上,我不仅学到了学术上的知识,更重要的是她对待事物的态度,特别是她严谨的治学精神和真诚的为师风范使我受益终生。

在此期间,我不仅学到了许多新的知识和解决问题的方法,而且也提升了自己看待问题的高度,对于问题的切入点有了更好的把握。再次对导师在毕业设计期间给予的指导和帮助表示衷心的感谢。最后感谢在毕业设计中帮助我的众多朋友和同学,以及在设计中被我引用或参考的论著的作者。

感谢一起在做毕业设计的同学。他们帮助解答了许多技术上的问题。同时也感谢其他老师在此期间的关怀和帮助,以及学院为我提供的良好的毕业设计环境。

29

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

参考文献

[1]Will Liam Walters.Pratice of Real Estate Management for Experienced Property Manager[J].McGRAW,2003,(5):83-86.

[2]王竹晓,殷兆麟,邵安贤,吴绍伟.持久性框架模式及其在J2EE系统开发中的应用[D].云南:云南大学,2005.

[3]李斌成,王胜明,宋雨,黄志强.基于UML的电子商务系统的设计[J].航空计算技术,2002,(3):66-68.

[4]吕智林,苏德富,郑宁.基于UML的EBJ组建建模方法的研究[J].计算机应用研究,2002,(2):46-48.

[5]李苹. JSP技术在电子商务网站中的应用研究[D].云南:昆明理工大学,2006.

[6]吕琦英.UML对基于B/S模式的图书管理系统的分析与设计[J].中国管理信息化, 2012,(10):113-114.

[7](美)奥利弗(Olover,D.) (美)莫里森(Morrisen,M.)著.陈秋萍译.HTML与CSS入门经典(第七版)[M].北京:人们邮电出版社, 2007:174-188.

[8]孙卫琴.精通Hibernate:Java对象持久化技术详解[M].北京:电子工业出版社,2005:25-32. [9]Ted Husted,Cedvic Dumoulin,George Franciscus,David Winterfelat.Struts in Action: Building Web Applications with the Leading Java Framework[J]. Springer Handbook of Engineering Statistics, 2002,(4):4-6.

[10]Roughley I.Starting Struts2[EB/OL].http://www.infoq.com/minibooks/starting-struts2,2007-06-03.

[11]Spring Persistence with Hibernate.Paul Tepper Fisher and Brian D.Murphy[OL]. http://it.freesion.com/3220/4888028/2496818/,2010-03-17.

[12]王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2006:1~40. [13]唐曦光,林思伽.浅谈JDBC数据库连接[J].现代化农业, 2012,(1):45-46.

[14]程云鹏.你该选择什么样的数据库安全审计产品[J].信息安全与通信保密,2012,(6):45-46. [15]陈文宇,陈福,余盛季.Java同步线程模型分析与改进[J].电子科技大学,2010,(3):430-434. [16]孙莹,张毅,许俊华等. MVC编程模型在Web程序中的应用及Java实现[J].计算机工程与应用,2001,(10):78-92.

[17]贺松平.基于MVC模式的B/S架构的研究及应用[D].武汉:华中科技大学,2009. [18]Edeard Kit.Software Testing in the Realworld Improving the process[J].Mathematics in Computer Science,2003,(2):13-14.

30

咸阳师范学院2013届本科毕业论文(设计)

[19]常俊超.应用软件方法和技术解析[J].河南水利与南水北调,2008,(2):48-49. [20]朱少民.软件测试方法和技术[J].中国人民公安大学学报,2006,(2):17-19.

31

本文来源:https://www.bwwdw.com/article/iqf8.html

Top