目录
基于android的物业管理系统的设计与实现 3
摘 要 3
Android property managemengt system 5
Abstract 5
1 绪论 6
1.1 选题背景 6
1.2 课题研究现状 6
1.3 设计研究主要内容 7
1.4 系统主要设计思想 8
2 开发环境 8
2.1 Android系统的结构 8
图2-1 Android系统架构图 9
2.2 Android应用程序 9
2.3 Android应用程序接口 10
2.4 Android系统运行库 10
(1) 系统库 10
(2) Android运行库 11
2.5 Linux内核 11
2.6安全权限机制 12
2.7 Android平台的搭建 12
2.7.1 JDK的安装 12
图2-2 验证JDK安装是否成功 12
2.7.2 Android Studio下载安装 13
2.7.3 Android SDK的安装 13
图2-3 Android SDK Manager 13
2.7.4 Android Studio安装配置 14
图2-4 android studio配置 14
图2-5 android studio 新建项目 15
图2-6 应用创建 15
2.7.5 Genymotion安装 16
图2-7 添加虚拟设备 16
图2-7 模拟器界面 17
2.8 数据库 17
2.8.1Mysql的安装说明 18
图2-8 MySQL安装 18
图2-9 MySQL安装完成 18
3 设计系统分析 19
3.1 系统的可行性分析 19
3.1.1 开发技术可行性 19
3.1.2 系统可操作性 19
3.1.3 经济实行性 19
3.2 功能需求 19
图3-1 物业管理功能需求图 20
3.3 系统开发软件工具以及环境 20
3.4 性能需求 21
3.5 其他需求 21
图3-2 其他需求 21
4 系统总体设计 22
4.1 概述 22
4.2 系统设计原则 22
(1)系统能以最少的时间完成最多的工作量 22
(2)系统的可靠性必须十分高 22
(3)系统操作起来要简洁方便 22
4.3 Android应用程序结构组成分析 23
图4-1 Activity的生命周期转换图 24
图4-2 Activity生命周期相关方法 25
图4-3 View的层次结构 25
4.4 系统功能结构图 26
图4-4系统功能模块结构图 27
4.5 手机用户端功能流程图 27
图4-5 用户手机客户端流程图 28
4.6 数据库表设计 28
(1)message信息表,如图4-5所示: 28
图4-5 message信息表 29
图4-6 desk信息表 29
图4-7 room 信息表 29
5 系统实现 30
5.1 客户端界面设计 30
5.2 登录注册界面 30
图5-1 登录注册界面 30
图5-2 用户注册界面 31
图5-3 登录成功界面 31
图5-4 用户信息 32
图5-5 后台业主信息管理 32
5.3 公告模块界面 33
图5-6 公告模块界面 33
图5-7 客户端通知界面 34
图5-8 后台通知模块 34
5.4 失物招领界面 35
图5-9 客户端失物招领界面 35
图5-10 后台失物招领界面 35
5.5 物业缴费及缴费通知实现界面 36
图5-11 后台缴费通知模块 36
图5-12 客户端缴费通知界面 37
图5-13 后台物业交费界面 37
图5-14 缴费成功界面 38
图5-15 已交费状态界面 38
图5-16缴费完成再次缴费界面 38
5.6 后台管理员登录后台界面 39
图5-17 后台管理登陆界面 40
5.7 网页后台管理模块界面 40
图5-18 网页后台管理界面 41
5.7.1 后台物业信息处理模块 42
图5-19后台添加物业信息界面 42
图5-20 修改信息内容界面 42
5.7.2 后台模块管理 42
图5-21 后台通知删除界面 43
图5-22 后台通知修改界面 43
6.1 系统测试方法 45
6.1.1 测试范围 45
6.1.2 系统测试具体细节 45
6.1.3 测试环境 45
6.2测试文档编写 46
6.2.1 测试阶段技术 46
图6-1 系统其他各方面测试 46
6.3 测试分析 46
参考文献 47
致谢 48
基于android的物业管理系统的设计与实现
摘 要
随着城市化进程的加快和越多智能手机的出现,我们获取信息的方式不单单通过电视和报纸等,交流信息的方式也不仅仅是发信息打电话,智能手机的出现对我们的生活产生了潜移默化的影响,而随着城市化进程的加快和人们对高质量生活品质的需求,人们所在的住宅小区也需要更加现代化的物业管理方式。传统的物业管理方式由于效率低,安全性差而被更为高效便捷的物业管理制度所取代。
本设计一开始对基于Android的物业管理系统的需求进行了整体分析,从系统在什么环境下能设计出来、系统最终能实现什么功能、系统该怎么一步步设计、系统的各个功能该怎么实现这几个方面进行系统的总体设计,分析完之后,最后实现的android物业管理系统拥有用户注册登录、通知公告、失物招领、物业缴费、小区周边,小区宣传等主要功能,基本上物业管理小区基本的功能都有,而且更简洁。最后经过反复的测试完善修改,验证了系统的可操作性和实用性,达到了设计该系统的目的。
关键词:android 物业管理 智能手机 现代化小区
Android property managemengt system
Abstract
With the acceleration of the urbanization process and the emergence of more smart phones, we get information from the way not only through television and newspapers, etc., the exchange of information is not just the way to send a message, the emergence of smart phones on our lives The subtle influence, and with the accelerated process of urbanization and people’s demand for high quality of life, people living in the district also need more modern management of the property. The traditional way of property management is replaced by the more efficient and efficient property management system due to the low efficiency and poor security.
The design of the beginning of the Android-based property management system needs of the overall analysis of the system from what circumstances can be designed out, the system can achieve what the final function of the system how to step by step design, the system how to achieve the various functions Several aspects of the overall design of the system, after the analysis of the final realization of the android property management system has a user registration registration, notice notice, lost property, property payment, community surrounding, community publicity and other major functions, basically the basic management of the district Function has, and more concise. And then in the system after the first test, and modify the system to ensure that the final design of the system is absolutely perfect.
Key Words:android property management samrtphone Modern district
1 绪论
随着城市化进程的加快,以及智能手机的广泛应用。移动互联网的飞速发展为我们现代人带来了前所未有的巨大改变。各个手机操作系统都冒了出来,其中两个最厉害的就是android和IOS。这两个操作系统的用户估计占据了市场的百分之九十以上。特别是android以它开源、开放的姿态,深受众多手机厂商和来自全世界的开发者的喜爱。在众多安卓应用中,涉及到了人们生活的各个方面,从衣食住行到社交理财,而我们所住的小区管理也需要与时俱进。所以我以物业这一传统的行业做切入点,设计并实现基于android的物业管理系统,使物业管理从线下走到线上。
1.1 选题背景
Android这个词语是作为谷歌在2007年发布了应用在手机平台上的操作系统出现的,然后它就作为手机操作系统出现在人们的生活中,并且由于其操作系统的开源性和可开发性使得安卓操作系统的应用软件越来越多,安卓操作系统是越来越流行起来,用安卓操作系统手机的用户人群也比用苹果操作系统的人数多的多。
安卓的发展是一个方面,而同时在城市化进程的加快的时代背景下,人们对居住的环境要求也越来越高,居住环境要怎么去提升,当然得通过物业管理水平的提升。只有物业管理水平上去了,才会使人们的居住环境变得更加舒适。但是现在的很多地方物业管理水平还很落后,很多业主所在的小区环境是十分的恶劣。几乎小区物业是什么事都不做,有时不是物业不想去管好小区环境,而是实在没法和业主实时沟通,而业主有时也并不会去看小区展排。这就导致了业主与物业层的矛盾。所以我们需要一款线上的物业管理系统。这将对业主和物业之间的关系完成一个极大的改善,同时这对物业管理人员来说是件十分便利的事,这样他们在日常管理工作的时候能更快更好的去完成,在这样背景下所形成的物业管理模式是非常符合时代发展,顺应了时代潮流变化。
1.2 课题研究现状
Android平台不像ios系统,它是个更大众化面向更多普通群众的平台,就比如人们用安卓手机的比用苹果手机的更加多,有很多用户甚至操作不过来苹果手机,而安卓手机确实用的十分熟练,安卓手机的应用也比苹果手机更多,苹果手机很多应用下载是需要付费的,而安卓手机上就不用,而且android的市场也十分广泛,几乎分布于从低端到高端的所有市场,基本每个价位都有令消费者十分心动喜欢的手机,有的安卓手机价格甚至比苹果手机还要高,性价比也比苹果手机高多了,现在什么高通骁龙处理器也十分的强劲,手机运行软件速度甚至超过了苹果,现在有越来越多的用户选择安卓,有的安卓机能实现三网通双卡双待功能,这在很大程度上对用户来说是个十分有用方便的功能,而且刷机更加方便,而且在编码过程中不会有太多的东西去阻扰束缚。这样就给软件开发人员提供了无限可能,消费者用户也能见识到千奇百怪各种各样的应用。同时,android平台能无缝结合优秀的Google服务,例如地图,邮件,搜索等,都是对用户来说十分重要的功能。而android正好能满足这些功能需求。
我们在玩自己的安卓手机时,我们可以在自己的手机桌面调整应用图标的大小,甚至可以换图标,还能换壁纸,把自己喜欢的应用拖动到任何自己想放的位置来方便自己使用,交互性十分的好。还有为什么许多机器都会出现卡顿的情况,其实不光安卓手机有,苹果机器有时也会出现卡顿的情况,这个时候我们只需要按住手机的home键就能打开安卓手机的应用管理器,然后点击清理就能瞬间释放手机运行内存,而让自己的手机瞬间变得流畅起来,而且有的好玩的应用游戏也是可以想安装在哪就安装在哪,不玩的时候也可以随意卸载,十分的方便,android用户在下载应用的时候就会发现不需要像苹果用户一样那么繁琐,还可以像普通手机内存卡当移动硬盘使用。还可以刷机,对系统进行优化,让用户体验达到一个新的层次。而且它可选择行强,用安卓系统的手机牌子都分辨率好几种,外观也是各式各样。
而正好我国的物业管理信息系统的建立与国外相比尚处于起点阶段,特别是在网络化信息管理上面,许多小区物业还选择人工通知宣传的方式,这样的管理方式远远不及国外那些先进的物业管理方式,目前国内的很多小区物业管理模式都十分的落后,物业与业主之间都没办法实现交流,有的只有通过在小区公告栏里贴上公告,或者给业主一个个的发短信,而有的业主估计并不会去看,就会显得吃力不讨好。所以设计一个基于android的物业管理系统就极为必要。
1.3 设计研究主要内容
本设计主要是设计出来一个基于Android的物业管理系统。
要想设计出该android物业管理系统,就需要分析出完成系统的必备工作:
(1)了解小区物业管理人员在管理工作时候的流程,明白物业管理的体制,得明确该系统需要满足客户什么要的需求。
(2)仔细分析这个系统的需要做到哪些,又需要哪些功能模块。能有一个具体的系统功能框架。
(3)明确这个系统内部的结构是什么样的,然后根据画出的系统结构图来进行具体系统设计。
(4)在做系统结构图和功能框架图时,写下相关文字记录下来。
(5)编写各功能模块具体实现代码。
(6)产品完成前对系统的功能进行测试并对错误进行修改。
(7)不断完善修改系统保证最终能正常完美运行。
1.4 系统主要设计思想
先了解最终完成这个系统,我们所需要的软件有哪些,系统的各个功能模块要通过怎么样的方式去实现,根据开发软件的优势特点,选出最好的开发方法。
用php实现后台数据的调用。
使用Android Studio软件,然后上网查阅并按照步骤一步步搭建好开发环境,然后在Android studio软件上进行设计所需要系统的开发,并完成最终调试修改。
查阅咨询一些相关方面的书籍,丰富自身的开发能力,对自己所需要设计的系统能有一个完善的了解。
2 开发环境
本设计的开发环境是基于Android平台,从而最终设计出基于android的物业管理系统,下面介绍一些编写android程序所需要的软件,以及一些开发环境的配置还有android系统是由哪些东西组成的。
2.1 Android系统的结构
Android的系统结构是采用分层的方式,就是一层一层的,这个并没有什么特别的,许多其他的系统也是采用这样的方式,它的结构图见图2-1,Android的系统结构有4个部分,图最上面一层显示的是叫应用程序层、里面有Home,图的第二层是上一层的框架层,有协议服务、第三层是叫系统运行库层,这一层有表面管理者,最底下一层就是linux核心库层,有一些wifi功能,由这四层组成了一个完美的android结构。
图2-1 Android系统架构图
2.2 Android应用程序
作为一个安卓手机,它最重要的就是能运行一个又一个的运行程序,可以说应用程序是安卓手机最重要的部分,不过怎么编写这些应用程序呢,还要完成各式各样满足用户需求的功能,可以说要完成这些程序编写,基本都用到java语言,因为该语言十分的强大,编写出来的程序各种各样,功能也特别的多,还有各种令人爱不释手的游戏。给人们的生活带来了很大的乐趣,那么一个应用程序是由哪些东西组成的呢?单个活动和多个活动组成了这些系统所需要的应用程序,这些活动就像是操作系统上的进程,一个活动可以从一个状态变换到另一个状态,在这些状态中自由转变,这样就让系统显得更加灵活。让用户在体验时也更加舒服。
因为java语言具有跨平台的性质,因此有java语言编写的android应用程序是可以任何具有android系统的平台,这就非常厉害了,这点正是Android的精髓所在。
Android它不仅仅是一个手机操作系统,他是有一个个应用程序组成,开发者可以通过修改这一个个应用程序来对系统进行不断的完善和优化,开发人员可以直接使用java语言对这些应用程序进行修改,这样就不像一些死板的其他系统,开发人员是没办法对系统进行优化的,这样就展现出android平台的灵活性,这也是它的魅力所在。
2.3 Android应用程序接口
我们都知道一个手机内有各种应用程序,那些就是android应用程序,那么什么是它的框架呢,其实他就是这些用程序的编程接口,也就是我们俗称的API。它是一些事先定义好的函数,这个说法有点抽象,说的简单点就是提供给用户用来编程的,是操作系统中最基本的东西,就是把软件要做的事情传递给系统,每个程序都可以有它自己独特的功能块。而其他的应用程序是可以使用该程序释放功能块,这样的系统设计是能让系统组件重用的方式更加简单化,以至于用户也能用这样的机制来换掉其他应用程序的组件。
应用程序的框架是有这几个地方组成的,这里面头有:
(1)UI组件:这是用户可以直接用眼睛看到的地方,像一些文字啊,按钮等,表格列表。好的ui组件能给人独特的用户享受。
(2)Content Providers:让应用程序能够实现数据的访问和共享。可以在一个程序上访问到与共享到另一个程序上相同的数据。
(3) Activitymnage:就是为系统中所有运行的程序交互提供一个接口,主要接口围绕着运行的进程信息。
(4) Notificatiomanager:是负责系统中通知管理的,比如来电显示,qq来消息提示,当出现这些消息提示的时候都会显示在通知栏,提示各个应用权限广告。
2.4 Android系统运行库
上一个提到了android应用框架,那么我们在用到这些框架的时候,andoid系统就会提供一些C/C++库,这样我们在使用的时候,能更好的用到这些组件,当然这些组件的类型也是十分多的,具体什么时候该用什么样的都必须很清楚,不过大概是有2个大的组成方向,一个是系统库还有一个是andorid运行时,这些库的存在为我们设计系统带来了十分大的便利。下面就让我们了解一下这些库里有哪些东西。
(1) 系统库
Libc:它是系统最底部层的库,这个库得从最核心的linUx系统里才能调用起来。是从BSD继承来的。
多媒体mediafrmework库:顾名思义这个库里,人们在查看视频,录制声音,听音乐,观看图片的时候就是调用这层库里的东西,它的格式非常的多,不管是主流和冷门基本都有,如MPEG-4、MP3、AAC、JPG、PNG等多媒体格式。是基于PacketVideo OpenCORE的库;基本主流的格式它都运行起来没有任何问题。
外层管理器:它是用户空间中libraries显示相关的一个模块,主要功能就是管理显示子系统,负责显示存取互动,还有就是它可以将2d绘图和3d的绘图在显示的时候合成到一起。
SGL:2D图形引擎库。
OpenGL:支持三d效果的组件。
SQLite:是关系数据库,可用来增添、删除、修改、查寻通话记录、联系人等信息内容。功能多样。基本所有的应用程序都可以用。
WebKit:新式的Web浏览器引擎,支持当前非常流行的HTML 5。这对很多程序的开发是十分有用的。
SSL:基于TCP/IP网络协议,为数据安全通信提供支持。
(2) Android运行库
系统运行库层包含了Android Runtime,其核心为Dalvik虚拟机。所有Android应用程序都是在这个Dalvik虚拟机上运行的,这样这些应用程序运行的时候就不会显得拥挤,会有自己专属的个体进程空间,虚拟机在执行的时候也不用管那么多没用的,直接执行下相关的dex文件就可以了,虚拟机的线程机制,内存管理都是用Linux操作系统的机制,而且它非常适合在移动端上使用,不需要十分快速的cpu计算速度,也不要十分庞大的内存空间,而且文件优化也做的非常好,对不同的用户来说都可以保证应用的安全和运行。
2.5 Linux内核
说到Linux内核就想到linux操作系统,但是两者并不是一个概念,linux内核是一个十分强大操作系统的核心,但是虽然强大但却有点复杂,它是由c语言编写的。内核内核,就是一个系统的核心,它并不是一个系统,有很多人都有误区,有了这个内核的系统就成了我们现在十分熟悉的linux系统,它不光有内核,还有其他子系统,主要子系统有系统调用接口,进程管理,内存管理,虚拟文件系统,这个内核它的特点是:可移植性,可以用在很多地方,并支持各种网络,它不是静止的,它是一个动态内核,有了它我们可以做很多事,比如添加删除一些软件组件,它们可以在引导时根据需要或在任何时候由用户插入。符合为手持设备节省能耗。
2.6安全权限机制
在Android系统中,每次我们在装完应用时,基本所有的应有都会出现提示选项,说要获取什么什么信息。而苹果手机基本不会出现这样的提示,安卓应用的广告多,种类也多,根本没法区分哪些信息是有用的,而如果我们在不小心给了这些应用获取信息的权限时,我们的个人隐私几乎就暴露给了那些开发商看,虽然大多数开发商并不会用你的隐私去做一些坏事,但是我们得防患于未然,因此我们需要采取适当的防御措施,我们可以通过自定义权限 permission的操作,来定义自己的权限,首先必须使用一个或多个标签,在AndroidManifest.xml文件中来声明它们。
还有在AndroidManifest.xml中的强制权限,除了强制谁能够把Intent对象发送给一个BroadcastReceiver对象的权限之外,在发送一个广播通知时,还可以指定需求权限,在调用Service过程中,可以设置更细粒度的其他强制性权限。还有URI权限。
2.7 Android平台的搭建
2.7.1 JDK的安装
右击安装包打开,按照安装提示一步一步走。然后网上搜索怎么配置环境变量,按照教程一步步来,是十分简单的。配置安装好,怎么确定电脑里已经有这个东西了,这个时候打开cmd窗口,输入java-version敲击回车然后窗口jdk信息就全显示出来了。像图2-2的信息表示安装成功了。
图2-2 验证JDK安装是否成功
2.7.2 Android Studio下载安装
百度搜索“android-studio”下载即可看到很多下载链接,下载完成后android-studio。双击安装
2.7.3 Android SDK的安装
Android SDK提供了开发Android应用程序所需的API库和构建、测试和调试Android应用程序所需的开发工具。
(1)从百度搜索下载所需的Android sdk文件,在下载完成后,右键解压,并解压到自己能够记住的文件夹。
(2)右键点击打开SdKsetup.exe的文件,如图2-3所示:
图2-3 Android SDK Manager
(3) 选择要安装的SDK及其文档或者其它包,在前面勾选,点击安装下载接受,然后就可以耐心等待安装好,
(4) 设置一下路径。并记住,最终安装好。
2.7.4 Android Studio安装配置
(1)下载安装好然后打开时,因为什么东西都没有,多有需要配置JDK和SDK,如图2-4所示:
图2-4 android studio配置
(2)选择JDK和Android SDK的路径
(3)配置好JDK和Android SDK后,就可以开始新建Android项目了,新建一个Android Studio工程,如图2-5所示:
图2-5 android studio 新建项目
(4)点击“finish”,应用创建完成,如图2-6所示:
图2-6 应用创建
2.7.5 Genymotion安装
(1)去Genymotion官网,点击下载
(2)运行安装Genymotion双击运行下载的Genymotion安装文件,选择中文语言并点击下一步
(3)安装完成后打开,添加虚拟设备,如图2-7所示:
图2-7 添加虚拟设备
(4)打开虚拟设备,模拟器安装完成,如图2-7所示:
图2-7 模拟器界面
2.8 数据库
采用免费小巧的mySQL 数据库,它一个关系型数据库管理系统,目前属于Oracle。在web方面mySQL最好用的关系型数据库之一。它占用的电脑内存十分的小,而且打开速度,运行速度更是没话说。而且关键还不要钱,还开放源码这些显著的优点。MySQL它把数据存放在各个不同的表中,而不是堆到一起,这样的存储数据方式,极大的提高了调用数据的速度,这也是为什么这么多人选择这个作为数据库的原因。灵活性高而且速度也十分的快速。
MySQL因为软件占用内存小、速度快、而且用户使用几乎不需要成本,尤其是开放源码这一特点,基本是现在最流行的数据库,几乎所有的网站开发都用这个,因为它的优势实在是太明显了。而且说道数据库,我第一个想到的就是它,这也是我为什么选择它的原因。
2.8.1Mysql的安装说明
(1)官网下载,点击安装,如图2-8所示:
图2-8 MySQL安装
(2)按照指示点击,安装完成,如图2-9所示:
图2-9 MySQL安装完成
3 设计系统分析
3.1 系统的可行性分析
3.1.1 开发技术可行性
(1)有关安卓开发的资料十分的多,基本在各个图书馆都可以买到,而且质量也十分的好,有保障。
(2)用于android开发的java语言是用的最多最广,实现功能最多的语言。
(3)基于安卓模式的管理系统已发展日趋成熟。
(4)舍弃老版本的开发环境,选择了目前十分流行由谷歌新推出的android studio,这个软件自身基于被业界公认为最好java开发工具之一的Intelijida,基本集开发调试于一身,是一款十分好的软件。速度更快,UI更加漂亮,更加智能,整合了Gradle构建工具,内置终端,更完善的插件系统,更利于开发人员开发。
从以上几点就可以看出是有技术能把这个系统给设计实现出来的,而且我也丰富自身掌握了一定的开发技术,所以系统的开发具有可行性。
3.1.2 系统可操作性
本设计是在安卓客户端实现的,用模拟器就能安装,而且操作简单,利于安装打开,基本只要是现代人都知道打开后该干什么,而且界面也很简洁,没那么多花里胡哨的东西。给用户也能带来一种简洁的体验,用户拿到手就知道该怎么操作,有哪些功能。所以本系统操作起来是完全没有问题的。
3.1.3 经济实行性
系统开发调试采用Android Studio平台,不需要任何费用,以及其他设计所需要的工具软件都不需要收费,基本都不需要用户提供任何费用,这对人员软件开发是十分重要的,所以系统基本除了人力,不需要任何财力。
3.2 功能需求
需求分析就是分析了解用户要什么,只有弄清楚用户的要求,才能去确定我们这个系统的功能得包含哪些,这是一项十分重要的工作,也是十分困难的,你得考虑的十分全面,我们这个物业管理系统,我在了解了业务流程之后,知道了作为物业该做些什么,该满足业主哪些需求,所以为了减少物业的管理压力,让业主也能有更好的小区管理环境,在经过调查分析后,得出系统的基本功能有:小区公告栏的通知,这个是最基础的也是最重要的,只有实现了这个才能让业主时刻了解物业的信息,用户失物招领功能,这个功能能很大的为业主带来方便,谁家丢东西了都可以直接通过这个反映给物业让物业来帮忙,极大改善了物业和业主之间的关系,留言反馈功能,这个功能就是给用户提意见然后让物业看到不断完善自身的,是十分必要的,宣传管理功能,可以给用户灌输一些小区是大家的理念,让业主自主服从物业管理。底下是这些功能该实现的东西:
(1)公告通知管理:对公告通知信息进行管理,物业管理人员可以在后台添加公告通知信息,业主们可以在前台浏览了解到公告通知信息。
(2)缴费信息管理:对业主们缴费信息进行管理,物业管理人员在后台更新缴费信息,并可以在缴费通知中通知业主来缴费,业主看到通知后完成缴费。
(3)失物招领信息管理:对业主丢失东西信息进行管理,业主可以通过在前台提交失物信息,物业在后台看到之后可以安排帮忙寻找。
(4)留言反馈信息管理:对用户对物业管理留言信息进行管理,业主可以在前台给物业留言,物业可以在后台看到。
(5)宣传管理:物业管理人员可以在该模块添加一些宣传小区文明建设的内容或者一些正能量的东西来给小区做宣传,业主们也可以在前台看到。
为了更直观的显示出这些功能需求,我做了一个需求图,图见下3-1:还是十分简洁清楚的:
图3-1 物业管理功能需求图
3.3 系统开发软件工具以及环境
硬件环境:自带笔记本电脑
电脑操作系统:Windows 8.
必须软件如下:
jdk-6u22-windows-i586.exe
xampp-win32-1.8.3-0-VC11-installer.rar
Google Android SDK android-sdk-windows-2.1_r1.zip
Android Studio.exe
MySQL-Front_Setup.zip
Genymotion.exe
3.4 性能需求
(1)安全性 不管是什么系统开发出来,对用户的信息的安全保护是十分重要的,不然对用户的隐私权就是个极大的威胁,具体在哪体现这些安全性,比如系统得是安全的,用户的那些数据也得做到绝对的安全,怎么样让系统是安全的,那就得设置,来保证系统能稳定运行,而不是动不动就会停止响应,而数据安全则可以通过设置一些权限,有些东西只能管理人员来弄,外来人是没法设置的这样能极大保证用户们信息的安全。
2.可靠性 只有可靠的系统才会有用户去使用它,如果一个不能令人信服的软件,基本是不会有人使用它的。系统处理数据时候的可靠性,和软件运行的可靠性都十分的重要。设计系统的时候尽量考虑到方方面面,减少系统因为自己考虑不周而产生的各种误差,如果这些我们都能做到的话,那么系统的可靠性我们是完全可以保障的。
3.5 其他需求
作为一个好的物业管理系统不光是系统能够实现最基本的功能,它得满足很多个方面的要求,比如正确性啦,健壮性等等,如图3-2所示:
图3-2 其他需求
4 系统总体设计
4.1 概述
此次毕业设计的核心的地方就是android客户端,用户通过注册登录客户端,就可以在客户端上随时随地了解到小区信息还能发布自己的物业信息,这样对小区的业主们的生活带来了极大的便利。管理员通过在后台添加通知,跟新数据,这样用户可以在android客户端看到这些通知,这样让物业管理起来更加方便,也是物业管理更加透明化,然后后期再不断的完善,这样系统的功能也会不断的强大,使其满足更多用户的需求。
4.2 系统设计原则
所有系统开发的时候都有中心思想,围绕这些思想形成几个原则,我在设计的时候是遵循下面几个原则,
(1)系统能以最少的时间完成最多的工作量
系统运行在我想象中的理想状态大概是下面几个方面:
在系统处理事物能力上面,在规定时间内该系统能完成规定量的工作。甚至能超额完成;越多越好,这样系统的处理能力就很强大了。
在运行时间上面,就是看该系统从运行开始到完成其中某一项任务时需花费的时间多少,尽量做到越快越好,
在响应时间这个方面,就是用户们在客户端向系统发出请求到其返回响应结果需要的时间。也是越快越好,这样就极大满足了用户们的需求。
(2)系统的可靠性必须十分高
要在设计系统的时候提高系统的可靠性,只有可靠的系统才能保障客户们的用户体验,我们还得保证就算系统出错的时候,也能自我修复,比如出现未响应,再进去的时候还能进去,这样的系统的可靠性才会高,同时对于系统的一些关键数据库还得进行容错和纠错功能的设计,这是十分必要的,更快更早的发现并改正差错,并且处理一些关键性数据操作,在给系统加上一些权限控制,这样就能有效防止不法分子侵入系统盗取用户隐私。只给一些指定用户开放权限就行。
(3)系统操作起来要简洁方便
我这个系统再设计初衷,一开始最基本的理念也是最重要的就是得满足客户的需求,只有满足了用户的需求,这样的系统设计出来,才会有用户去用。而且系统的界面要做到简单、生动。用户也会更喜欢这样的界面。这样给用户的体验才会好,也会更愿意使用我们的产品,可以说,系统的界面,给人的第一印象直观感受是十分重要的,客户可以通过操作来实现对系统功能的了解信息的交流,这样用户才能更加愿意使用也更加方便使用该系统。物业能更好的了解到业主,业主也能更好的了解到物业,同时为了减少输入时候的工作量,加上一些汉字的手写输入,也给用户带来了方便。
4.3 Android应用程序结构组成分析
其实Android应用程序的组成是很简单的,它是由一些零零散散的有联系的组件组成的,而把他们这些东西联系到一起的就是程序Manifest。这些东西可以说是android应用程序的基石。
Android的应用程序具有很多特点,比如说,你一个程序有个十分好看有趣的元素,然后人家觉得你这个元素有趣,也想在自己的程序里加这个,他就不用自己再去编写代码开发,只要直接调用你这个里面的就可以,简单来说就是应用程序之间元素的相互调用。
大多数其他系统的应用程序都有单一的入口点,但是android应用程序就不一样,要实现系统的实例化,然后能够稳定运行,需要下面的组件:
(1)活动:是应用程序的显示层。 系统的每个画面都和我们的系统应用程序一一对应。
(2)服务:它是看不见的,他是负责跟新数据源和一些可以看到的活动,并能够及时的触发通知。
(3)广播的接收者 :我们在用的时候,注册创建一个这样的组件,然后我们的程序就能坚挺符合特定条件的广播intent。
(4)内容的提供者(Content providers):一个可共享的持久数据存储器(谈到持久化存储机制,首先想到的是数据库)。
(5)意图:用来简单的传递消息,当我们想执行我们的想要的东西的时候,系统会决定哪些来执行。
(6)通知:顾名思义。就是给用户显示通知的组件,比如来电显示的时候手机的提示灯会亮,就是这个组件的功能。
不同的安卓程序生命周期是不同的,有的非常短有的就非常长。比如。Activity,基本就是一个简单的屏幕,可以显示一些控件监听和相应,广播接收器的生命周期是十分短暂的,大概只有10s左右,如果超过了这个时间,基本就会显示无响应的错误提示,基本是没法完成耗时巨大的工作的,这个时候就需要用到service,service的生命周期就很长,他是个没用户界面的程序,可以用来开发监控类的东西。生命周期如下图所示:
图4-1 Activity的生命周期转换图
从图中就可以看出很多东西,一个activity基本就只有那几个状态,基本跟人一样生老病死,虽然不是完全一样,安卓程序被创建就相当于我们人的出生
然后活动停止也就代表了我们人的死亡,其实很容易理解的。
然后我还找了一张生命周期方法的图,如图4-2所示,显示的非常明白
图4-2 Activity生命周期相关方法
还有android的层次也是由摆放view的顺序决定的,其实view的层次结构十分简单易懂,如下图:
图4-3 View的层次结构
该文件还可以指定应用程序的元数据(如:图标、版本号或主题风格)以及额外的顶层节点,这些节点用来指定必需的安全权限和单元测试,以及定义硬件、屏幕和平台支持要求。
特别需要注意的是:使用installLocation属性,指定是否允许(或首选)将应用程序安装到外部存储器而不是内部存储器上。
当把应用程序安装到外部存储器上时,如果用于使用USB大容量存储器想计算机复制文件,或如果用户拒绝或取出SD卡,应用程序将立即终止。上述情况将直接影响到用户体验,以下几类应用程序不适合安装到外部存储设备中:
(1) 就有Widget、Live Wallpaper和Live Folder的应用程序;
(2) 提供不中断服务的应用程序;
(3) 输入法引擎;
(4) 设备管理器。
内部存储器的容量一般是有限的,所以最好是只要有可能,就把应用程序安装到外部存储器上。
4.4 系统功能结构图
什么叫功能结构图,这个图真的是十分的重要,画起来说简单也简单,说难也难,它就是将系统的功能进行分析并加以分解,把功能按照哪个功能属于哪个功能都排列好的图表,也就是从属关系。首先我们得弄清楚我们这个系统有哪些功能,把一个整体的大系统分为许许多多个小系统,然后每个子系统都是有很多更小的模块组成的,这个图是十分重要的,能一眼看出你这个系统的功能结构。以及每个功能具有哪些模块,我这个系统自客户端就是让客户能够自己注册登录,能看到公告通知,还能够自己提交自己掉的东西的信息等等,而后台就是用户缴费,添加通知等功能,每个子系统都有独特的功能,这些功能最后合起来完成了一个整体的系统功能,这图做出来的样子就是底下这样:
图4-4系统功能模块结构图
4.5 手机用户端功能流程图
最直观的显示功能的就是在用户手机上看到的,系统在手机上显示的功能见下图4-4:
图4-5 用户手机客户端流程图
可以看出来我们这个客户端上的功能还是十分全面的。
4.6 数据库表设计
本系统用到了数据库的很多东西,我们需要用到其中最实质内容的东西,那就是数据表,其中id为主键,我们这系统数据库中部分数据表单我都列了出来:
(1)message信息表,如图4-5所示:
图4-5 message信息表
(2)desk信息表。如图4-6所示:
图4-6 desk信息表
(3)room信息表。如图4-7所示:
图4-7 room 信息表
5 系统实现
5.1 客户端界面设计
客户端界面的设计得十分的简洁,美观,易操作。而且成本得低,所以在有限的菜单要把有用的元素都显示出来。还得注意点色彩的搭配,不能光秃秃的就黑白两色,对于需要长期使用的系统,要让用户在使用后不至于过于感到视觉疲劳,所以我选用轻松的淡彩色为主配色,这样做出来的客户端界面就不会色彩过多,也不会花里胡哨的,极大提升了用户的视觉享受,而且里面图标的排版也是尽量整齐,划分了不同的功能在固定的位置,而且每个图表之间保证足够大的留白部分,减轻查看的审美疲劳。对于常用的功能放在最显眼的位置,让用户一眼就能看出来,对于不常用的就摆在不显眼的位置。
5.2 登录注册界面
用户要想使用客户端的具体功能,得先注册登录,这样就需要一个登录注册界面,登录注册界面肯定有用户名和密码等信息,然后注册完就可以点击登录,登录界面如下图所示:
图5-1 登录注册界面
用户注册具体界面见下图:
图5-2 用户注册界面
注册完成后,用户返回登录界面登录成功后界面见下图5-3:
图5-3 登录成功界面
用户信息界面如下图5-4所示:可以看到用户注册时的信息
图5-4 用户信息
用户注册之后,后台就会显示的用户信息,见下图5-5:
图5-5 后台业主信息管理
5.3 公告模块界面
这个模块可以说是十分的重要,业主都通过这个模块来查看物业发的那些通知。这个界面大概的效果就像底下5-7的图那样,十分的清晰简洁。同时在这里面也可以看到有很多小模块,如通知、小区周边、小区概况,缴费通知,宣传节日习俗等。
图5-6 公告模块界面
客户端通知界面如图5-7所示:
图5-7 客户端通知界面
后台通知模块见下图5-8:
图5-8 后台通知模块
5.4 失物招领界面
失物招模块可以实现用户提交失物招领信息功能查询失物信息功能。用户可以在客户端提交失物招领信息,可以选择失物类型,客户端失物招领界面如图5-9所示:
图5-9 客户端失物招领界面
当用户在客户端提交失物招领信息之后,后台管理系统也会作出相应的更新,后台失物招领界面如图5-10所示:
图5-10 后台失物招领界面
5.5 物业缴费及缴费通知实现界面
物业缴费及缴费通知功能,当业主拖欠物业费时,就可以在缴费通知模块添加拖欠信息,效果如图5-11所示:
图5-11 后台缴费通知模块
业主可以在客户端查询缴费通知,来看看自己有没有拖欠物业费,客户端查看缴费通知如图5-12所示:
图5-12 客户端缴费通知界面
缴费的用户和没缴费的用户在后台中都可以看到,缴费的在后台就会显示已交费,没缴费的就会显示红色的未交费,效果如图5-13所示:
图5-13 后台物业交费界面
没交费的业主,在缴费之后,物业管理人员点击缴费,缴费成功界面如下图5-14所示:
图5-14 缴费成功界面
缴费成功之后,原来显示红色的未交费就会变为已交费,如图5-15所示:
图5-15 已交费状态界面
已经缴费成功的用户,是没法再次缴费的,再次缴费效果如下图5-16所示:
图5-16缴费完成再次缴费界面
后台实现缴费功能代码如下:
物业管理系统
5.6 后台管理员登录后台界面
物业管理人员登录后台时登录界面见下图5-17:
图5-17 后台管理登陆界面
5.7 网页后台管理模块界面
管理员在登录系统网页时可以在网页后台上对物业信息实现一些操作。这个界面还是十分清楚的,每个模块能实现什么点击进去一看就知道,基本各个年龄的物业管理人员都能一下子学会然后为业主服务,大概的效果就像下图5-18的那个样子
图5-18 网页后台管理界面
物业管理后台模块实现代码如下:
5.7.1 后台物业信息处理模块
这个模块就是那些物业管理人员点进前面的那些模块之后的具体操作模块了,比如说再点开通知模块添加的时候就可以在里面增添信息,就是对物业信息的各种操作来让业主们去看到。管理人员都要定时的更新物业信息。管理人员在后台添加物业信息如图5-19所示:
图5-19后台添加物业信息界面
管理人员在后台修改物业信息见下图片5-20:
图5-20 修改信息内容界面
5.7.2 后台模块管理
这个就是管理员对已发布公告信息的各种操作。因为如果物业信息不及时清理,或者发布了错误的信息。都需要这个来做到及时弥补。后台通知删除界面如图5-21所示。
图5-21 后台通知删除界面
后台通知删除部分代码如下:
function delete()
{
$article = M(‘info’);
$this->success('通知管理删除成功,返回上级页U(‘Info/index’));
}
} else {
t h i s − > e c r o r ( this->ecror( this−>ecror(addtcle->gerttLstSql());
}
管理员后台通知修改界面如图5-22所示:
图5-22 后台通知修改界面
后台通知修改部分核心代码如下:
Public update()
{
$this->success(‘通知管理修改成功,返回上级页U(‘Info/index’));
}else{
KaTeX parse error: Expected 'EOF', got '}' at position 53: …index')); }̲ if (_GET[‘id’]) {
redirect(U(’/Info/show_add/id/’ . $_GET[‘id’]), 0, ‘编辑通知管理’);
}
}
6系统的测试
系统测试是作为软件开发过程中的一个重要组成部分,目的是为了保证软件产品的最终质量对本物业管理系统进行了如下测试项:
(1)公告通知模块
(2)缴费通知模块
(3)宣传栏模块
(4)失物招领模块
(5)小区周边模块
6.1 系统测试方法
6.1.1 测试范围
为了保证最后系统出来能让用户使用,我们必须得进行测试,同时我们也得注意点,在检测的时候就减少错误的发生。
这个系统的测试范围大概在这几个方面:
(1)对系统各个模块的代码进行调试运行,运行后看有没有bug,并及时修正。最后整个系统一起测试,
(2)列出所有测试数据,看与预想的运行结果一样不一样。
(3)删除不必要的代码,简化程序,同时保留测试结果。
6.1.2 系统测试具体细节
测试之前必须有详细完整的安排,这样在测试的时候才不会显得慌乱,测试一个忘了一个,必须把系统所有的功能都测试一遍:
(1)把系统每个模块的功能都测试一遍
(2)检查代码,检测调试修改。
(3)每测试一项就把结果记录下来
(4)与任务书对比看还有没有遗漏的功能模块。
(5)及时记录测试的问题。
(6)及时修改完善的问题。
(7)测试修改完之后,最后在测试一次。
(8)系统完美运行。
6.1.3 测试环境
对测试环境的见下面:
(1)测试的时候尽量减少外界因素所造成的的影响,比如网速不好,结果刷新不出来。还有系统与电脑的兼容性,也需要十分的注意。
(2)在系统做测试的时候,能够不依赖外界的因素,尽量保证数据的准确性。
6.2测试文档编写
6.2.1 测试阶段技术
作为一个优秀的系统,不光得满足基本用户功能,测试的时候也不是单纯的看系统能不能实现某些功能,而是得考虑到方方面对所有能想到的功能方面都进行下测试,我把其他的方面测试做成了一张表图,图见下6-1:
图6-1 系统其他各方面测试
6.3 测试分析
在最终的系统测试中,发现了很多问题,比如说在系统编写代码时出现了不知道怎么实现某部分功能,测试完出错也不知道怎么修改,不知道是代码编写格式问题还是什么,最终还是在指导老师的帮助下完成了,还有的测出来的功能太过简单,没办法满足用户的需求,就需要给它添加一点花样,否则这样做出来的系统是没有办法给用户使用的,只有经过反复测试修改的完美系统。才会得到用户的认可,而在整个系统测试中,我们需要记录下每次测试的数据,不断调整,最终在修改完所有不足之处之后,在进行一次总的系统测试,最后保证系统出来是以一个最完美的状态设计出来的,高质量的系统质量绝对会赢得更多客户的好感以及使用。
参考文献
[1] 杨丰盛.Android应用开发揭秘[M] 第一版.北京:机械工业出版社,2010年.7页
[2] 韩超,梁全.Android系统原理及开发要点详解[M].北京:电子邮电出版社,2009
[3] 李俊,陈小玉.Android驱动开发与移植实战详解[M].北京:人民邮电出版社,2012
[4] [美]Meier,R著.Android 4 高级编程.佘建伟,赵凯译[M].北京:清华大学出版社,2013
[5] 李刚.疯狂Android讲义[M].北京:电子工业出版社,2013 [7] 张超,王阿川,王智. 基于J2ME和J2EE的手机软件的研究[ J]. 黑龙江科技信息, 1007 (3) : 21, 201.
[6] 刘向辉. 基于Java的移动终端中间件的研究与设计[D]. 华东师范大学硕士学位论文, 1005.
[7] 刁扣锁. 短信息在嵌入式Linux系统中的设计与实现[D]. 东南大学硕士学位论文, 1005.
[8].张桂珠 刘丽 陈爱国 Java面向对象程序设计(第2版)北京邮电大学出版社
[9]毕广吉.Java程序设计实例教程[M]. 北京:冶金工业出版社,2007年
[10] Marko Gargenta.Android.开发书籍.Learning.Android[D].Published by Oreilly Media,2011(3):24-45.
[11] 杨文志. Google Android程序设计指南[M]. 北京:电子工业出版社,1009:10-100.
[12] 韩超,梁泉著. Android系统原理及开发要点详解 [M]. 北京:电子工业出版社,2010:50-150.
[13] 周元兴. Google入门与实例教程 [M]. 北京:电子工业出版社,1007:30-80.
[14] Google API大全 编委会. Google API大全——编程?开发?实例[M]. 北京:电子工业出版社,1009:100-150.
[15] 靳岩. Android 开发入门与实战 [M]. 北京:人民邮电出版社,1009:10-50.
[16] 余志龙 陈昱勋. Google Android SDK开发范例大全 [M]. 北京:人民邮电出版社,1009:30-70.
[17] 杨丰盛. Android应用开发揭秘 L004 [M]. 北京:机械工业出版社,2010:43-65.
[18] 吴亚峰,苏亚光. Android 2.0系统开发实战宝典 [M]. 北京:人民邮电出版社,2010:15-30.
[19] 郭宏志.Android应用开发详解 [M]. 北京:电子工业出版社,2010:22-300.
[20] 陈昱,江兰帆.基于Google Android平台的应用程序开发和研究[J].福建电脑,1008(11):156-157.
致谢
经过几个月的努力,毕业设计也总算是完成了,在一开始选完题目的时候是十分迷茫的,因为不知道从哪去下手,现在看着整个毕业设计的完成,别提成就感有多大了,设计期间完成过程离不开许多人的帮助。如果要是我一个人,没有其他人的帮助下,几乎是不可能完成的,在这里要十分感谢帮助我完成设计的同学和老师。感谢他们在我最需要帮助的时候伸出了援助之手。
通过这次的毕业设计,我学到了很多也收获了很多东西,有很多都是学校学习中没有的,相比书面知识的提升,它培养的一些能力更让我受益匪浅。就比如系统模块功能实现代码,在编写的时候需要有足够大的耐性,在出错的时候还得不断的修改完善,这极大的磨练了我的耐性,以前1个小时都坐不住的我,在这次毕业设计期间能在电脑面前安静坐着连续打好几个小时的代码查阅好几个小时的书籍资料。这就是对我自身的一个极大的提高,还有就是在遇到问题的时候,会沉下心去思考怎么解决,因此自身独立解决问题的能力也因为这次设计而得到了一个极大的提升,遇到实在解决不了的问题,也会向同学和老师求助。让我明白了很多东西。他们再给我解答问题的时候都十分的具有耐性,而且讲解的十分详细,有很多细节都是我平时注意不到的。在这次设计过程中汲取的东西,是一笔宝贵的财富,能让我受益终生。
这次设计在初期遇到了一些大大小小的问题,刚拿到手都不知道设计的系统该完成那些功能,因此觉得十分头疼,明显感到不知从何做起,多亏了指导老师的任务书,才让我明白了我的设计该完成哪些功能,让我有了一个明确的设计方向。在实现系统各个功能的时候,有些功能不知道怎么去实现。一度抓狂终止设计。但是有想想怎么能就此放弃。就算再多的困难,也要想着去把他克服掉,就仔细查阅了很多网上的资料。不断地摸索,把能用到的资源都给利用上,然后去请教了同学和指导老师。设计因此才得以顺利进行,一切问题迎刃而解,所以我对他们都十分的感谢。
尽管困难重重,在最后完成的时候,那种感觉真的很奇妙,完全没想到自己能做的那么好,有一种自身被肯定了的感觉,真的是十分的开心,因为这是自己第一次靠着自己的努力花费了那么长时间精力投入设计的一个东西,虽然不像那些专业的人员开发出来的那么精细,界面优美,但是确实是自己的东西,虽然比不上别人,但是其中投入的感情,精力却是一点不差。
这次毕业设计,我最要感谢的就是我的毕设指导老师,在这次毕业设计中,他对我的帮助可以说是十分巨大的,没有他估计我连设计第一步该做什么我都不知道,多亏他的设计任务指导书,我才知道该做什么。设计期间还不停的提醒设计注意事项,还会密切关注设计进程。在每次毕设遇到问题的时候,我第一个想到的就是他,可以说没有胡老师,我的毕设估计再给我几个月我也做不出来,每次为我解答问题的时候,讲解都十分详细,而且细节也十分到位。每次讲完都感觉学到了十分多的东西。而且提问的时候,老师都十分的耐性,没有任何的不耐烦,我从他的讲解中感受到了作为一个优秀教师的品质,务实的教学态度,和丰富的教学经验,以及十分丰富的专业知识,让我感觉就是无所不能的,让我学习到了很多,这些东西都是我需要要学习的。
最后,我也要感谢这一路来与我并肩扶持,互相帮助走来的同学们,在毕设中不断为我加油打气鼓劲,让我能够在设计中不断前行,有过迷惘,有过无助,但是有了这些帮助我的人们,所有的负面情绪都会烟消云散,同时也要感谢学院,学校,大学生活即将进入尾声,感谢这个为我提供了4年学习生活的地方。感谢智慧教育学院为我们提供的良好的学习氛围,还让我认识了那么多善良热情的同学们。谢谢!