需求分析及需求管理工具介绍
系统开发中的需求分析与管理

系统开发中的需求分析与管理需求分析与管理在系统开发过程中起着至关重要的作用,它旨在确保系统能够满足用户的需求,并通过管理这些需求的变更和优先级,提高系统的质量和性能。
本文将探讨需求分析与管理的重要性,以及一些常用的需求分析和管理工具和技术。
首先,需求分析与管理对于系统开发过程的成功至关重要。
它可以帮助开发团队更好地理解用户的需求,并将这些需求转化为具体的系统功能和特性。
通过需求分析,开发团队可以准确地确定系统的范围、功能和目标,并将其转化为相应的需求文档。
其次,需求分析与管理可以帮助开发团队更好地理解用户的需求,并协助他们制定合理的开发计划和设计方案。
通过需求分析,开发团队可以发现和识别潜在的风险和问题,并及时采取措施进行调整和改进。
此外,需求分析还可以帮助开发团队规范系统开发的流程和标准,提高开发效率和质量。
在需求分析过程中,有几个常用的工具和技术可以帮助开发团队更好地管理需求。
首先是需求调查和用户访谈,通过与用户进行沟通和交流,开发团队可以更好地了解用户的需求和期望,从而准确定义系统的需求。
其次是原型设计和模型建立,通过创建系统的原型和模型,开发团队可以更好地展示系统的功能和特性,验证和确认用户的需求。
最后是需求文档和需求跟踪矩阵,通过编写详细的需求文档和需求跟踪矩阵,开发团队可以更好地记录和管理系统的需求,确保需求的准确性和一致性。
除了需求分析外,需求管理也是系统开发过程中至关重要的一部分。
它主要包括需求变更和优先级管理。
需求变更管理是指在系统开发过程中,用户可能会提出新的需求或修改已有的需求,开发团队需要及时响应并进行相应的调整。
需求优先级管理是指根据用户的需求和重要性,确定系统的开发优先级,并进行相应的计划和调整。
在需求管理过程中,有几个常用的工具和技术可以帮助开发团队更好地管理需求。
首先是需求变更控制和跟踪,通过建立需求变更控制流程和跟踪系统,开发团队可以更好地管理需求的变更和追踪情况,并确保变更的及时处理和有效实施。
研发过程中的需求分析与管理

需求的优先级排序
1
根据产品的重要性和紧急程度,对需求进行优先 级排序。
2
优先满足重要且紧急的需求,其次是重要不紧急 的需求,最后是紧急不重要的需求。
3
在排序过程中,需要综合考虑产品的发展战略、 市场需求、技术实现难度等多方面因素。
04
需求评审与确认
需求评审的流程
收集需求
使用原型设计工具如Axure、 Sketch等,设计产品原型并收集 反馈。
03
需求整理与分类
需求整理的方法
收集需求
通过市场调研、用户访谈、问卷调查 等方式收集需求。
筛选需求
根据产品定位和目标用户群体,筛选 出符合产品方向和目标的需求。
分类整理
将筛选后的需求按照功能、性能、界 面等方面进行分类整理。
01
需求确认
在评审通过后,与相关干系人签 订需求确认书,明确需求内容和
责任。
03
需求跟踪
建立需求跟踪矩阵,确保开发过 程中的需求可追溯和验证。
02
需求变更
在开发过程中,若出现需求变更 ,需及时记录并评估影响,按照
规定的流程进行变更管理。
04
需求验收
在产品发布前,组织验收测试, 确保需求满足预期,提高产品质
它涉及到与用户的沟通、对市场和竞 争环境的调研,以及对产品或服务功 能的深入理解。
需求分析的重要性
确保产品或服务满足用户 需求
通过需求分析,可以明确用户对产品或服务 的需求,从而确保最终开发出的产品或服务 能够满足用户期望。
提高产品或服务质量
准确的需求分析有助于避免开发过程中的偏差,提 高产品或服务的质量和用户体验。
量。
软件系统需求分析包含的内容

