软件工程导论基础试题

合集下载

软件工程导论综合复习题

软件工程导论综合复习题

一、选择题1、软件是一种( B )性工业产品。

(1)理论(2)知识(或逻辑)(3)消耗(4)体力2、需求分析是在( B )进行的。

(1)用户(2)用户和分析人员之间(3)开发人员内部(4)使用和维护人员之间3、在软件的可行性研究中经常从不同角度对系统进行可行性研究,其中从功能角度对系统进行研究属于( B )的研究。

(1)经济可行性(2)技术可行性(3)操作可行性(4)法律可行性4、在软件工程项目中,不随参与人员的增加而使软件的生产率增加的主要问题是( D )。

(1)工作阶段的等待时间(2)生产原型的复杂性(3)参与人员所需的工作站数(4)参与人员之间的沟通困难5、需求分析阶段的研究对象是( A )。

(1)用户需求(2)分析员要求(3)系统需求(4)软硬件需求6、对某公司进行调查分析,确定是否值得开发一个新系统的工作是进行( D )。

(1)系统设计(2)系统分析(3)系统详细调查(4)系统初步调查7、系统分析员应当( D )。

(1)善于使用户接受自已的观点(2)善于使自已获得成就(3)是用户与计算机技术人员的有效协调与组织者(4)满足上述所有条件8、数据流图的绘制过程,是对新系统的需求进行综合分析和形成新系统( A )的过程。

(1)逻辑模型(2)物理模型(3)总体方案(4)可行性报告9、系统测试的目的是( D )。

(1)找出编码错误(2)找出数据错误(3)要证明程序无错(4)发现软件错误10、一个模块内部各程序段都在同一张表上操作,这个操作的内聚性称为( B )。

(1)时间内聚(2)功能内聚(3)通信内聚(4)顺序内聚11、对象是面向对象开发的基本成分,每个对象可用它的一组()和它可以执行的一组操作来定义。

(1)服务(2)参数(3)属性(4)调用12、最高程度也是最差的耦合是()。

(1)公共耦合(2)内容耦合(3)控制耦合(4)数据耦合13、概要设计阶段产生的文档不包括()。

(1)概要设计说明书(2)数据库设计说明书(3)用户手册(4)开发进度报告14、汽车有一个发动机,汽车和发动机之间的关系是()。

软件工程导论《软件工程》期末考试题及答案

软件工程导论《软件工程》期末考试题及答案

软件工程导论《软件工程》期末考试题及答案一、选择题(每题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软件工程导论期末考试题库及参考答案

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.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. 软件工程是一门多学科交叉的学科,其中包括以下哪些学科?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分,共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)的回答。

软件工程导论答案

软件工程导论答案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. 统一过程(UP) ( )A.不追求架构的稳定B.是迭代和增量式模型(正确答案)C.适用于所有软件工程D.是不强调文档的12. 过程是多种多样的,下面不属于过程共同活动的是( )A.计划B.部署C.建模D.分析(正确答案)13. 有关增量模型,下面说法正确的是( )A.是一种整体开发的模型B.每个增量的开发是嵌套式增量方式C.在前面增量的基础上开发后面的增量,采用迭代的方式(正确答案)D.适用于技术成熟的项目14. 关于原型模型,下面说法正确的是( )A.原型模型里没有迭代方式B.适用于小而可用的项目C.容易让设计者在质量和原型间有所折中,让客户意识不到一些质量问题(正确答案)D.快速应用开发模型(RAD)是一个原型过程模型15. 关于敏捷模型,下面说法错误的是( )A.需要开发者和客户之间积极持续的交流。

软件工程导论试卷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、根据软件规模估算模型计算出的工作量,就是项目实际开发进度时的实际时间。

软件工程导论试题

一、单项选择题(每小题3分,共10题)1、需求分析的任务不包括(B)。

A.问题分析B.系统设计C.需求描述D.需求评审。

2、当模块中包含复杂的条件组合,只有(A)能够清晰地表达出各种动作之间的对应关系。

A.判定表和判定树B.盒图C.流程图D.关系图3、为适应软件运行环境的变化而修改软件的活动称为(B)。

A.纠错性维护B.适应性维护C.改善性维护D.预防性维护4、下列不属于软件工程方法3要素的是(D)。

A)方法B)工具C)过程D)人员5、软件的发展经历了(D)个发展阶段。

A.一B.二C.三D.四6、下列不属于UML中的动态图的是(B)。

A)状态图B)对象图C)协作图D)活动图7、一个模块的(B)是指能直接调用(控制)该模块的模块数。

A.扇出数B.扇入数C.宽度D.深度8、下列耦合中,模块独立性最好的是(A)。

A)非直接耦合B)数据耦合C)外部耦合D)内容耦合9、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。

除第1级外,每一级都包含了实现这一级目标的若干关键过程域,每一个关键过程域又包含若干(A)。

A 关键实践B 软件过程性能C 软件过程能力D 软件过程10、UML的扩展机制不包括(C)。

