代码大全讲义.ppt

  1. 1、本文档共246页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
事实上,卓有成效的优秀 程序员们所使用的技术并不神 秘,但由于日常事务的繁重 和工作任务的重压,程序 员们很少有深入思考 互相交流切磋的时间 欢迎进入软件创建世界! 一.欢迎进入软件创建世界 一.欢迎进入软件创建世界 提高质量与生产率是软件工程要解决的核心问题。高质量程序设计是非常重要的环节,毕竟软件是靠编程来实现的。 高质量的软件的属性包括正确性、健壮性、可靠性、效率、易用性、可读性(可理解性)、可扩展性、可复用性、兼容性、可移植性等质量属性的。 看来,“高质量”可不是干活小心点就能实现的!~~ 二.利用隐喻对编程进行深刻的理解 隐喻的重要性 重大发现往往是从类比中产生的通过 把一个你所陌生的事物与你所熟知的事物 比较,会对它有进一步的认识,从而形成 你对它的独到的深刻理解,这种隐喻方法 被称之为“模型化” 如:OMP MP PP间的数据通信 二.利用隐喻对编程进行深刻的理解 二.利用隐喻对编程进行深刻的理解 系统积累:诸多的计划,设计和执行 盖一个狗窝 带上锤子,买来木板和钉子,到下午就给你的爱犬造好了一幢,忘了修一个门?推倒重建! 盖一个房子 与建筑师确定方案,画蓝图,找承包商,进行建造,进行装艺,买家具,并在各个过程中进行监督…?!不要告诉又忘了修门! 盖一个别墅 定做全套家具,别具风格的门和窗户,每个工作都 复杂许多,加在一起?!,需要更多的监督和审核。 我的工具箱 对编程理解得越深入,工具箱里的工具就越多 现在考虑建一个房子看看? 三.软件设计的先决条件 问题定义 需求分析 结构设计 语言选择 编程约定 检查表 三.软件设计的先决条件 需求分析 CMM(成熟度模型)中的需求分析PKA内容 需求定义质量要求的识别 需求定义质量特性定义和度量 定义需求跟踪矩阵 度量结果评审 内部测试计划、系统测试方案 注:尽早发现问题的主要性: IBM的研究表明,在设计开始阶段,如详细设计、编码或单元测试阶段就消除错误,其成本要比在后期即系统测试和功能强化阶段低10 到100 倍。 三.软件设计的先决条件 需求分析 和CMM需求分析PKA的对比 正式的需求 需求定义质量要求的识别 稳定的需求 需求定义质量特性定义和度量 检查表 定义需求跟踪矩阵 让每个人都知道需求变化所付出的代价 度量结果评审 三.软件设计的先决条件 结构设计 CMM的软件设计PKA定义: 设计策略:分解、迭代增量、基于模式、... 设计方法:面向功能、面向对象、 用例驱动、... 架构设计:体系结构、构件规格、内外接口、 特别问题、... 构件设计:算法、数据、约束、... 三.软件设计的先决条件 结构设计 结构设计中的典型要素 程序的组织形式 变动策略 购买而不是建造的决定 主要的数据结构、关键算法 主要对象 通用功能 错误处理 坚固性 性能 通用的结构设计质量准则 三.软件设计的先决条件 结构设计 程序的组织形式 定义模块,能完成某一高级功能的子程序的组 合。此阶段不考虑建立模块级的子程序。如果一 项功能由两个或更多的模块覆盖那么它们之间应 该是互补的而不是相互冲突。 只完成一项任务并且圆满完成 - 强内聚 降低模块之间的了解程度 - 低耦合 三.软件设计的先决条件 结构设计 变动策略 在设计中已经考虑到了可能的功能增强 变动,而且,应该使最可能的变动同时世 是最容易实现的变动 如:条件编译,使用外部文件… 三.软件设计的先决条件 结构设计 购买而不是建造的决定 从长远观点来看,重新使用旧软件是提 高生产率的首要因素。购买代码可以降低 计划、详细设计、测试和调试的工作量 使用库和成熟模块、封装 三.软件设计的先决条件 结构设计 主要的数据结构、关键算法 给出使用的主要文件、表和数据结构遵循数据守恒定律:每一个进入的数据都应该出去,或者与其它数据一道出去,如果它不出去,那他就没有必要进来 如果结构设计依赖于某一特定算法,那它应该描述或指出这一算法 三.软件设计的先决条件 结构设计 主要对象 指出要实现的主要对象,它应该规定每一个对象的责任并指出每个对象之间是如何相互作用的。其中应包括对于排序层次、状态转换和对象一致性的描述。 三.软件设计的先决条件 结构设计 通用功能 用户界面:应该是模块化的, 输入输出:能够定位层面,区域层次 内存管理:建立自己的内存管理系统 字符串存储:保存在数据结构,源文件 消息通讯:建立固定的通讯方法 三.

文档评论(0)

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

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

1亿VIP精品文档

相关文档