- 1、本文档共78页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件制造工程 第三章 编程工程 本章主要内容 编程工程的定义和内容 结构化编程 编码规范 编程前的准备 编程实施 3.1.1 编程工程的定义和内容 编程工程就是用程序设计语言把程序设计的结果和过程翻译为在计算机相应环境下可运行的软件产品,把系统工程师按照用户需求设计出来的系统构架变为真正可运行的软件系统的工程。 3.1.1 编程工程的定义 编程工程的作业内容详细地划分为制定工作标准,制定编码基准,理解设计书,程序编码,自查,送上级系统工程师审查,修改以及进行单元测试等若干步骤. 3.2 结构化编程 结构化开发--结构化分析、结构化设计和结构化编程三个阶段 3.2.1 结构化开发过程 3.2.1 结构化开发过程 1、结构化分析 结构化分析方法的核心是沿数据流程图自顶向下、逐步求精,是最经典的面向数据流的需求分析方法。结构化分析方法使用系统流程图、数据流程图、数据字典、ER图、处理说明等工具来描述系统的功能需求、数据需求、运行需求和系统扩充需求。该方法广泛应用于银行,证券,商务处理,生产管理等大中型信息管理系统的需求分析过程。 3.2.1 结构化开发过程 在软件系统开发的初期阶段,首先要对用户的现行业务运行系统进行调查和现状分析,把握用户对新的开发系统的要求和希望,从用户提供的基本信息中,整理出开发系统目的和可能实现的功能范围,设计出新系统的数据流程图(DFD:Data Flow Diagram),显示屏幕关连图和功能概要说明书。 3.2.1 结构化开发过程 2、结构化设计 结构化设计方法通常也叫做面向数据流的设计、面向行为的设计。结构化设计方法是以需求分析阶段获得的新系统的数据流程图(DFD)和显示屏幕关连图为基础,通过一系列映射,自顶向下,逐步细化,把它们变换为具体的程序概要结构图和屏幕设计式样,把一个个复杂的问题分解细化为由多个功能模块组成的具有层次结构的软件系统。 3.2.1 结构化开发过程 3、结构化程序制造 结构化程序制造由结构化程序设计和结构化程序编码组成,它以外部设计和内部设计过程中获得的软件结构图及其相关设计资料为基础,采用自顶向下,逐步细化的方法,把一个个模块的功能逐步分解,细化为一系列具体的步骤,作出结构化程序设计说明书,程序员再按照程序设计说明书和系统设计的相关资料,把一步步的处理说明翻译成一系列用某种程序设计语言编写的程序代码。 3.2.2 结构化编码 程序代码的质量与软件系统外部设计和内部设计的质量直接相关,同时,程序设计语言的特性和程序员的编码水平,程序代码的可读性,可维护性,可靠性,可测试性都是直接影响程序质量的因素。 3.2.2 结构化编码 结构化编码采用自顶向下,逐步细化的方法,先全局,后局部,先整体,后细节,先抽象,后具体,逐步求精,编制出来的程序具有清晰的逻辑层次结构,容易阅读、理解、修改和维护,可以提高软件质量,提高软件开发的成功率和生产性。 结构化编码过程中,要遵循以下几个主要的原则: ⑴ 尽可能使用语言提供的基本控制结构,顺序结构、选择结构和重复结构。 ⑵ 选用的控制结构只准许有一个入口和一个出口。 ⑶ 利用程序内部函数,把程序组织成容易识别的内部函数模块,每个模块只有一个入口或一个出口,一般不超过100行。 ⑷ 复杂结构应该用基本控制结构组合或嵌套来实现。 ⑸ 尽可能减少GOTO语句的使用,一般限制用到以下三种情况: 把控制转移到出错处理。 把控制转移到函数模块结束 从深层嵌套的循环退出 3.2.2 结构化编码 大量采用GOTO语句实现控制路径,会使程序路径变得复杂而且混乱,但有时完全不用GOTO语句,可能会增加程序实现的复杂度。例如,在查找结束时、文件访问结束时或出现错误情况要从循环中转出时,使用GOTO语句会使程序更加清晰易懂。所以,应该加以限制地使用GOTO语句。 程序1 if ( A B ) goto 120; if ( B C ) goto 110; 100 write ( C ); goto 140; 110 write ( B ); goto 140; 120 if ( A C ) goto 130; goto 100; 130 write ( A ); 140 end 例1 打印A, B, C三数中最小者程序 程序2 if ( A B ) and ( A C ) then write ( A ) else if ( A ? B ) and ( B C ) then write ( B ) else w
文档评论(0)