欢迎来到天天文库
浏览记录
ID:58692101
大小:844.50 KB
页数:58页
时间:2020-10-04
《第三章 软件设计 SD方法ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章软件设计主要内容:软件设计步骤软件结构设计软件结构设计的图形工具:HIPO图和结构图面向数据流设计方法过程设计工具系统人机界面设计数据代码设计面向数据结构的设计方法软件设计文档软件设计是软件开发的关键步骤,直接影响软件质量。软件设计阶段要解决“如何做”的问题。一、软件设计阶段的任务总体设计的任务是回答“概括的说,系统应该如何实现”的问题。3.1软件设计概述主要任务:将需求分析阶段获得的需求说明书转换为计算机中可实现的系统,确定系统的软件结构,形成软件的模块结构图,最终得到软件总体设计说明书。即软件设计的任务是通过多项设计,构造一个高内聚低耦合的
2、软件模型。过程设计系统结构设计数据设计界面设计软件设计具体过程:系统设计结构设计数据库设计编写总体设计文档审查和复审具体任务:确定软件结构,划分子系统模块确定系统的数据结构设计用户界面3.2软件设计基本原理软件的模块化模块独立性抽象和逐步求精信息隐蔽和局部化模块:构成程序的基本构件,在一个模块中,功能、状态和接口反映模块的外部特性,逻辑(即内部数据和程序代码)反映它的内部特性。模块化:解决一个复杂问题时自顶向下逐层把软件系统化分成若干模块的过程。就是将系统划分成若干模块,每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整
3、个系统所要求的功能。模块化是软件解决复杂问题所具备的手段。我们利用模块化来降低软件复杂度。注意选择分解的最佳模块数。一、模块化准则模块分解的目的:假设:函数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)模块数目与
4、开发成本间的关系软件结构表示软件的系统结构,它是软件模块间关系的表示,均表示为层次关系。软件结构示意图0层1层2层ABCDEFGHIJKLMN深度宽度扇入为2扇出为3扇入为3宽度深度宽度3层4层模块间的关系①深度:表示软件结构中从顶层模块到最底层模块的层数。②宽度:表示控制的总分布。③扇出数:指一个模块直接控制下属的模块个数。④扇入数:指一个模块的直接上属模块个数。一个好的软件结构的形态准则是:顶部宽度小,中部宽度最大,底部宽度次之;在结构顶部有较高的扇出数,在底部有较高的扇入数。有关指标二、软件独立性准则模块独立性是模块化、抽象和信息隐蔽的直接产物
5、,每个模块只要完成独立的功能,与其它模块联系越小,则模块的独立性就越强。独立:模块完成独立的功能符合信息隐蔽和信息局部化原则模块间关联和依赖程度尽量小思考回答:为什么模块独立性很重要?三、信息隐蔽指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其它模块来说,是不能访问的。通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据结构的存取限制。结构化设计方法的启发式原则改进软件结构以提高模块独立性力求降低耦合、提高内聚软件结构的模块规模应该适中过大,可理解程度很低;过小,则开销大于有效操作深度、宽度、扇出和扇入都应适当经
6、验证明,一个设计好的软件结构,通常顶层扇出比较高,中层扇出比较少,底层有高扇入。模块接口简单清晰模块独立程度的定性标准内聚性度量模块的内部特征,标志一个模块内各个元素彼此结合的紧密程度,也称块内联系。耦合性度量模块的外部特征,是对一个软件结构内不同模块之间互连程度的度量,也称块间联系。每个模块只要完成独立的功能,与其它模块联系越少,则模块的独立性就越强。通过模块与模块之间的耦合性和模块内部的内聚性来衡量模块的独立性。模块的内聚内聚度按其高低程度可分为七级,内聚度越高越好。内聚性:又称为块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的
7、紧密程度的度量。(1)偶然内聚(2)逻辑内聚(3)时间内聚(4)过程内聚(5)通信内聚(6)顺序内聚(7)功能内聚内聚按紧密程度从高到低排列:功能内聚、顺序内聚、通信内聚、过程内聚、时间内聚、逻辑内聚、偶然内聚。1)偶然内聚——低级内聚偶然内聚:是指一个模块内各成分为完成一组功能而组合在一起,它们相互之间即使有关系,也很松散。如:A、B两个模块含有相同的一段代码C,程序员为了节约内存,而将A、B放在同一模块内,以共享C,模块AB即为偶然内聚。缺点:可理解性差,可修改性差2)逻辑内聚——低级内聚如果一个模块完成的任务在逻辑上属于相同或相似的一类,则称之
8、为逻辑性内聚。例如:把几种相关的功能(逻辑上相似的功能)组合在一模块内,每次调用时,由传给模块的判定参数来确
此文档下载收益归作者所有