软件工程导论第1-2套试题及答案要点

合集下载

软件工程导论第1 2套试题及答案要点

软件工程导论第1 2套试题及答案要点

软件工程A卷一、判断题:每小题1分,共15分,在正确的打上√,错误的打上×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分,共15分1、软件危机主要体现在()CD、软件规模过大、软件产品的质量难以控制A、软件成本太高B、开发周期长)的原理来设计软件。

2、为了解决软件危机,人们提出了用(、数学DC、软件学A、运筹学B、工程学)3、瀑布模型的关键不足在于(D、各个阶段需要进行评审B、不能适应需求的动态变更C、过于灵活A、过于简单)4、软件使不同的系统约束条件和用户需求得到满足的容易程度称为软件的(D、可用性、可靠性C、坚固性A、兼容性 B )5、软件质量(可维护性、可理解性、可靠性)很大程度取决于(、程序运行效率A、程序员的变成水平B、模块分解的合理 C E、算法的合理性D、有完整的故障处理)、软件可行性研究一般不考虑(6A、是否有足够的人员和相关的技术来支持系统开发B、是否有足够的工具和相关的技术来支持系统开发、待开发的软件是否会有质量问题 D 、待开发软件是否有市场、经济上是否合算C)来描述法中,有一个处理过程逻辑不易用语言表达清楚,最好是用(7、SAPAD 图、 B 、流程图A 、判定表CNS D 、问题分析图- 1 -8、下列需求陈述中有效需求是()A、目标软件应有C++实现B、软件系统必须在5秒内响应并处理外部事件C、目标软件必须有系统设置模块D、当软件和用户交互时,必须能使用满足MS风格的界面9、在面向对象软件开发方法中,类与类之间主要有以下结构关系()A、继承和聚集B、继承和一般C、聚集和消息传递D、继承和方法调用10、面向对象模型主要由以下哪些模型组成()A、对象模型、动态模型、功能模型B、对象模型、数据模型、功能模型C、数据模型、动态模型、功能模型D、对象模型、动态模型、数据模型11、OOA中应首先识别()A、对象B、类C、对象的属性D、对象所属的类12、概要设计的结果是提供一份()A、模块说明书B、框图C、程序D、系统结构图13、以下语言中属于4GL是()A、PBB、VBC、UMLD、SQL Server 2000中的SQL语言14、与设计测试数据无关的文档是()A、需求分析说明书B、概要设计说明书C、源程序D、项目开发计划15、软件测试中的测试实例主要由输入数据和()组成A、测试规则B、测试计划C、预期输出结果D、以往测试记录分析三、简答题(共20分)1.项目A是为银行开发A TM(自动取款机)软件,项目B是为网络公司开发网络数据流分析软件,请问按照面向数据流设计方法(SD法),两个项目应分别采用何种方法将需求分析的功能模型转换成软件结构,为什么?(6分)2.某保险公司对投保人的汽车保费计算方法如下:单身男,年龄30岁以下(含30岁),计保费标准A,30岁以上计保费标准B;已婚男30岁以下(含30岁),计保费标准C,30岁以上计保费标准D,单身女,年龄25岁以下(含25岁),计保费标准E,25岁以上计保费标准F;已婚女25岁以下(含25岁),计保费标准G,25岁以上计保费标准H,请画出对应的判定树。

(完整)软件工程导论第版的关于课后习题答案

(完整)软件工程导论第版的关于课后习题答案

(完整)软件工程导论第版的关于课后习题答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)软件工程导论第版的关于课后习题答案)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)软件工程导论第版的关于课后习题答案的全部内容。

《软件工程导论》课后习题答案第一章软件工程概论1.什么是软件危机?它们有哪些典型表现?为什么会出现软件危机?“软件危机”是指计算机软件的“开发”和“维护"过程中所遇到的一系列“严重问题”.这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。

