为了复试_五套综合测试题的第五套

 

1、“软件危机”产生的主要原因是(A)。

   A.软件日益庞大               B。开发方法不当

   C.开发人员编写程序能力差     D。没有维护好软件

软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

经过阅读了其他的一些资料,总结两点,第一,B选项的开发方法不当,就是说开发方法错误,但其实是开发的技术不足,因为发展太快了。

其次的就是 软件的日益庞大,从软件危机的定义中也可以看出这句是对的。

 

 

2、软件工程学的一个重要目标是(D)。

   A.提高程序的执行效率         B。降低程序对存储空间的要求

   C.提高软件的可理解性         D。提高软件的可维护性

很重要的一句话,记清楚了

 

 

3、软件开发的成本大约占计算机系统总成本的(A)。

    A.80%                       B。50%

        C.40%                       D。20%

软件成本与硬件成本之和为计算机系统的总成本。

有些废话我就懒得去查资料了

 

 

4、编写程序的工作量通常占软件开发总工作量的(D)。

   A.80%                        B。60%

C.40%                         D.20%

这个20%真是记得很清楚啊

 

 

5、用于软件维护的费用会占到软件生命周期总费用的(B )。

    A.85%                         B。65%

C.35%                         D。25%

 

前面三道题,一个很高、一个很低,这个一般

 

 

7、在需求分析之前有必要进行(   )工作。

   A.程序设计                      B。可行性分析

   C,ER分析                       D。操作性

问题定义之后是可行性分析,再是需求分析。所以不要把自己搅晕了

 

 

8、可行性是系统方案实现的(B)。

   A.可能性                        B。必要性

   C.可能性和必要性                D。操作性

其实是这样的,我读了一些资料。方案的可能性就是只有没有实现的可能,比如有有个软件,需要花费很多很多钱才能实现,这时肯定有可能性,但是我们已经觉得没有必要了。

因此我们可以看出上述刚好符合 可行性研究中的经济可行性的研究。

那么为什么不选c呢。我也不知道。不过发现这套题,有点老。有些问题就得过且过吧

 

 

9、建立原型的目的不同,实现原型的途径也有所不同,下列不正确的类型是( B)。

   A.用于验证软件需求的原型        B。垂直原型

   C.用于验证设计方案的原型        D。用于演化出目标系统的原型

 

 

1.原型的分类

(1)按原型是否实现功能

①水平原型:也称行为原型,水平原型通常只是功能的导航,但并未真实实现功能。水平原型主要用在界面上。

②垂直原型:也称结构化原型,实现了部分功能。垂直原型主要用在复杂的算法实现上。

(2)按原型的最终结果

①抛弃型原型:也称探索型原型,是指达到预期目的后,原型本身被抛弃。抛弃型原型主要用在解决需求不确定性、二义性、不完整性、含糊性等。

②演化型原型:为增量开发品提供基础,是螺旋模型的一部分,也是面向对象软件开发过程的一部分。演化型原型主要用于必须易于升级和优化及适用于Web项目。

没办法,不是特别看的懂9题在叙述什么

只有抄一些相关内容和记答案了

 

 

11、程序流程图(框图)中的箭头代表(B)。

   A.数据流                        B。控制流

   C.测用关系                      D。组成关系

 

 

分析。基本思想是采用自顶向下,逐步分解的方法分析整个系统,有效地控制系统开发的复杂性。

 

 

 26. 模块间的信息可以作“控制信息”用,也可以作为( D )使用。 

A. 控制流 B. 数据结构

C. 控制结构D. 数据

 

 这不是废话吗我写了那么多的代码,这一点都不看出

 

 

27. 原型的使用和开发过程,叫做(B)。

A. 原型期                                 B. 原型生存期

C. 原型周期                               D. 以上说法都不对

 

 感觉是在考术语,就是有没有这个术语

 

 

28. 程序设计语言的工程特性其中之一表现在(   )。

A 软件的可重用性                          B. 数据结构的描述性

C. 抽象类型的描述性                        D. 数据库的易操作性

 

 

程序设计语言特性

    1. 心理特性
    (1)歧义性。
    (2)简洁性。
    (3)局部性和顺序性。
    (4)传统性。
    2. 工程特性
    (1)可移植性。
    (2)开发工具的可利用性。
    (3)软件的可重用性。
    (4)可维护性。
    3. 技术特性
    支持结构化构造的语言有利于减少程序环路的复杂性,使程序易测试、易维护。

 

 

30.在软件开发和维护的过程中,为了定量的评价软件质量,必须对软件特性进行(  )。

A. 测试  Β. 度量

C. 评审  D. 维护

请把意思读懂,是必须对软件特征进行度量,不是测试。

 

 

 

二 填空题

 

1. 软件工程要用科学的方法和原理进行 软件生产的管理

2.     增量模型是一种非整体开发的模型.软件在该模型中是“逐渐”开发出来的,开发出一部分,向用户展示一部分,可让用户及早看到部分软件,及早发现问题。或者先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。

3.     可行性研究的第一个具体步骤是 确定项目的规律和目标 。

4. 结构化分析方法是面向数据流进行需求分析的方法。

5. 在详细设计阶段,一种历史最悠久、使用最广泛的描述程序逻辑结构的工具是 程序流程图.

6. 在JSP方法中解决结构冲突的具体办法是     中间数据结构或中间文件          。

7. 运行被测试程序的方法称为   动态  测试

8. 为增加软件功能、提高软件运行效率而进行的维护活动称为   完善性维护     。

9. 软件开发项目生存期详细设计阶段应包括的文档是  详细设计说明书    。

