本文用书:《软件工程导论》 第六版 清华大学出版社
1.需求分析的基本任务是什么?
2.分析建模
2.1什么是模型?
模型:就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图形符号和组织这些符号的规则组成。
2.2.数据模型(E-R)、功能模型(2.4节数据流图)、行为模型(状态转换图是行为模型的基础)
3.要从哪些方面验证软件需求?
3.1 需求分析的任务
借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的 “做什么” 的问题。
1.必须定义软件完成的功能,建立功(DFD);
2.必须理解并描述问题的信息域,根据这条准则应该建立数据模型(E-R);
3.必须描述作为外部事件结果的软件行为,这条准则要求建立行(STD状态转换图)。
1.确定对系统的综合要求;
2.分析系统的数据要求;
3.导出数据的逻辑模型;
4.修正系统的开发计划。
3.2与用户沟通获取需求的方法
1.访谈;
2.面向数据流自顶向下求精;
3.简易的规格说明技术;
4.快速建立软件模型。
3.3分析建模与规格说明
1.模型:就是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图形符号和组织这些符号的规则组成。
2.数据模型=数据对象+描述对象的属性+描述对象间相互连接的关系。
3.实例的关联有三种: 一对一(1:1); 一对多(1:m); 多对多(n:m)。
3.4 实体-联系图
例子
3.5 数据规范化
第一范式:每一个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构;
第二范式:满足第一范式条件,而且每个非关键字属性都有整个关键字决定;
第三范式:满足第二范式条件,每个非关键字属性都仅由关键字决定,而且一个非关键字的属性不能仅仅是对另一个非关键字属性的进一步描述。
3.6 状态转换图
例子:复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接受复印命令;如果执行复印命令时发生卡纸故障,则进入卡纸状态,发出警告,等待维修人员来排除故障,故障排除后后进入闲置状态。
3.7 其他图形工具
1.层次方框图
用树形结构的一系列多层次的矩形框来描述数据的层次结构:
(1)树形结构的顶层是一个单独的矩形框,它代表着完整的数据结构;
(2)下面的各层矩形代表这个数据的子集;
(3)最低层的各个框代表组成这个数据的实际数据元素。
2.warnier图
利用Warnier图可以清楚地表明数据的逻辑结构中某类信息的重复出现及某些特定信息出现的条件约束。一个大括号内的所有名字都属于同一类信息;异或符号“⊕”用于表明一类信息或一个数据元素在一定条件下出现,而且在这个符号上、下方的两个名字所代表的数据只能出现一个。
3.IPO图
3.8 验证软件需求
1.从哪些方面验证软件需求的正确性
(1)一致性;
(2)完整性;
(3)现实性;
(4)有效性。
2.用于需求分析的软件工具(略)