话不多说,导图献上:
&part one 【需求分析】
一. 软件需求分析的任务和步骤及要求:
1.任务:它的基本任务是:准确回答“系统必须做什么”的问题。
-
深入描述软件的功能和性能
-
确定软件设计的约束和软件同其他系统元素的接口细节
-
定义软件的其他有效需求
具体任务:
(1)确定对系统的综合需求:
-
功能需求
-
性能需求
-
环境需求
-
接口需求
-
用户界面需求
-
以及可靠性、安全性、保密性、约束、可移植性和可维护性等方面
(2)分析系统的数据需求
(3)建立软件的逻辑模型:用数据流图、数据字典及处理算法等描述
(4)编写软件需求规格说明书(SRS)
(5)需求分析评审:目的是发现需求分析的错误和缺陷,然后修改开发计划
2.需求分析的步骤:
(1)需求获取:研究调查(问题识别)
(2)需求提炼:分析建模(分析综合)
常用的分析方法:
-
面向数据流的结构化分析方法(SA)
-
面向数据结构的Jackson方法
-
结构化数据系统开发方法(DSSD)
-
面向对象的分析方法(OOA)等
(3)需求描述:编制需求分析阶段的文档:
-
软件需求规格说明书(SRS)
-
数据要求说明书
-
初步的用户手册
-
修改、完善与确定软件开发实施计划
(4)需求验证:(需求分析评审)
3.需求分析的要求:
-
一致性(所以需求之间不互相矛盾)
-
完整性
-
现实性(可实现)
-
有效性
-
可验证性
二.需求获取的方法:
1.常用方法:客户访谈、建立联合分析小组、问题分析与确认
2.快速建立软件原型模型来获取需求
三.需求分析的常用方法:
1.功能分解方法
2.结构化分析方法:数据流图、数据字典、结构化语言、判定树和判定表等工具
3.信息建模方法:实体联系图(实体、属性和联系构成)
常用的模型包括:数据流图、实体联系图、控制流图、状态转换图、用例图、类对象关系及其行为图等
4.面向对象方法
四.需求分析的原则:抽象——分解——细化
1.数据流图必须能表达系统的功能域和信息域(信息域的三个属性:信息流(数据流)、数据内容、信息结构)
2.最顶向下逐层分解
3.给出系统的逻辑视图和物理视图
五.需求分析的评审:
-
一致性
-
完整性
-
现实性
-
有效性
六.需求分析图形工具:
1.数据流图
2.数据字典
3.层次方框图
4.Warnier(维纳)图
5.IPO图
另外:最常用的动态分析方法:
-
状态迁移图:描述系统
-
时序图
-
Petri图
&part two 【结构化分析方法】
结构化分析方法:(自顶向下,逐步分解)
1.是面向数据流进行需求分析的方法
特性:
-
支持数据域分析的机制
-
功能表示的方法
-
接口定义
-
问题分解的机制以及对抽象的知识
-
逻辑视图和物理视图
-
系统的抽象模型
2.结构化分析方法适合于数据处理类型软件的需求分析
有数据流图(DFD),数据字典,结构化语言,判定表和判定树(这三个是描述加工逻辑的)等分析方法
一.数据流图(DFD):表示系统逻辑模型的一种工具。
直观的图形——描述系统数据的流动和处理过程,图中无任何具体的物理元素,主要强调数据流和处理过程。
设计数据流图时只需考虑系统必须完成的基本逻辑功能,不考虑如何实现这些功能。
除上述4中基本符号之外,有时也使用几种附加符号,星号(*)表示数据之间的关系(同时存在);加号(+)表示“或”关系,⊕号表示只能从中选一个(互斥的关系)。
数据流图是软件开发者从用户的问题中提取4种成分:依次为源点和终点,加工,数据存储以及数据流。
二.数据字典:是数据流图中所包含元素的定义集合。
数据流图只描述了系统的“分解”,系统由那几部分组成,各部分之间的联系,并没有对所有的图形元素都进行命名。
数据字典的作用就是给人提供数据描述,即对数据存储(文件)和加工(处理)等名字进行定义。
三.加工逻辑的描述:结构化语言、判定树和判定表
(一)结构化语言:可使用顺序、选择、循环三种控制结构
(二)判定表:表格形式描述加工逻辑。
如图:判定表结构:
判定表能够把在什么条件下系统应该做什么动作准确无误地表示出来,但不能描述循环的处理特性。循环处理还需要用结构化语言来描述。
(三)判定树:比表更直观,也是多个逻辑关系时用
本章完~ 后续更加精彩~~~