软件工程习题及参考答案
软件工程考试试题及参考答案
软件工程考试试题第一部分选择题一、单项选择题每小题1分,共20分。
(在每小题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)1.在下列工具与环境中()属于较早期的CASE。
A.基于信息工程CASEB.人工智能CASEC.结构的基于图形CASED.集成的CASE环境2.Putnam成本估算模型是一个()模型。
A.静态单变量B.动态单变量C.静态多变量D.动态多变量3.在McCall软件质量度量模型中,()属于面向软件产品修改。
A.可靠性B.可重用性C.适应性D.可移植性4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是()A.SQIC B.SQMC C.SQRC D.SQDC5.软件复杂性度量的参数包括()A.效率B.规模C.完整性D.容错性6.对象实现了数据和操作的结合,使数据和操作()于对象的统一体中。
A.结合B.隐藏C.封装D.抽象7.软件调试技术包括()A.边界值分析B.演绎法C.循环覆盖D.集成测试8.瀑布模型的存在问题是()A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求9.软件测试方法中的静态测试方法之一为()A.计算机辅助静态分析B.黑盒法C.路径覆盖D.边界值分析10.软件生命周期中所花费用最多的阶段是()A.详细设计B.软件编码C.软件测试D.软件维护11.第一个体现结构化编程思想的程序设计语言是()A.FORTRAN语言B.Pascal语言C.C语言D.PL/1语言12.程序的三种基本控制结构是()A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移13.在详细设计阶段,经常采用的工具有()A.PAD B.SA C.SC D.DFD14.详细设计的结果基本决定了最终程序的()A.代码的规模B.运行速度C.质量D.可维护性15.需求分析中开发人员要从用户那里了解()A.软件做什么B.用户使用界面C.输入的信息D.软件的规模16.结构化程序设计主要强调的是()A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性17.IDEF。
软件工程练习题&答案
软件工程练习题一. 选择题(单选或多选)(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 )。
软件工程期末考试参考题及答案
一、填空题(每空1分, 共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。
2.按软件旳功能进行划分, 软件可以划分为系统软件、支撑软件和应用软件。
3.可行性研究重要集中在如下四个方面经济可行性、技术可行性、法律可行性和抉择。
4.顾客界面旳可使用性是顾客界面设计最重要旳也是最基本旳目旳。
5.常见旳软件概要设计措施有3大类: 以数据流图为基础构造模块构造旳___构造化设计措施_________, 以数据构造为基础构造模块旳__jackson措施__________, 以对象、类、继承和通信为基础旳__面向对象设计措施__________。
6.__数据流图________和__数据字典___共同构成系统旳逻辑模型。
7.软件测试旳措施有__分析措施________和___非分析措施_______(即黑盒法)。
8.单元测试一般以___白盒_____________测试为主, ___黑盒______测试为辅。
9.成本估计措施重要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。
二、单项选择题(每题2分, 共10分)1.下列哪个阶段不属于软件生存周期旳三大阶段( C )。
A.计划阶段B.开发阶段2. C.编码阶段 D.维护阶段3.需求分析是(A )。
A. 软件开发工作旳基础B. 软件生存周期旳开始C. 由系统分析员单独完毕旳D. 由顾客自己单独完毕旳原型化措施是软件开发中一类常用旳措施, 它与构造化措施相比较, 更需要( B )。
A. 明确旳需求定义B.完整旳生命周期C、较长旳开发时间D、纯熟旳开发人员软件维护时, 对测试阶段未发现旳错误进行测试、诊断、定位、纠错, 直至修改旳回归测试过程称为( A )。
A、改正性维护B、适应性维护C、完善性维护D、防止性维护一般说来, 投入运行旳软件系统中有错误(A )。
软件工程习题及解答
软件工程第一章习题一、选择题1、软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2、开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3、从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理二、简答题1、美国一家公司在1982年计划用FORTRAN语言开发一个在VAX750计算机上运行的应用程序,估计这个程序的长度为10000条FORTRAN指令。
软件工程考试题及答案
软件工程考试题及答案一、选择题1. 下列哪个不是软件工程的基本原则?A. 持续集成B. 形式化表示C. 高内聚低耦合D. 可重用性答案:B. 形式化表示2. 软件的可靠性是指什么?A. 软件的正确性B. 软件的可维护性C. 软件的效率D. 软件的稳定性答案:D. 软件的稳定性3. 下列哪个不是软件测试的目标?A. 发现软件中的错误和缺陷B. 验证软件是否满足用户需求C. 评估软件的质量D. 在短时间内完成软件开发答案:D. 在短时间内完成软件开发二、判断题1. 软件工程是一门工程学科,其目标是通过系统化的、规范化的方法对软件进行开发、运行和维护。
答案:正确2. “高内聚低耦合”是软件工程中的重要原则,指的是模块之间的独立性和模块之间的依赖程度。
答案:正确3. 软件需求分析是软件开发过程中的最后一步,最终确定软件系统的功能和性能。
答案:错误三、简答题1. 什么是软件工程?答:软件工程是一门工程学科,通过系统化的、规范化的方法对软件进行开发、运行和维护。
它涉及软件开发的各个阶段,包括需求分析、设计、编码、测试和维护等,并注重管理和团队合作,以提高软件质量、降低开发成本和加快开发进度。
2. 软件测试的目的是什么?答:软件测试的目的是发现软件中的错误和缺陷,验证软件是否满足用户需求,并评估软件的质量。
通过测试,可以提高软件的可靠性和稳定性,减少软件在使用过程中的风险。
3. 请简述软件开发生命周期中的各个阶段。
答:软件开发生命周期包括需求分析、设计、编码、测试和维护等阶段。
- 需求分析阶段:确定软件系统的功能、性能和约束条件,明确用户需求。
- 设计阶段:根据需求分析结果设计软件系统的结构和模块,确定软件的整体框架。
- 编码阶段:根据设计阶段的文档编写程序代码,实现软件系统的各个功能。
- 测试阶段:对软件进行各种测试,包括单元测试、集成测试和系统测试,以发现错误和缺陷。
- 维护阶段:根据用户反馈和需求变化,对软件进行修复和更新,确保其持续稳定运行。
软件工程学试题及答案
软件工程学试题及答案一、单项选择题(每题2分,共10分)1. 软件工程的目的是()。
A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 下列哪项不是软件需求分析的任务?()。
A. 确定软件的功能需求B. 确定软件的性能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:D3. 软件生命周期中,()阶段是确定软件需求的阶段。
A. 需求分析B. 系统设计C. 编码D. 测试答案:A4. 软件测试的目的是()。
A. 证明软件是正确的B. 证明软件存在错误C. 发现软件中的错误D. 证明软件不存在错误答案:C5. 软件危机主要表现在()。
A. 软件成本B. 软件质量C. 软件进度D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件工程的基本原理包括()。
A. 用分阶段的生命周期计划严格管理B. 强调开发过程的迭代性质C. 采用合适的编程规范D. 强调软件工具的使用答案:ABD2. 软件需求分析的常用方法包括()。
A. 数据流图B. 用例图C. 状态转换图D. 流程图答案:ABC3. 软件测试的类型包括()。
A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD4. 软件维护的类型包括()。
A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件工程中常用的设计模式包括()。
A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:ABCD三、简答题(每题5分,共20分)1. 简述软件工程中的模块化设计原则。
答案:模块化设计原则要求将系统分解成若干个模块,每个模块具有高内聚、低耦合的特点,以便于系统的开发、测试、维护和理解。
2. 描述软件需求分析的重要性。
答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。
软件工程课后习题(含答案)
第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。
2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。
二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。
可靠性是衡量软件质量的一个重要目标。
2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。
三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。
(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。
2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。
(2)软件开发简单,易学、易上手。
(3)专业或非专业人员都能参与软件开发活动。
第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。
2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。
3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。
4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。
二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。
2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。
3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。
软件工程习题及答案
软件工程习题及答案软件工程习题及答案一、选择题: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、软件是⼀种( 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 )。
软件工程习题及参考答案
软件工程习题及参考答案判断题软件也会磨损和老化。
(某)完善性维护是提高或完善软件的性能。
(√)数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。
(某)软件是指用程序设计语言(如PASCAL,C,VISUALBASIC等)编写的程序,软件开发实际上就是编写程序代码。
(某)软件模块之间的耦合性越弱越好。
(√)如果通过软件测试没有发现错误,则说明软件是正确的。
(某)快速原型模型可以有效地适应用户需求的动态变化。
(√)模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。
(√)集成测试主要由用户来完成。
(某)确认测试计划应该在可行性研究阶段制定(某)白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。
(某)软件概要设计包括软件系统结构设计以及数据结构和数据库设计。
(√)软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。
(√)系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。
(╳)模块越多,开发成本越小。
(╳)软件测试的目的就是证明软件没有错。
(╳)PAD图在设置了五种基本的控制结构后,还允许递归使用。
(√)在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。
(某)SA法是面向数据流,建立在数据封闭原则上的需求分析方法。
(√)HIPO法既是需求分析方法,又是软件设计方法。
(√)在面向对象的需求分析方法中,建立动态模型是最主要的任务。
(某)加工小说明是对系统流程图中的加工进行说明。
(某)判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。
(某)需求分析的主要方法有SD法、OOA法及HIPO法等。
(某)分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。
(某)信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R图。
软件工程习题(附答案)
软件工程习题(附答案)软件工程习题(附答案)1.概述1.1 介绍本文档是一份软件工程习题文档,包含了一系列关于软件工程的习题及其对应的答案。
这些习题涵盖了软件工程的各个方面,旨在帮助读者巩固和扩展自己的软件工程知识。
1.2 目的本文档的目的是提供一份全面而详细的习题文档,供软件工程学习者参考和学习。
每个习题都配有答案,以便读者可以自行对比答案和解答过程,提高自己的理解和运用能力。
2.软件需求工程2.1 需求获取2.1.1 什么是需求获取?为什么它在软件工程中非常重要?答案:需求获取是指在软件开发过程中,获取并理解用户对软件系统所需功能和约束的过程。
它在软件工程中非常重要,因为一个完整、清晰、准确的需求基础是成功软件开发的关键,它直接影响着软件系统的功能、性能和质量。
2.1.2 几种常见的需求获取方法。
答案:常见的需求获取方法包括面谈、问卷调查、观察、原型展示等。
2.2 需求分析与规格2.2.1 什么是需求分析?它的目标是什么?答案:需求分析是指对需求进行深入的分析和理解,以确定需求的准确性、完整性和一致性。
它的目标是明确系统需求,并将其规格化,为软件开发提供指导和依据。
2.2.2 需求分析的主要步骤有哪些?答案:需求分析的主要步骤包括需求获取与识别、需求验证与确认、需求排序与组织、需求规格化等。
3.软件设计3.1 结构化设计3.1.1 什么是结构化设计?答案:结构化设计是指将系统进行层次化和模块化分解,定义各个模块之间的接口和关系,从而使系统具有更好的可维护性、可扩展性和可重用性。
3.1.2 结构化设计的原则有哪些?答案:结构化设计的原则包括模块化原则、信息隐藏原则、高内聚低耦合原则等。
3.2 面向对象设计3.2.1 什么是面向对象设计?答案:面向对象设计是一种基于对象的思维方式,将系统分解为各个独立的对象,通过对象之间的交互和协作来实现系统的功能。
3.2.2 面向对象设计的主要特点是什么?答案:面向对象设计的主要特点包括封装、继承、多态等。
《软件工程》题库及参考答案
《软件工程》练习测试题库一、单项选择题1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()A.软件工程B.软件周期C.软件危机D.软件产生2.研究开发所需要的成本和资源是属于可行性研究中的()研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.法律可行性3.IDEF0图不反映出系统()A.系统做什么B.系统功能如何实现C.系统由谁来做D.系统实现的约束条件4.模块的内聚性最高的是()A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.在SD方法中全面指导模块划分的最重要的原则是()A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性6.软件详细设计主要采用的方法是()A.模块设计B.结构化设计C.PDL语言D.结构化程序设计7.下列关于JSP方法不正确的说法是()A.JSP方法主要用于规模不大的数据处理系统B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。
因此它只适用于详细设计阶段8.不适合作为科学工程计算的语言是()A. PascalB. CC. FortranD. Prolog9.黑盒测试在设计测试用例时,主要需要研究()A.需求规格说明与概要设计说明B.详细设计说明C.项目开发计划D.概要设计说明与详细设计说明10.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是()A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法11.下列属于维护阶段的文档是()A.软件规格说明B.用户操作手册C.软件问题报告D.软件测试分析报告12.快速原型模型的主要特点之一是()A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件13.因计算机硬件和软件环境的变化而做出的修改软件的过程称为()A.较正性维护B.适应性维护C.完善性维护D.预防性维护14.类库这种机制是()级别的信息共享。
软件工程习题附答案
软件工程习题附答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。
以下是一些软件工程的习题及答案,希望能帮助您更好地理解这门学科。
一、选择题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.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
考研软件工程试题及答案
考研软件工程试题及答案一、单项选择题(每题2分,共20分)1. 软件工程的主要目标是()。
A. 提高软件的可靠性B. 提高软件的生产率C. 降低软件的成本D. 以上都是答案:D2. 软件需求分析阶段的主要任务是()。
A. 确定软件的功能需求B. 确定软件的非功能需求C. 确定软件的界面需求D. 确定软件的性能需求答案:A3. 在软件测试中,黑盒测试的主要依据是()。
A. 程序内部逻辑B. 程序外部功能C. 程序设计文档D. 用户操作手册答案:B4. 软件开发过程中,需求变更可能导致()。
A. 项目延期B. 成本增加C. 质量下降D. 以上都是答案:D5. 面向对象分析与设计的主要概念不包括()。
A. 对象B. 类C. 模块D. 继承答案:C二、多项选择题(每题3分,共15分)1. 以下哪些是软件工程的基本原则?()A. 系统性原则B. 可维护性原则C. 可测试性原则D. 可扩展性原则答案:ABCD2. 软件项目管理包括以下哪些方面?()A. 时间管理B. 成本管理C. 风险管理D. 质量管理答案:ABCD3. 软件测试的目的是()。
A. 发现软件中的缺陷B. 验证软件是否满足需求C. 确保软件的可靠性D. 提高软件的性能答案:ABC三、简答题(每题5分,共20分)1. 简述软件生命周期的各个阶段。
答案:软件生命周期包括需求分析、设计、编码、测试、维护等阶段。
2. 什么是软件危机?它主要表现在哪些方面?答案:软件危机是指在软件开发过程中出现的一系列问题,如成本超支、进度延误、质量低下等。
3. 请解释什么是软件重构。
答案:软件重构是指在不改变软件外部行为的前提下,对软件内部结构进行调整,以提高其可理解性和可维护性。
4. 什么是敏捷开发?答案:敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法,强调团队合作、客户反馈和对变化的响应。
四、计算题(每题10分,共20分)1. 假设一个软件项目的开发周期为18个月,预计成本为1000万元。
软件工程试卷(附答案)
软件工程试卷(附答案)一、单项选择题(每题2分,共40分)1.软件生存周期模型有多钟,下列选项中,(C)不是软件生存周期模型。
A.螺旋模型B.增量模型C.功能模型D.瀑布模型2.以下说法错误的是(C)。
A.增量模型是在瀑布模型的基础上加以修改而形成的B.增量模型推迟某些阶段或所有阶段中的细节,从而较早地产生工作软件C.瀑布模型和增量模型都属于整体开发模型D.瀑布模型规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节 3.可行性分析中,系统流程图用于描述(A)。
A.当前运行系统C.目标系统B.当前逻辑模型D.新系统4.研究软硬件资源的有效性是进行(A)研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.操作可行性5、数据字典中,一般不包括下列选项中的(D)条目。
A.数据流B.数据储备C.加工D.源点与终点6、SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A)。
A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C.获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的逻辑模型D.获得当前系统的逻辑模型,抽象出目标系统的物理模型,建立目标系统的物理模型7、经由过程(B)可以完成数据流图的细化。
A.结构分析B.功能分解C.数据分析D.系统分解8、对软件进行分解,是为了(C)。
A.降低模块的复杂程度B.降低模块间接口的复杂程度C.降低模块的复杂程度,并降低模块间接口的复杂程度D.降低模块的复杂程度,并提高模块间接口的复杂程度9、为了提高模块的独立性,模块内部最好是(C)。
A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚10、在软件结构设计完成后,对于下列说法,正确的是(C)。
A.非单一功能模块的扇入数大比较好,申明本模块重用率高B.单一功能的模块扇入高时应重新分解,以消除掌握耦合的情况C.一个模块的扇出太多,说明该模块过分复杂,缺少中间层D.一个模块的扇入太多,申明该模块过分复杂,缺少中央层11、在软件开发过程中,以下说法正确的是(B)。
软件工程(习题及参考答案)
第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. ()是将系统化的、标准的、可定量的方式应用于软件的开发、运行和保护的进程,它包括方式、工具和进程三个要素。
软件工程考试题及答案
软件工程考试题及答案一、选择题(每题2分,共20分)1. 软件工程中的需求分析阶段的主要任务是什么?A. 确定软件的功能需求B. 设计软件的架构C. 编写软件的详细设计文档D. 进行软件的编码实现答案:A2. 在软件开发过程中,哪个阶段是进行风险评估的?A. 需求分析B. 设计C. 编码D. 测试答案:B3. 软件测试中的黑盒测试通常是基于什么进行的?A. 程序源代码B. 程序的内部逻辑C. 程序的功能需求D. 程序的运行环境答案:C4. 敏捷开发方法论中,哪个活动是迭代的核心?A. 需求收集B. 编码实现C. 测试D. 回顾会议答案:B5. 在软件维护中,哪种类型的维护是最常见的?A. 纠错性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A二、填空题(每空1分,共10分)6. 软件工程的生命周期包括需求分析、________、编码、测试和维护等阶段。
答案:设计7. 软件工程中的_______原则指的是高内聚低耦合。
答案:模块化8. 在软件开发中,_______ 是指软件在特定条件下使用时,能够达到预期功能、性能要求的能力。
答案:可靠性9. 软件项目管理中的_______ 是指在项目开发过程中,对项目进行监控和控制,确保项目按计划进行。
答案:监控10. 在软件测试中,_______ 是指测试用例设计得尽可能覆盖所有可能的执行路径。
答案:穷尽测试三、简答题(每题10分,共30分)11. 简述软件工程中的模块化设计原则及其优点。
答案:模块化设计原则是指将软件系统划分为多个模块,每个模块具有特定的功能,并且模块之间通过定义良好的接口进行交互。
其优点包括:- 易于管理:模块化使得软件更容易理解和维护。
- 可重用性:模块可以在不同的项目中重复使用。
- 并行开发:模块化允许多个团队并行开发不同的模块。
- 灵活性:模块化提高了软件的灵活性,便于扩展和修改。
12. 解释什么是软件的可维护性,并说明其重要性。
软件工程习题+答案
一、选择题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)。
通过软件测试,可以发现软件中所有潜伏的错误.(X)
非结构化维护用于软件的配置中只有源代码维护.(√)
系统规格说明是系统分析和定义阶段生成的一种文档.(√)
数据流图的分解速度应保持较高.通常一个加工每次可分解为10~20个子加工.(X)
聚度标志一个模块部各成分彼此结合的紧密程度,按其高低程度可分为七级,聚度越低越好.(X)
软件工程习题及部分参考答案
判断题
软件也会磨损和老化。(X)
完善性维护是提高或完善软件的性能。(√)
数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(X)
软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(X)
信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是
E-R图。(√)
用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整
性、现实性和有效性。(√)
PDL经常表现为一种"混杂"的形式,他不允许自然语言如英语的词汇与某种结构化程序设计语言(如Pascal,C,Ada等)的语法结构交织在一起.(X)
白盒测试无需考虑模块部的执行过程和程序结构,只要了解模块的功能即可。(X)
软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(√)
软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。(√)
系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。(╳)
结构化维护用于待维护的软件的配置是完整的维护.(√)
用户本身的技能,个性上的差异,行为方式的不同,不会对人机界面使用造成影响.(X
程序的可靠性,可维护性和效率通常由程序设计语言,源代码的质量,和语言的实现机制决定的.(√)
程序文档一般指以注释的形式嵌入程序中的代码描述.(√)
为提高可交互性一般应提高用户对话,移动和思考的效率,即最大可能地减少击键次数,缩短鼠标移动的距离,避免使用户产生无所适从的感觉.(√)
一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(X)
在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。(√)
快速原型技术适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。(√)
流程图也称为程序(框图)是最常用的一种表示法。(√)
文档可用于专业人员和用户之间的通信和交流;软件开发过程的管理;运行阶段的维护。(√)
软件开发、设计几乎都是从头开始,成本和进度很难估计。(√)
适应性维护是改进软件未来的可维护性和可靠性。(X)
由于软件是逻辑产品,软件质量较容易直接度量。(X)
目前我国还没有颁布软件开发标准。(X)
按照功能,软部件可划分为系统软件和应用软件两类。(√)
模块越多,开发成本越小。(╳)
软件测试的目的就是证明软件没有错。(╳)
PAD图在设置了五种基本的控制结构后,还允许递归使用。(√)
在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。(×)
SA法是面向数据流,建立在数据封闭原则上的需求分析方法。(√)
HIPO法既是需求分析方法,又是软件设计方法。(√)
在面向对象的需求分析方法中,建立动态模型是最主要的任务。(×)
加工小说明是对系统流程图中的加工进行说明。(×)
判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。(×)
需求分析的主要方法有SD法、OOA法及HIPO法等。(×)
分层的DFD图可以用于可行性分析阶段,描述系统的物理结构。(×)
模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高聚,低耦合度的软件产品。(√)
集成测试主要由用户来完成。(X)
确认测试计划应该在可行性研究阶段制定(X)
白盒测试无需考虑模块部的执行过程和程序结构,只要了解模块的功能即可。(X)
软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(√)
如果某子功能可以用一段简洁、精确的文字描述清楚,就无需进一步分解,是创建用户需求的数据流模型应遵循的规则。(√)
一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。(√)
目前的绝大多数软件都不适合于快速原型技术。(X)
缺乏处理大型软件项目的经验。是产生软件危机的唯一原因。(X)
通常紧致性好的语言一致性就好。(X)
测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。(X)
理想的人机界面应针对具有典型个性的特定的一类用户设计。(√)
数据输入的一般准则中包括尽量(增加)用户输入的动作。(X)
用穷举测试是较现实的测试方法。(X)
编码时应尽可能使用全局变量(X)
重视程序结构的设计,能使程序具有较好的层次结构(√)
程序中的注解越少越好( X )。
缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一(√)
生产高质量的软件产品是软件工程的首要目标.(√)
软件开发人员对用户需求的理解有偏差,这将导致软件产品与用户的需求不一致,是产生软件危机的唯一原因.(X)
开发一个软件项目总存在某些不确定性,即存在风险.有些风险如果控制得不好,可能导致灾难性的后果.(√)
一般单元测试不可以并行进行.(X)
螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。(√)
数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。(X)
软件模块之间的耦合性越弱越好。(√)
如果通过软件测试没有发现错误,则说明软件是正确的。(X)
快速原型模型可以有效地适应用户需求的动态变化。(√)
软件模块之间的耦合性越弱越好。(√)
如果通过软件测试没有发现错误,则说明软件是正确的。(X)
快速原型模型可以有效地适应用户需求的动态变化。(√)
模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高聚,低耦合度的软件产品。(√)
集成测试主要由用户来完成。(X)
确认测试计划应该在可行性研究阶段制定(X)