智慧城管信息分析系统65页.pdf
下载文档
上传人:地**
编号:1187663
2024-09-20
65页
5.43MB
该文档所属资源包:
智慧城管信息分析系统解决方案合集
1、专业学位硕士学位论文智慧城管信息分析系统T h eI n f o r m a t i o nA n a l y s i sS y s t e mo fS m a r tU r b a nM a n a g e m e n t作者姓名:整殛堡工程领域:筮生王猩学号:4 1 1 1 7 1 3 1指导教师:迕真堡完成日期:至Q!墨生皇旦墨旦大连理工大学D a l i a nU n i v e r s i t yo fT e c h n o l o g y大连理工大学学位论文独创性声明作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢2、的地方外,本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。若有不实之处,本人愿意承担相关法律责任。学位论文题目:望慧遮篁焦垦佥堑丞统作者签名:蜇凸绐日期:丝!年旦月上日大连理工大学专业学位硕士学位论文摘要随着信息化建设的不断发展,近年来很多城市的城市管理都引进了数字城管这一网络平台,但目前数字城管平台的使用主要还是针对问题的处置,缺乏一定的数据分析功能。作为对数字城管系统的有益补充,智慧城管信息分析系统为广大城市管理参与者、决策者提供了关于数字城管数据的统计、分析、预警等功能3、。从而帮助他们更加容易的去发现管理的难点与重点,辅助判断各类问题的发展趋势,从而提高工作的主动性,有针对性开展各项活动。本系统主要的功能模块有权限管理模块、系统管理模块及数据分析模块。除通用功能外可以实现将数字城管案卷进行批量上传,并通过设置案件发生数上、下限阀值实现一定区域、一定时间内案件多发或少发的通知功能,另外在数据分析模块可以实现数据的图形化显示,案件多发区域案件统计、发展趋势分析,案件多发路段统计功能。本系统用J A V A 编写,具有较高的通用性、高效性、平台移植性和安全性,可实现跨平台运行。系统采用M a v e n 作为主要构建工具,用来把源代码构建成可发布的构件的工具。通过M4、 a v e n 约定优于配置的原则,可以很清晰地管理代码结构。服务器采用了J B o s s 应用服务器,J B o s s 是不收费的,同时对硬件的需求较小,并且安装较为简单,解压后,只要对部分环境变量进行调整就可以使用了。数据库采用了M y S Q L 数据库,由于其体积小、速度快、总体拥有成本低,特别适合小型项目。在应用框架方面,本系统采用了i B a t i s 作为持久化层框架,W e b x 作为M V C 框架,V e l o c i t y 作为页面渲染框架,利用S p r i n g 框架来进行各框架的整合。本系统实现了一个以数字城管数据为基础的,与数字城管系统平台无缝对接5、的信息统计、展现、分析的平台,深入挖掘数字城管案卷的内在意义,使之更好地为城市管理服务。关键词:数字城管;应用框架:无缝对接智慧城管信息分析系统T h eI n f o r m a t i o nA n a l y s i sS y s t e mo fS m a r tU r b a nM a n a g e m e n tA b s t r a c tW i t ht h ec o n t i n u o u sd e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g yi nr e c e n ty e a r s,m 6、a n yo ft h ec i t y Su r b a nm a n a g e m e n th a v ei n t r o d u c e dd i g i t a lu r b a nm a n a g e m e n to ft h en e t w o r kp l a t f o r m,b u tt h eu s eo fd i g i t a lu r b a nm a n a g e m e n tp l a t f o r mm a i n l yf o rt h ed i s p o s a lp r o b l e m,ac e r t a i nl a c ko7、 fd a t aa n a l y s i s A sau s e f u lc o m p l e m e n tt ot h ed i g i t a l c i t ym a n a g e m e n ts y s t e m,i n t e l l i g e n tu r b a nm a n a g e m e n ti n f o r m a t i o na n a l y s i ss y s t e mf o rt h em a j o r i t yo fp a r t i c i p a n t si nu r b a nm a n a g e m e n t,u 8、r b a nm a n a g e m e n ta n dd e c i s i o n-m a k e r sa b o u tt h ed i g i t a ld a t as t a t i s t i c s,a n a l y s i s,e a r l yw a r n i n ga n do t h e rf u n c t i o n s T h e r e b yh e l p i n gt h e me a s i e rt of i n da n dk e ym a n a g e m e n td i f f i c u l t i e s,a u x i l i9、 a r y j u d g et h et r e n do f v a r i o u sp r o b l e m s,t h e r e b yi m p r o v i n gt h ew o r ko ft h ei n i t i a t i v e,t a r g e t e dt oc a r r yo u tv a r i o u sa c t i v i t i e s T h i ss y s t e mi sm a i n l yt h ef u n c t i o nm o d u l eh a sp e r m i s s i o nm a n a g e m e10、 n tm o d u l e,s y s t e mm a n a g e m e n tm o d u l ea n dd a t aa n a l y s i sm o d u l e I na d d i t i o nt ot h ec o m m o nf u n c t i o n sc a nb eb a t c hf i l e su p l o a dd i g i t a lc i t y,a n dt h en u m b e ro fc a s e so c c u r r e db ys e t t i n gt h eu p p e ra n dl o w e r11、t h r e s h o l dt oa c h i e v eac e r t a i na r e aw i t h i nac e r t a i nt i m ec a s e so fm u l t i p l en o t i f i c a t i o nf e a t u r eh a i rl e s s,w h i l ei nt h ed a t aa n a l y s i sm o d u l ec a na c h i e v ed a t ag r a p h i c a ld i s p l a y,t h ec a s eo fm u l t i p l e12、r e g i o n a lc a s es t a t i s t i c s,f i e n da n a l y s i s,c a s e-p r o n es e c t i o n so fs t a t i s t i c s T h es y s t e mu s i n gJ A V A,w i t hh i g hv e r s a t i l i t y,e f f i c i e n c y,p l a t f o r mp o r t a b i l i t ya n ds e c u r i t y,c r o s s p l a t f o r mo p e r13、 a t i o n M a v e nb u i l ds y s t e mu s e sa st h em a i nt o o lu s e dt ob u i l dt h es o u r c ec o d ei n t oad e p l o y a b l ea r t i f a c t st 0 0 1 B yM a v e nc o n v e n t i o no v e rc o n f i g u r a t i o np r i n c i p l e,c a nc l e a r l ym a n a g e dc o d es t r u c t u r e 14、S e r v e ru s i n gt h eJ B o s sA p p l i c a t i o nS e r v e r,J B o s si sn oc h a r g e,w h i l et h eh a r d w a r er e q u i r e m e n t sa r es m a l l e ra n ds i m p l e ri n s t a l l a t i o n,u n z i p,j u s tm a k ea d j u s t m e n t so nt h ep a r to fa ne n v i r o n m e n tv a r i15、 a b l ec a nb eu s e d D a t a b a s eu s i n gt h eM y S Q Ld a t a b a s e,b e c a u s eo fi t ss m a l ls i z e,h i g hs p e e d,l o wt o t a lC O s to fo w n e r s h i p,e s p e c i a l l yf o rs m a l l-s c a l ep r o j e c t s I nt h ea p p l i c a t i o nf r a m e w o r k,t h es y s t e mu s16、 e st h ei B a t i sa st h ep e r s i s t e n c el a y e rf r a m e w o r k,W e b xa sM V Cf r a m e w o r k,V e l o c i t ya sp a g er e n d e r i n gf r a m e w o r kt h a tl e v e r a g e st h eS p r i n gf r a m e w o r kf o rt h ei n t e g r a t i o no ft h ef r a m e w o r k s T h i ss y s t e17、 mr e a l i z e sad i g i t a lu r b a nm a n a g e m e n tb a s e dd a t a,a n dd i g i t a lu r b a nm a n a g e m e n ts y s t e mp l a t f o r mf o rs e a m l e s si n f o r m a t i o ns t a t i s t i c s,a n a l y s i s,d i s p l a yp l a t f o r m,t h ei n n e rm e a n i n gi n-d e p t he x c 18、a v a t i o no fd i g i t a lu r b a nm a n a g e m e n tf i l e s,t om a k ei tb e a e rf o rt h ec i t ym a n a g e m e n ts e r v i c e K e yW o r d s:d i g i t a lu r b a nm a n a g e m e n t;a p p l i c a t i o nf r a m e w o r k;s e a m l e s sI I大连理工大学专业学位硕士学位论文目录摘要IA b s t r a c t I I1绪 仑l1 19、1 背景介绍与意义l1。2 现状分析21 3 论文主要内容和章节安排22 相关技术介绍42 1开发工具42 2 应用框架52 3 前端技术63 系统需求分析83 1设计目标83 2 运行环境83 3 功能需求83 3 1 系统流程图83 3 2 系统功能需求分析93 3 3 系统性能分析一114 系统设计134 1设计理念和设计原则1 34 2 系统架构134 3 系统构建,1 44 4 主要功能模块设计1 54 4 1 登陆功能设计一l54 4 2 表单验证功能设计1 64 4 3 权限管理模块设计1 74 4 4 系统管理模块设计一1 84 4 5 数据分析模块设计一194。5 数据库设计20、194 5 1 数据库系统分析2 04 5 2 数据库表设计一2 05 系统实现2 4智慧城管信息分析系统5 1公共功能2 45 1 1 登陆功能实现2 45 1 2 表单验证功能实现2 65 1 3 权限功能实现3 15 1 4 其他公共功能实现3 35 2 权限管理3 75 2 1 模块管理实现3 75 2 2 角色管理实现3 85。2 3 用户管理实现3 95 3系统管理4 05 3 1 案卷管理实现一4 05 3 2 批量上传案卷实现4 15 3 3 预警管理实现4 15 4 数据分析4 25 4 1 图形分析实现4 25 4 2 街道分析实现4 65 4 3 路段分析实现4 66 系21、统测试4 76 1功能测试4 76 2 性能测试5 26 3 测试结果及分析5 5结论5 6参考文献5 7致谢一5 8大连理工大学学位论文版权使用授权书一5 9I V大连理工大学专业学位硕士学位论文1 绪论1 1背景介绍与意义享有“人间天堂”盛誉的杭州,一直是全国数字城管创新实践中的开拓者和佼佼者。自上线以来,杭州坚持以建设服务、创新、效能型数字城管为目标,紧紧 訇绕市委、市政府的战略部署,切实落实“三个第一”(第一时间发现问题,第一时间处置问题,第一时间解决问题)和城市“四化”(洁化、绿化、亮化、序化)长效管理要求,走出了一条独具杭州特色、符合杭州实际的数字城管建设和运行之路。信息采集市场化22、“新两轴”、资源整合、标准创新、市辖城域统一平台、“街镇模式”,等等,不仅是全国范围内的首创,更为全国数字城管事业的持续发展提供了极好的实践借鉴和理论启迪。2 0 0 7 年1 0 月3 日,中央政治局委员、国务院副总理曾培炎在现任国家住房和城乡建设部部长姜伟新及浙江省、杭州市主要领导的陪同下,视察了杭州市“数字城管”工作,并给予了充分肯定,指示要“认真总结经验,努力加以推广”。随着数字城管工作的深入推进,目前就发现、处置、解决问题的机制越来越成熟,但是却一直未有对数字城管案卷数据的进行系统的统计分析软件,仅仅只是为了处置问题而处置问题,没有对城市管理中发现的问题进行系统的归类、统计、分析,23、从而总结出一定的规律,来辅助城市管理决策者们进行更加优化的城市管理工作。笔者认为对数字城管数据进行系统分析的意义重大,能够大大提高数字城管的使用绩效,使数字城管成为真正的智慧城管。首先能使城市管理化被动为主动,以前城市管理往往是被动的处置各类问题,重点在处置问题上,而没有很好的对问题进行分析,挖掘数据表面以外更深层次的内容,从而预先判断接下来的趋势,尽早的制定相应的措施,做好防范,进而提高城市管理的水平,增强管理主动性。其次,能够及时发现城市管理中的疑难问题,有针对性的开展工作。通过大量数据分析,找出在一个时间段内频繁出现的问题,并有目标的开展集中整治或重点整治活动,杜绝此类事件的频繁发生,促24、进老大难问题的有效解决。还有,对数字城管的数据进行分析还能作为绩效评价的依据。通过数据的波动从而能够比较直观的反映出一个政策或者一个整治活动实施或者开展以后的实际效果,给政策制定者提供了很好的反馈信息,从而提高政策落实的绩效。另外,通过数据的分析能够实时的提供一些数据超标的预警,使城市管理的行为具有一定的超前性,能够提早的判断问题发展的趋势,将问题消灭在萌芽状态。智慧城管信息分析系统1 2 现状分析目前,全国很多城市都建立了、或准备建立数字城管信息处置的平台。在城市管理的方方面面都起到了很好的效果。拿杭州为例,目前数字城管平台主要用于以下几个方面:(1)推动市民关注热、难点问题的解决。杭州数字25、城管每年能上报处理各类有效信息1 0 万件左右,且每年的处置结案率均超过9 0,使大量与市井细民息息相关的城管问题得到了切实解决。(2)用于城市综合管理和应急处置的需要。数字城管的基础平台及专业的信息采集队伍,便于为城市信息摸底及街面动态状况实时跟踪提供翔实的数据信息。在五年来的城市防汛抗台、节庆保障、“三创”迎检中都发挥了重要作用。(3)用于行业监管的信息普查。根据各城区、部门的需要,杭州市数字城管自运行以来,共开展了庭院改善、背街小巷、夜市整治、户外广告、卫生死角等各类普查,并出具了分析报告,配合有关部门推进了各类专项整治,在城市“四化”长效管理中发挥了明显作用。但很多城市目前的数字城管系26、统仅仅只集成了问题采集与处置子系统,并没有数据分析系统,在数据分析方面还不够重视,没有充分挖掘数据内部深层次的意义,提高决策的准确性、客观性。1 3 论文主要内容和章节安排论文主要内容为城管案卷的数据分析和数据预警,包括对数字城管信息建设的介绍、相关技术的使用,再通过软件工程的开发流程,将系统的建立分为需求分析、详细设计、具体实现和编码测试等阶段,通过各个阶段的分析研究最终完成系统的建立。论文通过不同的章节去描述以上的内容,具体的章节安排如下。论文的主要章节分为绪论、相关技术介绍、系统需求分析、系统设计、系统实现以及系统测试。第一章是绪论,包括数字城管的背景介绍、现状分析以及数字城管智慧分析系27、统的简介。第二章是相关技术介绍,包含系统用到的程序语言、开发环境、构建工具、数据库、应用使用的框架以及前端使用的技术。第三章是系统需求分析,包括数字城管智慧分析系统的设计目标、运行的软硬件环境、功能和性能的需求分析。大连理工大学专业学位硕士学位论文第四章是系统设计,包含系统的设计理念和设计原则、系统架构、系统构建、主要的功能模块设计、系统的数据库设计,其中主要功能模块技术分为登陆设计、权限管理、系统管理、数据分析功能设计。系统数据库设计分为系统E R 图设计和数据库表设计。第五章是系统实现,包含登陆功能实现、权限功能实现、预警功能实现、分页功能实现、通用功能实现、模块管理实现、角色管理实现、案28、卷管理实现、批量上传案卷实现、预警管理实现、图形分析实现、街道分析实现、路段分析实现。第六章是系统测试,包含系统的功能测试、性能测试和测试结果及分析。智慧城管信息分析系统2 相关技术介绍2 1开发工具智慧城管信息分析系统主要使用的开发程序语言为J a v a。J a v a 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由S u nM i c r o s y s t e m s 公司于1 9 9 5 年5 月推出的J a v a 程序设计语言和J a v a 平台(即J a v a S E,J a v a E E,J a v a M E)的总称。J a v a 技术具有卓越的通用性、29、高效性、平台移植性和安全性,广泛应用于个人P C、数据中心、游戏控制器、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,J a v a 更具备了显著优势和广阔前景。J a v a是面向对象的编程语言,不仅具有很高的安全性及系统无关性,并且还有具有解释性、可移植、多线程等特性。在本系统中,M a v e n 主要作为一个构建工具,用来把源代码构建成可发布的构件的工具。通过M a v e n 约定优于配置的原则,可以很清晰地管理代码结构、j a r 包。M a v e n是作为一个项管软件,它的功能非常强大。其功能不仅包含了项目对象模型、项30、目生命周期,还包含了依赖管理系统和用来运行定义在生命周期阶段中插件目标的逻辑等方面。开发的I D E 采用了E c l i p s e。E c l i p s e 是一个开放源代码的、基于J a v a 的具有良好扩展性能的开发平台。从软件的本质上来说,用于经相关插件组件搭设开发环境的。仅仅只有一个框架和一组服务。幸运的是,E c l i p s e 还带有一个统一的插件集合,里面包含了J a v a 的开发工具J D K。通过E c l i p s e 自带的代码提示功能、格式化、重构等功能和同步代码等插件可以有效地提高开发效率,节约开发成本。服务器采用了J B o s s 应用服务器。在J31、 2 E E 应用服务器领域,J B o s s 是发展最为迅速的应用服务器。由于J B o s s 遵循商业友好的L G P L 授权分发,并且由开源社区开发,这使得J B o s s 广为流行。J B o s s 是不收费的,并且开放源代码,只要有L G P L 许可证就可以进行发布。但同时也有闭源的,开源和闭源流入流出的不是同一途径。架设J B o s s 服务器需要的硬件配置较低,并且安装简单,安装完成以后,只需设置部分环境变量就能使用了。数据库采用了M y S Q L 数据库。M y S Q L 是一个源码开放的非大型关联式数据库管理系统,开发者为瑞典M y S Q LA B 公司。32、M y S Q L 被广泛地应用到I n t e r n e t 上的中小型网站建设中。由于其软件体积小、响应较为迅速、数据库维护成本较低,尤其适合小型项1 7 1。大连理工大学专业学位硕士学位论文2 2 应用框架本系统采用了i B a t i s 作为持久化层框架,W e b x 作为M V C 框架,V e l o c i t y 作为页面渲染框架,利用S p r i n g 框架来进行各框架的整合。i B a t i s 自带的持久层框架包括S Q LM a p s 和D a t aA c c e s sO b j e c t s(D A O)。就现阶段较为流行的O R M 而言,不管H33、 i b e r n a t e 或者是A p a c h eO J B,都比较完整地封装了数据库的结构,从P O J O 映射到数据库表所有机制都可以提供。软件设计人员通常只需将P O J O 到数据库表的映射关系定义好,就能很轻松的由H i b e m a t e O J B 提供的方法来操控持久层。软件设计人员甚至无需熟练掌握S Q L 的相关知识,相关存储逻辑会被H i b e m a t e O J B 自动制定的,从而生成相应的S Q L 并执行J D B C 接口的调用。与H i b e r n a t e 和A p a c h e O J B 等O R M 解决方案有所不同的是34、,i B a t i s 是一种非“一站式”的O R M 实现。P O J O 与S Q L 之间的映射关系是i B a t i s 的主要着眼点。换句话说,i B a t i s 并不会在运行期间为软件设计人员自动生成S Q L 并予以执行。软件设计人员需要编写具体的S Q L,接下来将S Q L 所需的参数,以及返回的结果字段通过映射配置文件映射到指定P O J O。这样的好处是用户只要了解S Q L 及i B a t i s 的配置方法就可以很快地上手,更加灵活,更能进行数据库的S Q L 调优,不会有H i b e r n a t e 那样很高的学习成本。S p r i n g 从开销35、和大小两个方面来说都是轻量的,它是一个轻量级的控制反转(I o C)和面向切面(A O P)的容器框架。S p r i n g 框架可以非常小,一个较为完整的框架包含在I M B左右的J A R 文件里就可以进行发布。另外所需的处理开销对S p r i n g 而言的也是非常有限的。由于S p r i n g 是非侵入式的,所以,对S p r i n g 应用中的对象来说,它不依赖于S p r i n g的特定类。S p r i n g 采用了控制反转O o C)技术来增加松耦合。用被动的方式使某一对象,它所依赖的其它对象传递进来,I o C 的应用结果不再是这个对象本身创建或者查找依赖对象。36、也就是说I o C 与J N D I 刚好相反不是对象从容器中查找依赖,而是容器在对象刚刚进入初始化时,在对象尚未请求的阶段就主动传递依赖给它。应用对象的配置以及生命周期是由S p r i n g 管理的,从这个方面来说它应该归为一种容器,你可以随意创建每个b e a n 以及进行相关配置操作,而你的b e a n 可以在需要时生成一个新的实例或者单独创建一个实例。S p r i n g 通过简单的组件配置拼接、内容不断扩大,能够最终组合成为一个复杂的应用。在S p d n g 中,应用对象通过声明的方式进行组合,常常能够在一个X M L文件里被发现。S p r i n g 也提供了很多基础的37、功能,例如:持久化框架以及集成事务管理等方面),而留给了软件设计人员的是应用逻辑的开发。智慧城管信息分析系统S p r i n g 所拥有上述这些特征,能够使软件设计人员编写的代码更简洁、更具逻辑性、更可管理,也能够更方便的进行测试。这些特征也为S p r i n g 中的不同的模块提供了很好的支持。W e b x 框架是基于经典M V C 设计模式的W E B 框架,推崇页面驱动和约定胜于配置的理念。W e b x 是一个基于S p r i n g 的组件框架。组件是一个软件包,它可以被其它组件扩展,也可以扩展其它组件。利用这些特性,W e b x 不仅能够用来开发高度可定制的W e b 应38、用(这是它的主要功能】,也能够用来帮助你开发高度可扩展的非W E B 的应用。V e l o c i t y 是一个基于j a v a 的模板引擎(t e m p l a t ee n g i n e)。它允许任何人仅仅简单的使用模板语言(t e m p l a t el a n g u a g e)来引用由j a v a 代码定义的对象。当V e l o c i t y 应用于w e b 开发时,界面设计人员可以和j a v a 程序开发人员同步开发一个遵循M V C 架构的w e b 站点,也就是说,页面设计人员可以只关注页面的显示效果,而由i a v a 程序开发人员关注业务逻辑编码。V39、 e l o c i t y 将j a v a 代码从w e b 页面中分离出来,这样为w e b 站点的长期维护提供了便利,同时也为我们在J S P 和P H P 之外又提供了一种可选的方案。2 3 前端技术本系统采用C S S 控制样式,J Q u e r y 编写i S,H i g h c h a r t s 图形控件进行数据分析。J Q u e r y 是继p r o t o t y p e 之后又一个优秀的J a v a s c r i p t 框架。它是轻量级的j S 库,它兼容C S S 3,还兼容各种浏览器。J Q u e r y 使用户能更方便地处理H T M Ld o c 40、u m e n t s、e v e n t s、实现动画效果,并且方便地为网站提供A J A X 交互。J Q u e r y 还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。J Q u e r y 能够使用户的h t m l 页面保持代码和h t m l 内容分离,也就是说,不用再在h t m l里面插入一堆i S 来调用命令了,只需定义i d 即可。C S S 是英语C a s c a d i n gS t y l eS h e e t s(层叠样式表单)的缩写,它是一种用来表现H T M L或X M L 等文件样式的计算机语言。C S 41、S 能够真正做到网页表现与内容分离,相对于传统H T M L 的表现而言,C S S 能够对网页中的对象的位置排版进行像素级的精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力,并能够进行初步交互设计,是目前基于文本展示最优秀的表现设计语言。C S S 能够根据不同使用者的理解能力,简化或者优化写法,针对各类人群,有较强的易读性。H i g h c h a r t s 是一个制作图表的纯J a v a s c r i p t 类库,它兼容当今所有的浏览器,包括i P h o n e、I E 和火狐等等;对个人用户完全免费;支持大部分的图表类型:直线图,曲线大连理工大学专业42、学位硕士学位论文图、区域图、区域曲线图、柱状图、饼装图、散布图;提示功能:鼠标移动到图表的某一点上有提示信息;易用性:无需要特殊的开发技能,只需要设置一下选项就可以制作适合自己的图表。智慧城管信息分析系统3 系统需求分析3 1设计目标本系统主要通过对数字城管数据进行系统的定量分析,将数据用图形、图表的形式展现出来,让用户能够比较直观的发现城市管理中出现的各类问题的分布及变化情况,从而为城市管理决策提供依据。3 2 运行环境(1)硬件环境:普通P C 服务器,最低配置要求如下:C P U 频率3 G H z,C P U 数量1个,内存容量1 G B,硬盘容量8 0 G B。(2)软件环境:包括P43、 c 服务器安装W i n d o w sx P 操作系统,E c l i p s e 3 2 及以上,J B o s s 4 2 2 及以上,J D K I 5 及以上,M y S Q L 5 0 及以上,C h r o m e 2 6 及以上或者F i r e F o x 3 0及以上,还需要能上网的外部环境。3 3 功能需求3 3 1 系统流程图用户可在登陆页面输入用户名、密码,若用户名和密码匹配则进入系统首页。已登陆用户可退出系统,重新登陆或者切换用户登陆。每个用户都有对应的角色,每个角色有相应的模块权限(可以多个),用户登陆成功后,可看到拥有权限的模块,若访问无权限的页面,则跳转到错44、误页面,三秒后自动跳转至首页。根据页面的u r l 进行模块的权限控制,通过角色控制模块和区域数据分析,用户和角色再进行一对一的对应关系。系统流程图如图3 1 所示:图3 1 系统流程图F i g 3 1S y s t e mf l o w c h a r t大连理工大学专业学位硕士学位论文3 3 2 系统功能需求分析图3 2 系统用例图F i g 3 2U s ec a s ed i a g r a m一9智慧城管信息分析系统角色分为系统管理员、数据分析员和超级管理员三种。系统管理员,可以对系统管理相应页面进行操作:案卷管理、批量上传案卷、预警管理:数据分析员,可以对数据分析模块相应页面进行45、操作,其中分析员又细分为每个区域的分析员,例如西湖区分析员、上城区分析员等,单一区域的分析员只能对该区域下的数据进行分析;超级管理员,拥有所有页面的权限。系统用例图如图3 2 所示:(1)权限管理:为实现权限功能,就有了权限管理模块,权限管理包括模块管理、角色管理、用户管理三个页面,三个页面都有增删改查、禁用、启用、分页的功能。多个模块属于一个角色,一个用户只有一个角色。用户的密码必须安全,构成复杂,不能用简单的数字或英文,并且有一定的长度,以免数据泄露。(2)系统管理:数据分析和数据预警都依赖于案卷信息,系统管理包括案卷管理、批量上传案卷和预警管理三个页面。其中案件管理和预警管理页面有增删改46、查、禁用、启用、分页的功能。批量上传案卷页面可以通过C S V 文件批量上传案卷到数据库。案件管理和批量上传案卷都可以新增案卷,是预警管理和数据分析模块的前置条件。一条案卷记录包含发生时间、问题描述、小类、大类、社区、街道、区域、处置部门等信息。发生时间表示案卷的发生时间,精确到分钟;问题描述表示案卷的具体内容,一般包含地点、事件、具体描述,如“华中路华中路华中跨河桥由北往南人行道有人行道板破损缺失1 平方”、“文晖路文晖路1 5 8 号东侧5 米左右(世纪华联)f q 口人行道上有沿街晾晒”等;小类表示案卷的明细分类,比较大类来说,小类分类更清晰,如“乱堆物堆料”、“行道树”、“车行道”等:47、大类表示案卷的笼统分类,如“街面秩序”、“道路交通设施”等:社区是案卷发生的所属社区,如“皇亲苑社区”、“刀茅巷社区”等;街道是案卷发生的所属街道,如“文晖街道”、“东新街道”等;区域是案卷发生的所属区域,如“下城区”、“西湖区”等:处置部门是处置该案卷的部门,如“长庆执法中队”、“下城市容环卫监管中心”等。其中小类属于大类,社区属于街道,街道属于区域,在选择时要注意这些有父子关系的维度之间的联动。预警功能是在系统空闲时间,系统会启动一个定时任务,去扫描预警表,根据状态正常的每条预警记录的条件(小类、大类、社区、街道、区域、处置部门、预警区间:年月周日)去查询案卷表,若查询的案卷记录数符合预警48、条件(大于预警最大值或小于预警最大值或全部满足),则会给创建此预警记录的用户发送邮件,邮件包含符合预警条件的案卷记录数及预警内容。(3)数据分析:数据分析本系统从三个方向(图形分析、街道分析、路段分析)对案卷进行分析。图形分析用户可根据条件生成相应的图形,对案卷的某一维度的趋势变化有大连理工大学专业学位硕士学位论文一个直观的展现,对后续的决策给予有效的支持;街道分析对某一时问区间内的小类发生的案卷次数以街道作为统计尺度,取前十进行分析,也可查看明细信息。在一个月内,用户可查看每周相对于上一周的小类案卷的增长次数,增长排名前十的街道就需要引起重视,采取措施以降低此类案卷的发生;路段分析是街道分析49、的补充,因为就实际情况来说,一条路很有可能横跨好几个区域,如莫干山路有部分路段属于西湖区,部分路段又属于拱墅区。像此类情况,用户就很难知道整条路的案卷情况,而路段分析就可以让用户对整条路段的案卷情况有直观的了解,以便做出相应的决策:对用户来说,不同部门不同地域的分析员,对图形分析的条件千变万化,所以对数据的查询条件不做限制,用户可以根据(小类、大类、社区、街道、区域、处置部门、开始日期、结束日期)查询案卷,对用户的分析维度也不做限制,用户可以根据(小类、大类、社区、街道、区域、处置部门)进行分析,用户可按折线图、柱状图和饼图三种展现形式进行展现。每个列表页的记录都有删除、启用、禁用的功能,本质50、上就是修改该记录的状态,删除状态值为1,启用状态值为l,禁用状态值为0。删除状态的记录在系统不显示,但是在数据库中可见,禁用状态的记录只在对应的列表页可见,其他不可见,正常状态即启用状态的记录任何地方都可见。新增记录时的验证采用服务器端验证,尽可能避免发生浏览器兼容性、J S 不可用等问题。服务器端无法验证则采用前端J S 验证。以上为智慧城管信息分析系统各个模块的功能需求分析,通过这些分析,系统各个模块的功能点都大致展现出来了,为下一步系统的数据设计和功能的实现打下良好的基础。3 3 3 系统性能分析在全面了解了系统的功能需求后,接下来可以对系统进行性能需求的分析。性能需求分析主要包括对系统51、的规划能力、验证能力以及调优能力进行分析,主要通过容量测试、并发测试、稳定性测试、压力测试等方式,对系统的交互能力、业务架构、网络、数据库,甚至到用户行为进行一一分析测试,从而降低系统上线运行的风险,使系统的稳定性更高。下面就通过不同的角度对系统进行性能需求的分析。首先从业务角度进行分析。当系统上线之后使用人数多,访问量大,就需要做相应的性能测试,反之,如果没有几个客户在使用,则无论系统多大,设计如何复杂,都不需要做类似并发性的性能需求分析。其中并发用户数需求是整个用户性能需求的重要发面,并发用户数支持的多少决定了系统的可用性和可扩展性。可以通过J M e t e r 工具对系统进行压测,因为52、本系统的主要功能点是数据分析和数据预警,无论是维度信息还是数据信息都是在同一张案卷表中,可以考虑对维度信息进行缓存,按实际情况设置缓存失智慧城管信息分析系统效时间。案卷表的数据需要由数字城管系统同步过来,可以采用导入C S V 的方式进行初始化,但是导入操作很有可能会影响数据分析,可以考虑在系统空闲的时候采用同步脚本对数据库直接进行同步。同理,预警功能也可如此操作。其次可以从实时性角度进行分析。系统的实时性主要体现在系统的响应时间上。响应时间指的是从用户向系统发出请求开始,直到收到系统返回的最后一个信息包为止的时间。随着网络的发展,用户能接受的响应时间也越来越短,一般大概为3 秒左右。影响系统53、响应时间的因素有很多,大致可以归结为网络、服务器和系统应用。还可以通过其他几种角度进行分析。例如从应用系统的可用性方面进行分析。可用性不能停留在对用户发调查表进行评估,而使要通过用户的实际使用来分析。通过给予用户不同的业务操作任务,比如完成一次数据分析等方式,根据用户使用的结果进行评估。最后根据大量的实际结果来分析,注意要选择大多数用户使用满意的结果,因为系统不可能使所有的用户满意。还可以从数据库角度进行分析。通过大量的业务操作,这些业务操作需要不断的访问操作数据库,对数据库的S Q L 执行速度有一定要求,可以通过优化S Q L、建索引、主备分离、读写分离等手段进行优化。通过对这些数据库性能54、数据的收集,反映给D B A,再根据D B A 的建议以及实际性能的需求来进行相应的数据库改造和升级。通过以上角度进行性能需求分析,找出系统的瓶颈,提出优化系统的方案,从而对系统的资源进行合理的分配,使系统的性能能够最大限度的发挥出来,达到实际性能的需求。大连理工大学专业学位硕士学位论文4 系统设计4 1设计理念和设计原则(1)整体性保障原则:本系统本着以用户为中心,以实际应用为目标的设计理念开发。本系统的开发策略是先进行总体规划、然后再分步具体实施。也就是说在刚开始开发的时候,先作总的布局(总体分析与总体设计),接下来在总体规划的前提下开展分步开发。(2)满足实际需要原则:软件设计的出发点以55、及着眼点都是以满足实际需要为前提,一个好的软件应该与与业务紧密结合,并且具有严格的业务针对性,也许需要什么,软件就提供相应的服务。所以,在软件设计设想以及系统需求分析时都做了大量的准备工作。(3)人性化的界面设计原则:由于该系统的主要是针对城市管理决策层而进行设计的,在人性化的界面设计显得尤为重要,好的设计使用户打开界面后一目了然,不需要培训即可使用。强大的功能使用户在使用时方便、快捷、即时、准确。(4)模块化设计原则:本系统采用模块化的设计模式,系统更新较为灵活性,功能模块具有一定的伸缩性,可以按需求实施动态变化的,用户可根据实际情况扩展模块。(5)权限细分设计原则:本系统接可以通过部门内部56、的局域网,也可以通过外部的因特网进行访问,针对这种复杂的应用环境,必须对所有用户的权限进行细化的分配,实行可靠管理。本系统采用的权限管理设计较为独特,将模块与角色进行多对一建立映射关系,角色还可对分析数据进行权限管理,有效地保障了信息的私密性以及数据的安全性。4 2 系统架构本系统采用基于B S 的多层架构模式,从下至上依次为:数据库、数据访问层、M o d e l 层、业务逻辑层、表示层。除此之外贯穿于数据访问层、业务逻辑层、表示层之间的还有一层数据传输层。这种模型使组织关系更明确,系统结构更清楚,便于后期的维护和升级。B S 架构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件57、。只要有一台能上网的电脑就能使用,客户端零维护。分层则实现了程序之间的解耦,提高了程序的复用性,降低了需求变更的代价,易维护、易扩展、可替换。(1)数据库采用了M y S Q L 数据库,M y S Q L 比较小,而且免费,开源,相较于O r a c l e更容易上手、维护,默认的配置完全能支持本系统。智慧城管信息分析系统(2)数据访问层也称为持久层,主要是实现o R 映射。数据访问层采用i B a t i S 作为持久化框架,对比H i b e r n a t e 而言,i B a t i S 更轻量化,学习成本更低,只要会s q l,再学习配置就能熟练使用,因为i B a t i S 的58、s q l 都保存到单独的文件中,所以更容易进行s q l 的优化,也更容易维护。(3)M o d e l 层编写D a o 和实现,根据模块需要的各种持久化操作,确定对应的方法,一般都是一些最基本的增删改查、分页等方法,在本系统中为了操作方便,对D a o 层进行了统一的配置,通过泛型来控制传参,写了一个通用的接口:G e n e r i c D a o j a v a,实现了增删改查、分页、批量增删改等通用操作。(4)业务逻辑层是整个系统的核心,它与这个系统的业务有关。业务逻辑层的相关设计,均和系统特有的逻辑相关,例如角色管理等操作。如果涉及到数据库的访问,则调用M o d e l 层,业59、务逻辑层对M o d e l 层中的操作予以封装。f 5)表现层为客户端提供对应应用程序的访问,在本系统中即后缀为砌结尾的v e l o c i t y 页面。此层涉及到i S 操作,C S S 样式控制,页面布局等。在数据分析模块中还使用了h i g h c h a r t s 图形控件。4 3 系统构建用m a v e n 工具构建项目的步骤如下:(1)在某个盘下运行如下命令:m v na r c h e t y p e:c r e a t e-D g r o u p l d 2 c o m j i a n g n a i q i a n g-D a r t i f a c t l d 260、 c i t y然后删除c i t y 目录下的s r c 的目录,修改p o m x m l 的 属性为p o m。(2)在c i t y 目录下运行如下命令,建立c i t y c o m m o n、c i t y d a l、c i t y b i z、c i t y w e b、d e p l o y子工程。其中c i t y c o m m o n 子工程是一些工具类:c i t y d a l 是数据访问层和M o d e l 层的代码,包含了数据源配置,i B a t i s 的配置x m l,实体类及通用的D A O 层接口定义和实现;c i t y b i z 是业务逻辑层61、的代码,还有接I S l 的测试类;c i t y w e b 是用户表现层,主要包含w e b x 3 的s c r e e n 类、a c t i o n 类、c o n t r o l 类和v e l o c i t y 的页面,还有j S、C S S 和h i g h c h a r t s图形实现等;d e p l o y 是项目的构建目录。构建命令如下:m v na r c h e t y p e:c r e a t e D g r o u p l d=c o m j i a n g n a i q i a n g D a r t i f a c t l d 2 c i t y-c62、 o m m o nm v na r c h e t y p e:c r e a t e D g r o u p l d=c o m j i a n g n a i q i a n g D a r t i f a c t l d=c i t y-d a lm v na r c h e t y p e:c r e a t e D g r o u p l d=c o m j i a n g n a i q i a n g-D a r t i f a c t l d 2 c i t y-b i zm v na r c h e t y p e:c r e a t e D g r o u p l d 263、 c o m j i a n g n a i q i a n g-D a r t i f a c t l d=c i t y w e bm v na r c h e t y p e:c r e a t e-D g r o u p l d=c o m j i a n g n a i q i a n g D a r t i f a c t l d 3 d e p l o y修改d e p l o y 目录下的p o m x m l 的 属性为p o m。大连理工大学专业学位硕士学位论文(3)整理p o m x m l,删除J U n i t 的依赖,添加项目所需的d e p e n d e n c64、 y 和p l u g i n,让m a v e n仓库管理项目的i a l 包。(4)添加相应的b a t 文件,提高开发效率。e c l i p s e C l e a n b a t 脚本:m v ne c l i p s e:c l e a n,清除E c l i p s e 项目文件;e c l i p s e E c l i p s e b a t 脚本:m v ne c l i p s e:e c l i p s e,生成E c l i p s e 项目文件;m v n D o w n l o a d S o u r c e s b a t 脚本:m v ne c l i p s65、 e:e c l i p s e D d o w n l o a d S o u r c e s-t r u e,生成E c l i p s e 项目文件,且下载项目依赖的j a r 包到本地;c l e a n b a t 脚本:m v nc l e a n,清除产生的项目:p a c k a g e _ _ t e s t b a t 脚本:m v np a c k a g e,打包并运行t e s t;p a c k a g e b a t 脚本:m v np a c k a g e D m a v e n t e s t s k i p:t r u e D d o w n l o a 66、d S o u r c e s-f a l s e,打包不运行t e s t,不下载i a r 包。系统目录结构如图4 1 所示:鬃c 晦-b 汪滋6 t r c o m m o 豢c i t y d a l茹c 畸w e b誊d e p l o y豳c l e a n b a t囤e d i s e C l e a n。b a t圈e c l i s e E c l i p s e b a t国m v n D o w n l o a d S o u r c e s b a t圈p a c k a g e b a t圈p a c k a g e _ t e s t b a t畜p o m【m 67、l图4 1 系统目录结构F i g 4 1S y s t e md i r e c t o r ys t r u c t u r e(5)依次运行m v n D o w n l o a d S o u r c e s b a t、p a c k a g e b a t 脚本,将m v n 项目导入e c l i p s e4 4 主要功能模块设计4 4 1 登陆功能设计本系统只对管理员和普通会员开放,用户必须先通过系统提供的登录界面进入智慧城管信息分析系统,然后才能完成相关操作。用户登录系统完成相关操作后,通过关闭浏览器或注销的方式退出系统。所有需要使用智慧城管信息分析系统的用户,通过本单位超68、级管理员为其开通的帐号即可登录系统。若用户名不存在或密码错误弹出相应错误信息,若用户名和密码正确智慧城管信息分析系统则进入首页,首页包含系统介绍和帮助信息。登录系统的用户由于角色、权限不同,看到的工作界面也不尽相同。用户访问系统某个页面,若未登陆,则跳转到登陆页面。用户输入用户名和用户密码。若登陆不成功,则提示用户名不存在或密码不正确。若登陆成功,则跳转到首页,首页为本系统的基本介绍和帮助信息,不同角色的用户看到的左边菜单栏的内容也会不一样。系统管理员,则只显示系统管理模块;数据分析员,则只显示数据分析模块;超级管理员,则显示所有模块。4 4 2 表单验证功能设计在W E B 应用中,表单验证69、是非常重要的一环。表单验证,顾名思义,就是确保用户所填写的数据符合应用的要求。验证W E B 页面中的表单有如下三种形式:服务端批量验证是最传统验证形式,它将所有表单字段一次性提交给服务器来验证。服务器对所有表单进行批量的验证后,根据验证的结果跳转到不同的结果页面;客户端验证是利用J a v aS c r i p t 对用户输入的数据进行逐个验证;服务器异步验证是利用J a v aS c r i p t 发出异步A J A X 请求,来要求服务器验证单个或多个字段。如果网络延迟不明显,那么服务器异步验证给用户的体验类似于客户端验证。(1)功能性:由于服务器端验证逻辑存在于服务器上,可访问服务器70、的一切资源,所以功能很强。而客户端验证逻辑存在于用户浏览器上,不能访问服务器资源,因此有一些功能无法实现,例如:检查验证码、确认注册用户I D 未被占用等,所以功能性弱。(2)网络负荷:服务器端批量验证当用户填错任意一个字段时,所有的字段都必须在浏览器和服务器之间来回传输一次。所以它会给网络传输带来较高的负荷。客户端验证在验证时,不需要网络通信,不存在网络负荷。服务器异步验证每次验证,只需要发送当前被验证字段的数据即可,网络负荷较小。(3)用户体验:服务器端批量验证由于网络负荷较高,造成的响应迟缓。此外,验证失败时必须整个页面被刷新。这些会给用户带来不好的体验。客户端验证响应速度极快,用户体验71、最好。服务器异步验证由于网络负荷小,用户响应远快于服务端批量验证,用户体验较好。(4)简单性:服务器端验证因为是后端程序,所以实现比较简单。客户端验证相对更复杂,因为需要J S 编程。f 5)可靠性:相对于其它几种方式,服务端批量验证也是最可靠的方式。因为J a v aS c r i p t 可能会失效(因为浏览器不支持、J a v aS c r i p t 被关闭、网站受攻击等原因),但服务器批量验证总不会失效。1 6大连理工大学专业学位硕士学位论文综上所述,没有一种验证方法是完美的。但把它们结合起来就可以克服各自的缺点,达到较完美的境地:对所有字段做服务器端批量验证,即便J a v aS 72、c r i p t 失效,服务器验证可作为最后的防线;只要有可能,就对字段做客户端验证,确保最迅速的响应和较好的用户体验;对于必须访问服务器资源的验证逻辑,例如检查验证码、确认注册帐户I D未被占用等,采用服务器异步验证,提高用户体验。以上混合形式的验证无疑是好的,但是它的实现也比较复杂。本系统采用了W e b x表单验证服务即服务器端批量验证加客户端验证的结合的方式进行表单验证。W e b x 表单验证服务主张验证逻辑和页面表现逻辑及应用代码完全分离。所有的验证规则都写在一个单独的配置文件中页面模板是不需要关心这些验证规则的。当你需要修改验证规则时,只需要修改独立的配置文件就可以了,并不用修73、改页面模板;应用程序的代码是不需要关心这些验证规则的。当你需要修改验证规则时,只需要修改独立的配置文件就可以了,并不需要修改程序代码。4 4 3 权限管理模块设计(1)模块管理主要包含新增、编辑、禁用、启用、删除、查询、分页功能。一条模块记录包含模块名称、模块路径、状态等信息。每个模块下的页面的访问路径都必须包含模块路径,即页面必须在相对应的模块目录下,后续模块权限的判断也是以模块路径为依据。因为每个模块具有唯一性,所以模块名称和模块路径不可重复。因为模块路径是页面访问路径的一部分,所以必须以开头,以结尾。当模块为禁用状态时,只在模块管理列表可见。可删除模块记录,记录在系统不可见,但是数据库可74、见,以便查找问题。当模块记录数大于1 5 条时,列表页采用分页展示。可以根据名称和路径模糊查询。(2)角色管理主要包含新增、编辑、禁用、启用、删除、查询、分页功能。一条角色记录包含角色名称、模块权限、区域权限、备注、状态等信息。多个模块可以属于一个角色,一个角色至少拥有一个模块的权限。若为数据分析员,则需配置分析区域,如若不配置则表示所有区域可以查看。若该数据分析员为区域分析员,则一个角色对应一个区域。因为每个角色具有唯一性,所以角色名称不可重复。新增或编辑角色时,模块信息从模块表获取,区域信息从案卷表获取。当角色为禁用状态时,只在角色管理列表可见。可删除角色记录,记录在系统不可见,但是数据库75、可见,以便查找问题。当角色记录数大于1 5 条时,列表页采用分页展示。可以根据名称模糊查询。智慧城管信息分析系统(3)用户管理主要包含新增、编辑、禁用、启用、删除、查询、分页功能。一条用户记录包含用户名称、用户密码、手机、固话、邮箱、角色、状态等信息。因为每个用户具有唯一性,所以用户名称不可重复。用户密码为用户登录时使用,有判断强弱密码的功能,密码必须包含数字、字母、特殊字符,且经过加密后存数据库。用户和角色有一一对应关系,以便根据登陆用户判断所拥有的权限。当用户为禁用状态时,只在用户管理列表可见。可删除用户记录,记录在系统不可见,但是数据库可见,以便查找问题。当用户记录数大于1 5 条时,列76、表页采用分页展示。可以根据名称模糊查询。4 4 4 系统管理模块设计(1)案卷管理主要包含新增、编辑、禁用、启用、删除、查询、分页功能。一条案卷记录包含发生时间、问题描述、小类、大类、社区、街道、区域、处置部门、状态等信息。查询、新增、编辑时,当选择某一大类时,只显示此大类下的小类;当选择某一区域时,只显示此区域下的街道;当选择某一街道时,只显示此街道下的社区。当案卷为禁用状态时,只在案卷管理列表可见。可删除案卷记录,记录在系统不可见,但是数据库可见,以便查找问题。当用户记录数大于1 5 条时,列表页采用分页展示。可以根据小类、大类、社区、街道、区域、处置部门模糊查询,开始日期、结束日期查询。77、(2)批量上传案卷:可通过上传数字城管系统下载的C S V 文件,通过程序使C S V 的字段对应数据库所需字段,批量导入案卷至数据库。导入文件必须为C S V 格式,若导入成功,则跳转至案卷管理页面。(3)预警管理主要包含新增、编辑、禁用、启用、删除、查询、分页功能。一条预警记录包含预警区问、预警最小值、预警最大值、小类、大类、社区、街道、区域、处置部门、状态等信息。查询、新增、编辑时,当选择某一大类时,只显示此大类下的小类;当选择某一区域时,只显示此区域下的街道;当选择某一街道时,只显示此街道下的社区。预警区间有年月周日四种区间。当预警为禁用状态时,只在预警管理列表可见。可删除预警记录,记78、录在系统不可见,但是数据库可见,以便查找问题。当预警记录数大于1 5 条时,列表页采用分页展示。可以根据小类、大类、社区、街道、区域、处置部门模糊查询,预警区间精确查询。当服务器启动时,会启动一个定时任务,每天的零时会根据预警表的每条正常状态的记录去查询案卷表,预警记录的小类、大类、社区、街道、区域、处置部门为查询条件,若记录数满足“小于等于预警最小值”和“大于等于预警最大值”的两个条件之一或者全部满足,则会生成一份预警文档,里面包含预警内容及满足预警的案卷记录,发送邮件至配置预警记录的用户。1 8大连理工大学专业学位硕士学位论文4 4 5 数据分析模块设计(1)图形分析:首先根据条件(大类、79、小类、区域、街道、社区、所属部门、开始日期、结束日期)对案卷进行筛选。当用户为某一区域的数据分析员时,区域选择框只显示该分析员拥有权限的区域,街道和社区选择框只显示此区域下的值。当选择某一大类时,只显示此大类下的小类;当选择某一区域时,只显示此区域下的街道;当选择某一街道时,只显示此街道下的社区。开始日期、结束日期必填,可直接输入或通过时间控件选择;然后选择相应的分析维度(大类、小类、区域、街道、社区、所属部门),选择维度后,会列出该维度下的指标。因指标过多的话,图形过于凌乱,达不到分析的目的,所以选择维度后,用户必须勾选显示指标才能生成分析的图形,至少选择一个显示指标,最多选择六个显示指标;80、选完指标后,选择想要展现的图形形式。点击分析,则生成相应的折线图、柱状图或饼图。因为显示指标的选择区域会很多,所以点击隐藏指标后会隐藏,当切换显示指标时可以重新生成图形。当鼠标浮动到图形某一区域时,会显示相应的值和必要的信息,生成图形后可点击导出按钮,导出相应的案卷记录列表。(2)街道分析:小类街道T o p 分析首先选择某一小类,然后选择想要分析的时间区间(开始日期、结束日期),点击分析后,显示此小类在选中时问区问内的发生案卷次数最多的前十街道的名称及发生案卷的次数,点击街道名称可显示相应的案卷明细。小类街道周增长T o p 分析首先选择某一小类,然后再选择某一月和需要比较的周,比如选择第一81、周和第四周,点击分析后,显示第四周比第一周增长案卷次数最多的前十的街道的名称及增长的案卷的次数。(3)路段分析:主要是对小类路段发生案卷的次数进行统计,首先选择某一小类,然后选择想要分析的时间区间(开始日期、结束日期),点击分析后,显示此小类在选中时问区问内的发生案卷次数最多的前十路段的名称及发生案卷的次数,点击路段名称可显示相应的案卷明细。案卷没有相应的路段作为维度字段,而是保存在案卷内容中,所以需要对内容进行过滤才能进行路段分析,这就依赖于在录入案卷的过程中必须遵循一定的规范,以便后续进行统计,不然的话会在统计过程中产生脏数据。案卷内容必须以路段名称开头,路段名称后面加一空格。4 5 数据82、库设计数据库是这些系统的关键所在,在数据库中存放着系统所有的信息。作为一个网站的核心功能,数据库设计的好坏对系统的建设与使用有着极其重要的作用。一个合理的数据库开发流程应该是先进行系统分析,再做逻辑设计,最后是物理实现。通过系统分智慧城管信息分析系统析,分析用户对数据库的具体需求,并根据需求直观地画出E R 图。而逻辑设计的任务就是,根据系统分析设计产生一个关系模型。物理设计的主要任务就是用数据库软件创建一个与逻辑设计中的数据模型对应的数据库。4 5 1 数据库系统分析本系统的数据库实体主要有“模块”、“角色”、“用户”、“案卷”。其中“模块”与“角色”存在“所属”联系,一个角色可以拥有多个模83、块的权限,即“角色”与“模块”之间是一对多的关系。“用户”与“角色”存在一对一关系,即一个“用户”只能有一种“角色”。所以“用户”与“模块”之间是也是一对多的关系。“案卷”用来存放数字城管的案卷,用作本系统的数据分析,“预警”用来存放本系统的预警配置信息,“案卷”和“预警”存在多对多的关系。整个数据库可以用一个E R 图表示,如图4 2:图4 2E R 图F i g 4 2E-Rd i a g r a m4 5 2 数据库表设计经过数据库的系统分析以后,相关的数据结构已经非常清晰,剩下的工作就是用一种数据库软件来实现上述的数据库结构。首先建立c i t y 数据库,然后再建立所相对应的表。(184、)模块数据表(c i t y _ m o d u l e):模块数据表用于存放模块的信息,信息包含模块编号、模块名称、状态、创建者、修改者、创建时间、修改时间等信息。模块数据表如表4 1 所示:大连理工大学专业学位硕士学位论文表4 1 模块数据表T a b 4 1T a b l eo f m o d u l ed a t a(2)角色数据表(c i t y r o l e):角色数据表用于存放角色的信息,信息包含角色编号、角色名称、模块权限i d、分析区域权限、状态、创建者、修改者、创建时间、修改时间等信息。角色数据表如表4 2 所示。表4 2 角色数据表T a b 4 2T l b l eo85、 fr o l ed a t a(3)用户数据表(c i t y u s e r):用户数据表用于存放用户的信息,信息包含用户编号、角色名称、用户密码、手机、固话、q q、邮箱、角色i d、状态、创建者、修改者、创建时间、修改时间等信息。用户数据表如表4 3 所示:智慧城管信息分析系统(4)案卷数据表(c i t y _ r e c o r d):案卷数据表用于存放案卷的信息,信息包含案卷编号、发生时间、问题描述、小类、大类、社区、街道、区域、处置部门、状态、创建时间等信息。如表4 4 所示。表4 4 案卷数据表T a b 4 4T a b l eo f r e c o r dd a t a大86、连理工大学专业学位硕士学位论文(5)预警数据表(c i t y a l a r m):预警数据表用于存放预警的信息,信息包含预警编号、预警区问、预警最小值、预警最大值、小类、大类、社区、街道、区域、处置部门、状态、创建者、修改者、创建时间、修改时间等信息。如表4 5 所示。表4 5 预警数据表T a b 4 5T a b l eo f a l a r md a t a字段名称字段含义数据类型可否为空。否茬一i n t(N o t N1 1i d编号1 1)ua l a r m _ r a n g ea l a r mm i na l a r mm a xc a t e g o r y 2c a87、 t e g o r y1c o m m u n i t ys t r e e tr e g i o nd e p a r t m e n tS t a t U Sc r e a t o rm o d i f i e rg m tc r e a t e预警区间预警最小值预警最大值小类大类社区街道区域处置部门状态创建者修改者创建时间i n t(!1)i n t(1 1)i n t(1 1)v a r c h a r(2 0 0)v a r c h a t(2 0 0)v a r c h 田(2 0 0)v a r c h a r(2 0 0)v a r c h a r(2 0 0)v a r c88、 h a r(2 0 0)i n t(1 i)v a r c h a r(2 0 0)v a r c h a r(2 0 0)d a t e t i m e1 天2 周3 月4 年1 正常0 禁用一1 删除g m t _ m o d i f y修改时间d a t e t i m eN u l lM 舢舢MMMMM 洲MMM 智慧城管信息分析系统5 系统实现5 1公共功能5 1 1 登陆功能实现(1)初次登陆本系统,打开浏览器(C h m m e),访问智慧城管信息分析系统网址h t t p:I o c a l h o s t l o g i n h t m,出现登陆界面如图5 1:登陆流程图如89、图5 2:智慧城管信息分析系统用户名:a d m l n密码:釜詈信每图5 I 登陆界面F i g 5 1L o g i ni n t e r f a c e图5 2 登陆程序流程图F i g 5 2L o g i np r o g r a mf l o w c h a r t大连理工大学专业学位硕士学位论文在V a l i d a t e U s e r V a l v e 管道类中判断当前用户是否登陆:获取访问的U R LS t r i n gu r l=r e q u e s t g e t R e q u e s t U R L 0 t o S t r i n 9 0;从s e s s90、 i o n 中获取登录用户,若登录用户为n u l l,则跳转到登陆页面O b j e c tl o g i n U s e r=r e q u e s t g e t S e s s i o n 0 g e t A t t r i b u t e(”l o g i n U s e r”);i f(1 0 9 i n U s e rI=n u l l)()e l s e U R L 不为登陆页i f(i u r l。c o n t a i n s(C o n s t a n t s L O G I N P A G E)跳转到登陆页面r e s p o n s e s e n d R e d 91、i r e c t(C o n s t a n t s L O G I N _ P A G E);)用户输入密码与数据库中加密后的密码比较,如若不相同则对用户密码字段设置密码错误的信息。为保障系统安全性,采用M D 5 力f l 密用户密码,取M D 5 值的前1 0 位存数据库。(2)退出系统用户登录到智慧城管信息分析系统完成相关操作后,需要退出智慧城管信息分析系统有两种方式:选择页面右上角的“退出“按钮或直接关闭所有打开的浏览器。这两种方式都将保证用户退出智慧城管信息分析系统。L o g i n A c t i o n 登陆A c t i o n 类中登出事件定义。p u b l i cv92、 o i dd o L o g i n O u t(N a v i g a t o rn a y)s e s s i o n q b 清除当前登陆用户,跳转到登陆页面r e q u e s t g e t S e s s i o n 0 s e t A t t r i b u t e(”l o g i n U s e r”,n u l l);f l a v r e d i r e c t T o L o c a t i o n(“l o g i n h t m”);)(3)界面布局智慧城管信息分析系统界面分为三个区域,上下结构,下又分为左右结构。其中区域上显示智慧城管信息分析系统的标题,区域下93、左显示用户登录后可供选择的菜单,区域下右显示用户左边菜单栏显示的内容。实现原理:通过w e b x 3 结合v e l o c i t y 实现页面布局,将公用的顶部抽取成h e a d e r v m,左边导航抽取成l e f t m e n u v m,右下的页面全部放在s c r e e n 目录下,使用公共的布局d e f a u l t v m智慧城管信息分析系统5 1 2 表单验证功能实现因为本系统的管理模块都有新增和修改功能,这就需要表单验证功能。本系统采用了W e b x 表单验证服务,其本质就是服务器端的批量验证,主要由验证规则、页面模板和J a v a 代码组成。(1)验证94、规则:表单验证服务是一个基于S p r i n g 和S p r i n gE x t 的服务,因此验证规则可利用S c h e m a 来配置。代表表单验证服务的配置。从这里开始定义表单验证的规则。可以定义多个g r o u p s,每个g r o u p 有一个唯一的名称,例如:“m o d u l e N e w”。每个g r o u p 代表了一组需要验证的字段(f i e l d)。每个f i e l d 有一个在组中唯一的名称,例如:“模块名称”等。每个f i e l d 又包含了多个验证规则(v a l i d a t o r)。每个验证规则都包含了一段文字描述(m e s s 95、a g e),如果用户填写的数据没有通过当前的规则的验证,那么用户将会看到这段文字描述,以解释出错的原因。配置文件f o r m x m l 结构如下所示:E,须填写$d i s p l a y N a m e 更多v a l i d a t o r$d i s p l a y N a m e)已经存在更多c u s t o m e r r o r更多f i e l d更多g r o u p(2)g q 建表单页面。首先需要使用一个p u l lt o o l 工具,配置如下:上面的配置定义了一个S f o r m 工具。现在可以在模板中直接使用它,以新增模块为例,核心代码如下:#s e t(96、$g r o u p2$f o r m m o d u l e N e w d e f a u l t l n s t a n c e)i n p u tn a m e 2”i d”v a l u e=”S l i d”i d=”i d”t y p e=”h i d d e n”侈e v e r J【f y w a r n i n g#e n d 模块名称:啪d s p a nc l a s s。”e v e r i f y w r a p#i f($l g r o u p n a m e m e s s a g e)$!g r o u p n a m e m e s s a g e 最长1 97、0 个字符,只能由中文汉字、英文字母、数字、p e v e r i f y w a r n i n g#e n d”奉 模块路径:嘲d s p a nc l a s s 2 l I e-v e r i f y w r a p#i f($!g r o u p p a t h m e s s a g e)$!g r o u p p a t h m e s s a g e 最长1 0 0 个字符,只能以开头和以结尾的英文字母组成2 7智慧城管信息分析系统 i n p u tt y p e _ s u b m i t”n a m e=”e v e n t s u b m i t d o e d i t98、”v a l u e 一保存信息”c l a s s=”e-b t ne-b t n-w a r n i n g”pH T M Lf o r m 的a c t i o n 值为空,意思是把表单提交给当前页面。这样,当用户填写表单有错时,应用会停留在当前表单页面,将表单数据连同错误提示一起显示给用户,要求用户修改。如果表单验证通过,应用必须通过重定向操作来转向下一个页面。创建一个m o d u l e N e wg r o u p 的实例。利用新创建的g r o u p 对象来生成表单字段,包括生成字段的名称$g r o u p f i e l d k e y,以及字段的值为$l g r o u99、 p f i e l d v a l u e。定义v e l o c i t y 宏:仅当f i e l d验证通过时(即$g r o u p f i e l d v a l i d-t r u e),才显示错误信息。对于空白表单和通过验证的字段而言,$g r o u p f i e l d v a l i d 为t r u e。如果验证失败的话,显示验证出错消息。根据这参数,表单将会被交给m o d u l e A c t i o n 来处理。A c t i o n 的职责是调用表单验证过程。假如验证通过,就保存数据,并重定向到下一个页面。根据这个参数,表单被提交以后,系统会调用当前a c 100、t i o n(且1 m o d u l e A c t i o n)的d o E d i t 0 方法。每个a c t i o n 类中,可以包含多个处理数据的动作,例如d o A d d、d o U p d a t e、d o D e l e t e 等。上面的V e l o c i t y 页面模板演示了怎样利用表单验证服务创建一个模块的H T M L 表单。关键技术解释如下:创建g r o u p 实例:S f o r m m o d u l e N e w d e f a u l t l n s t a n c e 将会对m o d u l e N e wg r o u p 创建一个101、默认的实例。绝大多数情况下,只需要创建唯一的d e f a u l ti n s t a n c e 就足够了。所创建的g r o u pi n s t a n c e(女l lr e g i s t e r),g,须先在规则配置文件中被定义。生成表单字段:一个表单字段包含名称和值两个部分。字段的名称为$g r o u p f i e l d k e y。表单验证服务会自动生成一个字段名。这个字段名被设计成仅供系统内部解读的,而不是让外界的系统或人来解读的。它看起来是这个样子的:“f m r 0 p”。外界的系统不应该依赖于这个名称。字段的值为$?g r o u p f i e l d v a102、 l u e。它的初始值(即用户填写数据之前)是n u l l。但你也可以在配置文件中为它指定一个默认的初始值,因为值可能是n u l l,因此在v e l o c i t y 中,需要以“$!”来标记它:V e l o c i t y 认为n u l l 是一个错误,除非你以$!来标记它,告诉v e l o c i t y 忽略它。需要注意的是,默认值只会影响f i e l d 的初始值。一旦用户填写并提交了表单,那么$g r o u p f i e l d v a l u e 的值将保持用户所填写的值不变不论验证失败或成功。2 8大连理工大学专业学位硕士学位论文页面展现:一般来说,需要定义103、C S S 风格以便让表单的f i e l d 和错误信息能以适当的格式来显示给用户。表单系统不应该干预页面的具体展现方法,以下内容均和表单系统无关。例如:F i e l d 展现的方式:t e x t b o x、c h e c k b o x、h i d d e nf i e l d、错误信息的颜色、显示位置等。(3)创建J a v a 代码(a c t i o n):用户提交表单后,由服务器端的J a v a 代码读取并验证用户的数据。在W e b x 中,这个功能通常由a c t i o n 来完成。前文已经提到,在H T M L 表单中,设置a c t i o n 字段,以及e v 104、e n ts u b m i td oe d i t 提交按钮,就可以让W e b x 框架调用M o d u l e A c t i o n d o E d i t O 方法。验证表单,如果失败则不执行a c t i o n,否则执行d o E d i t 方法。取得f o r m 和m o d u l e N e wg r o u p 对象,并将g r o u p 中的数据注入到c i t y M o d u l e 对象中,下面是M o d u l e A c t i o n 类的实现代码:p u b l i cv o i dd o E d i t(F o r m G r o u p(”105、m o d u l e N e w”)G r o u pg r o u p,P a r a m(”i d”)I m e g e ri d,C o n t e x tc o n t e x t)F i e l dn a m e F i e i d2g r o u p g e t F i e l d(”n a m e”);S t r i n gn a m e=n a m e F i e l d g e t S t r i n g V a l u e 0;C i t y M o d u l ep a r a ml=n e wC i t y M o d u l e O;p a r a m1 s e t106、 N a m e(n a m e);p a r a m1 s e t E d i t l d(i d);L i s t l i s t l=c i t y M o d u l e A O g e t L i s t(p a r a m l);i f(1 i s t lI-n u l l&!i s t l i s E m p t y 0)n a m e F i e l d s e t M e s s a g e(”n a m e e x i s t”);设置模块名称重复的自定义错误F i e l dp a t h F i e l d=g r o u p g e t F i e l d(”p a 107、t h”);S t r i n gp a t h2p a t h F i e l d g e t S t r i n g V a l u e();C i t y M o d u l ep a r a m 2=n e wC i t y M o d u l e 0;p a r a m 2 s e t P a t h(p a t h);p a r a m 2 s e t E d i t l d(i d);L i s t l i s t 22c i 妙M o d u l e A O g e t L i s t(p a r a m 2);i f(1 i s t 2f-n u l l&!l i s t 2108、 i s E m p t y 0)p a t h F i e l d s e t M e s s a g e(”p a t h e x i s t”);设置模块路径重复的自定义错误)i f(g r o u p i s V a l i d 0)仅当表单验证成功时,才执行下去C i t y M o d u l ec i t y M o d u l e=n e wC i t y M o d u l e O;智慧城管信息分析系统g r o u p s e t P r o p e r t i e s(c i t y M o d u l e);将g r o u p q h 的数据灌入b e a n q b109、i n tr e s u l t;i f(i d=n u l l)若I D 为n u l l,则新增模块c i t y M o d u l e s e t S t a t u s(C o n s t a n t s S T A T U s-A C T I V E);r e s u l t=c i t y M o d u l e A O i n s e r t(c i t y M o d u l e);e l s e 若I D 不为n u l l,则编辑模块c i t y M o d u l e s e t I d(i d);r e s u l t=c i t y M o d u l e A O110、 u p d a t e(c i t y M o d u l e);)i f(r e s u l t O)若数据库操作成功,则设置成功信息c o n t e x t p u t(”m s g”,”S H C C e S S”);)(4)修改老数据。之前的新增模块是从一个空白表单开始的,也就是说,在用户填写表单之前,表单是没有内容的,或只包含默认值的。另一种常见情况是修改老数据。例如“修改模块”。和创建新数据的例子不同,在用户填写表单之前,表单里已经包含了从数据库中取得的老数据。在创建新数据的模板和代码中,稍微添加一点东西,就可以实现修改老数据的功能。用s c r e e n 来读取数据:修改老111、数据的第一步,是要取得老的数据。例如,取得要修改的模块信息。在W e b x 中,这个任务是由s c r e e n 来完成的,以下就是m o d u l e N e w 页面对应的s c r e e n 类:p u b l i cv o i de x e c u t e(F o r m G r o u p(m o d u l e N e w”)G r o u pg r o u p,P a r a m(”i d”)I n t e g e ri d,C o n t e x tc o n t e x t)i f(i d!=n u l l)当i d 不为n u l l 时,则为修改模块C i t y112、 M o d u l ec i t y M o d u l e=n e wC i t y M o d u l e 0;c i t y M o d u l e s e t I d(i d);L i s t l i s t2c i t y P a g e A O g e t L i s t(c i t y M o d u l e);i f(I i s t!=n u l l&!l i s t i s E m p t y 0)g r o u p m a p T o(1 i s t g e t(O);用数据库中所取得的m o d u l e 对象的值来填充表单,作为表单的初始值。和G r o u p s113、 e t P r o p e r t i e s 0 方法相反,m a p T o 将J a v aB e a n大连理工大学专业学位硕士学位论文p r o p e r t i e s 的值映射到同名的f i e l d s q b。c o n t e x t p u t(”i d”,i d);将i d 值p u t 至U 页面上)因为修改老数据的和创建新数据代码几乎相同,只是修改老数据在加载页面时要在表单中填入数据,已经用以上的s c r e e n 类解决,再在页面上加入i d 隐藏域就可以了。5 1 3 权限功能实现不同角色的用户登陆系统后看到的左边菜单都不一样,当用户点击或在地址栏中直114、接输U R L 地址访问无权限的页面时,会跳转到无权限的提示页面,3 秒过后自动跳转到首页。区域分析员在数据分析模块中只会看到相应区域下的数据,流程图如图5 3 所示:。7 一开始j二。用户访闩某一模块下的页面。I _ _ 二?j-_ 二j图5 3 权限功能程序流程图F i g 5 3P e r m i s s i o n sf u n c t i o np r o g r a mf l o w c h a r t(1)页面访问实现原理:当前登陆用户C i t y U s e ru s c r2(C i 哆U s e r)l o g i n U s e r;I n t e g e rr o l115、 e l d2u s e r g e t R o l e l d 0;智慧城管信息分析系统b o o l e a nh a s A u t h=f a l s e;初始无模块权限根据当前登陆用户的角色查询角色拥有的模块权限C i t y R o l ec i t y R o l e=n e wC i t y R o l e 0;c i t y R o l e s e t l d(r o l e l d);L i s t l i s t=c i t y R o l e A O g e t L i s t(c i t y R o l e);i f(1 i s tf-n u l l&!l i s t116、 i s E m p t y 0)C i t y R o l er o l e=l i s t g e t(O);S t r i n gm o d u l e l d s2r o l e g e t M o d u l e l d s 0;C i t y M o d u l ec i t y M o d u l e=n e wC i t y M o d u l e 0;c i t y M o d u l e s e t M o d u l e l d L i s t(m o d u l e l d s s p l i t(t lt!);L i s t m o d u l e s2c i t y117、 P a g e A O g e t L i s t(e i t y M o d u l e);初始化用户拥有的模块权限的路径列表L i s t p a t h L i s t=n e wA r r a y L i s t 0;f o r(C i t y M o d u l em o d u l e:m o d u l e s)p a t h L i s t a d d(m o d u l e g e t P a t h 0);若当前U R L 在拥有的模块路径列表内,则表明拥有权限i f(!p a t h L i s t i s E m p t y O)f o r(S t r i n gp 118、a t h:p a t h L i s t)i f(u r l c o n t a i n s(p a t b)h a s A u t h=t r u e;b r e a k;)ji f(!h a s A u t h)无模块权限,则跳到报错页面r e s p o n s e s e n d R e d i r e c t(C o n s t a n t s E R R O R _ P A G E+”?t y p e 21”);)(2 1 前台展示实现原理:在l e f t m e n u v m 对应的s c r e e n 类中查数据库,判断当前登陆用户是否拥有超级管理、系统管理员、数据分析119、员的角色,以系统管理模块为例,必须为超级管理员或者系统管理员,左边导航栏的系统管理模块才可见,即a d m i n-t r u e 或s y s t e m-t r u e大连理工大学专业学位硕士学位论文捍i f($!a d m i n l l$!s y s t e m )系统管理 d 伊 案卷管理 批量上传案卷 预警管理#e n d5 1 4 其他公共功能实现(1)当鼠标滑动到列表页面某一行时,会出现提示信息,包含创建人、创建时间、最后修改人,通过o n M o u s e O v e r 和o n M o u s e O u t 方法实现;(2)对于部分录入的关键数据,系统提供数据校验功能120、,如果录入的数据不符合要求,提交后会在输入框上出现错误提示,鼠标聚焦到输入框时,错误提示会消失;(3)时间输入可以使用两种方式:从时间的文本框中直接输入,时间输入必须按照规定的格式,年月曰,如:2 0 1 3 0 8 0 l利用日历控件输入,时问的格式为系统自动给出的,只要点击时间输入区域,通过弹出的时间控件选择时间即可。时间输入界面如图5 4 所示:开始日期:臣 结束日期:E-J显示指标拮_ 八月2 0 1 3-;日一二三四五六2 82 93 93 11234S6T891 01 11 21 31 41 51 61 71 81 9 加2 l 篮2 32 42 5 2 62 7 2 9;雏;3 121、l一:x:l23456T!=:,着空今天确定图5 4 时问输入界面F i g 5 4T i m ei n p u ti n t e r f a c e智慧城管信息分析系统引入M y 9 7 日期控件的j S 在o n c l i c k 方法上配置即可,可设置格式化、最大值、最小值等信息(4)对于新增、修改操作都用同一对话框显示,通过判断i d 区分,对话框采用i f r a m e实现,可实现大小自适应。实现自适应代码如下:j Q u e r y(f u n c t i o n($)$n a m e s p a c e(c i t y c o m m o n d i a l o g);v a122、 rd e c=$(d o c u m e n t);c i t y c o m m o n d i a l o g=d i a l o g:$(e d i a l o g )f i r s t(),i f r a m e:S(p a r e n t d o c u m e n t g e t E l e m e n t B y l d(。d i a l o g W r a p)f i n d(i f r a m e),s e l f A d a p t i o n:f u n c t i o n 0 v a rw i d t h=t h i s d i a l o g w i d t h()123、,h e i g h t2t h i s d i a l o g h e i g h t();t h i s i f r a m e w i d t h(w i d t h);t h i s i f r a m e h e i g h t(h e i g h t);),i n i t:f u n c t i o n O t h i s s e l f A d a p t i o n 0;d o c d e l e g a t e(d i a l o g-c l o s e b t n,d i a l o g c a n c e l b t n,c l i c k,f u n c t i o n124、(e)e p r e v e n t D e f a u l t O;w i n d o w p a r e n t c i t y c o m m o n d i a l o g W r a p c l o s e();););c i t y c o m m o n d i a l o g i n i t 0;);(5)每个l i s t 页面中的每条记录都有禁用、启用、删除功能。相关界面如图5 5 所示:大连理工大学专业学位硕士学位论文小妻大娄社匡街毒匡醴过置舒门1 吝握作。?j_ _!_ t 二、$二、77 i t _ 二j-二善 i,jt j 一;:E=二女。,:l 二j 矗,。:,。125、m。:i。,。,Fr 工、i 二,j :j E o#:j _】:ji,1。i;-i 玉参F:。Z;二置甚“一i。、It;?v,:j图5 5 记录功能界面F i g 5 5R e c o r df u n c t i o ni n t e r f a c e当状态为正常时,显示禁用按钮,当状态为禁用时,显示启用按钮;只有在列表页面才会把禁用和正常状态的记录查询出来,给其他页面使用的记录只取正常状态的记录;当按下“禁用”按钮时,弹出确认框,确认后才能进行禁用操作;当按下击“启用”按钮时,弹出确认框,确认后才能进行启用操作;当按下“删除”按钮时,弹出确认框,确认后才能进行删除操作;实现原理,以用户管126、理为例。在i b a t i s 配置文件中加入以下u p d a t e:u p d a t ec i t yu s e rs e ts t a t u s=#s t a t u s#,m o d i f i e r=#m o d i f i e r#,g m t _ m o d i f y=:n o w()w h e r ei d=捍i d 拌在对应的C i t y U s e r A O 中加入d e l e t e 接E l。实现如下:p u b l i cI n t e g e rd e l e t e(C i t y U s e rc i t y U s e r)r e t u r127、 n(I n t e g e r)c i t y O a o u p d a t e(”C i t y U s e r ,c i t y U s e r,”d e l e t e”);)在对应的u s e r L i s t v m 中加入相应的元素。实现如下:拌i f($!i t e m s t a t u s =1)禁用铂#e l s e i f($l i t e m s t a t u s =O)启用铂#e n d 删除铂智慧城管信息分析系统在对应的U s e r A c t i o n 中加入相应的事件。实现如下:p u b l i cv o i dd o U p d a t e S 128、t a t u s(P a r a m(”i d”)I n t e g e ri d,P a r a m(”s t a t u s”)I n t e g e rs t a t u s,C o n t e x tc o n t e x t)获取登录用户O b j e c tl o g i n U s e r=r e q u e s t g e t S e s s i o n 0 g e t A t t r i b u t e(”l o g i n U s e r”);S t r i n gl o g i n N a m e2n u l l;i f(I o g i n U s e r!=n u l129、 l)l o g i n N a m e=(C i t y U s e r)1 0 9 i n U s e r)g e t N a m e 0;)C i t y U s e rc i t y U s e r=n e wC i t y U s e r O;c i t y U s e r s e t l d(i d);c i t y U s e r s e t S t a t u s(s t a t u s);c i t y U s e r s e t M o d i f i e r(1 0 9 i n N a m e);i n tr e s u l t=c i t y U s e r A O d130、 e l e t e(c i t y U s e r);i f(r e s u l t 0)寮毪 哩投艇譬巷小兰撬馒管理处置部门:两色雠。发生叫日用户霸l”;外o勰曹曩:?:r l e i 1:I#毒甍莲f 埋#:n,“。腓锑l,?_,E蠹薯分析n:?。u+;_日雕甘圻措鼍目析瘩l *折,冀2n s 始大盎:社区开日麓:掊柬日期目猷盔辞路譬辞鉴与瓦茸譬蠢邓西南糊吾绮:滞舌揖T 墨乱建、毛j 舞三茔u 菇王皇士籍4 3j 号毒山董上盎章盂氇弩舄铟#;?批嫱差鼙i 峭丌口有譬捂乱毒z 辨篝虹】:_ 黯:LL L 璐s 蕊泉喁鞋羲鸯曩t 巷童鞋警建对A 羌r 隈F 鼍蕞号 葚2】罨东北掣奄毫蚌挂r 131、言彗抽营遗鹰兰矗蛙广耋瓣薯:!:毫耋!?兰尝署酬H#僻 女#2 蟪妒;耀P 女 号1$蔷0 弹t一一91 i 壁竖警登璧黧8 翘酴m”自舟r :t _ 啦右社 4 争辩著奢广香张葛一一I o 蕊霹i o 誊重1 j 号西北错:琳左右星*器兰广5 日螬管薯告丧基畦广 窟蚕够鬣里妲嚷重j 蹲一o|耋上奔暑挂广告强鲁窨通盎毋硅女目嚆;o 疆呈张譬量蝗北鞠!斗左右堰上青毫整r 者短虚苗圣毒圭帚挂-喜自叠I o 槛望J o 疆重1:号舌|0 斟i 2 木:右j 毫真是挂矗硪穗臂舞丧击基撞自嘣簪嵩矍设 隧j 号五!懈1 2 卡糕强三拜曼甓广珐埔繁话善法婚毪r 去瞎嚣I 锰口 o 誊蒌1 2;L 靠8 末专132、;擤?基砖广告靖商。嚣谭嘻击暑孽广I 蠼蜘:E 强:墨瞄圜燎牡医酱区畦赴量科1 抗意量作啦百H 塘岛王,t 二#漳曩裁Z二饕X五 t 蕾锰譬蔫等卉畜耳埔寿寺让纛卿避舌砩景匣i 羞山嚣理t 正常搬錾蜡昔副谴和$#嚣寞辞媾T”域壁螺 屯毫$缸熏,禽姑堵禹#书萄 埔晒嚣菇妊藿岙珊0 诵革i 满,j 嚣雌自主事!#搓彗啦*蔷瞎广告鞋 脏越寰l;博T“撺堡史K l t 甚$阻正,鸯蜷笔薯#措幅广誊车平毽薯嚣#觥谌i 备 菇j i 譬鲤葺E 幕蟮描孳蚺碧#帮;喂栈寿罄世互王#盘话T 童5 王 由焉王常嗡蠕q 两祷譬储广矗磊皇E 中稚:*商T 培丰甜啦*m 雕王章壤崭鞲寮鲁宣括r 击蓠支柱逸事靶盘增F 精基133、¥靳l t*o“王窜话。再#拦懂r 连墨妄毪匕茉话搿诺F 避莲i 搬主自H 土辛g 描錾qH蘸倍广当舌支鞋避 菲礴1“艟之,轴l 专。圭;,毒姑醋-l 肆薷惜r 奄螽延匡字靳鸯诵T 警S 崩f k 击“王章1 搿;#霸*寄传广古舌寞:F年稚:礴T 域Z丰轴捷i m 甜 草?毒鞲霉#置信r 告西文娃落辛并:嚆下玲童甜i t 活$“王博喁僚。莲#:2-薪境幢木圬毡垂:搿竭再E北。街嘻王章蔫揖饕鸯234骑i 一曩舭6 滞i 喊一j 稚图5 9 案卷管理界面F i g 5 9C a s em a n a g e m e n ti n t e r f a c e大连理工大学专业学位硕士学位论文5 3 2134、 批量上传案卷实现点击“批量上传案卷”菜单,进入批量上传案卷页面,选择文件批量上传案卷。必须选择上传文件且文件必须为C S V 格式,若上传成功,则跳转到“案卷管理”列表页面,可以进行相关的案卷管理操作。案卷批量上传界面如图5 1 0 所示:智慧城管信息分析系统莆页系拄嚏 批量上任宴枝再售理;商舞赫j 束选择文件 葺睫管霎角色管理用户管理景矮售毪褰譬宦淫 穗自;案强警嚣淫矗矗分析匪形甜忻齑辔分析箱挥持圻图5 1 0 批量上传案卷界面F i g 5 1 0B u l ku p l o a df i l e si n t e r f a c e5 3 3 预警管理实现点击“预警管理”菜单,进入预警135、信息列表页面,列表显示I D、预警区间、预警最小值、预警最大值、小类、大类、社区、街道、区域、处置部门、状态、操作等常用信息。预警管理主要包含新增、编辑、禁用、启用、删除、查询、分页功能。可以根据小类、大类、社区、街道、区域、处置部门模糊查询,预警区间精确查询。查询、新增、编辑时,当选择某一大类时,只显示此大类下的小类:当选择某一区域时,只显示此区域下的街道;当选择某一街道时,只显示此街道下的社区。预警区间有年月周日四种区间,用户可以根据不同的分析需要进行分别设置。每天的零时会根据预警表的每条正常状态的记录去查询案卷表,预警记录的小类、大类、社区、街道、区域、处置部门为查询条件,若记录数满足“136、小于等于预警最小值”和“大于等于预警最大值”的两个条件之一或者全部满足,则会生成一份预警文档,里面包含预警内容及满足预警的案卷记录,通过系统后台发送邮件至配置预警记录的用户信箱中。预警功能流程图流程图如图5 1 l 所示:智慧城管信息分析系统5 4 数据分析图5 1 1 预警功能流程图F i g 5 11W a r n i n gf u n c t i o nf l o w c h a r t5 4 1 图形分析实现点击图形分析”菜单,进入图形分析页面,此页面是对某一维度的数据进行折线图分析、柱状图分析或者饼图分析。折线分析如图5 1 2 所示:智慧城警倍皂分析系统t*,m H*_ _Ia 女137、啊*日q i oM*E#:l目F t t,7、”t t 惜薹#|=“F t at n I t 一bl*f*E#K*#w4 E 靠:*,目恤z t蔓“=曙i|渤翻圈蟊薯,_一一,、。、一“i 襄曼s b 一,、。n:3 l:+、,:+艘:鎏蛰=Z 羔三妄三釜。=羔兰釜=Z 兰文=:孰一斌图5 1 2 折线图分析效果图F i g 5 1 2L i n ec h a r ta n a l y s i sr e n d e r i n g s4 2 大连理工大学专业学位硕士学位论文点击“饼图分析”菜单,进入饼图分析页面,此页面是对某一维度的数据进行饼图分析。可点击“隐藏指标”按钮隐藏指标;可点击“显示138、指标”按钮显示指标;当鼠标悬浮到饼图的某一饼时,会显示该饼的相应信息(名称、占比);可点击饼图下的图标,显示或隐藏某一饼。效果如图5 1 3 所示:智慧城管信息分析系统n*,E 日措*1;i目*5 一B。j R-日_ 一?n?I 饵日_#:2H 棚2 4墓翘露*一:囝糊翻图5 1 3 饼图分析效果图F i g 5 1 3P i ec h a r ta n a l y s i sr e s u l t s实现说明:折线图和柱状图是先对年月日的日期进行g r o u pb y,再对分析维度字段进行g r o u pb y;对分析维度字段求c o u n t,获取次数;先根据分析维度字段排序,再根据139、日期排序;分析维度字段动态传入。因为返回H a s h M a p 列表,每次查询都需重新获取结果集,所以设置r e m a p R e s u l t s=”t r u e”。关键的S Q L 如下:s e l e c t$f i e l d$a sn a m e,d a t e _ f o r m a t(g 熊,Y-m 一d I)a sd a t a D a t e,c o u n t($f i e l d$)a sn u mf r o mc i t y条件省略recordg r o u pb yd a t a D a t e,$f i e l d$o r d e rb y$f i e 140、l d$,d a t a D a t e饼图是直接对分析维度字段进行g r o u pb y;对分析维度字段求c o u n t,获取次数;先根据分析维度字段排序,再根据日期排序;分析维度字段进行动态传入。关键的S Q L如下:s e l e c t$f i e l d$a sn a m e,c o u n t($f i e l d$)a sR u mf r o mc i t y _ r e c o r d条件省略g r o u pb y$f i e l d$o r d e rb yn a md e s c智慧城管信息分析系统折线图和柱状图是先根据开始日期和结束日期获取日期列表,再根据前端需要141、展示的指标过滤结果集,按指标对结果进行分类,日期值必须为t i m e 形式,若某一日期没有值,则补零,通过以下接E l 构造h i g h c h a r t s 折线图需要的J S O N 数据。程序实现如下:L i s t d a t e L i s t=n e wA r r a y L i s t 0;D a t es t a r t s=D a t e U t i l g e t D a t e B y S t r i n g(s t a r t D a t e);D a t ee n d s2D a t e U t i l g e t D a t e B y S t r i n g142、(e n d D a t e);D a t et e m p D a t e2s t a r t s;w h i l e(t e m p D a t e c o m p a r e T o(e n d s)1 21)d a t e L i s t a d d(t e m p D a t e g e t T i m e 0);t e m p D a t e2D a t e U t i l s a d d D a y s(t e m p D a t e,1);,设置开始结束时间的连续时间列表i f(r a n g e L i s t1 2n u l l&!r a n g e L i s t i s143、 E m p t y O)S e t f i e l d C o d e S e t=n e wH a s h S e t 0;L i s t k e y L i s t=n e wA r r a y L i s t 0;维度列表M a p S t r i n g,L i s t v a l u e M a p2n e wH a s h M a p S t r i n g,L i s t ();结果m a p,k e y 为维度信息,v a l u e 为对应分析时间区间的数值列表M a p S t r i n g,L i s t g m t M a p=n e wH a s h M a p 144、S t r i n g,L i s t ();时间m 印,k e y 为维度信息,v a l u e 为有值的分析时间列表f o r(M a p m a p:r a n g e L i s t)f 初始化值i f(m a p1 2n u l l&!m a p i s E m p t y O)S t r i n gn a m e2m a p g e t(”n a m e”1 t o S t r i n 9 0;i f(!f i e l d L i s t c o n t a i n s(n a m e)c o n t i n u e;)S t r i n gn u m=m a p g e t(”145、h u m”1 t o S t r i n g O;l o n gd a t e T i m e=D a t e U t i l g e t D a t e B y S t r i n g(m a p g e t(”d a t a D a t e”1 t o S t r i n 9 0)g e t T i m e 0;L i s t v a l u e L i s t=n u l l;L i s t g m t L i s t=n u l l;i f(f i e l d C o d e S e t a d d(n a m e)k e y L i S t a d d(n a m e);v a l146、 u e L i s t=n e wA r r a y L i s t 0;g m t L i s t2n e wA r r a y L i s t 0;v a l u e M a p p u t(n a m e,v a l u e L i s t);大连理工大学专业学位硕士学位论文g m t M a p p u t(n a m e,g m t L i s t);)e l s e v a l u e L i S t2v a l u e M a p g e t(n a m e);g m t L i s t=g m t M a p g e t(n a m e);)g m t L i s t a d147、 d(d a t e T i m e);v a l u e L i s t a d d(n u r n);)L i s t j s o n S t r=n e wA r r a y L i s t 0;f o r(i n ti 一0,s i z e=k e y L i s t s i z e 0;i s i z e;i 十+)S t r i n gn a m e=k e y L i s t g e t(i);J S O N O b j e c t j s o n F i e l d=n e wJ S O N O b j e c t 0;j s o n F i e l d p u t(”n a 148、m e”,n a m e);L i s t L i s t d a t a L i s t=n e wA r r a y L i s t L i s t 0;L i s t v a l u e L i s t2v a l u e M a p g e t(n a m e);L i s t g m t L i s t2g m t M a p g e t(n a m e);f o r(L o n gg r n t:d a t e L i s t)L i s t v a l u e2 2n e wA r r a y L i s t 0;i n ti n d e x=g m t L i s t i n 149、d e x O f(g m t);v a l u e a d d(g m t);i f f i n d e x!=一1)v a l u e a d d(I n t e g e r p a r s e I n t(v a l u e L i s t g e t(i n d e x);e l s e 若没有值的日期则补零v a l u e a d d(O);)d a t a L i s t a d d(v a l u e);)j s o n F i e l d p u t(”d a t a”,d a t a L i s t);j s o n S t r a d d(j s o n F i e l 150、d);lr e t u r nj s o n S t r t o S t r i n 9 0;饼图是先根据前端需要展示的指标过滤结果集,按指标对结果进行分类,通过相关接口构造h i g h c h a n s 饼图需要的J S O N 数据。由于实现代码较长,文中不进行具体代码说明。4 5 智慧城管信息分析系统5 4 2 街道分析实现点击“街道分析”菜单,进入街道分析页面,街道分析包含小类街道T o p 分析和小类周增长T o p 分析。(1)小类街道T o p 分析首先选择某-d,类,然后选择想要分析的时间区问(开始日期、结束日期),点击分析后,显示此小类在选中时间区间内的发生案卷次数最多的151、前十街道的名称及发生案卷的次数,点击街道名称可显示相应的案卷明细。(2)小类街道周增长T o p 分析首先选择某-d,类,然后再选择某一月和需要比较的周,比如选择第一周和第四周,点击分析后,显示第四周比第一周增长案卷次数最多的前十的街道的名称及增长的案卷的次数。5 4 3 路段分析实现点击“路段分析”菜单,进入路段分析页面。路段分析是对小类路段发生案卷的次数进行统计,首先选择某一小类,然后选择想要分析的时间区间(开始日期、结束日期),点击分析后,显示此小类在选中时间区间内的发生案卷次数最多的前十路段的名称及发生案卷的次数,点击路段名称可显示相应的案卷明细。大连理工大学专业学位硕士学位论文6 系152、统测试软件测试是软件设计的重要环节,软件设计完成以后符不符合原先的设定的目标,有没有达到用户的要求,只能通过充分测试才能发现上述在设计以及代码编写环节存在的问题。软件完成之前所有的阶段的主要是目标是如何快速搭建系统结构。而软件测试的目标是:努力找出软件存在的错误和缺陷,随后用尽可能用最少的代价去纠正错误或者弥补缺陷。基于这个目的,在软件测试的设计方案时,要充分考虑该方案能否更容易暴露出系统更多的错误,而不是仅仅走个测试的行政来证明系统没有错误。测试方案的设计是测试工作圆满完成的关键所在。软件测试是保证软件质量的最后一关,它是守门员,也是前面工作的最后审核。只有通过了测试,产品才能真正的合格,才153、能最大可能的确保安全运行。软件测试通过一些测试用例,使系统正常运行,从而发现系统在运行中出现的各种问题。根据设计测试用例的不同,软件测试可以分为黑盒测试和白盒测试两种。黑盒测试主要针对程序的外部,而忽略程序的内部特征。黑盒测试法把程序看成是一个看不见内部情况的黑盒子,只在程序对外的接口上开展测试工作,主要是检测软件的功能是否满足要求。而白盒测试刚好相反,白盒测试主要是测试程序的内部结构,检查程序中每条通路是否可以完成既定的要求。软件测试的内容主要有功能测试和性能测试。功能测试的一般方法是把软件分解成若干个相对独立的单元模块,从而可以使软件的功能性测试可以进行度量,有利于测试的监督和管理。在进行154、功能测试时该注意的是不能把功能模块分得过细或者过粗,两者都会造成软件功能性测试度量的准确性。性能测试一般都是测试人员用一种或几种软件性能测试软件,以尽可能多的方式来模拟真实用户的各种行为,从而实现对该软件进行并发操作,收集不同情况的不同结果并进行比较,从而能够达到对软件的性能进行分析的目的。性能测试的指标有很多,主要有:响应时间、并发用户数、吞吐量、性能计数器、思考时间等。其中响应时间的性能测试较为常用,也就是对请求作出响应所需要的时间。响应时间划分为“呈现时间”和“系统响应时间”两个部分。其中“呈现时间”一般取决于数据在被用户的电脑收到响应数据后所呈现的效果所消耗的时间,所以“呈现时间”是因155、用户而异的,软件性能测试一般不关注“呈现时间”。“响应时间”是指应用服务器从请求发出开始到客户端接受到数据所消耗的时间。6 1 功能测试(1)模块管理黑盒测试用例设计如表6 1 所示:智慧城管信息分析系统搜索模块鬻模块名称输入框输入“管理”点击“搜索”鬻模块路径输入框输入“a d”同上显示“权限管理”、“系统管理”两条记录显示“系统管理”一条记录一4 8大连理工大学专业学位硕士学位论文(2)用户管理黑盒测试用例设计如表6 2 所示:表6 2 用户管理模块黑盒测试用例表T a b 6 2B l a c kb o xt e s tc a s et a b l eo fu s e rm a n a 156、g e m e n tm o d u l e修改用户修改用户修改名耄“I 磬级管理薏至2 粪害要器萎塞莲雾差蓁修改名称“超级管理记录后的“编辑”按钮一:二=:员”在弹窗中输入后二二:=:?3 点击“保存信息”二7:二:I 二”重置同上取消同上i 2 同上输入框还原为3 点击“重置信息”初始状态1 2 同上3 点击“取消”关闭弹窗,显示列表4 9智慧城管信息分析系统(3)案卷管理黑盒测试用例设计如表6 3 所示:表6 3 案卷管理模块黑盒测试用例表T a b 6 3B l a c kb o xt e s tc a s et a b l eo f r e c o r dm a n a g e m 157、e n tm o d u l e丽聂顽百_ 丽试耍泵丽操作步骤预期输出搜索案卷新增案卷意篆纛巍罴拼燃”新增案卷选择发生时问,输入问题描述“无名路流水东苑1 2 幢2 单元南侧有乱堆物”,选择其他的设置重置同上取消同上满足条件的记录分页显示弹出“操作成1 点击“增加新案卷”功”对话框,按2 在弹窗中输入“确认”后刷新3 点击“保存信息”列表,出现新增的案卷记录。二艺兰输入框被重置3 点击“重置信息”1 2 同上3 点击“取消”关闭弹窗,显示列表1 点击第一条记录后的功”对话框,按修修改案卷修改小类“人行道”2 在弹窗中输入后列表,第一条记“编辑”按钮“确认”后刷新改3 点击“保存信息”录小类变为158、“人案行道”卷1 2 同上输入框还原为重置同上3 点击“重置信息”初始状态1 2 同上关闭弹窗,显示取消同上3 点击“取消”列表大连理工大学专业学位硕士学位论文(4)柱状图分析黑盒测试用例设计如表6 4 所示:表6 4 柱状图分析模块黑盒测试用例表T a b 6 4B l a c kb o xt e s tc a s et a b l eo f c o l u m na n a l y s i sm o d u l e测试项目测试要求输入操作步骤。预两 爵西一1 选择区域“西湖区”2 选择开始日期柱状图生成按步骤操作,最终生成柱状图3 选择结束日期:薹萋釜票羹鬈:套言二生成套蓄的柱5 选择显示159、指标“街面秩序”、“园林绿化”、“施-r 管理”、“市容环境”、“宣传广告”6 点击“分析”按钮已i导出c s v 文件柱状图分。1-6 N 上”如篙兹7 点击“导出”按钮1 7 姜”“”开始日期必填点击“分析”按钮结束日期必填 选2 0 择1 开1-0 始7-目0 期1 同上_-同上输入,选择结分析维度必选柬日期同上“2 0 1 1 0 8 2 0”错误提示“必须选择开始日期”错误提示“必须选择结束日期”错误提示“必须选择分析维度”“至少选择一个同上输入,选择分错误提示“至少显示指标析维度。t 大类”同上选择一个显示指标”最多选择六个同上输入,选择8错误提示“最多显示指标个显示指标同上选择六160、个显示指标”一5 1智慧城管信息分析系统6 2 性能测试要求用户操作响应不能大于3 S,用户操作时不能有明显的迟滞感,在系统操作的过程中,发现两个明显的性能瓶颈,经过优化后性能有了显著的提升。(1)批量上传案卷页面,上传C S V 文件时,因为文件的记录数动辄好几万,一条一条的插入很容易就造成浏览器相应迟钝,甚至崩溃。故采用了如下步骤优化:首先采用i B a t i s 自带的批量插入p u b l i cI n t e g e ri n s e r t B a t c h(S t r i n gn a m e S p a c e,L i s t p a r a m e t e r O b j161、 e c t,S t r i n gs t a t e m e n t N a m e)f i n a lS t r i n gs q l M a p l d=n a m e S p a c e+n o t!+s t a t e m e n t N a m e;f i n a lL i s t o b j L i s t=(L i s t )p a r a m e t e r O b j e c t;S q l M a p C l i e n t C a l l b a c kc a l l b a c k=n e wS q l M a p C i i e n t C a l l b a c 162、k 0 p u b l i cO b j e c td o l n S q l M a p C l i e n t(S q l M a p E x e c u t o re x e c u t 0 0t h r o w sS Q L E x c e p t i o n e x e c u t o r s t a r t B a t c h 0;f o r(O b j e c to b j l t e m:o b!j L i a)e x e c u t o r i n s e r t(s q l M a p l d,o b j l t e m);t r y r e t u r ne x e c 163、u t o r e x e c u t e B a t c h D e t a i l e d 0;)c a t c h(B a t c h E x c e p t i o ne)t h r o wn e wS Q L E x c e p t i o n(”B a t c hI n s e r tf a i l e d!”););r e t u mb a t c h R e s u l t(L i s t )t h i s g e t S q l M a p C l i e n t T e m p l a t e 0 e x e c u t e(c a l l b a c k);)然后采用J 164、D B C T e m p l a t e 接口,利用M y S Q L 的批量插入s q l,核心方法i n s e r t B a t c h B y J D B C 如下:S t r i n g B u f f e rs q l=n e wS t r i n g B u f f e r 0;s q l a p p e n d(”i n s e r ti n t oc i t y r e c o r d(g m t,c o n t e n t,c a t e g o r y 2,c a t e g o r yl,c o m m u n i t y,s t r e e L r e g i o165、 n,d e p a r t m e n t,s t a t u s,c r e a t o r,m o d i f i e r,g m t c r e a t e,g m t _ m o d i f y)v a l u e s”);5 2大连理工大学专业学位硕士学位论文构造卫趔批量插)S Q L,如i n s e r ti n t ot a b l e(f i e l d l,f i e l d 2)v a l u e s(v a l u el1,v a l u el2),(v a l u e 21,v a l u e 2 2),(v a l u e N1,v a l u e N 2);f 166、o r(i n ti _ 0,l e n g t h=l i s t s i z e();i l e n g t h;i+)C i t y R e c o r dr e c o r d2l i s t g e t(i);s q l a p p e n d(“(1 1 1);s q l a p p e n d(r e c o r d g e t G m t 0);s q l a p p e n d(t t,);s q l a p p e n d(r e c o r d g e t C o n t e n t O);s q l a p p e n d(”,);s q l a p p e n d(r167、 e c o r d g e t C a t e g o r y 2 0);s q l a p p e n d(,);s q i a p p e n d(r e c o r d g e t C a t e g o r y l 0);s q l a p p e n d(”,);s q l a p p e n d(r e c o r d g e t C o m m u n i t y 0);s q l a p p e n d(,);s q l a p p e n d(r e c o r d g e t S t r e e t 0);s q l a p p e n d(”,);s q l a p p168、 e n d(r e c o r d g e t R e g i o n O);s q l a p p e n d(,);s q l a p p e n d(r e c o r d g e t D e p a r t m e n t 0);s q l a p p e n d(,1,);s q l a p p e n d(r e c o r d g e t C r e a t o r 0);s q l 印p e n d(,);s q l a p p e n d(r e c o r d g e t C r e a t o r 0);s q l a p p e n d(”,n o w(),n o w169、()”);i f(i l e n g t h-1)s q l a p p e n d(”,”);)e l s e s q l a p p e n d(”;);)s p r i n g l 拘J d b c T e m p l a t e 接口,封装T J D B C I 拘基本操作c i t y J d b c T e m p l a t e e x e c u t e(s q l t o S t r i n g O);每1 0 0 0 条批量插入,一下子插入会内存溢出i f(i 1 0 0 0=0)c i t y R e c o r d A O i n s e r t B a t c h B170、 y J D B C(r e c o r d L i s t);5 3智慧城管信息分析系统r e c o r d L i s t=n e wA r r a y L i s t O;)最后把剩余的记录插入i f(r e c o r d L i s tf-n u l l&!r e c o r d L i s t i s E m p t y O)c i t y R e c o r d A O i n s e r t B a t c h B y J D B C(r e c o r d L i s t);)(2)数据分析模块的维度下拉列表因为后台有多个g r o u pb y,每个S Q L 都要去案卷171、表做一次S Q L 查询,导致数据分析模块的页面打开很慢。因为维度信息变更不大,所以就在i B a t i s 层面做了一个缓存,每2 4 小时更新一次缓存。缓存实现如下:s e l e c t$f i e l d$f r o mc i t yr e c o r d条件省略g r o u pb y$f i e l d$测试结果如表6 5 所示:表6 5 性能测试结果T a b 6 5T h er e s u l to f p e r f o r m a n c et e s t大连理工大学专业学位硕士学位论文6 3 测试结果及分析通过上述测试用例编写与运行,充分保证了系统的逻辑正确性,为后续功172、能完善以及代码的快速迭代奠定了一个扎实的基础,强有力地保障系统代码的高质量、低错误率。通过性能测试,找出了系统性能存在的瓶颈,使用户操作更加迅速、快捷,增加了用户对产品的粘度;同时在功能上,发现了部分的尚未完全开发到位的功能,促进了系统功能的完善。通过完成本次测试,笔者收益良多,总结了以下几点心得体会:(1)在设计测试用例时,一定要有确定的输入数据,并且还要有确定的预期输出结果。如果在程序执行前没有确定预期的测试结果,很可能因为测试人员的心理作用,把实际上是错误的结果当成正确的。(2)N 试用例的设计不仅要有合理的输入数据,还应有不合理的输入数据。因为在软件实际使用过程中肯定会发生输入错误的现173、象,所以程序测试时,也需要输入一些不合理的数据,来测试系统稳定性与容错性。(3)为精简程序,也为了程序运行速度更快,效率更高,除了检查程序做了应做的事情之外,还应对不应做的事进行检查。(4)澳l J 试完成后应保留全部测试用例。因为测试用例的设计工作量非常大,也相当耗时。如果以后程序改进需要重新测试时,将要再次进行测试工作。要是测试用例没有保存下来,不仅需要浪费人力、时间去重新设计,而且从测试员的角度也不愿重新设计测试用例,测试时也会相对较为马虎,往往不能很好的发现因程序修改而产生的错误。(5)集中对付那些容易出错发程序段,可以很好的提高测试效率。在实际检测过程中,往往有这样的规律,程序中存在174、错误的概率与在该段程序中已发现的错误成比例。智慧城管信息分析系统结论本系统充分发挥数字城管以及信息网络的作用,提供网络化的信息渠道,建成一个集数据录入、统计、分析、展示的系统平台,提高管理的效率,促进城市管理的信息化发展。针对传统数字城管重处置轻分析的情况,我们通过对城市管理中各项事务信息的数据整合,集中提供给城市管理决策者直观信息图表、预警设置功能、多发区域、多发路段分析,简化了统计分析过程,节省了人力和物力成本,对今后的城市管理决策的制定提供真实的实践依据。该系统操作相对简便,没有复杂的指令操作,用户界面友好,便于用户的快速浏览数据信息。在实际使用中,能够很好的为城市管理决策者提供充分、快175、捷、直观的信息分析服务,系统在方便性和实用性方面做了大量改进,希望尽可能完善、系统的建成一个为城市管理者们进行各种各样的信息分析以及决策的辅助平台,使各种城市管理行为更加有效的开展,从而推动地方各项事业的发展。经过近一年时间的设计以及写作,通过对系统的反复测试、修改,本论文己基本完成了智慧城管信息系统的大部分功能,达到了原本预期的目标,能够对数字城管数据进行统计并以图形化的形式直观的展现给用户,也实现了一部分数据分析功能,但就目前的功能来看,还不够完善,在数据深入挖掘以及数据分析方面还不够深入,部分功能还尚未很好的实现,需要进一步进行补充,另外智慧城管信息系统还需要对界面的美化以及人机互动等方176、面还需继续完善,实现技术方面进一步改进,系统稳定性方面继续提高。由于本人水平有限和时间的限制,这些不足之处都还未能彻底的解决,希望在以后的软件编写中逐步改进和提高。大连理工大学专业学位硕士学位论文参考文献 1 倪奕基于J B o s s 实现W e b 服务与通信业务整合 J 通信技术,2 0 1 1,4 4(1 2):1 2 1 1 2 4 2 迟美霞M y S Q L 数据库的安全机制分析与入侵检测开发 J 电脑知识与技术,2 0 1 2,8(4):7 4 5 7 4 8 3 王坤基于S p r i n gM V C 架构的信息系统的设计与实现 J 河北软件职业技术学院学报,2 0 0 9177、,1 5(2):3 1 3 3 4 徐立新,雷相波应用M a v e n 管理项目 J 电脑知识与技术,2 0 1 0,6(1 0):2 4 0 4 2 4 0 5 5 1 2 U 军戴金山基于S p r i n g M V C 与i B A T I S 的轻量级W e b 应用研究 J 计算机应用,2 0 0 6,2 6(4):8 4 0-8 4 3 6 吕毅,葛玮。郝克刚S p r i n g 轻量级J 2 E E 开发框架的研究 J 计算机技术与发展,2 0 0 6,1 6(1 2):2 0 8 2 1 1 7 蒋纬,马光思S p r i n g 与其他框架整合及流程分析 J 计算机工程178、,2 0 0 7,3 3(1 4):7 9 8 1 8 石丹,姚能俊基于w e b w o r k+S p r i n g+I b a t i s 的管理系统开发 J 武汉理工大学学报(信息与管理工程版),2 0 0 7,2 9(6):5 3-5 6 9 徐甜J a v a 平台及应用J a v a 技术的安全问题研究 J 微计算机信息,2 0 0 7,2 3(1 8):2 1 f i 一2 1 8 1 0 颜炯,王戟,陈火旺基于模型的软件测试综述 J 计算机科学,2 0 0 4,3 1(2):4 5 4 9 1 1 B K C h a k r a b a r t y U r b a n m 179、a n a g e m e n ta n do p t i m i z i n gu r b a nd e v e l o p m e n tm o d e l s J H a b i t a t I n t e r n a t i o n a l,1 9 9 8,2 2(4):5 0 3 5 2 2 1 2 陈春旭,余明兴,李建全。等数据库系统概论 岫上海:儒林出版社,1 9 8 6 1 3 B K C h a k r a b a r t y U r b a nW a n a g e m e n t J C i t i e s,2 0 0 1,1 8(5):3 3 1 3 4 5 1 4 郭180、瑜敏,李定主构建基于J B o s s 的W E B 应用 J 电脑开发与应用,2 0 0 5,1 8(9):2 7 2 8 1 5 庞家乐,王兴斌,胡成玉J A V A 编程常见问题若干例 J 武汉科技学院学报,2 0 0 4,1 7(4):5 86 0 1 6 陈平数字化城市管理模式探析 J 北京大学学报(哲学社会科学版),2 0 0 6,4 3(1):1 4 2 1 4 8 1 7 李江华,赵国辉J a v a 中文编码问题研究 J 软件导刊,2 0 0 9。8(3):4 9 5 0,1 8 仲艳玲,张遂征M y S Q L 网络数据库的安全问题及解决方法 J 铁路计算机应用,2 0 0181、 5,1 4(6):4 6 4 9 1 9 R o n a l d M c G i l l U r b a n m a n a g e m e n ti nd e v e l o p i n gc o u n t r i e s J C i t i e s,1 9 9 8,1 5(6):4 6 3 4 7 1 2 0 丁振凡J a v a 语言实用教程 M 北京:北京邮电大学出版社,2 0 1 2 2 1 王珊。萨师煊数据库系统概论(第四版)M 。北京:高等教育出版社。2 0 0 6 5 7智慧城管信息分析系统致谢通过差不多一年的刻苦写作,今日完成了这篇硕士论文撰写工作。在这段时间中,由于工作182、较为繁忙,曾经有一段时间想过放弃,但是还是坚持了下来。在写作过程中,有许多值得感悟的东西。首先要有严谨的做学问的态度,对文章要有精益求精的精神。其次做事情要有毅力,因为是在职硕士论文,所以撰写论文的时间较为零散,有时候很多天才能写一个章节,所以毅力非常重要。在这一年的论文撰写过程中,感谢许多人的帮助与指导,让自己的专业知识更扎实也更全面,尤其要感谢的是我的指导老师许真珍老师,您的督促与指导让我不仅提高了论文撰写能力,增长了自己的专业知识,提高了专业技能,还让我明白了做事、做工程、做学问的态度与方法。另外感谢企业指导老师周鹏程老师,在论文写作的过程给予的鼓励与帮助,让我能够有足够的毅力坚持写完。最后特别感谢各位专家和教授在百忙之中参与评阅论文和答辩!大连理工大学硕士学位论文大连理工大学学位论文版权使用授权书本人完全了解学校有关学位论文知识产权的规定,在校攻读学位期间论文工作的知识产权属于大连理工大学,允许论文被查阅和借阅。学校有权保留论文并向国家有关部门或机构送交论文的复印件和电子版,可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印、或扫描等复制手段保存和汇编本学位论文。学位论文题目:作者签名:导师签名:日期:2111 年旦月土Z 日日期:塑Z;年丝月L 日