4.2 模块化软件工程.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模块化 模块是由边界元素限定的相邻程序元素(如数据说明, 可执行的语句)的序列,而且有一个总体标识符代表 它。 模块是构成程序的基本构件。 特点:具有独立功能的、单独命名的一段程序。 单独命名,且通过名字访问(调用)。 模块的名称必须表达这个模块的功能。 模块化 模块的类型: 过程、函数、子程序和宏。 面向对象方法中的对象和方法也是模块。 模块具有3个基本属性: 功能 :指该模块要完成的任务。 逻辑 :描述模块为了完成任务,模块内部怎么做。 状态 :使用该模块时的环境和条件。 模块化 模块化 (modularization ):两层意思。 Go 把程序划分成若干个模块 ,每个模块完成一个子功能。 把这些模块集成起来构成一个整体 ,完成指定的功能 , 满足用户的需求。 模块化 理论分析: 如果一个大型程序仅由一个模块组成,它将很难理解。 现证明如下: 假设:函数C(X) :定义问题 X 的复杂性 ; 函数E(X) :确定解决问题X 需要的工作量(时间) ; 规律一: 对于问题P1和P2,如果: C(P1)C(P2) 则有: E(P1)E(P2) 即:问题越复杂 ,所需要的工作量就越多 模块化 规律二 : 如果问题P可以分解成两个问题 P1和 P2 , 即, P=P1+P2 则 ,C(P)C(P1)+C(P2) 即:把一个复杂的问题分解成几个小问题,复杂度就降低, 因而,可以获得下列不等式 E(P)E(P1)+E(P2) 即: 把一个复杂的问题分解成几个小问题, 工作量减少,容易解决。 模块化 把复杂的问题分解成许多容易解决的小问题 , 原来的问题就容易解决。 中央政府划分: 根据职能分:外交部、国防部、教育部……。 根据行政区域分:省、市、县、乡、村……。 管理方便,责任明确,问题容易解决。 模块化 模块化是好的软件设计的一个基本准则 高层模块 从整体上把握问题,隐蔽细节 模块化(Modularity) 分解 复杂问题 较小问题 分解 可减少解题所需的总的工作 模块化 Main() Main() {int i,j,su,av; i=6; j=10; 6,10 6,10 su=sum(i,j); 16 8 av=ave(i,j);} sum(x,y) Sum() Ave() int x,y; {int z; C语言中模块化以及模块之间的调用关系 z=x+y; 在Main()中都进行求和、求平均的计算,问题比较复杂, return(z);} 因此,求和、求平均的计算划分成独立模块, ave(x,y) 由Main()函数调用的方法进行设计, int x,y; 复杂度降低,问题容易解决,测试也方便。 {int z z=(x+y)/2 return(z); } 模块化 但是在模块分割时要注意; 1) 当模块数目增加时,开发单个模块所需要的成本减少。 2) 随着模块数目的增加, 设计模块间接口的工作量也将增加。模块多接口多 因此,要控制模块的总数, 每个程序应有一个

文档评论(0)

恬淡虚无 + 关注
实名认证
文档贡献者

学高为师,身正为范.师者,传道授业解惑也。做一个有理想,有道德,有思想,有文化,有信念的人。 学无止境:活到老,学到老!有缘学习更多关注桃报:奉献教育,点店铺。

1亿VIP精品文档

相关文档