2024系统分析师---论软件需求管理

摘要:

本人于2018年1月参与了中石化XX油田XX采油厂"用电管理系统"的项目建设,该系统建设目标是实现分单位、分线路、分系统评价、优化、考核,全面提升采油厂用电管理水平。在该项目组中我担任系统架构师一职,主要负责系统需求分析及整体架构设计工作。在项目开发过程中,我们采用用户访谈、发放调查问卷、联合需求计划会议及现场观摩的方式进行需求的获取,经过需求分析,形成需求规格说明书并建立需求基线。在建立需求基线的基础上,成立变更控制委员会,并利用需求变更系统对需求变更进行管理。利用分布式版本控制系统GIT对需求过程中形成的文档进行版本控制。建立需求跟踪矩阵,对用户原始需求、系统需求及后续产品进行双向跟踪,保证用户需求不遗漏,产品功能有出处。通过对需求的有效管理,项目进展顺利并通过验收,取得了令人满意的效果。

正文:

"用电管理系统"项目是采油厂能源管控中心系统的一个子系统。能源管控中心是中石化集团公司十三五规划中的"能效倍增"计划在胜利油田分公司的示范应用项目,该示范项目能够在实现企业节能目标管理、能源计量统计、节能潜力识别、能效分析优化的同时,有效支撑企业实施节能技术改造、促进企业用能水平不断提升。"用电管理系统"的建设目标是建立覆盖厂、区两级用电管理一体化体系,实现分单位、分线路、分系统评价、优化、考核,达到电网运行质量实时监控、异常情况精准管控、能耗总量全面受控,按照运行产量的方式运行电量,全面提升采油厂用电管理水平。该项目功能设计参考PDCA闭环管理的理念,共设计包括用电计划、用电分析、用电优化、用电考核、设备管理等五大功能模块。

我作为单位技术骨干之一,主持并参与了项目计划制定、需求分析、整体架构设计与技术选型、底层设计、部分编码等多项工作。下面,我将结合"用电管理系统"项目,详细介绍如何进行软件需求管理以及实施的具体效果。

软件需求的有效获取是项目成功的基础。项目初期,对于不同的用户角色我们分别采取用户访谈、发放调查问卷、联合需求计划会议及现场观摩的方式采集用户的需求。客户方查新中心主任以及一些业务骨干,我们采取了用户访谈的形式,提前准备好需要了解的业务问题,面对面的与用户进行交流。对于查新委托人,因为这些用户分布在全省各地,所以只能采用问卷调查的方式来收集他们的需求。为了保证调查问卷的回收率,我们以情报研究院查新中心的名义下发通知,并为完整填写调查问卷的委托人提供了小礼物。对于其他查新业务人员,我们采用联合需求计划会议的形式,参会人员由客户方业务骨干、项目经理、系统分析师以及开发团队代表组成。同时,我们安排专人现场观摩查新工作的运转流程,与查新员、审核员等专业人员一起工作,切实弄懂业务流程。需求采集之后,通过归纳、分析、整理,形成正式的软件需求规格说明书,经客户确认后,作为需求基线纳入需求管理过程。

在项目执行过程中,需求的变更是不可避免的,在不得不进行的变更的情况下,越早进行变更,对项目的影响越小,越晚进行变更,影响越大。但是,需求变更可能对软件的工期,质量以及成本产生重大的影响。如果不对需求变更加以控制,造成软件需求变更失控,则必然会造成项目工期的延后,项目成本的增加,导致项目失败。软件需求变更管理就是利用工程化的手段,对软件需求的变更进行管理和控制的过程。为了对项目的需求变更进行有效的控制,我们建立了需求变更控制系统,对需求变更的流程进行了规定。成立需求变更控制委员会(CCB),成员由客户方代表,我方项目经理、系统分析师以及质量管理人员组成。规定所有的变更必须以书面形式提交给需求变更委员会。CCB组织人员对变更进行评估,评估其对项目在成本、进度、质量方面的影响,并根据其紧急程度,做出立即变更、不予变更或延期进行变更的裁决。对于需要进行的变更,CCB负责监控变更的执行,变更结束后,CCB还要负责确认变更达到预期的效果、相关内容是否进行了更新。例如,在项目执行过程中,客户方要求系统进行变更,由支持单一查新机构内部的协同工作平台变更为支持全省各地市查新机构进行协同工作。CCB收到变更申请后,立即组织会议进行评估。大家认为,目前项目大部分设计工作已经完成,部分模块已经进入了实质性编码阶段,现在进行变更,全部设计工作需要重新推翻重做,将会对项目的工期、成本、质量产生无法预计的影响,目前不能进行变更。在与客户方代表进行反复沟通的情况下,双方达成一致,暂时不进行变更,在项目进行二期建设的时候再考虑。

在需求管理的过程中,因需求的变更以及产品的频繁发布,会产生大量不同版本的文档需要进行版本管理。我们利用分布式版本控制系统GIT对需求过程中形成的文档进行版本控制。GIT是一款免费的、开源的、分布式的版本控制系统,它可以快速高效的处理各种规模的软件项目。

需求跟踪是将单个需求和其他系统元素之间的依赖关系和逻辑关系建立跟踪。我们采用需求跟踪矩阵,对用户原始需求、系统需求及后续产品进行双向跟踪。双向跟踪包括正向跟踪和反向跟踪,正向跟踪主要检查用户的原始需求是否在软件需求规格说明书中以及后续的软件产品中找到对应点,在需求跟踪矩阵中,将用户保证用户需求不被遗漏。反向跟踪主要是检查设计文档、代码、软件产品等工作成果是否能在软件需求规格说明书中找到出处,并能追溯到客户的原始用户需求。

由于对需求工作高度重视,2018年11月,整个项目顺利完成,达到了预期的目标和要求。各级用户对系统的功能设置一致满意,也得到了公司管理层的高度评价。开发过程中没有出现因为需求模糊不清而导致最终开发的功能不符合用户要求的现象,没有发生大规模的需求变动,这得益于我们在需求获取、分析、验证、管理等方面的努力。查新综合平台上线运行以后,经过几年的使用,系统运行良好,得到了用户的一致好评。

相关推荐
2401_8576009527 分钟前
剖析 SpringBoot 于夕阳红公寓管理系统架构搭建的核心作用
系统架构
程序猿进阶7 小时前
HickWall 详解
java·后端·面试·性能优化·系统架构·监控·hickwall
通信_楠木20 小时前
【笔记总结】华为云:应用上云后的安全规划及设计
笔记·安全·系统架构·华为云·安全架构
架构师Wu老七1 天前
【软考】系统架构设计师-软件工程基础
系统架构·软件工程·软考·uml·面向对象·系统架构设计师·净室软件工程
小康师兄1 天前
【软考速通笔记】系统架构设计师⑧——系统质量属性与架构评估
笔记·架构·系统架构·质量属性·atam·架构评估·质量属性场景
小康师兄1 天前
【软考速通笔记】系统架构设计师③——信息安全技术基础知识
数据库·笔记·信息安全·系统架构·系统架构师·全国计算机技术与软件专业
007php0071 天前
SAAS美容美发系统架构解析
开发语言·python·gpt·golang·系统架构·github·php
猿来不是梦4 天前
RT_Thread内核源码分析(三)——线程
嵌入式硬件·系统架构·rt_thread操作系统
流着口水看上帝5 天前
微服务系统架构图
微服务·架构·系统架构
J老熊7 天前
JavaFX:简介、使用场景、常见问题及对比其他框架分析
java·开发语言·后端·面试·系统架构·软件工程