软件工程导论试题

更新时间:2024-02-28 09:15:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

软件工程导论试题(老师给的)

一.选择

1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和 ( )。 A、详细计划

B、可行性分析

C、运行阶段

D、测试与排错

2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大 ( )。 A、详细设计阶段 B、概要设计阶段 标 ( )。 A、需求分析阶段

C、 需求分析阶段D、 测试和运行阶段

3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目

B、详细设计阶段 C、概要设计阶段 D、 可行性研究阶段

4、软件工程的出现主要是由于( )。

A.程序设计方法学的影响 B.其它工程科学的影响 C. 软件危机的出现 D.计算机的发展 5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是 ( )

A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境D、开发人员的素质 6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为 ( ) A、相互排斥

B、相互补充

C、独立使用

D、交替使用

7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( ) A、基于瀑布模型的结构化方法 C、基于对象的面向对象的方法 A、结构化方法 A、控制流

B、原型化方法 B、数据流

B、基于需求动态定义的原型化方法 D、基于数据的数据流开发方法

D、控制流方法

8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高( )

C、面向对象的方法 C、程序流

9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的 ( )

D、指令流

10、软件开发的结构化生命周期方法将软件生命周期划分成 ( ) A、 计划阶段、开发阶段、运行阶段 C、 总体设计、详细设计、编程调试 A、瀑布模型

B、对象模型

B、 计划阶段、编程阶段、测试阶段 D、需求分析、功能定义、系统设计

D、层次模型

11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为( )

C、螺旋模型

12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是 ( ) A、分析阶段 二.填空

21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( )情况。

22.成本效益分析的目的是从( )角度评价开发一个项目是否可行。

B、设计阶段

C、编码阶段

D、测试阶段

23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和( ) 。 24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条( )的边的路径。

25.汇编语言是面向( ) 的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。

26.在JSP方法中解决结构冲突的具体办法是( )。

27.详细设计的任务是确定每个模块的内部特性,即模块的算法、( )。 28.所有软件维护申请报告要按规定方式提出,该报告也称( )报告。 29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的( )技术。

30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:( )、PASCAL语言、C语言和PL/1语言。 三.判断

1.软件的开发与运行经常受到硬件的限制和制约。( ) 2.模块内的高内聚往往意味着模块间的松耦合。( ) 3.Jackson图只能表达程序结构,不能表达数据结构。( ) 上述数据流图表示数据A和B同时输入变换成C。( )

5.软件的质量好坏主要由验收人员负责,其他开发人员不必关心。( ) 6.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。( )

7.应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。( ) 8.UML只能应用于软件系统模型的建立。( ) 9.容错就是每个程序采用两种不同的算法编写。( ) 10.软件测试的目的是为了无一遗漏的找出所有的错误。( ) 四、名词解释题(本大题共5小题,每小题3分,共15分)

31.软件开发环境32.错误推测法33.黑盒测试法34.软件质量保证35.瀑布模型

五、图 a 中,模块 G 为判定,判断涉及到模块 B、F、G,请指出设计中的错误,再根据改进模块图的基本原则,画出 1~2 个改进方案(不改变模块 G 的判断关系),并说明是按照哪条基本原则进行改进的。

40.请使用PAD图和PDL语言描述在数组A(1)~A(10)中找最大数的算法。 41.根据下列条件使用等价类划分法设计测试用例。

某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065

42.某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中:

