第六章 软件设计ppt课件.ppt

第六章 软件设计ppt课件.ppt

ID:58678657

大小:228.00 KB

页数:62页

时间:2020-10-05

第六章 软件设计ppt课件.ppt_第1页
第六章 软件设计ppt课件.ppt_第2页
第六章 软件设计ppt课件.ppt_第3页
第六章 软件设计ppt课件.ppt_第4页
第六章 软件设计ppt课件.ppt_第5页
资源描述:

《第六章 软件设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章软件设计主要内容:▲软件设计的目标和任务▲软件设计基础▲模块的独立性▲结构化设计方法▲数据设计及文件设计▲过程设计讨论要点(1)如何将分析模型转换为软件设计?(2)作为软件工程师在软件设计方面应使用哪些基本原则和概念?§6.1软件设计的目标和目的软件需求:解决“做什么”软件设计:解决“怎么做”6.1.1软件设计的任务问题结构(软件需求)软件结构从软件需求规格说明书出发,形成软件的具体设计方案。映射将分析模型转换为软件设计数据字典数据流图E-R图状态变迁图加工规约控制规约数据对描述象数据设计体系结构设

2、计接口设计过程设计分析模型设计模型1.软件的总体结构主要回答的问题软件的组成部分软件的层次关系模块的内部处理逻辑模块之间的界面2.软件设计的问题工具—如何描述软件的总体结构方法—用什么方法有问题结构导出软件结构评估准则—什么样的软件结构是“最优的”3.软件设计方法结构化设计方法(SD)面向数据结构的设计方法(JSD方法)面向对象的设计方法(OOD)4.软件设计分为两个阶段:(1)概要设计(总体设计)确定软件的结构以及各组成成分(子系统或模块)之间的相互关系。(2)详细设计确定模块内部的算法和数据结构,产生

3、描述各模块程序过程的详细文档。§6.2软件设计的概念和原理1.软件结构2.软件过程3.模块化6.抽象5.信息隐蔽6.信息局部化6.2.1软件体系结构软件体系结构包括两部分:(1)过程构件(模块)的层次结构(2)数据构件控制结构(程序结构)控制结构是软件模块间关系的表示控制结构图示:1.控制结构的层次规则只有一个顶层(0层)模块0层外任一模块都会在它的邻层存在一模块与它有关同层模块间不发生联系2.软件结构度量术语深度宽度扇出扇入(模块的层数)(同一层最大模块数)(一个模块直接调用的模块数)(调用一个给定模块

4、的模块个数)6.2.2软件过程软件过程用以描述各模块的处理细节(算法的详细描述),包括对下层模块控制的操作细节。6.2.3模块化(Modularity)模块化是好的软件设计的一个基本准则高层模块从整体上把握问题,隐蔽细节复杂问题较小问题分解可减小解题所需的总的工作分解例:将问题(P1+P2)分解为P1,P2设函数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

5、+P2)>E(P1)+E(P2)"各个击破"理论6.2.6抽象(Abstraction)抽象原则应用举例WindowsNT一体化的I/O系统设计文件管理网络管理设备管理高速缓冲存储器OS对虚拟文件的字节流,虚拟文件可为任何设备和实体抽象6.2.5信息隐蔽(InformationHiding)模块所包含的信息,不允许其它不需要这些信息的模块访问独立的模块间仅仅交换为完成系统功能而必须交换的信息。信息隐蔽的目的:提高模块的独立性,减少修改或维护时的影响面。6.2.6信息局部化把关系密切的软件元素物理地放得彼此

6、靠近。优点:可维护性好可靠性好可理解性好§6.3模块的独立性6.3.1模块独立性的概念模块独立的含义:模块完成独立的功能符合信息隐蔽和信息局部化原则模块间关连和依赖程度尽量小6.3.2模块独立性的度量模块独立性取决于模块的内部和外部特征。SD方法提出的定性的度量标准:模块之间的耦合性模块自身的内聚性耦合性用来度量程序之间联系的次数和强度内聚是指度量一个给定的程序内的多行代码的单一功能性,以确定是否达到该程序所要实现的目的1.模块独立性的度量之一:耦合性模块间相对独立性(相互依赖程度)的度量耦合性越高,模块

7、独立性越弱无耦合-没有依赖关系松散耦合-有少量依赖关系紧密耦合-有很多依赖关系耦合强度依赖的因素:一模块对另一模块的引用一模块向另一模块传递的数据量一模块施加到另一模块的控制的数量模块间接口的复杂程度模块间耦合的类型低无直接耦合耦数据耦合合标记耦合性控制耦合外部耦合公共耦合高内容耦合模块独立性弱(低耦合)强(中耦合)(较强耦合)(强耦合)(1)无直接耦合两个模块没有直接关系(模块1和模块2),模块独立性最强。模块1模块2模块3模块6(2)数据耦合一模块调用另一模块时,被调用模块的输入、输出都是简单的数据(

8、若干参数)。属松散耦合。数据耦合举例开发票计算水费单价数量金额(3)标记耦合(特征耦合)如两个模块通过传递数据结构(不是简单数据,而是记录、数组等)加以联系,或都与一个数据结构有关系,则称这两个模块间存在标记偶合。标记耦合举例计算水电费计算水费计算电费住户情况水费电费住户情况“住户情况”是一个数据结构,图中模块都与此数据结构有关.“计算水费”和“计算电费”本无关,由于引用了此数据结构产生依赖关系,它们之间也是标记偶合.将标记耦

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。