软件设计思路PPT学习课件

合集下载

软件设计概要讲义PPT(83张)

软件设计概要讲义PPT(83张)
自顶向下,逐步细化 软件结构(搭出一个大框架) 程序结构 结构图 模块化(模块化思想,把软件分成多个模块) 抽象(通过抽象完成模块之间对外的一个黑盒装置) 信息屏蔽和局部化 模块独立
三、软件设计的概念和原理
自顶向下,逐步细化将软件的体系结构按自顶向下方式,对各个层次的过程细节和数据细节逐层细化,直到用程序设计语言的语句能够实现为止,从而最后确立整个的体系结构。 软件结构 ①软件结构包括两部分。程序的模块结构和数据的结构。 ②软件的体系结构通过一个划分过程来完成。该划分过程从需求分析确立的目标系统的模型出发,对整个问题进行分割,使其每个部分用一个或几个软件成份加以解决,整个问题就解决了。
项目经理
负责分配设计任务,追踪设计阶段进度,在项目组内协调设计过程中所需资源,参与设计文档的同行评审
系统分析员
完成相关的设计任务,编写设计文档,修改设计评审中发现的问题
项目组开发人员代表
参与设计文档的同行评审
其他项目经理
参与设计文档的同行评审
其他项目系统分析员
参与设计文档的同行评审
质量保证员
检查设计过程及设计阶段产生的文档,跟踪发现的问题的解决情况
一、软件设计的目标和任务
1、目标 系统结构设计定义软件系统各主要成份之间的关系。 过程设计。把结构成份转换成软件的过程性描述。
开发阶段的信息流
把需求翻译成文档
2、软件设计的任务 概要设计(系统设计),将软件需求转化为数据结构和软件的系统结构。概要设计由技术总监,部门经理和项目经理来做的,有可能会加一两个核心程序员。
二维画图又分为以下CASE,案例,任务的集合
(2)数据抽象 在不同层次上描述数据对象的细节,定义与该数据对象相关的操作。 例如,在CAD软件中,定义一个叫做drawing绘图的数据对象。可将drawing规定为一个抽象数据类型,定义它的内部细节为:

软件工程--软件详细设计 ppt课件

软件工程--软件详细设计  ppt课件

3
PPT课件
2.物理设计 对数据库进行物理设计,即确定数据库的 物理结构。物理结构主要指数据库的存储记录 格式、存储记录安排和存储方法,这些都依赖 于具体所使用的数据库系统。
4
PPT课件
3.算法设计 在总体设计的结构完成后,结构各个环节 的实现是多解的。着就需要用系统设计与分析 的技术来描述。可以用某种图形、表格、语言 等工具将每个模块处理过程的详细算法描述出 来。
24
PPT课件
3、汇点 如果一个结点有两个和一个出口线,而且它不执 行任何运算,那么称为汇点, 图6--5( a)所示。由多 个入口线汇集到一点的情形可以用多个汇点的联结表 示。
25
图6--5 流程图中汇点表示
PPT课件

6.3.2三种基本控制结构 流程图在描述程序控制结构时的优点是直 观清晰、易于使用。 图6--6为流程图的三种基本控制结构。
20
PPT课件

上述三种描述加工逻辑的工具各有优缺点,对 于顺序执行和循环执行的动作,用结构化语言 描述;对于存在多个条件复杂组合的判断问题, 用判定表和判定树。
21
PPT课件
6.3结构化程序设计

6.3.1 结点

在软件工程中,用流程图程序描述客观存在的事物 特性。体现为描述程序控制结构和和指令执行情况, 这种对程序结构的控制的流程图程序是一个有向图。 图的基本元素是函数结点、谓词结点和汇点三种结 点。
[定理4] :若允许增加辅助变量、或增加额外计算、 或改变程序的执行顺序,问题解的任何算法都可以 表示为结构化构造。 图6—14(a)所示的结构化流程图中有10个元 素。是一个非结构化流程图程序。因为,它的两个 选择结构出现重合,造成了程序段D有两个入口, 一个出口,破坏了单入口单出口这项结构化原则。

软件设计PPT课件

软件设计PPT课件

