7_结构化需求分析方法

合集下载

结构化的分析方法

结构化的分析方法
(1)这样得到的多层DFD可清晰的反映整个数据加工的真实情况; (2)对于任何一层DFD来说,称它的上层为父图,下层为子图; (3)在多层DFD中,可以把顶层DFD,中间层DFD和底层DFD区分开来;
信息系统分析与设计
16
分层DFD示意图
信息系统分析与设计
17
绘制DFD的主要原则
• • • • 明确系统边界 自顶向下,逐步扩展 合理布局 DFD只反映数据流向,逻辑加工,数据存 储,不反映任何技术细节处理方式 • DFD绘制过程,用户参与原则
可行性分析
从经济、技术、社会等方面的 因素考察所要开发的系统的可 能性和必要性。 •功能性需求; •非功能性需求;主要包括性能,如处理 速度、吞吐量、响应时间等,安全性, 可靠性… 建立一个能够满足定义所描述的 用户需求模型,包括过程建模和 信息系统分析与设计 数据建模。
需求分析
系统建模
5
系统分析阶段的主要活动
信息系统分析与设计
18
(a)
பைடு நூலகம்
顶层图
(b)
第0层图
(c)
第一层图
(d)
第二层图
信息系统分析与设计 19
A
B
A
B
重复标记1
重复标记2 重复标记1
重复标记2
X
Y
信息系统分析与设计
X
Y
20
利用重复标记缩短箭线
用户
用户
用户
信息系统分析与设计
21
绘制DFD的主要步骤
(1)确定系统的外部项,也就是数据的源点和汇点;
成分的实际意义,避免空洞的名字
• 编号 按层给加工编号,编号表明该加工处于那一层,以及上下 层父图子图的关系

结构化需求分析

结构化需求分析
(1)冗余本身不是错误,但是容易发生错误。冗余可增加SRS的 可读性,但是在一个冗余文件被更新时容易出现问题。例如:假 设一个明确的需求在两个地方详细列出,后来发现这个需求需要 改变,若只修改一个地方,于是SRS就变得不一致了。 (2)不管冗余是否必须,SRS一定要包含一个详细的交叉引用表, 以便SRS具备可修改性。
完整性和一致性,我们应努力追求高度形式 化的表示法。
7.可修改性

如果一个SRS的结构和风格在需求有必要改变时是 易于实现的、完整性的、一致的,那么这个SRS就 是可以修改的。可修改性要求SRS具备以下条件:
a. 具有一个有条不紊的易于使用的内容组织,具有目录表, 索引和明确的交叉引用表; b. 没有冗余。即同一需求不能在SRS中出现多次。

1.正确性
正确性指的是SRS中陈述的每个需求都表达
了将要构造的系统的某种要求。 目前尚不存在有效的技术来保证这个质量, 因为它完全依赖于当前的应用系统。 例如,如果软件必须在5秒钟内对所有的按键 事件作出相应,而SRS中陈述“软件应在10 秒钟内对所有的按键事件作出响应”,则该 需求描述是不正确的。
3.完整性


如果一个SRS能满足下列要求, 则该SRS就是完整的: (1)期待未来系统所做的任何 事情都包括在SRS的陈述中。
如果一个SRS既是完整的又是正
SRS规约完整 则为空
确的,那么区域A和C同时为空, 两个原是重合的。 完整性是所有属性中最难以保证 的,原因是不完整意味着有些东 西不在SRS中,这样检查材料很 难发现其中不存在的东西 诊断不完整性的一个有效技术就 是开发原型。

例如: “产品应有易于使用的用户界面”

使用不可度量的量

结构化需求分析方法

结构化需求分析方法

结构化分析(SA)方法结构化开发方法(Structured Developing Method)是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速、自然和方便。

结构化开发方法由结构化分析方法(SA法)、结构化设计方法(SD 法)及结构化程序设计方法(SP 法)构成的。

结构化分析(Structured Analysis,简称SA 法)方法是面向数据流的需求分析方法,是70 年代末由Yourdon,Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用。

它适合于分析大型的数据处理系统,特别是企事业管理系统。

SA 法也是一种建模的活动,主要是根据软件内部的数据传递、变换关系,自顶向下逐层分解,描绘出满足功能要求的软件模型。

1 SA 法概述1.SA 法的基本思想结构化分析(Structured Analysis,简称SA 法)是面向数据流的需求分析方法,是70年代由Yourdon,Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用。

结构化分析方法的基本思想是“分解”和“抽象”.分解:是指对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决.图4 是自顶向下逐层分解的示意图.顶层抽象地描述了整个系统,底层具体地画出了系统的每一个细节,而中间层是从抽象到具体的逐层过渡。

抽象:分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个自系统的方法就是“抽象”。

