2020年6月,我参加了风险洞察项目的开发,该项目主要解决为民警提供人员在辖区内的实时动态,为辖区提供安保全方面的软件支撑,包括活动创建、区域配置、动态预警、分析研判等模块,在该项目中我担任系统分析师。本文结合该项目的实践,以风险洞察系统为例,主要讨论原型法在系统需求分析的应用。 在构造初始原型阶段,通过联合需求计划会议获取用户的需求,使用Rose建模工具建立用例图、对象图、类图对系统的预警功能进行分解,解决构建预警系统原型。在运行、评价、修改原型阶段,用户通过“大练兵”的方式来检查、评价系统来解决系统是否满足他们日常工作的要求。形成最终的系统阶段,通过多次评价及迭代完善功能需求,以及对系统的设计。通过以上技术使得项目顺利上线,稳定运行。
为解决大型活动现场的安保,同时能够洞察违法违规人员,协助民警更加快速的了解现场的人员在活动现场的分布情况,能够对一些gz人员进行管理,某局进行了风险洞察系统的研发。
2020年6月,我所在的单位承接了风险洞察系统的开发与设计,我在项目中担任系统分析岗位,主要负责系统分析及设计等工作。该系统是主要是能够对标签人员关注工作对象进入辖区及时发现、在辖区内风险行为及时关注、离开辖区及时掌握去向的目标。深度挖掘辖区内未掌握潜在工作对象,智能分析潜在风险隐患,风险线索深度研判,进而为民警提供情报线索,使民警能够精准的掌握辖区内所在对象的轨迹,对于不同的标签人员进行相应的预案,执行对应的措施,使辖区内的安保得到有效的支撑管理信息系统。系统主要分为系统管理、活动管理、区域设置、预案设置、推送设置、分析研判等。系统管理主要用来创建用户和角色以及角色对应的权限,活动管理主要是对大型活动的创建,区域设置是对活动的场所所管理的范围进行设置,预案设置,是对活动预警人员的设置,对活动进行预警处置的措施,推送设置,进预警的人员实施推送给民警。因此要高质量的完成该系统,选择一种合适的开发方法至关重要。
目前常用的系统需求分析方法主要有三种,包括结构化方法、原型法、面向对象法。结构化方法把整个系统的开发过程分为若干阶段,然后一步一步地依次进行,前一阶段是后一阶段的工作依据。该方法比较注重开发过程的整体性和全局性,理论基础严密,但开发周期长,文档、设计说明繁琐,工作效率低,且不能很好地应对变化。原型法与结构化方法不同,原型法的核心在于先快速开发一个原型系统,然后通过反复修改来实现用户的最终系统需求。该方法适于用户需求开始时定义不清、管理决策方法结构化程度不高的系统开发,更宜被用户接受。面向对象方法强调从现实世界中客观存在的事物(对象)出发来认识问题,使系统开发者大大减少了对问题域的理解难度,从而使系统能更准确地反映问题域;改善了人员之间的交流和协作,对软件复用提供了强有力的支持。
结合项目实际,下面将重点对系统的核心功能预警及处置从原型构造阶段,原型试用、评价、修改,形成最终的系统来介绍在项目中的实际运用。
1.原型构造阶段。
通过小组会议讨论对预警流程和处置需求,形成会议纪要,确定预警流程及处置的流程,使用Rose对预警功能进行建模构造原型系统。要构建系统的原型,首先捕获系统的核心功能点,根据核心功能点不断的延申进行迭代,我们进行了小组联合会议的方式对预警功能需求的探讨,参与方有客户代表、测试、民警、开发、项目经理若干人员,根据会议确定预警及处置的业务流程。分析出预警功能的角色有操作员,审核员、处置员、系统管理员,以及每个角色操作的功能。预警的方式需要对接多个厂商的数据,对接较为复杂。民警处置预警时需要一些预案和措施,针对以上,通过使用Rose对业务进行建模,首先对每个角色所需操作的功能构建用例图,其次使用流程图解决复杂的预警对接。然后使用状态图解决处置员处置预警的每个状况,通过以上措施,我们完成了构建系统原型的所需工作,最后开发人员根据构建模型开发出系统的原型。
2.使用“大练兵”的模式对系统进行试用、评价修改。
通过初步的构造出原型系统以后,为了可以更有效地辨认用户需求,同时获取用户对系统的使用效果。我们采取“大练兵”的方式进行了对系统的评价、检查、分析效果。首先,为了能够使得预警流程更加全面,地点选择了人流量多的地方。参与方有系统的操作员负责对预警活动的创建以及区域范围的配置,审核员对活动的内容审核,处置员对预警进行签收处置,通过以上各方参与者对系统的实施后。进行小组会议获得参与者对用户的评价,获取的评价如:操作员觉得创建预警活动时不能选择多个预警源,选择预案时要返回到另一个界面然后才可以选择,流程繁琐。审核员在审核时,希望设置一些审核条件,根据条件进行审核。处置员在处置预警时,发现预警人员和合照片的相似度相差太大。根据以上评价,我们对系统进行了分析和评估,对参与者的评价进行修改,由于单个测试点无法对系统测试、评价的更全面,则采用“大练兵”的方式来进行系统后续的评价,“大练兵”的方式如下:首先为每个分局设置如下任务。如:1.必须对系统的每个功能模块提出至少3个评价。 2.每个分局操作的系统模块进行计时,最后对分局操作的时长进行计时。3.使用问卷调查的方式对系统进行评价。通过以上措施的实施后,快速的获取了用户对系统的评价,为后续系统的迭代开发打下了良好的基础,最后用户对系统的满意度有了很大的提升。
3.形成最终的系统。
经过用户和开发的多次沟通,不但的进行对系统的迭代,用户和开发者对系统都比较满意。最后补充、求精、和完善细节问题,形成风险洞察预警系统。根据用户的满意度,对系统进一步完善,其中也存在很多细节问题,功能方面、系统安全性、可用性等方面。在功能方面如预警类型不够丰富,以及预警人员的信息过于单调。民警处置预警人员时,需要预案库,预案要根据不同的组织机构选择对应的预案等。在需求进一步求精时,我们采取联合会议的方式,对需求进行专题讨论,同时现场观摩业务人员的日常工作的流程。在系统安全方面,信息泄露是很系统的重大问题,我们采取国产SM3加密算法,对于系统的可用性我们采取主备模式服务进行部署。经过以上措施最终形成一个能够满足用户需求、可靠的风险洞察预警系统。
通过以上原型法开发的实施后,使得系统开发工作完成的非常顺利,系统开发的质量得到了保证,为后续项目的顺利实施提供了有力的支撑,最终项目在2021年2月成功上线,稳定运行,同时也抓捕了若干名违法违规人员,获得了用户的好评。
尽管如此,这个过程还是有需要改进的地方。如预警处置时,由于多个活动有公用同一片区域的情况,然后预警人员进入了两个活动的公共区域,但是民警在处置该人员时,会发生两个人同时处置一个人员的情况,为了解决该问题,后续在预警设置的时候进行校验重复提示。在形成系统阶段时,由于系统部署都需要人为的每次重复操作,后面采取了jekenis自动部署的方式解决该问题。经过此次原型系统的开发,我深刻体会到原型法是软件开发过程中的重要,丰富了系统开发方法方面的知识,同时发现了自身的一些缺点,学如逆水行舟,不进则退,仍需要加强自身的修炼,利用工作之余多学习新的理论知识,努力将自己的架构评估知识扩大提高,理论联系实际,并应用到项目实践中,为公司的腾飞尽一份力量。