原型确认:制作原型并让用户进行 试用,根据反馈调整需求。
添加标题
添加标题
添加标题
添加标题
测试:通过单元测试、集成测试和 系统测试等手段验证需求的正确性 和完整性。
评审与确认:在需求文档中明确标注 已验证和确认的需求,确保开发过程 中的需求变更得到有效控制和管理。
需求调研:收集用户需求,了解业务场景和流程 需求分析:对收集到的需求进行整理、分类和筛选,形成需求规格说明书 需求评审:组织专家或团队对需求规格说明书进行评审,确保需求的正确性和完整性 需求确认:与用户或利益相关者沟通,确认需求无误,并签署确认书
调查方式:线上、线下均可, 根据实际情况选择合适的调查
方式
直接观察用户 的工作过程, 了解业务流程
和操作流程
参与用户的工 作会议或讨论, 了解用户需求
和关注点
与用户进行面 对面的交流和 访谈,深入了 解用户的业务
需求和期望
观察和记录用 户的操作过程 和遇到的问题, 为后续的需求 分析和设计提
供依据
访谈目的:了解 用户需求和期望
访谈对象:相关 业务人员和技术 人员
访谈内容:收集用 户对软件系统的功 能、性能、界面等 方面的要求和期望
访谈技巧:提问开 放性问题,避免诱 导性提问,注意倾 听和记录
目的:了解用户需求,优化 产品设计
定义:通过设计一系列问题, 收集用户对软件系统的需求和 期望
问卷设计:需考虑用户群体、 功能需求、使用场景等因素
定义:对软件系统 需求变更的识别、 评估、批准和实施 进行管理的过程
目的:确保需求变 更遵循规范的流程, 保证软件质量和交 付进度
变更流程:提出变更 请求、评估影响、审 批变更、实施变更、 验证与测试、文档更 新
软件工程中的软件需求分析方法及工具

软件工程中的软件需求分析方法及工具在软件工程中,软件需求分析是软件开发过程中至关重要的一步。
它旨在明确软件系统的目标和功能,为软件开发团队提供明确的方向和基础。
为了完成这一任务,软件工程师们采用了各种不同的方法和工具来帮助他们进行软件需求分析。
接下来,本文将介绍几种常用的软件需求分析方法及工具,以帮助读者更好地理解和应用它们。
首先,需求采集是软件需求分析的核心环节之一。
它涉及与用户、利益相关者和目标受众的交流和协商,以收集所需功能和特性的详细信息。
在这个过程中,有几种常用的方法和工具可以帮助工程师们有效地收集和整理需求。
一种常用的方法是面谈。
通过与利益相关者进行面对面的交流,软件工程师可以直接了解到用户的需求和期望,并进行及时的澄清和确认。
这种方法尤其适用于复杂的项目,可以更清晰地了解用户的真实需求。
另一种常用的方法是问卷调查。
软件工程师可以设计问卷并发送给潜在用户,以便获取大量用户的反馈和意见。
这种方法可以收集到更多的数据,但也可能存在回复率低、信息不准确等问题,因此需要谨慎设计问卷,确保问题的准确性和易于回答。
此外,还有一种常用的方法是观察用户行为。
软件工程师可以通过观察和记录用户在现有系统中的行为和操作,来了解他们的需求和习惯。
这种方法可以帮助工程师们更深入地理解用户的实际需求,但也需要考虑保护用户隐私的问题。
在软件需求分析中,还有一些常用的工具可以辅助需求采集和整理。
其中,脑图工具是一种非常常见和实用的工具。
通过使用脑图工具,软件工程师可以将不同的需求和相关信息进行组织和展示,帮助他们更清晰地理解和分析需求。
除了需求采集之外,需求建模也是软件需求分析过程中的重要环节。
需求建模通过使用图形符号和规范化的语言来表示和描述软件系统的需求。
以下是几种常见的需求建模方法和工具。
首先是用例图。
用例图可以帮助软件工程师们了解用户与系统之间的交互和功能。
通过使用用例图,工程师们可以清晰地描述系统的不同角色和其对应的功能需求。
产品需求管理软件有哪些?

