软件工程-第三章(需求工程)

一、需求工程概述

  • 需求获取
  • 需求分析与协商
  • 系统建模
  • 需求规约
  • 需求验证
  • 需求管理

二、需求获取(FAST)小组组成及基本原则

需求获取#

软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。

  功能需求
  性能需求
  用户或人的因素
  环境需求
  界面需求
  文档需求
  数据需求
  安全保密需求
  可靠性需求
  软件成本消耗与开发进度需求
  其他非功能性需求

需求获取方法与策略#

建立顺畅的通信途径
访谈与调查
观察用户的操作流程
组成联合小组
用况


三、需求分析、协商和建模

需求分析#


需求协商#

需求建模#

四、需求规约与验证(需求规约的8条基本原则)

需求规约#



需求规约的8条基本原则#

  • 从现实中分离功能,即描述要“做什么”而不是“怎么实现”。
  • 要求使用面向处理的规约语言(或称系统定义语言),讨论来自环境的各种刺激可能导致系统做出什么样的功能性反应来定义一个行为模型,从而得到“做什么”的规约。
  • 如果被开发的软件知识一个基于计算机的系统中的一个元素,那么整个大系统也应包括在规格说明的描述之中。
  • 规约必须包括系统运行环境。
  • 规约必须是一个认识模型,而不是设计或实现的模型。
  • 规约必须是可操作的,利用它能够通过测试用例判断已提出的解决方案是否都能满足规约。
  • 规约必须允许不完备性并允许扩充。
  • 规约必须局部化和松散耦合。规约所包括的信息必须局部化,这样当信息被修改时,只需要修改单个的段落(理想情况)。同时,规约应被松散地构造(即送耦合),以便能够很容易的加入和删除某一些段落。

需求验证#

posted @   IamHzc  阅读(337)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示
主题色彩