软件工程第5章1

合集下载

《软件工程》PPT课件

《软件工程》PPT课件
第四课时
第一章第四课时
喷泉模型 软件工程的任务与研究范围 软件开发的原则与开发方法
返回
喷泉模型
瀑布模型要求在软件开发的初期就完全确定软件的需求,这在很多 情况下往往是做不到的.螺旋模型试图克服瀑布模型的这一不足.SM 把软件开发过程安排为逐步细化的螺旋周期序列,每经历一个周期, 系统就细化和完善一些.SM每—螺旋周期由六个步骤组成: <1> 确定任务目标: 根据初始需求分析项目计划,确定任务目标、可选 方案和限制.<2>选择对象:对各种软硬件设备、开发方法、技术、 开发工具、人员、开发管理等对象进行选择:并决定软件是进行研 制、购买还是利用现有的.<3>分析约束条件:软件开发的时间、经 费等限制条件.<4>风险分析:评估目标、对象、约束条件三者之间 的联系,列出可能出.现的问题及问题的严重程度等,把最重要的问 题作为尚未解决的关键问题的风险.<5>制定消除风险的方法:应有 详尽的说明和周密的计划,并估计可能产生的后果.依此来开发软件, 为制订下一周期的计划打下基础.<6>制定下一周期的工作计划:在 第一个螺旋周期,确定目标、选择对象、分析约束,通过风险分析制 订消除风险的方法,初步开发原型1,制定系统生存周期计划.
软件工程的任务与研究范围
•软件产品的特点 •软件工程的研究内容与方法 •软件工具与软件支撑环境 •软件管理
软件开发的原则与方法
•软件开发的原则 • 自顶向下与模块结构 •软件开发的方法 •1.非自动形式的系统开发方法 •〔1〕系统流程图〔2〕结构分析法〔3〕结构化设计法 •〔4〕数据结构法〔5〕层次输入——处理——输出方法<HIPO法> • 2.半自动形式的系统开发方法 •〔1〕软件需求工程法〔2〕问题说明语言与分析法 • 3. 自动形式的系统开发方法 〔HOS方法〕:由计算机自动确定规 范、自动分析、自动编程、自动执行与模拟,以规范语言AXES、资 源分配工具RTA为工具.能自动进行分析、设计,工作量少、设计规范, 也能自动进行修改和维护.该方法适用于系统分析和设计.

软件工程 第4版 第5章 详细设计

软件工程 第4版 第5章 详细设计

数据流程图
01
数据流程图表示 求解某一问题的 数据通路,同时 规定了处理的主 要阶段和所用的 各种数据媒体
程序流程图
02
程序流程图表示 程序中的操作顺 序
系统流程图
03
系统流程图表示 系统的操作控制 和数据流
程序网络图
04
程序网络图表示 程序激活路径和 程序与相关数据 流的相互作用
系统资源图
05
系统资源图表示 适用于一个问题 或一组问题求解 的数据单元和处 理单元的配置
5.1.3 PAD
01 PAD 的基本符号
OPTION
➢ 顺序结构 ➢ 条件结构 ➢ CASE 型多分支结构 ➢ 先检测循环条件的WHILE 型循环结构 ➢ 后检测循环条件的UNTIL 型循环结构 ➢ 语句标号 的特点
OPTION
用PAD 表示的程序从最左边的竖线的上端开始,自上而 下、自左向右执行 用PAD 设计的软件结构必然是结构化的程序结构
图1
图2
5.1.1 流程图
04 流程图的3 种基本结构
OPTION
流程图的3 种基本结构为顺序结构、条件 结构和循环结构,如图1所示,图中的C 是判 定条件。顺序结构如图(a)所示。条件结构 可分为两种,一种是IF...THEN...ELSE 型条件 结构,如图(b)所示;另一种是CASE 型多 分支结构,如图(c)所示。
应的应做的工作。
2 判定表中的符号
右上部用T 表示条件成立,用F表示条件不 成立,空白表示条件成立与否不影响。
右下部画× 表示在该列上面规定的条件下做 该行左边列出的那项工作,空白表示不做该 项工作。
5.1.5 判定树
判定树和判定表一样,也能表明复杂的条件组 合与对应处理之间的关系。判定树是一种图形表示 方式,更易被用户理解。