2。

SA 法的步骤⑴建立当前系统的“具体模型”;系统的“具体模型”就是现实环境的忠实写照,即将当前系统用DFD 图描述出来.这样的表达与当前系统完全对应,因此用户容易理解。

⑵抽象出当前系统的逻辑模型;分析系统的“具体模型”,抽象出其本质的因素,排除次要因素,获得用DFD 图描述的当前系统的“逻辑模型”。

3.3 结构化需求分析方法

3.3 结构化需求分析方法

订货单 支票
顾客
询问 退货单
处理顾 客事务
第三章 需求分析
15
多个数据流的第一种表示方法:
订货单 顾客事务
顾客
处理 顾客 事务
支票 询问
退货单
16
第三章 需求分析
多个数据流的第二种表示方法:
订货单
编辑订 货单
开收据 处理询 问 退货分 析处理
支票
顾客
询问
退货单
第三章 需求分析
17
多个数据流的表示举例
重建父图,即把第二步所得的每一部分画成一个圆圈, 各部分之间的联系就是加工之间的界面; 重建各张子图,只需把第二步所得的图,按各自的边界 剪开即可; 为所有加工重新命名、编号。
第三章 需求分析
36
结构不合理的数据流图及其修改
4 H A B 1 I 2 K L D 3 D (a)结构不合理的 数据流程图
33
分解的程度
分解应自然,概念上要合理、清晰。 上层可分解的快些,而下层应分解得慢些。
在不影响可读性的前提下,应适当地多分解成几部分, 以减少分解层数。
一般说来,当加工可用一页纸明确地表述时,或加工只 有单一输入/输出数据流时,就应停止对该加工的分解。 对数据流图中不再作分解的加工,必须作出详细的加工 说明,并且每个加工说明的编号必须与功能单元的编号 一致。
第三章 需求分析
5
结构化分析方法的特点
利用数据流图来帮助人们理解问
题,对问题进行分析。即利用图
形工具来模拟数据处理过程。
第三章 需求分析
6
结构化分析方法
用数据字典定义数据流图中的各项数据; 结构化英语、判定树和判定表对数据流图中的基本功 能进行描述。 通过将系统分解成多层处理后,在较低层次上,可以 看到数据流图的高层次加工的细节和相关的数据流。 结构化分析方法的实质就是采用一组分层的数据流图 及相应的数据字典作为系统的模型。 结构化分析方法从总体上看是一种强烈依赖数据流的 自顶向下的建模方法,它不仅是需求分析技术,也是 完成规格说明的手段。

结构化需求分析方法

结构化需求分析方法

结构化分析(SA)方法结构化开发方法(Structured Developing Method)就是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点就是快速、自然与方便。

结构化开发方法由结构化分析方法(SA法)、结构化设计方法(SD 法)及结构化程序设计方法(SP 法)构成的。

结构化分析(Structured Analysis,简称SA 法)方法就是面向数据流的需求分析方法,就是70 年代末由Yourdon,Constaintine 及DeMarco 等人提出与发展,并得到广泛的应用。

它适合于分析大型的数据处理系统,特别就是企事业管理系统。

SA 法也就是一种建模的活动,主要就是根据软件内部的数据传递、变换关系,自顶向下逐层分解,描绘出满足功能要求的软件模型。

1 SA 法概述1、SA 法的基本思想结构化分析(Structured Analysis,简称SA 法)就是面向数据流的需求分析方法,就是70年代由Yourdon,Constaintine 及DeMarco 等人提出与发展,并得到广泛的应用。

结构化分析方法的基本思想就是“分解”与“抽象”。

分解:就是指对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决。

图4 就是自顶向下逐层分解的示意图。

顶层抽象地描述了整个系统,底层具体地画出了系统的每一个细节,而中间层就是从抽象到具体的逐层过渡。

抽象:分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个自系统的方法就就是“抽象”。

2、SA 法的步骤⑴建立当前系统的“具体模型”;系统的“具体模型”就就是现实环境的忠实写照,即将当前系统用DFD 图描述出来。

这样的表达与当前系统完全对应,因此用户容易理解。

⑵抽象出当前系统的逻辑模型;分析系统的“具体模型”,抽象出其本质的因素,排除次要因素,获得用DFD 图描述的当前系统的“逻辑模型”。

2017年全国计算机考试四级复习纲要:结构化分析方法

2017年全国计算机考试四级复习纲要:结构化分析方法

(三)结构化分析⽅法结构化分析是⾯向数据流进⾏需求分析的⽅法。

20世纪70年代末,经Yourdon E.,Con¯stantine L.,DeMarco T.等⼈提出和发展,⾄今已得到⼴泛应⽤。

结构化分析⽅法的⼀些重要概念也渗透在其他开发⽅法中。