软件测试的目标
确保软件质量
通过测试发现软件中存在的缺陷和错误,提 高软件的质量和稳定性。
验证软件功能
验证软件是否符合需求规格,是否能够完成 预定的功能和任务。
提高软件可靠性
通过不断测试和修复,提高软件的可靠性和 可用性,降低故障率。
优化性能
通过测试发现软件的性能瓶颈,优化软件性 能,提高运行效率。
社交网络设计案例,以微信为例,介 绍其功能、特点、技术实现和用户体 验等方面的设计。
用户体验
微信注重用户体验,通过不断优化界 面设计和交互细节,提升了用户的使 用感受。
01
02
功能设计
微信作为一款社交应用,其功能设计 主要包括聊天、朋友圈、公众号等, 满足了用户社交需求。
03
特点
微信具有简洁、易用、安全等特点, 用户可以快速上手并享受优质的社交 体验。
页面布局
淘宝采用清晰的页面布局,将商品信 息、搜索框、导航栏等元素合理排布, 方便用户浏览和查找。
购物流程
淘宝的购物流程设计简洁明了,用户 可以轻松完成注册、登录、浏览、购 买等操作。
案例三:移动应用的设计
抖音的界面设计简洁大方,色彩搭配 合理,图标和按钮符合用户习惯,提 升了用户体验。
抖音在性能优化方面做得很好,无论 是启动速度还是运行流畅度都得到了 保障。
提高数据完整性
保证数据的准确性和可靠性,确保 数据的正确性和一致性。
04
数据库设计的基本步骤
概念设计
根据需求分析结果,设计出符 合业务需求的数据库概念模型。
物理设计
根据逻辑模型,设计出数据库 的物理结构,包括存储结构、 索引、分区等。
需求分析
了解用户需求,收集相关数据, 分析业务流程和数据流程。

软件设计(详细设计)PPT课件

软件设计(详细设计)PPT课件

Case条件
Case1 Case2 … Casen
AB
N
c.多分支结构
循环条件 Do-While
部分
d.当型循环结构
Do-Until 部分
循环条件
e.直到型循环结构
A f.调用子程序A
图3.4 盒图的基本符号
F A
盒图例子
T B C D
A:
Case 1234 E FGH
(3) PAD图
PAD(Problem Analysis Diagram)是问题分析图。 日立公司发明和推广(1973)。
实用软件工程
第三章 软件设计 (详细设计)
第3章 软 件 设 计 软件设计通常分为两个阶段:总体设计阶段和详
细设计阶段。 总体设计
详细设计
详细3设.1计软的件基设本计任的务基本任务
详细设计是总体设计的进一步的具体化,主 要确定每个模块的具体执行过程,故也称为过程 设计。其基本任务有: (1).为每个模块进行详细的算法设计。 (2).为模块内的数据结构进行设计。 (3).对数据库进行物理设计 。 (4).界面设计。 (5).编写文档 (6).评审
打开数据库 SQL查询语句赋值 通过记录集对象打开SQL语句设定的记录
Y 记录集末端?
N 记数变量加1,输出记录字段值及图像
转跳下一记录 关闭数据库链接对象、记录集对象,并释放资源
输出记录数和提示 结束
程序流程图的缺点: 1)程序流程图本质上不是逐步求精的好工具,它诱
使程序员过早地考虑程序的控制流程,而不去考 虑程序的全局结构。
5)可用于表示程序逻辑,也可用于描绘数据结构; 6)PAD图的符号支持自顶向下、逐步求精的方法。
2)程序流程图中用箭头代表控制流,因此程序员不 受任何约束,可以完全不顾结构程序设计的精神, 随பைடு நூலகம்转移控制。

软件设计模式ppt课件

软件设计模式ppt课件

*
* @author Administrator
*
*/
精选ppt
42
创建型模式之一(工厂方法模式)
package com.demo.factory;
import com.demo.factory.itf.ISwordFactory; import com.demo.factory.model.AbstractSword; import com.demo.factory.model.object.QixingSword;
实例二(多文档)
精选ppt
25
接口的作用
接口的定义方面来说,接口其实就是类和类之间的一种 协定,一种约束(安全性).
方便统一管理.另一个是方便调用
提高模块内的内聚性,降低模块间的耦合性.
扩展性
使用方便,可读性强,结构清晰的特点。
interface IBark { void Bark(); }
够有静态的不能被修改的数据成员(也就是必须 是static final的,不过在 interface中一般不定义 数据成员),所有的成员方法都是abstract的。
abstract class和interface所反映出的设计理念不
同。其实abstract class表示的是"is-a"关系,
精选ppt
精选ppt
3
设计模式的基本概念-软件危 机
软件危机的产生原因
✓ 与软件本身的特点有关。软件不同于硬件,它是计算机 系统中的逻辑部件而不是物理部件;软件不会因使用时 间过长而“老化”或“用坏”;在写出程序代码并在计 算机上试运行之前,软件开发过程的进展情况较难衡量, 软件质量也较难评价,因此管理和控制软件开发过程十 分困难;软件质量不是根据大量制造的相同实体的质量 来度量,而是与每一个组成部分的不同实体的质量紧密 相关,因此,在运行时所出现的软件错误几乎都是在开 发时期就存在而一直未被发现的,改正这类错误通常意 味着改正或修改原来的设计,这就在客观上使得软件维 护远比硬件维护困难;软件是一种信息产品,具有可延 展性,属于精柔选p性pt 生产,与通用性强的硬件相比,软件更 4

