软件需求分析与建模
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
举例:pp79
盒图是由Nassi和Shneiderman提出的,所以又称为N-S图。 每个处理步骤都用一个盒子来表示,这些处理步骤可以是语句
或语句序列,在需要时,盒子中还可以嵌套另一个盒子,嵌套 深度一般没有限制。 盒图具有下述特点:
功能域(即,一个特定控制结构的作用域)明确,可以从盒图上一 眼就看出来。
程序清晰和模块化使得在修改和重新设计一个软件时可以重用 的代码量最大。
程序的逻辑结构清晰,有利于程序正确性证明。
图形工具:把过程的细节表示成一个图的组成部分,在这个图上, 逻辑构造用具体的图形来表示。
列表工具:用一个表来表示过程的细节,这个表列出了各种操作 及其相应的条件。也即,描述了输入、处理和输出信息。
用PAD图表现程序逻辑,易读、易懂、易记。PAD图是二 维树形结构的图形,程序从图中最左竖线上端的结点开始 执行,自上而下,从左向右顺序执行,遍历所有结点。
容易将PAD图转换成高级语言源程序,这种转换可用软件 工具自动完成,从而可省去人工编码的工作,有利于提高 软件可靠性和软件生产率。
既可用于表示程序逻辑,又可用于描绘数据结构。
语言工具:用类语言来表示过程的细节,这种类语言很接近于编 程语言。
程序流程图又称为程序框图,Goldstine于1946年首先采用。
它的主要优点是对控制流程的描绘很直观,便于初学者掌 握。
程序流程图的主要缺点:
程序流程图本质上不是逐步求精的好工具,它诱使程序员过 早地考虑程序的控制流程,而不去考虑程序的全局结构;
它是由程序流程图演化而来,用二维树形结构的图来表示程序的 控制流,将这种图翻译成程序代码比较容易。
PAD图的基本原理:采用自顶向下、逐步细化和结构化设计的原 则,力求将模糊的问题解的概念逐步转换为确定的和详尽的过程, 使之最终可采用计算机直接进行处理。
PAD图符号
P1 P2 a.顺序
While c
程序流程图中用箭头代表控制流,因此程序员不受任何约束, 可以完全不顾结构程序设计的精神,随意转移控制;
程序流程图不易表示数据结构。
程序流程图符号
(a)预处理 (b)选择
(c)多分支 (d)循环上界 (e)循环下界
(f)开始/结束 (g)准备 (h)注释 (i)虚线 (j)省略 (k)并行方式 (l)控制流
盒图符号
A B
a.顺序
FPT BA
FPT A
b.IF-THEN-ELSE 选择
S Do until p
d.do-until 循环
P
=1 =2
=n
A1 A2
An
e.多分支选择
举例:pp80
Do while p S
c.do-while 循环
PAD是问题分析图(Problem Analysis Diagram)的英文缩写,自 1973年由日本日立公司发明。
不使用GOTO语句仅使用单入口单出口的控制结构,使得程序 的静态结构和它的动态执行情况比较一致。因此,程序容易阅 读和理解,开发时也比较容易保证程序的正确性,即使出现错 误也比较容易诊断和改正。
控制结构有确定的逻辑模式,编写程序代码只限于使用很少几 种直截了当的方式,因此源程序清晰流畅,易读易懂而且容易 测试。
特点:历史最悠久、使 用最广泛、最混乱 优:直观,适合初学者 缺:
1.不是逐步求精的好工 具 2.不以表示数据结构 3.用箭头表示数据流, 程序员可能随意转移控 制
特点: 1.功能域明确,一眼看 出 2.不可能任意转移控制 3.容易确定局部、全程 数据的作用域 4.容易表现嵌套关系, 模块层次结构
由于只能从上边进入盒子然后从下面走出盒子,除此之外没有其它 的入口和出口,所以盒图限制了任意的控制转移,保证程序有良好 的结构。
很容易确定局部和全程数据的作用域。 很容易表现嵌套关系,也可以表示模块的层次结构。
盒图很容易表示程序结构化的层次结构,确定局部和全局数据 的作用域。由于没有箭头,因此不允许随意转移控制。
结构化详细设计的结构和特点 结构化详细设计工具 人机交互界面设计 数据库设计 编码实现
详细设计就是在概要设计的基础上决定如何具体实现各模块的内 部细节,直到对系统中的每个模块给出足够详细的过程描述。
在编码实现阶段就可以完全按照详细设计的细节过程来映射到代 码,最终实现整个系统。
一般使用结构化程序设计工具来描述
PAD图举例
P1
P2 P3
C P4
P5
P6
until C2
P7
C1
def
P2
P8
until C3
P9
P1 0
a.初始的 PAD 图
b.使用 def 符号细化处理框 P2 后的 PAD 图
问题: 1、程序流程图、盒图和PAD如何分别表示程序的3种基 本控制结构的? 2、比较程序流程图、盒图和PAD的特点
P1 C
P2
P1 L1
L2
P2
X=
b.if-then-else 选择
Ln Pn
c.case 多分支选择
P
until c
P
d.do-while 型循环
e.repeat-until 型循环
使用表示结构化控制结构的PAD符号设计出来的程序必然 是结构化程序。
PAD图所描绘的程序结构十分清晰。图中最左边的竖线是 程序的主线,即第一层结构。随着程序层次的增加,PAD 图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖 线。PAD图中竖线的总条数就是程序的层次数。
结构化详细设计也称为结构化程序设计。
结构化程序设计的理念是在20世纪60年代,由Dijkstra等人提出并 加以完善的。
结构化的程序一般只需要用三种基本的逻辑结构就能实现。这三 种基本逻辑结构是顺序结构、选择结构和循环结构。
结构化程序设计是一种设计程序的技术,它采用自顶向下逐步求 精的设计方法和单入口单出口的控制结构。
三种基本结构
顺序结构 选择结构 循环结构
AexpBຫໍສະໝຸດ ABa.顺序
b.if-then-else 选择
T
或
A
exp
F
c.do-while 循环
F exp
T A
自顶向下逐步求精的方法符合人类解决复杂问题的普遍规律, 因此可以显著提高软件开发工程的成功率和生产率。
用先全局后局部、先整体后细节、先抽象后具体的逐步求精过 程开发出的程序有清晰的层次结构,因此容易阅读和理解。
盒图是由Nassi和Shneiderman提出的,所以又称为N-S图。 每个处理步骤都用一个盒子来表示,这些处理步骤可以是语句
或语句序列,在需要时,盒子中还可以嵌套另一个盒子,嵌套 深度一般没有限制。 盒图具有下述特点:
功能域(即,一个特定控制结构的作用域)明确,可以从盒图上一 眼就看出来。
程序清晰和模块化使得在修改和重新设计一个软件时可以重用 的代码量最大。
程序的逻辑结构清晰,有利于程序正确性证明。
图形工具:把过程的细节表示成一个图的组成部分,在这个图上, 逻辑构造用具体的图形来表示。
列表工具:用一个表来表示过程的细节,这个表列出了各种操作 及其相应的条件。也即,描述了输入、处理和输出信息。
用PAD图表现程序逻辑,易读、易懂、易记。PAD图是二 维树形结构的图形,程序从图中最左竖线上端的结点开始 执行,自上而下,从左向右顺序执行,遍历所有结点。
容易将PAD图转换成高级语言源程序,这种转换可用软件 工具自动完成,从而可省去人工编码的工作,有利于提高 软件可靠性和软件生产率。
既可用于表示程序逻辑,又可用于描绘数据结构。
语言工具:用类语言来表示过程的细节,这种类语言很接近于编 程语言。
程序流程图又称为程序框图,Goldstine于1946年首先采用。
它的主要优点是对控制流程的描绘很直观,便于初学者掌 握。
程序流程图的主要缺点:
程序流程图本质上不是逐步求精的好工具,它诱使程序员过 早地考虑程序的控制流程,而不去考虑程序的全局结构;
它是由程序流程图演化而来,用二维树形结构的图来表示程序的 控制流,将这种图翻译成程序代码比较容易。
PAD图的基本原理:采用自顶向下、逐步细化和结构化设计的原 则,力求将模糊的问题解的概念逐步转换为确定的和详尽的过程, 使之最终可采用计算机直接进行处理。
PAD图符号
P1 P2 a.顺序
While c
程序流程图中用箭头代表控制流,因此程序员不受任何约束, 可以完全不顾结构程序设计的精神,随意转移控制;
程序流程图不易表示数据结构。
程序流程图符号
(a)预处理 (b)选择
(c)多分支 (d)循环上界 (e)循环下界
(f)开始/结束 (g)准备 (h)注释 (i)虚线 (j)省略 (k)并行方式 (l)控制流
盒图符号
A B
a.顺序
FPT BA
FPT A
b.IF-THEN-ELSE 选择
S Do until p
d.do-until 循环
P
=1 =2
=n
A1 A2
An
e.多分支选择
举例:pp80
Do while p S
c.do-while 循环
PAD是问题分析图(Problem Analysis Diagram)的英文缩写,自 1973年由日本日立公司发明。
不使用GOTO语句仅使用单入口单出口的控制结构,使得程序 的静态结构和它的动态执行情况比较一致。因此,程序容易阅 读和理解,开发时也比较容易保证程序的正确性,即使出现错 误也比较容易诊断和改正。
控制结构有确定的逻辑模式,编写程序代码只限于使用很少几 种直截了当的方式,因此源程序清晰流畅,易读易懂而且容易 测试。
特点:历史最悠久、使 用最广泛、最混乱 优:直观,适合初学者 缺:
1.不是逐步求精的好工 具 2.不以表示数据结构 3.用箭头表示数据流, 程序员可能随意转移控 制
特点: 1.功能域明确,一眼看 出 2.不可能任意转移控制 3.容易确定局部、全程 数据的作用域 4.容易表现嵌套关系, 模块层次结构
由于只能从上边进入盒子然后从下面走出盒子,除此之外没有其它 的入口和出口,所以盒图限制了任意的控制转移,保证程序有良好 的结构。
很容易确定局部和全程数据的作用域。 很容易表现嵌套关系,也可以表示模块的层次结构。
盒图很容易表示程序结构化的层次结构,确定局部和全局数据 的作用域。由于没有箭头,因此不允许随意转移控制。
结构化详细设计的结构和特点 结构化详细设计工具 人机交互界面设计 数据库设计 编码实现
详细设计就是在概要设计的基础上决定如何具体实现各模块的内 部细节,直到对系统中的每个模块给出足够详细的过程描述。
在编码实现阶段就可以完全按照详细设计的细节过程来映射到代 码,最终实现整个系统。
一般使用结构化程序设计工具来描述
PAD图举例
P1
P2 P3
C P4
P5
P6
until C2
P7
C1
def
P2
P8
until C3
P9
P1 0
a.初始的 PAD 图
b.使用 def 符号细化处理框 P2 后的 PAD 图
问题: 1、程序流程图、盒图和PAD如何分别表示程序的3种基 本控制结构的? 2、比较程序流程图、盒图和PAD的特点
P1 C
P2
P1 L1
L2
P2
X=
b.if-then-else 选择
Ln Pn
c.case 多分支选择
P
until c
P
d.do-while 型循环
e.repeat-until 型循环
使用表示结构化控制结构的PAD符号设计出来的程序必然 是结构化程序。
PAD图所描绘的程序结构十分清晰。图中最左边的竖线是 程序的主线,即第一层结构。随着程序层次的增加,PAD 图逐渐向右延伸,每增加一个层次,图形向右扩展一条竖 线。PAD图中竖线的总条数就是程序的层次数。
结构化详细设计也称为结构化程序设计。
结构化程序设计的理念是在20世纪60年代,由Dijkstra等人提出并 加以完善的。
结构化的程序一般只需要用三种基本的逻辑结构就能实现。这三 种基本逻辑结构是顺序结构、选择结构和循环结构。
结构化程序设计是一种设计程序的技术,它采用自顶向下逐步求 精的设计方法和单入口单出口的控制结构。
三种基本结构
顺序结构 选择结构 循环结构
AexpBຫໍສະໝຸດ ABa.顺序
b.if-then-else 选择
T
或
A
exp
F
c.do-while 循环
F exp
T A
自顶向下逐步求精的方法符合人类解决复杂问题的普遍规律, 因此可以显著提高软件开发工程的成功率和生产率。
用先全局后局部、先整体后细节、先抽象后具体的逐步求精过 程开发出的程序有清晰的层次结构,因此容易阅读和理解。