A)构造型B)标记值C)注解D)约束二、填空题(每题2分,共5题)1、任何复杂的程序流程图都只应该由5种基本控制结构组合或嵌套而成,这5中基本结构分别是顺序型、选择型、先判定型循环、后判定型循环、多情况型选择。

2、在进行结构化分析时,对数据流图进行分层应注意父图和子图平衡。

3、UML的基本构造块包含:视图、图和模型元素。

4、自行车类与自行车车轮类之间是聚集关系。

5、在进行软件规模估算时,与代码行度量方式相比,功能点度量的估算结果更客观和合理。

三、判断题(每题2分,共10题)1、目前,软件项目的进度安排比较常用的方法包括程序评估与审查技术(PERT)和关键路径法(CPM)。

(对)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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、填空1、计算机软件不仅仅是程序,还应该有一整套(文档资料).2、软件定义时期的最后一个工作阶段是(需求分析)阶段。

3、(快速原型)模型的基本特性是“快速”和“容易修改”。

4、信息流的类型主要包括(事务流)和(变换流)。

5、(判定表)适用于表示多重嵌套的条件选择。

6、我们通常采用的调试途径包括(蛮干法,回溯法和原因消除法)。

7、程序流程图中的箭头代表(控制流)8、内聚程度较低的是(偶然)内聚。

9、软件工程方法学三要素(方法,工具,过程).10、可行性分析至少应从(经济,技术,操作)三方面研究每种解法的可行性。

11、(可行性研究)的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发。

12、在大型数据处理系统的功能分析与设计中,同时进行数据分析和数据设计。

数据库的“概念设计”与“逻辑设计”分别对应于系统开发中的(总体设计)和(需求分析)阶段,而数据库的物理与模块的(详细设计)相对应。

13、模块之间联系越紧密,其耦合性就越 (高),模块的独立性就越(低) 。

14、要把数据流图转换成软件结构,必须首先研究数据流图的类型,一般可分为事务流和变换流两类。

15、动态测试方法中,根据测试用例设计方法的不同,分为(白盒测试和黑盒测试)。

16、软件产品在交付使用前一般要经过以下四步测试:(单元测试,集成测试,确认测试和系统测试).对一些关系重大的系统,交付后并不立即投入生产性运行,还要经过(平行运行)阶段17、驱动模块的作用是用来模拟被测试模块的(上级调用模块),它只完成接收测试数据,并把这些测试数据传送给被测试的模块,并且接收测试模块的(结果) 并输出。

18、桩(存根)模块用来代替被测试模块(所调用的模块),它的作用是返回被测试模块所需信息。

19、软件结构是以(模块)为基础而组成的一种控制层次结构。

20.软件维护的内容包括(改正性维护,适应性维护,完善性维护和预防性维护).二、选择1.需求规格说明书的作用不应该包括(D )。

A、软件设计的依据B、用户与开发人员对软件要做什么的共同理解C、软件验收的依据D、软件可行性研究的依据2.软件测试方法中的静态测试方法之一为(A )A.计算机辅助静态分析 B.黑盒法 C.路径覆盖 D.边界值分析3.软件生命周期中所花费用最多的阶段是(D )A.详细设计 B.软件编码 C.软件测试 D.软件维护4.程序的三种基本控制结构是(B )A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移5.结构化程序设计主要强调的是(D )A.程序的规模 B.程序的效率 C.程序设计语言的先进性 D.程序易读性6.需求分析阶段的任务是确定(D )A.软件开发方法 B.软件开发工具 C.软件开发费 D.软件系统的功能7.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)A.软件工程B.软件周期C.软件危机D.软件产生8.模块的内聚性最高的是(D)A.逻辑内聚B.时间内聚C.偶然内聚D.功能内聚9.在SD方法中全面指导模块划分的最重要的原则是(D)A.程序模块化B.模块高内聚C.模块低耦合D.模块独立性10.软件详细设计主要采用的方法是(D)A.模块设计B.结构化设计C.PDL语言D.结构化程序设计四、应用题1、某被测模块M的源程序如下:PROCEDURE M(VAR A,B,X:REAL)BEGINIF (A>2)AND(B=6)THEN X:=X/A;IF (A=5)OR(X>3)THEN X:=X*5END;(1)画出M的盒图、程序流程图、流图、环形复杂度。

;(2)对M用语句、判定、条件、、判定/条件、条件组合法设计测试用例。

2、北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码( 第1位不是0)。

写出在数据字典中,电话号码的数据条目的定义3、为方便储户,某银行拟开发计算机储蓄系统。

储户填写的存款单或取款单由业务员键入系统,如果是存款,系统记录存款人姓名、住址、存款类型、存款日期、利率等信息,并印出存款单给储户;如果是取款,先核对用户密码,验证无误后系统计算利息并印出利息清单给储户。

请画出系统的数据流图。

4、医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统打印出某个指定病人的病情报告。

请设计上述医院患者监护系统的数据流程图。

