网站大量收购独家精品文档,联系QQ:2885784924

第三章软件设计基础.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章软件设计基础.ppt

蒲天应 2013年 计算机学院 第三章 软件设计基础 教学目标 了解软件设计中概念 理解软件设计常用的一些方法和原则 目录 软件设计的基本概念 1 软件设计的过程 软件设计的质量 3 软件体系结构设计 4 高可信软件设计 5 2 软件设计的规格说明 6 软件设计的评审 7 一、软件设计的基本概念 软件设计是一个不同层次抽象和逐步求精的过程。在一定资源制约和技术制约的情况下,通过软件设计做出一个满足需求、明确、可行、高质量的软件解决方案,需要用到一些研究方法和策略,本节介绍下面几个基本概念。 抽象和逐步求精 模块化和信息隐藏 内聚和耦合 一、软件设计的基本概念 抽象和逐步求精 抽象-——是通过忽略低层细节对复杂问题进行分析的基本策略。 软件工程过程的各个阶段的发展就是从高级抽象到低级抽象的转换过程,这一转换过程的具体内容就是对过程抽象和数据抽象。 举例:生产企业的订单管理各个阶段的抽象过程 过程抽象过程:订单管理-批量订单、样品订单-批量订单、样品订单的流程 数据抽象过程:订单-订单数据项以及语意-数据项的数据类型、长度等细节 一、软件设计的基本概念 抽象和逐步求精 逐步求精——对一个业务功能进行逐步分解、逐步细化的表述,直至该描述可以直接转化为程序语言的策略。 逐步求精与抽象是一个密切联系的概念。 举例: 一、软件设计的基本概念 模块化和信息隐藏 模块化——是一种“分治法”,即是将一个复杂问题分成若干个小问题来进行分析的方法。 关于模块分割需要考虑一下情况: 如果模块是相互独立的,当模块变得越小,每个模块花费的工作量越低; 但当模块数增加时,模块间的联系也随之增加,把这些模块联接起来的工作量也随之增加。 一、软件设计的基本概念 一、软件设计的基本概念 模块化和信息隐藏 模块的划分是否合理,直接影响软件的质量。一般出一下几个方面评价模块化的效果: 可分解性:是否降低系统的复杂性。 可组装性:已有模块是否能组装出新的系统。 可理解性:单看一个模块是否容易被理解。 连续性:需求发生微小变化时,是否只修改一个模块即可。 模块保护:模块发生异常时,只影响该模块的运行。 一、软件设计的基本概念 模块化和信息隐藏 信息隐藏——模块只通过接口与其他模块交流,内部运行中的大量数据对于外界是不可知的。 信息隐藏的好处: 支持并行开发 进行测试、修改、维护时,减少错误的传播。 使得系统的更新更方便。 一、软件设计的基本概念 内聚和耦合 内聚——一个模块内各个成分彼此结合的紧密程度。 内聚度越高越好。 内聚类型: 1、低等级内聚 偶然内聚:模块内各个成分为完成一组功能而组合在一起,它们之间的关系比较松散,甚至没有不相关。 如:比较扎乱的函数库 一、软件设计的基本概念 逻辑性内聚:指完成一组逻辑相关任务的模块。 如:窗口控制模块 时序内聚:指一个模块中的所有任务必须在同一时间段内执行,各个任务间没有直接的关系。如:初始化模块和终止模块。 2、中等级内聚 过程性内聚:指一个模块完成多个任务,这些任务必须按指定的过程执行。如:数据库访问模块 通信性内聚:指一个模块内所有处理元素都集中在某个数据结构的一块区域中。如:数据采集模块 一、软件设计的基本概念 3、高等级内聚 顺序性内聚:指一个模块多个成分与同一功能相关,这些成分又必须顺序执行。如:数据传输中的数据封装模块 功能性内聚:指一个模块中各个部分都是为完成一项具体功能而协同工作,紧密联系,不可分割的。如登录界面中的用户有效性检查模块。 一、软件设计的基本概念 内聚和耦合 耦合——模块间的的关联程度的一种度量。模块间的耦合度取决于模块间接口的复杂性、进入或调用模块的位置以及传送数据的多少等等。软件设计时,耦合度越低越好。 一、软件设计的基本概念 内聚和耦合 1、非直接耦合:如果两个模块之间没有直接关系,即它们中的任何一个都不依赖于另一个而能独立工作,这种耦合称为非直接耦合。(入库、出库) 2、数据耦合:两个模块之间仅通过参数表传递简单数据,则称为数据耦合。(库存、检修) 3、控制耦合:如果一个模块传送给另一个模块的参数中包含了控制信息,该控制信息用于控制接收模块中的执行逻辑,则称为控制耦合(订单、生产计划) 一、软件设计的基本概念 内聚和耦合 4、公共耦合 :若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。(下位机的数据采集模块、读数据模块) 5、内容耦合 :如果一个模块直接访问另一个模块的内部数据;或者一个模块不通过正常入口转到另一模块内部;或者两个模块有一部分程序代码重迭;或者一个模块有多个入口,则两个模块之间就发生了内容耦合。(

文档评论(0)

cai + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档