生产科的任务是:(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。(2)根据车间实际生产日报表、周报表调整月生产计划 (3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。 (4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间 技术科的任务是:

(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件外购需求计划给供应科,并产生产品自制物料清单。 厂。 试写出以上系统中生产科和技术科处理的软件结构图。

2009—2010学年第二学期期末考试试题 1. 软件危机具有下列表现( )。

I. 对软件开发成本估计不准确 II. 软件产品的质量往往靠不住 III. 软件常常不可维护 IV. 软件成本逐年上升

A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确

2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( )。A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段 3. 下列属于软件的特点的是( )。

A. 软件是一种逻辑实体,具有抽象性 B. 软件在使用过程中没有磨损、老化的问题 C. 软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高 D. 以上都正确 4. 软件工程的出现是由于( )。

A. 软件危机的出现 B. 计算机硬件技术的发展C. 软件社会化的需要 D. 计算机软件技术的发展

5. 软件开发技术不包含( )。

A. 软件开发方法学 B. 软件工程环境 C. 软件工具 D. 软件质量度度量 6. 软件工程的课程特点( )。

I. 学科理论及其知识应用的多维性 II. 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强

A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 7. 下列属于应用软件的是( )。

I. 计算机辅助教学软件 II. 软件测试工具 III. 办公自动化软件 IV. 工程与科学计算软件

A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 8. 需求分析阶段最重要的技术文档是( )。

A. 设计说明书 B. 需求规格说明书 C. 可行性分析报告 D. 用户手册 9. 以下关于数据流图的说法错误的是( )。

A. 数据流图舍去了具体的物质,只剩下数据的流动、加工处理和存储 B. 数据流图是用作结构化分析的一种工具

C. 传统的数据流图中主要由加工、数据源点/终点、数据流、控制流、数据存储组成 D. 数据流图的绘制采用自上向下、逐层分解的方法

10. 数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( )。 A. 数据库设计 B. 数据通信 C. 数据定义 D. 数据维护 11. 需求分析阶段的研究对象是( )。

A. 系统分析员要求 B. 用户要求 C. 软硬件要求 D. 系统要求 12. 结构化方法的基本原则是( )。

A. 模块化 B. 抽象与分解 C. 信息隐蔽 D. 逐步求精

13. 耦合度最高的是( )耦合。A. 环境 B. 内容 C. 控制 D. 数据 14. 内聚程度较低的是( )内聚。A. 偶然 B. 通讯 C. 顺序 D. 时间 15. 对一个程序来说,组成系统的模块数目( ),则开发成本越小。 A. 越多 B. 越少 C. 顺序 D. 时间 16. 画软件结构图时应注意调用关系只能是( )。

A. 从下到上 B. 从上到下 C. 从左到右 D. 从右到左 17. 程序流程图中的“→”代表( )。

A. 数据流 B. 控制流 C. 顺序流 D. 调用 18. DFD中的“→”代表( )。

A. 数据流 B. 文件 C. 处理 D. 控制流 19. DFD中的“○”代表( )。

A. 数据流 B. 文件 C. 处理 D. 控制流 20. DFD中的“_”代表( )。

A. 数据流 B. 文件 C. 处理 D. 控制流 1. 计算机软件不仅仅是程序,还应该有一整套 。 2. 传统的软件生存期模型是 。

3. 软件按照功能的不同可以划分为3大类型 、

和 。

4. DFD在软件工程中表示 。

5. 与 是模块独立性的两个定性标准,将软件系统划分模块时,尽

量做到 内聚、 耦合,提高模块的 ,为设计高质量的软件结构奠定基础。

6. 数据流图有四种基本成分: 、 、 、 。

7. 12. 数据字典有以下四类条目: 、 、 、 。

是组成数据流和数据存储的最小元素。

8. 某厂对部分职工重新分配工作的政策是:年龄有20岁以下者,初中文化程度脱产学习,

高中文化程度当电工;年龄有20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度者当技术员;年龄有40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用结构化语言、判定表或判定树描述上述问题的加工逻辑。

一、单项选择题

1. D 2. A 3. D4. D5. D6. D 7. B 8. B 9. C 10. C 11. B12. B13. B14. A15. C16. B17. B18. A 19.C20. B 二、填空题

1. 文档2. 瀑布模型3. 系统软件 支持软件 应用软件4. 数据流图 5. 耦合性 内聚性 高 低 独立性

6. 数据流 加工(又称为数据处理) 文件 数据的源点或终点 7. 数据流 数据项 文件 基本加工 数据项 三、简答题 答:(1)结构化语言。 IF 年龄<20

THEN IF 文化程度=初中 THEN 脱产学习 ELSE 工作为电工 ENDIF

ELSE IF 年龄≤40

THEN IF (文化程度=大学) THEN 工作为技术员 ELSE IF 性别=男性

THEN 工作为钳工 ELSE 工作为车工 ENDIF ENDIF

ELSE IF (文化程度=大学) THEN 工作为技术员 ELSE 工作为材料员 ENDIF ENDIF ENDIF

(2)判定树如下:

单项选择题(每小题1分,共10分)

在结构性的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标( A )

(A) 需求分析阶段 (B) 详细设计阶段(C) 概要设计阶段 (D) 可行性研究阶段 软件工程方法中普遍定义的方法之一是结构化生命周期方法(SLC方法),下述哪一个论述不具有SLC方法的主要特征( C ) A 严格定义需求 B 划分开发阶段 C 规范文档格式 D 分析控制流程

软件结构中两个模块之间有调用关系,传递简单数据值,相当于高级语言中的值传递,这

两个模块之间的耦合是( D ) (A)公共耦合 (B)控制耦合 (C)标记耦合 (D)数据耦合

软件维护的四类维护活动是( A )

(A) 改正性维护,适应性维护,完善性维护和预防性维护。 (B) 适应性维护,完善性维护,抢救性维护和辅助性维护。 (C) 改正性维护,适应性维护,完善性维护和辅助性维护。 (D) 适应性维护,完善性维护,抢救性维护和预防性维护。 主要从( A )几个方面进行系统可行性研究。 (A)技术可行性,经济可行性,操作可行性。(B)技术可行性,经济可行性,系统可行性。 (C)经济可行性,系统可行性,操作可行性。(D)经济可行性,系统可行性,时间可行性。 进行需求分析可使用多种工具,但( C )是不适用的。

(A)数据流图 (B)判定表 (C)PAD图 (D)数据字典

软件需求分析阶段的工作,可以分为四个方面:对问题的识别、分析与综合、编写需求分析文档以及( B )(A)软件的总结 (B)需求分析评审(C)阶段性报告 (D)以上答案都不对 OMT(Object Modelling Technique)方法的第一步是从问题的陈述入手,构造系统模型。系统模型由对象模型、( C )组成。

A静态模型和功能模型 B动态模型和过程模型C动态模型和功能模型 D静态模型和操作模型

为了表示项目管理功能工作中各项任务之间的进度衔接关系,常用的计划管理工具是( D )

(A) 程序结构图 (B) 数据流图 (C) E-R图 (D) 甘特(Gantt)图 判断题(每小题1分,共5分) 软件开发的主要任务是写程序。错 测试功能是否符合要求是白盒测试。错 流图中的区域数等于环形复杂度。对

扇出是一个模块直接控制(调用)的模块数目,扇出过大意味着模块过分复杂,需要控制和协调过多的下级模块。对

在面向对象程序中,使用继承机制是实现共享和提高重用程度的主要途径。对 简答题

简述需求分析的三个层次。

业务需求:反映了组织机构或客户对系统、产品高层次的目标要求。 用户需求: 文档描述了用户使用产品必须要完成的任务。

功能需求:定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。 软件测试中一般包含几个步骤?请分别加以说明。

制定测试计划 设计测试用例 执行测试 撰写测试报告 消除软件缺陷 完成 说出你所知道的两种估算软件规模的方法的名称,并说明他们的优缺点。(4分) 软件生命周期都包含哪些阶段,并简述每个阶段的基本任务(5分)

① 软件生命周期中所花费用最多的阶段是() A. 详细设计B.软件编码C.软件测试D.软件维护

②可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发 的决策依据,因必须给出()的回答。

A.确定B.行或不行C.正确D.无二义

③下列关于瀑布模型的描述正确的是()。

A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。 B. 瀑布模型具由于良好的灵活性。

C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。 D. 利用瀑布模型,如果发现问题则修改的代价很低。 ④ 详细设计的结果基本决定了最终程序的() A.代码的规模B.运行速度C.质量D.可维护性 ⑤ 结构化程序设计主要强调的是()

A. 程序的规模B. 程序的效率C. 程序设计语言的先进性D. 程序易读性 ⑥ 程序的三种基本控制结构是()

A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移 ⑦ 确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于() A、集成测试B、恢复测试C、验收测试D、单元测试

⑧ 面向对象技术中,对象是类的实例。对象有三种成份:()、属性和方法(或操作)。 A. 标识 B. 规则 C. 封装D. 消息

⑨ 下面关于面向对象方法中消息的叙述,不正确的是()。 A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息

B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息

D.发送与接收消息的通信机制与传统的子程序调用机制不同 ⑩ 面向对象程序设计中的数据隐藏指的是()。

A. 输入数据必须输入保密口令B.数据经过加密处理

C. 对象内部数据结构上建有防火墙D.对象内部数据结构的不可访问性 答案:①D ②B ③C ④C ⑤D ⑥B ⑦C ⑧A ⑨B ⑩D

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、只有一个入口和一个出口 6. 软件生产过程中,需求信息由( )给出。

A、程序员B、项目管理者C、软件分析设计人员D、软件用户 7.与设计测试数据无关的文档是( ).

A、需求说明书B、设计说明书C、源程序D、项目开发设计

8.结构化分析SA 方法以数据流图、( )和加工说明等描述工具,即用直观的图和简洁的语言来描述软系统模型。

A、DFD 图B、数据字典C、IPO 图D、PAD 图

9.面向数据流的软件设计方法,一般是把数据流图中数据流划分为(),再将数据流图映射为软件结构。

A、数据流和事务流B、交换流和事务流C、信息流和控制流D、交换流和数据流 10.总体设计的结果是提供一份( )。 A、模块说明书B、框图C、程序D、数据结构

1. C 2. A 3. C 4. B 5. D 6. D 7. D 8. B 9. B 10. A

1. 软件是( )。

A. 处理对象和处理规则的描述 B. 程序C. 程序及其文档 D. 计算机系统 2. 软件需求规格说明的内容不应包括( )。

A. 主要功能 B. 算法的详细描述C. 用户界面及运行环境 D. 软件的性能 3. 程序的三种基本控制结构是( )。

A. 过程、子程序和分程序 B. 顺序、选择和重复 C. 递归、迭代和回溯 D. 调用、返回和转移

4. 面向对象的分析方法主要是建立三类模型,即( )。

A) 系统模型、ER 模型、应用模型B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型 5. 在E-R 模型中,包含以下基本成分( )。 A) 数据、对象、实体B) 控制、联系、对象 C) 实体、联系、属性D) 实体、属性、操作 6. 各种软件维护的类型中最重要的是( )。

