《大型软件项目中的需求管理及控制.docx》由会员分享,可在线阅读,更多相关《大型软件项目中的需求管理及控制.docx(15页珍藏版)》请在第一文库网上搜索。
1、大型软件项目中的需求管理及控制目录摘要2前言21 .术语解释32 .需求过程参与人员角色及职责43 .善于抓核心,抓主流程54 .需求真伪的判断55 .需求全景图56 .软件开发中的需求分析与需求管理66.1. 需求分析的过程66. 2.需求的层次76. 3.需求开发阶段的重点76. 4.需求分析的任务86. 5.注解:SRS格式87.需求开发与管理流程97. 1.前述97. 2.需求获取97. 2. 1.前述97. 2. 2.调查问卷97. 2. 3.访谈97. 2. 4.现场观摩工作流程,观察实际操作107. 2. 5.从法律法规、行业标准、业务规则中提取需求107. 2. 6.文档追溯(
2、文档考古)107. 2. 7.需求讨论会107.2.8.原型法107. 3.需求获取资料的保管107. 4.编写用户需求规格说明书117. 5. 需求分析117. 5. 1.前述117. 5. 2.结构化分析方法117.5. 3.基于用例的分析方法127. 6.需求定义127.6. 1.定义需求优先级127.6. 2.编写软件需求规格说明书127. 7.需求确认137.7. 1.需求评审137.7. 2.需求承诺137.7. 3.建立需求基线147. 8.需求变更147. 9.需求跟踪14参考文献:14摘要根据作者所在单位软件系统开发过程中,针对需求管理及控制中遇到的一些问题进行了较深入的研究
3、和论述,形成了比较系统的软件项目需求管理及控制的基本流程和方法,借鉴及整理了目前国际上比较成熟和先进的需求开发及管理经验和成果。关键词:大型软件项目;需求获取;需求分析;确认;变更;跟踪;整体管理1.刖百本文通过作者多年从事大型软件项目管理的经验,从甲方的角度定义和论述大型软件在需求过程中的一些过程及规范,并通过规范需求过程的步骤及方法来达到缩短开发周期、降低软件开发成本和提高软件质量的目的,并且通过需求分析工作,定义分析方法把用户需求转化为软件需求,同时利用科学的方法评审需求的正确性,避免需求的随意性,在项目初期即获得需求双方的承诺;控制需求的变更,并确保软件系统项目工作产品与需求的一致性。
4、在一个大型软件系统的开发中,需求分析之所以重要,就因为它具有决策性,方向性,策略性的作用。它在软件开发的过程中具有举足轻重的地位,它的作用要远远大于程序设计。它是剖析业务场景、流程,挖掘用户痛点,直面现状问题,提供解决方案,实现业务价值。今天我们就来谈谈需求分析。1 .术语解释软件需求:在IEEE软件工程标准词汇表(1997年)中定义软件需求为:1)用户解决问题或达到目标所需的条件或能力。2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。3) 一种反映上面1)或2)所描述的条件或权能的文档说明。通俗地讲,需求就是用户的需要,它包括用户要解决的问题、达到的目标以及实
5、现这些目标所需要的条件,它是一个程序或系统开发工作的说明,表现形式一般为文档形式。用例:是在系统中执行的一系列动作,这些动作将生成对特定参与者可见的价值结果,一个用例定义了一组用例实例。需求分析:是指在需求开发过程中,对所获取的需求信息进行分析,及时排除错误和弥补不足,确保需求文档正确地反映用户的真实意图。需求分析的关键就是对问题域的研究与理解。为了便于理解问题域,现代软件工程方法所推荐的做法就是对问题域进行抽象,将其分解为若干基本元素,然后对元素之间的关系进行建模。百度百科对需求分析的定义:需求分析称为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用
6、户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。需求分析是软件计划阶段的重要活动,也是软件生存周期中的一个重要环节,该阶段是分析系统在功能上需要实现什么,而不是考虑如何去实现。需求分析的目标是把用户对待开发软件提出的要求或需要进行分析与整理,确认后形成描述完整、清晰与规范的文档,确定软件需要实现哪些功能,完成哪些工作。此外,软件的一些非功能性需求(如软件性能、可靠性、响应时间、可扩展性等),软件设计的约束条件,运行时与其他软件的关系等也是软件需求分析的目标。需求分析斐然亦瘴需求分析阶段的工作,可以分为四个阶段:业务调研、问题分析
7、与综合、b编制规格说明、评审。需求分析首先是需要了解用户的需求是什么,这些需求是经过业务场景的调研、分析,再进行重组得到的,在软件开发中应满足功能性与非功能性要求,从挖掘需求到产品设计,可以通过一个专业流程进行分析。这个流程是:需求收集需求描述-需求全景图非功能需求需求验证产品设计。2 .需求过程参与人员角色及职责在大型软件项目中的需求过程中,明确角色及职责,界定在需求过程中各角色人员的具体工作和范围是非常重要的,根据作者本人所在单位的软件建设过程和系统特点,在软件需求过程中按照单位的职责划分分为如下角色及职责:项目总负责人:负责项目的需求评审及确认,并担任需求评审小组的组长;项目经理:负责组
8、织单位各部门配合项目进行需求调研,并对项目进行需求分析和管理工作;需求分析师:负责需求的获取,分析以及定义评审小组:接受需求评审申请,组织进行需求的评审CM工程师:负责需求基线变更的维护。3善于抓核心,抓主流程在需求收集调研的过程中,我们首先要抓核心点,不是所有用户诉求都是需求。我们每做一个项目迭代或者新项目一定有目的,而需求分析阶段,需求采集渠道中的需求往往是零散的、无重点的、逻辑性不强的,所以我们需要从这些离散的需求点中抓住核心,梳理实际使用场景去分析问题,所有的核心点一定是以最终目的为导向的,不是所有用户诉求都是需求。不要谁的需求都听,每个人都有自己的想法,也有自己的需求,没有哪个产品能
9、满足所有用户,系统分析需求之前应该先搞清楚需求提出人身份,是目标用户吗?是产品重度使用者吗?是功能服务对象吗?不是说来源不可靠的需求就完全不做分析,这一点也需要考虑在你的分析范畴内。4 .需求真伪的判断不同的需求对应不同的场景,通过对具体场景的描述来展示不同的功能,为之后的产品功能设计打好基础。需求真实性的判断,一个需求是否真实通常可以通过回答以下四个问题来判断:用户是谁?需求场景是怎么样的?用户遇到的问题是什么?用户想要解决的实际需求是什么?以上四个问题对应了用户、场景、挑战和目的,能够回答以上四个问题是判断需求真实性的前提,即如果无法表述前面的问题就可以判定这不是一个真实需求。在需求分析中,需要善于制定规则、改善复杂流程,并把零散的需求整合梳理。5 .需求全景图撰写需求全景图的目的是尽量在一张图内将产品所有的功能全部展示出来,不追求需求的细节,聚焦在全面的展示全部功能,以及产品的范围边界,与其他系统的集成接口。需求全景图可以通过思维导图的方式,将产品功能全部展示,或者列出产品的功能列表图,将多级功能菜单罗列清晰。第5页共15页hzi,0*汁公H40140)露口 KU寅gil 8en OLAP、OLTP JDK8.0 .