软件工程4ppt课件.ppt
《软件工程4ppt课件.ppt》由会员分享,可在线阅读,更多相关《软件工程4ppt课件.ppt(94页珍藏版)》请在三一文库上搜索。
1、软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 第4章 结构化设计 面向数据流的设计方法 4.1 软件设计概述 4.2 软件设计的原理 4.3 模块独立性 4.4 表示软件结构的工具 4.5 软件结构设计中的启发规则 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 4.6 面向数据流的设计方法 例3:汽车仪表 4.7 人机界面设计 4.8 过程设计(详细设计) 4.9 面向数据结构的设计方法 第4章 结构化设计 面向数据流的设计方法 软件工程概论教程软件工程概论教程 江苏工业
2、学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 1软件设计分为概要设计和详细设计两个阶段 (1)概要设计: 将软件需求转化为软件结构(程序结构、接口)和 数据结构。 通过仔细分析软件需求规格说明,确定组成系统的 模块及各模块之间的关系,设计出完成预定功能的 模块结构(软件结构),并建立接口。 (2)详细设计: 详细地设计每个模块,即确定完成每个模块功能所需 要的算法和数据结构。 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 2软件设计与分析模型的关系 (图4.1) 软件工程概论教程软件工程概论教程 江苏工业学院信息
3、科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 (1)数据设计:将分析阶段的数据模型(E-R图、数据字 典)转变成实现软件所需要的数据结构。 (2)体系结构设计:将分析阶段的功能模型(DFD)转变 成软件的模块框架。 结构化分析结果为结构化设计提供了最基本的输入信息 (3)接口设计:根据分析阶段的功能模型(DFD),描述 软件内部、软件与协作系统之间、软件与用户之间的 通信方式。 (4)过程设计(详细设计):根据数据流图中每个处理的 要求及分析阶段的行为模型(状态转换图)设计每个模 块的实现过程 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工
4、程学院 卢卢 莹莹 4.2.1 模块化 4.2.2 抽象和逐步求精 4.2.3 信息隐藏 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 (1)模块:由边界元素限定的程序单元。 模块是构成程序的基本构件,是指用一个名字可以 调用的一段程序语句,可以将模块理解成类似“子 程序(函数)”的概念。 (2)模块化的含义:将程序划分成独立命名且可独立访问 的若干模块,每个模块完成一个子功能;将模块集成 起来构成一个整体,完成指定的系统功能。 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹
5、莹 (3)模块化的依据: 把复杂的问题分解成许多容易解决的小问题时,原 来的问题也就容易解决了。 设函数 C(x) 表示问题x的复杂程度,函数 E(x) 表示解决问题x需要 的工作量(时间)。 对于两个问题P1和P2: 如果: C(P1) C(P2) 则:E(P1) E(P2) 根据经验规律: C(P1 + P2) C(P1) + C(P2) E(P1 + P2) E(P1) + E(P2) 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 (4)合理划分模块,可使软件开发成本达到最小 当模块数目增加时每个模块的规模将减小,开发单个模块
6、需要的成本 也减少了;但随着模块数目增加,设计模块间接口所需要的工作量也 将增加。 根据以上两个因素,得出每个软件都相应地有一个最适当的模块数目 M,使得系统的开发成本最小。 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 模块化是对软件的一次划分过程。该划分过程从需求分析软件的一次划分过程。该划分过程从需求分析 阶段确立的目标系统的功能模型出发,对整个软件问题进阶段确立的目标系统的功能模型出发,对整个软件问题进 行分割,使软件问题中的每个部分用一个或几个软件成份行分割,使软件问题中的每个部分用一个或几个软件成份 加以解决。加以解决。
7、 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 (1)抽象:抽象是抽出事物的本质特性而暂时不考虑其 细节的思维方式。 处理复杂系统的有效的方法:分层次构造和分析。 (对于一个复杂的动态系统,首先用一些高级的抽象概 念构造和理解,这些高级概念又可以用一些较低级的 概念构造和理解,直至构造出最低层次的具体元 素) 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 软件工程过程的每一步都是对软件解法的抽象层次的 一次精化: 在可行性研究阶段,软件作为系统的一个完整部件; 在需求分析
8、期间,软件解法是使用在问题环境内熟悉 的方式描述的; 当由总体设计向详细设计过渡时,抽象的程度也就随 之减少了; 最后,当源程序写出来以后,也就达到了抽象的最低层 。 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 (2)逐步求精: 从一个高层抽象的功能定义开始,逐步进行功能和信息 的细化,逐步实现越来越多的细节,直至用某种程序设 计语言实现此功能。 可以把逐步求精定义为: 为了能集中精力解决主要问题而尽量推迟对问题细节 的考虑 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹
9、 人类的认知过程遵守Miller法则: 一个人在任何时候都只能把注意力集中在(72)个 知识块上。 逐步求精技术的作用: 把精力集中在与当前开发阶段最相关的那些方面上, 而忽略那些对整体解决方案来说是必要的、然而目 前还不需要考虑的细节,这些细节留到以后再考虑。 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 (3)抽象与逐步求精是互补的概念: 抽象使得设计者能够集中精力于当前主要的过程和数 据,同时却忽略低层细节。 求精则帮助设计者在设计过程中逐步揭示出低层细节。 可以把抽象看作是一种通过忽略多余的细节同时强调 有关的细节,而实现逐
10、步求精的方法。 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 信息隐藏: 一个模块内包含的信息对于不需要这些信息的模块来说, 是不能访问的。 “隐藏”意味着有效的模块化可以通过定义一组独立的模块来实现, 这些模块彼此之间只交换那些为了完成软件功能而必须交换的信息。 “隐藏”定义并施加了对模块内部过程细节和模块使用的局部数据结构 的访问限制。 信息隐藏原理给出了应用模块化分解软件的原则。 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 模块独立性含义:软件结构中的每个模块完成
11、一个相对独 立的特定子功能,而和其它模块的接口是简单的。 模块独立性的度量标准: 模块之间的耦合尽可能弱;每个模块的内聚尽可能强。 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 4.3.1 耦合 4.3.2 内聚 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 1.耦合表示一个软件结构内不同模块之间的互连程度。 2.耦合的强弱取决于模块间接口的复杂程度(调用方式、 接口信息性质、通过接口的数据量) 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院
12、信息科学与工程学院 卢卢 莹莹 3. 模块之间的耦合强度由弱到强依次如下: (1)数据耦合:模块间通过参数交换数据。 (2)控制耦合:模块间通过参数交换控制信息。 可通过模块分解消除控制耦合,用数据耦合取 代之。 控制耦合实质是在单一接口上选择多功能模块 中的某项功能。因此,对被控制模块的任何修 改,都会影响控制模块。 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 (3)特征耦合: 主调模块将整个数据结构作为参数传递,而被调模块 只需要其中的一部分数据元素。 在特征耦合中,被调用的模块处理了的数据多于它 确实需要的数据,这将导致对数
13、据的访问失去控制。 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 (4)公共环境耦合: 一组模块通过一个公共数据环境相互作用。 公共环境可以是全程变量、共享的通信区、内存的公 共覆盖区、任何存储介质上的文件和物理设备等 分为松散的公共环境耦合和紧密的公共环境耦合两种 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 (5)内容耦合: 一个模块访问另一个模块的内部数据 一个模块不通过正常入口转到另一模块的内部。 两个模块有一部分程序代码重叠。 一个模块有多个入口。 软件工程概论
14、教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 耦合的强弱: 弱 强 数据耦合控制耦合特征耦合公共环境耦合内容耦合 耦合是影响软件复杂程度的一个重要因素。应该采取下述 设计原则: 尽量使用数据耦合,少用控制耦合和特征耦合,限制公共 环境耦合的范围,完全不用内容耦合。 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 1.内聚标志着一个模块内各个元素彼此结合的紧密程度。 它是信息隐蔽和局部化概念的自然扩展。 理想内聚的模块只做一件事情。 软件工程概论教程软件工程概论教程 江苏工业学院信息科学
15、与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 2.模块内各元素之间的内聚强度由弱到强依次如下: (1)偶然内聚:模块内各元素之间关系松散 模块没有明确功能或模块包括彼此无关的一组功能 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 (2)逻辑内聚:一个模块内的各功能在逻辑上相同或相似 这种模块把几种相关的功能组合在一起,每次调用时,由传送给模 块的判定参数来确定该模块应执行哪一种功能。当调用逻辑内聚模 块时需要进行控制参数的传递,增加了模块间的耦合程度。而将未 用的部分也调入内存,降低了系统的效率。 例如:一个模块可生 成、打
16、印多种报表; 多种功能一个界面, 靠传递控制参数分别 调用不同功能。 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 (3)时间内聚:一个模块内各功能须在同一时段内完成 模块内各个功能的执行与时间有关,通常要求所有 功能必须在同一时间段内执行。一般情形下,时间 内聚模块的各功能可以以任意的顺序执行,所以它 的内部逻辑简单、存在的开关(或判定)转移较少 例如:初始化模块完成各种初始化工作。 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 (4)过程内聚: 模块内各个部分彼此相关
17、,必须按特定的次序执行。 通常过程内聚模块仅包括完整功能的一部分,所以 它的内聚程度仍然较低。 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 (5)通信内聚:模块内各功能使用同一个输入或产生同 一个输出 通信内聚模块中包括了若干独立的功能。 通信内聚模块的缺点是它容易产生重复的联结或重复的功能。因 为各成分执行的次序可以是任意的,有的模块调用它时,可能只 需执行其中的部分动作,另一部分则为多余联结。而且维护起来 也不方便。 例如:一个模块完成对同一文件的输入、修改、删除操作 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工
18、程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 (6)顺序内聚: 模块内各处理元素与同一个功能密切相关,且必须 顺序执行,即前一个处理动作产生的输出数据是下 一个处理动作的输入数据。 (7)功能内聚: 模块内各部分属于一个整体、为完成一项单一功能而协 同工作、不可分割。 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 内聚的强弱: 弱 强 偶然内聚逻辑内聚时间内聚过程内聚通信内聚顺序内聚功能内聚 模块的内聚在系统的模块化设计中是一个关键的因素。 软件设计中,应力求做到高内聚,提高模块独立性。 软件工程概论教程软件工程概论教程 江苏工
19、业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 (1)层次图( Hierarchy 图): 表示了模块和模块间的调用关系 (图4.4,图4.5) 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 (2)HIPO图(Hierarchy plus Input,Process,Output): 用层次图表示模块和模块间调用关系; 用IPO图表示各个模块的处理过程。 IPO:输入、处理、输出 (图4.6, 图4.7) 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹
20、(3)结构图: 结构图作用: 表示模块及模块间的调用关系; 表示模块间的信息传递 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 M循环调用A、B、C : 判定为真时调用A、为 假时调用B 软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程学院江苏工业学院信息科学与工程学院 卢卢 莹莹 (1)改进软件结构提高模块独立性: 通过分解或合并模块,降低耦合、提高内聚。 (2)每个模块的规模适中: 过大的模块往往是由于分解不充分、会降低独立性。 过小的模块开销大于有效操作,而且模块数目过多将 使系统接口复杂。 (3)深度、宽度、扇出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 ppt 课件
链接地址:https://www.31doc.com/p-3301843.html