分类号:TP311 单位代码:10422 密 级: 学 号:Z0943048006
硕士学位论文
警务信息综合系统的设计与实现
The Design and Implementation of the Police Information Integrated System
作 者 姓 名 范亚贤 专 业 软件工程 指导教师姓名 李庆忠
2010年 4月 10日
I
论文题目:
山东大学硕士学位论文
原创性声明和关于论文使用授权的说明
原 创 性 声 明
本人郑重声明:所呈交的学位论文,是本人在导师的指导下,进行研究所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的法律责任由本人承担。
论文作者签名: 日期:
关于学位论文使用授权的声明
本人完全了解山东大学有关保留、使用学位论文的规定,同意学校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存论文和汇编本学位论文。(保密论文在解密后应遵守此规定)
论文作者签名: 导师签名: 日期:
II
山东大学硕士学位论文
目 录
摘 要 ...........................................................................................................................I ABSTRACT .................................................................................................................. II 第1章 绪论 .................................................................................................................. 1
1.1 系统开发背景 ................................................................................................ 1
1.1.1 系统背景 ................................................................................................ 1 1.1.2 铁路警用系统现状 ................................................................................ 3 1.2 本文的主要工作 ............................................................................................ 3 1.3 本文的组织结构 ............................................................................................ 4 第2章 需求分析 .......................................................................................................... 5
2.1 总体业务概述 ................................................................................................ 5 2.2 主要目标 ........................................................................................................ 5 2.3 需求描述 ........................................................................................................ 6
2.3.1 功能需求描述 ........................................................................................ 6 2.3.2 非功能需求描述 .................................................................................. 18
第3章 系统设计 ........................................................................................................ 20
3.1 系统设计原则和目标 .................................................................................. 20
3.1.1 系统设计的原则 ................................................................................ 20 3.1.2 系统设计的目标 ................................................................................ 21 3.2 系统技术架构 .............................................................................................. 22 3.3 系统详细设计 .............................................................................................. 24
3.3.1 详细设计 .............................................................................................. 24 3.3.2 数据库设计 .......................................................................................... 36
第4章 系统的实现与测试 ........................................................................................ 43
4.1 系统开发环境 .............................................................................................. 43 4.2 系统实现 ...................................................................................................... 43
4.2.1 Web层的实现 ...................................................................................... 43 4.2.2 业务层的实现 ...................................................................................... 47
i
山东大学硕士学位论文
4.2.3 持久层的实现 ...................................................................................... 50 4.2.4 地理信息管理的实现 .......................................................................... 52 4.3 系统测试 ...................................................................................................... 54
4.3.1 测试原则 .............................................................................................. 54 4.3.2 测试方法 .............................................................................................. 55
第5章 总结与展望 .................................................................................................... 58 参考文献 ...................................................................................................................... 59 致谢 .............................................................................................................................. 60
ii
山东大学硕士学位论文
CONTENTS
Chinese abstract ..............................................................................................................I English abstract ............................................................................................................. II Chapter 1 Introduction ................................................................................................... 1
1.1 System development background ..................................................................... 1
1.1.1 Development background ....................................................................... 1 1.1.2 Current status of railway police system .................................................. 3 1.2 Main work of this paper .............................................................................. 3 1.3 Structure of this paper ................................................................................. 4 Chapter 2 Requirement analysis .................................................................................... 5
2.1 Overall business overview ............................................................................. 5 2.2 Main aim ........................................................................................................ 5 2.3 Requirement Description ............................................................................... 6
2.3.1 Functional Requirements Description ..................................................... 6 2.3.2 Non-functional Requirements Description ........................................... 18
Chapter 3 System design .............................................................................................. 20
3.1 The rule and aim of system design .............................................................. 20
3.1.1 The rule of system design .................................................................. 20 3.1.2 The aim of system design .................................................................. 21 3.2 System technical architecture ...................................................................... 22 3.3 System detailed design ................................................................................. 24
3.3.1 Detailed design ...................................................................................... 24 3.3.2 Database design .................................................................................... 36
Chapter 4 System implementation and testing ............................................................. 43
4.1 Development Environment .......................................................................... 43 4.2 System implementation ................................................................................ 43
iii
山东大学硕士学位论文
4.2.1 Web layer implementation .................................................................... 43 4.2.2 Business layer implementation ............................................................. 47 4.2.3 Data layer implementation .................................................................... 50 4.2.4 GIS implementation .............................................................................. 52 4.3 Test ............................................................................................................... 54
4.3.1 Test rule ................................................................................................. 54 4.3.2 Test way ................................................................................................ 55
Chapter 5 Summary and outlook ................................................................................. 58 Referrence .................................................................................................................... 59 Thanks .......................................................................................................................... 60
iv
山东大学硕士学位论文
摘 要
铁路由于工作地域广,机动性高,工作方式,造成应对突发事件不能及时接处警,案事件信息不能及时共享。为克服这个弊端,哈尔滨铁路需要开发本警务信息综合系统,以实现网上接处警和信息共享。
本文采用面向对象的思想,以统一建模语言(UML)为分析设计描述语言,对警务信息综合系统的相关业务进行了需求分析和系统设计。采用B/S架构和Struts2, Spring, Hibernate框架,最终将系统实现为接处警、案事件管理、人员管理、机构管理、表薄册管理、文书管理、地理信息管理、系统维护等子系统,其中地理信息管理子系统利用Portal技术整合铁路警用GIS实现。在安全方面,采用基于角色的权限管理,增强了系统运行的安全性。
在系统需求分析中,对系统的总体业务以及业务流程进行了详细说明,对九个模块的功能进行描述。从类结构设计、数据库设计等方面详细描述系统的设计,得到了系统中的设计类和数据库模型。
本系统正在试用阶段,功能和性能都满足用户的需要,提高了警务工作的效率,得到了用户的好评。
关键词:警务信息综合系统,铁路,案事件管理,接处警
I
山东大学硕士学位论文
ABSTRACT
As a result of vast territory, high mobility, work independently, Railway Police can not be timely response alarms when unexpected events occur and can not be timely sharing cases and events’ information. To overcome the drawbacks, Harbin Railway Public Security Bureau needs to develop the comprehensive system in order to achieve online alarming and information sharing.
In this paper, object-oriented thinking is used and the Unified Modeling Language (UML) as the description language is used to analysis and design this comprehensive police information system in the requirements analysis and system design. Using B/S structure and Struts2, Spring, Hibernate framework, we eventually realize as response alarm subsystem, event management subsystem, case management
subsystem,
personnel
management
subsystem,
institutional
management subsystem, registration form management subsystem, document management subsystem, geographic information management subsystem, system maintenance subsystem. Geographic information management system uses Portal technology to achieve integration of the railway police’s GIS. In terms of security, role-based rights management, enhances the security of the system in the run.
In the system requirements analysis, the system's overall operations, business processes and the nine modules’ function are described in detail. From the class structure design, database design, we get the design classes and database model.
This system is in a trial phase, functional and performance meet users’ needs , improves the efficiency of police work the users have a good opinion of it.
Key words: Police information integratation system, Railway police, Case and event management, Response alarm
II
山东大学硕士学位论文
第1章 绪论
1.1 系统开发背景
1.1.1 系统背景
随着计算机技术的发展,特别是网络技术的飞速发展,人们可以通过网络快速、方便、准确的获得各种信息,当前世界己经进入信息化时代,信息技术成为了目前发展最迅速的技术之一,是当前社会发展的重要的动力。
对于铁路行业来说,没有信息化就没有铁路的现代化。虽然中国铁路的运营里程仅占世界铁路的6%,但是完成了世界铁路总运量的22%。中国铁路能有这样的作为,信息化功不可没。过去,由于设备、技术落后,运营管理沿袭传统的方式,作业效率低,“大动脉”长期处于超负荷状态,运营管理主要靠手工来完成,对浩繁的信息处理、瞬间的动态变化和各种随机因素的调整全靠人脑掌握控制,致使各级管理人员和工作人员过分地消耗脑力和体力,造成交通运输工作经常处于被动状态,严重地影响了交通运输经济的发展。铁路运输过程要求保证物畅其流,有序流动,并根据铁路运输系统的技术规范、经济规律进行计划、编组和控制。由于我国铁路运输系统具有广域性、分散性、连续性、管理集中性和实时性等特点,因此铁路运输的生产能力、安全和效率在很大程度上取决于信息资源的获取、及时处理、利用,只有信息的正确、完整、及时的传递,即只有实现了铁路信息化,铁路运输系统的协调、高效和安全才能得到保证。在铁路生产经营的各项组织活动中,改造传统产业,提高铁路运输生产效率与市场竞争能力,在统一规划及有序组织下,在营运和管理的各个方面,充分应用国内外先进的信息技术与网络资源,深入开发、广泛利用各种信息资源,逐步实现铁路市场经营、运输生产、社会服务、运行维护、管理决策等方面的现代化[1]。
近年来,铁路信息化建设和应用取得较大成绩,为铁路改革与发展作出了积极贡献,在主要系统工程建设方面取得了重大突破。运输管理信息系统(TMIS)取得较大进展。铁路货运微机制票率达99%;各级月度货运计划及日常货运计
1
山东大学硕士学位论文
划的提报、审批均由计算机系统完成;车站综合管理信息系统取得进展。客票发售和预订系统(PMIS)已经建成。有1000多个车站, 8000多个窗口实现了计算机售票,计算机系统的售票量已占铁路总售票量的97%以上,售票收入达到98%以上;建成了铁路客票中心及18个地区中心的联网售票系统,各铁路局实现了多个地区中心间的联网异地售票。铁路直通列车“全程席位复用”的实行,提高了车票使用率,实现列车席位在铁路各车站间的共享。运输调度指挥管理系统(DMIS)工程已基本建成。一是铁道部调度指挥中心实现大屏宏观显示,调度技术资料库查询子系统、铁路气象预报信息管理系统和京沪、京广、京哈、京九线以及主要分界口基层信息入网联调,二是铁路局调度指挥中心完成了设备安装、软件编制和基层信息入网联调,基层信息网工程全部完成。建成了以铁道部至各铁路局高效、快捷的综合业务调度通讯网[2]。
随着我国铁路客运和货运需求的迅猛增长,人们将对现有和新建铁路的运力提出更高的要求。2008年11月,我国宣布经济刺激方案,其中铁路建设占重要地位,同时,2009年是深入推进大规模铁路建设,完成铁路“十一五”规划目标的关键一年。因此,伴随着新线建设的大规模进行,铁路信息化建设也将全面铺开。2009年6月,IBM在北京成立了全球铁路创新中心,这个创新中心不是IBM在中国的一个普通创新中心,而是IBM全球的铁路创新中心。在IBM公司总部的支持下,该创新中心不仅汇集前瞻性的信息技术知识,还包括美国、欧洲铁路建设方面的专业经验[3]。
安全问题是铁路系统的关键问题,铁路担负着维护铁路安全的重要职责,在当前信息化和铁路信息化如火如荼发展的时期,铁路信息化也快速发展,全国13个铁路局也组建了自己的铁路警用系统。这些系统的应用,提离了警务工作的效率,缓解警力不足的矛盾;能够充分发挥整体作战优势,提高战斗力;及时、准确全面获取和处理外部信息,提高了铁路决策和管理水平,促进了铁路决策和管理的科学化;开放网络信息渠道,能够大大提高服务质量,方便群众;实现网上流水作业,减少人为干扰,增加透明度,规范工作程序;能够促进干警素质的提高[4]。
2
山东大学硕士学位论文
1.1.2 铁路警用系统现状
国内的铁路警用系统研究比较晚,但是为了适应当前接警、案事件处理等工作的需要,许多铁路都展开了对铁路信息综合系统的研究,同时,也在准备努力构建自己的信息综合系统。由于各个铁路局鉴于现有的制约及各地经济发展严重不平衡状态,信息、社会信息的建设很不平衡,形成了各自为战的情况,每个铁路、每个具体部门甚至都投入了相当大的人力、物力,分别研究和开发各自的计算机信息库。从某种意义上讲,在某一局部,形成了信息网络。
据调查,哈尔滨铁路现有铁路警用GIS 和协调办公系统,北京铁路现有铁路警用GIS、协调办公系统、派出所指挥调度系统等;上海铁路局现有铁路警用GIS、车站监控系统、派出所指挥调度系统等;其他13个也有不同的铁路警用系统。各个铁路的系统都是开发的,国内铁路警用系统产品有北京峰华科技有限公司开发的警务综合系统、江西科泰华科技有限公司开发的网上执法办案系统、北京蓝卡软件技术有限公司开发的铁路巡检管理系统、四川浩特通信有限公司开发的铁路应急指挥调度系统等几十种系统,产品风格各异,没有实现信息的共享。
[5]
1.2 本文的主要工作
本文所研究的警务信息综合系统,实现了接处警、案事件管理、人员管理、机构管理、表薄册管理、文书管理、地理信息管理等功能。该系统的开发和实现采用了面向对象的方法,利用Oracle 10g关系数据库实现相关数据的统一存储,并基于Struts2、Spring、Hibernate框架开发了综合平台。在针对整个系统的构建和功能完善过程中,本人参与了如下工作:
1. 在需求分析和设计阶段,协助接处警、案事件管理、人员管理、机构管理、表薄册管理、文书管理模块的需求分析,采用Rational Rose 2003 进行UML建模辅助设计。
2. 在实现阶段,编写了案件管理模块和表薄册管理模块部分登记表的代码,采用Portal 技术把哈铁的警用GIS整合到本系统,实现了单点登
3
山东大学硕士学位论文
录;采用POI技术实现Java 操作Excel文档,实现数据的导出和文档数据读入系统。
1.3 本文的组织结构
本文共分为五个章节:
第l章为绪论,介绍系统开发的背景、现在铁路警用系统的现状、本文的主要工作和组织结构。
第2章为软件的需求分析。在本章对软件开发的具体需求进行比较详细的分析。结合铁路的工作特点,详细分析各功能模块的功能,为系统的设计和实现打下良好的基础。
第3章为系统的设计。通过对系统的需求分析,我们知道了本系统应该具有的功能。本系统采用B/S架构,从整体到局部把系统的功能模块化,分析了实体类的定义方法,构建合适的数据表。
第4章为系统具体功能的实现和测试。主要结合相关开发环境及具体实现方案描述关键功能的实现。最后对各功能模块的测试及早发现可能存在问题并及时调整。
第5章为总结和展望。
4
山东大学硕士学位论文
第2章 需求分析
2.1 总体业务概述
本系统的使用对象是哈尔滨铁路,它下设7个铁路处:哈尔滨铁路处、齐齐哈尔铁路处、牡丹江铁路处、佳木斯铁路处、海拉尔铁路处、满洲里铁路处、绥芬河铁路处,辖区铁路沿线总长度达12518公里,车站595个,共有民警近7000人。哈铁民警主要负责哈尔滨铁路局所辖区域的安全工作和本局担当旅客列车上的治安管理、以制止犯罪分子在列车上危害人民群众的生命与财产安全[6,7]。哈尔滨铁路现有铁路警用GIS、协同办公系统。
警务信息综合系统用来实现接处警、案事件管理、人员管理、机构管理、表薄册管理、文书管理、地理信息管理、系统维护等功能,其中地理信息管理通过与铁路警用GIS集成实现。
2.2 主要目标
系统应达到以下目标:
1. 系统功能齐全。能够完成接处警、案事件管理、人员管理、机构管理、表薄册管理、文书管理、地理信息管理、系统维护等功能。其中接处警要求系统具有高可靠性,确保系统的稳定运行。
2. 系统应具有易操作性。由于铁路登记人员对基于计算机的应用和信息系统掌握程度不同,因此,要求对系统的操作具有简洁、方便、实用等特点,以便于用户掌握。
3. 系统应具有可兼容性。兼容性是指系统保留和其它相应系统连接的接口,便于用户对其进行更高级的开发和维护以及更新换代。兼容性越强,系统可持续性越强,投入和运行成本也就越低。
4. 系统应具有安全性。安全性控制功能成为办公自动化系统得以投入使用的先决条件。机关办公自动化的安全性控制要求一般包括防止非法用户侵入、
5
山东大学硕士学位论文
权限控制、存储和传输加密,以及电子签名。这些手段必须足够强大,难以被攻破,而且也必须足够灵活,方便使用者掌握和利用。高等级的安全性是一个系统必备的需要,尤其是指挥部门,其涉及的数据等级性高、数据量大,为防止数据丢失或系统被攻击,系统应具有高等级的安全性[8]。
5. 实用性强。系统要能与领导以及下属各部门(处、车站派出所)工作实际需求贴切,满足领导指挥决策及各部门日常工作要求,使各部门的工作人员在工作权限(部门授权与个人授权)范围内可以及时,方便、准确地采集、处理、查阅和汇总内部的各种信息资料,实现信息的高度共享与统一。
2.3 需求描述
2.3.1 功能需求描述
本系统采用用例驱动的分析方法进行需求分析。用例模型描述的是外部参与者所理解的系统功能。用例模型用于需求分析阶段,它的建立是系统开发者和用户反复讨论的结果,表明了开发者和用户对需求规格定义达成的共识。首先它描述了待开发系统的功能需求;其次,它将系统看作黑盒,从外部参与者的角度来理解系统;另外它驱动了需求分析之后各阶段的开发工作,不仅在开发过程中保证了系统所有功能的实现,而且被用于验证和检测所开发系统是否满足系统需求,从而影响到开发工作的各个阶段和UML的各个模型。在UML中,一个用例模型由若干个用例图描述,用例图的主要元素是用例和参与者[9]。
通过分析,可以确定系统的参与者是系统管理员。系统管理员负责接处警、案事件管理、统计分析、人员管理、机构管理、地理信息管理等职责。系统用例图如下:
6
山东大学硕士学位论文
图2-1 系统用例图
进一步分析可分为如下子系统:接处警、案件管理、事件管理、人员管理、机构管理、表薄册管理、文书管理、地理信息管理、系统维护。子系统图如下:
图2-2 系统子系统图
下面分别介绍各个子系统的需求: 1. 接处警
本子系统用来处理接处警用例,实现网上接警、处警。接处警用例可以描述为:
7
山东大学硕士学位论文
范围:接处警 级别:子功能 主要参与者:接案民警、分发民警、承办民警 涉众及其关注点: - 报案人:希望把看到或遇到的情况告诉铁路民警。 - 接案民警:希望把报案人反映的情况根据执法办案的规定确定是否分发,如果分发应指定分发民警。 - 分发民警:希望把接案民警上报的情况根据分发规定确定是否承办,如果承办应指定承办民警。 - 承办民警:希望登记案件的详细信息,并按照执法办案的流程办理案件或事件。 前置条件:接案民警、分发民警、承办民警都已登录系统,接案民警接到报案。 后置条件:进入案事件处理环节或不予处理。 基本流程: 1. 接案民警接到报案时,登记接警信息和接警处理情况。 2. 若接警处理情况中的受理意见为“不予处理”,则用来结束,否则指定分发民警。 3. 分发民警登录系统后,看到该代办信息,填写承办意见,若承办结果为“不予处理”,则用例结束,否则指定承办民警。 4. 承办民警登录系统,看到代办信息,然后登记案件详细信息并办理案件。 扩展: 8
山东大学硕士学位论文
a. 当接警民警发现警情时,可以自己分发。 可以用活动出描述这个过程,活动图(Activity Diagram)是UML的5种动态建模机制之一,它阐明了业务用例是实现的工作流程,用来描述动作和动作导致对象状态的改变结果[10]。
接处警的活动图如下:
图2-3 接处警活动图
可以用顺序图描述接处警子系统中各个对象按照时间顺序的交互过程。予以受理的接处警顺序图如下:
9
山东大学硕士学位论文
图2-4 予以受理的接处警顺序图
2. 案件管理
本子系统用来处理案件管理用例,实现添加、修改、删除、查询案件信息和案件的统计分析。案件可以划分为:刑事案件、危车案件、货盗案件。案件信息包括案件基本信息、专有信息和涉案人信息。涉案人分为报案人、受害人、嫌疑人、在控对象、在逃人员、抓获人员、无名尸体,涉案人的信息也包含基本信息和专有信息。案件管理用例可以描述为:
范围:案件管理 级别:子功能 主要参与者:系统管理员 涉众及其关注点: 10
山东大学硕士学位论文
- 系统管理员:希望实现添加、修改、删除、查询案件信息和案件的统计分析。 前置条件:管理员已经登录系统。 后置条件:如果用例成功,案件信息被添加到系统中,或被查询出来,或从系统中删除,或被修改,否则,系统状态没有变化。 基本流程:系统要求管理员选择所要执行的活动(添加信息、查询信息、删除信息、修改信息、统计分析)。 如果选择的活动是“添加信息”,则执行分支流S-1:添加信息。 如果选择的活动是“查询信息”,则执行分支流S-2:查询信息。 如果选择的活动是“删除信息”,则执行分支流S-3:删除信息。 如果选择的活动是“修改信息”,则执行分支流S-4:修改信息。 如果选择的活动是“统计分析”,则执行分支流S-5:统计分析。 S-1:添加信息 1. 系统要求管理员选择案件类型:刑事案件、货盗案件或危车案件,再添加案件基本信息、专有信息和涉案人信息。 2. 管理员输入所要求信息后提交。 3. 系统验证数据的有效性,符合条件则将需求信息存储到数据库中。否则提示数据输入不满足系统要求,重新输入,转回步骤2。 S-2:查询信息 1. 系统提示管理员选择查询条件。 2. 管理员输入所要求信息后提交。 3. 系统检索案件信息。 11
山东大学硕士学位论文
4. 如果存在记录,显示案件信息,否则提示不存在案件,转回步骤1。 S-3:删除信息 1. 系统提示管理员输入案件编号或案件名称。 2. 管理员输入所要求信息后提交。 3. 系统检索案件信息。 4. 如果存在记录,显示案件信息,否则提示不存在案件,转回步骤1。 5. 管理员确认删除。 6. 从系统中删除该案件信息。 S-4:修改信息 1. 系统提示管理员输入案件编号或案件名称。 2. 管理员输入所要求信息后提交。 3. 系统检索案件信息。 4. 如果存在记录,显示案件信息,否则提示不存在案件,转回步骤1。 5. 管理员修改该重点人员信息。 6. 修改该重点人员信息后提交。 7. 系统更新该重点人员信息。 S-5:统计分析 1. 系统提示管理员选择统计分析条件:时间段、发案线路、登记单位等。 2. 管理员输入所要求信息后提交。 3. 系统检索案件信息,返回符合条件的案件数目。 4. 导出到Excel。 12
山东大学硕士学位论文
扩展:无 添加案件信息的活动图如下:
图2-5 添加案件信息活动图
查询案件信息的活动图如下:
图2-6 查询案件信息活动图
删除案件信息的活动图如下:
13
山东大学硕士学位论文
图2-7 删除案件信息活动图
修改案件信息的活动图如下:
14
山东大学硕士学位论文
图2-8 修改案件信息活动图
案件统计分析的活动图如下:
15
山东大学硕士学位论文
图2-9 案件统计分析活动图
3. 事件管理
本子系统用来处理事件管理用例,实现添加、修改、删除、查询事件信息和事件统计分析。事件可以划分为:治安事件、灾害事件。事件信息包括事件基本信息、专有信息和事件相关人。事件相关人分为报案人、受害人、嫌疑人,事件相关人的信息也包含基本信息和专有信息。事件管理用例的描述类似案件管理,所以不做详细介绍。
4. 人员管理
本系统涉及的人员分为涉案人和重点人员,本子系统用来处理人员管理用例,实现添加、修改、删除、查询涉案人基本信息和重点人员信息。重点人员包括机动车驾驶员、涉爆人员、五残人员、其他重点人员,其他重点人员又分为拾荒人员、社会闲散人员、宗教信仰人员等。人员信息包括基本信息和专有信息。基本信息指的是证件类别、证件号、姓名、出生日期、性别、文化程度、婚姻状况、专长、户籍地址、住址、工作单位、联系方式、体貌特征、社会关系等信息。人员管理用例的描述类似案件管理,所以不做详细介绍
5. 机构管理
本子系统用来处理机构管理用例,实现添加、修改、删除、查询机构信息。
16
山东大学硕士学位论文
机构分为:特种行业、危险品相关单位/企业、机关、企事业单位、社会团体、非法组织、个体工商户、小烘炉等。机构信息包括基本信息和专有信息。机构管理用例的描述类似案件管理,所以也不做详细介绍。
6. 表薄册管理
本子系统用来处理表薄册管理用例,实现添加、修改、删除、查询表薄册信息。表薄册包括:抓获人员登记表、违法犯罪人员登记表、民警好人好事登记表、刑事案件登记表等多个登记表,这些登记表格式和填写规范都遵照相关文件要求。机构管理用例的描述类似案件管理,所以也不做详细介绍。
7. 文书管理
本子系统用来处理文书管理用例,实现办案环节中所需文书模板的维护,动态显示当前办案环节应该出具的文书,文书分为立案、管辖、回避类、律师参与诉讼类、强制措施类、调查取证类、看守执行类等。
8. 地理信息管理
本子系统用来处理地理信息管理用例,实现在地图上显示机构、桥梁、涵洞、道口、隧道和闭塞信号系统位等位置。该子系统的实现需整合哈尔滨铁路的铁路警用GIS,该系统是2003年基于microsoft C# 开发的B/S架构的,实现了增加、删除、修改和在地图上显示机构、桥梁、涵洞、道口、隧道和闭塞信号系统位等信息,本用例需要实现单点登录,也就是当用户同时访问多个不同类型的应用系统时,他们只需要提供自身的用户凭证一次,就可以在各种应用系统中使用与用户身份权限相符合的数据信息。
9.系统维护
本子系统用来处理用户管理用例,实现用户组管理、权限管理、个人设置。根据权限分为超级管理员和管理员。超级管理员可以管理用户组、分配权限、设置栏目子系统等。管理员只能更改个人设置。用户看到的页面和他的权限相关,权限的顺序图如下:
17
山东大学硕士学位论文
图2-10 权限顺序图
2.3.2 非功能需求描述
警务信息综合系统除了要给用户提供友好、易用的操作界面外,还要保证系统能够长期、稳定、安全、高效的运行。另外,根据铁路自身工作的特点还需要满足一些其他需求:
高性能:系统应能满足用户访问系统的性能,保证提供一致的、可预测的响应。
高稳定性:保证系统能够正常运作。系统应能够7×24小时连续不断稳定工作。软件版本升级或改进应在不影响业务的情况下进行,保证系统可以稳定、平滑过渡。
18
山东大学硕士学位论文
高可靠性:系统应能保证当某个节点的应用访问失效时,另外节点可以对失效节点的应用进行恢复。可以实现应用的无缝切换。
安全性需求:系统应保证信息的安全性,即保证此系统中的信息能够安全存储,并有良好的数据备份和快速恢复方案。采用严格的安全体系,保证数据在处理和传输全过程的安全性。要保证系统能够正常运行,不被攻击破坏。保证系统中的信息不被非授权访问,按组织结构划分操作人员的操作权限。且各种使用权限所能调用的应用软件子系统可按要求自由组合,由系统管理员统一配置。
19
山东大学硕士学位论文
第3章 系统设计
3.1 系统设计原则和目标
3.1.1 系统设计的原则
本系统作为一个信息管理系统,必须遵循软件工程设计的基本原则[11]: 1. 一致性原则
一致性原则主要表现在,一是系统内部各个子系统的开发思路和维护手段相一致,能够达到相互整合;二是与当前存在的其它的系统相一致,现有系统有统一的标准协议,能够达到相互兼容。
2. 先进性原则
系统的建设应充分考虑采用先进而成熟的技术、先进的体系结构、先进的软硬件配置,既能保证成熟可用,又能够适应未来的业务发展和技术更新的要求,不至于建成之时就是落后之日。
3. 完备性原则
系统的设计思路,开发内容,功能应用等,必须进行详尽的考虑,并能有效结合时代发展,以确保系统的完整、完善和完美。
4. 实用性原则
实用性是衡量软件体系中最重要的指标,是否与业务结合的紧密、是否具有严格的业务针对性是系统成败的关键因素。系统的实用性主要体现在两个方面:一是系统的功能必须能够满足用户的基本需求;二是系统应具有可视性、简洁性、易操作性等。本系统要求能充分贴近实战、贴近基层。
5. 扩充性原则
系统的信息录入、属性查询以及数据库的维护与管理应可以方便的进行扩充,对外提供标准的接口,能够方便地对系统进一步开发和完善,使系统具有可持续维护和扩展能力。
6. 安全可靠性原则
警用案事件信息平台规模大、结构复杂,使用效率高,对数据的保密性、
20
山东大学硕士学位论文
完整性要求严格,因此在建设时必须保证建成系统运行稳定,可靠,具有较高的安全级别。使用局域网的办公自动化系统,信息的交换只是发生在一些特殊的区域,但考虑到系统的可扩充性,而往往留有被分结点,任何人都可通过任何一个可扩充结点非法进网。此外,网络经常使用广播技术,信息沿着整个发送,这样任何人都可以在隐蔽的访问点上进行接收。使用代理服务器能保护上网用户的IP地址,从而保障上网安全,因此,在接入外部Internet时,使用代理服务器的方法,拒绝不使用代理服务器的用户进入局域网。 3.1.2 系统设计的目标
为满足各个铁路处和基层派出所的需要。支持多种硬件平台,采用通用软件开发平台开发,具备良好的可移植性。采用标准开放接口,支持与其它系统的数据交换和共享。。
标准化要求:所有开发工具和系统开发平台应符合铁道部和相关技术规范和要求。
参数化要求:实现完全模块化设计,支持参数化配置,支持组件及组件的动态加载。
容错性要求:提供有效的有效性检测手段,具备数据错误记录和错误预警能力;具备较高的容错能力。
安全性要求:用户认证、授权和访问控制,支持数据和数据传输通道加密。发生安全事件时,能以事件触发的方式通知系统管理员处理。
可靠性要求:能够连续7×24小时不间断工作,出现故障应能及时告警,具备自动或手动恢复措施,自动恢复时间小于15分钟,手工恢复时间小于12分钟,以便在发生错误时能够快速地恢复正常运行。
兼容性要求:满足向下兼容的要求,软件版本易于升级,模块的维护和更新不应影响其他模块的运行。
可移植要求:能运行在不同的平台上。
易用性要求:具有良好的简体中文操作界面、详细的帮助信息,系统参数的维护与管理通过操作界面完成。支持与其他系统的集成,支持在监控系统中实时对系统硬件、软件和应用软件进行全面、及时、准确的监控和管理。系统
21
山东大学硕士学位论文
接口采用开放接口标准,支持故障分级告警,任务调度,日志管理。
3.2 系统技术架构
由于警务信息综合系统的多用户、可移植、安全性、用户分散等要求,系统的实现采用应用广泛的基于Struts2, Spring, Hibernate 框架的B/S 结构,并且使用目前主流的技术相对成熟稳定的MVC架构。
Struts 2框架整合了Struts 1.X框架和WebWork框架的优点。Struts2的最大特点就是其简单性,引入OGNL表达式和值栈的概念,可以使开发者使用简单的代码实现复杂的数据访问;Action只是普通的Java类(POJO),给模块测试工作带来了极大的方便。Struts 2取消了ActionForm,降低了框架组件之间的耦合性,提供了强大的整合能力,支持多种返回结果类型和Ajax技术,给开发者带来了更好的体验。
Spring是一个服务于所有层面的应用框架,提供了Bean的配置基础、AOP的支持、JDBC抽象框架、抽象事务支持等等。它有一个非常显著的特点:在某个层面上如果开发者不需要Spring的支持,就可以不使用Spring提供的类,它允许开发者在任何方面选择最合适的解决方案,而不是强制开发者接受Spring提供的全套服务。从设计理念上来讲,Spring帮助实现了真正的逻辑层和web层的分离。它是为解决企业应用开发的复杂性而创建的,Spring使用基本的JavaBeans来完成以前只可能由EJB完成的事情。Spring的主要设计目标是可重用性、易测试性、简单性以及松耦合性。
Hibernate是一个开源的持久层框架,通过映射关系来协调持久对象与关系数据库的交互,使开发者可以专注于业务层的开发。而且,它能与大多数应用简单集成,不需要修改太多的代码,也是EJB中CMP的一种替代方案。Hibernate主要工作是把持久化的类通过xml映射文件映射到数据关系表中。从而通过对类对象的操作间接的操作关系数据库。POJO类似于javabean,通过get()和set()方法进行访问。用POJO的实例与数据库表中的记录相对应,以实现数据的持久化。数据库表间的关系可以通过对象的引用来实现。POJO是可串行化的java对象,当客户端有请求的时候,该POJO可以构造对象,用服务性属性值填充,并将其传递给持久层,作为数据层向数据源提取数据的条件。
22
山东大学硕士学位论文
同时,提取数据后,用结果集填充POJO并将其传递给业务。Hibernate映射也提供一对多或者多对一的映射方式。除了映射文件之外,还需要配置Hibernate的属性和数据源[12]。
将这三个框架整合起来有以下优点:第一、采用这个集成架构开发出来的信息系统无论是在整体架构上还是在局部的复杂业务模型中都有了更低的耦合性,它们的灵活性与可维护性也得到了提高。第二、所有逻辑都驻留在处于中心的javabean内,这样一来,如果要更新代码,只需要处理这些中心文件而无需修正调用这些代码的其他页面。第三、应用程序逻辑和代码分离,定义应用程序逻辑,主要是通过配置文件的形式,而不是写在代码之中。这样当需求发生变化时,主要修改程序逻辑,可以不要对代码进行较大的修改。第四、系统对于应用服务器和数据库都具备良好的可移植性,可在需要的时候进行升级。
集成三种框架的具体做法是:用面向对象的分析方法根据需求来提出一个模型,将这些模型采用Java语言实现出基本的Java对象,然后写出基本的DAO接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,然后由Spring来完成业务逻辑。
通过组合,我们可以看到:Web层的实现利用了Struts2框架成熟的标签库;业务逻辑层的实现得益于Spring框架同StrutS框架的完美结合,并且发挥了SPring在事务管理和依赖注射方面的独到之处;在数据持久层方面则通过采用Hibernate实现了O/R Mapping。对象,当客户端有请求的时候,该POJO可以构造对象,用服务性属性值填充,并将其传递给持久层,作为数据层向数据源提取数据的条件。同时,提取数据后,用结果集填充POJO并将其传递给业务。Hibernate映射也提供一对多或者多对一的映射方式。除了映射文件之外,还需要配置Hibernate的属性和数据源[13]。
系统技术图如下:
23
山东大学硕士学位论文
图3-1 系统技术结构图
3.3 系统详细设计
3.3.1 详细设计
1.接处警
接处警模块实现了实时接警、处警。根据需求分析接处警用例的描述,该用例的对象图可以表示成:
图3-2 接处警用例对象图
其中类Reporter, Admin, ReportNote, HandleNote, Case分别是报案人,管理员,接警信息,承办信息,案件信息。它们的类图分别是:
24
山东大学硕士学位论文
图3-3 报案人、管理员、接警信息、承办信息、案件信息类图
报案人有以下属性:姓名、性别、出生日期、地址、工作单位、电话,方法有报告情况;管理员有以下属性:姓名、警号、权限,方法有:指定分发民警、指定承办民警、填写接警情况、填写承办情况、填写案件信息;接警信息有以下属性:种类、来源、时间、受理方式、案件详情、受理意见,方法有上报;承办信息有如下属性:受理方式、受理结果,方法有承办。案件信息如下属性:案件名称、案件种类等信息。
操作类类图如下:
图3-4 接处警操作类图
2. 人员管理
由前述分析,本模块实现基本信息和重点人员信息管理,由于五残人员信
25
山东大学硕士学位论文
息管理、涉爆人员信息管理和机动车驾驶员信息管理功能相似,本部分仅就五残人员操作给出详细设计。
由于系统涉及的人员信息都包括基本信息和专有信息,所以采用工厂模式设计,工厂模式定义了一个用于创建对象的接口,让子类决定实例化哪个类,工厂方法使一个类的实例化延迟到子类。当系统准备为用户提供某个类的子类实例,又不想让用户代码和该子类形成耦合时,就可以用工厂模式设计系统。工厂模式的关键是在一个接口或抽象类中定义一个抽象方法,该方法返回每个类的子类实例,该抽象类或接口让其子类或实现该接口的类通过重写这个方法返回某个子类的实例。工厂模式的结构包括四个角色:抽象产品、具体产品、构造者、具体构造者[14]。人员类图如下:
图3-5 人员类图
图中Person类的子类由左到右分别是:五残人员、机动车驾驶员、涉爆人员、涉案人(案件相关人员)。涉案人的子类由左到右分别是:报案人、受害人、刑嫌人员、在控人员、在逃人员、抓获人员、无名尸体。
五残人员的类图如下:
26
山东大学硕士学位论文
图3-6 五残人员类图
图中只写出了人基本类和五残人的部分属性,这两个类都是POJO类,有所含属性的get() 和set() 方法。
由于本系统采用基于Struts2 + Spring + Hibernate框架的MVC架构,可以采用Java语言实现出基本的Java对象,然后写出基本的DAO接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,然后由Spring来完成业务逻辑。这样保证了数据库操作和业务逻辑操作的性。
五残人员操作的类图如下:
图3-7 五残人员操作类图
27
山东大学硕士学位论文
其中在接口IBaseDao中定义了对数据库操作的泛化方法,在接口IDisabledDao中定义了对五残人员信息增加、查询、删除、修改方法。DisabledDaoImpl实现了这些方法。在接口IBaseService中定义了业务操作的泛化方法,在接口IDisabledService 中定义了对五残人员信息的业务操作方法,在类DisabledServiceImpl中实现这些方法,其中对数据库的操作调用DisabledDaoImpl中的方法。类DisabledAction是对具体五残人员信息的操作。
3. 案件管理
由于案件信息包括案件基本信息、专有信息、涉案人信息。其中基本信息包括:基本登记信息、作案手段(规律)特点、案情描述、破销结案登记、现场痕迹物证、涉案物品等。涉案人包括:报案人、受害人、嫌疑人、在控对象、在逃人员、抓获人员、无名尸体。由于涉案人都与案件有联系,涉案人信息关联到案件基本信息,所以基于上述情况,案件实体类由案件基本信息(由案件ID区分),专有信息组成。此处给出货盗案件的详细设计。
货盗案件的类图如下:
图3-8 货盗案件类图
28
山东大学硕士学位论文
AddCase, Amanuensis, Article, MaterialEvidence, Mark 分别表示带破案件类、文书、涉案物品、物证、痕迹,都是案件关联类,案件类的对象作为这些类的属性。
与五残人员操作类图相似,货盗案件操作类图如下:
图3-9 货盗案件操作类图
其中在ISeizedGoodsDao中定义了对货盗案件信息增加、查询、删除、修改方法。SeizedGoodsDaoImpl实现了这些方法。在接口ISeizedGoodsService 中定义了对货盗案件信息的业务操作方法,在类SeizedGoodsServiceImpl中实现这些方法,其中对数据库的操作调用SeizedGoodsDaoImpl中的方法。类SeizedGoodsAction是对具体货盗案件信息的操作。
4. 事件管理
事件的类结构和操作与案件相似,故不做详细介绍。 5. 机构管理
机构信息包括机构基本信息、特种行业信息、联系方式、机构负责人信息
29
山东大学硕士学位论文
和机构人员信息,机构的类图如下:
图3-10 机构类图
Manager, Employee, Contact 分别表示机构负责人信息、机构人员信息和机构联系方式。
机构操作类图如下:
图3-11 机构类操作类图
30
山东大学硕士学位论文
其中在IOraganizationDao中定义了对机构信息增加、查询、删除、修改方法。OraganizationDaoImpl实现了这些方法。在接口IOraganizationService 中定义了对机构信息的业务操作方法,在类OraganizationServiceImpl中实现这些方法,其中对数据库的操作调用OraganizationDaoImpl中的方法。类OraganizationAction是对机构信息的操作。
6. 表薄册管理
表薄册管理都是把登记表的信息存入系统,表薄册的POJO类都和其它表没有关联,实现的操作与人员类似,故不做详细介绍。
7. 文书管理
由于文书都有固定的格式,也就是有模板,把文书模板放到指定路径下,添加文书时再加载模板,文书的实体类如下:
图3-12 文书实体类图
8. 地理信息管理
面向服务架构(SOA)可以实现了不同框架系统间的交互。Portal 技术是SOA的一种技术,实现了界面间不同平台系统的整合。门户是基于Web的应用,它为用户访问多个应用和各种信息资源提供单一的入口和统一的界面。门户具有个性化界面定制、内容聚合、单点登陆、多设备支持等特点。门户的体系结构如图下所示:
31
山东大学硕士学位论文
图3-13 门户的系统结构图
Portlet是基于Java技术的Web组件,被门户用作可插拔的用户界面组件,专门处理客户的请求以及产生各种动态的信息内容。这些由Portlet产生的内容也被称为片段,片段是由一些规则的标记语言(HTML、XHTML、WML)组成的,而且可以和其它的片段组合成一个复杂的文件。而Portlet的生命周期是由Portlet容器所管理控制的。Portlet容器为Portlet提供运行环境,生命周期管理和持久性存储的支持。Portlet容器接收到来自Portal服务器的请求后,接着将这个请求传递给容器中的Portlet执行。Portlet容器没有义务去组合Portlet产生的信息內容,这个工作由Portal服务器来处理。Portal服务器是运行于Servlet引擎之上的web应用,它接受客户端请求,然后调用Portlet容器相应接口去处理,最后把容器返回的结果进行页面组装返回给用户。
由于各厂商根据自己的标准开发门户组件接口,使得这些接口间互不兼容,给应用供应商,门户用户,Portal服务器供应商之间的产品互用和协作带来困难。为此JCP(Javacommunity process)发布了JSR168规范,定义了整合不同数据源和应用的API,同时提供了Portal服务器和Portlet之间的互操作性标准。其主要内容是对Portlet容器和整合底层应用的Portlet API作出了定义。Portlet 模型如下所示:
32
山东大学硕士学位论文
图3-14 portle容器模型图
在Portlet容器中包括3个模块。生命周期管理模块负责控制Portlet的加载、实例化、初始化、请求处理直到卸载的整个运行过程。运行时管理模块为Portlet运行阶段提供安全、事务、资源管理等服务。参数持久化管理模块用来管理用户对Portlet进行的设置。3个模块共同提供对Portlet的运行支持,都通过Portlet Invoker来访问Portlet API,从而控制Portlet的执行。下面通过对这一模型的扩展使其为EAI系统的实现提供支持[15]。
当合法的用户进入Portal中时,会看到Portlet, Portlet会展示自己的view.jsp给用户,系统通过MessagePortlet来实现实视图的展示功能调度与处理。Messaportlet的类图如下所示:
图3-15 Messaportlet类图
9. 系统维护
由于本系统安全性要求较高,设计时采用了安全验证和权限控制[16]。 安全验证采用多层次验证的思想。首先,要保证只有经过授权的计算机才能访问系统,这样就大大降低了泄密的几率;有权访问的计算机要经过用户和
33
山东大学硕士学位论文
密码验证才能进入系统;用户进入系统后,会经过权限验证,避免用户对无权操作的数据的进行修改;最后,每个网页用session来验证,以保证用户是在登陆的情况下来使用系统。基于这种思想,系统采用四种措施来对用户的合法性进行验证:
安全套接层协议(SSL)验证。这是在互联网上进行安全信息传输的协议。它处于Internet多层协议集的传输层,对在这两台计算机之间传输的信息进行加密和解密,还可对计算机之间的各种通讯都提供安全保护。实现方式是为每个使用系统的计算机分配一个安全证书,只有分配了证书的计算机才能访问系统服务器。这层验证主要是通过对Tomcat的配置来实现的。
用户和密码验证。用户登录的时候,系统会将用户发送的用户名和密码进行验证。使用目前较为广泛的加密算法是MD5,用户发送的密码要进行加密后再与数据库中的密码进行比对,这样就提高了系统的安全性。
权限验证。系统在设置用户的时候,给每个用户都分配了权限。系统菜单根据数据库的数据自动生成,只显示用户有权进行操作的菜单选项,没有访问权限的用户无法使用系统对应的功能菜单。
session验证。用户登录后,程序会将用户的资料放到一个session里面,用户每打开一个jsp网页,都会先读取session里面的内容,如果session为空,那么用户将不能访问该网页。
经过这四层验证,基本上保证了系统的数据安全问题。
采用基于动态角色的动态权限实现灵活的用户安全管理。基于角色的访问控制RBAC(Role-Based Access Control)的主要思想是:通过用户与权限的分离,使得权限管理方便灵活;通过用户与角色的指定,角色与权限的配置,使RBAC达到所需的安全要求。RBAC包含三个实体:用户、角色和权限。用户是对数据对象进行操作的主体。权限是对某一数据对象可操作的权利。角色作为中间桥梁将用户和权限联系起来。一个角色可以看成是一组权限的集合,也可以看成是若干具有相同身份的用户集合;在RBAC的体系中,一个用户可以被赋予多个角色,一个角色也可以被赋予多个用户;同样,一个角色可以拥有多项权限,一个权限可以分配给多个角色;一个系统用户可以通过他具有的角色的权限来判断他可以访问的系统资源和对该资源可进行的操作。
34
山东大学硕士学位论文
系统的权限主要分两类:数据权限和功能权限,其中数据权限规定对数据对象有何种操作权限,通过对访问数据库对象的来保证数据库的安全性,而功能权限规定在系统功能菜单中哪些功能可用,哪些功能被禁止,通过用户使用的功能来间接保证数据的安全。
系统维护涉及的类有:用户组、用户、角色和权限,类图如下:
图3-16 系统维护类图
系统含有多个用户组,每个用户组有都个用户,用户通过User_Role管理类得到他的角色,通过角色与权限关联类Role_Purview 得到该用户的权限。
各个子系统设计完成后,我们用包图描述模型的组织关系,系统包图如下:
图3-17 系统包图
用部署图描述系统运行是的硬件节点和节点间的通信,系统部署图如下:
35
山东大学硕士学位论文
图3-18 系统部署图
3.3.2 数据库设计
数据库是记录的是操作性数据,它是信息系统的核心部分,用于记录大量的信息。本系统数据库设计采用Hibernate 的O/R Mapping机制,通过类图与数据库表的对应关系实现,下面给出部分关键表的详细描述:
表3-1 人基本表 字段 ID XM XB MZ CSRQ HJDSSXQ HJDXXDZ ZZSSXQ ZZXZ ZJLB ZJH ZZMM WHCD HYZK SG XX ZY XMPY GJDQ GZDW 36
类型 RAW VCHAR CHAR CHAR DATETIME CHAR VCHAR CHAR VCHAR CHAR CHAR CHAR CHAR CHAR INT CHAR CHAR VCHAR CHAR VCHAR 长度 16 30 1 2 6 40 6 40 2 18 2 2 4 3 2 4 60 3 60 名称 ID 姓名 性别 民族 出生日期 户籍地省市县(区) 户籍地住址详址 住址省市县(区) 住址详址 证件类别 证件号 政治面貌 文化程度 婚姻状况 身高 血型 职业 姓名拼音 国家地区 工作单位 关联 民族代码表 行政区划基本表 行政区划基本表 证件类别基本表 政治面貌基本表 文化程度基本表 职业基本表 国家基本表 山东大学硕士学位论文
SHSF CHAR 2*6 社会身份 社会身份基本表 ZC CHAR 2*6 专长 专长基本表 ZJXY CHAR 2 宗教信仰 宗教信仰基本表 GRXXMJ CHAR 1 个人信息密级 保密级别基本表 ZP BLOB 照片 DWID RAW 16 登记人单位ID 机构代码表 DJRID RAW 16 登记人ID 员工表 CJSJ DATETIME 创建时间 XGSJ DATETIME 修改时间 BZ VCHAR 100 备注 表 3-2 五残人员表
字段 类型 长度 说明 关联 ID RAW 16 人ID 人基本表 LX CHAR 1*5 五残人员类型 五残人员类型基本表 WTXZ VCHAR 40 问题性质 JHRZJLB CHAR 2 监护人证件类别 证件类别基本表 JHRZJH CHAR 18 监护人证件号 JHRXM VCHAR 30 监护人姓名 JHRLXFS VCHAR 60 监护人联系方式 AQXYBH VCHAR 30 安全协议编号 BZ VCHAR 100 备注 表3-3 涉案人基本表
字段 类型 长度 名称 关联表 ID RAW 16 记录ID PID RAW 16 人ID 人基本表 AJID RAW 16 案件ID 案件基本表 SJID RAW 16 事件ID 事件基本表 SARBH CHAR 20 涉案人编号 SALX CHAR 2 涉案人类别 涉案人类型基本表 KYYJ CHAR 2*6 可疑依据 可疑依据基本表
37
山东大学硕士学位论文
BMCH CHBMPY HYKY WFFZJL XSZK DJDW DJRID CJSJ XGSJ BZ SAXZ LRLY VCHAR VCHAR VCHAR VCHAR CHAR RAW RAW DATETIME DATETIME VCHAR CHAR CHAR 30 * 3 30 * 3 6 * 3 200 1 16 16 100 1 1 别名绰号 别名绰号拼音 汉语口音 违法犯罪经历(自述) 现实状况 登记人单位ID 登记人ID 创建时间 修改时间 备注 涉案性质 录入来源 汉语口音基本表 违法犯罪经历表 FH_T_CODE_XSZK FH_C_T_JG_DEPT_E 员工表 FH_T_CODE_Z_SAXZ
表3-4 受害人表
字段 ID SARID RSSHXS RSSHCD BZ 类型 RAW CHAR CHAR CHAR VCHAR 长度 16 16 1 1 200 名称 记录ID 涉案人ID 人身受害形式 人身伤害程度 备注 关联表 涉案人基本表 受害形式基本表 受害程度基本表
表3-5 案件基本表
字段 AJBH AJMC AJLB AJXZ WHCD NBDWJB FAQJKSZ FAQJJSZ LCSFZ LCZDZ DJRID BADW LADW SLDW 38
类型 CHAR CHAR CHAR CHAR CHAR CHAR VCHAR VCHAR VCHAR VCHAR CHAR CHAR CHAR CHAR 长度 23 60 6 2 3 2 5 5 5 5 16 16 16 16 名称 案件编号 案件名称 案件类别 案件性质 危害程度 内部单位级别 发案区间开始站 发案区间结束站 列车始发站 列车终到站 登记人ID 办案单位 立案单位 受理单位 关联表 案件类别基本表 案件性质基本表 危害程度基本表 内部单位级别基本表 站名基本表 站名基本表 站名基本表 站名基本表 员工表 机构表 机构表 机构表 山东大学硕士学位论文
CBDW CHAR 16 承办单位 机构表 CBJG CHAR 2 承办结果 承办结果基本表 SSXT CHAR 2 所属系统 所属系统基本表 ZABS CHAR 1 专案标识 FXXS CHAR 2 发现形式 发现形式基本表 AJZT CHAR 3 案件状态 案件状态基本表 FADY CHAR 1 发案地域 发案地域基本表 SLFS CHAR 2 受理方式 受理方式基本表 FAXL CHAR 4 发案线路 线路基本表 FABW CHAR 6 发案部位 发案部位基本表 ZAGL CHAR 4 作案规律 作案规律表 BASJ DATETIME 报案时间 SLSJ DATETIME 受理时间 FXSJ DATETIME 发现时间 FASJ DATETIME 发案时间 CJSJ DATETIME 创建时间 XGSJ DATETIME 修改时间 LARQ DATETIME 立案日期 DJRQ DATETIME 登记日期 LAPZR CHAR 20 立案批准人 AQMS VCHAR 2000 案情描述 BZ VCHAR 200 备注
表3-6 货盗案件表
字段 类型 长度 名称 关联表 AJBH CHAR 23 案件编号 案件基本表 HCCX CHAR 3 货车车型 车型基本表 HCCH CHAR 16 货车车号 CXSXH NUMBER 车厢顺序号 YXXCTS NUMBER 影响行车趟数 YXTXSJ NUMBER 影响通讯时间 YXXCSJ NUMBER 影响行车时间 DJRID CHAR 16 登记人ID 员工表 CJSJ DATETIME 创建时间 XGSJ DATETIME 修改时间 BZ VCHAR 200 备注
表3-7 侯问人登记表
字段 类型 长度 名称 关联 ID RAW 16 记录ID PID RAW 16 人ID 人基本表 RSSJ TIMESTAMP 入室时间
39
山东大学硕士学位论文
JBR SPR HWYY YCSJ YCYY YCSPR TZQK1 TZQK2 XTCX CLJG CSSJ SJDCQK DWID DJRID CJSJ XGSJ BZ VCHAR VCHAR VCHAR INT VCHAR VCHAR VCHAR VCHAR CHAR VCHAR TIMESTAMP VCHAR RAW RAW TIMESTAMP TIMESTAMP VCHAR 100 60 200 200 60 200 200 2 200 200 16 16 100 经办人 审批人 候问原因 延长时间 延长候问原因 延长审批人 通知家属情况 通知单位情况 系统查询 处理结果 出室时间 上级督察情况 登记单位ID 登记人ID 创建时间 修改时间 备注 员工表 表3-8 带破案件表
字段 ID AJID DPAJID BZ 类型 RAW CHAR CHAR VCHAR 长度 16 16 16 600 名称 记录ID 案件ID 带破案件ID 备注 关联 案件类 案件类 表3-9 文书表
字段 ID MC AJZL BAHJ LJ BZ 类型 RAW CHAR CHAR CHAR VCHAR VCHAR 长度 16 60 16 40 80 600 名称 记录ID 文书名称 案件种类 案件环节 模板路径 备注 关联 案件类别基本表 办案环节基本表 表3-10 涉案物品表
字段 40
类型 长度 名称 关联表 山东大学硕士学位论文
ID RAW 16 物品ID AJID RAW 16 案件ID SJID RAW 16 事件ID LX CHAR 5 物品类型 物品类型基本表 MC VCHAR 40 物品名称 XZ CHAR 1 物品性质 物品性质基本表 SYRHDW VCHAR 100 物品所有人/单位 SYRZJH CHAR 18 所有人证件号 SYRZJLB CHAR 2 所有人证件类别 证件类别基本表 JZR VCHAR 300 见证人 CLFS CHAR 2 处理方式 处理方式基本表 BH VCHAR 30 物品编号 PPMC VCHAR 100 品牌名称 YS CHAR 1 物品颜色 颜色基本表 XHGG VCHAR 100 物品型号规格 SL FLOAT 数量 JLDW VCHAR 10 数量单位 ZL FLOAT 物品重量 ZLDW CHAR 2 重量单位 重量计量单位基本表 LY VCHAR 100 物品来源 WPQX VCHAR 100 物品去向 TZMS VCHAR 200 特征描述 JZ FLOAT 物品价值 CJSJ DATETIME 创建时间 XGSJ DATETIME 修改时间 DWID RAW 16 登记人单位ID DJRID RAW 16 登记人ID BZ VCHARr 200 备注 表3-11 机构表
字段 类型 长度 名称 关联表 ID RAW 16 机构ID ZAGLJG CHAR 16 治安管理机构 治安管理机构表 LB CHAR 4 机构类别 机构类别基本表 MC VCHAR 40 机构名称 SSQ CHAR 6 机构地址省市县区 行政区划基本表 DZ VCHAR 40 机构详细地址
41
山东大学硕士学位论文
RS DWID DJRID CJSJ XGSJ BZ INT RAW RAW DATETIME DATETIME VCHAR 16 16 100 人数 登记人单位ID 登记人ID 创建时间 修改时间 备注
表3-11 机构负责人表 字段 ID JGID FZRXM FZRZJLB FZRZJH ZW BZ 类型 RAW RAW VCHAR CHAR CHAR CHAR VCHAR 长度 16 16 30 2 18 4 100 名称 记录ID 机构ID 负责人姓名 负责人证件类别 负责人证件号 职务名称代码 备注 关联表 机构表 证件类别基本表 职位基本表 表3-11 机构负责人表 字段 ID JGID FZRXM FZRZJLB FZRZJH ZW BZ 类型 RAW RAW VCHAR CHAR CHAR CHAR VCHAR 长度 16 16 30 2 18 4 100 名称 记录ID 机构ID 负责人姓名 负责人证件类别 负责人证件号 职务名称代码 备注 关联表 机构表 证件类别基本表 职位基本表
42
山东大学硕士学位论文
第4章 系统的实现与测试
4.1 系统开发环境
开发工具是MyEclipse 6.5,MyEclipse企业级工作平台是对EclipseIDE的扩展,利用它可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。
使用的容器是Tomcat 5.5,Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
数据库是ORACLE 10G,它是第一个为企业级网格计算而设计的数据库,允许IT快速响应业务需求,在降低成本的同时,提供最高质量的服务它易于部署和管理。
4.2 系统实现
4.2.1 Web层的实现
本系统Web层由Jsp页面和若干Action类来实现,采用了CSS控制样式, Javascript, Ajax实现动态效果。Jsp实际上是在Html中混合Java程序代码,并由语言引擎解释执行。当客户端第一次请求Jsp页面时,嵌入Jsp中的Java代码将首先被转换为Java源文件,然后编译成Servlet,接着由Java虚拟机执行,需要一定的编译时间,但以后再对该页请求只须调用服务器端编译好的Servlet即可,因此执行速度较快。
根据系统需求,每个用户在使用系统前都必须进行登录,否则无法使用。因此,整个系统的首页中包含一个系统登录页面。
在一些设计得并不理想的系统中,在JSP页面代码中会夹杂着大量对业务
43
山东大学硕士学位论文
逻辑处理以及对数据库进行访问的代码。这样做会因为代码相对集中使开发人员更加方便地对代码进行处理,但会使系统各层之间的祸合度大大增加,严重时可使J2EE分层尤如虚设,所有代码将集中在Jsp页面中,造成逻辑复杂,使日后的维护变得困难,系统的可扩展性也会大大降低。
按照MVC模式设计系统,表示层中Jsp页面的任务应有两个:一是将用户的数据上传服务器;二是显示服务器对用户请求响应的结果,也就是说Jsp页面应仅含有完成上述两个功能的代码,页面中所有需要的数据都由Servlet通过Session传递,所有用户提交的数据等都是通过表单提交给Servlet处理。
本系统中,Jsp 访问大多是通过Action访问,Action 是基于Struts2 框架的类,系统中还使用到的Struts2 框架部分有:
struts.xml struts2 的配置文件,起导航作用; form 显示模块数据,负责提取客户端上传数据; ActionMapper 用来进行框架内部的流程控制的对象。 警务信息综合系统中Web层的部分设计实现如下表所示:
表4-1 系统部分页面设计表
模块 系统维护
页面名称 checkUser.do managePurview .do
接处警
addReportNote.jsp addSuggestin.jsp
案件管理
addSeizedGoods.jsp searchSeizedGoods.do editSeizedGoods.do staticSeizedGoods.do
机构管理
AddOgnization.jsp search Ognization.do edit Ognization.do
人员管理
AddDisabled.jsp search Disabled.do
功能 用户权限检测 权限管理 添加接警信息 添加接警意见 添加货盗案件信息 查询货盗案件信息 修改货盗案件信息 统计货盗案件信息 添加机构信息 查询机构信息 修改机构信息 添加五残人员信息 查询五残人员信息
44
山东大学硕士学位论文 edit Disabled.do
修改五残人员信息
部分页面实现如下:
图4-1 主界面
图4-2 货盗案件添加页面
45
山东大学硕士学位论文
图5-3 五残人员添加页面
图5-4 机构特种行业登记
46
山东大学硕士学位论文
图5-5 GIS 主页面
图5-6 侯问人登记表
4.2.2 业务层的实现
业务层也称为Service层,负责处理应用程序核心的业务逻辑,系统中的高层用例就是由业务层组件来实现的,同时业务层还为Web层组件提供必要的接口服务。
47
山东大学硕士学位论文
本系统的Service层由若干接口和类组成,接口都实现了IBaseService接口,类都继承BaseServiceImpl类,IBaseService 的代码如下:
public interface IBaseService public class BaseServiceImpl 山东大学硕士学位论文 if (id == null) { return null; } return dao.deleteById(id); } public List package com.case.service; public interface ISeizedGoodsService extends IBaseService package com.case.serviceImpl; public interface SeizedGoodsService extends BaseServiceImpl 49 山东大学硕士学位论文 } } public String deleteById (String id){ seizedGoods_Dao.deleteById (id); } public String update(SeizedGoods seizedGoods){ seizedGoods_Dao. update(seizedGoods); } public String queryById(String id){ seizedGoods_Dao. queryById(String id); } 4.2.3 持久层的实现 持久层是直接与数据库相联系的,其功能是完成相关的数据库操作,具体工作是由Hibernate 框架实现的,根据设计阶段设计出的pojo类,编写DAO接口和实现类,实现CRUD操作。接口都实现了IBaseDao接口,类都继承BaseDaoImpl类,IBaseDao 的部分代码如下: public interface IBaseDao public abstract class BaseDaoImpl 山东大学硕士学位论文 getSession().save(entity); return entity; } public Object update(Object entity) { Assert.notNull(entity); getSession().update(entity); return entity; } public Object saveOrUpdate(Object entity) { Assert.notNull(entity); getSession().saveOrUpdate(entity); return entity; } public void delete(Object entity) { Assert.notNull(entity); getSession().delete(entity); } public T deleteById(Serializable id) { Assert.notNull(id); T entity = load(id); getSession().delete(entity); return entity; } public Object updateByUpdater(Updater updater) { ClassMetadata cm = getCmd(updater.getBean().getClass()); if (cm == null) { throw new RuntimeException(\"所更新的对象没有映射或不是实体对象\"); } Object bean = updater.getBean(); Object po = getSession().load(bean.getClass(), cm.getIdentifier(bean, POJO)); updaterCopyToPersistentObject(updater, po); return po; } public BaseDaoImpl() { this.persistentClass = (Class 51 山东大学硕士学位论文 } …… 信息管理相关模块对数据的处理都是实现信息的增加、查询、修改和删除,以货盗案件为例说明货盗案件持久层的实现。业务层由接口ISeizedGoodsDao和SeizedGoodsDao类组成,ISeizedGoodsDao的代码如下: package com.case.dao; public interface ISeizedGoodsDao extends IBaseDao package com.case.daoImpl; public interface SeizedGoodsDao extends BaseDaoImpl 本模块基于Liferayportal4.3.2 进行二次开发使用Ani构建liferay扩展项目和部署。 像servlet一样,编写的Portlet也必须直接或者间接的扩展基类GeneriePortlet,这个是由JCP针对Portal提出的JSR168规范定义的,Portal本身只负责页面展示,不负责具体的业务逻辑,所以Portal只是将Portlct一个作为一个对象来看待。以一个发送位置信息Portlct为例,说明实现一个 52 山东大学硕士学位论文 Portlet的过程: 1.编写Portlet.xml文件 Liferay提供了一个JspPortlet类,它继承自LiferayPortlet,而LiferayPortlet又继承自GeneriePortlet,从图3-13中可以看出JspPortlet实现了init(), doHelp(), 以及doView()几个方法,这几个方法是为了实现JSR168规范中所提到的VIEW、HELP模式的。下面是JspPortlet中的init()方法的代码: Public void init() throws PortletException { aboutJSP = getInitParameter(“about-jsp”); configJSP = gethiitparameter(“eonfig- jsp”); editJSP = getInitParaJneter(“edit- jsp”); editDefaultsJSP = getlnitParameter(“edit-defaults- jsp”); editGuestJSP = getlnitParameter(“edit-guest- jsp”): helPJSP = getlnitParameter(“helP- jsp”); 53 山东大学硕士学位论文 } PreviewJSP = getlnitparamcter(“PrevieW- jsp”): PrintJSP = getlnitparameter(“print- jsp”); ViewJSP = gctInitParameter(“view- jsp”); copyRequestParameters = GetterUtil.getBoolean( getlnitParameter(“copy-request-Parameters”),true); 与servlet类似,Portlet也是使用getlnitParamcter方法,来得到配置文件中的初始值,只不过Portlet使用是portlct.xml,而servlet使用的是wEB.xml。在本portlet示例中viewjsp就是 /Portle/view.jsp,portlet初始化成功后,保证了系在进入Portal的用户看到的站内消息Portlet显示的是view.jsp这个页面。 3 view.jsp的实现 先要在页面中加入 上面部分是使用Portlet标记库的另一个标记actionURL产生一个URL指向当前页面中的这个Portlet,生成的URL能够触发当前Portlet的action请求,或者说这个URL能够触发当前Portlet的proeessAction方法。 4.3 系统测试 4.3.1 测试原则 在软件测试方面应遵循下面几个原则[17]: 1. 测试是不完全的(测试不完全) 由于软件需求的不完整性、软件逻辑路径的组合性、输入数据的大量性及结果多样性等因素,哪怕是一个极其简单的程序,要想穷尽所有逻辑路径,所有输入数据和验证所有结果是非常困难的一件事情。为此作为软件测试,一般采用等价类和边界值分析等措施来进行实际的软件测试,寻找最小用例集合成为精简测试复杂性的一条必经之道。 54 山东大学硕士学位论文 2. 测试具有免疫性(软件缺陷免疫性) 软件缺陷与病毒一样具有可怕的“免疫性”,测试人员对其采用的测试越多,其免疫能力就越强,寻找更多软件缺陷就更加困难。所以在测试过程中要更换不同的测试方式和测试数据,并且该尽可能的多采用多种途径进行测试。 3. 测试是“泛型概念”(全程测试) 软件测试应该跨越整个软件开发流程。需求阶段和设计阶段不能忽视,需求缺陷、设计缺陷也是软件缺陷,如果单纯的只将实现阶段称之为软件测试的话,需求阶段和设计阶段的缺陷产生的放大效应会加大。这非常不利于保证软件质量。软件测试应该是全程测试。 4. 80-20原则 80%的软件缺陷常常生存在软件20%的空间里。在系统分析、系统设计、系统实现阶段的复审,测试工作中能够发现和避免80%的软件缺陷,此后的系统测试能够帮助我们找出剩余缺陷中的80%,最后的5%的软件缺陷可能只有在系统交付使用后用户经过大范围、长时间使用后才会曝露出来。因为软件测试只能够保证尽可能多地发现软件缺陷,却无法保证能够发现所有的软件缺陷。 5. 软件测试必须有预期结果 软件缺陷是经过对比而得出来的。没有预期结果的测试是不可理喻的。测试结果应该是明确的,不能似是而非,这样才能保证不出现误判结果。 6. 软件测试的意义主要在于事后分析 只有对软件测试结果进行认真的分析,才能了解缺陷发生的原因和应对措施,以节省人力和物力来再次查找软件缺陷。在遵循上述原则的基础上,我们整个系统的开发过程也是一个系统测试的过程。在系统详细设计的过程中,就将一些测试条件和结果列出,以便在代码开发后进行调试。 4.3.2 测试方法 在测试过程中,针对不同的目的我们采用了不同的测试方法,如JAVA类测试方法,功能模块测试方法和系统压力测试方法,详细描述如下: 1. Java类测试方法 在面向对象语言Java程序测试的过程中,一个较为棘手的问题就是Java 55 山东大学硕士学位论文 类的可视性问题。“信息隐蔽”固然是面向对象语言设计的一个突出的优点,但是同时也给测试带来诸多不便,有关“隐蔽信息”的可测试性成为这类测试的一大突出结症。为此我们针对JAVA类不同的“可视性”要求的场合,采取相应的测试模式来支撑相关Java类(包)的测试。 Java类测试方法的目的是对每个包或类进行测试。 Java类测试方法的依据是Java类可以拥有public static void main(Srting[] gars)方法,它是类在JVM中被率先执行的方法,控制着整个类的执行逻辑,main方法能够访问所在类的所有属性和方法,这样就能对每个包或类进行测试。 JAVA类测试方法的实例可以描述如下: Public static void main(String[]gars){ SomeClassresult; // 执行测试计划„ System.out.print(“result is „”); } 例如对报警处理模块中的Action类的测试首先模拟若干变输入信息,然后根据上述模型构造出一个Java测试实体来测试Action各个功能函数,最后检查输出结果是否是预期结果。 2. 功能模块测试方法 除了Java对象测试外,对于系统各个功能模块也进行了测试。功能模块测试方法的目的是检查各个功能模块的功能是否达到预期功能模块测试方法是首先根据各个功能模块的功能,设计详细的输然后通过运行相应的功能模块,检查输出的数据来判断功能模块是大量的数据是保存在数据库中,而且各个功能模块的主要操作是对数据的操作,所以测试的重点主要是系统对数据库的操作上。例如,在人员模块中,主要任务是将人员信息存入数据中,并否有重复的人员信息。首先输入证件名称、证件号、姓名等信息,通过人员管理模块输入到系统中,检查输入过程中是否存在问题,保存后,检查数据库中保存的数据是否与输入数据一致来判断正确性。 3. 系统压力测试方法 56 山东大学硕士学位论文 由于该系统是一个多用户系统,系统的并发性是系统性能的关键因素,因此在测试中,系统的并发性测试,即系统压力测试也就显得十分重要。 系统压力测试方法的主要目的在于发现和优化应用服务器和数据库服务器的性能。系统压力测试方法的方法是模拟大量用户同时对系统提出请求,检查系统的相应的成功率。 系统在文书处理过程中,涉及大量的数据传输,该点也就成为了系统压力测试的重点。例如,有一次模拟50用户并发操作同一个文书,成功率为70%, 通过分析,发现了Tomcat的缓存大小是系统的瓶颈,通过扩大Tomcat的缓存解决了该问题,重复同一测试,成功率达到98%。 57 山东大学硕士学位论文 第5章 总结与展望 本文就警务信息综合系统的设计及实现作了较为深入和全面的分析,在本系统完成后的测试及试用过程中,该系统能够实现接处警、案事件管理、人员管理、机构管理、表薄册管理、文书管理、地理信息管理、系统维护等预期功能,各方面均已达到预期目标。采用本系统后,哈铁可以及时、准确全面获取和处理外部信息,提高决策和管理水平,促进决策和管理的科学化。 本系统采用面向对象的方法进行需求建模以及系统分析设计,以统一建模语言(UML)为分析设计描述语言,以J2EE为技术平台,采用B/S架构和Struts2、Spring、Hibernate框架开发,系统的开发过程中采用目前流行的需求建模工具Rational Rose 2003 和集成开发环境myEclipse 6.5等系统开发工具,极大的提高了系统开发的效率。采用Portal 技术,实现了与原有铁路警用GIS的整合,实现了地理信息管理。 随着铁路转制的完成,铁路警用系统应逐渐实现和现有成熟的系统的信息共享,如何实现信息的共享将是本系统进一步研究的方向。 58 山东大学硕士学位论文 参考文献 [1] 李学伟,宁滨等 中国铁路信息化研究 经济论坛, 2000(7) [2] 邓思凯 数字铁路的“三化” 中国计算机用户,2009.07 [3] 祝魏伟 信息化将成为中国铁路发展核心 科学时报,2009.06 [4] 单鹏 我国电子警务体系建设研究:[学位论文] 沈阳:东北大学,2005 [5] 王红霞,潘小梅等 信息化建设的一点思考 2003年青岛市第二届学术年会. [6] 贾永生,仪宏斌,刘义平 做好人民铁路的守护神--记哈尔滨铁路高涌泉 铁道警官高等专科学校学报,2002(1) [7]铁路处_百度百科 http://baike.baidu.com/view/3271293.html?fromTaglist [8] 金庆州 试论电子政务与办公自动化 时代经贸(理论版),2006.4. [9] 拉曼(Larman,C.)著 李洋等译UML和模式应用 北京:机械工业出版社, 2006 [10] 谢星星, 沈懿卓 UML基础与Rose 建模实用教程. 北京:清华大学出版社,2008 [11] 张海藩 软件工程 北京:清华大学出版社,2009 [12] 李宁Java Web开发技术大全 北京:清华大学出版社,2009 [13] 李雪妮 MVC+DAO 架构下电子商务网站交易模块的分析与设计 今日南国, 2009.08 [14] William Crawford Ё Jonathan Kaplan著 刘绍华,毛天露译 J2EE设计模式 北京:中国电力出版社,2005 [15] 武云庆,杨丹 基于门户技术的EAI实现方法研究 计算机工程与设计, 2007.03(6) [16] 段瑢瑢,王守城,岳小鹤 网络化铁路案件信息管理系统的设计及实现 自动化技术与应用,2007(9). [17] 朱少民 软件测试方法和技术 北京:清华大学出版社,2005 59 山东大学硕士学位论文 致谢 首先感谢我的导师李庆忠教授,给予了多方面的建议与帮助,指导我克服了很多难题,在论文的设计过程中更是不厌其烦的耐心指导,可称为良师益友。还要感谢公司的胡春雷、和崔周维在实习期间对我的帮助,同学高胜展、葛川在论文的形成过程中给予了宝贵的建议与帮助。 感谢山东大学软件学院所有的老师,不仅可以从你们身上学习到宝贵的知识,你们严谨的治学态度、无私奉献的精神也给了我一个学风正、学术氛围浓重的良好学习环境,使我能更好的投身于学习和以后的工作中。 最后感谢我的父母,你们的支持和鼓励是我努力上进的动力,你们的关怀和期望使我不敢松懈,奋发向上。 60
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务