软件工程基础图式(第三章 需求分析)
软件工程基础图示(第三章 需求分析)
学习目标:
1)需求分析相关概念
2)需求分析任务和步骤
3)需求变更管理
4)出题:面向过程的分析方法,重点:数据流图
5)出题:面向对象的分析方法,重点:用例图
1、需求分析概念
需求:清晰、简洁、无二义性
任务:建立分析模型、编写需求说明
2、需求分析步骤
1)需求确认:需求获取——需求提炼(建模)——需求描述——需求验证
2)需求变更<需求变更一定是甲方提>
3)需求获取
- 类型:
- (1)功能性需求
- (2)非功能需求:限定了选择解决问题方案的范围(平台、语言等)
- 需求获取技术:
- 采访、设定情景(演)、原型、会议、观察商业过程和工作流
- 面临挑战:
- 客户说不清需求
- ——分清哪些是稳定需求,将核心建于其上
- ——说清“做什么”和“不做什么”
- 客户说不清需求
- 需求诱导十原则
- (1)倾听
- (2)有准备的沟通(表格)
- (3)需要有人推动
- (4)最好当面沟通
- (5)记录所有的决定(签字)
- (6)保持通力协作
- (7)聚焦并协调话题
- (8)采用图形表示
- (9)继续前进原则
- (10)谈判双赢原则
4)需求提炼(需求分析)
- 核心:建立分析模型
- 需求建模图形工具
5)需求描述
- 软件需求规格说明的结构
- (1)引言,半句优点多讲不足,大半页纸
- (2)综合描述
- (3)需求描述
- (4)附录
- (5)索引
6)需求验证(第三方)
3、面向过程的需求分析-结构化分析方法:功能模型——数据流图
1)绘制步骤:从结构化分析:上至下,逐步细化的分层数据流图
(1)命名
(2)确定输入和输出流
(3)顶层数据流图(0层)
(4)主要数据流输入的源点和输出终点
2)主要图形元素
3)数据流和数据加工结合图
4)注意:
(1)数据流!=控制流
(2)不标激发条件
(3)一层因为比较简单写总体的输入输出,二层把一层一一拆开就好,不写总体输入输出,二层总图都写
5)数据字典
4、面向对象的需求分析:功能模型——用例图
1)用例视图
(1)参与者
(2)用例
(3)执行关联
1>关联:参与者与用例,指向:不定—消息接收方
2>泛化:参与者之间或用例之间,指向:父用例
3>包含:用例之间,指向:分解步骤
4>扩展:用例之间,指向基础用例
2)用例建模的过程
角色代入