软件工程习题
计算机二级考试软件工程题库及答案
计算机二级考试软件工程题库及答案一、选择题1. 下列哪个不是软件工程的基本特征?A. 可靠性B. 可维护性C. 可重复性D. 可移植性答案:C2. 软件需求分析的目的是什么?A. 建立软件体系结构B. 确定软件需求C. 设计软件模块D. 编写软件代码答案:B3. 下列哪个不是软件开发生命周期的阶段?A. 需求分析B. 设计C. 测试D. 销售答案:D二、填空题1. 软件工程的目标是提高软件的_________。
答案:质量2. 软件需求分析阶段的主要任务是对用户的需求进行_________。
答案:分析3. 软件测试的目的是为了发现软件中的_________。
答案:缺陷三、简答题1. 什么是软件开发生命周期?请简要描述各个阶段的主要任务。
答案:软件开发生命周期指的是软件从开始开发到结束的整个过程。
主要阶段包括需求分析、设计、编码、测试和维护。
需求分析阶段的主要任务是确定用户的需求;设计阶段的主要任务是根据需求设计软件的结构和模块;编码阶段的主要任务是根据设计编写软件代码;测试阶段的主要任务是发现并修复软件中的缺陷;维护阶段的主要任务是对软件进行更新和修复。
2. 请简要说明软件工程的重要性。
答案:软件工程的重要性体现在以下几个方面。
首先,软件工程可以提高软件的质量,确保软件能够满足用户的需求。
其次,软件工程可以提高软件的可维护性,使得软件可以持续更新和修复。
最后,软件工程可以提高软件的开发效率,节省时间和资源。
以上是计算机二级考试软件工程题库及答案的内容。
希望对您有所帮助!。
《软件工程》练习题及其答案
《软件工程》练习题及其答案
一、单选题(每题10分,共50分)
1、程序控制一般分为( B )、分支、循环三种基本结构。
A.分块
B.顺序
C.选择
D.循环
2、在解决人工智能上使用最多的有非常强的表处理功能的函数程序设计语言是( D)。
A. Prolog
B.Snobol
C. COBOL
D. Lisp
3、以谓词逻辑为基础的,核心是事实、规划和推理机制的实用逻辑程序设计语言是( C )。
A.Java
B.Lisp
C. Prolog
D.Smalltalk
4、在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在人们更重视程序的(D)。
A.技巧生
B.保密性
C.一致性
D.可理解性
5、项目的应用领域是选择编程语言关键的因素之一,不适合作为项目应用领域的类型是(D)。
A.系统软件
B.数据处理与数据库应用
C.实时处理
D.UNIX操作系统
二、填空题(每空5分,共50分)
1、编码是将详细设计阶段得的处理过程的描述转换为基于某种计算机语言的程序,即源程序代码。
2、近年来,推出了许多面向对象的语言,如 C++ 、 Java 等。
3、提高程序效率的根本途径在于选择良好的设计方法、良好的数据结构与算法,而不是靠编程时对程序语句做调整。
4、效率是一个性能要求,目标在需求分析给出。
5、追求效率建立在不损害程序可读性,或可靠性基础上。
(完整word版)软件工程习题及答案解析
软件工程习题及答案一、选择题: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、1/6B、1/5C、1/4D、1/37. 变换型和事务型是程序结构的标准形式.从某处获得数据,再对这些数据作处理,然后将结果送出是属于。
A、变换型B、事务型8。
PAD(Problem Analysis Diagram)图是一种工具.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. 结构化程序设计主要强调程序的。
软件工程习题
第一章1.填空(1)软件是计算机系统中的___程序(指令)__、数据及其__文档(+服务)___的总称。
(2)软件的类型按功能可以分为___系统软件___、__支撑软件___和___应用软件__3中类型。
(3)国家标准GB/T 1147—1995《软件工程术语》对软件工程的定义是软件开发、运行、维护和引退________系统方法_______。
(4)软件工程是指导计算机______软件开发和维护____的工程学科。
(5)软件工程采用_____工程的概念、原理、技术和方法_____来开发与维护软件。
(6)软件工程的目标是____实现软件的优质高产______。
(7)软件工程的主要内容是_____软件开发技术和软件工程管理_____。
2.选择。
(1)下面(B)不是软件的特征。
A系统性与复制性B有形性与可控性C抽象性与智能性D依附性与泛域性(2)下面(D)不是系统软件。
A.BIOS B.Windows C.设备驱动程序 D.办公软件(3)软件危机的主要原因(A)A软件本身特点与开发方法B对软件的认识不够C软件生产能力不足D软件工具落后(4)下面(C)不属于软件工程学科所要研究的基本内容。
A软件工程原理B软件工程目标C软件工程材料D软件工程过程(5)下面(B)是正确的说法。
A.20世纪50年代提出了软件工程的概念B. 20世纪60年代提出了软件工程概念C. 20世纪70年代出现了客户机/服务器技术D. 20世纪80年代软件工程学科达到成熟.第二章1.填空(1)___软件可行性分析____的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否得去开发。
(2)可行性分析的目的不是去开发一个软件项目,而是研究这个软件项目内容是否____值得去开发、其中的问题能否解决___。
(3)可行性分析实质上是要进行一次简化,压缩了的___ 需求分析____和___设计____过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。
软件工程练习题
"软件工程"练习题一、填空题1.软件主要包括程序、数据和文档三局部容。
2. 目前使用最广泛的软件工程方法学是传统〔构造化方法〕方法和面向对象方法。
3.软件可行性研究的任务是从技术、经济和社会可行性三个方面分析软件工程的可行性。
4.软件测试的目的是找出软件潜在的错误和缺陷;通常把软件测试方法分为黑盒测试〔功能测试〕和白盒测试〔构造测试〕两大类。
5.软件测试中,测试用例由输入数据和预期的输出结果两局部组成。
6.典型的软件生命周期模型〔软件过程模型〕包括瀑布模型、快速原型模型和增量模型、螺旋模型、喷泉模型等。
7.模块 A 调用模块 B 以查询学生成绩,模块A 通过参数向模块 B 传送所查询学生的**,模块 B通过参数向模块 A 返回学生的考试成绩。
模块A 和模块 B 之间的耦合类型属于数据耦合。
8.在类的继承构造中,不同层次的类共享同一个行为名称,但各个类可以按照自己的需要为同名行为设计不同的算法,此性质称为类的重写。
9.测试软件中的模块时,通常需要为被测模块设计辅助模块,辅助模块的名称分别是驱动模块和桩模块。
10.软件生存期中时间最长的是_软件维护阶段。
11.构造化分析方法中,功能模型用 DFD 描述;数据模型用 E-R 描述。
12.过程设计〔详细设计〕中,常用的描述工具有图形、表格和语言三类。
13.在模块构造图中,直接调用*一模块的其他模块数称为该模块的扇入数。
14.面向对象分析〔OOA〕方法中,必须定义对象间的通信机制,对象间通信是通过消息传递机制来实现的。
15.面向对象方法用对象分解取代了构造化方法的功能分解。
16.写出以下各对事物之间的关系〔继承、会萃、普通关联〕:交通工具——汽车的关系是:继承;书——读者的关系是:普通关联;班级——学生的关系是:会萃;多边型——线段的关系是:会萃。
17.面向对象设计〔OOD〕阶段,可以将面向对象的设计容划分为四局部,分别是:人机界面部分、问题域局部、任务管理局部和数据管理局部。
软件工程练习题&答案
软件工程练习题一. 选择题(单选或多选)(1)需求分析阶段最重要的技术文档是( C )。
A)项目开发计划B) 设计说明书C)需求规格说明书D) 可行性分析报告(2)在软件工程中,白盒测试法可用于测试程序的内部结构。
此方法将程序看作是(A )A) 路径的集合B) 循环的集合C) 目标的集合 D) 地址的集合(3)在以下模块耦合性类型中,模块之间独立性最差的类型是( D )A) 非直接耦合B) 标记耦合C)控制耦合D)内容耦合(4)软件详细设计的主要任务是对(A)进行的详细设计。
A) 算法和数据结构B) 外部接口C)软件编码D)功能(5)Jackson方法是一种面向(C)的结构化方法。
A) 数据流B) 对象C)数据结构D)控制流(6)一个成功的测试可以( D )。
A) 表明程序没有错误B) 发现所有错误C)提高软件可靠性D)发现尚未发现的错误(7)下述陈述中,哪一个不是软件健壮性的度量指标?(C )。
A)失败后重新启动所需的时间B)引起失败的时间所占的百分比C)失败前的平均工作时间D)在一次失败中数据恶化的概率(8)黑盒技术设计测试用例的方法之一为( A )。
A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试(9)CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是(D )。
A)工作无序,项目进行过程中经常放弃当初的计划B)建立了项目级的管理制度C)建立了企业级的管理制度D)软件过程中活动的生产率和质量是可度量的(10)在面向数据流的软件设计方法中,一般将信息流分为( A )。
A)变换流和事务流B)变换流和控制流C)事务流和控制流D)数据流和控制流(11)软件设计中一般将用到图形工具,下述哪种工具可用作设计的图形工具。
( ABCDEF )A)结构图B)实体关系图C)IPO图D)流程图E) N-S图F) 判定树(12)软件需求分析阶段建立原型的主要目地是( C )。
A)确定系统的性能要求B)确定系统的运行要求C)确定系统是否满足用户需要D)确定系统是否满足开发人员需要(13)要显示描绘软件开发项目各作业的依赖关系,应选择(B )。
软件工程练习题及参考答案
软件工程练习题及参考答案《软件工程练习题及参考答案》一.单向选择题(四选一.每小题3分,共18分)1.面向对象(Object Oriented)方法是将现实世界的事物以对象的方式( B )到计算机世界的方法。
对应映射反映反射2.盒图也称为(D)或Chapin图。
这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。
流程图框图判定表 N-S图3.面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的(A)结构。
程序数据逻辑物理4.人机界面的风格大致经过了(B)代的演变。
三四五六5.以下不属于白盒测试技术的是(D)逻辑覆盖基本路径测试循环覆盖测试等价类划分6.为改正软件系统中潜藏的错误而进行的维护活动称为(A)。
纠错性维护适应性维护改善性维护预防性维护二.填空题(每空2分,共18分)1.文档一种数据媒体和其上所记录的数据。
(√)4. 软件工程使用的软件工具能够自动或半自动地支持软件的开发.管理和文档的生成。
(√)5. 为了充分发挥开发人员的潜力.缩短工期,软件工程项目的任务分解与安排应尽力挖掘可并行开发的部分。
(√)6. 需求分析阶段的成果主要是需求规格说明,但该成果与软件设计.编码.测试直至维护关系不大。
(X)7. 类是对具有共同特征的对象的进一步抽象。
(√)8. 面对日益增长的软件需求,人们显得力不从心。
往往是产生软件危机的原因之一。
(√)9. 数据输入的一般准则中包括采用灵活多样的交互方式,允许用户自选输入方式;允许用户控制交互过程。
(√)10. 如果在分析阶段和设计阶段采用的是面向对象的方法,而在编码阶段采用的是面向过程的语言,那么这种翻译就比较困难。
(√)11.软件测试是对软件规格说明.软件设计和编码的最全面也是最后的审查。
(√)12. 如果测试过程没有发现任何错误,则说明软件没有错误。
(X)四.简答题(每小题4分,共20分)1.螺旋模型的适应场合有哪些?适应场合:支持需求不明确.特别是大型软件系统的开发,并支持面向规格说明.面向过程.面向对象等多种软件开发方法,是一种具有广阔前景的模型。
软件工程习题附答案
软件⼯程习题附答案⼀、选择题1、软件是⼀种( 2 )性⼯业产品。
(1)理论(2)知识(或逻辑)(3)消耗(4)体⼒2、需求分析是在( 2 )进⾏的。
(1)⽤户(2)⽤户和分析⼈员之间(3)开发⼈员内部(4)使⽤和维护⼈员之间3、在软件的可⾏性研究中经常从不同⾓度对系统进⾏可⾏性研究,其中从功能⾓度对系统进⾏研究属于( 2 )的研究。
(1)经济可⾏性(2)技术可⾏性(3)操作可⾏性(4)法律可⾏性4、在软件⼯程项⽬中,不随参与⼈员的增加⽽使软件的⽣产率增加的主要问题是( 4 )。
(1)⼯作阶段的等待时间(2)⽣产原型的复杂性(3)参与⼈员所需的⼯作站数(4)参与⼈员之间的沟通困难5、需求分析阶段的研究对象是( 1 )。
(1)⽤户需求(2)分析员要求(3)系统需求(4)软硬件需求6、对某公司进⾏调查分析,确定是否值得开发⼀个新系统的⼯作是进⾏( 4 )。
(1)系统设计(2)系统分析(3)系统详细调查(4)系统初步调查7、系统分析员应当( 4 )。
(1)善于使⽤户接受⾃已的观点(2)善于使⾃已获得成就(3)是⽤户与计算机技术⼈员的有效协调与组织者(4)满⾜上述所有条件8、数据流图的绘制过程,是对新系统的需求进⾏综合分析和形成新系统( 1 )的过程。
(1)逻辑模型(2)物理模型(3)总体⽅案(4)可⾏性报告9、系统测试的⽬的是( 4 )。
(1)找出编码错误(2)找出数据错误(3)要证明程序⽆错(4)发现软件错误10、⼀个模块内部各程序段都在同⼀张表上操作,这个操作的内聚性称为( 3 )。
(1)时间内聚(2)功能内聚(3)通信内聚(4)顺序内聚11、在结构化⽅法中全⾯指导模块划分的最重要的原则是( 4 )A.程序模块化B.模块⾼内聚C.模块低耦合D.模块独⽴性12、最⾼程度也是最差的耦合是( 2 )。
(1)公共耦合(2)内容耦合(3)控制耦合(4)数据耦合13、概要设计阶段产⽣的⽂档不包括( 4 )。
(1)概要设计说明书(2)数据库设计说明书(3)⽤户⼿册(4)开发进度报告14、汽车有⼀个发动机,汽车和发动机之间的关系是( 2 )。
软件工程练习题
软件⼯程练习题⼀.填空题1.软件⽣命周期分为、需求分析、概要设计、详细设计、软件实现、软件测试及运⾏维护7个阶段。
2. 是最早的软件⽣存周期开发模型,它将软件开发过程中的各项活动规定为依固定顺序连接的若⼲阶段⼯作,形如瀑布流⽔,最终得到软件系统或软件产品。
3. 是⼀种软件开发模型,在这种模型的每⼀个阶段,都要编码产⽣⼀个新的构件,并将新构件集成到先前已经构成的产品中并作为⼀个整体进⾏测试,直到满⾜⽤户需求为⽌。
4.当没有⾜够的⼈员在规定的期限内开发完整的产品或者由于不可克服的客观原因⽽把交付期限规定的太短时应选⽤软件开发模型。
5. 是⼀种软件开发模型,由需求定义、风险分析、实施开发和计划评审4个部分组成,主要适⽤于⼤型软件项⽬开发。
6. ⽂档说明该软件开发项⽬的实现在技术上、经济上和社会因素上等⽅⾯的可⾏性,评述为了合理地达到开发⽬的可供选择的各种可能实施的⽅案,说明并论证所选定实施⽅案的理由。
7.可⾏性分析的⽬的是。
8. ⽤于描述系统的物理模型,⽤物理符号以⿊盒⼦的形式描绘系统⾥的每个部件,仅表达信息在系统个部件之间流动的情况。
9. (⼀种图)可以⽤来进⾏项⽬进度管理。
10. 结构化分析与设计是⼀种⾯向的分析设计⽅法。
11. 常见的需求获取⽅式有、情景分析技术等。
12. 在结构化分析中,⽤于描述加⼯逻辑的⼯具主要有结构化语⾔、判定树和。
13. 数据字典中的条⽬主要有、数据流、⽂件和加⼯四种。
14. 结构化软件开发⽅法贯穿始终的⼋字⽅针为。
15. 在软件⽣命周期中的每⼀个阶段结束后必须进⾏,这是为了能尽早发现项⽬开发中的错误。
16. 是软件⽣命周期中重要的⼀步,是软件定义阶段的最后⼀个阶段,是关系到软件开发成败的关键步骤。
17. 数据流图分为变换型和两种类型。
18. 衡量不同模块彼此之间相互依赖的紧密程度。
19. 衡量不同模块彼此之间相互依赖的紧密程度。
20.在软件模块设计时应该采取的设计原则是。
软件工程习题附答案
软件工程习题附答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。
以下是一些软件工程的习题及答案,希望能帮助您更好地理解这门学科。
一、选择题1、软件生命周期中所花费用最多的阶段是()A 详细设计B 软件编码C 软件测试D 软件维护答案:D解析:软件维护阶段需要对软件进行修改、优化和修复,由于软件在使用过程中可能会遇到各种问题和需求变更,所以维护阶段通常会花费大量的时间和资源。
2、下面不属于软件工程的 3 个要素的是()A 工具B 过程C 方法D 环境答案:D解析:软件工程的三要素是方法、工具和过程。
方法为软件开发提供了“如何做”的技术;工具为方法的运用提供了自动的或半自动的软件支撑环境;过程是将方法和工具结合起来,以达到合理、及时地进行软件开发的目的。
3、软件可行性研究实质上是要进行一次()需求分析和设计过程。
A 简化、压缩的B 详细的C 彻底的D 深入的答案:A解析:可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决,其实质是进行一次简化、压缩的需求分析和设计过程。
4、软件测试的目的是()A 证明软件的正确性B 找出软件中的所有错误C 尽可能多地发现软件中的错误D 调试程序答案:C解析:软件测试的目的是尽可能多地发现软件中的错误,而不是证明软件的正确性,也不可能找出软件中的所有错误。
5、下面描述中,不符合结构化程序设计风格的是()A 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B 自顶向下C 注重提高程序的执行效率D 限制使用 goto 语句答案:C解析:结构化程序设计强调清晰的结构和良好的可读性,注重程序的可理解性和可维护性,而不是过于追求执行效率。
二、填空题1、软件生存周期一般可分为问题定义、可行性研究、()、设计、()、测试、运行与维护阶段。
软件工程习题及答案
《软件工程》习题集目录一软件与软件工程 (1)二软件项目管理 (4)三需求分析 (7)四面向对象的需求分析 (10)五软件设计 (15)六程序设计语言和编码 (18)七软件测试 (20)八软件维护 (23)综合试卷一 (25)综合试卷二 (28)综合试卷三 (31)附参考答案: (34)一软件与软件工程参考答案 (34)二软件工程管理参考答案 (37)三需求分析参考答案 (39)四面向对象的需求分析参考答案 (43)五软件设计参考答案 (52)六程序设计语言和编码参考答案 (55)七软件测试参考答案 (59)八软件维护参考答案 (62)综合试卷一参考答案及评分标准 (65)综合试卷二参考答案及评分标准 (68)综合试卷三参考答案及评分标准 (71)一软件与软件工程一、选择题1.软件的主要特性是()A、无形性B、高成本C、包括程序和文档D、可独立构成计算机系统2.软件工程三要素是()A、技术、方法和工具B、方法、工具和过程C、方法、对象和类D、过程、模型、方法3.包含风险分析的软件工程模型是()A、螺旋模型B、瀑布模型C、增量模型D、喷泉模型4.软件工程的主要目标是()A、软件需求B、软件设计C、风险分析D、软件实现5.下列属于面向对象开发方法的是()A、BoochB、UMLC、CoadD、OMT6.软件危机的主要表现是()A、软件成本太高B、软件产品的质量低劣C、软件开发人员明显不足D、软件生产率低下7.软件开发方法的主要工作模型有()A、螺旋模型B、循环模型C、瀑布模型D、专家模型8.软件工程的目标有()A、易于维护B、低的开发成本C、高性能D、短的开发期9.软件工程学的目的和意义是()A、应用科学的方法和工程化的规范管理来指导软件开发。
B、克服软件危机。
C、作好软件开发的培训工作。
D、以较低的成本开发出高质量的软件。
二、判断题1.软件就是程序,编写软件就是编写程序。
2.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
软件工程练习题
软件工程练习题一、填空或选择题1、程序的三种基本结构是(A),它们的共同特点是(B),结构程序设计的一种基本方法是(C)。
软件测试的目的是(D),软件排错的目的是(E)。
A(1)过程,子程序,分程序(2)顺序,条件,循环(3)递归,堆栈,队列(4)调用,返回,转移B(1)不能嵌套使用(2)只能用来写简单程序(3)已经用硬件实现(4)只有一个入口和一个出口C(1)筛选法(2)递归法(3)归纳法(4)逐步求精法D(1)证明程序中没有错误(2)发现程序中的错误(3)测量程序的动态特性(4)检查程序中的语法错误E(1)找出错误所在改正之(2)排除存在错误的可能性(3)对错误性质进行分析(4)统计出错的次数2、软件测试的目的是(A)。
为提高测试的效率,应该(B)。
使用白盒测试方法时,测试数据应根据(C)和指定的覆盖标准。
一般说来,与设计测试数据无关的文档是(D),软件集成测试最好由(E)承担,以提高集成测试的效果。
A(1)评价软件质量(2)发现软件的错误(3)找出软件中的所有错误(4)证明软件是正确的B(1)随机地选取测试数据(2)取一切可能的输入数据作为测试数据(3)在完成编码以后制定软件测试计划(4)选择发现错误的可能性大的数据作为测试数据C(1)程序内部逻辑(2)程序的复杂程序(3)使用说明书(4)程序的功能D(1)需求规格说明书(2)总体设计说明书(3)源程序(4)项目开发计划E(1)该程序的设计人员(2)该软件开发组的负责人(3)该软件的编程人员(4)不属于该软件开发组的软件设计人员3、软件测试中常用的静态测试分析方法是(A)和(B)。
(B)用来检查模块或子程序间的调用是否正确。
分析方法(白盒法)中常用的方法是(C)方法。
非分析方法(黑盒法)中常用的方法是(D)方法和(E)方法。
(E)在单元测试后进行。
A,B(1)引用分析(2)算法分析(3)可靠性分析(4)效率分析(5)接口分析(6)操作性分析C,D,E(1)路径测试(2)等价类(3)边界值分析(4)归纳测试(5)综合测试(6)追踪(7)深度优待(8)排错(9)相对图4、原型法是用户和设计者之间执行的一种交互过程,适用于(A)系统。
软件工程复习题
软件工程复习题1.软件生命周期中所花费用最多的阶段是( D )。
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.结构化程序设计主要强调的是( D )。
A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性7.软件测试的目的是( B )。
A.为了表明程序没有错误B.为了说明程序能正确地执行C.为了发现程序中的错误D.为了评价程序的质量8.针对软件需求分析所进行的软件测试是指()。
A.集成测试B.确认测试C.黑盒子测试D.白盒子测试9.块间的信息可以作“控制信息”用,也可以作为()使用。
A.控制流B.数据结构C.控制结构D.数据10.在对数据流的分析中,主要是找到中心变换,这是从()导出结构图的关键。
A.数据结构B.实体关系C.数据流图D.E-R图11.Putnam成本估算模型是一个( D )模型。
A.静态单变量B.动态单变量C.静态多变量D.动态多变量12.软件调试技术包括(B)。
A.边界值分析B.演绎法C.循环覆盖D.集成测试13.瀑布模型的存在问题是( B )。
A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求14.程序的三种基本控制结构是( B )。
A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移15.在详细设计阶段,经常采用的工具有( A )。
A.PAD B.SAC.SC D.DFD16.需求分析中开发人员要从用户那里了解()。
软件工程习题
软件工程习题CH1一、填空题1、软件工程需要解决的问题包括:、、、和。
2、到目前为止,软件生产的发展经历了三个阶段,即、和。
3、计算机科学中的研究曾国均可用于软件工程,但计算机科学侧重于,而软件工程侧重于。
4、软件工程有用管理科学的方法和原理进行。
5、软件工程是用科学知识和技术原理来、、软件的一门科学。
6、软件工程研究的主要内容包括软件开发技术和软件开发管理技术两个方面。
在软件开发技术方面,主要研究、、。
在软件开发管理技术方面主要研究、、。
7、作为一门交叉学科,软件工程具有很强的综合性,它涉及、、、等领域。
8、软件生产周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。
通常包括、、、、、、、等活动,可以将这些活动以适当方式分配到不同阶段去完成。
9、开发软件工具的主要目的是为了提高软件生产效率和改善。
10、描述软件开发过程中各种活动如何执行的模型称为模型。
11、从软件工程诞生以来,已经提出了多种软件开发方法,如、、,它们对软件工程及软件产业的发展起到了不可估量的作用。
12、结构化方法由、和构成。
它是一种面向的开发方法。
13、模型是一种非整体开发方法的模型。
软件在该模型中是“逐渐”开发出来的,开发一部分向用户展示一部分,可让用户及早看到部分软件,及早发现问题。
或者先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。
14、喷泉模型是一种以为动力,以作为驱动的模型,适合于的开发方法。
它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。
喷泉模型使开发过程具有和。
15、结构化方法总的指导思想是。
它的基本原则是功能的和。
它是软件工程中最早出现的开发方法,特别适用于的问题。
16、螺旋模型将模型和模型结合起来,加入了两种模型均忽略了的风险分析,弥补了这两种模型的不足。
17、螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内分为4个工作步骤。
第一步,确定目标,选定实施方案,明确开发限制条件。
软件工程(习题及参考答案)
第1章概述(习题与参考答案)[判定题]1. 由于今天个人运算机不断进展壮大,人们再也不采纳软件团队的开发方式。
(×)2. 由于软件是产品,因此能够应用其他工程制品所用的技术进行生产。
(×)3. 购买大多数运算机系统所需的硬件比软件更昂贵。
(×)4. 大多数软件产品在其生命周期中不需要增强功能。
(×)5. 大多数软件系统是不容易转变的,除非它们在设计时考虑了转变。
(√)6. 一样来讲,软件只有在其行为与设计者的目标一致的情形下才能成功。
(×)[选择题]1. ()因素促使运算机系统愈来愈复杂。
(D)A. 运算机内存和存储容量上的庞大增加B. 外部输入/输出选项的加倍多样性C. 运算机体系结构方面的深刻转变D. 以上所有选项2. 下面的()再也不是现代软件工程师关注的问题。
(A)A. 什么缘故运算机硬件的本钱这么高?B. 什么缘故软件需要很长时刻才能完成?C. 什么缘故开发一个软件的本钱这么高?D. 什么缘故不能在产品发布前去除软件错误?3. 软件会慢慢退化而可不能磨损,其缘故在于()。
(C)A. 软件通常暴露在恶劣的环境下B. 软件错误通常发生在利用以后C. 不断的变更使组件接口之间引发错误D. 软件备件很难订购4. 大多数软件仍然是定制开发的,其缘故在于()。
(C)A. 软件组件重用是十分普遍的B. 可重用的组件太昂贵而无法利用C. 软件在不利用其他组件的情形下很容易构造出来D. 商业组件在很多应用领域中能够取得5. 下面的()说法是正确的。
(C)A. 软件危机在20世纪70年代末期全面暴发B. 当前先进的软件工程方式已经解决了软件危机的问题C. 软件危机是指在运算机软件的开发和保护进程中碰到的一系列严峻问题D. 软件危机是指在软件产品中存在一系列的质量问题6. 软件工程的大体目标是()。
(B)A. 排除软件固有的复杂性B. 开发高质量的软件C. 尽力发挥开发人员的制造性潜能D. 更好地保护正在利用的软件产品7. ()是将系统化的、标准的、可定量的方式应用于软件的开发、运行和保护的进程,它包括方式、工具和进程三个要素。
软件工程习题+答案
一、选择题1.软件开发瀑布模型中的软件定义时期各个阶段依次是:(B)A) 可行性研究,问题定义,需求分析。
B) 问题定义,可行性研究,需求分析。
C) 可行性研究,需求分析,问题定义。
D) 以上顺序都不对。
(软件开发时期:概要设计、详细设计、软件实现、软件测试)2.可行性研究主要从以下几个方面进行研究:(A)A)技术可行性,经济可行性,操作可行性。
B)技术可行性,经济可行性,系统可行性。
C)经济可行性,系统可行性,操作可行性。
D)经济可行性,系统可行性,时间可行性。
3.耦合是对软件不同模块之间互连程度的度量。
各种耦合按从强到弱排列如下:(C)A) 内容耦合,控制耦合,数据耦合,公共环境耦合。
B) 内容耦合,控制耦合,公共环境耦合,数据耦合。
C) 内容耦合,公共环境耦合,控制耦合,数据耦合。
(内容耦合、公共耦合、外部耦合、控制耦合、特征耦合、数据耦合)D) 控制耦合,内容耦合,数据耦合,公共环境耦合。
4.在详细设计阶段所使用到的设计工具是:(C)A) 程序流程图,PAD图,N-S图,HIPO图,判定表,判定树.B) 数据流程图,Yourdon 图,程序流程图,PAD图,N-S图,HIPO图。
C) 判定表,判定树,PDL,程序流程图,PAD图,N-S图。
D) 判定表,判定树,数据流程图,系统流程图,程序流程图,层次图。
详细设计阶段工具:判定表、判定树、数据流程图、系统流程图、程序流程图、PAD图、N-S图、PDL在软件详细设计阶段,常用的图形描述工具有程序流程图,盒图(NS 图)和问题分析图(PAD) .常用的语言描述工具为 PDL(程序设计语言) ,常用的表格描述工具有判定表和判定树.DFD数据流图:总体设计阶段5.按照软件工程的原则,模块的作用域和模块的控制域之间的关系是:(A)A)模块的作用域应在模块的控制域之内。
B)模块的控制域应在模块的作用域之内。
C)模块的控制域与模块的作用域互相独立。
D)以上说法都不对。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单项选择题1.瀑布模型的存在问题是( B )A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A.软件工程B.软件周期C.软件危机D.软件产生3.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B )A.数据、公共、标记、控制B.数据、标记、控制、公共C.控制、数据、标记、公共D.控制、数据、公共、标记4.在SD方法中全面指导模块划分的最重要的原则是( D )A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性5.软件测试的目的是( B )。
A.评价软件的质量 B.发现软件的错误C.找出软件的所有错误 D.证明软件是正确的6.在设计测试用例时,(A)是用得最多的一种黑盒测试方法。
A.等价类划分 B. 边界值分析 C. 因果图 D. 判定表7. 需求分析最终结果是产生( B )。
A. 项目开发计划B.需求规格说明书C.设计说明书D.可行性分析报告8. Jackson图中,模块框之间若有直线连接,表示它们之间存在( A)。
A. 调用关系B. 组成关系C. 链接关系D. 顺序执行关系9. 软件详细设计的主要任务是确定每个模块的( C )。
A. 功能B. 外部接口C. 算法和使用的数据结构D. 编程10.为了提高软件的可维护性,在编码阶段应注意( B )A.保存测试用例和数据B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格11.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B)A.p﹡(1+i﹡n)不计复利B.p﹡(i+1)n C.p﹡(1+i)﹡n D.p﹡(i+n)12.如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为(A)。
A. 时间内聚B.逻辑内聚C. 通信内聚D. 信息内聚13.选择足够多的测试数据,使得判定表达式中的每个条件都取得各种可能的值,而且每个判定表达式也都取到各种可能的结果。
满足这种测试条件的覆盖是(C )。
A. 判定覆盖 B.条件覆盖 C. 判定/条件覆盖 D. 条件组合覆盖14.具有风险分析的软件生存周期模型是( C )A.瀑布模型B.喷泉模型C.螺旋模型D.增量模型15.软件生命周期中所花费用最多的阶段是( D )A.详细设计B.软件编码C.软件测试D.软件维护16. 在整个软件维护阶段所花费的全部工作中,( C )所占比例最大。
A.校正性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护17.模块( B )定义为受该模块内一个判断影响的所有模块集合。
A.控制域 B. 作用域 C.宽度 D. 接口18.指出PDL是下列哪种语言(A)。
A.伪码B、高级程序设计语言 C.中级程序设计语言D、低级程序设计语言19.在对数据流的分析中,主要是找到中心变换,这是从( C )导出结构图的关键。
A.数据结构 B.实体关系 C. 数据流图 D. E—R图20.结构分析方法就是面向( B )自顶向下逐步求精进行需求分析的方法。
A.目标 B.数据流 C.功能 D. 对象21.下列( B )属于详细设计。
A.分析项目的成本和效益B.为每个模块确定采用的算法C.编写代码D.确定模块结构,划分模块功能22. 某次程序调试没有出现预计的结果,下列(C )不可能是原因。
A.变量没有初始化B.循环控制出错C.变量没有明确的注释D.代码输入有误23. 下列(B )属于不良的编程习惯。
A.尽量不使用GOTO 语句B.从来不使用注释C.每行只写一条语句D.变量命名尽量直观24.下列( D )不属于软件维护的副作用。
A.代码副作用B.数据副作用 C.文档副作用D.恢复副作用25.在可行性研究中难度最大的是( B )。
A.经济可行性B.技术可行性 C.运行可行性D.法律可行性26.软件调试技术包括( B ) A.边界值分析B.演绎法C.循环覆盖D.集成测试27.瀑布模型的存在问题是( B ) A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求28.软件测试方法中的静态测试方法之一为( A )A.计算机辅助静态分析B.黑盒法C.路径覆盖D.边界值分析29.程序的三种基本控制结构是( B )A过程、子程序和分程序B顺序、选择和重复C递归、堆栈和队列 D调用、返回和转移30.在详细设计阶段,经常采用的工具有( A ) A.PAD B.SA C.SC D.DFD 31.详细设计的结果基本决定了最终程序的( C ) A.代码的规模B.运行速度c.质量D.可维护性32.需求分析中开发人员要从用户那里了解( A ) A.软件做什么 B.用户使用界面 c.输入的信息 D.软件的规模33.结构化程序设计主要强调的是( D ) A.程序的规模 B.程序的效率 c.程序设计语言的先进性 D.程序易读性34.经济可行性研究的范围包括( C ) A.资源有效性B.管理制度c.效益分析D.开发风险35.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出( B )的回答。
A.确定B.行或不行c.正确D.无二义36.需求分析阶段的任务是确定( D ) A.软件开发方法 B.软件开发工具c.软件开发费 D.软件系统的功能37.模块内聚度越高,说明模块内各成分彼此结合的程度越(A)。
A、松散B、紧密C、无法判断D、相等38.软件需求分析是保证软件质量的重要步骤,它的实施应该是在(C)。
A、编码阶段B、软件开发全过程C、软件定义阶段D、软件设计阶段39.软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(D)。
A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑40.检查软件产品是否符合需求定义的过程称为(A)。
A、确认测试、B、集成测试C、验收测试D、验证测试41.软件文档是软件工程实施中的重要万分它不仅是软件开发各阶段的重要依据,而且与影响软件的(B)。
A、可理解性B、可维护性C、可扩展性D、可移植性42.在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于(B)。
A、维护时期B、计划时期C、运行时期D、开发时期43.在七种偶合中,最低偶合是(D)A、内容偶合B、公共偶合C、数据偶合D、非直接偶合44.JACKSON方法是在软件开发过程中常用的方法,使用JACKSON方法时可以实现(A)。
A、从数据结构导出程序结构B、从数据流图导出初始结构图C、从模块结构导出数据结构D、从模块结构导出程序结构二、填空题1.软件生存周期是指一个软件从提出开发要求开始直到该软件报废不止的整个时期。
通常,软件生存周期包括问题定义,可行性研究,(需求分析),总体设计,详细设计,(编码和单元测试),(综合测试),维护活动,可以将这些活动以适当方式分配到不同阶段去完成。
2.(可行性研究)的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。
3.一个计算机系统的总体设计方案包括四方面内容:硬件工程、(软件工程)、(人机工程)和数据库工程。
4.总体设计过程通常由两个阶段组成:(系统设计阶段)和(结构设计阶段)。
5.(数据流图)是需求分析活动的焦点,通常用(数据流图)、(数据字典)和(主要的处理算法)描述这个逻辑模型。
6.数据流图仅反映系统必须完成的逻辑功能,所以它是一种(功能)模型。
7.效益分有形效益和无形效益两种。
有形效益可用纯收入、(货币的时间价值)、(投资回收期)等指标进行度量;无形效益主要从性质上、心理上进行衡量,很难直接进行量的比较。
8.从应用特点的角度来看,我们可以把高级语言分为基础语言、(结构化语言)和(专用语言)三类。
9.一个模块拥有的直属下级模块的个数称为(模块的扇出),一个模块的直接上级模块的个数称为(模块的扇人)。
10.目前预防性软件维护采用的主要技术是(逆向工程)和(再生工程)。
11. 软件生存周期是指软件从(软件定义)、(软件开发)、(软件维护)直到最终被废弃的全过程。
12. 瀑布模型的核心思想是(按工序将问题简化)。
13. 在可行性研究中,(技术可行性)是最关键的因素。
14. 假设使用代码行技术进行费用估计,某软件中共5000行程序,每行平均成本20元,则该软件的成本为(100000元)。
15. 结构化分析方法常用的两种工具是(数据流图DFD)和(数据字典DD)。
16. 模块的分解和合并应力求(降低耦合提高内聚)。
17. 程序的效率包括两个方面的内容(时间复杂度)和(空间复杂度)。
18. 大型软件测试包括(单元测试)、集成测试、(确认测试)和(系统测试)四个步骤。
19. 提高软件质量和可靠性的技术主要有两类(避开错误技术)和(容错技术)。
21. 软件的维护一般经过(分析和理解程序)、(修改程序)、(重新验证程序)三个步骤。
22. 软件开发需要的资源包括(软件工具)、(硬件工具)和(人),其中(人)是最基本的资源。
23.基于软件的工作方式,可以将软件划分为(实时处理软件)、分时处理软件、(交互式软件)和(批处理软件)。
24. 数据字典中有四类条目:(数据流)、数据项、(数据存储)、处理。
25.系统流程图是描绘(物理系统)的传统工具。
26.可行性研究需要从以下三个方面分析研究每种解决方法的可行性:(技术可行性)、(经济可行性)、(操作可行性)。
27.软件需求的正确性可以从一致性、(完整性)、现实性和( 有效性)四个方面验证。
28.在Jackson系统开发方法中,使用(顺序)、(选择)和(重复)三种基本的结构就可以组合出各种复杂的结构体系。
29.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、(可移植性)、可使性和效率。
30.若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P=(F / (1+i )n )31.为了便于对照检查,测试用例应由输入数据和预期的(输出结果)两部分组成。
32.软件结构是以(模块)为基础而组成的一种控制层次结构。
33.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、(判定树)。
34.结构化语言是介于自然语言和(形式语言)之间的一种半形式语言。
35.详细描述处理过程常用三种描述工具:(图形)、(表格)和(语言)。
36.结构化设计以(数据流)为基础映射成软件结构。
37.一个模块把数值作为参数传送给另一个模块,这种耦合方式称为(数据耦合)。
38.一个模块内部各程序段都在同一张表上操作,这个模块的内聚性称为(通信内聚)。
39.成本效益分析的目的是从(经济)角度评价开发一个软件项目是否可行。
三、问答题1.简述什么是软件,什么是软件工程?它的目标和内容是什么?软件:程序以及开发、使用和维护程序所需要的所有文档。