10. 软件工具 是指为支持计算机软件的开发、维护、模拟、移植或管理而研制的程序系统

 

 

 

 三、名词解释

 

1. 需求分析: 需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义转换到相应的形式的功能规定(需求规格说明)的过程。

2. 数据流图 :简称DFD,是结构化分析方法中用于表示系统逻辑模型的一种工具,它以图形的方式描述数据在系统中处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。

3. 耦合性:也称块间联系.指软件系统结构中各模块相互联系紧密程序的一种度量.模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。

4.     对象:在应用领域中有意义的,与所要解决的问题有关系的任何事物都可以作为对象,它既可以是具体的物理实体的抽象,也可以是人为概念,或者是任何有明确边界和意义的东西

5. 软件的质量保证: 软件的质量保证就是向用户及 会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量的活动,即确定达到和维护需要的软件质量而进行的所有有计划,包括系统的管理活动。

 

四、简答题

 

1. 选择编写程序使用的程序设计语言时的主要准则是什么p>

 

 

为开发一个特定项目选择程序设计语言时,必须从技术特性、工程特性和心理特性几个方面考虑.在选择语言时,首先从问题入手,确定它的各种需求,所以要对各种要求进行权衡,比较各种可用语言的实用程度,最后选择认为是最实用的语言.通常,考虑选用语言的因素有:

(1) 项目的应用领域.这是选择语言的关键因素,项目应用领域一般为以下几种类型:

①科学工程计算.需要大量的标准库函数,以便处理复杂的数值计算,可供选用的语言有FORTRAIN语言、Pascal语言、PL/1。

②数据处理与数据库应用.可供选用的语言有:Cobol语言、SQL语言、第4代语言(4GL)③实时处理.实时处理软件一般对性能的要求很高,可选用的语言Ada语言。

④系统软件.编写操作系统.编译系统等系统软件时,可选用汇编语言、C语Pascal语言和Ada语言。

⑤人工智能。如果要完成知识库系统、专家系统、决策支持系统、推理工程、语言识别、模式识别、机器人视觉、自然语言处理等人工智能领域内的系统,应选择Prolog、Lisp语言。

(2)软件开发的方法。有时汇编语言的选择依赖与开发方法,如果要用快速原型模型来开发,要求能快速实现原型,因此宜采用4GL。如果是面向对象方法、宜采用面向对象的语言编程。近年来,推出了许多面向对象的语言,主要C++和Java等。

⑶软件执行的环境。良好的编程环境不但有效提高软件生产率,同时能减少错误,有效提高软件质量。

⑷算法和数据结构的复杂性。科学计算、实时处理和人工智能领域中的问题算法较复杂,而数据处理,数据库应用、系统软件领域的问题,数据结构比较复杂,因此选择语言时可考虑是否有完成复杂算法的能力,或者有构造复杂算法的能力。

⑸软件开发人员的知识。有时,编程语言选择与软件人员的知识水平和心理素质因素有关,新的语言虽然有吸引力,但软件开发人员若熟悉某种语言,而且有类似项目的开发经验,往往愿意选择原有的语言。开发人员应仔细分析软件项目的类型,敢于学习新知识,掌握新技术。

 

 

2. 简述面向对象的特性。

⑴对象唯一性。每对象都有自身唯一性的标志,通过这种标志,可以找到相应的对象。在对象的整个生命周期中,它的标志都不改变,不同的对象不能有相同的标志。在对象建立时,有系统授予新对象唯一的对象标志符,它在历史版本管理中又起巨大作用。

⑵分类性。分类性是指具有一致的数据结构(属性)和行为(操作)的对象抽象成类。每个类是具有相同性质的个体对象集合,而每个对象是相关类的实例。

⑶继承性。继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在已经存在的类的基础上来进行,把这个已经存在的类所定义的内容作为自己的内容,则称为多重继承。

⑷多态性(多形性)。多态性是指相同的操作数和函数、过程可用作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为动态性,如MOVE操作,可以是窗口对象是移动操作,也可以是国际象棋子移动的操作。

多态性允许每个对象以合自身的方式去影响共同的消息。这样就增强了操作的透明性,可理解性可维护性。用户不必为相同的功能操作但作用于不同类型的对象而费心去识别。

3. 白盒测试有哪些覆盖标准它们的检错能力进行比较。

白合法:又称结构测试或逻辑驱动测试。该方法是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。

覆盖技术:

1>语句覆盖。特点:选择足够多的测试数据,使被测程序中每个语句至少执行一次。最弱的逻辑覆盖准则。

2>判定覆盖。又称分支覆盖。覆盖不全,只覆盖了路径的一半。判定覆盖仍然很弱,但比语句覆盖强。

3>条件覆盖。使得判定表达式中每个条件的各种可能的值至少出现一次。强于判定覆盖。

4>判定/条件覆盖。使得判定表达式中的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。

5>条件组合覆盖。它是指设计足够的测试用例,使得每个判定表达式中条件的各种可能的值的组合都至少出现一次。满足条件组合覆盖的测试一定满足“判定覆盖”、“条件覆盖”和“判定/条件覆盖”,因为每个判定表达式、每个条件都不止一次地取到过“真”、“假”值。是比较强的覆盖标准。

6>点覆盖。使程序执行时至少经过程序图中每个节点一次。相当于语句覆盖。

7>边覆盖。使程序执行时至少经过程序图中每一个边一次。

8>>路径覆盖。覆盖被测程序中所有可能的路径。

 

为了复试_五套综合测试题的第五套
 

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览35208 人正在系统学习中 相关资源:西门子smart200PLC上升沿下降沿程序,可以无限使用边沿包含源码和…

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2013年2月10日
下一篇 2013年2月11日

相关推荐