软件开发的生命周期
软件需求 设计 实施 测试 运行和维护
需求 客户需要的
软件需求分为需求开发和需求管理
需求开发:
需求获取
需求分析
需求定义(需求规格说明书)
需求验证(和客户评审签字确认)
需求基线
需求管理:
变更流程
版本控制
需求跟踪
需求状态跟踪
需求的分类(易错)
业务需求
用户需求
系统需求
功能需求
非功能需求 (性能需求) 质量属性 可维护性 可靠性 效率等
设计约束 限制条件或补充规约 对系统的约束说明 (外部强制规定的约束)
重点易错题
需求获取:
优缺点 适用情况
联合需求计划JRP (比较重要)
真题:
需求分析的任务:
1:数据流图
需求分析:分两类
(1)结构化的需求分析
自顶向下 逐步分解 面向数据
(2)面向对象的需求分析
数据流图(下午题重要)
数据流的流向必须经过加工
加工:描述了输入数据流到输出数据流之间的变换
三类错误加工:
黑洞:有输入没有输出
奇迹:有输出没有输入
灰洞:输入不足以产生输出
外部实体 :存在于软件系统之外的但是会跟系统进行交互
分层数据流图 父图和子图虽然是划分的,输入输出是对应的
1、顶层图 上下文 整个系统跟外部实体交互
2、0层 系统扩展
数据字典 数据流 数据项 数据存储 基本加工
加工逻辑:描述方法有结构化语言、判定表、判定树
需求定义:
严格定义 需求明确
原型定义 需求不明确
需求验证
与用户一起确认
需求评审
正式评审和非正式
需求测试
设计概念测试用例
用户签字确认
最终的产出:需求规格说明书(通过了评审就行) 这是需求基线 如果要改需要走需求变更流程
顺序不能变
需求跟踪
1、正向跟踪 有没有少实现
2、反向跟踪 有没有多实现 有没有多