[计算机]软件工程实践2结构化.ppt

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

北京理工大学 软件工程实践 汤铭端 中国航天科工集团公司706所 第二讲 结构化方法 内容和目的 了解结构化方法的产生和有关概念 掌握结构化方法的基本原则 了解结构化分析、设计、编程方法的基本内容 了解软件开发的一般原则 软件开发方法 软件开发方法是软件开发过程所遵循的方法和步骤,其目的在于有效地得到一些工作产品,既程序和文档,并且满足质量要求 程序设计方法是软件开发方法的组成部分 此外还有分析方法和设计方法 评价软件开发方法的四大特征 技术特征:支持各种技术概念的方法特色,如层次性、抽象性、并行性、安全性、正确性等 使用特征:用于具体开发时的特色,如易理解性、易移植性、易复用性、工具的支持、任务范围、使用的广度、活动过渡的可行性、产品的易修改性、对正确性的支持等 管理特征:增强对软件开发活动管理的能力方面的特色,如易管理性、支持或阻碍团队工作的程度、中间阶段的确定、工作产品、配置管理、阶段结束准则、费用估计等 经济特征:给软件组织产生的在质量和生产力方面的可见效益,如分析活动的局部效益、全生存周期效益、获得该开发方法的代价、使用它的代价、管理的代价等 选用软件开发方法的考虑因素 1 对该开发方法是否已具有经验,或者已有受过培训的人员 2 开发项目的进度、人员组成情况 3 为开发项目提供的资源如何 4 计划、组织、管理的可行性 5 开发项目的领域知识准备情况 航天的考虑 结构化方法较全面、最成熟、最基础、使用最广泛、有成功经验 结构化方法适合航天软件研制工作 结构化方法是基础性方法 结构化方法包括就形成了配套的软件结构化分析方法、结构化设计方法和结构化编程方法,其核心和基础是结构化程序设计理论 为什么要讲这些所谓的“方法”? “我只要满足需求就可以了,我自己开发使用什么方法你管不着。” “这些方法根本没有什么用处,我们那里高手很多,我们不屑于使用这些方法。” “结构化”起源:对GOTO的认识 1968年Dijkstra在ACM通讯中发表了“GOTO语句是有害的”文章,认为:GOTO语句是有害的,是造成程序混乱的祸根,程序的质量与GOTO语句的数量成反比,应该在所有高级程序设计语言中取消GOTO语句 激起了强烈的反响和长期广泛的论战 论据 1966年,Boehm和Jacopini证明了程序设计语言只要上旬、选择和重复三种形式的控制结构就足以表达出各种其他形式的结构 1970年McKeeman称其XPL编译程序仅用一个GOTO语句 1972年C.Strachey设计的操作系统只在五处使用了标号和GOTO语句 争辩 否定GOTO 取消GOTO后,程序易理解、易排错、易维护 没有其它好的结构代替GOTO的话,容易滥用GOTO 无GOTO的程序容易进行正确性证明 肯定GOTO 在块和进程的非正常出口处往往需要 使用GOTO会使程序执行效率较高 在合成程序目标时,GOTO语句往往是有用的,如返回语句用GOTO 结论 1974年Knuth发表了总结性文章:“带有GOTO的结构化程序设计” 令人信服地总结和证实了以下三点: 滥用GOTO语句确实有害,应尽量避免 完全避免使用GOTO语句也并非是个明智的方法,有些地方使用GOTO语句,会使程序流程更清楚、效率更高 争论的焦点不应该放在是否取消GOTO语句,而应该放在用什么样的程序结构上 最后一点使关键,肯定以提高程序清晰性为目标的结构化方法 “方法”的核心是模型 方法与模型 分析模型和设计模型 分析模型:对当前所处的环境,或者现实情况建立的模型,用于分析和评估。 设计模型:对未来要建造的系统或者环境建立的模型,用于系统实施,也用于交流和评价。 建立模型有助于精确有效地表达和沟通。 结构化方法 结构化程序设计:一种良好定义的软件开发技术,它采用自顶向下设计和实现方法,并严格地采用结构化程序的控制构造 结构化方法的原则 清晰第一效率第二 设计先于编码 自顶向下逐步细化 1 清晰第一效率第二 著名的“清晰第一,效率第二”已成为当今主导的程序设计风格 “先求清楚后求快” “保持程序简单以求快” “写清楚——不要为‘效率’牺牲清晰” 2 设计先于编码 “开始写程序越早,完成程序需要的时间就越长。” “设计先于编码”已成为所有程序设计必须遵守的一条原则。 设计一定要利用各种设计工具来进行。 3 逐步细化的设计方法… 逐步细化方法是结构化程序设计的心脏。 1)中心思想 a. 程序设计是一个由粗到细的过程; b. 程序设计不仅包括对控制结构的设计,也包括对数据结构的设计,两者都要一步步地细化。 3 逐步细化的设计方法 2)指导原则 a. 先分解主要问题,次要的问题可暂时搁置; b. 坚持渐进的原则,每一步的变化不要太大; c. 过程的细化与数据结构的细化宜并行、交叉地进行; d. 选用

文档评论(0)

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

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

1亿VIP精品文档

相关文档