admin 管理员组文章数量: 1086019
2024年12月30日发(作者:乱世佳人电影免费版)
第6章 软件编码
一、填空题(20小题)
1、源程序中加注释是帮助理解程序的重要手段,注释分为( )、( )两类。
答案:序言性注释、功能性注释
2、通常考虑选用语言的因素有( )、( )、( )、( )和
( )。
答案:项目的应用领域、软件开发的方法、软件执行环境、算法与数据结构的复杂性、软
件开发人员的知识
3、从软件工程的观点,语言的工程特性是指( )、( )、( )和
( )。
答案:可移植性、开发工具的可利用性、软件的可重用性、可维护性
4、编写操作系统、编译系统等系统软件时,可选用( )、( )、( )
和( )等。
答案:汇编语言、C语言、Pascal语言、Ada语言
5、效率是一个( )要求,目标在( )给出。
答案:性能、需求分析
6、提高程序效率的根本途径在于选择良好的( )、良好的( ),而不是靠
编程时对程序语句做调整。
答案:设计方法、数据结构与算法
7、语句构造的原则是( ),不能为了追求效率而使代码( )。
答案:简单直接、复杂化
8、程序设计语言的心理特性在语言中的表现形式为( )、( )、( )、
( )和( )。
答案:歧义性、简洁性、局部性、顺序性、传统性
9、语言的心理特性在语言中的表现形式有:( )、( )、( )、
( )和( )。
答案:歧义性、简洁性、局部性、顺序性、传统性
10、程序设计语言的简洁性是指人们必须记住的( )的数量。人们要掌握一种语言,
需要记住的成分数量越多,简洁性越( )。
答案:语言成分、差
11、在软件的设计中占有极其重要地位的是软件功能结构,它是联系( )跟开发者
的规格说明。
答案:用户
12、贯穿于软件生存期中的一个极为重要的问题是( )。
答案:软件质量
13、为了做好软件质量评价,必须在( )定义其质量需求。
答案:开发前
第6章 软件编码 第 1 页 共 11 页
14、在McCall质量度量模型中,针对面向软件产品的运行、修改、转移,软件质量概念
包括11个特性,面向软件产品操作的5个特性是:( )、( )、( )、
( )和( )。面向软件产品修改的三个特性是:( )、( )和
( )。面向软件产品适应的三个特性是:( )、( )和( )。
答案:正确性、可靠性、效率、完整性、可用性、可维护性、可测试性、适应性、可移植
性、可重用性、可互操作性
15、软件质量保证应从( )开始,直到投入使用和售后服务的软件生存期的每一个
阶段中的每一步骤。
答案:产品计划和设计
16、假如
n
个相同的系统(硬件或软件)进行测试,它们的失效时间分别是
t
1
,
t
2
,…,
t
n
,
则平均失效等待时间MTTF=( )。
1
n
答案:
t
i
n
i1
17、软件的规格说明分为外部规格说明和内部规格说明。外部规格说明是从用户角度来看
的规格,包括硬件/软件系统设计(在( )进行)、功能设计(在( )进行)。
答案:分析阶段、需求分析阶段与概要设计阶段
18、软件质量定义为(1)与所确定的( )的一致性。(2)与所成文的( )的一
致性。(3)与所有专业开发的软件所期望的( )的一致性。
答案:功能和性能需求、开发标准、隐含特性
19、McCabe复杂性度量又称( )。
答案:环路度量
20、软件的规格说明分为( )规格说明和( )规格说明。设计质量是由
( )规格说明决定的,程序质量是由( )规格说明决定的。
答案:外部、内部、外部、内部
第6章 软件编码 第 2 页 共 11 页
二、单项选择题(30小题)
1、以谓词逻辑为基础的,核心是事实、规则和推理机制度的实用逻辑程序设计语言是
( )。
A、Java
B、Lisp
C、Prolog
D、Smalltalk
答案:C
2、如果把一个程序作为一个整体,它也是只有一个入口、一个出口的单个顺序结构,这
是一种( )。
A、结构程序
B、组合的过程
C、自顶向下设计
D、分解过程
答案:B
3、将非结构化程序转换为结构程序的过程中,下列( )方法不适用具有循环结构的程
序。
A、重复编码法
B、状态变量法
C、布尔标记法
D、以上全部
答案:A
4、程序设计语言一般来说,可划分为低级语言和高级语言两大类,与高级语言相比,用
低级语言开发的程序,具有( )特点。
A、运行效率低,开发效率低
B、运行效率低,开发效率高
C、运行效率高,开发效率低
D、运行效率高,开发效率高
答案:C
5、提高程序效率的根本途径并非在于( )。
A、选择良好的设计方法
B、选择良好的数据结构
C、选择良好的算法
D、对程序语句作调整
答案:D
6、在高级程序设计语言中,使用参数是子程序之间传递信息的一种手段。子程序说明中
的参数称为形式参数,调用语句中的参数称为实参。调用时,实参的个数、类型和顺序要
和形式参数保持一致。
了解一种语言(或编译器)使用哪种参数传递方法是很重要的,因为程序的运行依赖于所用
第6章 软件编码 第 3 页 共 11 页
的方法。参数传递方法有传值调用(callbyvalue),引用调用(callbyreference)传名调用
(callbyname)和宏扩展(macroexpansion)。
传值调用是指把实参的(1)传递给相应的形式参数,子程序通过这种传递形式参数(2);引
用调用是指把实参的(3)传递给相应的形式参数,此时,子程序形式参数的一次引用或赋
值被处理成对形式参数的(4)访问。C语言中的函数,以(5)方式进行参数传递。
供选择的答案:
1、3:
A、地址 B、名 C、值 D、地址和值 ⑤值和名 ⑥名和地址
2:A、可传回结果的值 B、可传回存放结果的地址
C、可传回结果的值和存放结果的地址
D、不可传回任何结果(值或地址)
4:A、直接 B、间接 C、变址 D、引用或赋值
5:A、传值调用 B、引用调用 C、传名调用 D、宏扩展
答案:C|D|A|B|A
7、程序设计语言用于书写计算机程序,它包含语法、语义和( )三方面。
A、语境
B、语调
C、语用
D、词语
答案:C
8、在商业系统的开发中应用最广泛的语言是( )。
A、SQL语言
B、Fortran语言
C、Smalltalk语言
D、Cobol语言
答案:D
9、程序设计语言的工程特性其中之一表现在( )。
A、软件的可重用性
B、数据结构的描述性
C、抽象类型的描述性
D、数据库的易操作性
答案:A
10、程序设计语言的技术特性不应包括( )。
A、数据结构的描述性
B、抽象类型的描述性
C、数据库的易操作性
D、软件的可移植性
答案:D
11、不适合作为数据处理的语言是( )。
第6章 软件编码 第 4 页 共 11 页
A、Prolog
B、C语言
C、4GL
D、SQL语言
答案:A
12、在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在人们更重视
程序的( )。
A、技巧性
B、保密性
C、一致性
D、可理解性
答案:D
13、源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有( )。
A、模块的功能
B、语句的功能
C、模块的接口
D、开发历史
答案:B
14、在下列计算机语言中,属计算机的低级程序语言有(1),计算机的高级程序语言有(2),
第四代程序语言(4GL)有(3)。称二种语言为低级语言是由于它(4),而高级程序语言(5)。
供选择的答案:
1.A、BASIC语言 B、Pascal语言 C、汇编语言 D、SQL语言
2.A、WPS B、Windows C、DBMS D、Pascal
3.A、C++ B、SQL C、Visual Basic D、LOTUS
4.A、离机器特性近 B、离自然语言近
C、编程难度低 D、通用性强
5.A、不必经过解释能直接执行 B、必须经过解释才能执行
C、必须经过编译才能执行 D、必须经过编译或解释才能执行
答案:C|D|B|A|D
15、适合在互联网上编写程序可供不同平台上运行的面向对象的程序设计语言是( )。
A、Algol
B、Java
C、Smalltalk
D、Lisp
答案:B
16、在McCall质量度量模型中,对于以下软件质量概念的正确解释是( )。
A、可维护性。修改或改进一个己投入运行的软件所需工作量的程度
B、可测试性。找到并改正程序中的一个错误所需代价的程度
C、适应性。将一个系统祸合到另一个系统所需的工作量
第6章 软件编码 第 5 页 共 11 页
D、可重用性。一个软件(或软件的部件)能再次用于其他相关应用的程度
答案:D
17、软件可靠性是最重要的软件特性,通常用它来衡量在规定的条件和时间内,软件完成
( )的能力。
A、需求分析
B、规定功能
C、概要设计
D、软件测试
答案:B
18、人们常用( )方法来度量软件的可靠性。
A、硬件可靠性的定量度量
B、软件可靠性的定量指标
C、系统的定量度量
D、可靠性的度量
答案:A
19、软件的易维护性是指理解、改正、改进软件的难易程度。通常影响软件易维护性的因
素有易理解性、易修改性和(1)。在软件的开发过程中往往采取各种措施来提高软件的易
维护性。如采用(2)有助于提高软件的易理解性;(3)有助于提高软件的易修改性。在软件
质量特性中,(4)是指在规定的一段时间和条件下,与软件维持其性能水平的能力有关的
一组属性;(5)是指防止对程序及数据的非授权访问的能力。供选择的答案:
1:A、易使用性 B、易恢复性 C、易替换性 D、易测试性
2:A、增强健壮性 B、信息隐蔽原则 C、良好的编程风格 D、高效的算法
3:A、高效的算法 B、信息隐蔽原则 C、增强健壮性 D、身份认证
4:A、正确性 B、准确性 C、可靠性 D、易使用性
5:A、安全性 B、适应性 C、灵活性 D、容错性
答案:A:④B:③C:②D:③E:①
20、在McCall质量度量模型中,对于以下软件质量概念的解释正确的是( )。
A、正确性。软件按照设计要求,在规定的时间和条件下不出故障且持续运行的程度
B、可靠性。软件满足设计规格说明及用户预期目标的程度
C、效率。为了完成预定功能,软件系统所需的计算机资源和程序代码数量的程度
D、完成性。用户熟悉、使用及准备输入和解释输出所需工作量的大小
E、可用性。对非授权人访问软件或数据行为的控制程度
答案:C
21、在软件开发中必须采取有力的措施以确保软件的质量,这些措施至少包括( )。
①在软件开发初期制定质量保证计划,并在开发过程中坚持执行
②开发工作严格按阶段进行,文档工作应在开发完成后集中进行
③严格执行阶段评审
④要求用户参与全部开发过程以监督开发质量
⑤开发前选定或制定开发标准或开发规范并遵照执行
第6章 软件编码 第 6 页 共 11 页
⑥争取足够的开发经费和开发人力的支持
A、①③⑤
B、①②④
C、全部
D、①③④⑤
答案:A
22、以下说法不正确的是( )。
A、MTTF是一个描述失效模型或一组失效特性的指标量
B、MTBF是指两次相继失效之间的平均时间
C、MTBF在实际使用时通常指当n很大时,系统第n次失效与第n+1次失效之间的平均时
间
D、对于失效率为常数和修复时间很短的情况,MTTF与MTBF差别很大
答案:D
23、提高软件质量和可靠性的技术大致可分为两类:其中一类是避开错误技术,但避开错
误技术无法做到完美无缺和绝无错误,这就需要( )技术。
A、消除错误
B、检测错误
C、避开错误
D、容错
答案:D
24、在软件开发和维护的过程中,为了定量地评价软件质量,必须对( )进行度量,以
测定软件具有要求质量特性的程度。
A、软件需求
B、软件质量特性
C、软件质量
D、软件特性
答案:C
25、设计高质量的软件是软件设计追求的重要目标。可移植性、可维护性、可靠性、效率、
可理解性和可使用性等都是评价软件质量的重要方面。
可移植性是反映出把一个原先在某种硬件或软件环境下正常运行的软件移植到另一个硬
件或软件环境下,使该软件也能正确地运行的难易程度。为了提高软件的可移植性,应注
意提高软件的(1)。
可维护性通常包括(2)。一般认为,软件维护工作包括改正性维护、(3)维护和(4)维护。
其中(3)维护则是为了扩充软件的功能或提高原有软件的性能而进行的维护活动。(5)是指
当系统万一遇到未预料的情况时,能够按照预定的方式作合适的处理。
供选择的答案:
1:A、使用方便性 B、简洁性 C、可靠性 D、设备不依赖性
2:A、可用性和可理解性 B、可修改性、数据独立性和数据一致性
C、可测试性和稳定性 D、可理解性、可修改性和可测试性
第6章 软件编码 第 7 页 共 11 页
3、4:
A、功能性 B、扩展性 C、合理性 D、完善性
⑤合法性 ⑥适应性
5:A、可用性 B、正确性 C、稳定性 D、健壮性
答案:D|D|D|F|D
26、为了提高软件的质量和效率,软件质量保证的主要任务有:力争不重复劳动,掌握开
发新软件的方法,用户要求定义,组织外部力量协作排除无效劳动,发挥每个开发者的能
力,提高软件开发的工程能力,提高( )。
A、开发方法
B、测试能力
C、计划和管理质量
D、测试和维护的效率
答案:C
27、软件或数据不受未授权人控制的程度,称为( )。
A、正确性
B、移植性
C、可行性
D、完整性
答案:A
28、程序能够按照要求的精确度实现其功能的程度,称为( )。
A、正确性
B、移植性
C、可靠性
D、完整性
答案:D
29、以下说法错误的是( )。
A、程序图描述了程序内部、外部的控制流程
B、程序图完全不表现对数据的具体操作以及分支和循环的具体条件
C、程序图往往把一个简单的IF语句与循环语句的复杂性看成是一样的
D、程序图往往把嵌套的IF语句与CASE语句的复杂性看成是一样的
答案:A
30、可被用于与其实现功能相关的其他应用问题的程序称为( )。
A、可重用性
B、可移植性
C、可互操作性
D、通信共用性
答案:A
第6章 软件编码 第 8 页 共 11 页
三、简答题(5小题)
1、程序设计风格是什么?
答案:程序设计风格一般是指人们编程的习惯特点。语养良好的设计风格可以使程序清晰
易读,减少错误,不但能提高软件开发效率,还能为以后的软件维护奠定良好的基础。
主要从以下方面注意编程风格。
(1)程序加注释:注释是编写者与读者之间沟通的手段之一,应该在每一个模块的开头加序
言性注释,在程序内部加功能性注释。
(2)变量、数据按意取名,增加可理解性;复杂的数据结构也应加注释。
(3)语句简单直接,内层要缩进,使用空格、空行以提高程序的清晰度。
(4)输入输出提示化、表格化、图形化。
2、什么是顺序设计风格?为了具有良好的设计风格,应注意哪些方面的问题?
答案:程序设计风格指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。良好的
编程风格可以减少编码的错误,减少读程序的时间,从而提高软件的开发效率。
为了具有良好的设计风格,应注意以下几个方面的问题:
(1)源程序文档化。
①标识符应按意取名。
②程序应加注释。
注释说明了程序的功能,特别在维护阶段,对理解程序提供了明确指导。注释分序言性注
释和功能性注释。
序言性注释应置于每个模块的起始部分,主要内容如下。
①说明每个模块的用途、功能。
②说明模块的接口:调用形式、多数描述及从属模块的清单。
③数据描述:重要数据的名称、用途、限制、约束及其他信息。
④开发历史:设计者、审阅者姓名及日期。
功能性注释嵌入在源程序内部,说明程序段或语句的功能以及数据的状态。注意以下几点:
①注释用来说明程序段,而不是每一行程序都要加注释。
②使用空行或缩格或括号,以便很容易区分注释和程序。
③修改程序也应该修改注释。
(2)数据说明。为了使数据定义更易于理解和维护,有以下指导原则:
①数据说明顺序应规范,使数据的属性更易于查找,从而有利于测试、纠错与维护。
②一个语句说明多个变量时,各变量名按字典顺序排列。
③对于复杂的数据结构,要加注释,说明在程序实现时的特点。
(3)语句构造。语句构造的原则是简单直接,使用规范的语言,在书写上要减少歧义。
为了便于阅读和理解,不要一行多个语句。不同层次的语句采用缩进形式,使程序的逻辑
结构和功能特征更加清晰。要避免复杂的判定条件、多重的循环嵌套。表达式中使用括号
以提高运算次序的清晰度等。
(4)输入和输出。在编写输入和输出程序时考虑以下原则:
①输入操作步骤和输出格式尽量简单。
②应检查输入数据的合法性、有效性,报告必要的输入状态信息及错误信息。
第6章 软件编码 第 9 页 共 11 页
③输入一批数据时,使用数据和文件结束标志,而不要计数来控制。
④交互式输入时,提供可用的选择和边界值。
⑤当程序设计语言有严格的要求时,应保持输入格式的一致性。
⑥输出数据表格化、图形化。
(5)效率。效率指处理时间和存储空间的使用,对效率的追求明确以下几点:
①效率是一个性能要求,目标在需求分析中给出。
②追求效率建立在不损害程序可读性和可靠性基础上,要先使程序正确、清晰,再提高程
序效率。
③提高程序效率的根本途径在于选择良好的数据结构与算法,而不是考编程时对语句作调
整。
总之,在编码阶段,要善于积累编程经验,培养和学习良好的编程风格,使编出的程序清
晰易懂,易于测试和维护,从而提高软件的质量。
3、说明McCall软件质量度量模型。
答案:McCall质量度量模型是McCall等人于1979年提出的软件质量模型。针对面向软件
产品的运行、修正、转移,软件质量概念包括11个特性,其定义如下:
(1)面向软件产品操作。
正确性:软件满足设计规格说明及用户预期目标的程度。
可靠性:软件按照设计要求,在规定时间和条件下不出故障、持续运行的程度。
效率:为了完成预定功能,软件系统所需的计算机资源和程序代码数量的程度。
完整性:对非授权人访问软件或数据行为的控制程度。
可使用性:用户熟悉、使用及准备输入和解释输出所需工作量的大小。
(2)面向软件产品修改。
可维护性:找到并改正程序中的一个错误所需代价的程度。
可测试性:测试软件以确保其能够执行预定功能所需工作量的程度。
灵活性:修改可运行程序所需要付出的努力。
(3)面向软件产品适应。
可移植性:将一个软件系统从一个计算机系统或环境移植到另一个计算机系统或环境
中运行时所需的工作量。
可重用性:一个软件(或软件的部件)能再次用于其他相关应用的程度。
连接性:将一个系统祸合到另一个系统所需的工作量。
通常对以上各个质量特性直接进行度量是很困难的,在有些情况下甚至是不可能的。因此,
McCall定义了一些评价准则,使用它们对反映质量特性的软件属性分级,以此来估计软件
质量特性的值。软件属性一般分级范围从0(最低)到10(最高)。主要评价准则定义如下:
可跟踪性:跟踪一个设计说明或一个实际程序部件到原始需求(可追溯)的能力。
完备性:所需功能实现的程度。
一致性:在整个软件开发项目中使用统一的设计和文档编制技术的程度。
安全性:防止软件受到意外的或蓄意的存取、使用、修改、毁坏,或防止失密的程度。
容错性:系统出错时,能以某种预定方式,作出适当处理,得以继续执行和恢复系统的能
力。它又称“精确性”。
第6章 软件编码 第 10 页 共 11 页
可审查性:检查与标准是否符合的难易程度。
可操作性:软件操作的难易程度。
可训练性:软件使新用户在使用该系统时的辅助程度。
简洁性:在不复杂、可理解的方式下,定义和实现软件功能的程度。
模块性:软件系统内部接口达到的高内聚、低祸合的程度。
自描述性:对软件功能进行自身说明的程度。
通用性:软件功能覆盖宽广的程度。
可扩充性:软件的体系结构、数据设计和过程设计的可扩充的程度。
硬件独立性:不依赖于某个特定设备及计算机而能工作的程度。
通信共用性:使用标准接口、协议和带宽的程度。
数据共用性:使用标准数据结构和数据类型的程度。
4、McCabe度量法的缺点是什么?
答案:McCabe度量法的缺点是:
(1)对于不同种类的控制流的复杂性不能区分。
(2)将简单IF语句与循环语句的复杂性同等看待。
(3)对于嵌套IF语句与简单CASE语句的复杂性是一样的。
(4)将模块间接口当成一个简单分支一样处理。
5、说明容错系统的设计过程。
答案:容错系统的设计过程包括以下设计步骤:
(1)按设计任务要求进行常规设计,尽量保证设计的正确。按常规设计得到非容错结构,
它是容错系统构成的基础。在结构冗余中,不论是主模块还是备用模块的设计和实现,都
要在费用许可的条件下,用调试的方法尽可能地提高可靠性。
(2)对可能出现的错误分类,确定实现容错的范围。对可能发生的错误进行正确的判断和
分类,例如,对于硬件的瞬时错误,可以采用指令复执和程序复算;对于永久错误,则需
要采用备用替换或者系统重构。对于软件来说,只有最大限度地弄清楚错误发生和暴露的
规律,才能正确地判断和分类,实现成功的容错。
(3)按照“成本一效率”的最优原则,选用某种冗余手段(结构、信息、时间)来实现对各
类错误的屏蔽。
(4)分析或验证上述冗余结构的容错效果。如果效果没有达到预期的程度,则应重新进行
冗余结构设计。如此反复,直到有一个满意的结果为止。
第6章 软件编码 第 11 页 共 11 页
版权声明:本文标题:第6章软件编码一、填空题(20小题)1、源程序中加注释是帮助理解程序 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1735628118a1682296.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论