A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护 7.软件测试的目标是( )。

A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误 D. 与软件调试相同 8.软件生命周期中所花费用最多的阶段是( ) A.详细设计B.软件编码C.软件测试D.软件维护

9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从 输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是( ) A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法 10、详细设计的基本任务是确定每个模块的( )设计 A.功能B.调用关系C.输入输出数据D.算法

11.设函数C(X)定义问题X 的复杂程序,函数E(X)确定解决问题X 需要的工

作量(时间)。对于两个问题P1 和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得 出结论E(P1+P2)>E(P1)+E(P2)就是:( )

A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据 12.下面几种白箱测试技术,哪种是最强的覆盖准则( ) A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖 13.面向数据流的设计方法把( )映射成软件结构。 A.数据流B.系统结构C.控制结构D.信息流

14.内聚程度最低的是( )内聚 A.偶然B.过程C.顺序D.时间

15.确定测试计划是在( )阶段制定的. A.总体设计B.详细设计C.编码D.测试 16.需求分析的产品是( )

A.数据流程图案B.数据字典C.判定表D.需求规格说明书

17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( ) A.数据库设计B.数据通信C.数据定义D.数据维护

18.( )引入了“风险驱动”的思想,适用于大规模的内部开发项目。 A.增量模型B.喷泉模型C.原型模型D.螺旋模型 19.模块的内聚性最高的是( )

