- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计评审的内容(续) 5.技术清晰度:即确认该软件设计是否以一种易于翻译成代码的形式表达。 6.可维护性:从软件维护的角度出发,确认该软件设计是否考虑了方便未来的维护。 7.质量:即确认该软件设计是否表现出良好的质量特征。 8.各种选择方案:看是否考虑过其它方案,比较各种选择方案的标准是什么。 9.限制:评估对该软件的限制是否现实,是否与需求一致。 10.其它具体问题:对于文档、可测试性、设计过程等等进行评估。 * 第六十一页,共六十三页。 设计评审 评审分正式评审和非正式评审两种 1.正式评审除软件开发人员外,还邀请用户代表和领域专家参加,通常采用答辩形式 2.非正式评审多少有些同行切磋的性质,不拘泥于时间和形式 * 第六十二页,共六十三页。 内容总结 软件工程。3)设计应当既包含数据抽象,也包含过程抽象。通常至少选取低成本、中等成本和高成本的三种方案。软件结构(即由模块组成的层次系统)可以用层次图或结构图来描绘。扇出太大一般是因为缺乏中间层次,应该适当增加中间层次的控制模块。6. 设计单入口单出口的模块。B/S(Browser/Server)结构。(3) 模块判断作用范围应在其控制作用范围内。(5) 设计单入口单出口的模块。F. 注释∕约束∕限制。部件作用范围是否在其控制范围之内。7.质量:即确认该软件设计是否表现出良好的质量特征。9.限制:评估对该软件的限制是否现实,是否与需求一致。62 第六十三页,共六十三页。 模块独立 模块独立:模块完成独立的功能并且与其他模块的接口简单,符合信息隐蔽和信息局部化原则,模块间关联和依赖程度尽可能小。 模块独立的重要性 功能被划分,并且接口被简化,所以具有有效模块化的软件更易于开发。 由于因设计和编码修改引起的副作用受到局限,错误传播被减小,并且模块复用成为可能,所以独立的模块更易于维护和测试。 * 第二十九页,共六十三页。 模块独立 模块的独立性可以由两项指标来衡量:内聚度与耦合度: 内聚(cohesion)是一个模块内部各个元素彼此结合的紧密程度的度量。 耦合(coupling)是模块之间的相对独立性(互相连接的紧密程度)的度量。 * 第三十页,共六十三页。 内聚 一般模块的内聚性分为七种类型 * 第三十一页,共六十三页。 内聚 1)巧合内聚(偶然内聚):如果一个模块完成一组任务,这些任务彼此间即使有关系,关系也是很松散的。将几个模块中没有明确表现出独立功能的相同程序代码段独立出来建立的模块称为巧合内聚模块。 2)逻辑内聚:指完成一组逻辑相关任务的模块,调用该模块时,由传送给模块的控制型参数来确定该模块应执行哪一种功能。 3)时间内聚:指一个模块中的所有任务必须在同一时间段内执行。例如初始化模块和终止模块。 * 第三十二页,共六十三页。 内聚 4)过程内聚 :指一个模块完成多个任务,这些任务必须按指定的过程(procedural)执行。 5)通信内聚 :指一个模块内所有处理元素都集中在某个数据结构的一块区域中。 6)顺序内聚:指一个模块完成多个功能,这些功能又必须顺序执行。 7)功能内聚 :指一个模块中各个部分都是为完成一项具体功能而协同工作,紧密联系,不可分割的。 * 第三十三页,共六十三页。 耦合和内聚的概念是Constantine, Yourdon, Myers和Stevens等人提出来的。按照他们的观点,如果给上述几种内聚的优劣评分,将得到如下结果: 功能内聚 10分 时间内聚 3分 顺序内聚 9分 逻辑内聚 1分 通信内聚 7分 偶然内聚 0分 过程内聚 5分 事实上,没有必要精确确定内聚的级别。重要的是设计时力争做到高内聚,并且能够辨认出低内聚的模块,有能力通过修改设计提高模块的内聚程度降低模块间的耦合程度,从而获得较高的模块独立性。 * 第三十四页,共六十三页。 耦合 一般模块之间可能的耦合方式有七种类型 * 第三十五页,共六十三页。 耦合 1)内容耦合:如果一个模块直接访问另一个模块的内部数据;或者一个模块不通过正常入口转到另一模块内部;或者两个模块有一部分程序代码重迭;或者一个模块有多个入口,则两个模块之间就发生了内容耦合。 2)公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。 3)外部耦合:指模块间通过软件之外的环境联结(如I/O将模块耦合到特定的设备、格式、通信协议上)时,称为外部耦合。 * 第三十六页,共六十三页。 耦合 4)控制耦合:如果一个模块传送给另一个模块的参数中包含了控制信息,该控制信息用于控制接收模块中的执行逻辑,则称为控制耦合。 5)标记耦合:两个模
文档评论(0)