软件工程 辅导课程八 事务分析

上传人:ji****72 文档编号:48535344 上传时间:2018-07-17 格式:PPT 页数:59 大小:303KB
返回 下载 相关 举报
软件工程 辅导课程八 事务分析_第1页
第1页 / 共59页
软件工程 辅导课程八 事务分析_第2页
第2页 / 共59页
软件工程 辅导课程八 事务分析_第3页
第3页 / 共59页
软件工程 辅导课程八 事务分析_第4页
第4页 / 共59页
软件工程 辅导课程八 事务分析_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《软件工程 辅导课程八 事务分析》由会员分享,可在线阅读,更多相关《软件工程 辅导课程八 事务分析(59页珍藏版)》请在金锄头文库上搜索。

1、软件工程主讲教师:程义月辅导课程八辅导课程八事务分析事务分析 事务分析的设计步骤和变换分析的设计步骤大 部分相同或类似,主要差别仅在由数据流程图 到软件结构的映射方法不同。由事务流映射成 的软件结构包括一个接收分支和一个发送分支 。 映射出接收分支结构的方法和变换分析映射出 输入结构的方法相似,即从事务中心的边界开 始,把沿着接收流通路的处理逻辑映射成模块 。 发送分支的结构包含一个调度模块,它控制下 层的所有活动模块;然后把数据流程图中的每 一个活动流通路映射成与它的特征相对应的结 构。事务分析的映射方法总控调度A_CTLB_CTLC_CTL接收 通路C通路B通路A通路建议 对于一个大系统,

2、常常把变换分析和事务 分析应用到同一个数据流程图的不同部分 ,由此得到的子结构形成“构件”,可以利 用它们构造完整的软件结构。 一般说来,如果数据流不具有显著的事务 特点,最后使用变换分析;反之,如果具 有明显的事务中心,则应该采用事务分析 技术。总体设计说明书 引言 总体设计 接口设计 运行设计 系统数据结构设计 系统出错处理设计案例1案例2案例3小结数据流图变换分析事务分析模块软件结构耦合内 聚软件工程 第5章 详细设计详细设计的目的总体设计软件结构程序 模块 文件 数据库 (黑盒级)详细设计程序流程图详细的算法过程设 计 内部数据结构设计 程序逻辑结构设计学习内容及目标 结构化程序设计

3、详细设计的工具 程序流程图 盒图 PAD图 JACKSON程序设计方法 WARNIER程序设计方法 程序复杂度的定量和度量基本任务 回答的关键问题:“怎样具体地实现这 个系统” 主要任务是设计出程序的“蓝图”,供程 序员日后根据这个蓝图编写出实际的 程序代码。 注意:设计程序的蓝图,不是具体地 编写程序。 设计程序主要采用结构化的程序设计 方法。基本步骤 确定模块如何实现 编写详细设计说明书 制定单元测试计划 详细设计评审什么是结构程序设计 结构程序设计是一种设计程序的技术,它 采用自顶向下逐步求精的设计方法和单入 口单出口的控制结构。结构化程序设计 概念 自顶向下逐步求精的设计方法 单入口单

4、出口的控制结构 三种基本结构 优点 符合问题分解,抽象到具体的思路 具有清晰的层次结构,便于阅读和理解 程序的静态结构与动态执行具有较高的一致性 程序的控制结构简单(顺序,循环和分支) 清晰化与模块化便于代码重用 程序的清晰结构便于程序的正确性证明逐步求精的含义 详细设计阶段逐步求精的含义:把一个模 块的功能逐步分解细化为一系列具体的处 理步骤或某种高级语言的语句。 总体设计阶段逐步求精的含义:把一个复 杂问题的解法分解和细化成一个由许多模 块组成的层次结构的软件系统逐步求精的要领 不要急于用计算机指令、数字和逻辑符号 去表示对问题的解法,而是用自然语言( 或其他工具)描述问题的解法,最开始的

5、 描述处于比较高的抽象层次,接着对抽象 描述逐步分解,直到描述能被计算机理解 为止。 例子逐步求精读入三个数,找出并打印其中的最大数 一级算法 输入X1,X2,X3 将X1与X2的大数存于MAX中 将X3与MAX的大数存于MAX中 输出 二级求精 将X1与X2地大数存于MAX中 If x1x2 then max=x1 Elsemax=x2 将X3与MAX的大数存于MAX中 If x3max then max=x3三种基本结构例子结构程序设计 问题描述:将AL寄存器中的机器数以二进制串 的形式显示在屏幕上。 例:AL10011101,则计算机屏幕上显示字符串 :10011101 问题分解 问题1

6、:如何在屏幕上显示1和0 问题2:如何提取出AL的一个位并在屏幕上显示 问题3:能不能将提取位显示用循环实现,以解决 AL的所有位? 逐步求精 问题1:MOV DL,1 MOV AH,2 INT 21H 结构程序设计技术的优越性1(1)自顶向下逐步求精的方法符合人类解决复 杂问题的普遍规律,因此可以显著提高软 件开发工程的成功率和生产率。 (2)用先全局后局部、先整体后细节、先抽象 后具体的逐步求精过程开发出的程序有清 晰的层次结构,因此容易阅读和理解。 (3)不使用GO TO语句仅使用单入口单出口的 控制结构,使得程序的静态结构和它的动 态执行情况比较一致,易于阅读和理解。结构程序设计技术的