软件工程 第5章--RUP统一开发过程

软件工程 第5章--RUP统一开发过程
10
(3) 制品(Artifact)
制品是过程生产、修改或使用的一种信息。制 品可分为输入制品和输出制品。
在面向对象设计中,制品被当作活动的参数。 制品有多种可能的形式,如:
模型 : 如用例模型或设计模型; 模型元素 : 如类、用例或子系统; 文档 : 如一个业务用例或体系结构文档; 源代码; 可执行文件。
13
a) 核心工作流
在 RUP 中共有 9 个核心过程工作流。它们将 所有工作人员和活动进行逻辑分组。
核心过程工作流分为 6 个核心工程工作流和 3 个核心支持工作流。
核心工程工作流有:业务建模工作流、需求 工作流、分析和设计工作流、实现工作流、 测试工作流、实施工作流。
核心支持工作流有:项目管理工作流、配置 和变更管理工作流、环境工作流。
11
Iteration Plan Storyboard
Use Case Model Project Measurements User-Interface Prototype
Developer Test
Iteration Assessment
Business Goal Test Environment Configuration
场景的系统大致轮廓; 估计整个项目需要的成本和时间; 评估风险,即分析不确定性的原因;
31
制品
a) 构想文档:有关项目核心需求、关键特 性和主要限制的构想。
b) 用例模型调查:包括所有在此阶段可确 定的用例和参与者。
c) 初期的项目术语。 d) 初始的业务用例:包括业务环境、是否
成功的评价标准、经济预测。 e) 早期的风险评估。 f) 项目计划:表明阶段和迭代。
内部发布 小里程碑
第1个外部发布 (如Beta版本)

软件工程导论第5章 总体的设计

软件工程导论第5章 总体的设计

⑵内聚:衡量一个模块内部各个元素彼此结合的紧密 程度。
5.2 续
耦合
软件结构中各个模块之间相互关联程度的度量。 常见的耦合: • ⑴非直接耦合 • ⑵数据耦合 • ⑶控制耦合 • ⑷特征耦合 • ⑸公共环境耦合 • ⑹内容耦合 设计原则:尽量使用数据耦合,少用控制耦合, 限制公共耦合的范围,避免使用内容耦合。
划分模块时尽量做到高内聚,低耦合,保持模块相对 独立性,并以此原则优化初始的软件结构。
⑴如果若干模块之间耦合强度过高,每个模块内功能 不复杂,可将它们合并,以减少信息的传递和公共区 的引用。
⑵若有多个相关模块,应对它们的功能进行分析,消 去重复功能。
设计准则
5.3 续
⑵模块规模应该适中
过大的模块往往是由于分解不充分。 过小的模块开销大于有效操作。
设计方法:定义一些不同的“映射”,把数据流 图变换成软件结构。
结构化设计方法——面向数据流的设计方法。
变换流
5.5 续
信息沿输入通路进入系统,同时由外部形式变换 成内部形式,进入系统的信息通过变换中心,经 加工处理以后再沿输出通路变换成外部形式离开 软件系统。当数据流图具有这些特征时,这种信 息流就叫作变换流。
B
C
D
(a) 基 本 形 式
(b) 顺 序
B
C
(c) 选 择
B
(d) 重 复
结构图
5.4 续
判定为真时调用A,为假时调用B
结构图
5.4 续
模块M循环调用模块A、B、C
概念
5.5 面向数据流的设计方法
定义:把信息流映射成软件结构,信息流的类型 决定了映射的方法。
目标:给出设计软件结构的一个系统化的途径。

软件工程 第5章--UML

软件工程 第5章--UML
10
UML的定义
UML定义有两个主要组成部分:语义和表示法。 语义用自然语言描述,表示法定义了UML的可 视化标准表示符号,这决定了UML是一种可视 化的建模语言。 在语义上,模型是元模型的实例。UML定义给 出了语法结构的精确定义。 使用UML时,要从不同的角度观察系统,为此 定义了概念“视图(View)‖。视图是对系统的模 型在某方面的投影,注重于系统的某个方面。
独立于过程
系统建模语言,独立于开发过程。
9

