ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:98.58KB ,
资源ID:3988073      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3988073.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件工程电子教案第4章Word下载.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

软件工程电子教案第4章Word下载.docx

1、、软件设计方法的内容软件开发阶段由设计、编码和测试三个基本活动组成,其中“设计”活动是获取高质量、低耗费、易维护软件的一个最重要环节。需求分析阶段获得的需求规格说明书包括对将要实现的系统在信息、功能和行为等各个方面的描述,这是软件设计的基础。对此不论采用何种软件设计方法都将产生: 系统的总体结构设计(architectural design); 系统的数据设计(data design); 系统的过程设计(procedural design)。软件设计也可看作将需求规格说明逐步转换为软件源代码的过程。、从工程管理的角度理解软件设计软件设计可分概要(preliminary)设计和详细(detail

2、)设计两大步骤。概要设计是根据需求确定软件和数据的总体框架,详细设计是将其进一步精化成软件的算法表示和数据结构。而在技术上,概要设计和详细设计又由若干活动组成,除总体结构设计、数据结构设计和过程设计外,许多现代应用软件,还包括一个独立的界面设计活动。二、抽象与逐步求精、抽象抽象是控制复杂性的基本策略。“抽象” 要求人们将注意力集中在某一层次上考虑问题,而忽略那些低层次的细节。软件设计过程应当是在不同抽象级别上考虑和处理问题的过程。最初,应在最高抽象级别上,用面向问题域的语言叙述“问题”,概括“问题解”的形式,而后不断地具体化,不断地用面向过程的语言描述问题,最后,在最低的抽象级别上给出可直接实

3、现的“问题解”,即程序。软件工程过程的每一步都是对较高一级抽象的解作一次进一步具体化的描述。在上述由高级抽象到低级抽象的转换过程中,伴随着一连串的过程抽象和数据抽象。逐步求精关于“逐步求精”,N.Wirth曾经做过如下说明: “我们对付复杂问题的重要办法是抽象,因此,对一个复杂的问题不应该立即用计算机指令、数字和逻辑符号来表示,而应该用较自然的抽象语言来表示,从而得出抽象程序。抽象程序对抽象的数据进行某些特定的运算并用某些合适的记号(可能是自然语言)来表示。对抽象程序做进一步分解,进入下一个抽象层次,重复这一精化过程直到程序能被计算机接受为止。这时的程序可能是用某种高级语言或机器指令书写的。”

4、(1)过程求精因为求精的每一步都是用更为详细的描述替代上一层次的抽象描述,所以在整个设计过程中产生的,具有不同详细程度的各种描述,组成了系统的层次结构。层次结构的上一层是下一层的抽象,下一层是上一层的求精。(2)与数据求精在过程求精的同时自然伴随着数据的求精,无论是过程还是数据,每一步细化都蕴涵着某些设计决策,因此设计人员必须掌握一些基本的准则,比较各种可能的候选方案。补充例子:学习辅导P59习题第1题:用逐步求精方法解决下述更新顺序主文件的问题 三模块化与信息隐藏模块化把软件划分为可独立命名和编制的部件,每个部件称为一个模块,当把所有模块组装到一起时,便可获得满足问题需要的一个解。假设:函数

5、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)分而治之:把复杂的问题分解成许多容易解决的小问题,原来的问题也就容易解决了。信息隐藏信息隐蔽原理告诉我们,模块应该设计得使其所含信息(过程和数据)对于那些不需要这些信息的模块不可访问;每个模块只完成一个相对独立的特定

6、功能;模块之间仅仅交换那些为完成系统功能必须交换的信息,即模块应该独立。内聚度(cohesion) 内聚度是前述信息隐蔽和局部化概念的自然扩展,它标志一个模块内部各成分彼此结合的紧密程度。 内聚度按其高低程度可分为七级,内聚度越高越好。()偶然性内聚(coincidental cohesion)。(2)逻辑性内聚(3)时间性内聚(4)过程性内聚(5)通信性内聚度(6)顺序性内聚 (7)功能性内聚学习辅导P59第2题:给出一层次图,确定每个模块的内聚类型耦合度 耦合度是对软件结构中模块间关联程度的一种度量。 耦合的强弱取决于模块间接口的复杂性、进入或调用模块的位置以及通过界面传送数据的多少等。