5、某旅馆的电话服务如下:可以拨分机号和外线号码。

分机号是从7201至7299。

外线号码先拨9,然后是市话号码或长话号码。

长话号码是以区号和市话号码组成。

区号是从100到300中任意的数字串。

市话号码是以局号和分局号组成。

局号可以是455,466,888, 552中任意一个号码。

分局号是任意长度为4的数字串。

要求:写出在数据字典中,电话号码的数据条目的定义即组成。

6、用数据流图描述自动提款机取钱过程。

31.软件的复杂性是(C),它引起人员通信困难、开发费用超支、开发时间超时等问题。

A.固有的B.人为的C.可消除的D.不可降低的32.单元测试的测试用例主要根据(D)的结果来设计。

A. 需求分析B. 源程序C. 概要设计D. 详细设计33.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。

A.需求不确定的 B.需求确定的 C.管理信息 D.决策支持34、黑盒测试在设计测试用例时,主要需要研究(A )。

A.需求规格说明与概要设计说明 B.详细设计说明C.项目开发计划 D.概要设计说明与详细设计说明35、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。

设计这组测试用例的方法是(C )。

A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法36、快速原型模型的主要特点之一是(D )。

A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件47、因计算机硬件和软件环境变化而作出的修改软件的过程称为(B)。

A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护48、用于软件维护的费用会占到软件生命周期总费用的(B)。

A.85% B.65% C.35% D.25%31.软件的复杂性是(C),它引起人员通信困难、开发费用超支、开发时间超时等问题。

A.固有的B.人为的C.可消除的D.不可降低的32.单元测试的测试用例主要根据(D)的结果来设计。

A. 需求分析B. 源程序C. 概要设计D. 详细设计33.原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。

A.需求不确定的 B.需求确定的 C.管理信息 D.决策支持34、黑盒测试在设计测试用例时,主要需要研究(A )。

A.需求规格说明与概要设计说明 B.详细设计说明C.项目开发计划 D.概要设计说明与详细设计说明35、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。

设计这组测试用例的方法是(C )。

A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法36、快速原型模型的主要特点之一是(D )。

A.开发完毕才见到产品B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件D.及早提供工作软件47、因计算机硬件和软件环境变化而作出的修改软件的过程称为(B)。

A.校正性维护 B.适应性维护 C.完善性维护 D.预防性维护48、用于软件维护的费用会占到软件生命周期总费用的(B)。

A.85% B.65% C.35% D.25%21. 人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可靠性的两个指标是(平均失效等待时间和平均失效间隔时间).22.计算机辅助软件工程这一术语的英文缩写为(CASE)。

23.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是(需求规格说明书)。

24.Jackson方法是一种面向(数据结构)的设计方法。

25.软件集成测试的方法主要有两种,它们是(渐进性测试和非渐进行性测试)。

26、在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、源点和终点以及(数据存储)。

27、可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目(是否值得开发)。

28、快速原型开发法的基本特性是(快速和容易修改)。

31、计算机软件由(程序、文档和数据)三部分组成。

32、瀑布模型是以文档为驱动,适合于(软件需求明确)的软件项目的模型。

33、为了便于对照检查,测试用例应由输入数据和预期的(输出结果)两部分组成。

34、软件工程研究的主要内容是软件开发技术和(软件管理)两个方面。

35、数据流图和数据字典共同构成了系统的(逻辑)模型,是需求规格说明书的主要组成部分。

36、结构化设计方法中,要把数据流图转换成软件结构,若某个加工将它的输入流分离成许多发散的数据流,形成许多加工路径,并根据输入的值选择其中一个路径来执行,这种特征的DFD称为(事务型)的数据流图。

37、测试的目的是确定错误的原因和位置并改正错误,因此调试应该由(其它人员)进行。

38、数据流图仅反映系统必须完成的逻辑功能,所以它是一种(逻辑)模型。

39、(软件危机)是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

40、耦合程度较低的是(内容)耦合。

41、程序的三种基本控制结构是(顺序,选择和循环).42、软件定义时期通常进一步划分成3个阶段,即(问题定义,可行性研究和需求分析)。

43、在综合测试阶段,进行的基本测试是(验收)测试和(集成)测试。

三、简答1、什么是数据字典、软件工程、回归测试、黑盒测试、白盒测试、可移植性、模块化、模块独立性、结构化程序设计、信息隐蔽和局部化?2、什么是软件过程?它与软件工程方法学有何关系?3、什么是软件生存周期模型?有哪些主要模型?各种模型的适用范围及特点?4、定性衡量模块独立性的两个标准是什么?他们表示什么含义?耦合性强弱与模块独立性的关系?内聚性强弱与模块独立性的关系?5、总体设计的重要任务有哪些?6、数据流图的作用是什么?系统流程图与数据流图有什么区别?7、使用计算机测试方法对模块进行单元测试时,一般需要哪两种程序?请简要说明这两种程序。

相关文档
最新文档