容易掌握使用 概念明确,建模表示法简洁明了,图形结 构清晰,容易掌握使用。 着重学习三个方面的主要内容: (1) UML的基本模型元素 (2) 组织模型元素的规则 (3) UML语言的公共机制 与程序设计语言的关系 用Java,C++ 等编程语言可实现一个系统。 一些CASE工具可以根据 UML所建立的系 统模型来产生Java、C++ 等代码框架。
31
UML事物 — 注释事物
11) Note(注释)
依附于一个元素或一组元素之上,对其进
行约束或解释的简单符号。没有语义影响。
See policy8-5-96.doc for details about these algorithms.
CashAccount presentValue()
32
15
UML定义 9 种图,表达UML中的 5 种视图,各 视图在静态和动态方面表示系统模型。
结构 视图 静态 方面
动态 方面
行为 视图 同左
实现 视图 构件图
环境 视图 部署图
同左
用例 视图 用例图
同左
类图 对象图
顺序图 同左 顺序图 合作图 (注重 合作图 状态图 进程、 状态图 活动图 线程) 活动图

(完整版)软件工程 第五章 面向对象的需求分析

(完整版)软件工程 第五章 面向对象的需求分析

第五章面向对象的需求分析面向对象的需求分析方法的核心是利用面向对象的概念和方法为软件需求建造模型。

它包含面向对象风格的图形语言机制和用于指导需求分析的面向对象方法学。

面向对象的思想最初起源于 20世纪 60年代中期的仿真程序设计语言Simula67。

20世纪80年代初出现的Smalltalk 语言及其程序设计环境对面向对象技术的推广应用起到了显著的促进作用。

20世纪90年代中后期诞生并迅速成熟的UML(Unified Modeling Language,统一建模语言)是面向对象技术发展的一个重要里程碑。

UML 统一了面向对象建模的基本概念、术语和表示方法,不仅为面向对象的软件开发过程提供了丰富的表达手段,而且也为软件开发人员提供了互相交流、分享经验的共用语言。

本章首先介绍面向对象的主要概念和思想。

在概述了UML的全貌之后,以“家庭保安系统”为实例,介绍与需求分析相关的部分 UML语言机制以及基于UML的面向对象的需求分析方法和过程。

第一节面向对象的概念与思想一、面向对象的概念关于“面向对象”,有许多不同的看法。

Coad和 Yourdon给出了一个定义:“面向对象 = 对象 + 类 + 继承 + 消息通信”。

如果一个软件系统是使用这样4个概念设计和实现的,则认为这个软件系统是面向对象的。

一个面向对象的程序的每一成分应是对象,计算是通过新的对象的建立和对象之间的消息通信来执行的。

1.对象(object)一般意义来讲,对象是现实世界中存在的一个事物。

可以是物理的,如一个家具或桌子,如图 5-1-1所示,可以是概念上的,如一个开发项目。

对象是构成现实世界的一个独立的单位,具有自己的静态特征(用数据描述)和动态特征(行为或具有的功能)。

例如:人的特征:姓名、性别、年龄等,行为:衣、食、住、行等。

图 5-1-1 对象的定义(1)对象、属性、操作、消息定义对象可以定义为系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位,由一组属性和一组对属性进行操作的服务组成。

软件工程第五章结构化设计

软件工程第五章结构化设计

服务注册中心
发现
注册
服务消费者 调用
服务提供者
并发系统的集中式控制模型
传感器进程 用户界面Fra bibliotek传动装置进程 系统控制器
计算进程 故障处理器
系统控制模型
事件驱动系统
广播模型:发生的事件广播到所有子系统,任何能处理 该事件的子系统都会响应。该模型适用于基于网络的分 布式系统。
广播模型中的子系统注册其感兴趣的特别事件 广播模型的优点是进化比较简单
软件模块化设计
模块是一个独立命名的,拥有明确定义的输入、输出 和特性的程序实体。
软件的模块化设计(Modular Design)。系统是有 一个个模块组装而成。
软件模块化设计优点
可以简化软件的设计和实现 提高软件的可理解性和可测试性 软件更容易得到维护。
软件模块化设计缺点
结构化设计阶段 数据流设计方法 面向数据的设计 结构化程序设计 案例分析
结构化设计概述
结构化设计方法(Structured Design, SD)是基于模 块化、自顶向下细化、结构化程序设计等程序设计技 术基础上发展起来的。
结构化设计方法用模块结构图来表达程序模块之间的 关系。
缺点是子系统都知道是否和什么时候处理事件,这可能会引 起冲突。
中断驱动模型:由中断处理器对来自外部的中断进行检 测,然后在其他组件中处理这些中断。该模型适用于对 定时有严格要求的实时系统。
只用在硬件实时系统中,要求对一些事件能做出及时响应
总线架构
像水管一样随意接入 像PCI总线一样即插即用
第三部分软件设计与建模
结构化软件设计
阳王东
回答问题
什么是软件设计?有哪些阶段和任务? 什么是模块化设计?有哪些原理? 什么是软件结构和体系结构?二者有什么区别? 数据流有哪些类型?如何区分? 数据流映射的步骤是什么? 什么是结构化程序设计?有哪些工具? 什么是JSD方法?具体步骤是什么?