7、耦合度也可以分为七级(1)非直接耦合(nodirect coupling)(2)数据耦合(data coupling) (3)特征耦合(stamp coupling)()控制耦合(control coupling)()外部耦合(external coupling)()公共耦合(common coupling)()内容耦合(content coupling)学习辅导P59第3题:给出模块互连图,确定模块的耦合类型四软件总体结构设计软件总体结构(software architecture)应该包括两方面内容: 1) 由系统中所有过程性部件(即模块)构成的层次结构,即程序结构; 2) 对应于程序结构

8、的输入输出数据结构。软件总体结构设计的目标就是产生一个模块化的程序结构并明确各模块之间的控制关系,此外还要通过定义界面,说明程序的输入输出数据流,进一步协调程序结构和数据结构。1. 结构演变2. 同一个“问题”的多种软件解3. 表示程序结构的工具 类树图(treelike diagram) WarnierOrr图 Jackson图4. 有关程序结构的术语 一个软件的深度(depth) 控制的层数; 一个软件的宽度(width) 其控制的层数和跨度; 一个模块的“扇出数”(fanout) 该模块直接控制的其他模块数; 一个模块的“扇入数”(fanin)指能直接控制该模块的模块数。五数据结构设计数

9、据结构描述各数据分量之间的逻辑关系,数据结构一经确定,数据的组织形式、访问方法、组合程度及处理策略等随之而定,所以数据结构是影响软件总体结构的重要因素。数据结构与程序结构一样,也可以在不同的抽象级别上表示。六设计过程总体设计过程通常由两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构没计阶段,确定软件结构。典型的总体设计过程包括下述9个步骤:1.设想供选择的方案2.选取合理的方案 3.推荐最佳方案 4.功能分解 5.设计软件结构 6.设计数据库 7制定测试计划8.书写文档 9. 审查和复审 5.2设计原理一模块化二抽象三逐步求精四信息隐藏和局部化5.3启发规则1改进软件结构提高模块独

10、立性2模块规模应该适中3深度、宽度、扇出和扇入都应适当 4模块的作用域应该在控制域之内 5.力争降低模块接口的复杂程度6.设计单入口单出口的模块 7.模块功能应该可以预测 5.4描绘软件结构的图形工具一.层次图二.HIPO图三.结构图补充两个例子讲解结构图的画法例1: 火车售票系统的数据流程图例2: 已知某定货系统的需求分析DFD图如下,请按SD方法的设计步骤画出结构图带编号的层次图产生最佳解结构图5.5面向数据流的设计方法面向数据流的设计方法,即通常所说的结构设计法(Structure Design,简称SD方法),由Yourdon和Constantine等人于1974年提出的,与结构化分析

11、(SA)相衔接,根据对数据流的分析设计软件结构。一.SD方法的设计过程和有关概念1.SD方法能方便地将数据流图转换为软件结构的步骤: (1).确定信息流的类型; (2).划定流界; (3).将数据流图映射为程序结构; (4).提取层次控制结构; (5).通过设计复审和使用启发式策略进一步精化所得到的结构。2.变换流变换流 在基本系统模型(即顶级数据流图)中信息通常以“外部世界”所具有的形式进入系统,经过处理后又以这种形式离开系统。3.事务流单个数据项称为事务(transaction)沿传入路径(也称接受通道)进入系统,由外部形式变换为内部形式后到达事务中心,事务中心根据数据项计值结果从若干动作

12、路径中选定一条继续执行。4.设计过程 面向数据流的设计过程二.变换分析变换分析是一系列设计步骤的总称,经过这些步骤把具有变换流特点的数据流图按预先确定的模式映射成软件结构。下面通过一个汽车数字仪表板的设计来介绍变换分析的过程。1、复查基本系统模型2、复查并精化数据流图确保数据流图给出目标系统的正确的逻辑模型,且使数据流图中每个处理都代表一个规模适中相对独立的子功能3、确定数据流图的类型确定数据流图是变换型数据流图还是事务型数据流图。4、确定输入流和输出流的边界,从而孤立出变换中心5、进行“第一级分解”软件结构代表对控制的自顶向下的分配,所谓分解就是分配控制的过程。对于变换流的情况,数据流图被映