A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚 20.提高测试的有效性非常重要,成功的测试是指( )

A.证明了被测试程序正确无误B. 说明了被测试程序符合相应的要求 C.未发现被测程序的错误D.发现了至今为止尚未发现的错误__ 答案:1.C 2.B 3.B 4.D 5.C 6.A 7.B 8.D 9.C 10.D 11.A 12.D 13.A 14.A 15.A 16.D 17.C 18.D 19.D 20.D

简述软件测试的任务、目的与类型。

答:软件测试是一个为了寻找软件错误而运行程序的过程。

目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发现 的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。软件测试 主要分为白盒测试和黑盒测试两大类。 简述软件工程目标和面临的主要问题。

答:软件工程的目标是应用计算机科学、数学及管理科学等原理开发软件的工程。它采用经 过实践验证的工程的原则、方法,以提高质量,降低成本。

但是目前的软件开发面临着许多问题:(1)对软件开发成本和进度的估计常常很不准

确。(2)用户常对“已完成的”软件系统不满意。(3)软件产品的质量往往靠不住。 (4) 软件常常很难维护。(5)软件常常缺乏适当的文档资料。(6)软件开发生产率提高的 速度,远远跟不上计算机应用迅速普及深入的趋势。(7)软件成本在计算机系统总成本 中所占的比例逐年上升。