软件系统设计-总体设计 PPT 课件

软件系统设计-总体设计 PPT 课件
总之,耦合是影响软件复杂程度的一个重要因素。应 该采取下述设计原则: 尽量使用数据耦合,少用控制耦合和特征耦合,限制 公共环境耦合的范围,完全不用内容耦合。
2. 内 聚
• 一个模块内部元素在功能上相互关联的强度
设计目标:高内聚,模块在软件过程中完成单一的任务
(1) 功能内聚 (Functional Cohesion)
公共数据区指: • 全局数据结构 • 共享通讯区 • 内存公共覆盖区等
A
B
C
公共数据区
公共耦合存在的问题: (1)软件可理解性降低 (2)诊断错误困难 (3)软件可维护性差, (4)软件可靠性差 (公共数据区及全程变量无保护措施) 慎用公共数据区和全程变量!!!
(7) 内容耦合
A
B
A B
Entry1 ……
在较低抽象层次采用更过程化的方法,把面向问题的术语和面向实现的术 语结合起来叙述问题的解法;最后在最低的抽象层次用可直接实现的方式 叙述问题的解法。
• 软件工程过程的每一步都是对软件解法的抽象层次的一次精化。
在可行性研究阶段,软件作为系统的一个完整部件;在需求分析期间,软 件解法是使用在问题环境内熟悉的方式描述的;当由总体设计向详细设计 过渡时,抽象的程度也就随之减少了;最后,当源程序写出来以后,也就 达到了抽象的最低层。
模块1
模块3
模块4
模块2
(2) 数据耦合
一模块调用另一 模块时,被调用 模块的输入、输 出都是简单的数 据(若干参数)。 属松散耦合。
开发票
单价 数量
金额
计算水费
(3) 标记耦合(特征耦合)
如两个模块通过传 递数据结构(不是 简单数据,而是记 录、数组等)加以 联系,或都与一个 数据结构有关系, 则称这两个模块间 存在标记偶合。

《软件工程》课件第3章 软件设计

《软件工程》课件第3章 软件设计
第3章 软件设计
第3章 软件设计
3.1 软件概要设计概述 3.2 软件设计的基本原理 3.3 软件结构准则 3.4 基于IDEF0图的设计方法 3.5 软件详细设计 3.6 软件详细设计表示法 3.7 小结 习题
第3章 软件设计
3.1 软件概要设计概述
3.1.1 概要设计基本任务 1.设计软件系统结构(简称软件结构) 为了实现目标系统,最终必须设计出组成这个系
4.评审 在该阶段,对设计部分是否完整地实现了需求中 规定的功能、性能等要求,设计方案的可行性、关键 的处理和内外部接口定义正确性、有效性以及各部分 之间的一致性等,都一一进行评审。
第3章 软件设计
3.1.2 软件概要设计文档 概要设计说明书是概要设计阶段结束时提交的技
术文档。按国标GB8576—88的《计算机软件产品开发文 件编制指南》规定,软件设计文档可分为“概要设计 说明书”、“详细设计说明书”和“数据库设计说明 书”。
在大多数情况下,模块间的控制耦合并不是必需的, 可以将被调模块内的判定上移到调用模块中去,同时将 被调模块按其功能分解为若干单一功能的模块,将控制 耦合改变为数据耦合。
第3章 软件设计
(5) 公共耦合:指通过一个公共数据环境相互作 用的那些模块间的耦合。公共数据环境可以是全程变 量或数据结构、共享的通信区、内存的公共覆盖区及 任何存储介质上的文件和物理设备等(也有将共享外部 设备分类为外部耦合的)。
概要设计说明书的主要内容如下: (1) 引言:编写目的,背景,定义,参考资料。 (2) 总体设计:需求规定,运行环境,基本设计 概念和处理流程,结构。
第3章 软件设计
(3) 接口设计:用户接口,外部接口,内部接口。 (4) 运行设计:运行模块组合,运行控制,运行时 间。 (5) 系统数据结构设计:逻辑结构设计,物理结构 设计,数据结构与程序的关系。 (6) 系统出错处理设计:出错信息,补救措施,系 统恢复设计。