13、射成一个特殊的软件结构,这个结构控制输入、变换和输出等信息处理过程。6、进行“第二级分解”第二级分解就是把数据流图中的每个处理映射成软件结构中一个适当的模块。完成第二级分解的方法是,从变换中心的边界开始沿着输入通路向外移动,把输入通路中每个处理映射成软件结构中Ca控制下的一个低层模块;然后沿输出通路向外移动,把输出通路中每个处理映射成直接或间接受模块Ce控制的一个低层模块;最后把变换中心内的每个处理映射成受Ct控制的一个模块。7、使用设计度量和启发式规则对第一次分割得到的软件结构进一步精化对第一次分割得到的软件结构,总可以根据模块独立原理进行精化。为了产生合理的分解,得到尽可能高的内聚、尽可能

14、松散的耦合,最重要的是,为了得到一个易于实现、易于测试和易于维护的软件结构,应该对初步分割得到的模块进行再分解或合并。补充:以”家庭保安系统”为例,进一步对变换分析的各步骤进行讲述.三. 事务分析当数据流具有明显的事务特征时,即能找到一个事务(亦称触发数据项)和一个事务中心,采用事务分析法更为适宜。 事务分析法可概括为七个步骤:步骤一、复审基本系统模型;步骤二、复审并精化软件数据流图;步骤三、确定数据流图的特征;步骤四、指出事务中心,确定接收部分和发送部分的流界;步骤五、映射出系统上层模块结构;步骤六、分解并精化事务结构以及每条动作路径所对应的结构。步骤七、使用启发式设计策略,精化所得程序结构

15、雏形,改良软件质量。这一步骤与变换分析法相同。四、设计优化原则 我们努力追求的设计应该是既满足功能和性能的要求,又符合一般软件设计原理和上述种种启发式设计原则。 对软件结构的修改越早越好。必要时,可以并行地开发若干个软件结构,通过评比,求得“最佳”结果。 简洁的程序结构容易测试、容易维护,应该使用尽可能少的模块;只要满足信息要求,应该使用尽可能简单的数据结构。 结构优化是一个精益求精的过程。优化过程可以在设计的早期,甚至要延续到详细设计乃至编码阶段。对时间有特殊要求的软件,采用下述对策: 1在不考虑时、空耗费的情况下,设计并精化软件结构; 2借用CASE工具模拟分析运行时的性能,定位出低效的部

16、分,加以改进; 3详细设计时对最耗时的模块,认真地设计它们的处理过程(算法),以便减少时间的开销; 4尽量用高级语言编程以利于软件的优化;5对大量占用计算机系统资源的模块必要时用低级语言重新编码,以提高效率。补充:5.6总体设计案例分析通过总体设计的目标引出软件设计过程英语序列化要求通过实际事例引入分而治之的思想给出每种内聚的概念并举说明例给出每种耦合的概念并举说明例设计软件时应尽量使用数据耦合,减少控制耦合,限制外部环境耦合和公共数据耦合,杜绝内容耦合。由类树图引出有关程序结构的术语给出每个步骤的详细解释在第节讲过,在此强调一下结合事例对每条规则进行阐述让学生根据流程图试着画出结构图本章重点

17、内容对面向数据流的设计过程进行详细讲解结合实例对变换分析的每一步骤进行详细阐述根据前面的基础,让学生自己的对补充的”家庭保安系统”进行变换分析以”家庭保安系统”进行事务分析如果时间剩余对第四章课后习题进行讲解案例分析以学生为中心进行小结:总体设计阶段的基本目的是用比较抽象概括的方式确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。层次图和结构图是描绘软件结构的常用工具。设计软件结构设计时应该遵循模块独立原理。在进行软件结构设计时一种有效的方法就是,由抽象到具体地构造出软件的层次结构。在软件开发过程中既要充分重视和利用启发式规则。自顶向下逐步求精是进行软件结构设计的常用途径;有了详细的数据流图,也可用面向数据流的设计方法,用形式化的方法由数据流图映射出软件结构软件的初步结构,再根据设计原理并参考启发式规则,得到高质量模块和更合理的软件结构。作业:P114习题5:34

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2