软件工程——软件需求任务
需求工程是一个广泛的领域,专注于成为建模、分析、设计和构建之间的连接器。它是在软件工程设计过程中定义、识别、管理和开发需求的过程。这个过程使用工具、方法和原则来描述系统的行为和随之而来的约束。
需求工程是每个企业必须遵循的最重要部分,才能成功构建和发布项目,因为它是关键规划和实施的基础。
需求工程任务:软件需求工程过程包括以下活动步骤:
- 成立之初
- 引出
- 细化
- 谈判
- 规格
- 验证
- 需求管理
让我们详细讨论这些步骤中的每一个。
1. 开始:这是需求分析过程的第一阶段。这个阶段概述了如何开始一个项目。在开始阶段,所有的基本问题都被问到如何进行一项任务或完成一项任务所需的步骤。获得了对问题的基本了解,并解决了解决方案的性质。在这个阶段,有效的沟通非常重要,因为这个阶段是下一步要做的事情的基础。总体而言,在初始阶段,软件工程师必须满足以下标准:
- 对问题的理解。
- 想要解决方案的人。
- 解决方案的性质。
- 客户和开发人员之间的沟通和协作。
2. 引出:这是需求分析过程的第二阶段。这个阶段的重点是收集利益相关者的需求。在这个阶段应该小心,因为需求是确定项目关键目的的东西。了解客户需要的需求类型对于开发人员来说非常重要。在此过程中,可能会发生错误,例如未执行正确的要求或忘记某个部分。这个阶段必须让合适的人参与。在启发阶段可能会出现以下问题:
- 范围问题:给出的要求是不必要的细节、定义不明确或无法实施。
- 理解问题:在提出所需要求时,开发人员和客户之间没有明确的理解。有时,客户可能不知道他们想要什么,或者开发人员可能误解了一个要求对另一个要求。
- 波动性问题:随着时间的推移,需求的变化可能会导致项目的领导困难。它可能导致资源和时间的损失和浪费。
3. 细化:这是需求分析过程的第三阶段。这个阶段是起始和启发阶段的结果。在细化过程中,它采用前两个阶段已经陈述和收集的需求并对其进行细化。扩展和进一步调查也完成了。此阶段的主要任务是沉迷于建模活动并使用必要的工具和功能开发一个详细说明特征和约束的原型。
4. 协商:这是需求分析过程的第四阶段。这个阶段强调讨论和交流对话,讨论需要什么和要消除什么。在谈判阶段,开发商和客户之间的谈判是在商业资源有限的情况下如何进行项目。要求客户对需求进行优先排序,并对可能随之出现的冲突进行猜测。所有需求的风险都被考虑在内,并以客户和开发人员都满意的方式进行协商,并参考进一步的实施。在谈判阶段讨论以下内容:
- 资源的可用性。
- 交货时间。
- 要求范围。
- 项目成本。
- 对发展的估计。
5. 规范:这是需求分析过程的第五阶段。此阶段指定以下内容:
- 书面文件。
- 一组模型。
- 用例的集合。
- 一个原型。
在规范阶段,需求工程师收集所有需求并开发工作模型。这个最终的工作产品将成为要观察的任何功能、特征或约束的基础。此阶段使用的模型包括 ER(实体关系)图、DFD(数据流图)、FDD(函数分解图)和数据字典。
以客户能够理解的语言将软件规范文档提交给客户,以了解工作模型。
6. 验证:这是需求分析过程的第六阶段。此阶段侧重于检查错误和调试。在验证阶段,开发人员扫描规范文档并检查以下内容:
- 所有要求均已说明并正确满足
- 错误已被调试和纠正。
- 工作产品是根据标准构建的。
这种需求验证机制被称为正式的技术审查。一起工作并验证需求的评审团队包括软件工程师、客户、用户和其他利益相关者。该团队中的每个人都通过检查任何错误、缺失信息或任何必须添加的内容或检查任何不切实际和有问题的错误来参与检查规范。一些验证技术如下 -
- 需求审查/检查。
- 原型制作。
- 测试用例生成。
- 自动一致性分析。
7. 需求管理:这是需求分析过程的最后阶段。需求管理是整个团队参与识别、控制、跟踪和建立项目成功和顺利实施的需求的一系列活动。
在此阶段,团队负责管理项目期间可能发生的任何变更。新的需求出现了,在这个阶段,应该负责管理和优先考虑它在项目中的位置,这个新的变化将如何影响整个系统,以及如何解决和处理这个变化。基于此阶段,工作模型将被仔细分析并准备交付给客户。