软件工程与UML数据建模详细设计教程-精

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
23
在流图中用圆表示结点,一个圆代表一条或多 条语句。程序流程图中的一个顺序的处理框序列 和一个菱形判定框,可以映射成流图中的一个结 点。流图中的箭头线称为边,它和程序流程图中 的箭头线类似,代表控制流。在流图中一条边必 须终止于一个结点,即使这个结点并不代表任何 语句(实际上相当于一个空语句)。由边和结点围 成的面积称为区域,当计算区域数时应该包括图 外部未被围起来的那个区域。
8
后来,1972年IBM公司的Mills进一步提出单入口, 单出口。而且扩充了三种基本结构,允许Do—until(循 环)和Do—case(判断)。如下图:
9
五. 人机界面设计
人机界面设计主要设计人机交互接口问题, 它涉及到:
1.系统响应时间(长度及易变性) 2.用户帮助设施(联机帮助) 3.出错信息处理(方法是什么?) 4.交互命令设计(形式与方法、便利否) 下面分项加以说明:
19
1、试用PAD表示自然数N(N>2)的阶乘。
20
2. 试用PAD表示:输入N(N>2)个数,试把 大于零的数的个数放入CNT中,并求出这N 个数的平均值AVE。
21
七. 程序复杂程度的定量度量
为了进一步仔细衡量模块的质量,人们希望 能定量度量软件的性质。 下面着重介绍使用得比较广泛的McCabe方法 和Ha用下述3 种方法中的任何一种来计算环形复杂度。 (1)流图中的区域数等于环形复杂度。 (2)流图G的环形复杂度V(G)=E-N+2,其中,E 是流图中边的条数,N是结点数。 (3)流图G的环形复杂度V(G)=P+1,其中,P 是流图中判定结点的数目。 McCabe研究大量程序后发现,环形复杂度高 的程序往往是最困难、最容易出问题的程序。 实践表明,模块规模以V(G)≤10为宜
软件工程与UML数据建模
第六章 详细设计
1
详细设计阶段的任务”还不是具体地编写程 序,而是要设计出程序的“蓝图”,以后将根 据这个蓝图写出程序代码。
确定应该怎样具体地实现前面所要求的系统。 从而得出对目标系统的精确描述。
结构程序设计技术是实现的基础。
2
一. 详细设计阶段的任务
1. 算法结构设计(模块的具体算法描述) 2. 数据结构设计 3. 人机界面设计() 4. 其它方面
4. Jackson图和Jackson伪代码 5. PAD(问题分析图) 6. 判断表
7
四. 结构化程序设计
为解决跳转语句,1966年Bohm和Jacopini证明了只 用三种基本控制结构就能实现单入口单出口的程序。这 三种结构是:顺序结构、选择结构和循环结构:
F CT
CF
A
T
A
B
A
B
顺序结构 IF-THEN-ELSE型选择结构 While型循环结构
其中: 教员拿教龄津贴, 职工拿工龄津贴。
14
15
3. PAD图
3) 循环框:
A. 框(Box)
① While 循环
While
S
1) 顺序框 S1,S2
② Until 循环
Until
S
2) 判断框:
② For 循环 I=1;N
S
S
① IF-THEN C
S1
② IF-THEN-ELSE C
S2
4) 输入框: X
选择
予处理
开始
控制流
连接
处理
I/O
5
2. 盒图(N-S图)(见教材p125 略) 优点:功能域明确,结构严谨。 缺点:不易表达转移控制,框范围受限制
由伪码转换成盒图的图形
F
P
g
T q
f n
6
3. 伪码技术和PDL(过程设计语言)
伪码(pseudo code)是一种文字表达工 具,形同代码,并容易转换成真代码。 PDL和“结构化语言”类似,也是一种伪码。
·编写测试用例 ·编写设计文档
3
二. 详细设计方法
1. 结构化设计方法(面向数据流方法) 2. 逐步求精方法 3. Jackson方法(面向数据结构方法) 4. 数据库设计方法 5. OO设计方法
4
三. 详细设计工具(过程设计)
1. 程序流程图(图标见教材p125) 优点: 历史悠久,使用广泛,灵活易学。 缺点:·判定出口不规范 ·过早考虑控制流,而不考虑全局结构 ·箭头不受限制随意性强,违背SP精神
26
(二) Halstead 方法(略)
4. 命令交互 重点考虑采用何种命令形式?
有3种选择: 控制命令(例如,Ctrl+P), 功能键, 键入命令。
12
六. 详细设计示例
(一) Jackson图 1. 符号表示
A
A
A
B
C
B
C
B﹡
A由B和C顺序组成 A由B或C组成 A由B重复组成
13
2. 用Jackson图表示数据结构
例: 请用Jackson图表示以下”教职工花名册”
22
(一) McCabe方法 1. 流图
McCabe方法根据程序控制流的复杂程度定量 度量程序的复杂程度,这样度量出的结果称为 程序的环形复杂度。 为了突出表示程序的控制流,人们通常使用流 图(也称为程序图)。所谓流图实质上是“退化 了的”程序流程图,它仅仅描绘程序的控制流 程,完全不表现对数据的具体操作以及分支或 循环的具体条件。
当过程设计中包含复合条件时,生成流图的方法 稍微复杂一些。所谓复合条件,就是在条件中包 含了一个或多个布尔运算符(逻辑OR,AND, NAND,NOR)。在这种情况下,应该把复合条 件分解为若干个简单条件,每个简单条件对应流 图中一个结点。
24
由PDL翻译成的流图
25
2.计算环形复杂度的方法 环形复杂度定量度量程序的逻辑复杂度。有
10
1. 系统响应时间 系统响应时间指从用户发出命令请求,到
系统给出预期的响应的时间段的度量。 2. 用户帮助设施
设计帮助设施时应考虑解决下述问题: (1) 用户怎样请求帮助? (2) 怎样显示帮助信息? (3) 怎样组织帮助信息?
11
3. 出错信息处理 一般说来,系统给出的出错信息或警告信息。
16
B. 块(Block) 由一条纵线连起来的那些框形成一个块。 例如:
试问:上边的PAD图由几个块组成?
17
试问:下边的PAD图由几个块组成?
输入 顺序 判断 循环
输出
循环
18
PAD实例 1. 试用PAD表示自然数N(N>2)的阶乘。 2. 试用PAD表示:输入N(N>2)个数,试把大于
零的数的个数放入CNT中,并求出这N个数的 平均值AVE。
相关文档
最新文档