模块和模块化.ppt

模块和模块化.ppt

ID:52286486

大小:478.50 KB

页数:51页

时间:2020-04-03

模块和模块化.ppt_第1页
模块和模块化.ppt_第2页
模块和模块化.ppt_第3页
模块和模块化.ppt_第4页
模块和模块化.ppt_第5页
资源描述:

《模块和模块化.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、概要设计的表示形式正文加工系统的层次图带编号的层次图(HIPO)与层次图(H)中每个方框相对应(按编号),都有一张IPO图描述该框代表的模块的处理过程,称为HIPO图。IPO图的一个例子软件的模块结构图:描述一个软件系统由哪些模块组成,以及模块之间的调用关系结构图的基本成分有:模块、调用和数据模块是指具有一定功能并可以用模块名调用的一组程序语句,如函数、子程序等,它们是组成程序的基本单元一个模块具有其外部特征和内部特征外部特征包括:模块的接口(模块名、输入/输出参数、返回值等)和模块的功能内部特征包括:模块的内部数据和完成其功能的程序代码在结构图中,模块

2、用矩形框表示,每个模块都有一个应能适当反映该模块功能的名字调用(call):用从一个模块指向另一个模块的箭头来表示,其含义是前者调用了后者为了方便,有时常用直线替代箭头,此时,表示位于上方的模块调用位于下方的模块数据(data):模块调用时需传递的参数可通过在调用箭头旁附加一个小箭头和数据名来表示,其中小箭头的方向是数据的传输方向SC图的模块调用简单调用简单调用的两种表示法B(a)X,YZACZB(b)1AC2入出X,YZZ—选择调用ABCD注意:图中必须画出数据流循环调用ABC注意:图中必须画出数据流结构图的几个概念深度:程序结构图中控制的层数,例如图

3、中所示的结构图的深度是5宽度:程序结构图中同一层次上模块总数的最大值,例如图中所示的结构图的宽度为7扇出(fanout):该模块直接调用的模块数目。例如,例如图中模块M的扇出是4,模块A的是2,模块B的扇出是1扇入(fanin):能直接调用该模块的模块数目。例如图中模块G的扇入是1,模块I的扇入是2,模块R的扇入是4深度和宽度在一定程度上反映了程序的规模和复杂程度相对而言,如果程序结构图的深度和宽度较大,则说明程序的规模和复杂程度都较大。模块的扇入扇出会影响结构图的深度和宽度,例如减少模块的扇出,可能导致宽度变小而深度增加一个模块的扇出过大通常意味着该模

4、块比较复杂,然而扇出太少,可能导致深度的增加一般情况,一个模块的扇出以3~9为宜一个模块的扇入表示有多少模块可直接调用它,它反映了该模块的复用(reuse)程度,因此模块的扇入越大越好模块和模块化模块化:当系统的每项功能恰好由一个输入输出都明确定义的组件完成的时候,我们称这个系统模块化。模块——表示能够用计算机程序代码实现的,相对独立的单一数据处理功能,所以模块有时也叫功能模块。进一步明确模块是拥有明确定义的输入、输出和特性的程序实体。设计方法的选择应该允许不同的设计者使用他们喜欢的技巧,只要他们的文档能让其他设计者明白就可以了。设计方法的选择又是取决于

5、设计者的偏好,而更多的时候取决于系统要求的结构或数据。软件设计中涉及的问题抽象(abstract)与细化(refinement)抽象:分层次考虑和处理问题(数据和过程)细化:从高到低的逐步分解过程信息隐藏对其它模块隐藏模块内部的数据和过程抽象抽象是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程。先注意问题的本质及描述,其次是实现过程或细节。数据抽象:描述某类对象的属性或状态(对象相互区别的物理量)。代码抽象:描述某类对象的共有的行为特征或具有的功能。抽象的实现:通过类的声明。模块化设计的好处信息隐藏从不同角度了解系统将难以解决的问题

6、独立出来;抽象层次通过逐层分析来了解问题允许不同的模块采用不同的设计方法模块化设计把大型软件按照规定的原则划分成一个个较小的、相对独立但又相互关联的模块重要指导思想:分解模块独立性分解(Decomposition)模块化是为了使一个复杂的大型程序能被人的智力所管理设函数c(x)定义问题x的复杂程度,函数E(X)确定解决问题x需要的工作量(时间)。对于两个问题P1和P2,如果显然模块化的依据人类解决一般问题时一个有趣的规律:C(P1+P2)>C(P1)+C(P2)E(P1+P2)>E(P1)+E(P2)结论:各个击破——把复杂的问题分解成容易解决的小问题,

7、原来的问题也就容易解决了问题提出如果无限的分割软件,最后为了开发软件而需要的工作量也就小得可以忽略了。?模块数与开发工作量的关系模块数接口成本最小成本区M软件开发工作量总成本模块成本模块划分的基本原则概括了把软件划分为模块时要遵守的准则,也是判断模块构造是不是合理的标准。但是到目前为止,没有统一的标准判断一个系统化分成几个模块是最优的。模块划分的四项基本原则1.模块独立性强块内联系强块间联系弱2.高内聚模块内部各成分之间3.低耦合一个模块与其它模块之间4.公共(共享)模块多个模块公用模块独立性问什么模块的独立性很重要?有效模块化的软件容易开发出来独立的模

8、块比较容易测试和维护人的独立性强如何?人没有独立性,什么都依赖别人如何?内聚内聚

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

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

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