7、优越性2(4)控制结构有确定的逻辑模式,编写程序代 码只限于很少几种直截了当的方式,因此 源程序清晰流畅。 (5)程序清晰和模块化使得在修改和重新设计 一个软件时可以重用的代码量最大。 (6)程序的逻辑结构清晰,有利于程序正确性 证明。详细设计工具 程序流程图 盒图 PAD图 判定表 判定树程序流程图(1)程序流程图又称为程序框图,是早期软件设 计的主要工具。 (2)优点: 对控制流程的描绘很直观,便于初学者掌握。 (3)缺点: 程序流程图本质上不是逐步求精的好工具,它诱 使程序员过早地考虑程序的控制流程,而不去考 虑程序的全局结构。 程序流程图中用箭头代表控制流,因此程序员不 受约束,可以完

8、全不顾结构程序设计的精神,随 意转移控制。 程序流程图不易表示数据结构。盒图(N_S图) 盒图由Nassi和Shneiderman提出,又称为N_S图 ,它有以下特点: (1)功能域(即一个特定控制结构的作用域)明确 ,很容易从盒图上看出。 (2)不可能任意转移控制 (3)很容易确定局部和全程数据的作用域 (4)很容易表现嵌套关系,也可以表示模块的层次 结构 (5)盒图没有箭头,不可以随意转移控制,不允许 违背程序设计的原则。盒图例子盒图(1)问题描述 :将AL寄 存器中的 机器数以 二进制串 的形式显 示在屏幕 上。 例:AL 10011101, 则计算机 屏幕上显 示字符串 : 10011

9、101将AL向左循环移1位DLAL屏蔽DL高7位将DL转换为ASCII码显示DL中的字符CX8CX8问题2: 提取位问题1:显 示问题3: 循环例子盒图(2)start if p thenwhile q dofend do elseblockgnend block endif stopPAD图PAD图由日本日立公司在1973年发明,它用二维树型结 构的图来表示程序的控制流,比较容易翻译成程序代码 。主要特点: (1)使用PAD图设计的程序必然是结构化程序 (2)PAD图描绘的程序结构十分清晰。 (3)用PAD图表现程序逻辑,易读、易懂、易记。 (4)容易将PAD图转换成高级语言源程序 (5)P

10、AD图既可用于表示程序逻辑,也可用于描绘数据结构 。 (6)PAD图的符号支持自顶向下、逐步求精方法的使用。 (7)PAD图面向高级语言。PAD图PAD图优点 PAD图具有以下优点: 使用PAD设计出来的程序必然是结构化程序; PAD图所描述的程序结构十分清晰; PAD图表现的程序逻辑易读、易懂、易记; 容易将PAD图转换成程序; PAD图还可描述数据结构; PAD图支持自顶向下、逐步求精方法的使用。例子PAD图(1)start if p thenwhile q dofend do elseblockgnend block endif stop例子PAD图(2)问题描述:将 AL寄存器中的 机

11、器数以二进 制串的形式显 示在屏幕上。 例:AL 10011101,则计 算机屏幕上显 示字符串: 10011101CX8While CX0 将AL向左循环移1位DLAL屏蔽DL高7位将DL转换为ASCII码显示DL中的字符CXCX1走图PAD图的 结构类似 树型结构 ,如果按 照自上而 下、自左 而右的顺 序走树, 即可将 PAD图转 换为相应 的算法乃 至程序。判定表 判定表能够清晰地表示复杂的条件组合与 应做的动作之间的对应关系,而其它的工 具不易表示。 一张判定表由四部分组成,左上部列出所 有条件,左下部是所有可能做的动作,右 上部是表示各种条件组合的一个矩阵,右 下部是和每种条件组合

12、相对应的动作。 判定表的每一列实质上是一条规则,规定 了与特定的条件组合相对应的动作。判定表判定表由4部 分组成: 所有条件 所有动作 条件组合 对应动作例子判定表123过过期FTT 2000 return end子程序名 PDL语句指各种PDL构造面向数据结构的程序设计方法 有代表性的有Warnier、Jackson方法。本节介绍 Warnier方法,它又称为逻辑地构造程序的方法。 这种方法直接从数据结构导出程序设计。 Warnier程序设计方法的目标是导出对程序处理过 程的详细描述,主要依据输入数据结构导出程序 结构。 Warnier设计方法基本由五个步骤组成: 分析和确定输入数据和输出数

13、据的逻辑结构, 并用Warnier图描绘这些数据结构。 依据输入数据结构导出程序结构,并用Wanier 图描绘程序的处理层次。 画出程序流程图,并自上而下地依次给每个处 理框序号。 分类写出伪码指令。 例子WANIER图用Wanier图表示学生基本信息文件,将该图的 Warnier图作为输入数据结构导出打印学生名册 的程序结构图。例子由WANIER图得到的程序结构 图程序复杂程度的定量、度量 McCabe方法 程序图 (1)概念: 把程序流程图中每个处理符号都退化 成一个点,原来连接不同处理符号的 箭头变成连接不同点的有向弧,这样 得到的有向图就称之为程序图。 程序图的入口点:开始节点后面的那

14、 个节点 程序图的出口点:停止节点前面的那 个节点程序图例子环形复杂度的计算方法 V(G)=m-n+p V(G):有向图G中的环数 m:有向图G中的弧数 n:有向图中的节点数 p:有向图G中分离部分的数目 对于程序图,总是连通的。所以p=1 上例中,为了成为一个强连通图,加一条从 出口J到入口B的虚弧。 V(G)=13-11+1=3(环形复杂度)环形复杂度的用途 环形复杂度:是对测试难度的一种定量度 量,也能对软件最终的可靠性给出某种预 测。 实践证明:模块规模以V (G) 10为宜。详细设计说明书 引言 程序系统的组织结构 关键程序的设计说明详细设计说明书规格例1例2例3小结软件结构程序蓝图详细设计

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号