- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
15_软件实现
广东工业大学计算机学院 软件工程 Software Engineering 第15章 软件实现 在下列细节设计的基础上,用一种程序设计语言来将设计转换为程序,得到的结果是源程序代码。 15.1 程序设计语言的特性及选择 15.2 程序设计风格 15.3 程序设计效率 15.4 冗余编程 15.5 软件容错技术 15.1 程序设计语言的特性及选择 15.1.1 程序设计语言特性 1. 工程特性 1)可移植性 2)开发工具的可利用性 3)软件的可重用性 4)可维护性 2. 技术特性 3. 心理特性 1)歧义性 2)简洁性 3)局部性和顺序性 4)传统性 15.1.2 程序设计语言的选择 选择语言时,可以从以下几个方面来考虑: 1. 项目的应用领域 1)科学工程计算 (1)FORTRAN语言: (2)Pascal语言: (3)C语言: (4)PL/1语言: (5)C++语言: 2)数据处理与数据库应用 (1)COBOL语言: (2)SQL语言: (3)4GL语言: 4GL的主要特征是: ① 友好的用户界面: ② 兼有过程性和非过程性双重特性: ③ 高效的程序代码: ④ 完备的数据库: ⑤ 应用程序生成器: 3)实时处理 (1)汇编语言: (2)Ada语言: 4)系统软件 汇编语言、C语言、Pascal语言和Ada语言。 5)人工智能 (1)LISP: (2)PROLOG: 2. 软件开发的方法 编程语言的选择依赖于开发的方法,采用4GL语言适合用快速原型模型来开发。面向对象的语言: (1)C++: (2)Java: 3. 软件开发的环境 4. 算法和数据结构的复杂性 5. 软件开发人员的知识 良好的编码风格有以下几个方面: 1. 源程序文档化 编写源程序文档化的原则为: 1)标识符应尽量具有实际意义 2) 程序应加注释 主要内容有: (1)说明每个模块的用途、功能。 (2)说明模块的接口形式、参数描述及从属模块的清单。 (3)该模块的数据描述:特殊的数组或变量的说明、约束或其他信息。 (4)开发历史:指程序的编写者、审阅者姓名及日期、修改说明及日期。 2. 数据说明 为了使数据定义更易于理解和维护,一般有以下的书写原则: (1)数据说明顺序应规范,将同一类型的数据书写在同一段落中,从而有利于测试、纠错与维护。例如按常量说明、类型说明、全程量说明及局部量说明顺序。 (2)当一个语句中有多个变量声明时,将各变量名按字典顺序排列,便于查找。 (3)对于复杂的和有特殊用途的数据结构,要加注释,说明在程序中的作用和实现时的特点。 3. 语句构造 语句构造的原则为:简单直接,使用规范的语言,在书写上要减少歧义。不同层次的语句采用缩进形式,使程序的逻辑结构和功能特征更加清晰。要避免复杂、嵌套的判定条件,避免多重的循环嵌套,一般嵌套的深度不要超过三层。表达式中多使用括号以提高运算次序的清晰度,不要简单地依靠程序设计语言自身的运算符优先级等。 4. 输入和输出 在编写输入和输出程序时考虑以下原则: (1)输入操作步骤和输入格式尽量简单,提示信息要明确,易于理解。 (2)输入一批数据时,尽量少用计数器来控制数据的输入进度,使用文件结束标志。 (3)应对输入数据的合法性、有效性进行检查,报告必要的输入信息及错误信息。 (4)交互式输入时,提供明确可用的输入信息。 (5)当程序设计语言有严格的格式要求时,应保持输入格式的一致性。 5. 效率 效率一般指对处理机时间和存储空间的使用效率,对效率追求要注意下面几个方面: (1)效率是一个性能要求,需求分析阶段就要对效率目标有一个明确的要求。 (2)追求效率应该建立在不损害程序可读性或可靠性基础之上。在程序可靠和正确的基础上追求效率。 (3)选择良好的设计方法才是提高程序效率的根本途径,设计良好的数据结构与算法,都是提高程序效率的重要方法。编程时对程序语句做调整是不能从根本上提高程序效率的。 15.3 程序设计效率 效率是一种性能需求。 良好的程序设计是提高效率的根本途径。 要知道代码效率与代码的简单性紧密联系。 15.3.1 代码效率 对代码效率影响最大的是算法的效率。编码风格也影响速度和内存 。体现在以下的几个方面: (1)编码前,简化算术表达式和逻辑表达式。 (2)循环内部的语句和表达式越少越好。 (3)应尽量避免使用多维数组。 (4)应尽量避免使用指针和复杂的列表。 (5)采用效率高的算术运算。 (6)要避免采用混合数据类型。 (7)应当采用占用内存少的数据类型。 15.3.2 内存效率 内存效率必须注意考虑操作系统内存管理的分页特征,而根据代码的局域性或通过结构化构造功能域的设计方法才是减少程序在运行
文档评论(0)