例如,结构化分析与设计技术(Structured Analysis and Design Technique,SADT)、⾯向对象技术(Object-Oreinted Technique,OOT)、IDEF⽅法等。

结构化分析⽅法适合于数据处理类型软件的需求分析。

由于利⽤图形表达需求,显得清晰、简明,易于学习和掌握。

具体来说,结构化分析⽅法就是⽤抽象模型的概念,按照软件内部数据传递、变换的关系,⾃顶向下逐层分解,直到找到满⾜功能要求的所有可实现的软件为⽌。

根据DeMarco的论述,结构化分析⽅法使⽤的⼯具有:数据流图、数据词典、结构化英语、判定表、判定树。

结构化分析⽅法有两个明显特点:(1)⾃顶向下逐层分解。

采⽤简明易懂、直观的描述⽅式1.数据流图数据流图也称为Bubble Chart或data Flow Graph。

是描述数据处理过程的⼯具。

数据流图从数据传递和加⼯的⾓度,以图形的⽅式刻画数据流从输⼊到输出的移动变换过程。

(1)数据流图的主要图形元素从数据流图中可知,数据流图的基本图形元素有4种。

数据流是沿箭头⽅向传送数据的通道,它们⼤多是在加⼯之间传输加⼯数据的命名通道,也有连接数据存储⽂件和加⼯的没有命名的数据通道。

这些数据流虽然没有命名,但因联接着有名加⼯和有名⽂件,所以其含意也是清楚的。

同⼀数据流图上不能有同名的数据流。

多个数据流可以指向同个加⼯,也可以从⼀个加⼯散发出许多数据流。

加⼯是以数据结构或数据内容作为加⼯对象的。

加⼯的名字通常是⼀个动词短语,简明扼要地表明完成的是什么加⼯。

⽂件在数据流图中起保存数据的作⽤,因⽽称为数据存储(Data Store)。

结构化分析方法

结构化分析方法

IT项目需求分析与管理之结构化分析方法(一)作者:雪影发表于2012 年 5 月 5 日分类:软件架构|暂无评论1、概述结构化开发方法是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速、自然和方便。

结构化开发方法包含三部分:•结构化分析方法(SA法):结构化分析方法是面向数据流进行需求分析的方法,适合于数据处理类型软件的需求分析。

•结构化设计方法(SD 法)•结构化程序设计方法(SP 法)SA 法建模就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件模型为止。

结构化分析方法是传统软件工程中公认的技术成熟和使用广泛的需求分析方法。

它主要借助于分层数据流图和数据字典等图形及半形式化的工具表达系统的需求。

结构化分析方法结构化分析方法(Structured Analysis,简称SA 法)是面向数据流的需求分析方法,是70 年代末由Yourdon, Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用。

它适合于分析大型的数据处理系统,特别是企事业管理系统。

主要应用技术和工具:数据流图(DFD);数据字典(DD);加工说明(PESPEC);实体关系图(E-R);状态变迁图(STD)等SA法的基本思想结构化分析的基本思想:“分解”和“抽象”分解:把系统的复杂性降低到可以掌握的程度,把大问题分解成若干小问题,然后分别解决。

抽象:即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容。

自顶向下逐层分解,顶层抽象地描述了整个系统,底层具体地画出了系统的每一个细节,而中间层是从抽象到具体的逐层过渡。

SA 法的步骤1⑴建立当前系统的“物理模型”;系统的“物理模型”就是现实环境的忠实写照,即将当前系统用DFD 图描述出来。

这样的表达与当前系统完全对应,因此用户容易理解。

SA 法的步骤2⑵抽象出当前系统的逻辑模型;分析系统的“物理模型”,抽象出其本质的因素,排除次要因素,获得用DFD 图描述的当前系统的“逻辑模型”。

软件工程试题

软件工程试题

一、填空1.需求分析阶段产生的最重要的文档是〔需求分析说明书〕。

2.需求分析的主要任务是(要答复“软件必须做什么?”)。

3.为解决一个复杂的问题,往往采取的策略是〔分解〕。

4.SA方法中使用半形式化的描述方式表达需求,采用的主要描述工具是〔数据流图和数据字典〕。

5.数据流图中有四种符号元素,他们是〔数据流,加工,数据存储,实体〕。

6.数据字典中有四类条目,分别是〔加工说明,数据流条目,数据存储条目,数据项条目〕。

7.在画分层数据流图时,父图与子图的输入输出要〔守恒〕。

8.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是〔功能需求〕。

9.结构化分析的基本思想是采用〔自顶向下,逐步求精〕的方法,能有效的控制系统开发的复杂性。

10.当数据流图中的某个加工的一组动作存在着多个条件复杂组合的判断时,其加工逻辑使用〔判定表或判定树〕。

