一、背景。
从金盾一期工程至今,公安信息化建设已有十几年,建设了大量的软件系统,2014年全国公安厅局长会议上,更是提出了基础信息化作为公安工作四项主要工作之一。现在,公安信息化建设不只是将公安工作简单无纸化,而是全面考虑在现有信息化建设成果基础上,用信息化手段进行业务流程再造,进而引导公安工作改革。需求分析对软件项目的影响度高达80%~100% ,是软件工程第一步,为后续软件设计、编码、测试、应用和维护奠定基础,也是项目建设进行招标的依据、验收的标准和应用维护的资料,因此做好需求分析是公安信息化建设成败的最关键一步。但当前公安信息化人才较为薄弱,计算机类相关专业较少,对于需求分析认识的不足和不专业,存在甲方较少参与需求分析,有些项目上级机关建设,没有实际用户基层民警参与等情况,出现需求分析简单化、模糊不清等现象,甚至有应用目的不明、无整体规划、不共享[1]和技术落后等问题,导致经费投入巨大,但软件不符合实际应用需求,成效甚微、事倍功半和进度缓慢。
需求分析是对软件用户的应用目的、需求和意图进行分析的过程,用文档的方式详细描述系统建设目标。软件需求一般分为业务需求和系统需求(图1),业务需求是用户对软件应用的需求,系统需求是软件技术上的需求。
一般的公安软件需求包括:建设背景、项目建设目的、设计方案及主要性能指标、业务流程描述、系统主要功能、模块设计思路、与各系统对接需求、技术性能指标等。
需求分析首先要限定好业务范围,业务范围越大,开发成本越高、开发周期越长。首先确定软件涉及的所有用户类型,用户一般包括各级公安机关的数据录入民警、审批民警、数据统计研判民警和系统管理员等。根据用户所提需求和用户管辖及能协调的业务范围开发软件,避免开发了一些自认为很好的功能后,却无人使用。其次要考虑项目的投入资金和承建单位的实力水平。业务范围不能贪多贪全,要在能力范围和时间期限内,工作有所成就,再分期建设逐步迭代。需求分析过程(图2)一般包括需求获取、分析、编写、变更、验证、管理等。乙方对获取的需求进行分析、编写需求规格说明,并请甲方评审、验证,对需求的变更和不同用户提出具有矛盾性的需求进行管理,由用户根据功能模块对业务的影响程度和使用频率等因素确定需求的优先级别。
需求获取方式有开调研会、跟班作业、调查问卷、查阅工作记录等。需求分析工具和用例是提高需求分析工作效率的有力手段。常见的需求分析工具有Axure RP 、StarUML、Microsoft Visio、FreeMind,使用工具可有条理地处理大量复杂需求,可清晰描述业务流程,可快速构建软件界面原型。每个功能模块使用常见的例子描述,用户能直观地对需求进行探讨,使需求分析事半功倍、避免误解。
公安工作根据法律和内部规定开展,各系统有不同的业务需求,并随着工作规则会不断改变,但由于当前公安信息化基础设施基本完善,应用软件已涵盖公安工作各方面,各系统共享与协作技术架构(图3)基本成型,因此各系统有着共同的基本系统需求。
公安软件基本系统需求:符合公安软件建设相关标准,实现全警共享;为确保信息生产系统正常运行,所有数据共享交换通过资源库进行,生产系统之间不交换数据;服务平台通过Web服务接口对各个业务系统提供应用服务;系统须定时报送日志到安全日志审计系统,做到事后有迹可查。
整合Web服务特点:业务系统整合调用Web服务越多,功能越多,可用性越低(调用i个Web服务,Web服务可用性是P,业务系统可用性P=P×P×…×P,0<P<1,i越大,P越小),因此一个健壮的系统不应依赖其它系统。
架构特点:目前大部分系统采用B/S架构,在使用过程中需下载大量插件,影响了网络性能,不同的系统对浏览器版本又有特定要求。因公安办公电脑相对固定,在系统较复杂的情况下,建议使用C/S架构或两种架构结合使用。
建库部署特点:如法律或公安内部有统一规定的事务型业务系统,可将建库尽量向上级部署,确保规范和共享;如是研判系统应尽量向下级部署建库,确保本地应用的灵活和创新;如系统的数据传输对网络带宽要求不高,可尽量向上级部署建库,反之向下级部署;越是基层,信息化的人才越薄弱,能上级部署的,不往下级放。
四、需求分析案例。
下面以广西公安案事件视频管理系统为例,描述软件需求分析过程。
(一)寻找用户角色。
成立项目小组,区厅科信部门牵头,治安、刑侦等业务部门为成员单位,各级公安机关相关单位参与。
(二)获取需求。
需求获取方式:多次召开调研会议,一线民警广泛参与,听取意见与建议;邀请专业的系统集成公司、软件厂家技术人员参与讨论;使用需求分析工具构架软件模型界面,开展研讨。
业务范围:建设全区各级公安机关用于存储、共享和分析案事件视频图像线索及证据的管理系统。
用例分析举例:民警办案时在警综平台录入案事件信息,同时向案事件视频管理系统录入线索视频图像信息。
(三)需求规格说明书(简略)。
1. 建设背景。
全区警综平台已运行使用4年,实现了全区的案事件文档信息统一管理,但视频图像信息未能统一存储管理,易丢失、不共享,随着全区视频监控摄像头日益增多,案事件视频图像信息的统一管理需求已非常迫切。
2. 建设目的。
全区各级公安机关应用本系统存储、共享和分析案事件视频图像线索及证据,提升民警对事件视频图像信息的共享和研判能力,提高民警办案效率,规范民警执法。
3. 设计方案及主要性能指标。
(1)目标任务。
各级公安机关分级建立视频图像信息数据库,采取视频图像信息集中存储和分级分散管理相结合的方式,对视频图像信息进行整理、分类存储,并建立索引摘要。同时,与警综平台、警用地理信息平台等公安现有各系统进行对接。
(2)设计要求。
系统为三层结构,分别为资源层、管理层、服务层。
(3)建设原则。
标准性、高可靠性、先进性、安全性、可维护性、可扩展性、经济实用性、易操作性。
(4)建设目标。
由于视频所需存储空间较大、传输带宽较多,因此在区、市两级建库,系统部署在两级信息中心云计算硬件架构上,系统采用Client/Server/Data Base Server三层结构,基于J2EE架构开发,使用Oracle10g数据库。
4. 业务流程描述。
区、市、县、派出所四级公安机关职责分工及工作机制(在此省略)。
5. 系统主要功能。
资源上传、资源标准化、结构化描述、资源搜索、资源浏览、资源下载、资源评论、审核发布、资源统计。
6. 模块设计思路。
本系统是警综平台子系统,与执法办案系统构成完整的案事件信息采集系统。各模块逻辑应与执法办案系统对应。
7. 与各系统对接需求。
抽取警综平台案事件基本信息和标准地址库,抽取人事系统机构代码和警员信息,作为系统标准基础数据。
调用警用地理信息平台地图服务,调取PKI/PMI接口进行系统登录验证。向资源库提供数据接口,共享数据。向安全日志审计系统报送日志数据。定制Websevice接口对外共享各种服务。
8. 技术性能指标。
单台应用服务器支持200个并发用户。用户服务最大时延不大于3秒。民警能在5分钟内完成结构化描述数据录入。
(四)需求管理。
再次组织评审、验证,进一步完善需求规格说明书。如有基层民警提出在本系统应能修改案事件基本信息,经项目小组研究,如修改案事件的基本信息,将使本系统与执法办案系统信息不一致,因此不采纳该需求。
五、结语。
在软件工程的各个阶段中,需求分析是用户和软件开发方都重度参与的一个阶段,沟通难度较大,双方都必须重视。每个类型的用户角色对同一软件功能的需求有可能不同,所有的角色都参与需求分析才能确保软件符合实际需要。各方都应重视学习和研究需求分析流程及方法,公安信息化建设才能顺利高效的开展。
参考文献:
[1] 李师贤,张珞玲。需求分析的常见问题及其对策分析[J].计算机工程,2002 Vol.28 No.1 6- 8.
[2] 王电。公安信息化概论[M].清华大学出版社,2011.
[3] 陈海东。 C/S与B/S结构的比较与选择。[J].警察技术,2007(5)。
[4] 陆素冰。软件开发过程中的质量保证和质量控制。[J].警察技术,2004(3)。