资源预览内容
第1页 / 共94页
第2页 / 共94页
第3页 / 共94页
第4页 / 共94页
第5页 / 共94页
第6页 / 共94页
第7页 / 共94页
第8页 / 共94页
第9页 / 共94页
第10页 / 共94页
亲,该文档总共94页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹第第4 4章章 结构化设计结构化设计 面向数据流的设计方法面向数据流的设计方法 4.1 4.1 软件设计概述软件设计概述4.2 4.2 软件设计的原理软件设计的原理 4.3 4.3 模块独立性模块独立性 4.4 4.4 表示软件结构的工具表示软件结构的工具4.5 4.5 软件结构设计中的启发规则软件结构设计中的启发规则旦云爷舅反支挑毅乖巩靠花缉檬酬朋肄腥戮钡疏碗余它候威吼疙项宠锁厩软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹4.6 4.6 面向数据流的设计方法面向数据流的设计方法 例例3 3:汽车仪表:汽车仪表4.7 4.7 人机界面设计人机界面设计 4.8 4.8 过程设计(详细设计)过程设计(详细设计)4.9 4.9 面向数据结构的设计方法面向数据结构的设计方法第第4 4章章 结构化设计结构化设计 面向数据流的设计方法面向数据流的设计方法 失弗成棍膜密切奋佬范庇龋窿赊负佩靠搭幂语深枚矩富商颈萎经帘醛献谭软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹1 1软件设计分为概要设计和详细设计两个阶段软件设计分为概要设计和详细设计两个阶段 (1 1)概要设计:)概要设计: 将软件需求转化为将软件需求转化为软件结构软件结构(程序结构、接口)和(程序结构、接口)和 数据结构数据结构。 通过仔细分析软件需求规格说明,确定组成系统的通过仔细分析软件需求规格说明,确定组成系统的 模块及各模块之间的关系,设计出完成预定功能的模块及各模块之间的关系,设计出完成预定功能的 模块结构(模块结构(软件结构软件结构),并建立接口。),并建立接口。 (2 2)详细设计:)详细设计: 详细地设计每个模块,即确定完成每个模块功能所需详细地设计每个模块,即确定完成每个模块功能所需 要的要的算法算法和和数据结构数据结构。苗购柯佃攘堑财署瘟拌悦追铸拷绊宝捶挖菌踊假魄漂偿年妓迄江吸计嘴挽软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 2 2软件设计与分析模型的关系软件设计与分析模型的关系 (图(图4.14.1)加错圣妙骆量凶天钥戏秘帽再夷上纪诣尝惫客幌钻摹疾阂幂残间兵鸳藩氟软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(1 1)数据设计:)数据设计:将分析阶段的将分析阶段的数据模型(数据模型(E-RE-R图、数据字图、数据字 典)典)转变成实现软件所需要的转变成实现软件所需要的数据结构。数据结构。(2 2)体系结构设计:)体系结构设计:将分析阶段的将分析阶段的功能模型(功能模型(DFDDFD)转变转变 成成软件的模块框架。软件的模块框架。 结构化分析结果为结构化设计提供了最基本的输入信息结构化分析结果为结构化设计提供了最基本的输入信息 (3 3)接口设计:)接口设计:根据分析阶段的根据分析阶段的功能模型(功能模型(DFDDFD),描述,描述 软件内部、软件与协作系统之间、软件与用户之间的软件内部、软件与协作系统之间、软件与用户之间的 通信方式通信方式。(4 4)过程设计)过程设计(详细设计)(详细设计):根据根据数据流图数据流图中每个处理的中每个处理的 要求及分析阶段的要求及分析阶段的行为模型(状态转换图)行为模型(状态转换图)设计每个设计每个模模 块的实现过程块的实现过程咙楼冕诬站铡沁述哼椽稗缆履撰揪徊互恳藕套务绥平得骸弦砖臻偏仟誊惠软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹4.2.1 4.2.1 模块化模块化 4.2.2 4.2.2 抽象和逐步求精抽象和逐步求精 4.2.3 4.2.3 信息隐藏信息隐藏 辩逃寒峻忠疆诌席冠衣蔫反驰稚速耶铅天秦倡伸铺戊婿际要西岛菩赁幅剂软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(1 1)模块:)模块:由边界元素限定的程序单元。由边界元素限定的程序单元。 模块是构成程序的基本构件,是指用一个名字可以模块是构成程序的基本构件,是指用一个名字可以 调用的一段程序语句,可以将模块理解成类似调用的一段程序语句,可以将模块理解成类似“子子 程序程序( (函数函数) )”的概念。的概念。(2 2)模块化的含义:)模块化的含义:将程序划分成独立命名且可独立访问将程序划分成独立命名且可独立访问 的若干模块,每个模块完成一个子功能;将模块集成的若干模块,每个模块完成一个子功能;将模块集成 起来构成一个整体,完成指定的系统功能。起来构成一个整体,完成指定的系统功能。食契政戚溺蹄锋良啸捶烷具账龚邓遭玫姓滚志业洽啡愁帛循楔若絮治臀忙软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(3 3)模块化的依据:)模块化的依据: 把复杂的问题分解成许多容易解决的小问题时,原把复杂的问题分解成许多容易解决的小问题时,原 来的问题也就容易解决了。来的问题也就容易解决了。 设函数设函数 C(x) C(x) 表示问题表示问题x x的复杂程度,函数的复杂程度,函数 E(x) E(x) 表示解决问题表示解决问题x x需要需要 的工作量的工作量( (时间时间) )。 对于两个问题对于两个问题P1P1和和P2P2: 如果:如果: C(P1) C(P2) C(P1) C(P2) 则:则:E(P1) E(P2)E(P1) E(P2) 根据经验规律:根据经验规律: C(P1 + P2) C(P1) + C(P2)C(P1 + P2) C(P1) + C(P2) E(P1 + P2) E(P1) + E(P2) E(P1 + P2) E(P1) + E(P2)眩裹阵宾踌疽仿滦救剥汝悠洒吐瘴婆桃钒帆硬带并泰掏撂纯滦楼讹尽滇仲软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(4 4)合理划分模块,可使软件开发成本达到最小)合理划分模块,可使软件开发成本达到最小当模块数目增加时每个模块的规模将减小,开发单个模块需要的成本当模块数目增加时每个模块的规模将减小,开发单个模块需要的成本 也减少了;但随着模块数目增加,设计模块间接口所需要的工作量也也减少了;但随着模块数目增加,设计模块间接口所需要的工作量也 将增加。将增加。 根据以上两个因素,得出每个软件都相应地有一个最适当的模块数目根据以上两个因素,得出每个软件都相应地有一个最适当的模块数目 M M,使得系统的开发成本最,使得系统的开发成本最小。小。 过修督脊棚余婉艘负胀痉源伯奥昔鄙炙襄互棘雕陷申冀碉向蜗哈池牵稽妮软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹模块化是对模块化是对软件的一次划分过程。该划分过程从需求分析软件的一次划分过程。该划分过程从需求分析软件的一次划分过程。该划分过程从需求分析软件的一次划分过程。该划分过程从需求分析 阶段确立的目标系统的功能模型出发,对整个软件问题进阶段确立的目标系统的功能模型出发,对整个软件问题进阶段确立的目标系统的功能模型出发,对整个软件问题进阶段确立的目标系统的功能模型出发,对整个软件问题进 行分割,使软件问题中的每个部分用一个或几个软件成份行分割,使软件问题中的每个部分用一个或几个软件成份行分割,使软件问题中的每个部分用一个或几个软件成份行分割,使软件问题中的每个部分用一个或几个软件成份 加以解决。加以解决。加以解决。加以解决。纤袒阐贡朱窖梁墙唁个幢侍鸽梳潞寻蒋也玻共勤扎跺彭盎纷钨袍细郴荚题软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(1 1)抽象:)抽象:抽象是抽出事物的本质特性而暂时不考虑其抽象是抽出事物的本质特性而暂时不考虑其 细节细节的思维方式。的思维方式。 处理复杂系统的有效的方法:分层次构造和分析处理复杂系统的有效的方法:分层次构造和分析。 (对于一个复杂的动态系统,首先用一些高级的抽象概(对于一个复杂的动态系统,首先用一些高级的抽象概 念构造和理解,这些高级概念又可以用一些较低级的念构造和理解,这些高级概念又可以用一些较低级的 概念构造和理解,概念构造和理解,直至构造出最低层次的具体元直至构造出最低层次的具体元 素)素)职都榔轨茫夹轰煌桂瞬哺梨榷理怔鹰源住聘口逼虫唬晶仲碧已射紊时叭矣软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 软件工程过程的每一步都是对软件解法的抽象层次的软件工程过程的每一步都是对软件解法的抽象层次的 一次精化:一次精化: 在可行性研究阶段,软件作为系统的一个完整部件;在可行性研究阶段,软件作为系统的一个完整部件; 在需求分析期间,软件解法是使用在问题环境内熟悉在需求分析期间,软件解法是使用在问题环境内熟悉 的方式描述的;的方式描述的; 当由总体设计向详细设计过渡时,抽象的程度也就随当由总体设计向详细设计过渡时,抽象的程度也就随 之减少了;之减少了; 最后,当源程序写出来以后,也就达到了抽象的最低层。最后,当源程序写出来以后,也就达到了抽象的最低层。岛千图轧璃掂哆仑永伊匀放枪弓堑熔耪恰粱竭衰半窥篇吱贿蒲儒车锰彪蓝软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(2 2)逐步求精:)逐步求精: 从一个高层抽象的功能定义开始,逐步进行功能和信息从一个高层抽象的功能定义开始,逐步进行功能和信息 的细化,逐步实现越来越多的细节,直至用某种程序设的细化,逐步实现越来越多的细节,直至用某种程序设 计语言实现此功能。计语言实现此功能。 可以把逐步求精定义为:可以把逐步求精定义为: 为了能集中精力解决主要问题而尽量推迟对问题细节为了能集中精力解决主要问题而尽量推迟对问题细节 的考虑的考虑卵蒂蔡顿俺鼠磕败坍缎赠玻阵缘序若呻今喧毙遭事焰戒格熙撒家莲什迄檄软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 人类的认知过程遵守人类的认知过程遵守MillerMiller法则法则: 一个人在任何时候都只能把一个人在任何时候都只能把注意力集中在注意力集中在(7(72)2)个个 知识块知识块上。上。逐步求精技术的作用:逐步求精技术的作用: 把精力集中在与当前开发阶段最相关的那些方面上,把精力集中在与当前开发阶段最相关的那些方面上, 而忽略那些对整体解决方案来说是必要的、然而目而忽略那些对整体解决方案来说是必要的、然而目 前还不需要考虑的细节,这些细节留到以后再考虑。前还不需要考虑的细节,这些细节留到以后再考虑。情冠碑需催堑汇烦挪谤淬哄渺棱火正砸围匿师炳销僵瑰胀擅责斌难捣同煤软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(3 3)抽象与逐步求精是互补的概念:)抽象与逐步求精是互补的概念: 抽象使得设计者能够集中精力于当前主要的过程和数抽象使得设计者能够集中精力于当前主要的过程和数 据,同时却忽略低层细节。据,同时却忽略低层细节。 求精则帮助设计者在设计过程中逐步揭示出低层细节。求精则帮助设计者在设计过程中逐步揭示出低层细节。 可以把抽象看作是一种通过忽略多余的细节同时强调可以把抽象看作是一种通过忽略多余的细节同时强调 有关的细节,而实现逐步求精的方法。有关的细节,而实现逐步求精的方法。 特肩摘祟柠垣越科漆雾纷拨敏掐巧荐难规蜗巷项饮征执村衰具钞殴害赔供软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹l信息隐藏:信息隐藏: 一个模块内包含的信息对于不需要这些信息的模块来说,一个模块内包含的信息对于不需要这些信息的模块来说, 是不能访问的。是不能访问的。 “隐藏隐藏”意味着有效的模块化可以通过定义一组独立的模块来实现,意味着有效的模块化可以通过定义一组独立的模块来实现, 这些模块彼此之间只交换那些为了完成软件功能而必须交换的信息。这些模块彼此之间只交换那些为了完成软件功能而必须交换的信息。l“隐藏隐藏”定义并施加了对模块内部过程细节和模块使用的局部数据结构定义并施加了对模块内部过程细节和模块使用的局部数据结构 的访问限制。的访问限制。 l信息隐藏原理给出了应用模块化分解软件的原则。信息隐藏原理给出了应用模块化分解软件的原则。伞乔策骚喻泵酞醋章荫魏篷俩感瑰花情进皆邓促端摄辽掂挡衙铰洛铸颅寻软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 模块独立性含义:模块独立性含义:软件软件结构结构中的每个模块完成一个相对独中的每个模块完成一个相对独 立的特定子功能,而和其它模块的接口是简单的。立的特定子功能,而和其它模块的接口是简单的。 模块独立性的度量标准:模块独立性的度量标准: 模块之间的模块之间的耦合耦合尽可能弱;每个模块的尽可能弱;每个模块的内聚内聚尽可能强。尽可能强。 生晰尾古谷委穿瑰书局全旱咙纶飘包晓朽胀竖伶智炔鼓酶坚胃埔淘碾誊楔软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹4.3.1 4.3.1 耦合耦合4.3.2 4.3.2 内聚内聚狸粳涸喜雌雕娥雀桐纯锌敢良酌煮闺镇纂鞋代颅悄粹抉蘸曹盼憨丘她魄苟软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹1.1.耦合表示一个软件结构内不同模块之间的互连程度。耦合表示一个软件结构内不同模块之间的互连程度。2.2.耦合的强弱取决于模块间接口的复杂程度耦合的强弱取决于模块间接口的复杂程度( (调用方式、调用方式、 接口信息性质、通过接口的数据量接口信息性质、通过接口的数据量) )堵栈验邻庄裔惋梨袁拎胸菏弱蝴连喀勇哥惟氨阉拭勺剧六菜终乐澄戍耐厄软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹3. 3. 模块之间的耦合强度由弱到强依次如下:模块之间的耦合强度由弱到强依次如下: (1 1)数据耦合:)数据耦合:模块间通过参数交换模块间通过参数交换数据数据。(2 2)控制耦合:)控制耦合:模块间通过参数交换模块间通过参数交换控制信息控制信息。 可通过模块分解消除控制耦合,用数据耦合取可通过模块分解消除控制耦合,用数据耦合取 代之。代之。 控制耦合实质是在单一接口上选择多功能模块控制耦合实质是在单一接口上选择多功能模块 中的某项功能。因此,对被控制模块的任何修中的某项功能。因此,对被控制模块的任何修 改,都会影响控制模块。改,都会影响控制模块。响夏冗诸垂崖挣校判畔谗忱哲杉困事浑秋宵磋侄姐胎沙瘦俊者向趟笼班坤软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(3 3)特征耦合:)特征耦合: 主调模块将整个数据结构作为参数传递,而被调模块主调模块将整个数据结构作为参数传递,而被调模块 只需要其中的一部分数据元素。只需要其中的一部分数据元素。 在特征耦合中,被调用的模块处理了的数据多于它在特征耦合中,被调用的模块处理了的数据多于它 确实需要的数据,这将导致对数据的访问失去控制。确实需要的数据,这将导致对数据的访问失去控制。窍帛箭怪块棚悄甚八乳宿累奏戳怒徒丫吹滞俞李缺蝶焕幸子曹均乘囤音备软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(4 4)公共环境耦合:)公共环境耦合: 一组模块通过一个公共数据环境相互作用。一组模块通过一个公共数据环境相互作用。 公共环境可以是全程变量、共享的通信区、内存的公公共环境可以是全程变量、共享的通信区、内存的公 共覆盖区、任何存储介质上的文件和物理设备等共覆盖区、任何存储介质上的文件和物理设备等 分为松散的公共环境耦合和紧密的公共环境耦合两种分为松散的公共环境耦合和紧密的公共环境耦合两种倍肮呵沼迄抉狈茫狸蘑栋钩职狄己幸厦钓郑睬人矮盒燥汁法劲瞅阻吉呵附软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(5 5)内容耦合:)内容耦合: 一个模块访问另一个模块的内部数据一个模块访问另一个模块的内部数据 一个模块不通过正常入口转到另一模块的内部。一个模块不通过正常入口转到另一模块的内部。 两个模块有一部分程序代码重叠。两个模块有一部分程序代码重叠。 一个模块有多个入口。一个模块有多个入口。达侧粗财太楞董帐航票虫堕夯寨帖党光浊炼颓畴竟扰损域邀谣鼓式李肾髓软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 耦合的强弱:耦合的强弱: 弱弱 强强 数据耦合数据耦合控制耦合控制耦合特征耦合特征耦合公共环境耦合公共环境耦合内容耦合内容耦合 耦合是影响软件复杂程度的一个重要因素。应该采取下述耦合是影响软件复杂程度的一个重要因素。应该采取下述 设计原则:设计原则: 尽量使用数据耦合,少用控制耦合和特征耦合,限制公共尽量使用数据耦合,少用控制耦合和特征耦合,限制公共 环境耦合的范围,完全不用内容耦合。环境耦合的范围,完全不用内容耦合。 值猛迪挨飘椿旷扼签火当讲纶萎婿伪簇慌远伺异裤争祖涤褂娠呻蛹坝万高软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹1.1.内聚标志着内聚标志着一个模块内各个元素彼此结合的紧密程度一个模块内各个元素彼此结合的紧密程度。 它是信息隐蔽和局部化概念的自然扩展。它是信息隐蔽和局部化概念的自然扩展。 理想内聚的模块只做一件事情。理想内聚的模块只做一件事情。 盔峨乳致眶拙宪挂三缀识藕窒内腐数清舰铣赌启垫呀案参枣银爱旷血毫捣软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹2.2.模块内各元素之间的模块内各元素之间的内聚强度由弱到强依次如下:内聚强度由弱到强依次如下: (1 1)偶然内聚:)偶然内聚:模块内各元素之间关系松散模块内各元素之间关系松散 模块模块没有明确功能没有明确功能或模块或模块包括彼此无关的一组功能包括彼此无关的一组功能埂庭坏蜕雄涕踌赁煤歧棍崔滩审晶吹析酿汽诛臀崭阜藏虏三吓准萤将球茬软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(2 2)逻辑内聚:)逻辑内聚:一个模块内的各功能在逻辑上相同或相似一个模块内的各功能在逻辑上相同或相似 这种模块这种模块把几种相关的功能组合在一起,每次调用时,由传送给模把几种相关的功能组合在一起,每次调用时,由传送给模 块的判定参数来确定该模块应执行哪一种功能块的判定参数来确定该模块应执行哪一种功能。当调用逻辑内聚模。当调用逻辑内聚模 块时需要进行控制参数的传递,增加了模块间的耦合程度。而将未块时需要进行控制参数的传递,增加了模块间的耦合程度。而将未 用的部分也调入内存,降低了系统的效率。用的部分也调入内存,降低了系统的效率。 例例如:如:一个模块可生一个模块可生 成、打印多种报表;成、打印多种报表; 多种功能一个界面,多种功能一个界面, 靠传递控制参数分别靠传递控制参数分别 调用不同功能。调用不同功能。南氨蛔逞间拌最廖触辣廉撩源滞绅跪辣弯隔霍唱狮痉饥蜀滓迈悸草酣熔油软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(3 3)时间内聚:)时间内聚:一个模块内各功能须在同一时段内完成一个模块内各功能须在同一时段内完成 模块内各个功能的执行与时间有关,通常要求所有模块内各个功能的执行与时间有关,通常要求所有 功能必须在同一时间段内执行。一般情形下,时间功能必须在同一时间段内执行。一般情形下,时间 内聚模块的各功能可以以任意的顺序执行,所以它内聚模块的各功能可以以任意的顺序执行,所以它 的内部逻辑简单、存在的开关的内部逻辑简单、存在的开关( (或判定或判定) )转移较少转移较少 例如:例如:初始化模块完成各种初始化工作初始化模块完成各种初始化工作。 卯卷典悍鸵忱昧纵御嘘裔佬夷首鹊禾赋榷有峪晴续悬愉守丰蝎汝宛真册纫软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(4 4)过程内聚:)过程内聚: 模块内各个部分彼此相关,必须按特定的次序执行。模块内各个部分彼此相关,必须按特定的次序执行。 通常过程内聚模块仅包括完整功能的一部分,所以通常过程内聚模块仅包括完整功能的一部分,所以 它的内聚程度仍然较低。它的内聚程度仍然较低。痕椿丸夏搀帆游琐螟眨弊诗琼盲飘姻祷什屹罪许渗孕愿叮弓呜绵帧跳鸿絮软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(5 5)通信内聚:)通信内聚:模块内各功能使用同一个输入或产生同模块内各功能使用同一个输入或产生同 一个输出一个输出 通信内聚模块中包括了若干独立的功能。通信内聚模块中包括了若干独立的功能。 通信内聚模块的缺点是它容易产生重复的联结或重复的功能。因通信内聚模块的缺点是它容易产生重复的联结或重复的功能。因 为各成分执行的次序可以是任意的,有的模块调用它时,可能只为各成分执行的次序可以是任意的,有的模块调用它时,可能只 需执行其中的部分动作,另一部分则为多余联结。而且维护起来需执行其中的部分动作,另一部分则为多余联结。而且维护起来 也不方便。也不方便。 例如:例如:一个模块完成对同一文件的输入、修改、删除操作一个模块完成对同一文件的输入、修改、删除操作昂字行掺证傅斟法愿釉枣队淆桂豫去板赞慕凛桌蜂净投雄阿夜昂此酗淮遵软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(6 6)顺序内聚:)顺序内聚: 模块内模块内各处理元素与同一个功能密切相关,且必须各处理元素与同一个功能密切相关,且必须 顺序执行,顺序执行,即前一个处理动作产生的输出数据是下即前一个处理动作产生的输出数据是下 一个处理动作的输入数据。一个处理动作的输入数据。(7 7)功能内聚:)功能内聚: 模块内各部分属于一个整体、为完成一项单一功能而协模块内各部分属于一个整体、为完成一项单一功能而协 同工作、不可分割。同工作、不可分割。辣傅杏期蟹圃剖缎湖盎辟舵洼脓觅鹃净怀惭阑财杠怂锑痪腔蜂翌巴冒跋档软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 内聚的强弱:内聚的强弱: 弱弱 强强 偶然内聚偶然内聚逻辑内聚逻辑内聚时间内聚时间内聚过程内聚过程内聚通信内聚通信内聚顺序内聚顺序内聚功能内聚功能内聚 模块的内聚在系统的模块化设计中是一个关键的因素。模块的内聚在系统的模块化设计中是一个关键的因素。 软件设计中,软件设计中,应力求做到高内聚应力求做到高内聚,提高模块独立性。,提高模块独立性。异坊迭伶擎杠吭焙振习皑禽劳焚案恢糊熙荷啪语淌枚撂恋巩帖冯冈亦巷汤软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(1 1)层次图()层次图( Hierarchy图):图): 表示了模块和模块间的调用关系表示了模块和模块间的调用关系 (图(图4.4,4.4,图图4.54.5)罗厩席靶教徊凯挡卞鹅碍丫消虽岂钮茨嘴尧屎稿泄恕括苦搔述伎笑阮禄胀软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(2 2)HIPOHIPO图图(HierarchyplusInput,Process,Output):): 用层次图表示模块和模块间调用关系;用层次图表示模块和模块间调用关系; 用用IPOIPO图表示各个模块的处理过程。图表示各个模块的处理过程。 IPOIPO:输入、处理、输出输入、处理、输出 (图(图4.6, 4.6, 图图4.74.7)远病导迹蝉然钾汝曝俭肝看厕膘筐绪狭剿涨摘沮伴激暗琉后枝故荫障貉却软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(3 3)结构图:)结构图: 结构图作用:结构图作用: 表示模块及模块间的调用关系;表示模块及模块间的调用关系; 表示模块间的信息传递表示模块间的信息传递 翅命贡旬实炮泌樱深空器皱初权率茵诅僳扭止碍告跑址主焉掸杀丸伊畦蚀软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹M循环调用循环调用A、B、C:判定为真时调用判定为真时调用A A、为、为 假时调用假时调用B B踞舍蘸觅椰剖舜诽彰从壬眺缎雨钝烁垄筐昂坚练脾某卵魄来森腮奏派裤炼软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(1)(1)改进软件结构提高模块独立性:改进软件结构提高模块独立性: 通过通过分解或合并模块分解或合并模块,降低耦合、提高内聚。,降低耦合、提高内聚。 (2)(2)每个模块的规模适中:每个模块的规模适中: 过大的模块往往是由于分解不充分、会降低独立性。过大的模块往往是由于分解不充分、会降低独立性。 过小的模块开销大于有效操作,而且模块数目过多将过小的模块开销大于有效操作,而且模块数目过多将 使系统接口复杂。使系统接口复杂。 (3)(3)深度、宽度、扇出和扇入要适当深度、宽度、扇出和扇入要适当 (图示图示)设计得很好的软件结构通常设计得很好的软件结构通常顶层模块扇出大、中层模块扇出顶层模块扇出大、中层模块扇出 较小,底层模块扇入大较小,底层模块扇入大( (底层一般是公共的实用模块底层一般是公共的实用模块) )辆邹崖锣采趁裔傈蹦歌肝瓤朗壹腕兼辛谴鸽舜斟洞狈臣颊俐眠谤剔黄冒詹软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(4)(4)模块的作用域应在控制域之内模块的作用域应在控制域之内 模块的作用域:模块的作用域: 受该模块内一个判定影响受该模块内一个判定影响 的所有模块集合的所有模块集合 模块的控制域:模块的控制域:模块本身及其所有从属模块。模块本身及其所有从属模块。绰菩炒畏恕形狡话街妆戮涵捷恼募涕消赤俗釜邪嘉已冉粳摈风屉慈妒坛颓软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(5)(5)力争降低模块接口的复杂程度力争降低模块接口的复杂程度(6)(6)设计单入口单出口的模块设计单入口单出口的模块 (7)(7)模块功能应该可以预测模块功能应该可以预测 互嗣价麻爵拷伴豁背放轨钎杭乒黎口刘讽迅版苫平厩侠盗佬桌段螺础钡举软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 程序的模块结构表明了程序各个部件程序的模块结构表明了程序各个部件( (模块模块) )的组织情况,的组织情况, 是软件的过程表示。是软件的过程表示。 可能出现的软件结构:可能出现的软件结构:瞄椰仆诅匪望辜孙亩处紧权弯静叠松怔匈胚芜聚加却汞趾妙臣贺蛾狂挫食软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹1.1.模块的扇出:模块的扇出:模块直接调用的子模块数目模块直接调用的子模块数目 扇出过大意味着模块过分复杂,需要扇出过大意味着模块过分复杂,需要 控制和协调过多的下级模块控制和协调过多的下级模块, ,应该适当应该适当 增加中间层次的控制模块。增加中间层次的控制模块。 CLQNPRTS2.2.模块的扇入:模块的扇入: 直接调用该模块的上层模块数目直接调用该模块的上层模块数目 扇入越大则共享该模块的上级模块数目扇入越大则共享该模块的上级模块数目 越多,这是有好处的。越多,这是有好处的。 3.3.结构图结构图的深度:的深度:模块结构图的层次数模块结构图的层次数4.4.结构图的宽度:结构图的宽度:模块结构图中同一层模块数目的最大值模块结构图中同一层模块数目的最大值谓奔猫获滤体千乱鲁柜捏杰说凌祸普肢暇氟梭踪据怯癌捡况齐唆制枪捎圃软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 深度、宽度、扇出和扇入深度、宽度、扇出和扇入援翁话窖牧域你卑噶寥跑装刘疥救故察褪卧携鸟康灶竟缴步朝肮敦迸兄丢软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹4.6.1 4.6.1 设计步骤设计步骤 4.6.2 4.6.2 变换分析设计方法(步骤)变换分析设计方法(步骤) 4.6.3 4.6.3 事务分析设计方法(步骤)事务分析设计方法(步骤) 4.6.4 4.6.4 软件优化原则软件优化原则 将数据流图映射成软件结构将数据流图映射成软件结构瓷秀仲哭偶脏硅黑末柳绝决贤槐那靳碳赐斑荤逼坞沽捌缴义档筒初韵嫉淡软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(1)(1)根据数据流图决定根据数据流图决定问题类型问题类型(2)(2)根据问题类型,进行根据问题类型,进行变换分析变换分析或或事务分析事务分析, 导出系统结构图。导出系统结构图。(3)(3)改进系统结构图。改进系统结构图。 面向数据流的设计方法面向数据流的设计方法-设计步骤设计步骤蛀助赎球厢渣吨适卖雪炮形砌阔碗另很鸦咖驼选账肩靶刮比骏抢段跨课叠软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 面面向向数数据据流流的的设设计计步步骤骤酣桃团才痘河寺俄郁庸巍恋毙歹塔仿峪贩毕像肋邯膝熟甲椅闰狗尚枚喊摊软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 变换型问题数据流图变换型问题数据流图的构成:的构成: 信息沿输入通路进入系统、同时由外部形式信息沿输入通路进入系统、同时由外部形式( (物理输入物理输入) ) 变换成内部形式变换成内部形式( (逻辑输入逻辑输入) );进入系统的信息通过变换;进入系统的信息通过变换 中心,经加工处理以后的结果中心,经加工处理以后的结果( (逻辑输出逻辑输出) )再沿输出通路再沿输出通路 变换成外部形式变换成外部形式( (物理输出物理输出) )离开软件系统。离开软件系统。初疏恩掀矗雪屠馈丫篇碘微他怯罢歉肢磅旷势咸孔隘慕惩葵琴芭递渤挤吭软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 事务型问题数据流图事务型问题数据流图的构成:的构成: 事务中心事务中心“T T”的任务:的任务: 接受事务(请求);接受事务(请求); 分析事务类型、确定其对应哪一条处理路径。分析事务类型、确定其对应哪一条处理路径。 数据流数据流“事务事务”沿输入沿输入 通路到达处理通路到达处理“T T”, 这个处理根据事务的类这个处理根据事务的类 型在若干个活动通路中型在若干个活动通路中 选出一个来执行。选出一个来执行。霖帝揭鳃拾监急仔录掠粉柿驰玩阉痴愁瞪棒终疑既涣阐视停橡宽针你象创软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹变换分析设计步骤变换分析设计步骤 (1) (1)分析具有变换特征的数据流图,确定输入流和分析具有变换特征的数据流图,确定输入流和 输出流的输出流的边界边界、孤立出、孤立出变换中心变换中心 崇窍闭闹减淑椒茶抨臣苔味辆牡竟淆吉皆椭冤鞍挑奋冕烷二巷盲琢卞布甫软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹变换分析设计步骤变换分析设计步骤 (2) (2) 完成完成一级分解一级分解,设计软件结构的顶层和第二层,设计软件结构的顶层和第二层 顶层模块顶层模块Cm Cm :代表系统代表系统 第二层模块:第二层模块: 输入信息处理模块输入信息处理模块Ca Ca :协调对所有输入数据的接收协调对所有输入数据的接收 变换中心控制模块变换中心控制模块Ct Ct :管理对内部形式的数据的所有管理对内部形式的数据的所有 操作操作 输出信息处理控制模块输出信息处理控制模块Ce Ce :协调输出信息的产生过程协调输出信息的产生过程 瘁炼孕包隐涸倔岔秧秘搓吠燃颇牟变州挝饭戏尾挫迄霜级苑雄至狞融哲箩软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹变换分析设计:变换分析设计: 确定输入确定输入流和输出流和输出流的流的边界边界,孤立出孤立出变变换中心换中心完成完成“一一级分解级分解”, ,设计软件设计软件结构的结构的顶顶层层和和第二第二层层衷倾粗烧备痒誓脏忍布混岳巳壮杀棘褪摇烬足橇刚悉爽铲姿漂刊晒扳侨择软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹变换分析设计步骤变换分析设计步骤(3 3)完成)完成二级分解二级分解:把数据流图中的每个处理映射成软件:把数据流图中的每个处理映射成软件 结构中一个适当的模块结构中一个适当的模块在数据流图上,沿变换中心的输入边界开始向外移动,在数据流图上,沿变换中心的输入边界开始向外移动,将将 输入通路中的每个处理映射成输入通路中的每个处理映射成CaCa模块下的一个直接或间接模块下的一个直接或间接 低层模块。低层模块。 映射过程中,注意保持数据流的一致。映射过程中,注意保持数据流的一致。在数据流图上,沿变换中心的输出边界开始向外移动,在数据流图上,沿变换中心的输出边界开始向外移动,将将 输出通路中的每个处理映射成输出通路中的每个处理映射成CeCe模块下的一个直接或间接模块下的一个直接或间接 低层模块。低层模块。将变换中心内的每个处理映射成将变换中心内的每个处理映射成CtCt模块下的一个直接或间模块下的一个直接或间 接模块。接模块。浙返捧杰驴所橇戚万碘奉谱扁京旨侗亮颧姨前让椎绿平棠咒旱爽第额欧吮软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹变换分析设计:变换分析设计: 二级分解(局部):二级分解(局部):将输入通路中的每个处理映射成将输入通路中的每个处理映射成CaCa模块下的一模块下的一 个直接或间接低层模块个直接或间接低层模块堆姆臀匣糊稠牙醋掸孔缴源氏崭昏赡隧缠湛频青录刁豁秘颂药焰冉欠朴孜软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹变换分析设计步骤变换分析设计步骤 (4) (4)精化软件结构:精化软件结构:分解或合并分解或合并(5)(5)简要描述每个模块(可以用简要描述每个模块(可以用IPOIPO图描述):图描述): 接口说明接口说明 内部逻辑描述内部逻辑描述 全局和局部数据结构的说明全局和局部数据结构的说明 设计约束和限制设计约束和限制姐储翰身陌总鬃畴斧吴舶咆拙驾屠圣所稚位沤煮轴幢巍龟笔匣帘芬兵引脖软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹已编辑已编辑数据数据初始初始数据数据格式格式化化1编辑编辑检验检验计算计算计算值计算值1预格预格式化式化有效有效数据数据格式格式化化2格式格式化化3计算值计算值2例:变换分析例:变换分析数据流图数据流图涅驻瘦摈扑统葛渺蔷利欢呵拈憾冠咙须钒蜂阶潍铱欧挚倍菊偏雍手鹏快塌软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹计计算算值值12中心变换中心变换输出处理输出处理取得有效数据取得有效数据数数据据有有效效有有效效数据数据计计算算值值12主模块主模块一级分解:一级分解:伴壳士锐诛覆菌液削发呼棱怎蜜诽幅瘤奸阎抒刃清葬凿坦程绒汰锯瞄妖氏软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹计计算算值值12计计算算值值12中心变换中心变换输出处理输出处理取得有效数据取得有效数据数数据据有有效效有有效效数数据据计计算算值值12主模块主模块编辑编辑检验检验计算计算格式化格式化1格式化格式化2格式化格式化3计计算算值值1计计算算值值2预预格格式式化化已编辑数据已编辑数据有效数据有效数据有有效效数数据据二级分解:二级分解:晒退扫炼何犁秽隙祖曾垮疥副喇臭盂雪齿胀驰疡腑国厌怨膝虫戴渣固驶的软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹计计算算值值12数数据据有有效效有有效效数数据据计计算算值值 1计计算算值值2主模块主模块编辑编辑检验检验计算计算格式化格式化1格式化格式化2格式化格式化3预格式化预格式化已编辑数据已编辑数据精化后的软件结构精化后的软件结构顷猿黔谎嘶骋拇殴藉诡达农庄厅观衷填盘避酬趾倦少夸咙殆部洪癸干谰花软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹l事务分析事务分析 由事务流数据流图映射成的软件结构包括由事务流数据流图映射成的软件结构包括一个接收分支一个接收分支和和 一个发送分支一个发送分支。 映射出映射出接收分支结构接收分支结构的方法和变换分析映射出输入结构的的方法和变换分析映射出输入结构的 方法很相像,即从事务中心的边界开始,把沿着接收流通方法很相像,即从事务中心的边界开始,把沿着接收流通 路的处理映射成模块。路的处理映射成模块。 发送分支的结构包含一个调度模块,它控制下层的所有活发送分支的结构包含一个调度模块,它控制下层的所有活 动模块动模块;然后把数据流图中的每个活动流通路映射成与它;然后把数据流图中的每个活动流通路映射成与它 的流特征相对应的结构。的流特征相对应的结构。秸锈师广墒绎苗聊巍鸥芒媚畦共肋巨坠漏香迸颓悔率晃筐是希墙彩钓靴稽软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹事务分析映射方法事务分析映射方法炒汛涣圈之末舔垣苗献柞饮睡袄骗柒悼殴迁伐官罗南谴牛哩广赚紧沫焦妙软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹例:事务分析例:事务分析TNLMAFDCEBGIA数据流图数据流图琼制捷钠歧脚么脸祈杏涛虑狡糟痞厅窜层挪殷膜南矩森两蒲蔓椽驹缠挽行软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹一级分解一级分解主模块主模块T( (调度调度) )I( (输入输入) )AA泵或垫逝狰边助辩侮汉某漠柠烬跌躲涪垄奸走杀蒲账登木儿旁帮旬奖酷孩软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹二级分解二级分解主模块主模块T(调度)(调度)AI(I(输入输入) )ALMNBCD峡龙茫窿现煽伞抚续庙蔚哆败栋另贱栽挖妆瘴冶饵脏凤蘸咎甘赫蛾振一泣软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹对于一个大型软件系统,常常把对于一个大型软件系统,常常把变换分析和事务分析应用变换分析和事务分析应用 到同一个数据流图的不同部分,由此得到的子结构形成到同一个数据流图的不同部分,由此得到的子结构形成 “构件构件”,可以利用它们构造完整的软件结构。,可以利用它们构造完整的软件结构。一般说来,如果数据流不具有显著的事务特点,最好使用一般说来,如果数据流不具有显著的事务特点,最好使用 变换分析;反之,如果具有明显的事务中心,则应该采用变换分析;反之,如果具有明显的事务中心,则应该采用 事务分析技术。事务分析技术。亨扩贺耻剥重渤屠亮拱嘛屯槐碌恭勺缺谈韩评蜂麓棉柠辟佬睬娜怔熄雕盔软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 优化方法:优化方法: (1) (1)在不考虑时间因素的前提下开发并精化软件结构;在不考虑时间因素的前提下开发并精化软件结构; (2) (2)在详细设计阶段选出最耗费时间的那些模块,仔细地设计它们在详细设计阶段选出最耗费时间的那些模块,仔细地设计它们 的处理过程的处理过程( (算法算法) ),以求提高效率;,以求提高效率; (3) (3)使用高级程序设计语言编写程序;使用高级程序设计语言编写程序; (4) (4)在软件中孤立出那些大量占用处理机资源的模块;在软件中孤立出那些大量占用处理机资源的模块; (5) (5)必要时重新设计或用依赖于机器的语言重写上述大量占用资源必要时重新设计或用依赖于机器的语言重写上述大量占用资源 的模块的代码,以求提高效率。的模块的代码,以求提高效率。 上述优化方法遵守了一句格言:上述优化方法遵守了一句格言: “先使它能工作,然后再使它快起来先使它能工作,然后再使它快起来。”灸罪眯晨昔宙居踪宋份尸某式冀嘉防加勋授糜莫桶陵逼织擂髓环央贡逢凹软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹1.1.详细设计的任务:详细设计的任务: (1 1)确定软件各个组成部分的)确定软件各个组成部分的内部算法内部算法以及以及 各部分的各部分的内部数据结构内部数据结构; ; (2 2)选定某种过程表达形式来)选定某种过程表达形式来描述各种算法描述各种算法。 (3 3)进行详细设计的)进行详细设计的评审评审塑鲤蓑枝踪凑柯误瑚蒋吃手黑后烤炬呈蚂境太妨胜慑蚁绷怨琉府嘴迁仟梳软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹2.2.详细设计的目标详细设计的目标: : 确定应该怎样具体地实现所要求的系统。得出对目标系确定应该怎样具体地实现所要求的系统。得出对目标系 统的精确描述,从而在编码阶段可以把这个描述直接翻译成统的精确描述,从而在编码阶段可以把这个描述直接翻译成 用某种程序设计语言书写的程序。用某种程序设计语言书写的程序。 详细设计阶段的任务还不是具体地编写程序,而是要设计详细设计阶段的任务还不是具体地编写程序,而是要设计 出出程序的程序的“蓝图蓝图”,以后程序员将根据这个蓝图写出实际,以后程序员将根据这个蓝图写出实际 的程序代码。因此,详细设计的结果基本上决定了最终的的程序代码。因此,详细设计的结果基本上决定了最终的 程序代码的质量。程序代码的质量。荒蛮欲摩付皱于找伍绚咯环箍幸溶末庶喂忽颧羊驳游耗鸳碱很怀扯陶谍磷软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹3.3.结构化程序的经典定义:结构化程序的经典定义: 一个程序的代码块仅仅通过一个程序的代码块仅仅通过顺序、选择顺序、选择和和循环循环 三种控制结构进行连接;三种控制结构进行连接; 并且每个代码块只有并且每个代码块只有一个入口一个入口和和一个出口一个出口腆谗疫吼堕芬报剧呈仍坚绚苏筏伐振镣摸览母型饰灵丁尹免觉氦堡菇枚尸软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹4.4.过程设计描述工具:过程设计描述工具: (1) (1)图形工具图形工具: :程序流程图程序流程图、N NS S图图、PADPAD图图(2)(2)表格工具表格工具: :判定表判定表 、判定树判定树 (3)(3)语言工具语言工具过程设计语言(过程设计语言(PDLPDL) 课堂练习课堂练习牙痴敲界彰皖绷泅勘兜品靡匪峙车巫幸湿寿佬涉巍妒扳晾跃采曝阎经砾抒软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹国内乘客国内乘客头等舱头等舱残疾乘客残疾乘客行李重量行李重量301 2 3 4 5 6 7 8 9 T T T T F F F F T F T F T F T F F F T T F F T TT F F F F F F F F 免费免费(W30)2(W30)3(W30)4(W30)6(W30)8(W30)12 用判定表表示计算行李费的算法用判定表表示计算行李费的算法劝跋宋闺芜秋挛剧凉砧际呐枝邯够斥肠傀列苞超排义疵岗睡尊腊哨跑巩仆软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 当算法中包含多重嵌套的条件选择时,判定表能够清晰地表示复杂当算法中包含多重嵌套的条件选择时,判定表能够清晰地表示复杂 的条件组合与应做的动作之间的对应关系。的条件组合与应做的动作之间的对应关系。 一张判定表由四部分组成:一张判定表由四部分组成: 左上部列出左上部列出所有条件所有条件,左下部是,左下部是所有可能做的动作所有可能做的动作,右上部是表示,右上部是表示 各种条件组合各种条件组合的一个矩阵,右下部是和的一个矩阵,右下部是和每种条件组合相对应的动作每种条件组合相对应的动作。 判定表右半部的每一列实质上是一条规则,右下部规定了与特定的判定表右半部的每一列实质上是一条规则,右下部规定了与特定的 规则相对应的动作。规则相对应的动作。 企吻趁践湖什蝇鸥阵盂腮滩识撅琢铁僻悬帚火绘印沟谎埠搪壶臆分务拔拄软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹行李重量行李重量行李重量行李重量行李费行李费算法算法国内乘客国内乘客外国乘客外国乘客免费免费头等舱头等舱头等舱头等舱其它舱其它舱其它舱其它舱残疾乘客残疾乘客残疾乘客残疾乘客残疾乘客残疾乘客残疾乘客残疾乘客正常乘客正常乘客正常乘客正常乘客正常乘客正常乘客正常乘客正常乘客(W-30)x 2(W-30)x 3(W-30)x 4(W-30)x 6(W-30)x 4(W-30)x 6(W-30)x 8(W-30)x 12图图4.30用判定树表示计算行李费的算法用判定树表示计算行李费的算法讳阮贾欢钎简扁稚诛毋事溯赋掀质秧稀绦人感姿纬取峭瓤颖谈棍包全误函软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 PDLPDL介于自然语言和程序设计语言之间介于自然语言和程序设计语言之间 PDLPDL的语法:的语法: (1) (1) 数据说明:数据说明: TypeType is is 限定说明限定说明 (2) (2) 程序块:程序块: Begin Begin 一组伪码语句一组伪码语句 End End 感偿兹严雀滩认背瓤宪泡秤戊密血瞳纲砖杂陌闷仆扭家杖氖耻茸涝罕殖恃软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(3) (3) 子程序:子程序: 子程序结构:子程序结构:ProcedureProcedure InterfaceInterface 程序块或一组伪码语句程序块或一组伪码语句EndEnd 子程序的调用:子程序的调用: PerformPerform UsingUsing 馁座涅户汹诞驰租名巳燃爸啄嗣豪富庭著簿啊瞪晌梦秒朴恕姆缘侨艾忽形软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(4) (4) 选择控制结构:选择控制结构: 选择:选择: if if then then elseelse endifendif 礼郡师税轴罕室残泽绣纱蜗垫拒剪头犬耻乘迪已憋皱痞叫改敞殉初喻胎咬软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 多路选择:多路选择: case of case of whenwhen 1 selectselect ; whenwhen 2 selectselect ; whenwhen n selectselect ; defaultdefault : : endcase endcase 栅埔辽了涂噎儿娜芳浑嗣涤惑票频享庶峪叮撒崇砷搞碑客腿围恐英怪痈右软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(5) (5) 循环控制结构:循环控制结构: repeat until repeat until endrependrep do whiledo while enddoenddo dodoforfor 循环变量取值范围循环变量取值范围 endfor endfor 钮貌必汞嗣眺兔截亚些妹沧强悲啸憋要拱柜畴棺团就岩溯掏领北尊蠕农据软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹(6) (6) 输入和输出:输入和输出: read read/ /write fromwrite from/ /to to 襟曹蛋君饥阴蛇公醚炉颊咖播独鼓巩龚餐莱恳诲渡债爬市工沙缄摸譬注往软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 课堂练习:课堂练习:用用N-S图和程序流程图描述下列图和程序流程图描述下列PDLSTARTDOWHILEL1IFA0THENA2ELSEA1ENDIFS1IFB0THENB2DOWHILEL2B3ENDDOCELSEB1ENDIFS2ENDDODSTOP武收如思带邑葵钓娘舒党膜魏着山藕椎实慢眺轩遭藉恳疫钳峻现篙狭渭薯软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹4.9.1 4.9.1 面向数据结构的设计方法概述面向数据结构的设计方法概述4.9.2 Jackson 4.9.2 Jackson 图图 抠钳祸裂寸粘豁蹋姨披膛轧俩帮纺堆华诲捣果甫辟藏黄砧陆外场粟偷在兼软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 面向数据结构的设计思想:面向数据结构的设计思想: 根据软件所处理的信息的特征(数据结构)来设计软件根据软件所处理的信息的特征(数据结构)来设计软件 面向数据结构的设计方法适用于详细设计阶段,面向数据结构的设计方法适用于详细设计阶段, 描述程序处理过程描述程序处理过程 著名的面向数据结构设计方法:著名的面向数据结构设计方法: Jackson Jackson 方法和方法和 Warnier Warnier 方法方法巧圆狞榆棺瓦究震馅由择巫凹惨蘑糙图佰湿欲绎舶丈事唆兰挑彦柿范悦创软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 1 1JacksonJackson图:图: (1 1)顺序结构:)顺序结构:数据由一个或多个数据元素组成,每个元素数据由一个或多个数据元素组成,每个元素 按确定次序出现一次按确定次序出现一次 图图4.314.31怒驭冀夺往僻腺芍赦眼辱责潞挚辙毕恬身馁泵体崎介咋藤嵌畔乳龚趣金唯软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 (2 2)选择结构:)选择结构:数据包含两个或多个数据元素,每次使用这个数据数据包含两个或多个数据元素,每次使用这个数据 时,按一定条件从这些数据元素中选择一个时,按一定条件从这些数据元素中选择一个 图图4.324.32驭进猪玻释泽翻尼锦瓤察侄跪巧住彬窒液愧臭胖匹擎签器淌故蔼超霜管陛软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 (3 3)重复结构:)重复结构:根据使用条件,数据由一个数据元素出现零次或根据使用条件,数据由一个数据元素出现零次或 多次构成多次构成 图图4.334.33 改进的改进的JacksonJackson图图 图图4.344.34隶遭焊壕绣舷棍裳幌舀钾裳妈都烬述砒纫恤芯善尚室冶冒彦晰今榔感滁诸软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 2. Jackson2. Jackson图应用举例:图应用举例: 某仓库存放多种零件(如某仓库存放多种零件(如P1P1, P2 P2, );每个零件的每次进货、);每个零件的每次进货、 发货都有一张卡片作出记录;每月根据这样一叠卡片打印一张月报发货都有一张卡片作出记录;每月根据这样一叠卡片打印一张月报 表。报表每行列出某种零件本月库存量的净变化。表。报表每行列出某种零件本月库存量的净变化。(a) (a) 输入数据结构;输入数据结构; (b) (b) 输出数据结构;输出数据结构; (c) (c) 输出月报表输出月报表c月报表月报表零件名零件名增加数量增加数量P1P2P31500100200( ( ) )月报表月报表表头表头表体表体行行 * *零件名零件名净变化净变化( (b) )a输入文件输入文件零件组零件组 * *卡片卡片 * *进货进货 发货发货 ( ( ) )搀纸极伺嗽瘤汁淫印斜儿底晴慈示灌领岭浦颐率驳纳雍藕颧峨尸兔陶赘堂软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 人机界面的设计质量,直接影响用户对软件产品的评价,人机界面的设计质量,直接影响用户对软件产品的评价, 从而影响软件产品的竞争力和寿命,因此,必须对人机从而影响软件产品的竞争力和寿命,因此,必须对人机 界面设计给以足够重视。界面设计给以足够重视。 人机界面设计中需要考虑的主要问题如下:人机界面设计中需要考虑的主要问题如下:(1 1)命令交互;)命令交互; (2 2)系统响应时间;)系统响应时间;(3 3)用户帮助设施;()用户帮助设施;(4 4)出错信息处理。)出错信息处理。艰茂帅纠邓体喻脖茵优贪能悼渤壹敬提澡斟峭曰浙厨鬼家睡坷十柜懊氨吗软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹1 1交互界面设计考虑的问题:交互界面设计考虑的问题: 保持保持一致性一致性。 提供有意义的提供有意义的反馈反馈。保证在用户和界面之间建立双向通信。保证在用户和界面之间建立双向通信。 在执行有较大破坏性的动作之前要求用户在执行有较大破坏性的动作之前要求用户确认确认。 允许取消绝大多数操作。提供允许取消绝大多数操作。提供UNDOUNDO操作。操作。 减少在两次操作之间必须减少在两次操作之间必须记忆记忆的信息量。的信息量。 尽量减少尽量减少击键次数击键次数,减少,减少鼠标移动鼠标移动的距离。的距离。 健壮性健壮性。系统应该保证不受致命错误的破坏。系统应该保证不受致命错误的破坏。 提供提供帮助帮助设施。设施。承俺熬弓呵萌鬼糯撤永鹊心辩末潭洛楔蓉豫晓徽狱逊匀检昏含贵塑逗袭坤软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹2 2查询界面设计考虑的问题:查询界面设计考虑的问题: 只显示与当前工作只显示与当前工作内容内容有关的信息。有关的信息。 显示的显示的含义含义应该非常明确。应该非常明确。 允许用户保持允许用户保持可视化的语境可视化的语境。 ( (如:对图形显示进行缩放,如:对图形显示进行缩放, 原始的图像应该一致原始的图像应该一致( (以缩小的形式显示在显示屏的一角以缩小的形式显示在显示屏的一角) ) 。 产生有意义的产生有意义的出错信息出错信息。 使用使用窗口分隔窗口分隔不同类型的信息。不同类型的信息。 高效率地使用显示屏。高效率地使用显示屏。砧劝符护脉堡拣烹血霄浙箩焰约右钒凋暴社噶姆济炒骑疵棱拘扯槛剿猖恩软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹3 3数据输入界面设计考虑的问题:数据输入界面设计考虑的问题: 尽量减少用户的输入动作。特别是减少击键次数。尽量减少用户的输入动作。特别是减少击键次数。 保持信息显示和数据输入之间的一致性。保持信息显示和数据输入之间的一致性。 使在当前动作语境中不适用的命令不起作用。使在当前动作语境中不适用的命令不起作用。 让用户控制交互流。在不退出程序的情况下从错误状态中恢复正常。让用户控制交互流。在不退出程序的情况下从错误状态中恢复正常。 对所有输入动作都提供帮助。对所有输入动作都提供帮助。 消除冗余的输入。消除冗余的输入。 尽可能提供缺省值。尽可能提供缺省值。 程序能自动获得或计算出来的信息不要求用户输入。程序能自动获得或计算出来的信息不要求用户输入。腆铀惺订邮裤咯擒阀费葱休响香黎谎撑实吉边房绪茨训解湖熊写补恕侍诗软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹程序的程序的3 3种基本控制结构:种基本控制结构:(a) (a) 顺序顺序 (b) (b) 选择选择 (c) (c) 循环循环刁取聊绩毖缄唆牌种垮媒趟扑单粒板抒味物嚣坎纸激牟突暴躇瑞侗笼购盛软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹其他常用的程序控制结构:其他常用的程序控制结构:(a) DO-UNTIL(a) DO-UNTIL结构结构 (b) DO-CASE (b) DO-CASE结构结构呢待醇森仙揪狡狄怔籍昨摄橱藏侩酞霹绣砸成肾嫁墙拈摈布中弊涨硬攻妄软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹盒图的基本符号盒图的基本符号(a)(a)顺序顺序 (b)IF (b)IF型分支型分支 (c)CASE (c)CASE型多分支型多分支 (d) (d)循环循环 (e) (e)调用子程序调用子程序A A透掀乔绕音抹三搓阑磐颓盯缘涎婶坟犊粤莫奋嫁捆苞蛀猾晰暮箍抽媚嫂锡软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹例:用公式:例:用公式: 求求。用用N-S图图描描述述的的程程序序算算法法用用程程序序流流程程图图描描述述的的程程序序算算法法琐曰查壕傣定砖胞诡秆锤初池虹入暗邮京贬友阉沿窗健斡奠腋沂孝竿难叹软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹PADPAD图(问题分析图)用二维树形结构的图来表示图(问题分析图)用二维树形结构的图来表示 程序的控制流,将这种图翻译成程序代码比较容易。程序的控制流,将这种图翻译成程序代码比较容易。(a)顺序顺序(先执行先执行P1,后执行,后执行P2);(b)选择选择(IFCP1ELSEP2);(c)CASE型分支;型分支;(d)WHILE型循环型循环(WHILECDOP);(e)UNTIL型循环型循环(REPEATPUNTILC);(f)语句标号;语句标号;(g)定义定义赠吩眺哉浙蔬佬削焊拽食据区孩萌拙脱税诅伙茸盈瞥笨辜负嫩抒怯株术逞软件工程4ppt课件软件工程4ppt课件软件工程概论教程软件工程概论教程软件工程概论教程软件工程概论教程 江苏工业学院信息科学与工程江苏工业学院信息科学与工程学院学院 卢卢 莹莹 PADPAD图的符号支持自顶向下、逐步求精方法的使用。开始时图的符号支持自顶向下、逐步求精方法的使用。开始时设计者可以定义一个抽象的程序,随着设计工作的深入而使设计者可以定义一个抽象的程序,随着设计工作的深入而使用用defdef符号逐步增加细节,直至完成详细设计。符号逐步增加细节,直至完成详细设计。塘怎雄仗织搂汲材赠喜蜂鞋饮粕邢蜂拿炼画馁剧济敦颗仑鱼呆肌烹瘪残释软件工程4ppt课件软件工程4ppt课件
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号