11.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:(FORTRAN语言)、PASCAL语言、C语言和PL/1语言。

12.详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。

13.在JSP方法中解决结构冲突的具体方法是(中间数据结构或中间文件)。

14.汇编语言是面向(机器) 的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。

15.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。

16.数据流图中的箭头表示( 数据流)。

17.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。

18.数据项是指〔不可再分解的〕数据单元。

19.结构化分析方法的分析策略是〔自顶向下逐步求精〕。

20.Jackson方法是一种面向〔数据结构〕的设计方法。

21.软件质量保证应在( 需求分析)阶段开始。

22.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、〔判定树〕30.结构化语言是介于自然语言和〔形式语言〕之间的一种半形式语言。

软件工程第四章结构化需求分析

软件工程第四章结构化需求分析

数据字典
定义
数据字典是一种用于描述数据元 素及其属性的工具,它提供了数 据的详细描述和定义。
பைடு நூலகம்
内容
包括数据元素的名称、别名、类 型、长度、取值范围、默认值等 属性信息。
作用
为开发人员提供了一个统一的数 据定义和描述标准,避免了数据 不一致和歧义的问题。
03 结构化需求分析过程
问题识别
01
确定软件系统的范 围和目标
用例表
列出系统的所有用例,包括用例名称、描述、前置条件和后置条件 等。
用户故事表
以用户为中心描述系统需求,包括用户角色、场景、任务和目标等。
原型工具
低保真原型
使用简单的工具和方法创建的原型,主要用于 概念验证和用户反馈收集。
高保真原型
使用高级工具和方法创建的原型,几乎与实际 产品一样,用于详细需求分析和用户测试。
04 结构化需求分析工具
图形工具
流程图
用于描述系统或程序的逻辑流程,包括开始、结束、决策点和活动 等元素。
数据流图
用于描述数据在系统中的流动和处理过程,包括数据源、数据存储、 数据处理和数据终点等元素。
实体关系图
用于描述系统中实体之间的关系,包括实体、关系和属性等元素。
表格工具
需求规格说明书
详细列出系统需求,包括功能需求、性能需求、安全需求和接口 需求等。
步骤
首先确定系统的主要功能,然后逐层向下分解,直 到每个功能都清晰、具体、可实现。
优点
能够全面地了解系统的功能需求,有助于保 证系统的完整性。
数据流图
定义
数据流图是一种图形化表示方法,用于描述系统中数 据的流动和处理过程。
组成
包括数据流、数据存储、数据处理和外部实体等基本 元素。

结构化需求分析报告方法

结构化需求分析报告方法

结构化分析(SA)方法结构化开发方法(Structured Developing Method)是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速、自然和方便。

结构化开发方法由结构化分析方法(SA法)、结构化设计方法(SD 法)及结构化程序设计方法(SP 法)构成的。

结构化分析(Structured Analysis,简称SA 法)方法是面向数据流的需求分析方法,是70 年代末由Yourdon,Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用。

它适合于分析大型的数据处理系统,特别是企事业管理系统。

SA 法也是一种建模的活动,主要是根据软件内部的数据传递、变换关系,自顶向下逐层分解,描绘出满足功能要求的软件模型。

1 SA 法概述1.SA 法的基本思想结构化分析(Structured Analysis,简称SA 法)是面向数据流的需求分析方法,是70年代由Yourdon,Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用。

结构化分析方法的基本思想是“分解”和“抽象”。

分解:是指对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决。

图4 是自顶向下逐层分解的示意图。

顶层抽象地描述了整个系统,底层具体地画出了系统的每一个细节,而中间层是从抽象到具体的逐层过渡。

抽象:分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的内容,这种用最本质的属性表示一个自系统的方法就是“抽象”。

2.SA 法的步骤⑴建立当前系统的“具体模型”;系统的“具体模型”就是现实环境的忠实写照,即将当前系统用DFD 图描述出来。

这样的表达与当前系统完全对应,因此用户容易理解。

⑵抽象出当前系统的逻辑模型;分析系统的“具体模型”,抽象出其本质的因素,排除次要因素,获得用DFD 图描述的当前系统的“逻辑模型”。

软件工程第四章结构化需求分析

