1.需求分析
①需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题,对目标系统提出完整、准确、清晰、具体的要求。
需求分析是发现、求精、建模、规格说明和复审的过程。
②系统分析员应该写出软件需求规格说明书,以书面形式准确地描述软件需求
③即:先与用户交流,了解基本需求……继续深入,逐步求精需求……建立分析模型……写成软件规格说明书……严格评审……最终得到用户确认。
补充:一般从1.一致性2.完整性3.现实性4.有效性 四方面去复审软件需求规格说明书。
- 一致性 所有需求必须是一致的,任何一条需求不能和其他需求相互矛盾。
- 完整性 需求必须是完整的,规格说明书应包括用户需求的每个功能。
- 现实性 用现有的硬件技术或软件技术基本上能实现的。
- 有效性 需求是正确有效的,确实能解决用户面对的问题。
软件需求规格说明是需求分析阶段得出的最主要的文档
④验证软件需求的方法:
①验证需求的一致性(使用形式化的描述需求的方法);②验证需求的现实性(参照以往经验 );三验证需求的完整性和有效性(让用户使用原型系统)
⑤软件需求说明书组成:
(1)引言:编写目的、背景说明、术语定义及参考资料等。
(2) 概述主要功能、约束条件或特殊需求。
(3) 数据流图与数据字典。
(4) 用户接口、硬件接口及软件接口。
(5) 性能需求、属性等。
(6) 其它需求,如数据库、操作及故障处理等
2.需求工程
①需求工程包括需求分析和需求管理
②需求分析任务主要包括:
- 确定随系统的综合要求(①功能需求;②性能需求;③可靠性和可用性需求;④出错处理需求;⑤接口需求;⑥约束(精度约束、标准约束之类的);⑦逆向需求(系统不应该做什么);⑧将来可能提出的需求)
- 分析系统的数据要求 (建立数据模型 ——ER图。描绘数据结构—— 层次方框图和 Warnier 图。数据结构规范化。)
- 导出系统的逻辑模型(根据前两项分析结果导出详细的逻辑模型,通常用 数据流图、实体- 联系图(ER图)、状态转换图 、 数据字典和主要的处理算法描述这个逻辑模型)
- 修正系统开发计划
③需求管理是对系统需要变更了解和控制的工程,包括标识、控制和跟踪需求的活动
④需求分析两大主要目标:
- 建立分析模型:可用实物——联系图建立数据模型,可用数据流图建立逻辑模型,可用状态图建立行为模型。(其中,数据字典是把三种分析模型粘合在一起的“粘合剂”,是分析模型的“核心”)
- 编写需求规格说明书(简称:规格说明)
3.结构化分析方法的准则
- 必须理解并描述问题的信息域,根据这条准则应该建立数据模型
- 必须定义软件应完成的功能,这条准则要求建立功能模型
- 必须描述作为外部事件结果的软件行为,这条准则要求建立行为模型
- 必须对描述信息、功能和行为的模型进行分解,用层次的方式展示细节。
4.实体联系图
概念性数据模型反映了用户的现实环境,且与软件系统中的实现方法无关。
数据模型包含三种互相关联的信息:
数据对象,矩形框表示
数据对象的属性,菱形框表示
数据对象彼此之间相互连接的关系,圆角矩阵或椭圆形表示。
5.数据规范化
第一范式:每个列不能再分
第二范式:满足一范式条件,并且消除部分函数依赖。
第三范式:符合第二范式的条件,每个非关键字属性仅由关键字决定,消除传递函数依赖。
6.状态转换图
①状态转换图通过描述系统的状态及引起系统状态转换的时间,来表示系统的行为模型
②状态:状态是任何可以观察到的系统行为模式,一个状态代系统的一种行为模式。状态规定了系统对事件的响应方式。状态图中定义的状态有初态、终态和中间状态。一张状态图只有一个初态,有零个或多个终态。
中间状态:用圆角矩形表示,分成上、中、下3 部分
上面部分—– 为状态的名称;
中间部分—– 为状态变量的名字和值;
下面部分—– 是活动表。
状态转换:带箭头的连线,箭头指明转换方向
③ 活动:
格式:事件名(参数表)/动作表达式**
“事件名”可以是任何事件的名称。
常用的3种标准事件:
1、entry事件指定进入该状态的动作;
2、exit事件指定退出该状态的动作;
3、do事件则指定在该状态下的动作。
需要时可以为事件指定参数表。活动表中的动作表达式描述应做的具体动作。
7.系统流程图和数据流程图的区别
- 系统流程图描述系统物理模型的工具,数据流程图描述系统逻辑模型的工具。
- 系统流程图从系统功能的角度抽象的描述系统的各个部分及其相互之间信息流动的情况。数据流程图从数据传送和加工的角度抽象的描述信息在系统中的流动和数据处理的工作状况
8.形式化说明技术
①按照形式化的程度,可以把软件工程使用的方法划分为非形式化、半形式化、形式化三类
(1)用自然语言描述需求规格说明是典型 的非形式化方法.
(2)用数据流图或E-R图建立的模型是典型 的半形式化方法。
(3)形式化方法是描述系统性质的基于数学 的技术,即如果一种方法有坚实的数学基础,那么它就是形式化的。
②形式化方法的优点
- 准确、没有二义性
- 可以在软件工程活动之间平滑过渡
- 提供了高层确认的手段
③应用形式化的原则
1.选用适当的方法
2.应该形式化,但不要过度形式化
3.估算成本
4.有形式化方法顾问随时提供咨询
5.不应该放弃传统的方法
6.不应该放弃质量标准
7.不应该盲目以来形式化方法
8.反复测试
9.重用
④
9.状态转换图
STD图(State Transform Diagram)状态转换图,表示行为模型。STD通过描述系统的状态和引起系统状态转换的事件,来表示系统的行为,指出作为特定事件的结果将执行哪些动作。STD描述系统对外部事件如何响应,如何动作
①各部分如下:状态集、输入集、转换函数T、初始态S、终态集。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!