第3讲 详细设计解读.pptVIP

  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文档。上传文档
查看更多
31 32 程序的复杂性度量 定量度量程序复杂程度的方法很有价值: 1) 估算出系统中故障的数量 ; 2) 估算系统开发需要用的工作量 ; 3) 可以用来比较两个不同的设计或两个不同算法的优劣; 4) 可以作为模块规模的精确限度。 33 环形复杂度的度量方法 1 .程序图 使用 McCabe 方法首先需要画出程序图 (Program Graph) ,所谓程序图可以看成是“退化了的”程序流程图, 也就是把程序流程图中的每个处理符号都退化成一个点, 原来连接不同处理符号的箭头变成连接不同点的有向弧, 这样得到的有向图就称为程序图。几种基本结构的程序图 如下图所示。 34 35 开始 S a b c d e f g h 结束 E ( a )程序流程图 S a b c d e f g h E (b) 程序图 例子 36 2. 环形复杂度的度量方法 环形复杂度等于强连通的程序图中线性无关的有向环的个 数。根据图论,在一个强连通的有向图中线性无关环的个数由下 面的公式给出: V(G) = m - n + 1 ① 其中, V(G) 表示有向图 G 中的线性无关的环数; m 表示有向图 G 中有向边 ( 弧 ) 的个数; n 表示有向图中的结点个数; 37 用来源于图论中的公式①来计算 左图所示的强连通程序图的环形 复杂度,根据公式可得: V(G) = 13 - 10 + 1 = 4 第三讲 详细设计 2 ? 详细设计目的 详细设计的目的是为系统结构图中的每一个模块确定采用 的算法(包括数据结构的操作、构件之间的通信),用某 种选定的表达工具给出清晰的描述,使程序员可以将这种 描述直接翻译为某种语言程序。 3 - 详细设计是一个定义低层构件、模块和接口的过程; - 把 AD 阶段构建的设计模型进一步扩展为一个结构化 的构件规范集合; - 每一个构件规范都要定义:功能、输入、输出及内部 处理。 4 ? 实施者 软件工程师 5 ? 详细设计的原则 为了能够使模块的逻辑描述清晰准确,在详细设计阶段应遵循 下列原则。 (1) 将保证逻辑描述的清晰度放在首位 (2) 设计过程中应采用逐步细化的实现方法 (3) 选择适当的表达工具 6 详细设计的过程 (1) 定义设计标准 - 设计方法 ; - 文档 ; - 命名约定 ; - CASE 工具 ; - 错误处理 7 (2) 构件分解 - 从 ADD 中的构件开始分解,直到构件可以利用所选编程 语言进行实现; - 分解过程所用的方法和工具应与体系结构设计阶段一致。 8 ? 构件分解的基本原则 : - 构件不能包含太多的功能 - 构件不能太复杂 - 构件应具有高内聚特征; - 注重构件重用。 9 (3) 软件重用 如 : - 数据管理 ; - 人机交互构件 ; - 数学库 ; - 图形库等等。 10 (4) 定义构件处理 ? 利用伪码( pseudo-code )勾画模块的处理步骤,然后逐步细 化; ? 对处理的描述应反映所选编程语言的特点。 11 ? 每一个模块 / 方法应仅包含一个入口和一个出口; - 控制应从入口到出口; - 只有在循环中控制流可以逆向。 12 ( 5 )形成详细设计文档并评审 内部评价设计规范的完整性、一致性、正确性。 ( 6 )形成其它管理文档 - 开发者撰写用户手册; - 形成测试规范 单元测试由程序员完成,测试规范由软件工程师完成; 对于大型项目,系统测试和验收测试规范由第三方完成。 对于小型项目,系统测试和验收测试规范由开发者完成,用户审核认可。 13 ? 详细设计的工具 可以分

文档评论(0)

sunhongz + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档