产品需求管理软件有哪些?产品需求管理软件是一种非常重要的工具。
它可以帮助企业更好地理解客户需求,提高产品开发效率并降低成本。
本文将介绍一些常见的产品需求管理软件及其主要功能。
“产品需求管理软件有哪些?比较流行的有Zoho Projects、Trello、Asana、Smartsheet等。
”一、产品需求管理软件有哪些功能?1.需求收集:产品需求管理软件可以用于收集来自客户、市场调研和内部团队的需求信息。
这些信息可以以各种形式(如调查问卷、会议记录、用户反馈等)输入到系统中。
2.需求分析:一旦收集到需求信息,产品需求管理软件可以帮助企业对其进行分析和整理。
这包括将需求按照优先级排序、识别重复或冗余的需求、评估需求的可行性等。
3.需求跟踪:产品需求管理软件可以用于跟踪需求的状态和进展情况。
这包括记录每个需求的当前状态(例如“待审批”、“已批准”、“正在开发”等)、设置提醒和通知以确保团队及时处理重要任务。
4.需求变更管理:随着项目进展,客户可能会提出新的需求或要求修改现有的需求。
产品需求管理软件可以帮助企业跟踪和管理这些变更,并确保它们得到适当的处理和记录。
5.报告和分析:产品需求管理软件可以生成各种类型的报告和分析,帮助企业了解其业务状况和趋势。
这些报告可以包括需求统计、进度报告、成本分析等。
二、产品需求管理软件有哪些?目前市场上有很多种产品需求管理软件,以下是其中一些比较知名的软件:1.Zoho Projects:Zoho Projects是一款非常流行的产品需求管理软件,它可以用于敏捷开发、缺陷跟踪和项目管理等,具有强大的功能和灵活的定制能力。
2.Trello:Trello是一款简单易用的产品需求管理工具,它使用卡片和列表来组织任务和项目,支持实时更新和共享,适合小团队使用。
3.Asana:Asana是一款全面的项目管理和团队协作工具,可以用于计划、跟踪和控制项目进度,支持多种项目管理方法和自定义字段。
需求管理的概念

需求管理的概念需求管理的概念需求管理是指对项目或产品的需求进行全面有效的管理,包括需求获取、需求分析、需求确认、需求变更控制等方面。
它是软件开发和产品设计中非常重要的一个环节,能够帮助团队更好地理解客户的需求,并确保项目或产品能够按照客户预期的要求完成。
一、需求获取1.1 定义需求获取是指通过各种渠道,收集和整理客户及相关利益相关者对项目或产品的各种需求信息。
1.2 方法在实际工作中,有多种方法可以用于获取客户和利益相关者的需求信息。
例如:- 与客户进行面对面交流;- 发放问卷调查;- 分析竞争对手产品;- 分析市场趋势等。
二、需求分析2.1 定义需求分析是指将收集到的各种需求信息进行分类、筛选和整理,并通过分析得出最终确定的项目或产品功能和特性。
2.2 方法在实际工作中,有多种方法可以用于进行需求分析。
例如:- 制定详细的功能列表;- 进行用户故事编写;- 制定用例图等。
三、需求确认3.1 定义需求确认是指与客户和利益相关者进行沟通,确保对项目或产品的需求理解完全一致,并得到客户的认可。
3.2 方法在实际工作中,有多种方法可以用于进行需求确认。
例如:- 与客户进行面对面交流;- 发放需求确认文档并要求客户签字认可;- 进行演示和展示等。
四、需求变更控制4.1 定义需求变更控制是指在项目或产品开发过程中,对已经确定的需求进行修改、添加或删除等操作,并通过一定的流程进行管理和控制。
4.2 方法在实际工作中,有多种方法可以用于进行需求变更控制。
例如:- 制定详细的变更流程;- 设计变更申请表格并要求客户签字认可;- 进行变更评审等。
五、需求跟踪5.1 定义需求跟踪是指在整个项目或产品开发过程中,通过追踪每一个需求的状态和进度,确保项目或产品能够按照预期完成。
5.2 方法在实际工作中,有多种方法可以用于进行需求跟踪。
例如:- 制定详细的跟踪计划;- 设计跟踪表格并记录每一个需求的状态和进度;- 进行定期的跟踪报告等。
软件工程常用工具(一)2024