软件设计思路(课件PPT)

软件设计思路(课件PPT)

5.2.2 抽象
抽象就是抽出事物的本质特性而暂时不考虑它们 的细节。
软件工程过程的每一步都是对软件解法的抽象层次的 一次精化。在可行性研究阶段,软件作为系统的一个完 整部件;在需求分析期间,软件解法是使用在问题环境 内熟悉的方式描述的;当由总体设计向详细设计过渡时, 抽象的程度也就随之减少了;最后,当源程序写出来以 后,也就达到了抽象的最低层。
内容耦合:如果出现下列情况之一,两个模块间就发生了内容 耦合:
➢一个模块访问另一个模块的内部数据;
➢一个模块不通过正常入口而转到另一个模块的内部;
➢两个模块有一部分程序代码重叠(只可能出现在汇编程序中);
➢一个模块有多个入口(这意味着一个模块有几种功能)。
总之,耦合是影响软件复杂程度的一个重要因素。应该采取下 述设计原则:
逻辑内聚:如果一个模块完成的任务在逻辑上属于相 同或相似的一类,则称为逻辑内聚。
时间内聚:如果一个模块包含的任务必须在同一段时 间内执行,就叫时间内聚。
中内聚主要有两类: 过程内聚:如果一个模块内的处理元素是相关的, 而且必须以特定次序执行,则称为过程内聚。 (使用程序流程图作为工具设计软件时,常常通过 研究流程图确定模块的划分,这样得到的往往是过 程内聚的模块) 通信内聚:如果模块中所有元素都使用同一个输入 数据和(或)产生同一个输出数据,则称为通信内聚。
5. 设计软件结构
通常程序中的一个模块完成一个适当的子功能。 应该把模块组织成良好的层次系统,顶层模块调用 它的下层模块以实现程序的完整功能,每个下层模 块再调用更下层的模块,从而完成程序的一个子功 能,最下层的模块完成最具体的功能。软件结构(即 由模块组成的层次系统)可以用层次图或结构图来描 绘,第5.4节将介绍这些图形工具。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计原理:模块化、抽象、信息隐藏和局部化、模块独立 模块的独立程度度量:内聚和耦合,在软件设计中应该追
求尽可能松耦合、高内聚的系统。
启发规则:7条规则 描绘软件结构的图形工具:层次图、HIPO图、结构图 面向数据流的设计方法:变换流分析、事务流分析
7
5.1 设计过程
总体设计过程通常由两个主要阶段组成: (1)系统设计阶段,确定系统的具体实现方案; (2)结构设计阶段,确定软件结构。 典型的总体设计过程包括下述9个步骤:
需求分析阶段得出的数据流图是总体设计的极好的出 发点。设想供选择的方案的一种常用的方法是,设想把数 据流图中的处理分组的各种可能的方法,抛弃在技术上行 不通的分组方法(例如,组内不同处理的执行时间不相容), 余下的分组方法代表可能的实现策略,并且可以启示供选 择的物理系统。
9
2. 选取合理的方案
应该从前一步得到的一系列供选择的方案中选取若干 个合理的方案,通常至少选取低成本、中等成本和高成本 的三种方案。在判断哪些方案合理时应该考虑在问题定义 和可行性研究阶段确定的工程规模和目标,有时可能还需 要进一步征求用户的意见。 对每个合理的方案分析员都应该准备下列4份资料: (1) 系统流程图; (2) 组成系统的物理元素清单; (3) 成本/效益分析; (4) 实现这个系统的进度计划。
1.设想供选择的方案 2.选取合理的方案 3.推荐最佳方案 4.功能分解 5.设计软件结构
6. 设计数据库 7. 制定测试计划
8. 书写文档
9. 审查和复审
8
1. 设想供选择的方案
在总体设计阶段分析员应该考虑各种可能的实现方案, 并且力求从中选出最佳方案。在总体设计阶段开始时只有 系统的逻辑模型,分析员有充分的自由分析比较不同的物 理实现方案,一旦选出了最佳的方案,将能大大提高系统 的性能/价格比。
5
总体设计的必要性
可以站在全局高度上,花较少成本,从较抽象的层次上分析 对比多种可能的系统实现方案和软件结构,从中选出最佳方 案和最合理的软件结构,从而用较低成本开发出较高质量的 软件系统。
6
总体设计过程由两个主要阶段(包括9个步骤)组成:
(1)系统设计阶段,确定系统的具体实现方案; (2)结构设计阶段,确定软件结构。
2
软件设计( 续)
概要设计的基本目的是回答“概括地说,软件系统应 如何实现”这一问题。因此,概要设计有时称为初步 设计或总体设计。 这个阶段的工作将划分出组成系统的物理元素——程 序、文件、数据库、人工过程和文档等,每个物理元 素仍处在黑盒子级,具体内容将在以后仔细设计。 概要设计的关键是确定软件的总体结构,即确定软件 系统的组成成份(子系统或模块)以及各组成成份之 间的相互关系。
14
7. 制定测试计划
在软件开发的早期阶段考虑测试问题,能促使软 件设计人员在设计时注意提高软件的可测试性。本书 第7章将仔细讨论软件测试的目的和设计测试方案的 各种技术方法。
15
8. 书写文档
应该用正式的文档记录总体设计的结果,在这个阶段应该 完成的文档通常有下述几种: (1) 系统说明主要内容包括用系统流程图描绘的系统构成方案, 组成系统的物理元素清单,成本/效益分析;对最佳方案的概 括描述,精化的数据流图,用层次图或结构图描绘的软件结构, 用IPO图或其他工具(例如,PDL语言)简要描述的各个模块的 算法,模块间的接口关系,以及需求、功能和模块三者之间的 交叉参照关系等等。 (2) 用户手册根据总体设计阶段的结果,修改更正在需求分析 阶段产生的初步的用户手册。 (3) 测试计划包括测试策略,测试方案,预期的测试结果,测 试进度计划等等。 (4) 详细的实现计划 (5) 数据库设计结果
20
5.2.3 逐步求精
逐步求精:为了能集中精力解决主要问题而尽量推 迟对问题细节的考虑。
人类的认知过程遵守Miller法则:一个人在任 何时候都只能把注意力集中在(7±2)个知识块上。
逐步求精方法的强大作用就在于,它能帮助软 件工程师把精力集中在与当前开发阶段最相关前还不需要考虑的细节,这些细节 将留到以后再考虑。
尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境 耦合的范围,完全不用内容耦合。
26
2. 内聚
内聚标志一个模块内各个元素彼此结合的紧密 程度,简单地说,理想内聚的模块只做一件事情。 设计时应该力求做到高内聚,内聚和耦合是密切相 关,模块内的高内聚往往意味着模块间的松耦合。
27
低内聚有如下几类: 偶然内聚:如果一个模块完成一组任务,这些任务彼 此间即使有关系,关系也是很松散的,就叫做偶然内 聚。 逻辑内聚:如果一个模块完成的任务在逻辑上属于相 同或相似的一类,则称为逻辑内聚。 时间内聚:如果一个模块包含的任务必须在同一段时 间内执行,就叫时间内聚。
如果数据流图已经细化到适当的层次,则可以 直接从数据流图映射出软件结构,这就是第5.5节中 将要讲述的面向数据流的设计方法。
13
6. 设计数据库
对于需要使用数据库的那些应用系统,软件工程师应该 在需求分析阶段所确定的系统数据需求的基础上,进一步设 计数据库。
在数据库课中已经详细讲述了设计数据库的方法,本书 不再赘述。
12
5. 设计软件结构
通常程序中的一个模块完成一个适当的子功能。 应该把模块组织成良好的层次系统,顶层模块调用 它的下层模块以实现程序的完整功能,每个下层模 块再调用更下层的模块,从而完成程序的一个子功 能,最下层的模块完成最具体的功能。软件结构(即 由模块组成的层次系统)可以用层次图或结构图来描 绘,第5.4节将介绍这些图形工具。
25
内容耦合:如果出现下列情况之一,两个模块间就发生了内容 耦合:
➢一个模块访问另一个模块的内部数据; ➢一个模块不通过正常入口而转到另一个模块的内部; ➢两个模块有一部分程序代码重叠(只可能出现在汇编程序中); ➢一个模块有多个入口(这意味着一个模块有几种功能)。
总之,耦合是影响软件复杂程度的一个重要因素。应该采取下 述设计原则:
10
3. 推荐最佳方案
分析员应该综合分析对比各种合理方案的利弊,推荐一 个最佳的方案,并且为推荐的方案制定详细的实现计划。制 定详细实现计划的关键技术是本书第13章中将要介绍的工程 网络。
用户和有关的技术专家应该认真审查分析员所推荐的最 佳系统,如果该系统确实符合用户的需要,并且是在现有条 件下完全能够实现的,则应该提请使用部门负责人进一步审 批。在使用部门的负责人也接受了分析员所推荐的方案之后, 将进入总体设计过程的下一个重要阶段——结构设计。
3
软件设计( 续)
详细设计是对概要设计结果的进一步细化,其主要任 务是确定软件系统各组成成份内部的数据结构和算法 过程 方法:结构化方法、面向对象方法
4
总体设计过程
首先寻找实现目标系统的各种不同的方案(需求分析阶段 得到的数据流图是设想各种可能方案的基础)。 然后分析员从这些供选择的方案中选取若干个合理的方案, 为每个合理的方案都准备一份系统流程图,列出组成系统的 所有物理元素,进行成本效益/分析,并且制定实现出一个最 佳方案的进度计划。 系统分析员推荐最佳方案,用户接受后,为这个最佳方案 设计软件结构。进行必要的数据库设计,确定测试要求并制 定测试计划。
19
5.2.2 抽象
抽象就是抽出事物的本质特性而暂时不考虑它们 的细节。
软件工程过程的每一步都是对软件解法的抽象层次的 一次精化。在可行性研究阶段,软件作为系统的一个完 整部件;在需求分析期间,软件解法是使用在问题环境 内熟悉的方式描述的;当由总体设计向详细设计过渡时, 抽象的程度也就随之减少了;最后,当源程序写出来以 后,也就达到了抽象的最低层。
28
中内聚主要有两类: 过程内聚:如果一个模块内的处理元素是相关的, 而且必须以特定次序执行,则称为过程内聚。 (使用程序流程图作为工具设计软件时,常常通过 研究流程图确定模块的划分,这样得到的往往是过 程内聚的模块) 通信内聚:如果模块中所有元素都使用同一个输入 数据和(或)产生同一个输出数据,则称为通信内聚。
第5章 总体设计
5.1 设计过程 5.2 设计原理 5.3 启发规则 5.4 描绘软件结构的图形工具 5.5 面向数据流的设计方法 5.6 小结 习题
1
软件设计
需求分析:软件系统必须“做什么” ; 软件设计:“如何做”才可以满足需求规格说明中 规定的各项需求。 从工程管理的角度来看,软件设计通常分为两步, 即概要设计和详细设计。
21
5.2.4 信息隐藏和局部化
信息隐藏原理指出:应该这样设计和确定模块, 使得一个模块内包含的信息(过程和数据)对于不需 要这些信息的模块来说,是不能访问的。
局部化是指把一些关系密切的软件元素物理地放 得彼此靠近。
22
5.2.5 模块独立
模块独立化有如下优点:
1.有效的模块化(即具有独立的模块)的软件比较容易开发出 来。 2.独立的模块比较容易测试和维护。
11
4. 功能分解
为了最终实现目标系统,必须设计出组成这个系统的所有 程序和文件(或数据库)。对程序(特别是复杂的大型程序)的设计, 通常分为两个阶段完成:首先进行结构设计,然后进行过程设 计。结构设计确定程序由哪些模块组成,以及这些模块之间的 关系;过程设计确定每个模块的处理过程。结构设计是总体设 计阶段的任务,过程设计是详细设计阶段的任务。
➢模块间的耦合程度强烈影响系统的可理解性、可测试性、可靠
性和可维护性。
➢如果两个模块中的每一个都能独立地工作而不需要另一个模块
的存在,那么它们彼此完全独立,这意味着模块间无任何连接, 耦合程度最低。但是,在一个软件系统中不可能所有模块之间都 没有任何连接。
24
数据耦合:如果两个模块彼此间通过参数交换信息,而且交 换的信息仅仅是数据,那么这种耦合称为数据耦合。 控制耦合:如果传递的信息中有控制信息(尽管有时这种控制 信息以数据的形式出现),则这种耦合称为控制耦合。 特征耦合:当把整个数据结构作为参数传递而被调用的模块 只需要使用其中一部分数据元素时,就出现了特征耦合。 公共环境耦合:当两个或多个模块通过一个公共数据环境相 互作用时,它们之间的耦合称为公共环境耦合。
相关文档
最新文档