软件工程第四章结构化需求分析
在开始建立分析模型之前先理解问题。 以业务流程为中心来理解用户需求。 使用多个需求分析视图,建立数据、功能和行为模
型。
结构化分析模型
系统模型从以下不同的角度表述系统:
从外部来看,它是对系统分析上下文或系统环
境建模; 从行为上看,它是对系统行为建模; 从结构上看,它是对系统的体系结构和系统处 理的数据结构建模。
实例分析:图书馆系统
借书者 1 借书记录 包含 1 预约 M 书目
1
借/还/续借
M
图书 N
预约记录
实例分析:图书馆系统
实体:图书、借书者、管理员、借书目录、 预约记录、书目 属性给出如下:
借书者:借书者编号、姓名、性别、借书数、
最大借书数、罚金金额、有限期 图书:图书号、书目号 书目:书目号、书名、作者、出版社、丛书名、 收藏数、在馆数、预约数 借书记录:图书号、借书者编号、借出日期、 应还日期、续借次数 预约记录:书目号、借书者编号、预约日期
数据字典
数据字典是分析模型中出现的所有名字的一个 集合,并包括有关命名实体的描述 数据字典有以下两个作用:
它是所有名字信息管理的有效机制 作为连接软件分析、设计、实现和进化阶段的开发
机构的信息存储
数据字典应该由四类元素的定义组成:
数据流 数据流分量 数据存储 处理
实例分析:POS机系统
1 销售记录 1 付款 包含 M 商品 N 描述
N
1
商品描述
支付记录
实例分析:POS机系统
实体有销售记录、支付记录、商品、商品 描述 关联:
销售包含一组商品; 每个商品都有相应的描述信息; 每个支付对应一个销售。
实体的属性:

需求分析(传统结构化方法)

需求分析(传统结构化方法)

2。

2需求分析需求分析是通过开发人员的分析概括,抽象为完整的需求定义,再形成一系列文档的过程。

2.2.1需求分析的目的与意义需求分析是一个非常重要的过程,它完成的好坏直接影响后续软件开发的质量。

有效的需求分析通常都具有一定的难度.需求分析不仅仅是属于软件开发生命周期早期的一项工作,而且还应该贯穿于整个生命周期中,它应该随着项目的深入而不断地变化。

此外,为了方便后续的评审和测试等工作,需求的描述应该尽量做到:具体、详细、可以测量和可以实现,并且基于时间。

2。

2.2需求分析的步骤2-3所示。

需求涉及的方面:在功能方面,需求包括系统要做什么,相对于原系统目标系统需要进行哪些修改,目标用户有哪些,以及不同用户需要通过系统完成何种操作等。

在性能方面,需求包括用户对于系统执行速度、响应时间、吞吐量和并发度等指标的要求。

在运行环境方面,需求包括目标系统对于网络设置、硬件设备、温度和湿度等周围环境的要求,以及对操作系统、数据库和浏览器等软件配置的要求。

在界面方面,需求涉及数据的输入/输出格式的限制及方式、数据的存储介质和显示器的分辨率要求等问题。

1。

获取需求,识别问题开发人员从功能、性能、界面和运行环境等多个方面识别目标系统要解决哪些问题,要满足哪些限制条件,这个过程就是对需求的获取。

开发人员通过调查研究,要理解当前系统的工作模型和用户对新系统的设想与要求.遗漏需求是最难修订的需求错误。

获取需求是需求分析的基础.为了能有效地获取需求,开发人员应该采取科学的需求获取方法。

在实践中,获取需求的方法有很多种,比如,问卷调查、访谈、实地操作、建立原型和研究资料等。

问卷调查法是采用调查问卷的形式来进行需求分析的一种方法。

通过对用户填写的调查问卷进行汇总、统计和分析,开发人员便可以得到一些有用的信息。

采用这种方法时,调查问卷的设计很重要。

一般在设计调查问卷时,要合理地控制开放式问题和封闭式问题的比例.开放式问题的回答不受限制,自由灵活,能够激发用户的思维,使他们能尽可能地阐述自己的真实想法.但是,对开放式问题进行汇总和分析的工作会比较复杂。

结构化需求分析方法

结构化需求分析方法

结构化分析(SA)方法结构化开发方法(Structured Developing Method)是现有的软件开发方法中最成熟,应用最广泛的方法,主要特点是快速、自然和方便。

结构化开发方法由结构化分析方法(SA法)、结构化设计方法(SD 法)及结构化程序设计方法(SP 法)构成的。

结构化分析(Structured Analysis,简称SA 法)方法是面向数据流的需求分析方法,是70 年代末由Yourdon,Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用。

它适合于分析大型的数据处理系统,特别是企事业管理系统。

SA 法也是一种建模的活动,主要是根据软件部的数据传递、变换关系,自顶向下逐层分解,描绘出满足功能要求的软件模型。

1 SA 法概述1.SA 法的基本思想结构化分析(Structured Analysis,简称SA 法)是面向数据流的需求分析方法,是70年代由Yourdon,Constaintine 及DeMarco 等人提出和发展,并得到广泛的应用。

结构化分析方法的基本思想是“分解”和“抽象”。