软件工程常用工具(一)引言概述:软件工程常用工具在软件开发过程中起到了极为重要的作用。
这些工具能够提高软件的质量、加快开发速度,并帮助团队更好地协同工作。
本文将介绍五种常用软件工程工具,并分别阐述它们的功能和优点。
一、集成开发环境(IDE)1. 代码编辑器:提供丰富的代码编辑功能,如代码自动补全、语法高亮等。
2. 调试器:帮助开发人员找到和修复程序中的错误。
3. 版本控制系统集成:方便团队协作和代码管理。
4. 代码检测和重构工具:可以自动发现潜在的问题并进行代码重构。
二、需求管理工具1. 需求收集和分析:用于收集、整理和分析用户需求,并将其转化为可执行的开发任务。
2. 需求跟踪:跟踪需求的状态和进展,确保开发团队按时完成开发任务。
3. 团队协作功能:允许团队成员就需求进行实时交流和讨论。
三、测试工具1. 自动化测试工具:帮助开发人员快速编写和执行软件测试用例。
2. Bug跟踪系统集成:将测试过程中发现的问题和bug直接关联到开发任务中,方便开发人员追踪和修复。
3. 性能测试工具:对软件进行负载测试,发现潜在的性能问题。
四、项目管理工具1. 进度管理:统计和展示项目进展情况,帮助项目经理合理安排资源和时间。
2. 任务分配和跟踪:将项目划分为多个任务,分配给团队成员,并跟踪任务的完成情况。
3. 团队协作功能:支持团队成员之间的信息共享和协同工作。
五、文档管理工具1. 文档版本控制:对文档进行版本管理,确保团队成员可以方便地查看和编辑最新的文档。
2. 文档协作和共享:多人同时编辑同一文档,方便团队成员协同工作。
3. 文档搜索和分类:快速定位和检索所需文档,提高工作效率。
总结:软件工程常用工具在现代软件开发中起到了至关重要的作用。
集成开发环境提供了丰富的代码编辑和调试功能,提高开发效率;需求管理工具帮助开发团队更好地理解和分析用户需求;测试工具和项目管理工具提高软件质量和项目进度管理效果;文档管理工具协助团队成员共享和管理文档。
项目需求管理