软件工程 编译原理 第五章 自顶向下的语法分析方法

软件工程 编译原理 第五章 自顶向下的语法分析方法
PROCEDURE T; BEGIN F;T END PROCEDURE T; IF SYM=‘*’ THEN BEGIN ADVANCE; F;T END;
例:文法G(E):
E→TE E→+TE | T→FT PROCEDURE F; T→*FT | IF SYM=‘i’ THEN ADVANCE F→(E) | i ELSE 对应的递归下降子程序为: IF SYM=‘(’ THEN
其中不以P开头。
可以把P的规则等价地改写为如下的非直接左递归 形式: 左递归变 P→P 右递归 P→P|
一般而言,假定P关于的全部产生式是 P→P1 | P2 | … | Pm | 1 | 2|…|n 其中,每个都不等于,每个都不以P开头 那么,消除P的直接左递归性就是把这些规则改写 成:
第5章 自顶向下的语法分析方法
语法分析的作用是识别由词法分析给出 的单词符号序列是否是给定文法的正确句 子(程序)。 目前语法分析常用的方法有: 1、自顶向下(自上而下)分析 2、自底向上(自下而上)分析
5.3非LL(1)文法到LL(1)文法的等价转换
确定的自顶向下分析要求给定语言的文法必
须是 LL(1)形式。然而,不一定每个语言都是 LL(1)文法,对一个语言的非LL(1)文法是否能变
换为等价的LL(1)形式以及如何变换是我们讨论
的主要问题。由LL(1)文法的定义可知若文法中 含有左递归或含有左公共因子,则该文法肯定不 是LL(1)文法,因而,我们设法消除文法中的左 递归,提取左公共因子对文法进行等价变换。
1、提取公共左因子
若文法中含有形如:A→αβ|αγ的产生式,这导 致了对相同左部的产生式其右部的FIRST集相交, 也就是 SELECT(A→αβ)∩SELECT(A→αγ) ≠ φ ,不满足 LL(1)文法的充分必要条件。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

输出 状态标志
零件制造商
t
u
6
零件编号
零件名称
一个程序的模块互连图
三、启发式规则 1、改进软件结构提高模块独立性 2、模块规模应该适中
3、深度、宽度、扇出和 扇入都应适当 深度:表示软件结构中 控制的层数。 宽度:是软件结构中同 一个层次上的模块总数 的最大值。 扇出:是一个模块直接 控制(调用)的模块数 目。 扇入:有多少个上级 模块直接调用它。
Entry1
A
B
A
B
…. Entry2 ….
多重入口
进入另一模块内
部分代码重迭
2、公共耦合(Common Coupling) 若干模块访问一个公共的数据环境,则它们之间 的耦合称为公共耦合。公共环境可为全局数据结构、 共享的通信区、内存的公共覆盖区等。显然,公共 数据区的变化,将影响所有公共耦合模块,严重影 响模块的可靠性和可适应性,降低软件的可读性。
(二)结构图
结构图(Structure Chart,简称SC图)是精确表达 软件结构的图形表示方法,它以特定的符号表示模 块、模块间的调用关系和模块间信息的传递。结构 图的主要构成有: ⑴模块(Module):用矩形框表示,框中写有模块 的名字,说明模块的功能。模块是程序对象有名字 的集合。例如:过程、函数、子程序、宏等。
累加 结果 打印
顺序型模块
顺序型模块,编辑功能的输入是读入功能的 输出,打印功能的输入是累加功能的输出。
7、功能型(Sequential Cohesion) 一个模块包括而且仅包括完成某一具 体功能所必须的所有成分。或者说,模块 的所有成分都是为完成该功能而协同工作、 紧密联系、不可分割的。 例如仅完成以下功能的模块为功能模块: A 求一元二次方程 ● 求平方根 ● 求解一元二次方程 ● 计算利息 B 求平方根 ● 判素数
常用的设计方法有:SD法、Jackson法、HIPO法、 Warnier法等。
软件结构是软件模块之间关系的表示,它决定了整 个系统的结构,也确定了系统的质量。模块之间的 关系可有多种,但都可以归结为一种层次关系。软 件结构表示软件系统的构成,是软件模块间关系的 表示. 本节讨论如何进行软件结构的设计,设计的准则以 及为了提高软件系统的质量.
4、模块的作用域应该在控制域之内 作用域:定义为受该模块内一个判定影响 的所有模块的集合。 控制域:是这个 模块本身以及所有直接或 间接从属于它的模块的集合。
5、力争降低模块接口的复杂程度 6、设计单入口单出口的模块 7、模块功能应该可以预测
5.4
描绘软件结构的图形工具
(一)层次图和HIPO图
5.1 设计过程 总体设计过程通常由两个主要阶段组成:系统设计阶段, 确定系统的具体实现方案;结构设计阶段,确定软件结 构。典型的总体设计过程包括下述9个步骤:
1.设想供选择的方案 2.选取合理的方案 3.推荐最佳方案 4.功能分解 5.设计软件结构 6.设计数据库 7.制定测试计划 8.书写文档 9.审查和复审
A
打印 报告1 打印 报告2 打印 报告2 打印 删除
B
存入
C
修改 打印
(a)
(b)
通信型模块
(ቤተ መጻሕፍቲ ባይዱ)
6、顺序型(Sequential Cohesion) 模块中某个成分的输出是另一成分的输入。由于 这类模块无论数据还是执行顺序,模块中的一部分依 赖于另外一部分。因此具有较好的内聚性。
A
读入
数据
B
编辑
3、时间型(Temporal Cohesion) 将需要同时执行的成分放在一个模块中,因为模 块中的各功能与时间有关,因此又称为时间内聚 或经典内聚。 4、过程型 如果一个模块内的处理元素是相关的,而且必须以 特定次序执行。
5、通信型(Communicational Cohesion) 模块中的成分引用共同的输入数据,或者产生 相同的输出数据,则称为是通信内聚模块。
求解方程的功能模

下图是某校系统的一部分 (1)和(2)分别是同一模块的两个不同设计方案 评价一下哪种方案最佳? 为什么?
班级 / 成绩汇总
班级 / 成绩汇总

取班级成绩
平均/最高 成绩
甲 取班级成绩
平均成绩
最高成绩

取平均成绩 或最高成绩
(1)
乙1 取平均成绩
(2)
乙2 取平均成绩
练习:分析下图的层次图,确定每个模块的内聚类型
第5章 5.1 5.2 5.3 5.4 5.5 5.6 习题
总体设计 设计过程 设计原理 启发规则 描绘软件结构的图形工具 面向数据流的设计方法 小结
从工程管理的角度来看,软件设计分两步完成;分为 总体设计(概要设计)和详细设计两个阶段。首先做 概要设计,将软件需求转化为数据结构和软件的系统 结构。然后是详细设计,即过程设计。通过对结构表 示进行细化,得到软件详细的数据结构和算法。
有人说,模块化是为了使一个复杂的大型程序能被人的智力所 管理,软件应该具备的惟一属性。如果一个大型程序仅由一个 模块组成,它将很难被人所理解。下面根据人类解决问题的一 般规律,论证上面的结论。 设函数C(x)定义问题x的复杂程度,函数E(x)确定解决问题x需 要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2) 显然E(P1)>E(P2) 根据人类解决一般问题的经验,另一个有趣的规律是 C(P1+P2)>C(P1)+C(P2) 也就是说,如果一个问题由P1和P2两个问题组合而成,那么它 的复杂程度大于分别考虑每个问题时的复杂程度之和。 综上所述,得到下面的不等式E(P1+P2)>E(P1)+E(P2) 这个不等式导致“各个击破”的结论——把复杂的问题分解成 许多容易解决的小问题,原来的问题也就容易解决了。这就是 模块化的根据。
MOVE A TO B READ CARD FILE MOVE C TO D 偶然型模块
逻辑型模块 2、逻辑型(Logical Cohesion) 将几个逻辑上相似的功能放在一个模块中,调用时由调用 模块传递的参数确定执行的功能。由于要进行控制参数的传递, 必然要影响模块的内聚性。如图所示由调用模块传递的参数, 经过判定后,才能确定是进行读还是进行写操作。
A B 深度
I
扇出为3
C F
K
D G L
扇入为2
1层
H M 2层 3层
E
J
N
扇入为3
宽度 软件结构示意图
练习1:在软件结构化设计中,好的软件结构设 计应该力求做到( ) A.顶层扇出较少,中间扇出较高,底层模块低扇入 B.顶层扇出较高,中间扇出较少,底层模块高扇入 C顶层扇入较少,中间扇出较高,底层模块高扇入 D.顶层扇入较少,中间扇入较高,底层模块低扇入
模块调用图
调用次序为上层调用下层; 同层按照数据传递 关系确定;一般从左到右执行。 执行过程即按照数据流向进行。
三、逐步求精
逐步求精:为了能集中精力解决主要问题而尽量推 迟对问题细节的考虑. 抽象和求精是设计者在设计过程中解决问题的基本 方法.
(四)信息隐藏和局部化
信息隐藏原理指出:设计和确定模块,应使得一个模 块内包含的信息(过程和数据)对于不需要这些信息 的模块来说,是不能访问的. 局部化:是指把一些关系密切的软件元素物理地放 得彼此靠近.
A
Flag
f1 f2
B
... fn
5、数据耦合(Data Coupling) 一个模块传送给另一个模块的参数是一个单个的数 据项或者单个数据项组成的数组。
内聚
内聚:一个模块内各个元素彼此结合的紧密程序., 理想内聚的模块只做一件事情. 设计原则:力求做到高内聚,通常中等程度的内聚 也是可以采用的,而且效果和高内聚相差不多;但是 低内聚很坏,不要使用.
但是,模块的数量应适当。
图5.1 模块化和软件成本
采用模块化原理的好处: 1、使软件结构清晰,不仅容易设计也容易阅读 和理解; 2、能够提高软件的可靠性; 3、能够提高软件的可修改性; 4、有助于软件开发工程的组织管理;
二、抽象 抽象:人类在认识复杂现象的过程中使用的 最强有力的思维工具,是对现实世界中一定事 物、状态或过程之间存在的某些相似的方面 (共性) 的集中和概括,并暂时忽略它们之间 的差异,或者是指出事物的本质特性而暂时不 考虑它们的细节.
3、特征耦合(Stamp Coupling) 一个模块传送给另一个模块的参数是一个复合的 数据结构。例如,包含几个数据单项的记录。 4、控制耦合(Control Coupling) 一个模块传递给另一模块的信息是 用于控制该模块内部逻辑的控制信号。 显然,对被控制模块的任何修改,都 会影响控制模块。
⑵调用:从一个模块指向另一个模块的箭头表示前 一模块对后一模块的调用,一般是上层调用下层。 ⑶数据:调用箭头边上的小箭头表示调用时从一 个模块传送给另一模块的数据。通常在短箭头附 近应注有信息的名字,
控制
数据
模块1
values
data
模块2
values data data data
模块3
模块4
模块5 模块5
模块独立的概念是模块化,抽象,信息隐藏和局 部化概念的直接结果. 模块独立性重要的理由:第一,有利于软件实现; 第二,有利于维护测试. 衡量模块的独立程度的定性标准度量: 内聚和耦合. 模块独立性比较强的模块应该是具有高内聚性和 的低耦合度。

耦合
1、定义:是对一个软件结构内不同模块之间互连程 序的度量.耦合强弱取决于模块间接口的复杂程度, 进入或访问一个模块的点,以及通过接口的数据. 模块分解的一个目标是使块间联系尽可能小,块间联 系的大小可从三个方面衡量 ① 方式 — 块间联系方式有“直接引用”或 “用过程语句调用”。 ② 作用 — 块间传送的共用信息(参数)类型, 可为“数据型”、“控制型”或“混合型”(数 据/控制型)。 ③ 数量 — 块间传送的共用信息的数量。
相关文档
最新文档