分解:是指对于一个复杂的系统,为了将复杂性降低到可以掌握的程度,可以把大问题分解成若干小问题,然后分别解决。

图4 是自顶向下逐层分解的示意图。

顶层抽象地描述了整个系统,底层具体地画出了系统的每一个细节,而中间层是从抽象到具体的逐层过渡。

抽象:分解可以分层进行,即先考虑问题最本质的属性,暂把细节略去,以后再逐层添加细节,直至涉及到最详细的容,这种用最本质的属性表示一个自系统的方法就是“抽象”。

2.SA 法的步骤⑴建立当前系统的“具体模型”;系统的“具体模型”就是现实环境的忠实写照,即将当前系统用DFD 图描述出来。

这样的表达与当前系统完全对应,因此用户容易理解。

⑵抽象出当前系统的逻辑模型;分析系统的“具体模型”,抽象出其本质的因素,排除次要因素,获得用DFD 图描述的当前系统的“逻辑模型”。

需求分析(传统结构化方法)

需求分析(传统结构化方法)

2.2需求分析需求分析是通过开发人员的分析概括,抽象为完整的需求定义,再形成一系列文档的过程。

2.2.1需求分析的目的与意义需求分析是一个非常重要的过程,它完成的好坏直接影响后续软件开发的质量。

有效的需求分析通常都具有一定的难度。

需求分析不仅仅是属于软件开发生命周期早期的一项工作,而且还应该贯穿于整个生命周期中,它应该随着项目的深入而不断地变化。

此外,为了方便后续的评审和测试等工作,需求的描述应该尽量做到:具体、详细、可以测量和可以实现,并且基于时间。

2.2.2需求分析的步骤2-3所示。

图2-3需求分析的步骤需求涉及的方面:在功能方面,需求包括系统要做什么,相对于原系统目标系统需要进行哪些修改,目标用户有哪些,以及不同用户需要通过系统完成何种操作等。

在性能方面,需求包括用户对于系统执行速度、响应时间、吞吐量和并发度等指标的要求。

在运行环境方面,需求包括目标系统对于网络设置、硬件设备、温度和湿度等周围环境的要求,以及对操作系统、数据库和浏览器等软件配置的要求。

在界面方面,需求涉及数据的输入/输出格式的限制及方式、数据的存储介质和显示器的分辨率要求等问题。

1. 获取需求,识别问题开发人员从功能、性能、界面和运行环境等多个方面识别目标系统要解决哪些问题,要满足哪些限制条件,这个过程就是对需求的获取。

开发人员通过调查研究,要理解当前系统的工作模型和用户对新系统的设想与要求。

遗漏需求是最难修订的需求错误。

获取需求是需求分析的基础。

为了能有效地获取需求,开发人员应该采取科学的需求获取方法。

在实践中,获取需求的方法有很多种,比如,问卷调查、访谈、实地操作、建立原型和研究资料等。

问卷调查法是采用调查问卷的形式来进行需求分析的一种方法。

通过对用户填写的调查问卷进行汇总、统计和分析,开发人员便可以得到一些有用的信息。

采用这种方法时,调查问卷的设计很重要。

一般在设计调查问卷时,要合理地控制开放式问题和封闭式问题的比例。

结构化分析方法

结构化分析方法

