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

[第07章软件实现.ppt

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

软件工程 第七章 软件实现 软件工程课件 第七章 软件实现 7.1 软件实现的过程与任务 7.2 程序设计方法概述 7.3 编程风格与编码标准 7.4 编程语言 7.5 程序效率与性能分析 7.6 程序复杂性 做为软件工程过程的一个阶段,软件实现是软件设计的继续。实际上,程序编码就是将软件设计的结果翻译成为用某种程序设计语言描述的源代码。其中涉及到方法、工具和过程。 然而,在实现中所遇到的问题,例如,编程语言的特性和程序设计风格会深刻地影响软件的质量和可维护性。 本章不是具体介绍如何编写程序,而是从软件工程这个更广泛的范围去讨论与编程语言及程序编码有关的问题。 7.1 软件实现的过程与任务 软件实现阶段也称为程序编码阶段,通常包括编程实现和单元测试。本章只讲编程实现。 软件实现是软件产品由概念到实体的一个关键过程,它将详细设计的结果翻译成用某种程序设计语言编写的并且最终可以运行的程序代码。 虽然软件的质量取决于软件设计,但是规范的程序设计风格将会对后期的软件维护带来不可忽视的影响。 软件实现的过程如图: 软件实现的过程 首先,开发人员需要正确理解用户需求和软件设计模型,补充一些遗漏的详细设计,进一步设计程序代码的结构,并自行检查设计结果; 接下来,根据程序设计结果和编码规范等编写代码,在单元测试过程,检查和记录程序代码中可能的缺陷和错误,通过程序调试,对缺陷和错误定位和改正。 程序编码活动的依据是软件详细设计说明,它给出程序模块的实现逻辑和处理规则,还有为实现模块功能所需的算法和算法分析的结果,以及为配合算法实现所必须的局部数据结构。 程序编码活动的工作制品是源程序、目标程序和用户指南。根据系统的类型。 根据软件开发方法,程序编码可采用相应的编程语言来实现。 软件实现与软件设计、软件测试密不可分。软件设计为软件实现提供输入,软件实现的输出是软件测试的输入。 尽管软件设计和软件测试是独立的过程,但软件实现本身也涉及设计和测试工作,它们之间的界限视具体项目而定。 软件实现还会产生大量软件配置项,如源文件、测试用例等,因此软件实现还涉及配置管理。 按照现代软件开发过程的要求,软件需求分析、设计、实现、测试等活动贯穿于每一个软件开发周期,多个开发周期迭代实施,构成一个完整的开发过程。因此软件实现与其他软件工程活动交织在一起,不能完全孤立地执行。 7.2 程序设计方法概述 为了保证程序编码的质量,程序员必须深刻地理解、熟练地掌握并正确地运用编程语言的特性。 只有语法上没有错误的程序才能通过编译系统的语法检查。 然而,软件工程项目对代码编写的要求,绝不仅仅是源程序语法上的正确性,也不只是源程序中没有各种错误,还要求源程序具有良好的结构性和良好的程序设计风格。 结构化程序设计 结构化程序设计技术主要包括两个方面: 在程序设计过程中,尽量采用自顶向下和逐步细化的原则,由粗到细,一步步展开。 在编写程序时强调使用几种基本控制结构,通过组合嵌套,形成程序的控制结构。尽可能避免使用会使程序质量受到影响的GOTO语句。 以自顶向下逐步求精的方式编写程序 采取自顶向下,逐步细化的方法,把模块功能逐步分解,细化为一系列具体的步骤,进而翻译成一系列用某种编程语言写成的程序。 用先全局后局部,先整体后细节,先抽象后具体的逐步求精的过程开发出来的程序具有清晰的层次结构,程序容易阅读和理解。 理想情况下把程序分解成树形结构。 同一层的节点相互间没有关系,它们的细化工作相互独立。在任何一步发生错误,只影响它下层的节点。 每一步工作仅在上层节点的基础上做不多的设计扩展,这样有利于编程、检查、测试、集成和修改。 例如,用筛选法求100以内的素数 筛选法就是从 2 到 100 中去掉 2, 3, …, 9, 10 的倍数,剩下的就是100以内的素数。 为了解决这个问题,可先按程序功能写出一个框架。 main ( ) { //程序框架 建立2到100的数组A[ ], 其中A[i]=i;-----1 建立2到10的素数表 B[ ], 其中存放2 到10以内的素数;------------------------2 若A[i]=i是B[ ]中任一数的倍数,则 剔除A[i];----------------------------------3 输出A[ ]中所有没有被剔除的数;---------4 } 再细化框架中每条语句 main ( ) { /*建立2到100的数组A[ ],其中A[i]=i*/ for ( i = 2;i = 100;i++ ) A[i] = i; /* 建立2到10的

文档评论(0)

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

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

1亿VIP精品文档

相关文档