结构化分析方法
一、需求分析与需求分析方法
需求阶段是软件开发的关键阶段。
需求分析的任务:准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么;用《需求规格说明书》规范的形式准确地表达用户的需求。
需求分析阶段的工作(四方面):
◆需求获取:确定系统各方面需求;全面地提炼出系统的功能性与非功能性需求。
◆需求分析:对获取的需求分析和综合,给出系统解决方案和逻辑模型。
◆编写需求规格说明书:为用户、设计人员的交流提供方便,还可作为控制软件开发进程的依据。
◆需求审评:复审需求分析阶段的工作,验证需求文档的一致性、可行性等。
1、需求获取的目的
清楚地理解所要解决的问题、完整地获取用户需求。
2、需求获取的内容
用户需求分类:
(1)功能性需求
定义了系统做什么(描述系统必须支持的功能和过程)。
(2)非功能性需求(技术需求)
定义了系统工作时的特性(描述操作环境和性能目标)。
3、需求分析的步骤
需求分析的步骤
当前系统目标系统
物理
模型
逻辑
模型
逻辑
模型
物理
模型
模型化抽象化
具体化实例化
怎
么
做
做
什
么
当前
目标
系统
需
求
定
义
4、需求分析过程示意
(1)通过对现实环境的调查,获得当前系统的物理模型。
(2)去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型。
(3)分析当前系统与目标系统的差别,建立目标系统的逻辑模型。
5、需求分析的方法
结构化分析(传统建模方法)、面向对象分析。
计算机世界
现实世界
结构化开发方法
结构化
分析结构化设计结构化编程
OOA OOD OOP
面向
对象开发
方法
二、结构化分析方法
1、结构化分析方法(Structure Analysis---SA ) (1) 定义
是面向数据流进行需求分析的方法,采用自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。
(2)结构化分析的主要步骤
通过对用户的调查,以软件的需求为线索,获取当前系统的具体模型;去掉具体模型中非本质因素,抽象出当前系统的逻辑模型;根据计算机的特点分析当前系统与目标系统的差别,建立目标系统的逻辑模型;完善目标系统并补充细节,写出目标系统的软件需求规格说明。
2、结构化分析方法使用的常用工具
(1)数据流图(DFD —Data Flow Diagram ) ① 作用
从数据传递和加工的角度,在需求分析阶段以图形的方式描述数据流从输入到输出的移动变换过程,为系统建立逻辑模型。
◆ 注意:数据流图中的箭头表示的是数据流。
程序流程图中的箭头表示的是控制流。
② 数据流图中的基本图形符号意义
数据加工:转换数据流的处理过程
外部实体:表示数据的源点或终点, 即系
统外部的实体。
数据流:在转换之间有向流动的数据项或数据
集合
数据存储文件: 可以是数据库文件或
任何形式的数据组织。
箭头:箭头向内则表示写入文件或查询
文件.箭头向外则表示从文件中读取数
据或得到查询结果.
③数据流图的层次结构
为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。
按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。
◆在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。
它的输入流是该系统的输入数据,输出流是系统所输出数据。
◆底层流图是指其加工不需再做分解的数据流图,它处在最底层。
◆中间层流图则表示对其上层父图的细化。
它的每一加工可能继续细化,形成子图。
④建立数据流图的步骤
第1步——由外向里:先画系统的输入输出,然后画系统的内部。
第2步——自顶向下:顺序完成顶层、中间层、底层数据流图。
第3步——逐层分解。
(2)数据字典
①定义
是所有与系统相关的数据元素的一个有组织的列表,以及精确、严格的详细定义。
②作用
对DFD中出现的被命名的图形元素的确切解释,数据词典与数据流图配合,能清楚地表达数据处理的要求。
③数据字典的组成
数据项:是数据的最小单位;数据结构:是若干数据项的有意义的集合;数据流:可以是数据项,也可以是数据结构,表示某一个处理过程的输入或输出;数据存储:处理过程中存取的数据,常常是手工凭证、手工文档或计算机文件;处理过程。
(3)判定树
使用判定树进行描述时, 应分清哪些是判定的条件,哪些是判定的结论,并找出判定条件之间的从属关系、并列关系、选择关系,根据它们构造判定树。
优点:更加直观,易于理解和使用
(4)判定表
①使用条件
当数据流图中的加工要依赖于多个逻辑条件的取值时(该加工的一组动作是由于某一组条件取值的组合而引发的),使用判定表描述比较适宜。
②判定表的组成(四部分)
基本条件:各种可能的条件;条件项:各种可能的条件组合;基本动作:所有的操作;动作项:对应的条件组合下所选的操作。