“软件危机”包含两方面的问题:(1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。

它们有以下表现:(1)对软件开发成本和进度的估计常常很不准确;(2)用户对“已完成的”软件系统不满意的现象经常发生;(3)软件产品的质量往往靠不住;(4)软件常常是不可维护的;(5)软件通常没有适当的文档资料;(6)软件成本在计算机系统总成本中所占的比例逐年上升;(7)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势.出现软件危机的原因(1)开发人员与客户认识之间的矛盾(2)开发人员能力与开发目标之间的矛盾(3)预估与实际工作量之间的矛盾(4)客户认识的提高与软件维护之间的矛盾(5)遗产系统与实施软件之间的矛盾2.假设自己是一家软件公司的总工程师,当把图1。

1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?"应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成"是在引入变动,当然付出的代价更高。

(完整)《软件工程导论》试题及答案,推荐文档

(完整)《软件工程导论》试题及答案,推荐文档

一, 判断题(正确的在括号内打上"√",错误的打上"×".每题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章概述(一)单项选择题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. 简述主要的软件生存期模型(或软件开发模型)。

软件工程导论试题答案

软件工程导论试题答案

第一章4.什么是软件工程?它与软件工程方法学有何关系?软件过程是为了开发高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

软件过程定义了运用技术方法的顺序,应该交付的文档资料,为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。

软件过程是软件工程方法学的3个重要组成部分之一。

2、假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得到的结果要求精确到小数点后4位。

一旦实现并测试完成后,该产品将被抛弃。

你打算选用哪种软件生命周期模型?说明你做出选择的理由。

该软件的要求很明确,实现开平方算法的功能也很成熟,因此既无需通过原型来分析需求也无需用原型来验证设计方法。

此外,一旦实现并测试完成后,该产品将被抛弃,因此无需使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。

综上所述,为了开发这个软件,使用瀑布模型就可以了。

8.假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本的开发。

由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。

你打算采用哪种软件生命周期模型?为什么?答:对这个项目的一个重要要求是,严格按照已对外公布的日期完成产品开发工作,因此,选择生命周期模型时应该着重考虑哪种模型有助于加快产品开发的进度。

使用增量模型开发软件时可以并行完成开发工作,因此能够加快开发进度。

这个项目是开发该公司已被广泛应用的字处理软件的新版本,从上述事实至少可以得出三点结论:第一,旧版本想当于一个原型,通过收集用户对旧版本的反应,较容易确定对新版本的需求,没有必要再专门建立一个原型系统来分析用户的需求;第二,该公司的软件工程师对子处理软件很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版本字处理软件所需要的技术水平;第三,该软件收到广大用户的喜爱,今后很可能还要开发更新版本,因此,应该把该软件的体系结构设计成开放式,以利于今后的改进和扩充。

《软件工程导论》课后习题答案

《软件工程导论》课后习题答案
假设在1995年存储器字长为32位,一名程序员每天可开发出30条指令,程序员的月平均工资为6000美元,重复(1)、(2)题。
*
作业及解答(第1-2章)
05
03
01
在1985年对计算机存储容量的需求,估计是
如果字长为16位,则这个存储器的价格是
如果一条指令的长度为一个字,则使存储器装满程序共需4474263条指令。
储户的属性主要有姓名、住址、电话号码和身份证号码,储蓄所的属性主要是名称、地址和电话号码,而数额、类型、到期日期、利率和密码则是关系类型存取款的属性。
*
作业及解答(第3章)
*
作业及解答(第3章)
3-6 复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。
在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。
基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算:
*
作业及解答(第1-2章)
在1985年对计算机存储容量的需求估计是多少?如果字长为16位,这个存储器的价格是多少?
假设在1985年一名程序员每天可开发出10条指令,程序员的平均工资是每月4000美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。
如果字长为32位,则这个存储器的价格是:
在1995年对存储容量的需求估计为:
在1995年一名程序员每天可开发出30条指令,每月可开发出600条指令,为了开发出可装满整个存储器的程序,需要的工作量为

软件工程导论_习题及答案

软件工程导论_习题及答案

软件⼯程导论_习题及答案第⼀章软件⼯程概论1.什么是软件⽣存周期?软件⽣存周期是指从软件定义、开发、使⽤、维护到淘汰的全过程。

2.软件⽣存周期为什么划分成阶段?(1) 任何⼀个阶段的具体任务不仅独⽴,⽽且简单,便于不同⼈员分⼯协作,从⽽降低整个软件开发⼯作的困难程度。

(2) 可以降低每个阶段任务的复杂程度,简化不同阶段的联系,有利于⼯程的组织管理,也便于采⽤良好的技术⽅法。

(3) 使软件开发的全过程以⼀种有条不紊的⽅式进⾏,保证软件的质量,特别是提⾼了软件的可维护性。

3.应该怎样来划分阶段?(1)每⼀个阶段的任务尽可能独⽴;(2)同⼀阶段内的任务性质尽可能相同;(3)每⼀个阶段任务的开始和结束有严格的标准。

4.软件开发模型有⼏种?它们的开发⽅法有可特点?软件开发模型有瀑布型、渐增型和变换型。

瀑布型开发⽅法是按照软件⽣存周期的划分依次实施,每⼀个阶段有明确规定的任务。

它的特点:(1)各个阶段的顺序性和依赖性;(2)划分逻辑设计与物理设计,尽可能推迟程序的物理实现;(3)每个阶段必须完成规定的⽂档,对其中问题通过复审及早发现,及早解决。

渐增型开发⽅法及特点:(1) 从部分需求出发,先建⽴⼀个不完全的系统,通过测试运⾏该系统取得经验和信息反馈,加深对软件需求的理解,进⼀步使系统扩充和完善。

如此反复,直⾄软件⼈员和⽤户对所设计完成的软件系统满意为⽌。

(2) 在渐增型开发下的软件是随软件开发的过程⽽逐渐形成的。

(3) 渐增型开发⽅法适合于知识型软件的开发,设计系统时对⽤户需求的认识开始不是很清楚的,需要在开发过程中不断认识、不断获得新的知识去丰富和完善系统。

多数研究性质的试验软件,⼀般采⽤此⽅法。

变换型开发⽅法及特点:(1)从软件需求的形式化规格说明出发,经过⼀系列的程序变换,得到最终的程序系统。

(2)该⽅法必须有严格的数学理论和形式化技术的⽀持。

5.什么是软件⼯程?软件⼯程是指导计算机软件开发和维护的⼯程学科。

软件工程导论试卷1答案

软件工程导论试卷1答案

期终考试《软件工程概论》_B_卷适用年级2007 适用专业软件工程(本科)参考答案及评分标准一.选择(每题2分,共30 分)二.填空(每题1分,共10分)1.工具2.对象3.层次4.瀑布5.扩展6.泛化7..属性8.继承9.关联10.Browse评分细则:每题填写正确得1分,不正确得0分。

三.判断。

(每题1分,共10分)评分细则:每题填写正确得1分,不正确得0分。

四.简答(每小题5分,共20分)1.目前常用的面向过程的方法,面向对象的方法,面向结构的方法,形式化方法等软件开发方法各有什么特点?答:(1)面向过程的程序=算法+数据结构;(2)面向对象的程序=对象+类+继承+消息通信;(3)面向构件的程序=构件+架构;(4)形式化方法是建立在严格的数学基础上,以逻辑推理为出发点;(5)它们有各自的方法、工具和过程;评分标准:(每个要点1分)2.在面向对象的系统开发过程中,每个阶段需要建造的模型各有什么作用?答:(1)在面向对象的系统开发过程中,每个阶段要建造不同的模型。

(2)需求分析阶段建造的模型用来捕获系统需求分析(3)设计阶段的模型是分析模型的扩充,为实现阶段作指导性和技术性的解决方案(4)实现阶段的模型是真正的源代码及编译后的组件。

(5)发布阶段是描述系统物理上的架构。

评分标准:(每个要点1分)3、软件工程的原则是什么?答:(1)分解。

(2)独立性。

(3)一致性。

(4)确定性。

评分标准:(一个要点1分,写全得5分)4.需求分析的原则是什么?答:(1)必须能够表达和理解问题的数据域和功能域。

(2)自顶向下、逐层分解问题。

(3)要给出系统的逻辑视图和物理视图。

评分标准:(一个要点1分,写全得5分)五、应用题(每题10分,共30分)1.【评分标准】4个状态每个1分(4×1分);6个事件每个1分(6×1分)参考答案:2. 评分标准:每个类各一分(1×7分),类之间的关系3分3.评分标准:教师、学生的注册、修改两个用例给1分,其它用例每个1分;行为者2分参考答案:注册学生信息登记家教信息。

软件工程导论课后习题答案完整版

软件工程导论课后习题答案完整版

第一章●软件工程方法学(3个要素):通常把软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称范型。

三要素:方法、工具和过程。

●软件生命周期模型–瀑布模型:优点:1.可强迫开发员采用规范的方法2.严格地规定了每个阶段必须提交的文件3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。

–缺点:传统的瀑布模型过于理想化,是由文档驱动的。

–快速原型模型:通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用户反馈意见的方法,获取用户真正的需要。

–增量模型:优点:能在较短时间内向用户提交可完成部分工作的产品;逐步增加产品功能可以使用户有较充实的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。

–螺旋模型:优点:对可选方案和约束条件的强调有利于已有软件的重用;减少了过多测试;维护只是螺旋模型中另一个周期。

1-1 什么是软件危机? 是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

1-2 什么是软件工程?是指导计算机软件开发和维护的一门工程学科。

1-3 简述结构化范型和面向对象范型的要点,并分析它们的优缺点。

目前使用得最广泛的软件工程方法学(2种):1.传统方法学:也称为生命周期方法学或结构化范型。

优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。

缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。

2.面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。

1-4 软件生命周期划分成哪些阶段●软件生命周期(各阶段)软件生命周期由软件定义、软件开发和运行维护三个时期组成。

1.软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析2.开发时期:总体设计、详细设计、编码和单元测试、综合测试。

软件工程导论习题答案

软件工程导论习题答案

2.需求分析的基本任务是什么?
准确定义未来系统的目标,确定为了满足用户的需要系统必须做什么。
3.怎样建立目标系统的逻辑模型?要经过哪些步骤?
建立目标系统的逻辑模型的过程也就是数据流图的分解过程。它的导出过程如图:
Hale Waihona Puke 4.什么是结构化分析?它的结构化体现在哪里?
结构化分析:使用数据流程图、数据字典、结构化英语、判定表和判定树等工具,来建立一种新的、称为结构化说明书的目标文档-需求规格说明书。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
4.构成软件项目的最终产品:
应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件生存周期?
软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。
6.软件生存周期为什么划分成阶段?
(1) 任何一个阶段的具体任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。
(2) 可以降低每个阶段任务的复杂程度,简化不同阶段的联系,有利于工程的组织管理,也便于采用良好的技术方法。
(3) 使软件开发的全过程以一种有条不紊的方式进行,保证软件的质量,特别是提高了软件的可维护性。
结构化体现在将软件系统抽象为一系列的逻辑加工单元,各单元之间以数据流发生关联。
5.软件需求规格说明书由哪些部分组成?
组成包括:
(1) 引言:编写目的、背景说明、术语定义及参考资料等。
(2) 概述主要功能、约束条件或特殊需求。
(3) 数据流图与数据字典。
(4) 用户接口、硬件接口及软件接口。

《软件工程导论》试题与答案

《软件工程导论》试题与答案

《软件工程导论》试题与答案一、选择题(每题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. 软件工程的基本活动包括软件规格说明、软件设计和实现、软件测试和验证。

(完整word版)软件工程导论第1-2套试题及答案要点

(完整word版)软件工程导论第1-2套试题及答案要点

软件工程A卷一、判断题:每小题1分,共15分,在正确的打上√,错误的打上×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分,共15分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、有完整的故障处理E、算法的合理性6、软件可行性研究一般不考虑()A、是否有足够的人员和相关的技术来支持系统开发B、是否有足够的工具和相关的技术来支持系统开发C、待开发软件是否有市场、经济上是否合算D、待开发的软件是否会有质量问题7、SA法中,有一个处理过程逻辑不易用语言表达清楚,最好是用()来描述A、流程图B、判定表C、NS图D、问题分析图PAD8、下列需求陈述中有效需求是()A、目标软件应有C++实现B、软件系统必须在5秒内响应并处理外部事件C、目标软件必须有系统设置模块D、当软件和用户交互时,必须能使用满足MS风格的界面9、在面向对象软件开发方法中,类与类之间主要有以下结构关系()A、继承和聚集B、继承和一般C、聚集和消息传递D、继承和方法调用10、面向对象模型主要由以下哪些模型组成()A、对象模型、动态模型、功能模型B、对象模型、数据模型、功能模型C、数据模型、动态模型、功能模型D、对象模型、动态模型、数据模型11、OOA中应首先识别()A、对象B、类C、对象的属性D、对象所属的类12、概要设计的结果是提供一份()A、模块说明书B、框图C、程序D、系统结构图13、以下语言中属于4GL是()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,请画出对应的判定树。

2020智慧树,知到《软件工程导论》章节测试完整答案

2020智慧树,知到《软件工程导论》章节测试完整答案

2020智慧树,知到《软件工程导论》章节测试完整答案第一章单元测试1、多选题:软件的主要特性是( )。

选项:A:高成本B:可独立构成计算机系统C:无形性D:包括程序和文档答案: 【高成本;无形性;包括程序和文档】2、单选题:包含风险分析的软件工程模型是( )。

选项:A:螺旋模型B:增量模型C:瀑布模型D:喷泉模型答案: 【螺旋模型】3、多选题:下列属于面向对象开发方法的是( )。

选项:A:OMTB:CoadC:BoochD:UML答案: 【OMT;Coad;Booch;UML】4、多选题:软件危机的主要表现是( )。

选项:A:软件产品的质量低劣B:软件成本太高C:软件开发人员明显不足D:软件生产率低下答案: 【软件产品的质量低劣;软件生产率低下】5、单选题:从事物的组成部件及每个部件的属性、功能来认识事物。

这种方法被称为( )的方法。

选项:A:面向数据B:面向过程C:面向对象D:面向属性答案: 【面向对象】面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问题解的( )结构。

选项:A:数据B:程序C:逻辑D:物理答案: 【程序】7、判断题:增量模型是非整体开发的模型,软件的开发是用增量开发和增量提交。

( )选项:A:错B:对答案: 【对】8、判断题:统一迭代过程在不同阶段,各个核心工作流的工作重心相同。

( ) 选项:A:对B:错答案: 【错】喷泉模型是一种面向对象模型。

( )选项:A:错B:对答案: 【对】10、判断题:螺旋模型不适用于大型内部软件开发。

( )选项:A:错B:对答案: 【错】第二章单元测试1、单选题:面向对象的分析方法主要是建立三类模型,即( )。

选项:A:对象模型、动态模型、应用模型B:ER模型、对象模型、功能模型C:对象模型、动态模型、功能模型D:系统模型、ER模型、应用模型答案: 【对象模型、动态模型、功能模型】2、单选题:SA法的主要描述手段有( )。

《软件工程导论》课后习题详细答案

《软件工程导论》课后习题详细答案

数字零=0 3位数字=3{数字}3 8位数字=非零数字+7位数字 7位数字=7{数字}7 数字=[0|1|2|3|4|5|6|7|8|9] 6. 可行性研究报告的主要内容? 可行性分析的结果是可行性研究报告,内容包括:(1) 系统概述:说明开发的系统名称,提出单位 和开发单位。 (2) 可行性研究的前提:系统目标; 要求; 约束和限制; 可行性研究的基本准则等。 (3) 对 现有系统的分析:处理流程,图示说明现有系统的处理流程和数据流程;现有系统存在的问题。 (4) 系统 需求:主要功能;主要性能及其要求;操作要求;信息要求;限制性要求。(5) 建议系统:系统目标;处理 流程;系统结构,功能,性能;系统技术可行性;投资和效益分析;操作可行性;法律可行性。(6) 其它可 选方案:与国内外同类型方案的比较; 提出一两个可行性方案供论证和探讨。 (7) 制定下一阶段的预算。 (8) 结论性意见:由用户方、设计方和投资方共同签署意见。 第三章 需求分析 习题答案 //3至3个数字
M 4080e 0.28(19851960) 4080e 7 4,474,263(字)
P 0.048 0.7219851974 4474263
5, 789(美元)
(2)如果一条指令的长度为一个字,则使存储器装满程序共需4474263条指令。 在1985年一名程序员每天可开发出10条指令,如果每月有20个工作日,则每人每月可开发出10×20条指 令。 为了开发出4474263条指令以装满存储器,需要的工作量是:
M 4080e 0.28(19951960)
73,577,679(字)
如果一条指令为一个字长,则为使存储器装满程序共需73,577,679条指令。
7,127(美元)

软件工程导论第1_2套试题与答案

软件工程导论第1_2套试题与答案

软件工程A卷一、判断题:每小题1分,共15分,在正确的打上√,错误的打上×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分,共15分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、有完整的故障处理E、算法的合理性6、软件可行性研究一般不考虑()A、是否有足够的人员和相关的技术来支持系统开发B、是否有足够的工具和相关的技术来支持系统开发C、待开发软件是否有市场、经济上是否合算D、待开发的软件是否会有质量问题7、SA法中,有一个处理过程逻辑不易用语言表达清楚,最好是用()来描述A、流程图B、判定表C、NS图D、问题分析图PAD8、下列需求述中有效需求是()A、目标软件应有C++实现B、软件系统必须在5秒响应并处理外部事件C、目标软件必须有系统设置模块D、当软件和用户交互时,必须能使用满足MS风格的界面9、在面向对象软件开发方法中,类与类之间主要有以下结构关系()A、继承和聚集B、继承和一般C、聚集和消息传递D、继承和方法调用10、面向对象模型主要由以下哪些模型组成()A、对象模型、动态模型、功能模型B、对象模型、数据模型、功能模型C、数据模型、动态模型、功能模型D、对象模型、动态模型、数据模型11、OOA中应首先识别()A、对象B、类C、对象的属性D、对象所属的类12、概要设计的结果是提供一份()A、模块说明书B、框图C、程序D、系统结构图13、以下语言中属于4GL是()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,请画出对应的判定树。

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

软件工程A卷一、判断题:每小题1分,共15分,在正确的打上√,错误的打上×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分,共15分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、有完整的故障处理E、算法的合理性6、软件可行性研究一般不考虑()A、是否有足够的人员和相关的技术来支持系统开发B、是否有足够的工具和相关的技术来支持系统开发C、待开发软件是否有市场、经济上是否合算D、待开发的软件是否会有质量问题7、SA法中,有一个处理过程逻辑不易用语言表达清楚,最好是用()来描述A、流程图B、判定表C、NS图D、问题分析图PAD8、下列需求陈述中有效需求是()A、目标软件应有C++实现B、软件系统必须在5秒内响应并处理外部事件C、目标软件必须有系统设置模块D、当软件和用户交互时,必须能使用满足MS风格的界面9、在面向对象软件开发方法中,类与类之间主要有以下结构关系()A、继承和聚集B、继承和一般C、聚集和消息传递D、继承和方法调用10、面向对象模型主要由以下哪些模型组成()A、对象模型、动态模型、功能模型B、对象模型、数据模型、功能模型C、数据模型、动态模型、功能模型D、对象模型、动态模型、数据模型11、OOA中应首先识别()A、对象B、类C、对象的属性D、对象所属的类12、概要设计的结果是提供一份()A、模块说明书B、框图C、程序D、系统结构图13、以下语言中属于4GL是()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分)3.目前国内软件开发在实现(编码)环节普遍采用面向对象的开发工具或语言,简述几种(至少三种)目前常用的软件实现(编码)工具或语言,说明这些工具的主要应用领域。

(6分)四、综合题(共25分)1.对使用以下数据存储的学生成绩表输入模块,采用等价划分类,划分其等价类,使用黑盒测试技术设计某条分录(记录)的覆盖所有等价类的测试用例(尽量考虑边值分析)。

(15分)学生成绩表数据结构:学号:字符类型,0-9数字,总共11位,班级号+编号(以我校实际情况设计)姓名:字符类型,考虑汉语及英语姓名课程:字符类型,16位,按我院实际课程名称情况设计课程类别:字符类型,4位,内容是“考查”或“考试”成绩:数字类型,整数部分3位,最多2位小数,考试课程直接录入数值(最高100分),存放数值,如果是考查课程允许录入字符优、良、中、及格、不及格或合格、不合格,存放原则是优(95分)、良(85分)、中(75分)、及格(65分)、不及格(55分)存放,或按合格(85分)、不合格(55分)2.面向对象分析题(10分)根据以下描述,使用面向对象的分析方法,分析有那些主要对象和这些对象的主要属性、方法,画出对象图。

一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。

顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。

顾客按键后饮料由出物口掉出,并自动结算及找钱。

顾客可在按下选择键前任何一个时刻,可以拉动退币杆取消交易收回硬币。

五、分析设计题(共25分)小李新接了一个项目:设计一个简单的学生选课系统,系统能注册符合要求的同学,同学注册以后就能进行选课,选课过程如下:先选课名,然后根据课程的上课老师、时间、地点和人数限制来决定是否成功选课;老师也可以根据情况提供新的课程说明或修改过去课程的说明;教务处的老师统一管理注册的情况,可以有删除、修改学生、老师和课程的权限。

请用面向对象方法设计出对象模型(对象类图,标出多重性、角色、限定词和关系:泛化、聚集、关联)、动态模型(学生成功注册后选课的顺序图)、功能模型(用例图)三大模型。

软件工程B卷一、判断题:每小题1分,共15分,在正确的打上√,错误的打上X1.快速原型模型可以有效地适应用户需求的动态变化。

()2.数据字典是对数据流图中的数据流,处理过程、数据存储、数据的源和终点进行详细定义。

()3.统一的建模语言,是一种软件工程设计语言。

()4.模块化使程序设计比较方便,但比较难以维护。

()5.一个模块实际上就是一个进程。

()6.过程描述语言可以用于描述软件的系统结构。

()7.编程语言应该在软件概要设计时选择。

()8.如果通过软件测试没有发现错误,则说明软件是正确的。

()9.在进行概要设计时应加强模块间联系。

()10.一般人为,软件开发阶段是由设计、编码和测试三个基本活动组成。

()11.软件概要设计包括软件系统结构设计以及数据结构和数据库设计。

()12.为了提高程序的易读性,尽可能使用高级语言或4GL编写程序。

()13.为了加强软件维护作业的进度,应尽可能增加维护人员的数目。

()14.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。

()15.确认测试计划应该在可行性研究阶段制定。

()二、单选题:每题1分,共15分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、CASED、开发方法7、SA法中,DFD图的某个处理过程分解后,一般不超过()处理过程A、10B、7C、5D、128、下列需求陈述中一致的是()A、所有命令响应时间应小于0.1s;BUILD命令的响应时间应小于5sB、所有命令响应时间应小于5s;BUILD命令的响应时间应小于1sC、BUILD命令的响应时间应小于5s;BUILD命令的响应时间应小于1sD、所有命令响应时间必须等于2s;BUILD命令的响应时间应小于3s9、以下哪一项不是面向对象的特征()A、多态性B、继承性C、封装性D、过程调用10、以下哪一项不属于面向对象的软件开发方法()A、coad方法B、Booch方法C、jackson方法D、OMT方法11、OOA中,事件追踪图是反映()对象所表现出来的集体行为A、2个B、1个C、多个D、3个12、结构化程序设计主要强调程序的()A、效率B、速度C、可读性D、大小13、注释是提高程序可读性的有效手段,好的程序注释占到程序总量的()A、1/6B、1/5C、1/4D、1/314、在发现错误后,排错应由()完成A、测试者B、高级程序员C、用户D、软件的开发者15、进行单元测试时,需要一个()被测模块的程序A、传递B、管理C、调用D、驱动三、简答题(共20分)1、CASE工具和环境的开发是目前软件开发领域的热点之一,请列举几种(至少2种)你熟悉的CASE工具或环境软件,写出它们的应用领域或属于那类工具。

(6分)2、下图为网络计划图(14分)请根据各项活动的活动时间计算各个事件的最早时间与最迟时间,并填入图中事件2~8相应的位置(14分,每填对一个事件的数字1分)四、综合题(共25分)1.读下图,请写出测试用例(可以不用写测试结果)来完成语句、条件覆盖和条件组合覆盖,并以字符列出相应执行路径。

(15分)2.请画出一个用户使用银行A TM的状态转换图。

从用户将卡插入卡槽开始,到用户取卡结束(如果用户忘记,A TM应报警),用户可以完成以下几个步骤:登录(卡片进入A TM机后,如果不是可读卡,退卡;如是,等待用户输入密码,三次错,吞卡,正确后进入主菜单),取钱(进入取钱菜单,输入金额,如果帐户余额不足,提示余额,并要求用户重新输入,如果帐上钱够,吐钱币,并询问是否打印凭证,最后返回主菜单),主菜单提供退出取卡选择。

相关文档
最新文档