结构化分析方法
• (3)建立目标系统的逻辑模型 • 这是分析工作中实质性的一步。它通过分析目标系统与现行系
统逻辑上的差别,明确目标系统“做什么”,在现行系统的逻 辑模型上建立目标系统的逻辑模型。 • 具体可按如下方式进行:
– 决定变化的范围,即决定目标系统与现行系统逻辑上的差别。 – 将变化的部分看成是一个新的处理步骤,对数据流程图进行调整。 – 由外向里对变化的部分进行分析,凭经验推断其结构,获得目标系统的
软件工程学教程Βιβλιοθήκη 结构化分析方法– 说明至今尚未详细考虑的细节。这些细节包括出错处理、系统的启动与结束、系统的输入/ 输出和系统性能方面的需求等。
– 其他。系统特有的其他必须满足的性能和限制,也需要用适当的形式做出书面记录。
结构化分析方法
• 分析阶段结束时,系统分析员必须和用户再次认真地审查系统文件,争取在系 统开始设计之前,尽可能地发现其中存在的一些错误并及时纠正,直至用户确 认这个模型表达了他们的要求后,系统文件 (软件需求说明书等) 才作为用户 和软件人员之间的“合同”而最后得到确定。
结构化分析方法
• 用结构化分析方法进行系统需求分析的具体步骤是: • (1)获得现行系统的具体模型 • 分析现实环境,理解现行系统是怎样运行的,了解现行系统的组织机构、输入
输出、资源利用情况及日常事务处理,并用具体模型来表示自己对现行系统的 理解。这一具体模型应当客观地反映现实环境的实际情况。
结构化分析方法
逻辑模型。
结构化分析方法
• (4)补充目标系统的逻辑模型 • 为了对目标系统做出完整的描述,还需要对前面已得到的结果作一些补充。
– 说明目标系统的人机界面。设计一个系统,不但要考虑系统本身,还要考虑它所处的应用 环境以及它与外界环境的相互联系和作用。因此,在最初建立现行系统和目标系统的逻辑 模型时,其研究范围和对象是计算机处理系统以及可能与计算机系统发生联系的所有部分。 最后,必须明确地指出计算机系统的范围,逐个检查模型中的每一个基本处理,决定其是 否由计算机来完成,这也决定了目标系统的人机界面。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
a b a 顾客 d a*d c c+a*d 3 加法(+) 2 乘法(*) 4 乘法(*) 1 加法(+) a+b
(a+b)*(c+a*d)
文件
7 结构化需求分析方法
7.3.3 DFD的层次性
DFD的层次性:自顶向下的分解(top‐down) DFD的两种类型:
– 环境关联DFD图(Context‐level DFD,或Context Diagram):也称顶层DFD图, 描述了系统与外部环境之间的数据输入/输出关系; – 系统内部DFD图(Inner‐level DFD):描述系统内部各功能模块之间的数据流动 关系
– Yourdon于1989年出版《Modern Structured Analysis》
核心思想:
– 自顶向下的分解(top-down)
7 结构化需求分析方法
结构化方法的模型
结构化需求分析方法通常需建立以下模型:
– 数据流图(Data Flow Diagram, DFD)
• 描述系统由哪些部分组成、各部分之间有什么联系等
数据流图(Data Flow Diagram, DFD):结构化系统分析的基本工具
– 描绘数据在系统中各逻辑功能模块之间的流动和处理过程,是一种功能模型 – 主要刻画“功能的输入和输出数据”、“数据的源头和目的地”
注册请求 2 学生注册 学生 课程安排
教务部 学生信息库 课程安排数据 课程注册信息
– 可能存在于:
• 外部实体与加工之间; • 加工与加工之间; • 加工与数据存储之间
客户 订单 1 录入订单 订单 销售订单 订单 2 审核订单
7 结构化需求分析方法
DFD的简单练习
背景:用户输入a、b、c、d四个值,系统计算(a+b)*(c+a*d),并将结 果输出到一个文件中存储。 问题:绘制该系统的DFD
客户
订单
1 处理订单
订单
2 ……
长期订单
1.1 处理长期 订单 1.2 处理标准 订单
长期订单
客户
订单
标准 订单
标准订单
1.3 处理紧急 紧急订单 订单
紧急订单
7 结构化需求分析方法
如何识别数据流
通过识别“事件”来识别数据流,进而识别得到加工、数据存储 事件的分类:
– 外部事件(External events):外部实体与系统进行交互(顾客下订单、供应商 的货物到达) – 决策事件(Decision events):需要外部实体为系统某些业务做出决策(是否接 受订单) – 时间性事件(Temporal events):由时间所触发的周期性时间(每月25号编制下 月计划、每天17点盘点库存) – 状态事件(State events):由某些数据的变化所自动触发的事件(当库存量下降 到100以下时,启动采购流程)
• 增强对需求的理解 • 检测不一致性、模糊性、错误和遗漏 • 在项目的参与者之间更高效的交流
两种模型形态:
– 形式化的数学模型(formal mathematical model) – 非形式化的图形化模型 (informal graphical model)
7 结构化需求分析方法
需求分析方法
– 以名词命名
销售订单
付款
当前库存
库存信息库 更新后的库存
销售订单 销售订单
顾客 发票
1 销售产品 顾客信息 当前信用度 顾客信用库
7 结构化需求分析方法
DFD的主要元素(3):外部实体
外部实体(external entity):本系统外部环境中的实体(包括人员、组织 或其他软件系统)
– 也称为“数据源点/数据终点”,表示产生数据的源头或消费数据的终点 – 以名词短语命名 – 不能直接访问数据存储
7 结构化需求分析方法
7.3.4 绘制DFD的一些基本原则
把数据存储放在0层数据流图或更低层子图上,不要放在顶层的关联图 上
数据存储1 数据流1 外部实体1 数据流2 0 系统 数据流3 外部实体2 数据流4
数据存储2
使用数据流图时,不要试图让数据流图反映处理的顺序,忽略系统的 运行时的时间特性 加工通过数据存储进行通讯,而尽量避免从一个过程直接流到另一过 程
1 安排课表
提供的课程
3 产生班级 列表
班级列表
教师
7 结构化需求分析方法
7.3.2 DFD的主要元素
销售订单
数据流
1 录入订单
加工
销售订单 客户
数据存储 外部实体
7 结构化需求分析方法
DFD的主要元素(1):加工
加工(又称数据处理,data processing):对数据流进行某些操作或变换。
输入信息1 输入信息2 0 系统 输出信息1 输出信息2
外部实体I1 外部实体I2 … 外部实体In
外部实体O1 外部实体O2 …
输入信息n
输出信息n
外部实体Om
7 结构化需求分析方法
示例:顶层DFD
订票单 旅行社 取票通知单
0 机票预 定系统
取票单 旅客 机票
教务部
课程安排数据 0 课程注册 系统 注册请求 学生 课程安排
注册请求
底层DFD
0层DFD
教务部
2 学生注册
7 结构化需求分析方法
学生
课程安排
学生信息库 课程安排数据
课程注册信息
1 安排课表
提供的课程
3 产生班级 列表
班级列表
教师
1层DFD
课程 1.1 选择日期
教务部
可用 教师
1.2 选择教师
提供的课程
可用教室
1.3 选择教室
7 结构化需求分析方法
数据流的分解
软件工程
7.2 结构化需求分析方法
7 结构化需求分析方法
结构化需求分析方法的起源
结构化分析方法(SA):将待解决的问题看作一个系统,从而用系统科 学的思想方法(抽象、分解、模块化)来分析和解决问题。 起源于结构化程序设计语言(事先设计好每一个具体的功能模块,然后 将这些设计好的模块组装成一个软件系统) ; 最早产生于1970年代中期,1980求分析方法
0层DFD
将顶层DFD图中的系统分解为若干个子系统,决定每个子系统间的数 据接口和活动关系,得到0层DFD图; 编号:1、2、…、n
注册请求 2 学生注册 学生 课程安排
教务部 学生信息库 课程安排数据 课程注册信息
1 安排课表
提供的课程
3 产生班级 列表
7 结构化需求分析方法
需求分析的基本思想:抽象
抽象:透过现象看本质
– 抓住事物的本质,捕获问题空间的“一般/特殊”关系是认识、构造问题的一 般途径。
世界
物质 地理特征
精神
区域