简述软件开发过程、每个里程碑的提交物。

答:软件开发的基本过程:(1)可行性研究,做初步的需求分析工作,决定项目可行与否

(2)软件需求分析,软件工程师必须了解软件的信息领域,以及需求的功能、行为、 性能和接口。系统需求和软件需求均需文档化,并与用户一起复审。并提交需求分析报 告。(3)设计,包括总体设计和详细设计,软件设计是一个多步骤的过程,主要是对 软件的数据结构、软件体系结构、界面表示及过程细节进行设计。设计过程将需求转换 为软件表示,在编码之前可以评估其质量,所有设计均要文档化,它是软件配置的重要 组成部分,经复审后提交相应的概要设计和详细设计报告。(4)编码,把设计转化为 机器可执行的程序。提交源程序清单。(5)测试,提交测试报告。(6)维护,提交维 护报告。

软件生命周期模型?瀑布模型?快速原型模型?

答;概括的说,软件生命周期模型由软件定义、软件开发和运行维护3个时期组成,每个时

期又进一步划分成若干个阶段。

软件生命周期模型有问题定义,可行性研究,需求分析,总体详细设计,总体编码和单元测试,综合测试,软件维护组

瀑布模型是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需 求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,如果有信息未被覆盖或 者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶 段“流动”到下一个阶段。

快速原型模型是在用户不能给出完整、准确的需求说明,或者开发者不能确定算法的有 效性、操作系统的适应性或人机交互的形式等许多情况下,可以根据用户的一组基本需 求,快速建造一个原型(可运行的软件),然后进行评估,进一步精化、调整原型,使其 满足用户的要求,也使开发者对将要做的事情有更好的理解。 软件?软件产品具有哪些特性?

答:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的

完整集合。

软件产品具有以下特性:1、非常复杂;2、成本高;3、风险大;4、维护困难; 可行性分析的目的和主要任务是什么?

答:可行性分析的目的不是解决问题,而是确定问题是否值得去解决。

主要任务是从下面几方面研究每种解法的可行性:技术可行性,经济可行性,操作可行 性,社会可行性,抉择可行性。 需求分析的目的和主要任务是什么?

答:进行需求分析是为了准确地回答“系统必须做什么”这个问题,决定可以做什么不做什

