软件工程导论试题集
软件工程导论复习试题库完整
a(1)在软件工程中,白盒测试法可用于测试程序的部结构。
此方法将程序看作是A)路径的集合B)循环的集合C)目标的集合D)地址的集合c(2)在下述哪一种测试中,测试程序的设计者必须接触到源程序I.功能测试Ⅱ.结构测试A)均不须B)只有ⅠC)只有ⅡD)Ⅰ和Ⅱa(3)检查软件产品是否符合需求定义的过程称为A)确认测试B)集成测试C)验证测试D)验收测试c(4)下述述中,哪一个不是软件健壮性的度量指标?A)失败后重新启动所需的时间B)引起失败的时间所占的百分比D)失败前的平均工作时间D)在一次失败中数据恶化的概率b(5)对软件是否能达到用户所期望的要求的测试称为A)集成测试B)有效性测试C)系统测试D)验收测试a(6)在面向数据流的软件设计方法中,一般将信息流分为A)变换流和事务流B)变换流和控制流C)事务流和控制流D)数据流和控制流d(7)软件需求说明书是软件需求分析阶段的重要文件,下述哪个(些)是其应包含的容I.数据描述Ⅲ.模块描述II.功能描述Ⅳ.性能描述A)ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅱ和ⅢD)Ⅰ、Ⅱ和Ⅳ(8)软件测试一般分为三类,即I.静态测试Ⅱ.动态测试Ⅲ.正确性测试设计测试用例对程序进行测试,应属于A)ⅠB)ⅡC)Ⅰ和ⅡD)Ⅲ(9)模块独立性是由聚性和耦合性来度量的,其中聚性是度量____,耦合性是度量____。
A)模块间联系程度B)模块的功能强度C)信息隐蔽程度D)模块的复杂程度(10)软件设计中一般将用到图形工具,下述哪种(些)工具可用作设计的图形工具I.结构图Ⅱ.实体关系图Ⅲ.IPO图II.Ⅳ.流程图Ⅴ.N-S图A)Ⅰ和ⅡB)Ⅲ和ⅣC)Ⅰ、Ⅲ、Ⅳ和ⅤD)全部A(2)C(3)A(4)C(5)B(6)A(7)D(8)B(10)C(11)试判断下列论述中哪个(些)是正确的I.软件系统中所有的信息流都可以认为是变换流II.软件系统中所有的信息流都可以认为是事务流III.事务分析和变换分析的设计步骤基本类似A)ⅠB)ⅡC)ⅢD)Ⅰ和Ⅲ(12)软件的有效性测试是验证软件的运行是否达到用户的期望,用户的期望应体现于A)详细设计报告B)软件需求说明书C)总体设计报告D)有效性测试要求(13)软件设计中的软件过程其主要描述的是A)模块间关系B)模块操作细节C)模块控制方法D)模块类型(14)软件测试是软件件开发过程的重要阶段,是软件质量保证的重要手段,下列哪个(些)是软件测试的任务?I.预防软件发生的错误Ⅱ.发现改正程序错误Ⅲ.提供诊断错误信息A)只有Ⅰ均不须B)只有ⅡC)只有ⅢD)都是(15)软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?A)功能测试B)单元测试C)结构测试D)确认测试(16)软件维护是软件运行期的重要任务,下列维护任务中哪一类维护是软件维护的主要部分?A)完善性维护B)适应性维护C)改正性维护D)预防性维护(17)软件开发中常采的结构化生命周期方法,由于其特征而一般称其为A)瀑布模型B)对象模型C)螺旋模型D)层次模型(18)软件原型化开发方法有其基本步骤,下述I.获取基本需求Ⅱ.开发工作模型Ⅲ.严格细部说明Ⅳ.模型验证中,哪些(个)是实现原型化的最基本的步骤?A)全部都是B)Ⅰ,Ⅱ和ⅣC)ⅣD)Ⅰ和Ⅱ(19)软件设计将涉及软件的结构、过程和模块的设计,其中软件过程是指A)模块间的关系B)模块的操作细节C)软件层次结构D)软件开发过程(20)软件需求分析和设计过程中,其分析与设计对象可归结为两个主要的对象,即数据和程序,按一般实施的原则,对二者的处理应该是A)先数据后程序B)先程序后数据C)与顺序无关D)可同时进行(11)D(12)B(13)B(14)D(15)B(16)A(17)A(18)B(19)B(20)A(21)结构化分析(SA)方法将欲开发的软件系统分解为若干基本加工,并对加工进行说明,下述I.结构化语言Ⅱ.判定树Ⅲ.判定表是常用的说明工具,其中便于对加工出现的组合条件的说明工具是A)Ⅱ和ⅢB)Ⅰ、Ⅱ和ⅢC)Ⅰ和ⅢD)Ⅰ和Ⅱ(22)软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是A)分析阶段B)设计阶段C)编码阶段D)测试阶段(23)加工是对数据流图中不能再分解的基本加工的精确说明,下述哪个是加工的最核心成分?A)加工顺序B)加工逻辑C)执行频率D)激发条件(24)构建一个原型不支持下述哪种功能?A)取代最终系统B)辅助收集软件需求C)辅助估计工程代价D)作为较大工程的基础(25)软件文档是软件的重要组成部分,也是软件开发阶段的基础,它还影响到软件的A)可复用性B)可维护性C)可扩展性D)可移植性(26)下列哪种描述是正确的?A)定义阶段产生软件需求规划B)测试在软件生命周期中是可选的C)CASE工具只能辅助软件生命周期的设计阶段D)后一阶段改变时,不需要更新以前所有阶段的文档(27)黑盒测试法和白盒测试法经常用于软件测试阶段,其中白盒测试法主要用于测试软件的A)结构合理性B)程序正确性C)程序外部功能D)程序部逻辑(28)软件计划是软件开发的早期和重要阶段,此阶段要求交互和配合的是A)设计人员和用户B)分析人员和用户C)分析人员和设计人员D)编码人员和用户\(21)A(22)C(23)B(24)A(25)B(26)A(27)D(28)B(29)C(30)A(29)数据流图是用于软件需求分析的工具,下列元素I.数据流Ⅱ.加工Ⅲ.数据存储Ⅳ.外部实体(源或潭)哪些是其基本元素?A)Ⅰ,Ⅱ和ⅢB)Ⅰ和ⅢC)全部D)Ⅰ,Ⅲ和Ⅳ(30)数据字典(DD)是定义哪一种系统描述工具中的数据的工具?A)数据流程图B)系统流程图C)程序流程图D)软件结构图(31)软件需求分析一般应确定的是用户对软件的A)功能需求B)非功能需求C)性能需求D)功能需求和非功能需求(32)软件设计包括总体设计和详细设计两部分,下列述中哪个是详细设计的容?A)软件结构B)数据库设计C)制定测试计划D)模块算法(33)数据字典是对数据定义信息的集合,它所定义的对象都包含于A)数据流图B)程序框图C)软件结构D)方框图(34)软件设计中,设计复审是和设计本身一样重要的环节,其主要目的和作用是能A)减少测试工作量B)避免后期付出高代价C)保证软件质量D)缩短软件开发周期(35)程序设计语言的选择是顺利实施编程的重要基础,评价可用语言的因素甚多,而其首要的选择依据是A)语言的应用领域B)对语言的熟悉程度C)数据结构的复杂度D)算法的复杂度(36)软件开发的原型化方法是一种动态定义软件需求的方法,下述条件:I.成熟的原型化人员Ⅱ.快速的成型工具Ⅲ.需求了解的准确性哪个(些)条件是实施原型化方法所必备的?A)Ⅰ和ⅡB)Ⅱ和ⅢC)Ⅰ,Ⅱ和ⅢD)Ⅲ(37)软件的可维护性度量可分解为对多种因素的度量,下述各种因素I.可测试性Ⅱ.可理解性Ⅲ.可修改性Ⅳ.可复用性哪个(些)是可维护性度量的容?A)全部B)ⅠC)Ⅰ,Ⅱ和ⅢD)Ⅰ和Ⅱ(38)软件测试是软件开发过程中重要和不可缺少的阶段,其包含的容和步骤甚多,而测试过程的多种环节中基础的是A)集成测试B)单元测试C)系统测试D)验收测试(39)数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,那些是常采用的?I.自顶向下Ⅱ.自底向上Ⅲ.分层绘制Ⅳ.逐步求精A)全是B)Ⅰ,Ⅲ和ⅣC)Ⅱ,Ⅲ和ⅣD)Ⅰ和Ⅲ(31)D(32)D(33)A(34)B(35)A(36)A(37)C(38)B(39)B(40)B(40)结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的A)控制流B)数据流C)程序流D)指令流(41)软件结构是软件模块间关系的表示,下列术语中哪一个不属于对模块间关系的描述?A)调用关系B)从属关系C)嵌套关系D)主次关系(42)原型化方法是一类动态定义需求的方法,下列叙述中,哪一个不具有原型化方法的特征?A)提供严格定义的文档B)加强用户参与和决策C)简化项目管理D)加快需求的确定(43)评审是对软件进行静态测试的一种方法,下述结论中,哪个是与软件评审无关的容?A)尽量发现错误B)检查软件文档C)根据评审标准D)依靠测试信息(44)软件维护是软件得以正常运行的重要环节,按照软件工程方法的理解,一般软件维护应该开始于A)阅读设计文档B)理解程序代码C)分析软件结构D)查阅测试记录(45)软件工程哪个阶段产生软件需求定义?A)定义阶段B)工程阶段C)维护阶段D)开发阶段(46)自顶向下绘制多层数据流程图时,必须考虑到父图与子图之间的平衡,此平衡通常由___来维护A)输出数据B)数据字典C)处理序号D)输入数据(47)下述哪种是聚性最严格的形式?A)逻辑B)功能C)过程D)一致性(48)下述哪个不是白盒测试法的概念?A)应该执行边界条件下的所有循环B)应该执行边界条件下的所有接口B)应该执行所有逻辑判断的真假情况D)应该至少执行一次模型中的所有独立路径(49)原型化方法是一个动态设计过程,它要求使用该方法的人员具有下述哪种能力A)熟练的编程技能B)及时获得用户需求C)协作精神及有力管理D)巧妙使用工具(50)数据流程图(DFD)是用于描述结构化方法中哪一个工作阶段的工具?(41)D(42)A(43)D(44)C(45)A(46)B(47)B(48)B(49)B(50)BA)可行性分析B)需求分析C)详细设计D)程序编码(51)判定树和判定表是用于描述结构化分析方法中哪一环节的工具?A)功能说明B)数据加工C)流程描述D)结构说明(52)在结构化方法中,软件功能分解应属于软件开发中的哪一阶段?A)详细设计B)需求分析C)总体设计D)编程调试(53)信息隐蔽的概念与下述哪一种概念直接相关?A)软件结构定义B)模块独立性C)模块类型划分D)模块耦合度(54)结构化程序流程图中一般包括三种基本结构,下述结构中哪一种不属于其基本结构?A)顺序结构B)条件结构C)选择结构D)嵌套结构(55)软件复审时其主要的复审对象是A)软件结构B)软件文档C)程序编码D)文档标准(56)软件需求规格说明书不应包含的容是A)系统输入/输出的描述B)质量控制方案C)数据字典D)用户界面需求描述E)系统可靠性要求描述F)测试方案G)需求分析阶段进度安排H)人员需求(51)B (52)C (53)B (54)D (55)B (56)F G H(57)将下面的DFD 转换为初始化的模块结构图图中:左竖虚线表示此处为系统的逻辑输入右竖虚线表示此处为系统的逻辑输出57-1)57-2)57-3)(58)将下面的伪码转换为PAD 和N-S 图beginS1;If x>5then S2else S3;while y<0do beginif z>3then S4else S5;while w>0then S6;S7end;S8;If u>0thenS9;S10;End.(59)将下面的PAD 转换为流程图X D 4G M 7B A 12C 3E56H N 8Y 9Z v g 6j u 10a 1f5i 78k x y Zb 2dc 4e391112j f h i e 47l1c 3d28ab g 6k 59(60)将下面给出的伪码,转换为PAD 图和程序流程图。
软件工程导论复习题含答案
软件工程导论复习题含答案软件工程习题集第1章概述(一)单项选择题1.“软件危机”产生的主要原因是(a)。
a.软件日益巨大b.开发方法不当c.开发人员编写程序能力差d.没保护不好软件2.软件就是一种(b)性工业产品。
a.理论b.科学知识(或逻辑)c.消耗d.体力3.需求分析是在(b)进行的。
a.用户b.用户和分析设计人员之间c.开发人员内部4.软件的主要结构和功能就是在(a)阶段同意的。
a.分析设计b.编程c.测试d.维护5.软件就是计算机系统中与硬件相互依存的另一部分,它的组成部分就是(d)。
d.使用和维护人员间a.程序、数据b.程序、文档c.程序d.程序、数据、文档6.在软件工程时期,决定软件质量的主要因素是(a)a.管理水平b.个人程序技术c.小组技术水平d.硬件的发展7.在软件开发模型中,提出最早、应用最广泛的模型是(a)。
a.瀑布模型b.喷泉模型c.增量模型d.螺旋模型8.瀑布模型把软件生存周期划分为软件定义、软件开发与(c)三个阶段,而每一阶段又可分为若干更小的阶段。
a.详细设计b.可行性分析c.运转及保护d.测试与排错9.计算机辅助软件工程,简称(d)。
a.sab.sdc.scd.case10.软件危机是软件产业化过程中出现的一种现象,下述现象中:(c)是其主要表现。
①软件须要快速增长难以满足用户。
②软件开发成本提升。
③软件开发进度难以掌控。
④软件质量难于确保。
a.③和④b.③和④c.全部d.①、②和③11软件工程的发生主要就是由于(c)。
a.程序设计方法学的影响c.软件危机的出现b.其他工程科学影响d.计算机的发展12、软件生成周期模型有多种,下列选项中,(c)不是软件生存周期模型。
a.螺旋模型b.增量模型c.功能模型d.瀑布模型(二)简答题1.软件产品的特点是什么?2.软件生产的发展经历了哪几个时代?各有何特征?3.软件危机的概念、表现形式、产生原因、化解途径4.详述主要的软件生存期模型(或软件开发模型)。
软件工程导论复习题
一、选择题1、在软件开发模型中,提出最早,应用最广泛的模型是(A)A.瀑布模型 B 螺旋模型C演化模型D原型模型2、瀑布模型存在的问题(B)A用户容易参与开发 B缺乏灵活性 C用户与开发者沟通 D适用可变需求3、可行性研究一般不考虑(D)A是否有足够的人员和相关技术来支持系统开发B 是否有足够的工具和相关技术来支持系统开发C 待开发软件是否有市场、经济上是否合算D软件开发是否有质量问题4、软件详细设计的主要任务是确定每个模块的(A)A 算法和使用的数据类型B外部接口 C 功能D编程5、可行性分析是在系统开发的早期所做的一项重要的论证工作,它统是否开发的决策依据,因必须给出(B)的回答A 确定B行或不行C正确D无6、流程图是用来描述(D)A描绘程序结构B描绘系统的逻辑模型C表示信息层次结构的图形工具D描绘物理系统7、为了提高软件的可维护性,在编码阶段应注意(养成良好的程序设计风格)总体设计阶段注意(提高模块独立性)测试阶段注意(保存测试用例和数据)8、快速原型模型的主要特点之一是(D)A开发完毕才能见到产品B及早提供全部完整的软件产品C开发完毕后才能见到工作软件D及早提供工作软件9、软件需求分析的主要任务是准确定义出要开发的软件系统是(C)A 如何做B 怎么做C做什么D对谁做10、软件维护产生的副作用,是指(C)A开发时的错误B隐含的错误 C因修改软件而造成错误 D运行时误操作11、软件生命周期中所花费用最多的阶段是(D)A 详细设计B软件编码C软件测试 D 软件维护12、模块的内聚性最高的是(D)A 逻辑内聚B时间内聚C偶然内聚D功能内聚13、与确认测试阶段有关的文档是(A)A需求规格说明书 B概要设计说明书 C详细设计说明书D源程序14、白盒测试主要用于测试(A)A 程序的内部逻辑 B程序的正确性 C程序的外部功能 D机构合理性15、软件开发和维护的工程中出现的一系列的严重问题称(D)A软件工程 B 软件开发C软件周期D内部逻辑16、在SD方法中全面指导模块划分最重要原则(D)A 程序模块化B模块高内聚C模块低耦和D模块独立性17、下面属于维护阶段文的档的是(C)A 软件规格说明B用户操作手册C软件问题报告D软件测试分析报告18、软件按照设计的要求,在规定时间和条件下达到不出故障持续运行的质量特征为(B) A可用性B可靠性C正确性D完整性19、需求分析中开发人员需要从用户那里交接(A)A软件做什么 B 用户使用界面C输入的信息D软件的规范20、(D)是系统化的、规范化的、可定量的方法应用于软件的开发、维护的过程,它包括方法、工具和过程三个要素。
软件工程导论《软件工程》期末考试题及答案
软件工程导论《软件工程》期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪项不是软件工程的基本目标?A. 提高软件的生产率B. 提高软件的可维护性C. 提高软件的性能D. 降低软件的开发成本答案:C2. 下列哪种方法不属于软件需求分析的方法?A. 数据流图(DFD)B. 实体-关系图(ER图)C. 状态转换图D. Petri网答案:D3. 软件设计中,模块的内聚性越高,表明模块的:A. 功能越单一B. 独立性越强C. 复用性越低D. 可维护性越低答案:A4. 在软件测试阶段,下列哪种测试方法不属于黑盒测试?A. 等价类划分B. 边界值分析C. 代码覆盖率分析D. 逻辑覆盖分析答案:D5. 软件项目管理中,项目经理的主要职责不包括以下哪项?A. 制定项目计划B. 管理项目进度C. 组织项目团队D. 编写代码答案:D二、填空题(每题2分,共20分)6. 软件生命周期可以分为______、需求分析、设计、编码、测试、维护等阶段。
答案:需求调研7. 软件工程的三要素是______、过程、方法。
答案:工具8. 在软件设计中,模块的独立性包括______和耦合性两个方面。
答案:内聚性9. 软件测试的目的不包括______。
答案:发现并修复所有错误10. 软件项目管理的主要目标是实现项目的______、质量和成本控制。
答案:进度三、简答题(每题10分,共30分)11. 简述软件工程的基本原则。
答案:软件工程的基本原则包括:(1)抽象:将复杂问题分解为更简单的子问题;(2)分解:将问题分解为多个部分,分别解决;(3)模块化:将软件划分为独立的模块,提高可维护性和复用性;(4)信息隐藏:隐藏模块内部的信息,只暴露必要的接口;(5)一致性:保持软件各部分的一致性,提高可读性;(6)可维护性:使软件易于修改和维护。
12. 简述软件需求分析的目的和任务。
答案:软件需求分析的目的在于明确用户对软件系统的功能、性能等方面的需求。
2023软件工程导论期末考试题库及参考答案
2023软件工程导论期末考试题库及参考答案一、选择题(每题2分,共20分)1. 以下哪个不是软件工程的三个基本目标?A. 可维护性B. 可用性C. 可靠性D. 高效性参考答案:D2. 软件生命周期中,以下哪个阶段是软件开发过程的核心阶段?A. 需求分析B. 设计C. 编码D. 测试参考答案:C3. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程参考答案:A4. 在软件工程中,以下哪个方法用于估算软件项目的成本和进度?A. COCOMOB. WBSC. SDLCD. CASE参考答案:A5. 以下哪个是软件工程中的一个重要原则?A. 分而治之B. 一次性编写C. 重用D. 模块化参考答案:D6. 以下哪个不是软件工程的基本活动?A. 软件规格B. 软件开发C. 软件验证D. 软件测试参考答案:C7. 以下哪个是软件工程中用于提高软件质量的技术?A. 设计模式B. 重构C. 代码审查D. 单元测试参考答案:C8. 以下哪个不是软件工程的五大基本过程?A. 软件规格B. 软件开发C. 软件维护D. 软件项目管理参考答案:D9. 以下哪个是软件工程中的一个重要概念,用于描述软件系统中的各个组件之间的关系?A. 耦合B. 内聚C. 模块化D. 重用参考答案:A10. 以下哪个是软件工程中的一个重要原则,用于指导软件开发过程?A. 迭代B. 增量C.螺旋D. 模型驱动参考答案:A二、填空题(每题2分,共20分)11. 软件工程的三要素是:方法、工具和______。
参考答案:过程12. 软件生命周期包括:需求分析、设计、编码、______和软件维护。
参考答案:测试13. 软件工程中的面向对象方法包括:封装、继承和______。
参考答案:多态14. 软件工程中的 CASE 工具主要用于支持______。
参考答案:软件设计和开发15. 软件工程中的敏捷开发方法强调______、可维护性和可扩展性。
《软件工程导论》试题及答案
《软件工程导论》试题及答案软件工程导论试题及答案一、选择题1. 软件工程是一门多学科交叉的学科,其中包括以下哪些学科?A. 计算机科学B. 电子工程C. 数学D. 管理学E. 心理学答案:A、B、C、D2. 软件工程的目标是什么?A. 提高软件开发效率B. 提高软件质量C. 提高软件可靠性D. 提高软件维护性E. 提高软件安全性答案:A、B、C、D、E3. 软件过程模型是指软件开发过程中的一种抽象表示方法,常用的软件过程模型有哪些?A. 瀑布模型B. 增量模型C. 螺旋模型D. 敏捷模型E. 喷泉模型答案:A、B、C、D4. 以下哪个开发方式可以在软件开发过程中提供更多的灵活性和快速反馈?A. 瀑布模型B. 增量模型C. 螺旋模型D. 敏捷模型答案:D5. 软件需求分析的主要任务是什么?A. 确定软件的功能和性能需求B. 定义软件系统的架构C. 设计软件的用户界面D. 实施软件测试答案:A二、填空题1. 软件工程的核心目标是提高软件的 ______ 和 ______ 。
答案:质量、可靠性2. 软件工程中的四个基本活动是需求分析、设计、 ______ 和______ 。
答案:实现、维护3. 瀑布模型的五个阶段依次是:需求分析、设计、编码、 ______ 和 ______ 。
答案:测试、维护4. “快速原型”开发模型注重 ______ 。
答案:用户参与5. 敏捷开发模型的核心原则是 ______ 。
答案:迭代开发三、简答题1. 请简要说明为什么软件工程是一门多学科交叉的学科?答:软件工程在开发软件的过程中需要结合计算机科学的知识来实现软件的功能,同时也需要借鉴电子工程的设计思想来构建软件系统的架构。
此外,软件工程还应用了数学方法来进行软件需求分析和软件质量保证,同时也需要管理学的知识来进行项目管理和团队协作。
2. 请简述螺旋模型在软件开发过程中的应用场景。
答:螺旋模型适用于大型复杂项目或对安全性要求较高的项目。
软件工程导论复习题含答案
软件工程习题集第1章概述(一)单项选择题1.“软件危机”产生的主要原因是( A )。
A.软件日益庞大B.开发方法不当C.开发人员编写程序能力差D.没有维护好软件2. 软件是一种( B )性工业产品。
A. 理论B. 知识(或逻辑)C. 消耗D. 体力3. 需求分析是在( B )进行的。
A. 用户B. 用户和分析设计人员之间C. 开发人员内部D. 使用和维护人员间4. 软件的主要结构和功能是在( A )阶段决定的。
A. 分析设计B. 编程C. 测试D. 维护5.软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是( D )。
A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档6.在软件工程时期,决定软件质量的主要因素是( A )A.管理水平 B.个人程序技术 C.小组技术水平 D.硬件的发展7. 在软件开发模型中,提出最早、应用最广泛的模型是( A )。
A. 瀑布模型B. 喷泉模型C. 增量模型D. 螺旋模型8.瀑布模型把软件生存周期划分为软件定义、软件开发与( C )三个阶段,而每一阶段又可分为若干更小的阶段。
A. 详细设计B. 可行性分析C. 运行及维护D. 测试与排错9. 计算机辅助软件工程,简称( D )。
A. SAB. SDC. SCD. CASE10. 软件危机是软件产业化过程中出现的一种现象,下述现象中:( C )是其主要表现。
①软件需要增长难以满足。
②软件开发成本提高。
③软件开发进度难以控制。
④软件质量不易保证。
A. ③和④B. ③和④C. 全部D. ①、②和③11 软件工程的出现主要是由于( C )。
A. 程序设计方法学的影响B. 其他工程科学影响C. 软件危机的出现D. 计算机的发展12、软件生成周期模型有多种,下列选项中,( C )不是软件生存周期模型。
A.螺旋模型B.增量模型C.功能模型D.瀑布模型(二)简答题1. 软件产品的特点是什么?2. 软件生产的发展经历了哪几个时代?各有何特征?3. 软件危机的概念、表现形式、产生原因、解决途径4. 简述主要的软件生存期模型(或软件开发模型)。
(完整版)软件工程导论试题(整理)
单项选择题(每小题1分,共10分)1、在结构性的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标( A )(A)需求分析阶段(B)详细设计阶段(C)概要设计阶段(D)可行性2、研究阶段软件工程方法中普遍定义的方法之一是结构化生命周期方法(SLC方法),下述哪一个论述不具有SLC方法的主要特征( C )A 严格定义需求B 划分开发阶段C 规范文档格式D 分析控制流程3、软件结构中两个模块之间有调用关系,传递简单数据值,相当于高级语言中的值传递,这两个模块之间的耦合是( D )(A)公共耦合(B)控制耦合(C)标记耦合(D)数据耦合4、软件维护的四类维护活动是( A )(A)改正性维护,适应性维护,完善性维护和预防性维护。
(B)适应性维护,完善性维护,抢救性维护和辅助性维护。
(C)改正性维护,适应性维护,完善性维护和辅助性维护。
(D)适应性维护,完善性维护,抢救性维护和预防性维护。
5、主要从( A )几个方面进行系统可行性研究。
(A)技术可行性,经济可行性,操作可行性。
(B)技术可行性,经济可行性,系统可行性。
(C)经济可行性,系统可行性,操作可行性。
(D)经济可行性,系统可行性,时间可行性。
6、进行需求分析可使用多种工具,但( C )是不适用的。
(A)数据流图(B)判定表(C)PAD图(D)数据字典7、软件需求分析阶段的工作,可以分为四个方面:对问题的识别、分析与综合、编写需求分析文档以及( B )(A)软件的总结(B)需求分析评审(C)阶段性报告(D)以上答案都不对8、OMT(Object Modelling Technique)方法的第一步是从问题的陈述入手,构造系统模型。
系统模型由对象模型、( C )组成。
A静态模型和功能模型 B动态模型和过程模型C动态模型和功能模型 D静态模型和操作模型9、为了表示项目管理功能工作中各项任务之间的进度衔接关系,常用的计划管理工具是( D )(A)程序结构图(B)数据流图(C) E-R图(D)甘特(Gantt)图①软件生命周期中所花费用最多的阶段是(D)A.详细设计B.软件编码C.软件测试D.软件维护②可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出(B)的回答。
软件工程导论试卷A
一、填空题(20分,每个空1分)1、软件生命周期可划分为、软件维护三个时期。
把这三个时期再细分为八个阶段,它们是、、需求分析、、、编码与单元测试、综合测试和运行维护。
2、一般而言,可行性研究主要从、、操作、法律与社会效益等五个方面研究软件项目的可行性问题。
3、应该从一致性、、现实性和等4个方面验证软件需求的正确性。
4、软件的总体设计过程通常由两个主要的阶段组成:阶段,确定软件系统的具体实现方案;阶段,确定软件结构。
5、通常把软件测试的方法分为和两大类。
6、软件投入运行后进入维护阶段。
其中,改正程序中的错误称为维护,增加或完善软件功能是维护,为满足新的运行环境或平台的要求而进行的是维护,为未来修改程序的维护是预防性维护。
7、软件项目的规模度量技术主要有两种,分别是技术和技术。
软件项目工作量是软件规模的函数,其计算单位通常是。
二、判断题(20分,每小题1分)请先阅读试题,然后在正确的结论后划√、错误的结论后划×。
1、软件开发过程中的错误暴露越迟,修复和改正错误的代价就越大。
()2、可行性分析后的需求分析就是解决目标系统的设计方案。
()3、软件生命周期的各个阶段中,开发阶段所花费的时间和代价是最大的。
()4、需求规格说明书在软件开发中具有重要作用,可以作为软件测试与维护的依据。
()5、文档是软件产品的一部分,没有文档的软件就不称其为软件产品。
()6、软件的可维护性就是指软件是可以修改的——可修改性。
()7、系统流程图描述的是系统的物理模型,数据流程图描述的是系统的逻辑模型。
()8、数据字典定义数据流程图中的数据流及数据流分量(数据元素)。
()9、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。
()10、信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是E-R 图。
( )11、结构化分析法是面向数据流、建立在数据封闭原则上的需求分析方法。
()12、根据软件规模估算模型计算出的工作量,就是项目实际开发进度时的实际时间。
软件工程导论测试卷(打印)
软件工程导论试卷(老师给的)一.选择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.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的( 信息流动)情况。
软件工程导论期末复习题_答案.
一、单向选择题(四选一、每小题3分,共18分)1、软件的发展经历了(D)个发展阶段。
0102A.一B.二C.三D.四2、需求分析的任务不包括(B)。
0401A.问题分析B.系统设计C.需求描述D.需求评审。
3、一个软件的宽度是指其控制的(C)。
0801A.模块数B.层数C.跨度D.厚度4、当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系。
0802A.判定表和判定树B.盒图C.流程图D.关系图5、以下不属于逻辑覆盖的是(D)。
1402A.语句覆盖B.判定覆盖C.条件覆盖D.基本路径6、为适应软件运行环境的变化而修改软件的活动称为(B)。
1501A.纠错性维护B.适应性维护C.改善性维护D.预防性维护二、填空题(每空2分,共18分)1.软件可靠性是指在给定的时间间隔内,程序成功运行的(概率)。
01012.高级语言:独立于机器,面向过程或面向(对象)01013.软件项目管理的范围主要集中于3个P上,即:People人员、Problem问题和(过程)。
02014.人机界面的风格第一代界面是命令和(询问)方式。
12025.由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的(副作用)。
15046.在公式V(G)= E –N + 2中:E为程序图G中边的总数;N 为程序图中结点的总数。
V(G)又称为图G的环形(复杂度)0204。
7.任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将该系统转换成一个信息变换模型。
03038.为提高可交互性一般对所有可能造成损害的用户操作动作,应坚持要求用户(确认),例如,提问“你确实要删除…?”。
12049.文档是一种数据媒体和其上所记录的(数据)。
0101三、判断题(每小题2分,共24分,错误打X、正确打√)1.用户对软件需求的描述不精确,往往是产生软件危机的原因之一。
(√)01022.目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技术(PERT)和关键路径法(CPM)。
软件工程导论期末考试题
一、单项选择题1.适合于面向对象方法学的软件生存周期模型是( B )A.瀑布模型B.喷泉模型C.螺旋模型D.增量模型2.从实用角度看,数据规范化程度在大多数场合选用第( C )范式。
A. 1B.2C.3D.53. 可行性分析研究的目的是( A )。
A. 项目值得开发否B.争取项目C.开发项目D.规划项目4. 模块的内聚性最高的是( D )A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚5.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( B )A.软件工程B. 软件危机C. 软件周期D.软件产生6. 需求分析阶段的任务是确定( D )A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能7. 完整的软件结构通常用( B )图来表示。
A. IPO图B. HIPO图C.PAD图D.DFD图8. 在白盒法技术测试用例的设计中( A )是最弱的覆盖标准。
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.面向对象开发方法中,( C )是占主导地位的标准建模语言。
A.Booch方法B.Coad方法C.UML语言D.OMT方法14.软件需求分析的主要任务是准确地定义出要开发的软件系统是(C )A.如何做B.怎么做C.做什么D.对谁做15.结构化程序设计的一种基本方法是( C )A.筛选法B.迭代法C.逐步求精法D.递归法二、填空题1.目前使用最广泛的软件工程学方法分别是传统方法学和(面向对象方法学)。
《软件工程导论》期末考试试题与答案
《软件工程导论》期末考试■试题与答案一、填空題I. _________________________________________________ 软件工程中的结构化分析$人是_种面向的分析方法。
2 •软件模块独立性的两个定性度虽标准是 ________________________________ o3 •软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个 _________ 的过程。
4. _____ 和数据字典共同构成了系统的逻辑模型5._________ 是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此导出测试用例。
二单选 题1 .在软件危机中表现出来的软件质虽差的问题,其原因是_________ o A.软件研发人员素质太差B.用户经常干预软件系统的研发工作 C.没有软件质虽标准D.软件开发人员不遵守软件质量标准 2 •在软件质虽因素中,软件在异常条件下仍能运行的能力成为软件的 _________ o A.安全性B.健壮性C.可用性D.可靠性3 .在下列测试技术中, _____________ 不属于黑盒测试技术。
A.等价划分B.边界值分析C.错误推测D.逻辑覆盖4•软件工程方法是在实践中不断发展着的方法,而早期的软件工程方法主要是指______ o A.原型化方法B.结构化方法C.功能化方法D.面向对象方法5・ _____ 是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。
A •多态7 •软件测试时为了 ___________ 而执行程序的过程。
A.纠正错误B.发现错误C. 避免错误D.证明错误8 •在软件系统中,一个模块应具有什么样的功能,这是由_____ 决定的。
A.总体设计B.需求分析C.详细设计D •程序设计9 •面向对象分析是对系统进行 __________________ 的一种方法。
软件工程导论试题及答案
A、PBB、VBC、UMLD、SQL Server 2000中的SQL语言14、与设计测试数据无关的文档是()A、需求分析说明书B、概要设计说明书C、源程序D、项目开发计划15、软件测试中的测试实例主要由输入数据和()组成A、测试规则B、测试计划C、预期输出结果D、以往测试记录分析三、简答题(共20分)1.项目A是为银行开发ATM(自动取款机)软件,项目B是为网络公司开发网络数据流分析软件,请问按照面向数据流设计方法(SD法),两个项目应分别采用何种方法将需求分析的功能模型转换成软件结构,为什么?(6分)2.某保险公司对投保人的汽车保费计算方法如下:单身男,年龄30岁以下(含30岁),计保费标准A,30岁以上计保费标准B;已婚男30岁以下(含30岁),计保费标准C,30岁以上计保费标准D,单身女,年龄25岁以下(含25岁),计保费标准E,25岁以上计保费标准F;已婚女25岁以下(含25岁),计保费标准G,25岁以上计保费标准H,请画出对应的判定树。
(8分)9、√ 10、√ 11、√ 12、× 13、× 14、× 15、√二、项选择题:每题1分,共15分1、C2、B3、B4、A5、B6、D7、B8、B9、A 10、A 11、A 12、A 13、D 14、D 15、C三、简答题(总共20分)1、总共6分,项目A 用事务流(2分),项目B 用变换流(2分),项目A 回答原因(1分),项目B 回答原因(1分)2、总共8分,画对每个条件1分3、每写出一种语言或工具1分,写出应用领域1分,如C#(C/B/S 结构软件),JA V A (B/S 结构软件),C++(系统软件),DEPHI (开发C/S 结构软件)、PB (开发C/S 结构下基于数据库的软件)。
四、综合题(总共25分)1、共10分每对一个对象类1分,写出一个对象类的关系0.5分2、测试题共15分五、分析设计题(总共25分)对象类图10分,每写对1个对象类1分,1个联系和多重性1分*功能模型:用例图7分,每写对1个用例1分,1个行为者1分动态模型:顺序图8分,每写对1个对象类和生命线0.5分,1个事件1分一、判断题:每小题1分,共15分,在正确的打上√,错误的打上X()2.数据字典是对数据流图中的数据流,处理过程、数据存储、数据的源和终点进行详细定义。
计算机应用证书软件工程导论考试 选择题 60题
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. 维护阶段的主要任务是什么?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. ScrumB. XPC. 瀑布模型D. 看板15. Scrum的主要角色包括哪些?A. 产品负责人B. Scrum MasterC. 开发团队D. 以上都是16. XP的主要实践包括哪些?A. 持续集成B. 测试驱动开发C. 重构D. 以上都是17. 看板的主要原则是什么?A. 可视化工作流程B. 限制在制品C. 管理流程D. 以上都是18. 软件质量保证的主要任务是什么?A. 确保软件的质量B. 管理软件项目C. 提高软件开发的效率D. 以上都是19. 软件测试的主要目的是什么?A. 发现软件的缺陷B. 验证软件的功能C. 确认软件的性能D. 以上都是20. 下列哪项不是软件测试的类型?A. 单元测试B. 集成测试C. 系统测试D. 用户测试21. 单元测试的主要任务是什么?A. 测试单个模块的功能B. 测试多个模块的集成C. 测试整个系统的功能D. 测试用户的需求22. 集成测试的主要任务是什么?A. 测试单个模块的功能B. 测试多个模块的集成C. 测试整个系统的功能D. 测试用户的需求23. 系统测试的主要任务是什么?A. 测试单个模块的功能B. 测试多个模块的集成C. 测试整个系统的功能D. 测试用户的需求24. 用户测试的主要任务是什么?A. 测试单个模块的功能B. 测试多个模块的集成C. 测试整个系统的功能D. 测试用户的需求25. 软件配置管理的主要任务是什么?A. 管理软件的版本B. 管理软件的变更C. 管理软件的发布D. 以上都是26. 软件项目管理的主要任务是什么?A. 计划软件项目B. 组织软件项目C. 控制软件项目D. 以上都是27. 软件度量的主要目的是什么?A. 评估软件的质量B. 评估软件的进度C. 评估软件的成本D. 以上都是28. 软件风险管理的主要任务是什么?A. 识别软件的风险B. 评估软件的风险C. 控制软件的风险D. 以上都是29. 软件文档的主要目的是什么?A. 记录软件的设计B. 记录软件的开发C. 记录软件的维护D. 以上都是30. 软件维护的主要任务是什么?A. 修复软件的缺陷B. 改进软件的功能C. 更新软件的版本D. 以上都是答案部分:1. D2. C3. A4. A5. B6. C7. D8. D9. D10. A11. B12. D13. D14. C15. D16. D17. D18. A19. D20. D21. A22. B23. C24. D25. D26. D27. D28. D29. D30. D接下来是后30道选择题及其答案:试题部分:31. 软件工程中的“软件”指的是什么?A. 计算机程序B. 数据结构C. 文档D. 以上都是32. 软件工程中的“工程”指的是什么?A. 系统化的方法B. 规范化的过程C. 科学的管理D. 以上都是33. 软件工程中的“过程”指的是什么?A. 一系列的活动B. 一系列的任务C. 一系列的方法D. 以上都是34. 软件工程中的“方法”指的是什么?A. 技术B. 工具C. 技术与工具的组合D. 以上都是35. 软件工程中的“工具”指的是什么?A. 软件B. 硬件C. 软件与硬件的组合D. 以上都是36. 软件工程中的“人员”指的是什么?A. 开发者B. 用户C. 管理者D. 以上都是37. 软件工程中的“环境”指的是什么?A. 技术环境B. 管理环境C. 社会环境D. 以上都是38. 软件工程中的“质量”指的是什么?A. 功能性B. 可靠性C. 可用性D. 以上都是39. 软件工程中的“成本”指的是什么?A. 人力成本B. 时间成本C. 资源成本D. 以上都是40. 软件工程中的“进度”指的是什么?A. 时间表B. 里程碑C. 任务分配D. 以上都是41. 软件工程中的“风险”指的是什么?A. 不确定性B. 潜在问题C. 影响因素D. 以上都是42. 软件工程中的“文档”指的是什么?A. 设计文档B. 开发文档C. 维护文档D. 以上都是43. 软件工程中的“维护”指的是什么?A. 修复缺陷B. 改进功能C. 更新版本D. 以上都是44. 软件工程中的“管理”指的是什么?A. 计划B. 组织C. 控制D. 以上都是45. 软件工程中的“度量”指的是什么?A. 评估B. 测量C. 分析D. 以上都是46. 软件工程中的“配置管理”指的是什么?A. 版本管理B. 变更管理C. 发布管理D. 以上都是47. 软件工程中的“项目管理”指的是什么?A. 计划管理B. 组织管理C. 控制管理D. 以上都是48. 软件工程中的“质量保证”指的是什么?A. 质量控制B. 质量改进C. 质量管理D. 以上都是49. 软件工程中的“测试”指的是什么?A. 验证B. 确认C. 评估D. 以上都是50. 软件工程中的“集成”指的是什么?A. 模块组合B. 系统组合C. 功能组合D. 以上都是51. 软件工程中的“系统”指的是什么?A. 软件B. 硬件C. 软件与硬件的组合D. 以上都是52. 软件工程中的“模块”指的是什么?A. 功能单元B. 代码单元C. 数据单元D. 以上都是53. 软件工程中的“功能”指的是什么?A. 操作B. 任务C. 服务D. 以上都是54. 软件工程中的“数据”指的是什么?A. 信息B. 结构C. 存储D. 以上都是55. 软件工程中的“信息”指的是什么?A. 知识B. 消息C. 数据D. 以上都是56. 软件工程中的“知识”指的是什么?A. 经验B. 技能C. 理论D. 以上都是57. 软件工程中的“技能”指的是什么?A. 能力B. 技巧C. 方法D. 以上都是58. 软件工程中的“方法”指的是什么?A. 技术B. 工具C. 技术与工具的组合D. 以上都是59. 软件工程中的“工具”指的是什么?A. 软件B. 硬件C. 软件与硬件的组合D. 以上都是60. 软件工程中的“环境”指的是什么?A. 技术环境B. 管理环境C. 社会环境D. 以上都是答案部分:31. D32. D33. D34. D35. D36. D37. D38. D39. D40. D41. D42. D43. D44. D45. D46. D47. D48. D49. D50. D51. D52. D53. D54. D55. D56. D57. D58. D59. D60. D。
《软件工程导论》试题与答案
《软件工程导论》试题与答案一、选择题(每题2分,共20分)1. 以下哪个不属于软件工程的三个基本活动?A. 软件规格说明B. 软件设计和实现C. 软件测试和验证D. 软件维护答案:D2. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A3. 软件开发过程中,以下哪个阶段的主要任务是需求分析?A. 需求获取B. 设计C. 编码D. 测试答案:A4. 在软件工程中,以下哪个方法主要用于软件项目管理?A. 水平迭代法B. 垂直迭代法C. 敏捷开发D. 模块化设计答案:C5. 以下哪个工具用于软件需求跟踪?A. 用例图B. 类图C. 时序图D. 状态图答案:A二、填空题(每题2分,共20分)6. 软件工程的基本目标是提高软件的______和降低软件的______。
答案:可维护性,成本7. 软件开发过程主要包括______、______、______、______四个阶段。
答案:需求分析、设计、编码、测试8. 软件设计中,常用的设计模式有______、______、______等。
答案:工厂方法、单例、策略9. 软件测试的目的是______、______和______。
答案:发现错误、验证软件功能、评估软件质量10. 敏捷开发的核心价值观包括______、______、______、______、______。
答案:个体和团队、可工作的软件、客户合作、响应变化、简单性三、判断题(每题2分,共20分)11. 软件工程是计算机科学与工程的一个分支,主要研究软件开发的理论、方法和技术。
(对/错)答案:对12. 软件开发过程中,需求分析阶段的主要任务是获取用户需求。
(对/错)答案:对13. 软件测试的目的是证明软件的正确性。
(对/错)答案:错14. 敏捷开发强调快速迭代、持续交付和客户反馈。
(对/错)答案:对15. 软件工程的基本活动包括软件规格说明、软件设计和实现、软件测试和验证。
《软件工程导论》试题及答案
一, 判断题(正确的在括号内打上"√",错误的打上"×".每题1.5分,共15分)Warnier方法也是一种面向数据结构的设计方法,其逻辑更严格.(×)PAD图在设置了五种基本控制结构后,还允许递归调用. (×)为了加快软件维护作业的进度,应尽可能增加维护人员的数目.(×)当验收测试通过,软件开发就完成了.(×)完成测试作业后,为了缩短源程序的长度应删除程序中的注解.(×)在进行总体设计时应加强模块间的联系.(×)系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用.(×)用黑盒法测试时,测试用例是根据程序内部逻辑设计的.(×)在程序调试时,找出错误的位置和性质比改正该错误更难.(√)以对象,类,继承和通信为基础的面向对象设计方法(OOD)也是常见的软件概要设计方法之一.(√)二,单项选择题(每小题2分,共10分)试判断下列叙述中,哪个(些)是正确的(D)a,软件系统中所有的信息流都可以认为是事务流b,软件系统中所有的信息流都可以认为是变换流c,事务分析和变换分析的设计步骤是基本相似的A,a B,b C,c D,b和c进行需求分析可使用多种工具,但(B)是不适用的.A,数据流图B,PAD图C,判定表D,数据词典在详细设计阶段,经常采用的工具有(A).A,PAD B,SA C,SC D,DFD详细设计的结果基本决定了最终程序的(C)A,代码的规模B,运行速度C,质量D,可维护性使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准.A,程序的内部逻辑B,程序的复杂程度C,该软件的编辑人员D,程序的功能三,多项选择题(每题2分,共10分.注:正确得2分,漏选得1分,多选,错选不得分.) (ABCD)可以作为模块.A,子程序B,函数C,过程D,编译文件下面哪些测试属于黑盒测试(BCD).A,路径测试B,等价类划分C,边界值分析D,错误推测E,循环测试下列属于度量效益方法的是(ABCD).A,货币的时间价值B,投资回收期C,收入D,投资回报率软件维护的策略包括(BCD).A,定期检测维护B,改正性维护C,适应性维护D,完善性维护下列属于软件测试过程的是(ABE).A,单元测试B,组装测试C,内核测试D,法律验证E,确认测试四,简答题(每题6分,共24分)耦合性和内聚性有几种类型其耦合度,内聚强度的顺序如何答案:低:非直接耦合,数据耦合,标记耦合,控制耦合,外部耦合,公共耦合,内容耦合:高强:功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚:弱请举例说明什么是多态,什么是重载答案:多态性是指子类对象可以像父类对象那样使用,同样的消息既可以发送给父类对象也可以发送给子类对象.也就是说,在类等级的不同层次中可以共享(公用)一个行为(方法)的名字,然而不同层次中的每个类却各自按自己的需要来实现这个行为.当对象接收到发送给它的消息时,根据该对象所属于的类动态选用在该类中定义的实现算法.重载是指一个类中有多个同名的方法,但在操作数个数或类型上有区别.例: public class A{int age;String name;public void setValue(int i) {age=i; }public void setValue(String s) {name=s; }什么是数据字典简述数据字典与数据流图的关系.答案:数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用. 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分)简述编码风格的重要性.答案:阅读程序是软件开发和维护过程中的一个重要组成部分,程序实际上也是一种供人阅读的文章.应当在编写程序时讲求程序的风格,这将大量地减少人们读程序的时间.良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量. 面向对象的测试和传统开发方法的测试有什么不同答案:(1)二者都可以分成四个阶段进行.但传统测试最小单元是模块,而在面向对象环境下,最小的可测试的单元是封装了的类或对象,而不是程序模块.(2)因为面向对象软件没有一个层次的控制结构,所以传统的自顶向下和自底向上的组装策略意义不大. 每次将一个操作组装到类中(像传统的增殖式组装那样)常常行不通,因为在构成类的各个部件之间存在各种直接的和非直接的交互.对于面向对象系统的组装测试,存在两种不同的测试策略.五,分析应用题(20分)求一组数组中的最大数, 数组表示为A(n) ,n=1,2……n的自然数.(10分)请画出程序流程图(4分)请画出该算法的N-S图(3分)请用PAD图来表示该算法(3分)答案:2. 下面是某程序的流程图:(10分)计算它的环路复杂性.(3分) 答案:7为了完成基本路径测试,求它的一组独立的路径.(7分)答案:路径1: (0)—①—(13)—(19)路径2: (0)—②—③—(14)—(19)路径3: (0)—②—④—⑤—(15)—(19)路径4: (0)—②—④—⑥—⑦—(16)—(19)路径5: (0)—②—④—⑥—⑧—⑨—(17)—(19)路径6: (0)—②—④—⑥—⑧—⑩—(11)—(18)—(19)路径7: (0)—②—④—⑥—⑧—⑩—(12)—(19)六,阅读下列说明和数据流图,回答问题1至问题4,将解答填入答题纸的对应栏内.(12分) [说明]某基于微处理器的住宅安全系统,使用传感器(如红外探头,摄像头等)来检测各种意外情况,如非法进入, 火警,水灾等.房主可以在安装该系统时配置安全监控设备(如传感器,显示器,报警器等),也可以在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互.在安装过程中,系统给每个传感器赋予一个编号(即id)和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应自动拨出的电话号码.当系统检测到一个传感器事件时,就激活警报,拨出预置的电话号码,并报告关于位置和检测到的事件的性质等信息.加工4的细化图[问题1](3分)数据流图1(住宅安全系统顶层图)中的A和B分别是什么答案:A:传感器: B:报警器[问题2](3分)数据流图2(住宅安全系统第0层DFD图)中的数据存储"配置信息"会影响图中的哪些加工答案:监控传感器,显示信息和状态[问题3](6分)将数据流图3(加工4的细化图)中的数据流补充完整,并指明加工名称,数据流的方向(输入/输出)和数据流名称.答案: 4.4"读传感器"添加输入数据流"传感器状态"4.1"显示格式"添加输出数据流"传感器数据"4.5"拨号"添加输出数据流"电话拨号"七,请以自己的实际体会说明项目管理的意义和作用.(8分)答案:(要点)软件项目管理就是对软件工程项目开发过程的管理.具体地说,就是对整个软件生存期的一切活动进行管理,以达到提高生产率,改善产品质量的目的.软件项目管理的职能:(1)制定计划:规定待完成的任务,要求,资源,人力和进度等.(2)建立项目组织:为实施计划,保证任务的完成,需要建立分工明确的责任机构.(3)配备人员:任用各种层次的技术人员和管理人员.(4)指导:鼓励和动员软件人员完成所分配的任务.(5)检验:对照计划或标准监督检查实施的情况.。
软件工程导论试题集
第一章:软件工程学概述一.填空题1. 计算机科学中的研究成果均可用于软件工程,但计算机科学更侧重于(原理和理论)、而软件工程侧重于(如何建造一个软件系统)2. 计算机程序及其说明程序的各种文档称为(文件)。
计算任务的处理图像对象和处理规则的描述称为(程序)。
有关计算机程序功能、设计、编制、使用的文字或图形资料称为(文档)。
3. 软件开发环境是相关一组(软件工具)的集合,它支持一定的软件开发方法或按照一定的软件开发模型组织而成的。
4. CASE这一术语的英文是(Computer Aided Software Engineering)。
5. (平台集成)是指工具运行在相同的硬件/操作系统平台上。
(数据集成)是指工具使用共享数据模型来操作。
(表示集成)是指工具提供相同的用户界面。
6. 根据支持的范围,CASE工具可分为(窄支持)、(较宽支持)和(一般支持)工具。
7. 软件危机的主要原因有(软件本身的特点)和(缺乏好的开发方法和手段)。
8. (增量)模型是一种非整体开发的模型。
软件在该模型中是“逐渐”开发处理的,开发出一部分,向用户展示一部分,可让用户及早看到部分软件,及早发现问题。
或者先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。
9.结构化方法总得指导思想是(自顶而下逐步求精)。
它的基本原则是功能的(分解)与(抽象)。
它是软件工程中最早出现的开发方法,特别适用于数据处理领域的问题。
10. 面向对象开发方法包括(面向对象分析)、(面向对象设计)、(面向对象实现)、三部分。
11. 瀑布模型是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。
它包括(可行性分析)、项目开发计划、(需求分析)、(概要设计) 、(详细设计)、 _ (编码)、(测试)、(维护),它规定了由前至后、相互衔接的固定次序,如同瀑布流水,逐级下落。
12. 瀑布模型本质上是一种(线性)顺序模型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 航空公司“机票预定系统”:航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。
各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统根据旅客信息和航班信息为旅客安排航班。
当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。
请用结构化分析方法,给出系统的功能模型(DFD描述)。
参考答案:(02. 一个简化的机票销售系统需求描述如下:售票员根据旅客需要的航班,首先查询有无该航班机票。
若有,则负责录入旅客的基本信息,并将指定的机票标志设置为售出;售票部经理可随时查询每一个航班的售票情况,并在当日结算时能计算出日营业额。
请画出该系统的0层DFD图和1层DFD图(注:1层分解为查询和录入、统计和计算两个处理)。
3. 图书馆的预定图书子系统有如下功能:(1)由供书部门提供书目给订购组(2)订书组从各单位取得要订的书目(3)根据供书目录和订书书目产生订书文档留档(4)将订书信息(包括书目、数量)反馈给供书单位(5)将未订书目通知订书者(6)对于重复订购的书目有系统自动检查,并将结果反馈给订书者画出数据流图,并转换为软件结构图。
4.某单位要研制一个计算机培训管理系统,它的业务是将学员发来的信件收集分类后,按以下几种情况处理:1)处理报名如果是报名,则将报名数据送给负责报名事物的职员,他们将查阅课程文件,检查课程是否满额,然后在学生文件、课程文件上登记,并开出报告单较财务部们,财务人员开出发票给学生。
2)注销课程;如果是想要注销原来已选修的课程,则有注销人员在课程文件、学生文件和账目文件上做相应的修改,并给学生注销单。
3)处理付款如果是付款,则有财务人员在账目文件上登记,也给学生一张收费收据。
要求:给出该系统的数据流图和软件结构图。
参考答案:(1)数据流图(2)结构图5. 假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。
对于每个需要再次定货的零件应该列出下述数据;零件编号、零件名称、定货数量、目前价格、主要供应者和次要供应者。
零件入库或出库称为事务,通过放在仓库中的CRT 终端把事务报告给定货系统。
当某种零件的库存数量少于库存量临界值时就应该再次定货。
要求:用结构化方法学对定货系统进行分析与设计,分别完成以下工作:(1) 给出定货系统的功能模型。
(2) 用数据字典描述该定货系统中主要加工“处理定货”和主要数据存储“定货报表”。
(3) 给出定货系统的软件体系结构(用H 图或结构图表示)。
参考答案:(1)仓库处理入库事务入库事务库存清单库存(2) (3)6.高考录取统分子系统有如下功能:(1) 计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;(2) 计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。
要求:用结构化方法学对高考录取统分子系统进行分析与设计,分别完成以下工作:(1) 给出高考录取统分子系统的功能模型(用数据流图表示)。
(2) 给出高考录取统分子系统的软件体系结构(用H 图或结构图表示)。
参考答案:(1)数据流图加工名: 处理定货 编号:激发条件:接收到定货信息 优先级: 普通 输入:库存信息输出: 定货信息 加工逻辑: 根据库存记录IF 零件库存数量 < 该零件库存临界值(2)结构图7.需求描述如下:参考答案:8.参考答案:(1)数据流图(2)结构图9.10.某运动会概括力相同接受来自运动员的包名单、裁判的比赛项目及项目成绩,产生运动员号码单发送给运动员,项目参加者发送给裁判,单项名次发送给发布会。
该系统的功能如下:(1)登记报名单接受报名单、比赛项目,产生运动员号码单、项目参加者,形成运动员名单及团体成绩表两种数据存储。
(2)统计成绩接受项目成绩,查询运动员名单,产生单项名次,填写团体成绩,最后产生团体名次。
11.现开发一个银行的活期存取款业务的处理系统,系统功能如下:(1) 审查分类:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折交下一步处理。
(2) 处理存款:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户。
(3) 处理取款:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。
绘制该系统的数据流图和软件结构图。
参考答案:(1)数据流图顶层一层(2)系统结构图如下:12.银行储蓄系统的业务流程:储户填写的存款单或取款单由业务员键入系统;如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率、密码(可选)等信息,并印出存单给储户;如果是取款而且开户时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。
要求画出分层的数据流图,并细化到2层数据流图。
参考答案:0层:1层:业务员银行储蓄系统事务存款单储户利息清单储户密码2层:13. 目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。
某医院打算开发一个以计算机为中心的患者监护系统,请分层次地画出描述本系统功能的数据流图。
(1)局部监视在医院的病房里,将病症监视器安置在每个病床,对病人进行监护。
监视器将病人的病症信号(血压、体温、脉搏等组合)实时地传送到中央监护系统进行分析处理。
(2) 中央监视在中心值班室里,值班护士使用中央监护系统对病员的情况进行监控,监护系统实时地将病人的病症信号与标准的病诊信号进行比较分析,根据标准病症信号库中的值,判断是否报警;(3) 更新日志中央监视系统根据分析数据将病人的病症信号进行格式化并加入更新日期、时间,更新病历库中病人的信息,并写入病员日志文件中。
(4) 产生报告根据医生的要求随时打印病人的病情报告,系统还定期自动更新病历。
参考答案:存款业务2.1 记录存款 信息2.2 打印存款单存款信息存款单存款信息14. 需求陈述:现有某库存管理系统,其主要功能如下: 1. 建立物资采购单流水账根据计划部门转来的收货通知单和已存的物资编码文件,建立物资采购单流水账。
2. 更新物资台账根据技术部门的物资验收报告和物资采购单流水账,更新物资台账文件。
3. 汇总物资台账对物资台账分类汇总,将结果存储于物资总账文件。
要求:用结构化方法学对库存管理系统进行分析与设计,分别完成以下工作:给出库存管理系统的功能模型(用数据流图表示)。
(10分) 给出库存管理系统的体系结构(用H 图或结构图表示)。
(10分)参考答案:1.数据流图(15分)(评分标准:基本给出两个数据源、三个功能模块和四个文件12分,少一个扣2分)2.结构图(15分)(评分标准:基本给三个功能模块和主框架的15分,少一个扣3分)收货通知汇总物资台账物资总账文件物资台账文件计划部门建立物资采购单流物资编码文件物资编码物资采购单流水账更新物资台账技术部门物资验收报告资采购单流水账面向对象开发技术1.根据以下描述,使用面向对象的分析方法,分析有那些主要对象和这些对象的主要属性、方法,画出对象图。
一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。
顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。
顾客按键后饮料由出物口掉出,并自动结算及找钱。
顾客可在按下选择键前任何一个时刻,可以拉动退币杆取消交易收回硬币。
参考答案:类图2.设计一个简单的学生选课系统,系统能注册符合要求的同学,同学注册以后就能进行选课。
选课过程如下:先选课名,然后根据课程的上课老师、时间、地点和人数限制来决定是否成功选课;老师也可以根据情况提供新的课程说明或修改过去课程的说明;教务处的老师统一管理注册的情况,可以有删除、修改学生、老师和课程的权限。
请用面向对象方法设计出对象模型(对象类图,标出多重性、角色、限定词和关系:泛化、聚集、关联)、动态模型(学生成功注册后选课的顺序图)、功能模型(用例图)三大模型。
参考答案:(1)类图*(2)用例图:(3)顺序图3.请画出一个用户使用银行ATM的状态转换图。
从用户将卡插入卡槽开始,到用户取卡结束(如果用户忘记,ATM应报警),用户可以完成以下几个步骤:登录(卡片进入ATM机后,如果不是可读卡,退卡;如是,等待用户输入密码,三次错,吞卡,正确后进入主菜单),取钱(进入取钱菜单,输入金额,如果帐户余额不足,提示余额,并要求用户重新输入,如果帐上钱够,吐钱币,并询问是否打印凭证,最后返回主菜单),主菜单提供退出取卡选择。
5.用例UC1:预定航班………主事件流(主成功场景):1.顾客向系统提交航班预订信息(出发地、目的地、出发日期和人数)2.系统检索满足这些条件的航班3.系统显示满足条件的航班信息4.顾客选择所要的航班5.系统检索该航班剩余的座位信息6.系统显示可预订的座位信息7.顾客选择所要的座位8.系统生成一个临时预订记录9.系统将顾客选择的座位状态从“未预订”修改为“已预订”备选事件流(扩展场景):1a. 顾客撤销购票请求,退出用例2a. 系统检索不到满足条件的航班3a. 系统向用户显示没有满足条件的航班3b.系统建议顾客返回步骤14a. 顾客撤销购票请求,退出用例问题:(1)系统分析员认为与该用例相关的类至少有Reservation(预定)、Seat(座位)和Flight(航班),请补充必要的类,建立对应于该用例的主成功场景的顺序图。
(2)请为对象Flight对象建立状态图。
用例“预订航班”的顺序图:类图:用例“预订航班”的活动图:注册登记:每学期开学注册时间执行该用例,执行前必须先完成学生审查和接受申请的过程。
登记选课:审查和接受申请的过程后,实现学生每学期的选课。
2).主要类:课程,选课单,学生,注册记录,本科课程,本科生等。
(10分)3.)类图如下:(10分)4.)注册顺序图如下:(5分)7.下面是自动售货机系统的需求陈述,试建立它的对象模型、动态模型和功能模型:自动售货机系统是一种无人售货系统。
售货时,顾客把硬币投入机器的投币口中,机器检查硬币的大小、重量、厚度及边缘类型。
有效的硬币是一元币、五角币、五分币、二分币、一分币。
其他货币被认为是假币。
机器拒绝接受假币,并将其从退币孔退出。