第六章软件工程

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.1 程序设计语言的特性及选择 程序设计语言是人机通信的工具之一,使用这类语言“指挥”计算机干什么,是人类特定的
活动。我们从以下三个方面介绍语言的特性。 6.1.1 程序设计语言特性
1. 心理特性 (1)歧义性。 (2)简洁性。 (3)局部性和顺序性。 (4)传统性。 2. 工程特性 (1)可移植性。 (2)开发工具的可利用性。 (3)软件的可重用性。 (4)可维护性。 3. 技术特性 支持结构化构造的语言有利于减少程序环路的复杂性,使程序易测试、易维护。 6.1.2 程序设计语言的选择 1. 项目的应用领域
因素是_______。
三、选择题
1.项目的应用领域是选择编程语言关键的因素之一,不适合作为项目应用领域的类型是( )。
A.系统软件
B.数据处理与数据库应用
C.实时处理
D.UNIX 操作系统
2.为了提高易读性,源程序内部应加功能性注释,用于说明( )。
A.模块总的功能
B.程序段或语句的功能
C.模块参数的用途 D.数据的用途
编程时对程序语句做调整。
一、名词解释
1.编码
2.程序设计风格
二、填空题
1.程序设计语言的特性主要有_______三方面。
2.程序设计语言的心理特性在语言中的表现形式为_______。
3.程序设计语言的工程特性主要表现为_____。
4.项目的应用领域一般有_____几种类型。
5.与编码风格有关的因素有数据说明、语句构造、输入输出、效率等,其中还有一个重要的
项目的类型,敢于学习新知识,掌握新技术。 6.2 程序设计风格
随着计算机技术的发展,软件的规模增大了,软件的复杂性也增强了。为了提高程序的可 阅读性,要建立良好的编程风格。
1.源程序文档化 (1)标识符应按意取名。 (2)程序应加注释。注释是程序员与日后读者之间通信的重要工具,用自然语言或伪码描 述。它说明了程序的功能,特别在维护阶段,对理解程序提供了明确指导。注释分序言性注 释和功能性注释。 序言性注释应置于每个模块的起始部分,主要内容有: ①说明每个模块的用途、功能。 ②说明模块的接口:调用形式、参数描述及从属模块的清单。 ③数据描述:重要数据的名称、用途、限制、约束及其他信息。 ④开发历史:设计者、审阅者姓名及日期,修改说明及日期。 功能性注释嵌入在源程序内部,说明程序段或语句的功能以及数据的状态。注意以下几点: ①注释用来说明程序段,而不是每一行程序都要加注释。 ②使用空行或缩格或括号,以便很容易区分注释和程序。 ③修改程序也应修改注释。 2.数据说明 为了使数据定义更易于理解和维护,有以下指导原则: (1)数据说明顺序应规范,使数据的属性更易于查找,从而有利于测试、纠错与维护。例 如按以下顺序:常量寿命、类型说明、全程量说明、局部量说明。 (2)一个语句说明多个变量时,各变量名按字典序排列。 (3)对于复杂的数据结构,要加注释,说明在程序实现时的特点。 3.语句构造 语句构造的原则是:简单直接,不能为了追求效率而使代码复杂化。为了便于阅读和理解, 不要一行多个语句。不同层次的语句采用缩进形式,使程序的逻辑结构和功能特征更加清晰。 要避免复杂的判定条件,避免多重的循环嵌套。表达式中使用括号以提高运算次序的清晰度 等等。 4.输入和输出 在编写输入和输出程序时考虑以下原则: (1)输入操作步骤和输入格式尽量简单。 (2)应检查输入数据的合法性、有效性,报告必要的输入状态信息及错误信息。 (3)输入一批数据时,使用数据或文件结束标志,而不要用计数来控制。 (4)交互式输入时,提供可用的选择和边界值。 (5)当程序设计语言有严格的格式要求时,应保持输入格式的一致性。 (6)输出数据表格化、图形化。 输入、输出风格还受其他因素的影响,如输入、输出设备,用户经验及通信环境等。 5.效率 效率指处理机时间和存储空间的使用,对效率的追求明确以下几点: (1)效率是一个性能要求,目标在需求分析给出。 (2)追求效率建立在不损害程序可读性或可靠性基础上,要先使程序正确,再提高程序效 率,先使程序清晰,再提高程序效率。 (3)提高程序效率的根本途径在于选择良好的设计方法、良好的数据结构算法,而不是靠
4.科学工程计算、数据处理与数据库应用、实时处理、系统软件、人工智能
5.源程序文档化
三、选择题
1.D. 2.B. 3.C. 4.A. 5.D.
(1)科学工程计算。 需要大量的标准库函数,以便处理复杂的数值计算,可供选用的语言有: FORTRAN 语言、C 语言等。
(2)数据处理与数据库应用 SQL 为 IBM 公司开发的数据库查询语言 4GL 称为第 4 代语言 (3)实时处理 实时处理软件一般对性能的要求很高,可选用的语言有: 汇编语言、Ada 语言等。 (4)系统软件。 如果编写操作系统、编译系统等系统软件时,可选用汇编语言、C 语言、Pascal 语言和 Ada 语言。 (5)人工智能。 如果要完成知识库系统、专家系统、决策支持系统、推理工程、语言识别、模式识别等人 工智能领域内的系统,应选择 Prolog、Lisp 语言。 2. 软件开发的方法(详见第 9 章) 有时编程语言的选择依赖于开发的方法,如果要用快速原型模型来开发,要求能快速实现 原型,因此宜采用 4GL。如果是面向对象方法,宜采用面向对象的语言编程。 3. 软件执行的环境 良好的编程环境不但有效提高软件生产率,同时能减少错误,有效提高软件质量。 4. 算法和数据结构的复杂性 科学计算、实时处理和人工智能领域中的问题算法较复杂,而数据处理、数据库应用、系 统软件领域内的问题,数据结构比较复杂,因此选择语言时可考虑是否有完成复杂复杂算法 的能力,或者有构造复杂数据结构的能力。 5. 软件开发人员的知识 编写语言的选择与软件开发人员的知识水平及心理因素有关,开发人员应仔细地分析软件
C.数据库的易操作性 D.软件的可移植性
四、简答题
1.在项目开发时,选择程序设计语言通常考虑哪些因素?
2.什么是程序设计风格?应在哪些方面注意培养良好的设计风格?
参考答案
二、填空题
1.心理特性、工程特性、技术特性
2.歧义性、简洁性、局部性、顺序性和传统性
3.可移植性、开发工具的可利用性、软件的可重用性、可维护性
3.程序设计语言的心理特性在语言中表现不应包括( )。
A.歧义性 B.简洁性 C.保密性 D.传统性
4.程序设计语言的工程特性其中之一表现在( )。
A.软件的可重用性
B.数据结构的描述性
ຫໍສະໝຸດ Baidu
C.抽象类型的描述性 D.数据库的易操作性
5.程序设计语言的技术特性不应包括( )。
A.数据结构的描述性 B.抽象类型的描述性
相关文档
最新文档