么。需求分析的主要任务是描述系统的功能需求、性能需求、数据需求、可靠性/可用 性需求、出错处理需求、接口需求、约束条件、其他需求。 总体设计的目的和主要任务是什么?

答:总体设计的目的是用比较抽象的方法确定系统概要地是如何实现的(How to do

generally !)。从初步的数据流图导出(设计出)软件结构;根据数据需求设计数据结构 (数据库结构、文件结构设计)。

主要任务是概括地说,如何解决这些问题,系统怎样实现? 划分系统的构成成分(黑盒子),如程序、文件、数据库、人工 操作等。

设计系统的软件结构,即构成模块。 详细设计的目的和主要任务是什么?

答:在总体设计的基础上,进一步确定软件怎样具体实现,经过这个阶段的设计工作,应该

得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设 计语言书写的程序。

主要任务包括人机界面设计、模块过程设计。 编码的目的和主要任务是什么?

答:把软件设计结果翻译成用某种程序设计语言书写的程序 软件测试的目的和主要任务是什么(G.J.Myers的观点)? 答:发现程序中的错误

软件维护的目的和主要任务是什么?维护的类型有哪些?

答:软件维护是软件生命周期中最后一个、持续时间最长的阶段。

主要任务是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件,

目的是提高软件的可靠性、可用性,延长软件的寿命。

维护的类型有:改正性(错误)、适应性(环境)、完善性(功能)、预防性(新产品) 什么是耦合?模块的耦合包括哪些类型?

答:耦合是对一个软件结构内不同模块之间互连程度的度量。

模块的耦合包括以下几种类型:数据耦合,控制耦合,特征耦合,公共环境耦合,内容 耦合,标记耦合,无耦合/非直接耦合 什么是内聚?模块的内聚包括哪些类型? 答:内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自

然扩展

模块的内聚包括以下几种类型:低内聚—偶然内聚,逻辑内聚,时间内聚 中内聚—过程内聚,通信内聚; 高内聚—顺序内聚,功能内聚 如何选择程序设计语言的工程特性

答:1.系统用户的要求2.可以使用的编译程序

3.可以得到的软件工具4.工程规模5.程序员的知识 6.软件可移植性的要求7.软件的应用领域 什么是编码风格?为什么要强调编码风格?

答:编码风格包括以下内容:程序内部良好的文档(注释)、数据说明、语句构造、输入输 出和效率保障等。

因为编码风格对软件的可读性、可维护性、可靠性、可用性很重要,所以要强调编码风

格。

一、 单选题

1. 在软件危机中表现出来的软件质量差的问题,其原因是____c___。 A. 软件研发人员素质太差 C. 没有软件质量标准 B. 用户经常干预软件系统的研发工作 D. 软件开发人员不遵守软件质量标准 2. 在软件质量因素中,软件在异常条件下仍能运行的能力成为软件的___b__。 A. 安全性 C. 可用性 B. 健壮性 D. 可靠性 3. 在下列测试技术中,_____d_不属于黑盒测试技术。 A. 等价划分 C. 错误推测 B. 边界值分析 D. 逻辑覆盖

4. 软件工程方法是在实践中不断发展着的方法,而早期的软件工程方法主要是指

__b____。 A. 原型化方法 C. 功能化方法 B. 结构化方法 D. 面向对象方法

5. ____c__是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界

是隐蔽的,外界只能通过有限的接口与对象发生联系。 A. 多态 C. 封装 B. 继承 D. 消息

6. Jackson方法是在软件开发过程中常用的方法,使用Jackson方法时可以实现

___a___。

A. 从数据结构导出程序结构 C. 从模块结构导出数据结构 B. 从数据流图导出初始结构图 D. 从模块结构导出程序结构 7. 软件测试时为了_____B___而执行程序的过程。 A. 纠正错误 B. 发现错误

C. 避免错误 D. 证明错误

