第5章 需求工程与需求分析
- 格式:ppt
- 大小:301.00 KB
- 文档页数:29


第一部分软件需求的基本概念*好需求的特征:无歧义、完整、一致、可检验、确定、可跟踪的,正确的,可行的和必要的。
软件开发的目标,简单而言,就是满足用户的需要。
三种最经常使项目“遇到困难"的因素是:⏹缺乏用户介入:占所有项目的13%⏹不完整的需求和规格说明:占所有项目的12%⏹不断改变的需求和规格说明:占所有项目的12%三种项目最主要的“成功因素"是:⏹用户介入:占所有成功项目的16%⏹高层管理的支持:占所有成功项目的14%⏹需求陈述清晰:占所有成功项目的12%高质量的需求过程带来的好处:在开发后期和整个维护阶段的重做的工作大大减少了。
IEEE软件工程标准词汇表定义需求为:1.用户解决问题或达到目标所需的条件或能力。
2.系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力.3.一种反映上面(1)或(2)所描述的条件或能力的文档说明.第二章需求的层次*需求是多层次的,包括业务需求、用户需求、功能需求和非功能需求。
业务需求反映了组织机构或客户对系统、产品高层次的目标要求,位于需求链中的最顶层,在项目视图和范围文档中予以说明。
用户需求描述了用户使用产品必须要完成的任务,这在实例文档或方案脚本予以说明。
功能需求定义了开发人员必须实现的软件功能,使得用户完成他们的任务,从而满足了业务需求。
和非功能需求在SRS中说明。
非功能性的需求描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作界面的具体细节和构造上的限制。
需求路线图:涉众需要-〉系统的特性—〉建立软件需求软件的6个质量特征(非功能性需求):可靠性,可用性,有效性,可维护性,可移植性,约束。
有效性(Efficiency)是在规定的条件下,软件性能水平与所使用资源量之间关系有关的一组属性.可靠性(Reliability)是与在规定的一段时间和条件下,软件维持其性能水平的能力有关的一组属性可维护性(Maintainability)是与进行指定的修改所需的努力有关的一组属性约束定义为:对开发人员在软件产品设计和构造上的限制。
如何进行工程项目的需求分析和定义工程项目的需求分析和定义是项目管理的关键环节。
只有准确理解和明确定义项目的需求,才能确保项目的成功实施。
本文将介绍如何进行工程项目的需求分析和定义的步骤和方法。
一、需求分析1. 项目背景和目标:首先,需要明确项目的背景和目标。
了解项目所处的行业和市场,明确项目的目标和预期成果。
2. 参与者访谈:与项目相关的各方参与者进行访谈,包括业主、用户、利益相关者等,了解他们的需求、期望和问题。
通过访谈来收集各种需求信息。
3. 数据收集和分析:收集和分析与项目相关的数据,包括市场调研报告、行业指导和相关统计数据等。
通过数据分析来了解行业趋势和项目所需的各种信息。
4. 制定需求清单:根据以上信息,制定项目的需求清单。
需求清单应包括项目的功能需求、非功能需求、性能指标、质量要求等。
5. 确定需求优先级:对需求清单中的各项需求进行排序和优先级划分。
确保满足项目的核心需求和关键功能。
6. 需求分析工具:使用各种需求分析工具,如流程图、数据流图、用例图等,来进一步分析和细化需求。
通过工具来明确需求之间的关系和依赖。
二、需求定义1. 需求描述:对每个需求进行详细的描述,包括需求的功能、目的、输入和输出,以及实现需求所需的资源和条件等。
2. 需求规范:根据需求描述,制定需求规范。
需求规范应包括需求的具体要求、验收标准和实现方式等。
3. 需求验证:对需求进行验证,确保需求的准确性和可行性。
可以通过模型验证、原型验证、测试验证等方法来验证需求。
4. 需求变更管理:在项目实施过程中,需求可能会发生变更。
需要建立变更管理机制,及时记录和分析需求变更,并对变更进行评估和控制。
5. 需求跟踪和管理:需求跟踪和管理是确保项目按需求进行的重要手段。
需要建立需求跟踪表和需求变更控制表,及时记录和跟踪需求的实现情况和变更情况。
6. 需求沟通和协调:需求的沟通与协调是项目成功的关键。
需要与项目团队、业主和利益相关者保持良好的沟通与协调,确保需求的理解和一致性。