项目需求管理项目需求管理是指对项目中的需求进行有效管理和控制,确保项目能够按照客户和利益相关者的需求进行开发和交付。
本文将从需求管理的定义、流程、方法和工具等方面进行详细介绍。
一、需求管理的定义需求管理是指在项目的整个生命周期中,对需求进行识别、分析、规划、跟踪和控制的过程。
它包括需求的收集、整理、确认、变更和验证等环节,旨在确保项目团队能够理解和满足客户和利益相关者的需求。
二、需求管理的流程1. 需求收集:通过与客户和利益相关者的沟通,收集项目的需求信息。
可以采用面谈、问卷调查、访谈等方法,确保收集到全面、准确的需求。
2. 需求分析:对收集到的需求进行分析和整理,识别其中的关键需求和优先级。
可以使用需求分析矩阵、用例图、数据流图等工具,帮助理解需求的本质和关系。
3. 需求规划:根据需求的优先级和可行性,制定需求的实施计划。
确定需求的时间、资源和人员分配,以及需求的变更控制和验证方法。
4. 需求跟踪:在项目执行过程中,跟踪需求的实施情况和变更情况。
通过需求跟踪矩阵、变更控制表等工具,及时掌握需求的状态和进展。
5. 需求控制:对需求的变更进行控制和管理,确保变更的合理性和可行性。
通过变更控制委员会、变更请求表等工具,评估和决策需求变更的影响和风险。
6. 需求验证:在项目交付之前,验证需求是否得到满足。
可以通过验收测试、用户反馈等方式,确认项目的交付物是否符合需求。
三、需求管理的方法和工具1. 需求分析方法:包括需求调研、需求建模、需求优先级分析等方法,帮助理解和分析需求的本质和关系。
2. 需求管理工具:包括需求管理软件、需求跟踪工具、变更控制工具等,帮助实现需求的收集、分析、跟踪和控制。
3. 需求管理标准:如IEEE 830标准、BABOK等,提供了需求管理的规范和指导,帮助项目团队进行需求管理工作。
四、需求管理的好处1. 确保项目按时、按质、按需交付:通过需求管理,项目团队能够准确理解客户和利益相关者的需求,从而确保项目能够按时、按质、按需交付。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
需求工程及需求管理工具介绍V 1.0Marco Lee2012-09-04Contents一、需求工程综述 (3)1)需求定义 (3)2)需求工程概述 (4)3)需求工程主要过程 (4)4)需求分析的特点 (5)5)需求开发的十种常用方法 (5)6)需求建模方法 (5)7)主要概念区分 (7)1、项目范围管理 (7)2、需求开发、需求管理、项目范围管理的区别和联系 (7)二、CMMI需求开发过程 (7)1)基本概念 (7)2)需求调查方法 (8)3)CMMI需求分析过程 (9)三、需求管理工具介绍 (12)1)Rational RequisitePro (12)2)IBM Rational DOORS (12)3)Borland CaliberRM (14)4)Cloudtopo Topo (14)摘要需求是研发团队工作的起点,很多研发团队的开发过程混乱的源头都在于需求管理没有做好。
项目失败或严重超支的八个最重要原因中有五个都与需求相关:1)不完整的需求;2)缺乏用户的参与;3)不实际的客户期望;4)需求和需求规格说明的变更;5)提供许多不必要的功能。
本文就有关需要的概念以及主流需求管理系统,进行了论述。
一、需求工程综述图1-需求分析组成部分1)需求定义通俗的讲,“需求”就是用户的需要,它包括用户要解决的问题、达到的目标、以及实现这些目标所需要的条件,它是一个程序或系统开发工作的说明,表现形式一般为文档形式。
按CMMI软件能力成熟度的定义,需求是开发方和客户方就系统未来所达到的功能和质量所达成的一致约定和协议。
PMP定义,需求是指发起人、客户和其它干系人的已量化且记录下来的需要与期望。
收集需求旨在定义和管理客户期望。
2)需求工程概述需求工程过程——即需求分析活动,以下统称为需求工程——在整个系统开发与维护过程中越来越重要,它贯穿于系统开发的整个生存周期。
上个世纪80年代中期,形成了软件工程的子领域——需求工程 (Requirement Engineering, RE)。
需求工程,是应用已证实有效的技术、方法进行需求分析,确定需求客户,帮助系统开发分析人员理解问题,评估可行性,协商合理的解决方案、无歧义地规约方案、确认规约以及将规约转换到可运行的系统时的管理要求。
需求工程通过合适的工具和符号系统地描述待开发系统及其行为特征和相关约束,形成需求文档,并对用户不断变化的需求演进给予支持。
需求工程是一个项目的开端,也是项目建设的基石。
需求工程的过程包括了需求开发和需求管理两个部分。
整体需求工程过程在项目启动后开始,进行需求获取、分析、规划定义和需求验证,并进行组织内外的需求评审,以确定需求基线,并在需求发生变更时,重新进行需求的获取、分析、定义和验证评审,并对需求变更影响项进行相关识别、风险应对、修改和跟踪,并对需求状态和变化过程进行统计分析和测量汇报。
需求开发(RD,Requirement Development)指的是从问题收集、分析和评价到编写文档、评审等一系列产生需求的活动,这几个阶段的活动可以是相互独立和反复的,不一定非要遵循线性的顺序。
需求开发讲究的是用系统的方法获取真正的全面的能实现的需求。
需求管理(RM, Requirement Management)则是与需求直接相关的活动,即软件项目开发过程中控制和维持需求约定的活动,主要包括:变更控制、版本控制、需求跟踪、需求状态跟踪等工作。
需求管理强调的是需求的确认以及需求变更的控制,其目的是确保各方对需求的一致理解,管理和控制需求的变更,从需求到最终产品的双向跟踪。
3)需求工程主要过程1)需求开发规程:分为需求获取、需求分析、规格化定义和需求验证等操作过程。
2)需求评审规程:对完成的系统需求进行组织内外评审的过程;3)需求变更管理规程:需求基线产生后对需求进行变更管理的过程;4)需求跟踪管理规程:对需求进行状态跟踪和过程跟踪的管理过程;5)需求的测量和分析:对需求状态和需求变化过程进行测量和分析评估的管理过程;4)需求分析的特点需求分析工作的复杂性及面临的潜在风险主要体现在以下方面:1)需求描述的准确性问题;2)需求的完备程度问题;3)需求开发的时间问题;4)需求的细化程度问题;5)需求的变更问题。
5)需求开发的十种常用方法1)需求调查:采用需求调查表进行需求收集和调查;2)需求访谈:进行面对面的需求访谈、记录、整理并确认;3)资料收集和文档考古:收集业主方的有关资料进行分析提炼;4)需求研讨:召开需求研讨会有目的的对需求进行研讨;5)需求头脑风暴:发散式的对需求进行遐想和探索;6)需求原型:依据需求原型进行需求沟通和探索,是电子政务行业常用的需求开发方法;7)实地学习:实地深入业主方业务现场进行观摩学习,以提炼需求;8)实务跟踪/实地工作:更加深入的跟踪现场多个实物,甚至深入业主方现场进行实地、实务长时间、多案例的实地工作;9)案例讲述和故事板:通过对案例或故事的讲解和分析获取需求;10)场景模拟/角色扮演:通过模拟一个场景或者由不同人员扮演不同的角色进行需求模拟和角色分析,来获取需求。
6)需求建模方法需求建模是软件需求工程过程的重要阶段。
不同的需求建模方法蕴含了不同的建模理念,代表了看待软件系统的不同视角。
1、结构化需求分析方法自20 世纪70 年代中期以来,结构化的需求建模方法一直是比较流行和普及的需求建模技术之一。
它认为系统的功能就是“数据”流经系统时发生变迁的能力,同时需要外部事件触发进行完成变迁的过程。
2、面向对象的需求分析方法面向对象的需求建模方法是当今工业界的主流方法,它认为现实系统是由各种各样的现实“对象”组成,对象可以被分类、被描述、被组织、被操作、被创建,系统是要实现对现实世界实体(对象)的计算,需要在系统中建立这些实体的映像,这些实体的个体操作模型和交互模型就是系统的功能模型。
面向对象的需求建模方法的关键是从获取的需求信息中识别出问题域中的类与对象,并分析它们之间的关系,最终建立起简洁、精确和易理解的需求模型。
UML是随着面向对象方法发展起来的统一建模语言,包括用来表示系统静态结构的用例图、类图等,以及表示系统动态结构的状态图、活动图、序列图、协作图和配置图等。
3、面向问题域的需求分析方法上述两种传统方法都只是针对软件系统本身的建模方法,并没有涉及软件需求从哪里来、客户存在什么问题需要解决、为什么客户会期望或者需要软件来帮助它们解决这些问题、他们需要软件帮他们做什么等问题。
20 世纪90 年代之后,提出在进行软件系统建模之前,需要对软件将处于的环境,即软件将要解决的现实世界的问题进行建模,需要对包含软件及其环境的软件加强型系统进行建模,这样才能识别出或者推导出人们对软件的真正需求。
面向问题域(Problem Domain,PD)的需求分析方法 (Problem Domain-Oriented Analysis,PDOA)是由M·Jackson和P.Zave等人提出的一种需求分析方法。
与传统的结构化需求分析方法和面向对象需求分析方法相比显著不同,其本质在于从待求解问题的角度,考虑待开发的软件系统将在与待求解问题相关的域内产生的效果。
面向问题域建模的核心是问题框架。
问题框架方法认为,软件系统对现实世界的作用是软件问题的来源,对软件系统将与现实世界发生的作用进行结构化分析是需求分析的切入点。
问题框架方法强调需要对软件系统将要作用的客观现实世界进行刻画,并将需求的含义指称(映射)到对现实世界相关领域的描述上。
其建模的基本概念是现实世界中的领域以及未来软件系统与领域的交互。
问题框架方法定义了一些常见的软件问题类型,称为问题框架。
问题框架方法的基本思想就是在问题分析中使用问题框架,将复杂的现实世界软件问题结构化为相互作用的可以匹配到问题框架的子问题的集合。
基于问题框架方法进行需求建模,其第1 类概念是现实世界中的领域和未来软件系统与领域的交互。
它认为,系统的功能体现在未来软件系统与现实世界领域的交互下产生的对现实世界领域的作用效果。
在问题框架方法中,用机器领域显式地表示了要创建的软件系统。
用问题领域建模现实世界领域,严格区分了问题领域和机器领域,由此确定了问题的边界,却又不涉及任何关于机器领域的细节描述。
由此避免过早进入问题的解决方案。
它强调在关注解决方案之前关注问题本身,尽可能地识别出关键的困难并尽早地加以解决。
这是它与其他需求工程方法的根本区别。
7)主要概念区分1、项目范围管理项目范围管理,包括为成功完成项目所需要的一系列过程,以确保项目包含且仅仅只包含项目所必须完成的工作。
范围管理首先要定义和控制在项目内包括什么、不包括什么。
一般来说,范围分为产品范围和项目范围:1)产品范围是指表示产品或服务的特性和功能。
2)项目范围是指为了完成具有所规定特征和功能的产品必须完成的工作(需求定义)。
项目范围是否完成以项目管理计划作为衡量标准,而产品范围是否完成以产品需求作为衡量标准。
两种范围管理需要很好地集成起来,以确保项目工作能产生所规定的产品并准时交付。
2、需求开发、需求管理、项目范围管理的区别和联系主要如下:1)首先通过需求开发来获取项目的需求, 在此基础上确定项目的范围,进行项目范围管理。
2)对于项目需求, 可以根据需求的紧急重要程度、项目本身和项目双方的实际情况,分步或分期满足。
确定每期应满足的需求后,本期的范围管理就有了基础。
3)需求管理处理需求的变更,需求的变更同时会引起项目范围的变更。
二、CMMI需求开发过程1)基本概念CMMI提出了需求开发--RD,要理解好RD PA (ProcessArea, 过程域),需要先理解清楚以下几个关键的概念:∙客户需求(Customer Requirements):客户需求可以理解成客户为什么要做本系统,要解决什么问题,客户对系统有怎样的期望,希望能具备一些怎样的特点,简单的说,就是客户的需求是什么(通常会包括对系统目标、范围、解决问题、软件特性、接口要求等有详细的描述)。
∙产品需求(Product Requirements):产品需求是能满足客户需求,并对软件产品规格进行了详细描述的需求,软件设计师可以根据产品需求进行设计、编码等工作。
∙产品组件需求(Product Component Requirements):产品组件需求是对产品需求的进一步细化,产品可能会分割成几个子系统、几个部分,每个子系统每部分要具备怎样的功能、要具备怎样的性能、接口要求等,这些可以认为是产品组件需求。
图2-需求间的层次关系从另外一个角度,需求可以分为功能性需求和非功能性需求两类。
功能性需求就是系统具备怎样的功能,能做什么事情,而非功能性需求就是指系统要具备怎样的性能、安全级别等方面的要求。