8. 在软件系统中,一个模块应具有什么样的功能,这是由__B___决定的。 A. 总体设计 C. 详细设计 B. 需求分析 D. 程序设计 9. 面向对象分析是对系统进行___A_____的一种方法。 A. 需求分析 C. 设计评审 B. 程序设计 D. 测试验收 10. 软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而

且影响软件的__B_____。 A. 可理解性 C. 可扩展性 B. 可维护性 D. 可移植 11. 模块内聚度越高,说明模块内各成分彼此结合的程序越__B_____。 A. 松散 C. 无法判断 B. 紧密 D. 相等 12. 软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码、测试和维护

等阶段,一般认为可能占用人员最多的阶段是_____C___。 A. 分析阶段 C. 维护阶段 B. 设计阶段 D. 测试阶段 13. 常用的面向对象的软件过程模型是_____B__。 A. 瀑布模型 C. 原型模型 B. 喷泉模型 D. 增量模型 14. 面向对象的分析阶段建立的系统模型不包括___D_____。 A. 对象模型 C. 功能模型 B. 动态模型 D. 数据模型 15. 提高软件的可维护性可采用很多措施,下列哪个不在措施之列 A? A. 提供没有错误的程序 C. 改进程序文档质量 B. 建立质量保证制度 D. 明确软件质量标准 二、 填空题

1. 软件工程中的结构化分析SA是一种面向________的分析方法。 2. 软件模块独立性的两个定性度量标准是_________________。

3. 软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个________的过程。 4. ________和数据字典共同构成了系统的逻辑模型

5. ___________是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据

此导出测试用例。 三、 判断题

1. 软件工程学只有理论意义,没有实际用途。 ( F ) 2. 软件工程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。( F ) 3. 可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。 ( T ) 4. 代码审查方法没有计算机测试方法好。 ( F) 5. 验证软件需求的方法主要靠人工审查的方法。 ( T ) 6. 并发系统中遇到的一个主要问题是定时问题。 ( T ) 7. 编码风格由个人喜好决定,没有固定格式。 ( F ) 8. 面向对象建模得到的模型包含系统的3个要素,即静态结构、交互次序和数据变换

( T )

9. 软件重用是提高软件开发生产率和目标系统质量的重要途径。

( T ) 10. 判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。 ( T ) 11. Power Designer是一个CASE工具。

( T ) 12. 软件是指用程序设计语言(如Pascal,C,Visual Basic等)编写的程序,软件开

发实际上就是编写程序代码。( F ) 13. 在进行需求分析时需同时考虑维护问题。

( F ) 14. UML是一种面向对象的分析设计方法,即OOA/OOD方法。 ( F ) 15. 在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类

是生成对象的模板。( T) 四、 名词解释 1. 白盒测试 2. 模块化 3. 对象 五、 简答题

1. 简述软件测试的任务、目的与类型。 2. 简述结构化程序设计方法的基本要点 答案:

一、 单选题

1. C 2.B 3.D 4.B 5.C 6.A 7.B 8.B 9.A 10.B 11.B 12.C 13.B 14. D 15. A 二、 填空题 1. 数据流 3. 由下而上 5. 等价划分 2. 内聚性、耦合性 4. 数据流图 三、 判断题

1、× 2、× 3、√ 4、× 5、√ 6、√ 7、× 8、√ 9、√ 10、√ 11、√ 12、× 13、× 14、× 15、√ 四、 名词解释

1. 白盒测试——又叫做结构测试,把程序看成装在一个透明的白盒子里,按照程序内部的

逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。

2. 模块化——把程序划分成独立运行且可以独立访问的模块,每个模块完成一个子功能,

把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。

3. 对象——描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成

的统一体。 五、 简答题

1. 答:软件测试是一个为了寻找软件错误而运行程序的过程。目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。软件测试主要分为白盒测试和黑盒测试两大类。

2. 答:(1)采用自顶向下,逐步求精的程序设计方法。

(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环 (3)采用主程序员组的组织形式。 (4)采用单入口单出口的模块形式。

本文来源:https://www.bwwdw.com/article/4k4a.html

Top