线
城市
草原
水坝 湿地 山脉 海洋
建筑
陆上 桥梁 机场 码头
水上
公路 河流 输油管 铁路 输电线
7 结构化需求分析方法
需求分析的本质
需求分析(Requirement Analysis):对收集到的需求进行提炼、分析和 审查,为最终用户所看到的系统建立概念化的分析模型。
– 定义系统的边界 – 分析需求可行性 – 确定需求优先级 – 建立需求分析模型 – 创建数据字典
本质:
抽象、映射、转换 客户现实需求
软件需求模型 (SRS)
两种主要需求分析方法:
– 结构化分析与设计方法(Structured Analysis and Design Technique, SADT) – 面向对象分析与设计方法(Object‐Oriented Analysis and Design, OOAD)
问题域 自然语言 需求分析 分析与设计的鸿沟 概要设计 详细设计 传统的 编程语言 编码 测试 计算机 面向对象的 编程语言 自然语言 问题域 面向对象分析 面向对象设计 面向对象编程 面向对象测试 计算机
数据不能直接在外部实体之间流动
数据流 外部实体1 外部实体2
7 结构化需求分析方法
绘制DFD的一些基本原则
数据流是单向的
数据存储1
外部实体1
数据流
0 系统
数据流
外部实体2
客户 库存系统 旅行社
学生
7 结构化需求分析方法
DFD的主要元素(4):数据流
数据流(data flow):数据在系统内传播的路径
– 由一组成分固定的数据组成。 – 由于数据流是流动中的数据,所以必须有流向 – 应用名词或名词短语命名 – 可能是纸张上的数据、电子数据、通过网络传输的数据等
销售订单
– 数据字典(Data Dictionary, DD)
• 定义了数据流图中每一个数据元素
– 结构化语言(Structured Language) – 判定表或判定树(Decision Table/Tree)
• 详细描述数据流图中不能被再分解的每一个加工的内部处理逻辑
– 实体联系图(Entity‐Relationship Diagram, E‐R) – 状态转换图(State Transition Diagram, STD)
7 结构化需求分析方法
需求分析的基本思想:投影
投影:从不同视角看问题
– 捕获并建立问题空间的多维视图是描述问题的基本手段。
7 结构化需求分析方法
需求分析的基本思想:建模
建模:规格严格、功夫到家
– 采用规范的描述方法,将模糊的、不确定的用户需求表达为清晰的、严格的 模型,作为进一步设计与实现的基础。 – 模型的作用:
软件工程
软件工程 第三章 需求工程
7 结构化需求分析方法
相关文档
最新文档