结构化软件设计全解ppt课件.ppt
《结构化软件设计全解ppt课件.ppt》由会员分享,可在线阅读,更多相关《结构化软件设计全解ppt课件.ppt(77页珍藏版)》请在三一办公上搜索。
1、,结构化设计,现实世界,计算机世界,结构化开发方法,结构化分析SA,结构化设计SD,结构化编程SP,OOA,OOD,OOP,面向对象开发方法,软件设计任务,软件设计方法分类,结构化设计方法(Structured Design ,SD)基于模块化、自顶向下逐层细化、结构化程序设计等程序设计技术上发展起来的。,结构化设计,结构化设计(Structured Design,简称SD)是一种将结构化分析得到的数据流图映射成软件体系结构的设计方法,结构化设计,强调模块化、自顶向下逐步求精、信息隐蔽、高内聚低耦合等设计准则分为概要设计和详细设计两大步骤概要设计是对软件系统的总体设计,采用结构化设计方法,其任
2、务是:将系统分解成模块,确定每个模块的功能、接口(模块间传递的数据)及其调用关系,并用模块及其对模块的调用来构建软件的体系结构详细设计是对模块实现细节的设计,采用结构化程序设计(Structured Programming,简称SP)方法SA、SD和SP构成完整的结构化方法体系,结构图(SC),用结构图(Structure Chert)来描述软件系统的体系结构描述一个软件系统由哪些模块组成,以及模块之间的调用关系结构图的基本成分有:模块、调用和数据,模块,模块(module):指具有一定功能的可以用模块名调用的一组程序语句,如函数、子程序等它们是组成程序的基本单元一个模块具有其外部特征和内部特
3、征外部特征包括:模块的接口(模块名、输入/输出参数、返回值等)和模块的功能内部特征包括:模块的内部数据和完成其功能的程序代码在SD中,我们只关注模块的外部特征,而忽略其内部特征,调用和数据,调用(call):用从一个模块指向另一个模块的箭头来表示,其含义是前者调用了后者为了方便,有时常用直线替代箭头,此时,表示位于上方的模块调用位于下方的模块数据(data):模块调用时需传递的参数可通过在调用箭头旁附加一个小箭头和数据名来表示,结构图的几个概念,深度:程序结构图中控制的层数,例如图中所示的结构图的深度是5宽度:程序结构图中同一层次上模块总数的最大值,例如图中所示的结构图的宽度为7扇出(fan
4、out):该模块直接调用的模块数目。例如,例如图中模块M的扇出是4,模块A的是2,模块B的扇出是1扇入(fan in):能直接调用该模块的模块数目。例如图中模块G的扇入是1,模块I的扇入是2,模块R的扇入是4,相关指标的含义,深度和宽度在一定程序上反映了程序的规模和复杂程度相对而言,如果程序结构图的深度和宽度较大,则说明程序的规模和复杂程度都较大。模块的扇入扇出会影响结构图的深度和宽度,例如减少模块的扇出,可能导致宽度变小而深度增加一个模块的扇出过大通常意味着该模块比较复杂,然而扇出太少,可能导致深度的增加一般情况,一个模块的扇出以39为宜一个模块的扇入表示有多少模块可直接调用它,它反映了该模
5、块的复用(reuse)程度,因此模块的扇入越大越好,软件设计中的概念,模块化抽象信息局部化模块独立性耦合内聚,模块化,模块是数据说明、可执行语句等程序对象的集合,模块可以单独被命名,可通过名字访问。 例如,过程、函数、子程序、宏等等都可作为模块。模块化就是把程序划分为若干个模块,每个模块具有独立子功能,再把各个模块集成后,实现指定功能,满足问题要求。,抽象化,抽象就是抽出事务的本质特性而暂不考虑细节问题,是人类在认识复杂现象中使用的最强有力工具。软件工程过程的每一步都是对问题的软件解法抽象层次的一次精化。逐步求精与抽象是紧密相关的,模块独立性,模块独立性是软件系统中每个模块只涉及软件要求的具体
6、子功能,而和软件系统中其他的模块接口是简单的。模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。重要概念:耦合、内聚,模块独立性的度量,模块独立性取决于模块的内部和外部特征。 SD方法提出的定性的度量标准: 模块之间的耦合性 模块自身的内聚性,耦合,耦合是对一个软件结构内各个模块之间互连程度的度量。耦合强弱取决于模块间接口的复杂程度,调用模块的方式,以及通过接口的信息。根据模块间耦合程度的强弱的标准,划分耦合类型,共有七种。,无耦合没有依赖关系,松散耦合有少量依赖关系,紧密耦合有很多依赖关系,图示,耦合类型(高低),内容耦合 当一个模块直接修改或操作另一个模块的数据,或者直接转入另
7、一个模块时,就发生了内容耦合。此时,被修改的模块完全依赖于修改它的模块。公共耦合两个以上的模块共同引用一个全局数据项就称为公共耦合。控制耦合一个模块在界面上传递一个信号(如开关值、标志量等)控制另一个模块,接收信号的模块动作根据信号值进行调整,称为控制耦合。,耦合类型,标记耦合 模块间通过参数传递复杂的内部数据结构,称为标记耦合。此数据结构的变化将使相关的模块发生变化。数据耦合 模块间通过参数传递基本类型的数据,称为数据耦合。非直接耦合 模块间没有信息传递时,属于非直接耦合。,内容耦合举例,一模块直接访问另一模块的内部信息 (程序代码或数据),最不好的耦合形式 !,A,B,A,B,模块代码重叠
8、,Entry1 Entry1 ,多入口模块,公共耦合举例,公共数据区,C,B,模块A、B、C间存在错综复杂的联系,控制耦合举例,A,计算平均分或最高分,B,平均/最高(控制信号),成绩,读入分数,输出结果,计算平均分,计算最高分,平均/最高?,B,数据耦合举例,开发票,计算水费,单价数量,金额,标记耦合举例,计算水电费,计算水费,计算电费,住户情况,水费,电费,住户情况,“住户情况”是一个数据结构,图中模块都与此数据结构有关.“计算水费”和“计算电费”本无关,由于引用了此数据结构产生依赖关系,它们之间也是标记偶合.,耦合强弱排序,原则:如果模块间必须存在耦合,尽量使用数据耦合,少用控制耦合,限
9、制公共环境耦合的范围,完全不用内容耦合。,内聚,内聚标志一个模块内各个元素彼此结合的紧密程度。 它是信息隐蔽和局部化概念的自然扩展。简单地说,理想内聚的模块只做一件事情。根据各个模块之间的内聚程度不同,分为七个类型的内聚,内聚类型,偶然内聚 如果一个模块的各成分之间毫无关系,则称为偶然内聚。逻辑内聚 几个逻辑上相关的功能被放在同一模块中,则称为逻辑内聚。如一个模块读取各种不同类型外设的输入。尽管逻辑内聚比偶然内聚合理一些,但逻辑内聚的模块各成分在功能上并无关系,即使局部功能的修改有时也会影响全局,因此这类模块的修改也比较困难。,内聚类型,时间内聚 如果一个模块完成的功能必须在同一时间内执行(如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 结构 软件设计 ppt 课件

链接地址:https://www.31ppt.com/p-1358777.html