第一篇:软件工程导论试题(打印)
软件工程导论试题(老师给的)
一.选择
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.成本效益分析的目的是从()角度评价开发一个项目是否可行。
23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和()。B、设计阶段
C、编码阶段
D、测试阶段 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. 在软件危机中表现出来的软件质量差的问题,其原因是_______。A. 软件研发人员素质太差 C. 没有软件质量标准 B. 用户经常干预软件系统的研发工作 D. 软件开发人员不遵守软件质量标准 2. 在软件质量因素中,软件在异常条件下仍能运行的能力成为软件的_____。A. 安全性 C. 可用性 B. 健壮性 D. 可靠性 3. 在下列测试技术中,______不属于黑盒测试技术。A. 等价划分 C. 错误推测,因果图,D. 逻辑覆盖 B. 边界值分析 综合策略
4. 软件工程方法是在实践中不断发展着的方法,而早期的软件工程方法主要是指______。A. 原型化方法 C. 功能化方法 B. 结构化方法 D. 面向对象方法
5. ______是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。A. 多态 C. 封装 B. 继承 D. 消息
6. Jackson方法是在软件开发过程中常用的方法,使用Jackson方法时可以实现______。A. 从数据结构导出程序结构 C. 从模块结构导出数据结构 B. 从数据流图导出初始结构图 D. 从模块结构导出程序结构 7. 软件测试时为了________而执行程序的过程。
A. 纠正错误 C. 避免错误 B. 发现错误 D. 证明错误
8. 在软件系统中,一个模块应具有什么样的功能,这是由_____决定的。A. 总体设计 C. 详细设计 B. 需求分析 D. 程序设计 9. 面向对象分析是对系统进行_________的一种方法。A. 需求分析 C. 设计评审 B. 程序设计 D. 测试验收 10. 软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影响软件的_______。A. 可理解性 C. 可扩展性 B. 可维护性 D. 可移植 11. 模块内聚度越高,说明模块内各成分彼此结合的程序越_______。A. 松散 C. 无法判断 B. 紧密 D. 相等 12. 软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码、测试和维护等阶段,一般认为可能占用人员最多的阶段是________。A. 分析阶段 C. 维护阶段 B. 设计阶段 D. 测试阶段 13. 常用的面向对象的软件过程模型是_______。A. 瀑布模型 C. 原型模型 B. 喷泉模型 D. 增量模型 14. 面向对象的分析阶段建立的系统模型不包括________。A. 对象模型 C. 功能模型 B. 动态模型 D. 数据模型 15. 提高软件的可维护性可采用很多措施,下列哪个不在措施之列? A. 提供没有错误的程序 C. 改进程序文档质量 B. 建立质量保证制度 D. 明确软件质量标准
二、填空题
1. 软件工程中的结构化分析SA是一种面向________的分析方法。2. 软件模块独立性的两个定性度量标准是_________________。
3. 软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个________的过程。4. ________和数据字典共同构成了系统的逻辑模型
5. ___________是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此导出测试用例。
三、判断题
1. 软件工程学只有理论意义,没有实际用途。()2. 软件工程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。()3. 可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。()4. 代码审查方法没有计算机测试方法好。()5. 验证软件需求的方法主要靠人工审查的方法。()6. 并发系统中遇到的一个主要问题是定时问题。()7. 编码风格由个人喜好决定,没有固定格式。()8. 面向对象建模得到的模型包含系统的3个要素,即静态结构、交互次序和数据变换()9. 软件重用是提高软件开发生产率和目标系统质量的重要途径。()10. 判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。()11. Power Designer是一个CASE工具。()12. 软件是指用程序设计语言(如Pascal,C,Visual Basic等)编写的程序,软件开发实际上就是编写程序代码。()13. 在进行需求分析时需同时考虑维护问题。()14. UML是一种面向对象的分析设计方法,即OOA/OOD方法。()15. 在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板。()
四、名词解释 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)采用单入口单出口的模块形式。
第二篇:软件工程导论试题
软件工程导论试题 一.选择
1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(C)。A、详细计划 B、可行性分析
C、运行阶段 D、测试与排错
2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C)。A、详细设计阶段 B、概要设计阶段 C、需求分析阶段 D、测试和运行阶段
3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A)。
A、需求分析阶段 B、详细设计阶段 C、概要设计阶段 D、可行性研究阶段
4、软件工程的出现主要是由于(C)。
A.程序设计方法学的影响 B.其它工程科学的影响 C.软件危机的出现 D.计算机的发展
5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C)A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质
6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)A、相互排斥 B、相互补充
C、独立使用 D、交替使用
7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A、基于瀑布模型的结构化方法 B、基于需求动态定义的原型化方法 C、基于对象的面向对象的方法 D、基于数据的数据流开发方法
8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)A、结构化方法 B、原型化方法 C、面向对象的方法 D、控制流方法
9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B)A、控制流 B、数据流 C、程序流 D、指令流
10、软件开发的结构化生命周期方法将软件生命周期划分成(A)A、计划阶段、开发阶段、运行阶段 B、计划阶段、编程阶段、测试阶段 C、总体设计、详细设计、编程调试 D、需求分析、功能定义、系统设计
11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A)A、瀑布模型 B、对象模型 C、螺旋模型 D、层次模型
12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)A、分析阶段 B、设计阶段 C、编码阶段 D、测试阶段 二.填空
21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。
[解析]系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况。
22.成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。
[解析]成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行。23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和(宽度优先策略)。
[解析]渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块。它从主控模块开始,按照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。
24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。
[解析]在基本路径测试中,以详细设计或源程序为基础,导出控制流程图的拓扑结构——程序图,在计算了程序图的环路复杂性之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。
25.汇编语言是面向(机器)的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。
[解析]汇编语言属于低级语言,是一种面向机器的语言,它与高级语言相比有许多优越性:如操作灵活,可以直接作用到硬件的最下层,完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制硬件设备的唯一语言。
26.在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。
[解析]JSP方法是面向数据结构的设计方法。它定义了一组以数据结构为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,在JSP方法中解决结构冲突的具体办法是引入中间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。
27.详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。
[解析]详细设计的基本任务是为每个模块进行详细的算法设计,为模块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算法和使用的数据。对数据库进行物理设计等。
28.所有软件维护申请报告要按规定方式提出,该报告也称(软件问题)报告。
[解析]在软件维护的流程中,第一步就是制定维护申请报告,也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。
29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的(维护支援)技术。
[解析]面向维护的技术涉及软件开发的所有阶段,能够减少软件错误,提高软件的可维护性。而维护支援技术则包含信息收集,错误原因分析,维护方案评价等项,是在软件维护阶段用来提高维护效率和质量的技术。
30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:(FORTRAN语言)、PASCAL语言、C语言和PL/1语言。
[解析]计算机语言根据不同行业的需求,使用的侧重点也不尽相同,在办公管理方面,一些数据库语言如FOXPRO、ORICAL有很多的应用,在工程行业,计算机语言的科学计算能力就显得格外重要,如MATLAB、PL/
1、FORTRAN语言都是工程计算中常用的语言。三.判断
1.软件的开发与运行经常受到硬件的限制和制约。(√)
2.模块内的高内聚往往意味着模块间的松耦合。(√)
3.Jackson图只能表达程序结构,不能表达数据结构。(X)
上述数据流图表示数据A和B同时输入变换成C。(X)
5.软件的质量好坏主要由验收人员负责,其他开发人员不必关心。(X)
6.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。(√)
7.应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。(X)
8.UML只能应用于软件系统模型的建立。(X)
9.容错就是每个程序采用两种不同的算法编写。(X)
10.软件测试的目的是为了无一遗漏的找出所有的错误。(X)
四、名词解释题(本大题共5小题,每小题3分,共15分)
31.软件开发环境
32.错误推测法
33.黑盒测试法
34.软件质量保证
35.瀑布模型 31.经济可行性
解:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。
[解析]对于一个系统所必须要衡量的是经济上是否合算,经济可行性的范围很广,包括效益分析、潜在市场前景等。
32.社会可行性
解:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。
[解析]社会可行性包括合同、责任、侵权等技术人员不甚了解的诸多问题。
33.投资回收期
解:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。
[解析]通常我们用投资回收期来衡量一个开发项目的价值,投资回收期越短,就越快获得利润。
34.对应关系
解:即有直接因果关系在程序中可以同时处理。
[解析]对应关系是指数据单元在数据内容上、数量上和顺序上有直接的因果关系,对于重复的数据单元,重复的次序和次数都相同才有对应关系。
35.结构冲突
解:输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。
[解析]使用JSP方法时会遇到此类结构冲突问题,对此,Jackson提出了引入中间数据结构或中间文件的办法,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。
五、图 a 中,模块 G 为判定,判断涉及到模块 B、F、G,请指出设计中的错误,再根据 改进模 块图的基本原则,画出 1~2 个改进方案(不改变模块 G 的判断关系),并说明是按照
哪条基本 原则进行改进的。
解:图 b 为一个改进方案,将模块 G 的位置提高,使其作用范围为控制范围的子集,减 少模块 之间的联系。
40.请使用PAD图和PDL语言描述在数组A(1)~A(10)中找最大数的算法。
解:PDL语言:
N=1
WHILE N<=10 DO
IF A(N)<=A(N+1)MAX =A(N+1);
ELSE MAX =A(N)ENDIF;
N=N+1;
ENDWHILE;
PAD图:
[解析]人工查找时,是从第一个元素开始查找,用当前元素与下一个元素比较,将较大者作为当前元素又与下一元素比较,如此循环,直到数组末尾。
41.根据下列条件使用等价类划分法设计测试用例。
某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065
解:(1)划分等价类并编号,如下表示:(4分)
(2)为合理等价类设计测试用例,表中有两个合理等价类,设计两个例子(2分)
(3)为不合理等价类测试用例,至少设计一个测试用例(2分)
[解析]等价类划分属于黑盒测试的一种,它将输入数据域按有效的或无效的划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测试,这样用少量有代表性的例子代替大量测试目的相同的例子,可以有效提高测试效率。本题划分了3个合理等价类,9个不合理等价类进行测试,取到了预期的效果。
42.某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中:
生产科的任务是:
(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。
(2)根据车间实际生产日报表、周报表调整月生产计划
(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。
(4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间
技术科的任务是:
(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。
(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。试写出以上系统中生产科和技术科处理的软件结构图。
解:
画出生产科图的给6分,画出技术科的给4分。
[解析]软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系,软件结构往往用树状或网状结构的图形来表示,其主要内容有模块及模块的控制关系,根据题意,可绘制出生产科和技术科的软件结构图,其中生产科的结构图深度和宽度均为4,技术科的结构图的深度和宽度均为3。
一、判断题(每题2分,共30分)
1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(对)
2.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(错)
3.JAVA语言编译器是一个CASE工具。(对)。
4.软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是
编写程序代码。(错)
5.软件模块之间的耦合性越弱越发。(对)6.数据库设计说明书是一个软件配置项(对)
7.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模
板。(错)
8.过程描述语言可以用于描述软件的系统结构。(错)
9.如果通过软件测试没有发现错误,则说明软件是正确的。(错)
10.快速原型模型可以有效地适应用户需求的动态变化。(对)
11.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。
(对)
12.集成测试主要由用户来完成。(错)
13.确认测试计划应该在可行性研究阶段制定(错)
14.白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(错)
15.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(对)
二。单选题(每题2分,共20分)1.瀑布模型的关键不足在于(2)
(1)过于简单(2)不能适应需求的动态变更(3)过于灵活(4)各个阶段需要进行评审
2.在面向对象软件开发方法中,类与类之间主要有以下结构关系(1)
(1)继承和聚集(2)继承和一般(3)聚集和消息传递(4)继承和方法调用
3.以下哪一项不是软件危机的表现形式(3)
(1)成本高(2)生产率低(3)技术发展快(4)质量得不到保证
4.以下哪一项不是面向对象的特征(4)
(1)多态性(2)继承性(3)封装性(4)过程调用
5.面向对象模型主要由以下哪些模型组成(1)
(1)对象模型、动态模型、功能模型(2)对象模型、数据模型、功能模型(3)数据模型、动态模型、功能模型(4)对象模型、动态模型、数据模型
6.软件可行性研究一般不考虑(4)
(1)是否有足够的人员和相关的技术来支持系统开发(2)是否有足够的工具和相关的技术来支持系统开发(3)待开发软件是否有市场、经济上是否合算(4)待开发的软件是否会有质量问题
7.软件维护的副作用主要有以下哪几种(3)
(1)编码副作用、数据副作用、测试副作用(2)编码副作用、数据副作用、调试副作用(3)编码副作用、数据副作用、文档副作用(4)编码副作用、文档副作用、测试副作用
8.软件项目计划一般不包括以下哪项内容(4)
(1)培训计划(2)人员安排(3)进度安排(4)软件开发标准的选择和制定
9.以下哪一项不属于面向对象的软件开发方法(3)
(1)coad方法(2)booch方法(3)jackson方法(4)omt方法
10.以下哪种测试方法不属于白盒测试技术(2)
(1)基本路径测试(2)边界值分析测试(3)循环覆盖测试(4)逻辑覆盖测试
第三篇:软件工程导论试题
软件工程导论试题
一.选择
1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(C)。A、详细计划 B、可行性分析
C、运行阶段 D、测试与排错
2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C)。A、详细设计阶段 B、概要设计阶段
C、需求分析阶段 D、测试和运行阶段
3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A)。
A、需求分析阶段 B、详细设计阶段
C、概要设计阶段 D、可行性研究阶段
4、软件工程的出现主要是由于(C)。
A.程序设计方法学的影响 B.其它工程科学的影响
C.软件危机的出现 D.计算机的发展
5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C)A、硬件环境 B、软件开发的环境
C、软件开发工具和软件开发的环境 D、开发人员的素质
6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)A、相互排斥 B、相互补充
C、独立使用 D、交替使用
7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A、基于瀑布模型的结构化方法 B、基于需求动态定义的原型化方法 C、基于对象的面向对象的方法 D、基于数据的数据流开发方法
8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)A、结构化方法 B、原型化方法 C、面向对象的方法 D、控制流方法
9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B)A、控制流 B、数据流 C、程序流 D、指令流
10、软件开发的结构化生命周期方法将软件生命周期划分成(A)A、计划阶段、开发阶段、运行阶段 B、计划阶段、编程阶段、测试阶段 C、总体设计、详细设计、编程调试 D、需求分析、功能定义、系统设计
11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A)A、瀑布模型 B、对象模型 C、螺旋模型 D、层次模型
12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)A、分析阶段 B、设计阶段 C、编码阶段 D、测试阶段 二.填空
21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。
[解析]系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况。
22.成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。
[解析]成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行。23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和(宽度优先策略)。
[解析]渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块。它从主控模块开始,按照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。
24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。
[解析]在基本路径测试中,以详细设计或源程序为基础,导出控制流程图的拓扑结构——程序图,在计算了程序图的环路复杂性之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。
25.汇编语言是面向(机器)的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。
[解析]汇编语言属于低级语言,是一种面向机器的语言,它与高级语言相比有许多优越性:如操作灵活,可以直接作用到硬件的最下层,完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制硬件设备的唯一语言。
26.在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。
[解析]JSP方法是面向数据结构的设计方法。它定义了一组以数据结构为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,在JSP方法中解决结构冲突的具体办法是引入中间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。
27.详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。
[解析]详细设计的基本任务是为每个模块进行详细的算法设计,为模块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算法和使用的数据。对数据库进行物理设计等。
28.所有软件维护申请报告要按规定方式提出,该报告也称(软件问题)报告。
[解析]在软件维护的流程中,第一步就是制定维护申请报告,也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。
29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的(维护支援)技术。
[解析]面向维护的技术涉及软件开发的所有阶段,能够减少软件错误,提高软件的可维护性。而维护支援技术则包含信息收集,错误原因分析,维护方案评价等项,是在软件维护阶段用来提高维护效率和质量的技术。
30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:(FORTRAN语言)、PASCAL语言、C语言和PL/1语言。
[解析]计算机语言根据不同行业的需求,使用的侧重点也不尽相同,在办公管理方面,一些数据库语言如FOXPRO、ORICAL有很多的应用,在工程行业,计算机语言的科学计算能力就显得格外重要,如MATLAB、PL/
1、FORTRAN语言都是工程计算中常用的语言。三.判断
1.软件的开发与运行经常受到硬件的限制和制约。(√)
2.模块内的高内聚往往意味着模块间的松耦合。(√)3.Jackson图只能表达程序结构,不能表达数据结构。(X)
上述数据流图表示数据A和B同时输入变换成C。(X)
5.软件的质量好坏主要由验收人员负责,其他开发人员不必关心。(X)
6.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。(√)
7.应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。(X)
8.UML只能应用于软件系统模型的建立。(X)
9.容错就是每个程序采用两种不同的算法编写。(X)
10.软件测试的目的是为了无一遗漏的找出所有的错误。(X)
四、名词解释题(本大题共5小题,每小题3分,共15分)
31.软件开发环境
32.错误推测法
33.黑盒测试法
34.软件质量保证
35.瀑布模型 31.经济可行性
解:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。
[解析]对于一个系统所必须要衡量的是经济上是否合算,经济可行性的范围很广,包括效益分析、潜在市场前景等。
32.社会可行性
解:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。
[解析]社会可行性包括合同、责任、侵权等技术人员不甚了解的诸多问题。
33.投资回收期
解:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。
[解析]通常我们用投资回收期来衡量一个开发项目的价值,投资回收期越短,就越快获得利润。
34.对应关系
解:即有直接因果关系在程序中可以同时处理。
[解析]对应关系是指数据单元在数据内容上、数量上和顺序上有直接的因果关系,对于重复的数据单元,重复的次序和次数都相同才有对应关系。
35.结构冲突
解:输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。
[解析]使用JSP方法时会遇到此类结构冲突问题,对此,Jackson提出了引入中间数据结构或中间文件的办法,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。
五、图 a 中,模块 G 为判定,判断涉及到模块 B、F、G,请指出设计中的错误,再根据 改进模 块图的基本原则,画出 1~2 个改进方案(不改变模块 G 的判断关系),并说明是按照
哪条基本 原则进行改进的。
解:图 b 为一个改进方案,将模块 G 的位置提高,使其作用范围为控制范围的子集,减 少模块 之间的联系。
40.请使用PAD图和PDL语言描述在数组A(1)~A(10)中找最大数的算法。
解:PDL语言:
N=1
WHILE N<=10 DO
IF A(N)<=A(N+1)MAX =A(N+1);
ELSE MAX =A(N)ENDIF;
N=N+1;
ENDWHILE;
PAD图:
[解析]人工查找时,是从第一个元素开始查找,用当前元素与下一个元素比较,将较大者作为当前元素又与下一元素比较,如此循环,直到数组末尾。
41.根据下列条件使用等价类划分法设计测试用例。
某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065
解:(1)划分等价类并编号,如下表示:(4分)
(2)为合理等价类设计测试用例,表中有两个合理等价类,设计两个例子(2分)
(3)为不合理等价类测试用例,至少设计一个测试用例(2分)
[解析]等价类划分属于黑盒测试的一种,它将输入数据域按有效的或无效的划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测试,这样用少量有代表性的例子代替大量测试目的相同的例子,可以有效提高测试效率。本题划分了3个合理等价类,9个不合理等价类进行测试,取到了预期的效果。
42.某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中:
生产科的任务是:
(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。
(2)根据车间实际生产日报表、周报表调整月生产计划
(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。
(4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间
技术科的任务是:
(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。
(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。试写出以上系统中生产科和技术科处理的软件结构图。
解:
画出生产科图的给6分,画出技术科的给4分。
[解析]软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系,软件结构往往用树状或网状结构的图形来表示,其主要内容有模块及模块的控制关系,根据题意,可绘制出生产科和技术科的软件结构图,其中生产科的结构图深度和宽度均为4,技术科的结构图的深度和宽度均为3。
第四篇:软件工程导论期末试题
软件工程导论期末考试试题
一.选择(20分)
1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(C)。A、详细计划 B、可行性分析
C、运行阶段 D、测试与排错
2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C)。A、详细设计阶段 B、概要设计阶段
C、需求分析阶段 D、测试和运行阶段
3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A)。
A、需求分析阶段 B、详细设计阶段
C、概要设计阶段 D、可行性研究阶段
4、软件工程的出现主要是由于(C)。
A.程序设计方法学的影响 B.其它工程科学的影响
C.软件危机的出现 D.计算机的发展
5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C)A、硬件环境 B、软件开发的环境
C、软件开发工具和软件开发的环境 D、开发人员的素质
6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)A、相互排斥 B、相互补充
C、独立使用 D、交替使用
7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A、基于瀑布模型的结构化方法 B、基于需求动态定义的原型化方法 C、基于对象的面向对象的方法 D、基于数据的数据流开发方法
8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)A、结构化方法 B、原型化方法 C、面向对象的方法 D、控制流方法
9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B)A、控制流 B、数据流 C、程序流 D、指令流
10、软件开发的结构化生命周期方法将软件生命周期划分成(A)A、计划阶段、开发阶段、运行阶段 B、计划阶段、编程阶段、测试阶段 C、总体设计、详细设计、编程调试 D、需求分析、功能定义、系统设计
二.填空(20分)
21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。
22.成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和(宽度优先策略)。
24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。
25.汇编语言是面向(机器)的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。
26.在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。27.详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。
28.所有软件维护申请报告要按规定方式提出,该报告也称(软件问题)报告。
29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的(维护支援)技术。30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:(FORTRAN语言)、PASCAL语言、C语言和PL/1语言。三.判断(10分)1.软件的开发与运行经常受到硬件的限制和制约。(√)
2.模块内的高内聚往往意味着模块间的松耦合。(√)
3.Jackson图只能表达程序结构,不能表达数据结构。(X)
上述数据流图表示数据A和B同时输入变换成C。(X)
5.软件的质量好坏主要由验收人员负责,其他开发人员不必关心。(X)
6.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。(√)
7.应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。(X)
8.UML只能应用于软件系统模型的建立。(X)
9.容错就是每个程序采用两种不同的算法编写。(X)
10.软件测试的目的是为了无一遗漏的找出所有的错误。(X)
四、名词解释题(本大题共5小题,每小题3分,共15分)31.经济可行性
解:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。32.社会可行性
解:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。
33.投资回收期
解:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。
34.对应关系
解:即有直接因果关系在程序中可以同时处理。35.结构冲突
解:输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。
五、简答题(本大题共5小题,每小题3分,共15分)
1、软件维护的目的和主要任务是什么?维护的类型有哪些?
答:软件维护是软件生命周期中最后一个、持续时间最长的阶段。
主要任务是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件,目的是提高软件的可靠性、可用性,延长软件的寿命。维护的类型有:改正性(错误)、适应性(环境)、完善性(功能)、预防性(新产品)
2、什么是耦合?模块的耦合包括哪些类型?
答:耦合是对一个软件结构内不同模块之间互连程度的度量。
模块的耦合包括以下几种类型:数据耦合,控制耦合,特征耦合,公共环境耦合,内容
耦合,标记耦合,无耦合/非直接耦合
3、什么是内聚?模块的内聚包括哪些类型? 答:内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐蔽和局部化概念的自
然扩展
模块的内聚包括以下几种类型:低内聚—偶然内聚,逻辑内聚,时间内聚
中内聚—过程内聚,通信内聚; 高内聚—顺序内聚,功能内聚
4、如何选择程序设计语言的工程特性
答:1.系统用户的要求2.可以使用的编译程序
3.可以得到的软件工具4.工程规模5.程序员的知识 6.软件可移植性的要求7.软件的应用领域
5、什么是编码风格?为什么要强调编码风格? 答:编码风格包括以下内容:程序内部良好的文档(注释)、数据说明、语句构造、输入输
出和效率保障等。
因为编码风格对软件的可读性、可维护性、可靠性、可用性很重要,所以要强调编码风
格。
六、综合题(20分)
1、某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中: 生产科的任务是:
(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。
(2)根据车间实际生产日报表、周报表调整月生产计划
(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。
(4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间
技术科的任务是:
(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。
(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。试写出以上系统中生产科和技术科处理的软件结构图。
解:
画出生产科图的给6分,画出技术科的给4分。
第五篇:软件工程导论试题(打印)
软件工程导论试题(老师给的)
一.选择
1、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(C)。
A、详细计划 B、可行性分析
C、运行阶段
D、测试与排错
2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C)。
A、详细设计阶段 B、概要设计阶段
C、需求分析阶段D、测试和运行阶段
3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A)。
A、需求分析阶段 B、详细设计阶段 C、概要设计阶段
D、可行性研究阶段
4、软件工程的出现主要是由于(C)。
A.程序设计方法学的影响
B.其它工程科学的影响 C.软件危机的出现 D.计算机的发展
5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C)A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境D、开发人员的素质
6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)A、相互排斥 B、相互补充
C、独立使用
D、交替使用
7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A、基于瀑布模型的结构化方法 C、基于对象的面向对象的方法
B、基于需求动态定义的原型化方法
D、基于数据的数据流开发方法
8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)A、结构化方法 B、原型化方法
C、面向对象的方法 D、控制流方法
9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B)A、控制流 B、数据流
C、程序流
D、指令流
10、软件开发的结构化生命周期方法将软件生命周期划分成(A)A、计划阶段、开发阶段、运行阶段
B、计划阶段、编程阶段、测试阶段 C、总体设计、详细设计、编程调试 D、需求分析、功能定义、系统设计
11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A)A、瀑布模型 B、对象模型
C、螺旋模型
D、层次模型
12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)A、分析阶段 二.填空
21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。
[解析]系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况。
22.成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。
[解析]成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行。
23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和(宽度优先策略)。[解析]渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块。它从主控模块开始,按照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。
24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。
[解析]在基本路径测试中,以详细设计或源程序为基础,导出控制流程图的拓扑结构——程序图,在计算了程序图的环路复杂性之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。
25.汇编语言是面向(机器)的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。B、设计阶段
C、编码阶段
D、测试阶段 [解析]汇编语言属于低级语言,是一种面向机器的语言,它与高级语言相比有许多优越性:如操作灵活,可以直接作用到硬件的最下层,完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制硬件设备的唯一语言。26.在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。
[解析]JSP方法是面向数据结构的设计方法。它定义了一组以数据结构为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,在JSP方法中解决结构冲突的具体办法是引入中间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。27.详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。
[解析]详细设计的基本任务是为每个模块进行详细的算法设计,为模块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算法和使用的数据。对数据库进行物理设计等。
28.所有软件维护申请报告要按规定方式提出,该报告也称(软件问题)报告。
[解析]在软件维护的流程中,第一步就是制定维护申请报告,也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。
29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的(维护支援)技术。
[解析]面向维护的技术涉及软件开发的所有阶段,能够减少软件错误,提高软件的可维护性。而维护支援技术则包含信息收集,错误原因分析,维护方案评价等项,是在软件维护阶段用来提高维护效率和质量的技术。
30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:(FORTRAN语言)、PASCAL语言、C语言和PL/1语言。
[解析]计算机语言根据不同行业的需求,使用的侧重点也不尽相同,在办公管理方面,一些数据库语言如FOXPRO、ORICAL有很多的应用,在工程行业,计算机语言的科学计算能力就显得格外重要,如MATLAB、PL/
1、FORTRAN语言都是工程计算中常用的语言。三.判断
1.软件的开发与运行经常受到硬件的限制和制约。(√)2.模块内的高内聚往往意味着模块间的松耦合。(√)3.Jackson图只能表达程序结构,不能表达数据结构。(X)4.上述数据流图表示数据A和B同时输入变换成C。(X)5.软件的质量好坏主要由验收人员负责,其他开发人员不必关心。(X)6.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。(√)7.应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。(X)8.UML只能应用于软件系统模型的建立。(X)9.容错就是每个程序采用两种不同的算法编写。(X)10.软件测试的目的是为了无一遗漏的找出所有的错误。(X)
四、名词解释题(本大题共5小题,每小题3分,共15分)31.软件开发环境---是指在计算机的基本软件的基础上,为了支持软件的开发而提供的一组工具软件系统。
32.错误推测法---在测试程序时,人们可能根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。
33.黑盒测试法
把测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求 34.软件质量保证
是向用户及社会提供满意质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动 35.瀑布模型
将软件生存周期各个活动规定为依线性顺序链接的若干阶段的一种软件开发模型。瀑布模型把软件生命周期划分为八个阶段:【问题的定义】、【可行性研究】、【软件需求分析】、【系统总体设计】、【详细设计】、【编码】、【测试和运行】、【维护】
八个阶段又可归纳为三个大的阶段:【计划阶段】、【开发阶段】和【运行阶段】
五、图 a 中,模块 G 为判定,判断涉及到模块 B、F、G,请指出设计中的错误,再根据改进模块图的基本原则,画出 1~2 个改进方案(不改变模块 G 的判断关系),并说明是按照哪条基本原则进行改进的。
解:图 b 为一个改进方案,将模块 G 的位置提高,使其作用范围为控制范围的子集,减少模块 之间的联系。
40.请使用PAD图和PDL语言描述在数组A(1)~A(10)中找最大数的算法。解:PDL语言:
N=1
WHILE N<=10 DO
IF A(N)<=A(N+1)MAX =A(N+1);
ELSE MAX =A(N)ENDIF;
N=N+1;
ENDWHILE;
PAD图:
[解析]人工查找时,是从第一个元素开始查找,用当前元素与下一个元素比较,将较大者作为当前元素又与下一元素比较,如此循环,直到数组末尾。
41.根据下列条件使用等价类划分法设计测试用例。
某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065
解:(1)划分等价类并编号,如下表示:(4分)
(2)为合理等价类设计测试用例,表中有两个合理等价类,设计两个例子(2分)
(3)为不合理等价类测试用例,至少设计一个测试用例(2分)
[解析]等价类划分属于黑盒测试的一种,它将输入数据域按有效的或无效的划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测试,这样用少量有代表性的例子代替大量测试目的相同的例子,可以有效提高测试效率。本题划分了3个合理等价类,9个不合理等价类进行测试,取到了预期的效果。
42.某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中: 生产科的任务是:(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。(2)根据车间实际生产日报表、周报表调整月生产计划
(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。(4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间 技术科的任务是:(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。试写出以上系统中生产科和技术科处理的软件结构图。
解:
画出生产科图的给6分,画出技术科的给4分。
[解析]软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系,软件结构往往用树状或网状结构的图形来表示,其主要内容有模块及模块的控制关系,根据题意,可绘制出生产科和技术科的软件结构图,其中生产科的结构图深度和宽度均为4,技术科的结构图的深度和宽度均为3。
2009—2010学年第二学期期末考试试题 1.软件危机具有下列表现(D)。
I.对软件开发成本估计不准确 II.软件产品的质量往往靠不住 III.软件常常不可维护 IV.软件成本逐年上升 A.I、II和III B.I、III和IV C.II、III和IV D.以上都正确
2.软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是(A)。A.运行和维护阶段 B.设计阶段
C.代码实现阶段
D.测试阶段
3.下列属于软件的特点的是(D)。
A.软件是一种逻辑实体,具有抽象性
B.软件在使用过程中没有磨损、老化的问题 C.软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高
D.以上都正确 4.软件工程的出现是由于(D)。A.软件危机的出现
B.计算机硬件技术的发展
C.软件社会化的需要
D.计算机软件技术的发展
5.软件开发技术不包含(D)。A.软件开发方法学 B.软件工程环境
C.软件工具
D.软件质量度度量
6.软件工程的课程特点(D)。
I.学科理论及其知识应用的多维性
II.工程化 III.浓厚的方法学色彩
IV.实践性、指导性强 A.I、II和III B.I、III和IV C.II、III和IV
D.以上都正确
7.下列属于应用软件的是(B)。
I.计算机辅助教学软件
II.软件测试工具
III.办公自动化软件 IV.工程与科学计算软件 A.I、II和III B.I、III和IV C.II、III和IV
D.以上都正确
8.需求分析阶段最重要的技术文档是(B)。A.设计说明书 B.需求规格说明书
C.可行性分析报告
D.用户手册
9.以下关于数据流图的说法错误的是(C)。
A.数据流图舍去了具体的物质,只剩下数据的流动、加工处理和存储 B.数据流图是用作结构化分析的一种工具
C.传统的数据流图中主要由加工、数据源点/终点、数据流、控制流、数据存储组成 D.数据流图的绘制采用自上向下、逐层分解的方法
10.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是(C)。A.数据库设计
B.数据通信
C.数据定义
D.数据维护
11.需求分析阶段的研究对象是(B)。A.系统分析员要求 B.用户要求
C.软硬件要求
D.系统要求
12.结构化方法的基本原则是(B)。A.模块化 B.抽象与分解
C.信息隐蔽
D.逐步求精
13.耦合度最高的是(B)耦合。A.环境 B.内容 C.控制 D.数据 14.内聚程度较低的是(A)内聚。A.偶然
B.通讯 C.顺序 D.时间
15.对一个程序来说,组成系统的模块数目(C),则开发成本越小。A.越多 B.越少
C.顺序
D.时间
16.画软件结构图时应注意调用关系只能是(B)。A.从下到上 B.从上到下
C.从左到右
D.从右到左
17.程序流程图中的“→”代表(B)。A.数据流 B.控制流
C.顺序流
D.调用
18.DFD中的“→”代表(A)。A.数据流 B.文件
C.处理
D.控制流
19.DFD中的“○”代表(C)。A.数据流 B.文件
C.处理
D.控制流
20.DFD中的“_”代表(B)。A.数据流
二、填空题
1.计算机软件不仅仅是程序,还应该有一整套
文档
。2.传统的软件生存期模型是
瀑布模型。
3.软件按照功能的不同可以划分为3大类型 系统软件、应用软件和
支持软件。4.DFD在软件工程中表示
数据流图。
5.耦合性 与 内聚性 是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到 高 内聚、低 耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
6.数据流图有四种基本成分: 数据流、加工(又称为数据处理)、文件、数据的源点或终点。
7.数据字典有以下四类条目: 数据流、数据项、文件、基本加工。
数据项是组成数据流和数据存储的最 B.文件
C.处理
D.控制流 小元素。
三、简答题
8.某厂对部分职工重新分配工作的政策是:年龄有20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄有20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度者当技术员;年龄有40岁以上者,中学文化程度当材料员,大学文化程度当技术员。请用结构化语言、判定表或判定树描述上述问题的加工逻辑。
答:(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)标记耦合 软件维护的四类维护活动是(A)
(A)改正性维护,适应性维护,完善性维护和预防性维护。(B)适应性维护,完善性维护,抢救性维护和辅助性维护。(C)改正性维护,适应性维护,完善性维护和辅助性维护。(D)适应性维护,完善性维护,抢救性维护和预防性维护。
主要从(A)几个方面进行系统可行性研究。
(A)技术可行性,经济可行性,操作可行性。(B)技术可行性,经济可行性,系统可行性。(C)经济可行性,系统可行性,操作可行性。(D)经济可行性,系统可行性,时间可行性。
进行需求分析可使用多种工具,但(C)是不适用的。
(A)数据流图
(B)判定表
(C)PAD图
(D)数据字典
软件需求分析阶段的工作,可以分为四个方面:对问题的识别、分析与综合、编写需求分析文档以及(B)(A)软件的总结
(B)需求分析评审(C)阶段性报告
(D)以上答案都不对
(D)数据耦合
OMT(Object Modelling Technique)方法的第一步是从问题的陈述入手,构造系统模型。系统模型由对象模型、(C)组成。
A静态模型和功能模型
B动态模型和过程模型C动态模型和功能模型
D静态模型和操作模型
为了表示项目管理功能工作中各项任务之间的进度衔接关系,常用的计划管理工具是(D)(A)程序结构图
(B)数据流图
(C)E-R图
(D)甘特(Gantt)图 判断题(每小题1分,共5分)
软件开发的主要任务是写程序。
错 测试功能是否符合要求是白盒测试。
错 流图中的区域数等于环形复杂度。
对
扇出是一个模块直接控制(调用)的模块数目,扇出过大意味着模块过分复杂,需要控制和协调过多的下级模块。
对
在面向对象程序中,使用继承机制是实现共享和提高重用程度的主要途径。
对 简答题
简述需求分析的三个层次。
答:业务需求:反映了组织机构或客户对系统、产品高层次的目标要求。用户需求: 文档描述了用户使用产品必须要完成的任务。
功能需求:定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。
软件测试中一般包含几个步骤?请分别加以说明 答:单元测试、集成测试、确认测试、系统测试
单元测试:对源程序中的每个程序单元进行测试,检查各模块是否正确实规定的功能,从而发现模块在编码中或算法中的错误
集成测试:检查与设计相关的软件结构的有关问题
确认测试:主要检查已实现的软件是否满足需求规格说明书中确定了的各种需求 系统测试:把已确认的软件与其他系统元素结合在一起进行测试
(制定测试计划
设计测试用例
执行测试 撰写测试报告 消除软件缺陷
完成)
说出你所知道的两种估算软件规模的方法的名称,并说明他们的优缺点。(4分)答:代码行技术,功能点技术
软件生命周期都包含哪些阶段,并简述每个阶段的基本任务(5分)
答:软件生命周期由软件定义、软件开发和运行维护(也称为软件维护)3个时期组成。软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。
1问题定义2可行性研究3需求分析4总体设计5详细设计6编码和单元测试7综合测试8软件维护
① 软件生命周期中所花费用最多的阶段是(D)A. 详细设计B.软件编码C.软件测试D.软件维护
②可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发 的决策依据,因必须给出(B)的回答。A.确定B.行或不行C.正确D.无二义 ③下列关于瀑布模型的描述正确的是(C)。
A.瀑布模型的核心是按照软件开发的时间顺序将问题简化。B.瀑布模型具由于良好的灵活性。
C.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。D.利用瀑布模型,如果发现问题则修改的代价很低。④ 详细设计的结果基本决定了最终程序的(C)A.代码的规模B.运行速度C.质量D.可维护性 ⑤ 结构化程序设计主要强调的是(D)
A. 程序的规模B. 程序的效率C. 程序设计语言的先进性D. 程序易读性 ⑥ 程序的三种基本控制结构是(B)A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移 ⑦ 确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于(C)A、集成测试B、恢复测试C、验收测试D、单元测试
⑧ 面向对象技术中,对象是类的实例。对象有三种成份:(A)、属性和方法(或操作)。A.标识
B.规则 C.封装D.消息
⑨ 下面关于面向对象方法中消息的叙述,不正确的是(B)。A.键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息
B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C.应用程序之间可以相互发送消息
D.发送与接收消息的通信机制与传统的子程序调用机制不同 ⑩ 面向对象程序设计中的数据隐藏指的是(D)。A. 输入数据必须输入保密口令B.数据经过加密处理
C.对象内部数据结构上建有防火墙D.对象内部数据结构的不可访问性
1.程序设计属于软件开发过程(C)阶段。A、设计B、编程C、实现D、编码
2.结构设计是一种应用最广泛的系统设计方法,是以(A)为基础、自顶向下、逐步求精 和模块化的过程。
A、数据流B、数据流图C、数据库D、数据结构 3.结构化程序设计主要强调程序的(C)。A、效率B、速度C、可读性D、大小 4.分析员是(B)
A、户中系统的直接使用者B、用户和软件人员的中间人 C、软件的编程人员D、用户和软件人员的领导 5.程序的三种基本控制结构的共同特点是(D)。
A、不能嵌套使用B、只能用来写简单的程序C、已经用硬件实现D、只有一个入口和一个出口 6.软件生产过程中,需求信息由(D)给出。
A、程序员B、项目管理者C、软件分析设计人员D、软件用户 7.与设计测试数据无关的文档是(D)。
A、需求说明书B、设计说明书C、源程序D、项目开发设计
8.结构化分析SA 方法以数据流图、(B)和加工说明等描述工具,即用直观的图和简洁的语言来描述软系统模型。A、DFD 图B、数据字典C、IPO 图D、PAD 图
9.面向数据流的软件设计方法,一般是把数据流图中数据流划分为(B),再将数据流图映射为软件结构。A、数据流和事务流B、交换流和事务流C、信息流和控制流D、交换流和数据流 10.总体设计的结果是提供一份(A)。A、模块说明书B、框图C、程序D、数据结构
1.软件是(C)。
A.处理对象和处理规则的描述
B.程序C.程序及其文档 D.计算机系统 2.软件需求规格说明的内容不应包括(B)。
A.主要功能
B.算法的详细描述
C.用户界面及运行环境
D.软件的性能 3.程序的三种基本控制结构是(B)。
A.过程、子程序和分程序
B.顺序、选择和重复
C.递归、迭代和回溯
D.调用、返回和转移 4.面向对象的分析方法主要是建立三类模型,即(D)。
A)系统模型、ER 模型、应用模型B)对象模型、动态模型、应用模型 C)E-R模型、对象模型、功能模型D)对象模型、动态模型、功能模型 5.在E-R 模型中,包含以下基本成分(C)。A)数据、对象、实体
B)控制、联系、对象
C)实体、联系、属性
D)实体、属性、操作 6.各种软件维护的类型中最重要的是(A)。
A)完善性维护
B)纠错性维护
C)适应性维护
D)预防性维护 7.软件测试的目标是(B)。
A.证明软件是正确的 B.发现错误、降低错误带来的风险 C.排除软件中所有的错误
D.与软件调试相同 8.软件生命周期中所花费用最多的阶段是(D)A.详细设计B.软件编码C.软件测试D.软件维护
9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从
输入的角度考虑一组测试用例:-1.001,-1.0, 1.0, 1.001.设计这组测试用例的方法是(C)A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法
10、详细设计的基本任务是确定每个模块的(D)设计 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)
A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据 12.下面几种白箱测试技术,哪种是最强的覆盖准则(D)A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖 13.面向数据流的设计方法把(A)映射成软件结构。A.数据流
B.系统结构
C.控制结构
D.信息流 14.内聚程度最低的是(A)内聚 A.偶然B.过程C.顺序D.时间
15.确定测试计划是在(A)阶段制定的.A.总体设计
B.详细设计
C.编码
D.测试 16.需求分析的产品是(D)
A.数据流程图案
B.数据字典C.判定表
D.需求规格说明书
17.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是(C)A.数据库设计
B.数据通信
C.数据定义
D.数据维护 18.(D)引入了“风险驱动”的思想,适用于大规模的内部开发项目。A.增量模型
B.喷泉模型
C.原型模型
D.螺旋模型 19.模块的内聚性最高的是(D)
A.逻辑内聚
B.时间内聚
C.偶然内聚
D.功能内聚 20.提高测试的有效性非常重要,成功的测试是指(D)A.证明了被测试程序正确无误
B.说明了被测试程序符合相应的要求 C.未发现被测程序的错误
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. 软件研发人员素质太差
B.用户经常干预软件系统的研发工作 B. 没有软件质量标准
D.软件开发人员不遵守软件质量标准
2. 在软件质量因素中,软件在异常条件下仍能运行的能力成为软件的__B___。A. 安全性
B.健壮性
C.可用性
D.可靠性
3. 在下列测试技术中,___D___不属于黑盒测试技术。A. 等价划分
B.边界值分析
C.错误推测
D.逻辑覆盖
4. 软件工程方法是在实践中不断发展着的方法,而早期的软件工程方法主要是指__B____。A. 原型化方法
B.结构化方法
C.功能化方法
D.面向对象方法
5. ___C___是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。A. 多态
B.继承
C.封装
D.消息
6. Jackson方法是在软件开发过程中常用的方法,使用Jackson方法时可以实现__A____。A. 从数据结构导出程序结构
B.从数据流图导出初始结构图 B. 从模块结构导出数据结构
D.从模块结构导出程序结构 7. 软件测试时为了_____B___而执行程序的过程。
A. 纠正错误
B.发现错误
C.避免错误
D.证明错误 8. 在软件系统中,一个模块应具有什么样的功能,这是由__B___决定的。
A. 总体设计
B.需求分析
C.详细设计
D.程序设计 9. 面向对象分析是对系统进行___A_____的一种方法。
A. 需求分析
B.程序设计
C.设计评审
D.测试验收
10. 软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而且影响软件的___B____。
A. 可理解性
B.可维护性
C.可扩展性
D.可移植
11. 模块内聚度越高,说明模块内各成分彼此结合的程序越____B___。A. 松散
B.紧密C.无法判断
D.相等
12. 软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码、测试和维护等阶段,一般认为可能占用人员最多的阶段是_____C___。A. 分析阶段
B.设计阶段C.维护阶段D.测试阶段 13. 常用的面向对象的软件过程模型是__B_____。A. 瀑布模型
B.喷泉模型C.原型模型D.增量模型
14. 面向对象的分析阶段建立的系统模型不包括___D_____。A. 对象模型B.动态模型C.功能模型D.数据模型
15. 提高软件的可维护性可采用很多措施,下列哪个不在措施之列?AA. 提供没有错误的程序 B.建立质量保证制度C.改进程序文档质量D.明确软件质量标准
一、填空题
1. 软件工程中的结构化分析SA是一种面向____数据流___的分析方法。2. 软件模块独立性的两个定性度量标准是__内聚性和耦合性___。
3. 软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。4. ____数据流图____和数据字典共同构成了系统的逻辑模型
5. _____等价划分______是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此导出测试用例。
二、判断题
1. 软件工程学只有理论意义,没有实际用途。
(X)2. 软件工程的方法只适用于大型软件的开发,对小型软件的开发没有帮助。(X)3. 可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解。(√)4. 代码审查方法没有计算机测试方法好。
(X)5. 验证软件需求的方法主要靠人工审查的方法。
(√)6. 并发系统中遇到的一个主要问题是定时问题。
(√)7. 编码风格由个人喜好决定,没有固定格式。
(X)
8. 面向对象建模得到的模型包含系统的3个要素,即静态结构、交互次序和数据变换(√)9. 软件重用是提高软件开发生产率和目标系统质量的重要途径。
(√)10. 11. 12. 判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。(√)Power Designer是一个CASE工具。
(√)
软件是指用程序设计语言(如Pascal,C,Visual Basic等)编写的程序,软件开发实际上就是编写程序代码。(X)13. 14. 在进行需求分析时需同时考虑维护问题。
(X)UML是一种面向对象的分析设计方法,即OOA/OOD方法。
(X)
15.在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板。(√)四.名词解释 1. 白盒测试
白盒测试——又叫做结构测试,把程序看成装在一个透明的白盒子里,按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。
2. 模块化
模块化——把程序划分成独立运行且可以独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。
3. 对象
对象——描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。
三、简答题
1. 简述软件测试的任务、目的与类型。
答:软件测试是一个为了寻找软件错误而运行程序的过程。目的就是为了发现软件中的错误。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。软件测试主要分为白盒测试和黑盒测试两大类。
2. 简述结构化程序设计方法的基本要点
答:(1)采用自顶向下,逐步求精的程序设计方法。
(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环(3)采用主程序员组的组织形式。(4)采用单入口单出口的模块形式。
用例图
数据流图:
D1 商品库存订货单顾客发货单业务处理订货单供货商到货通知
(a)顶层数据流图 D2 发往供货商的订单订货单顾客发货单到货通知1销售2采购订货单供货商到货通知收款通知D1 商品库存发票会计应付款通知付款 付款(b)0层数据流图
D2 发往供货商的订单D3 进货信息订货单顾客发货单到货通知1销售2.1处理事务2.2产生报表订货单供货商到货通知收款通知D1 商品库存发票会计应付款通知付款 付款(c)1层数据流图 D2 发往供货商的订单D3 进货信息订货单到货通知2.1.12.1.2顾客1库存2.1.32.2订货单销售接收事务更新商品处理产生供货商发货单事务库存信息定货报表到货通知收款通D1 商品库存知发票会计应付款通知付款付款2层数据流图 顺序图:
d)
(