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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  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 结构化需求分析方法
相关文档
最新文档