第10章 算法及软件工程基本概念复习题

合集下载

软件工程复习资料精选全文完整版

软件工程复习资料精选全文完整版

可编辑修改精选全文完整版一、单选题(共20题,40分)1、使用数据流图,并不断细化的需求获取方法是()。

(2.0)A、简易的应用规格说明B、面向数据流自顶向下逐步求精C、访谈D、快速原型法正确答案: B2、Z语言是以()为基础的形式化规格说明语言。

(2.0)A、微积分B、概率C、图形D、一阶谓词演算正确答案: D3、HIPO是指(2.0)A、层次输入处理输出图或表B、层次功能结构图C、功能结构图D、输入处理输出图或表正确答案: A4、高铁调用系统最适宜采用()方法。

(2.0)A、有穷状态机B、 Petri网C、 Z语言D、一阶线性时态逻辑正确答案: B5、假设学生年龄的成绩输入范围为18-25,则根据等价类划分技术,下列划分正确的是()。

(2.0)A、可划分为2个有效等价类,2个无效等价类B、可划分为1个有效等价类,2个无效等价类C、可划分为2个有效等价类,1个无效等价类D、可划分为1个有效等价类,1个无效等价类正确答案: B6、用于并发系统,解决定时问题的形式化方法是()。

(2.0)A、 VDMB、 Z语言C、 Petri网D、一阶线性时态逻辑正确答案: C7、软件生命周期中所花费费用最多的阶段是(2.0)A、需求分析B、软件总体设计C、软件维护D、软件实现正确答案: C8、软件质量保证措施SQA不包括:(2.0)A、复审或评审B、软件测试C、程序正确性证明D、软件代码编写正确答案: D9、希望确定软件实现的功能是否与需求规格说明书一致,需进行()。

(2.0)A、单元测试B、有效性测试C、确认测试D、集成测试正确答案: C10、总体设计不包括:(2.0)A、体系结构设计B、数据库设计C、模块内算法设计D、逻辑数据结构设计正确答案: C11、关于类和对象的说法,正确的是(2.0)A、一个类只能有一个角色B、类的命名必须用动词C、类的所有对象都具有相同的属性和操作D、类是对象的实例,对象是类的抽象正确答案: C12、数据字典的基本功能是(2.0)A、数据库设计B、数据通信C、数据定义D、数据维护正确答案: C13、软件需求规格说明的内容不应该包括(2.0)A、主要功能B、算法的描述C、用户界面及其运行环境D、软件性能正确答案: B14、增量模型在添加新的模块时,有一个要求是()(2.0)A、需要更多的测试B、有足够的开发人员C、软件体系结构开放D、各个模块都要进行评审正确答案: C15、在软件详细设计过程中不采用的工具是(2.0)A、判定表B、PDLC、程序流程图D、DFD正确答案: D16、软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试(2.0)A、结构合理性B、软件外部功能C、程序正确性D、程序内部逻辑正确答案: B17、耦合是模块之间的相对独立性的度量。

软件工程复习总结题

软件工程复习总结题

软件工程复习总结题软件工程复习题一、单项选择题1.以下不属于面向对象开发方法的是(A )A)SA/SD 方法 B)Coad 与 Yourdon 方法 C)OMT 方法 D)Bootch 方法2.以下不是调试的任务的是( A )。

A)找出程序是否有错B)找出错误的位置C)找到程序错误原因D)纠正找到的错误3.若有一个计算型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001。

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

A)条件覆盖法B)等价分类法C)错误推测法 D)边界值分析法4.软件需求分析就是把软件功能和性能总体概念描述为具体的(B )。

4)项目开发计划B)软件需求规格说明 C)设计说明书D)可行性分析报告5.目前流行的C语言属于第(C )代程序设计语言。

参看:P192A)— B)二 C)H D)四6.软件开发的资源中,(C )是最重要的资源。

A)人力资源B)硬件资源 C)软件资源D)软件复用性及软件部件库7.数据流图(DFD图)中表示“加工”的图形符号是(D )。

A)箭头 8)双横线 C)矩形框 D)圆8. N-S图,也称盒图,是(B )时使用的一种图形工具。

A)系统结构设计 B)过程设计C)数据设计D)接口设计9.结构化程序设计的原则中要求每一个控制结构(A )。

A)只能有一个入口和一个出口B)可以有一个入口和多个出口C)可以有多个入口和一个出口D)可以有多个入口和多个出口10.可行性研究主要集中在以下四个方面,其中(B )是最难决断的方面。

A)经济可行性B)技术可行性C)法律可行性D)抉择11.允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试的测试用例设计方法是(B )。

A)黑盒测试B)白盒测试 C)选择测试D)穷举测试12.软件需求分析的主要任务是解决目标系统的(A )的问题。

(完整word版)软工复习题答案.doc

(完整word版)软工复习题答案.doc
客户号码
5位数字串(6)
位数字串(
18)
(2)设计测试用例见表A.2.
表A2测试用例表
测试数据
测试范围
期望结果
(1)()5323456
等价类(1)(5)(6)
有效
(2)(01)8093216
等价类(2)(5)(6)
有效
(3)(0871)3356789
等价类(4)(5)(6)
有效
(4)(067)5065432
A.简化.压缩的
C.彻底的
A)需求分析
B.详细的
D.深入的
.设计过程。
8.下面说法正确的是(C
)。
A.经过测试没有发现错误说明程序正确
B.测试的目标是为了证明程序没有错误
C.成功的测试是发现了迄今尚未发现的错误的测试
D.成功的测试收是没有发现错误的测试
9.面向对象的主要特征除对象唯一性、封装、继承外,还有(
A
)。
A.多态性B.完整性
C.可移植性D.兼容性
四、简述题(第1、2、4答案不确定,需自己去找找)
1:简述需求分析的过程。
回答一:
(1)问题识别
(2)分析与综合
(3)编制需求分析阶段的文档
(4)需求验证
建立软件原型)3(分析需求可行性)4(确认需求优先级)5(建立需求分析模型)
6(创建数据字典)回答二:
(3)特殊需求
说明此用例的特殊要求
(4)前置条件
说明此用例开始执行的前提条件,如参与者登陆成功等
(5)后置条件
说明此用例执行结束后,结果应传给什么参与者
8:简述如何识别分析类及应当注意的问题?
分析类包括实体类、边界类和控制类

软件工程与计算复习提纲(新)

软件工程与计算复习提纲(新)

• 下面面是一一段需求描述,请依据其建立立ATM机系统 的领域类图(即分析类图)。
• A银行行计划在B大大学开设银行行分部,计划使用用ATM 机提供全部服务。 ATM系统将通过显示示屏幕、输 入入键盘(有数字键和特殊符号键)、银行行卡读卡 器、存款插槽、收据打印机等设备与客户交互。 客户可以使用用ATM机进行行存款、取款、余额查询 等操作,它们对帐户的更新将交由账户系统的一一 个接口口来处理。安全系统将为每个客户分配一一个 PIN码和安全级别。每次事务执行行之前都需要验 证该PIN码。在将来,银行行还计划使用用ATM机支支 持一一些常规的操作,例如地址和电话号码修改。
复习提纲
第一一、二二章
• 名词解释
• 软件工工程
• 简答:
• 从1950s~2000s之间的特点
第四章 项⺫目目启动
• 如何管理团队?
• 在实验中采取了哪些办法?有哪些经验? • 团队结构有哪几几种?
• 质量保障有哪些措施?
• 结合实验进行行说明
• 配置管理有哪些活动?
• 实验中是如何进行行配置管理的?
• 示示例:(2010)结合实验,说明一一个项⺫目目的质量保障包括哪些
活动?
第五章
• 名词解释
• 需求
• 区分需求的三个层次
• 给出一一个实例,给出其三个层次的例子子 • 对给定的需求示示例,判定其层次
• 例如课程实验/ATM/图书管理…
• 掌握需求的类型
• 对给定的实例,给出其不同类型的需求例子子 • 对给定的需求示示例,判定其类型
思想是什么?
第九、十十章
• 体系结构的概念 • 体系结构的⻛风格的优缺点 • 体系结构设计的过程? • 包的原则 • 体系结构构建之间接口口的定义(*) • 体系结构开发集成测试用用例

软件工程复习知识点和例题

软件工程复习知识点和例题

1.软件危机的概念,内容,原因及消除的途径;概念:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

内容:软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护不断膨胀的已有软件。

具体地说,软件危机主要有以下一些典型表现:(1)对软件开发成本和进度的估计常常很不准确;(2)用户对“已完成的”软件系统不满意的现象经常发生;(3)软件产品的质量往往靠不住;(4)软件常常是不可维护的;(5)软件通常没有适当的文档资料;(6)软件成本在计算机系统总成本中所占的比例逐年上升;(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势;原因:在软件开发和维护的过程中存在这么多严重问题:一方面与软件本身的特点有关;另一方面也和软件开发与维护的方法不正确有关。

(1)软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。

(2)软件不同于一般程序,它的一个显著特点是规模庞大,而且程序复杂性将随着程序的规模的增加而呈指数上升。

(3)目前相当多的软件专业人员对软件开发和维护还有不少糊涂概念,在实践过程中或多或少地采用了错误的方法和技术,这可能是使软件问题发展成软件危机的主要原因。

(4)对用户要求没有完整准确的认识就匆忙着手编写程序是许多软件开发工程失败的主要原因之一。

2.软件工程的定义,基本原理;定义:软件工程是指导计算机软件开发和维护的一门工程学科。

基本原理:软件工程的7条基本原理:(1)用分阶段的生命周期计划严格管理(2)坚持进行阶段评审(3)实行严格的产品控制(4)采用现代程序设计技术(5)结果应能清楚地审查(6)开发小组的人员应该少而精(7)承认不断改进软件工程实践的必要性3.软降工程方法学的基本概念、内容;基本概念:把在软件生命周期全过程中使用的一整套开发和管理技术方法的集合成为软件工程方法学,也称为范型。

软件工程方法学包含3个要素:方法、工具和过程。

软件工程 复习题含答案

软件工程 复习题含答案

1. 构成软件项目的最终产品有哪些?应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。

2.可行性研究目的?确定在问题定义中所提出的问题是否值得去解,在限制条件下,问题能否解决。

3.可行性研究包括哪几方面的内容?(1)技术可行性:现有技术能否实现本系统,现有技术人员能否胜任,开发系统的资源能否满足;(2)经济可行性:经济效益是否超出开发成本;(3)操作可行性:系统操作在用户内部行得通吗?(4)法律可行性:新系统开发是否会侵犯他人、集体或国家利益,是否违反国家法律。

4.需求分析的描述工具有哪些?有数据流图、数据字典、判定表、判定树、结构化自然语言、层次方框图、Warnier图、IPO图和需求描述语言等。

5. 需求分析的基本任务是什么?准确定义未来系统的目标,确定为了满足用户的需要系统必须做什么。

6.软件需求规格说明书由哪些部分组成?组成包括:(1) 引言:编写目的、背景说明、术语定义及参考资料等。

(2) 概述主要功能、约束条件或特殊需求。

(3) 数据流图与数据字典。

(4) 用户接口、硬件接口及软件接口。

(5) 性能需求、属性等。

(6) 其它需求,如数据库、操作及故障处理等。

7.系统流程图与数据流程图有什么区别?系统流程图描述系统物理模型的工具,数据流程图描述系统逻辑模型的工具。

系统流程图从系统功能的角度抽象的描述系统的各个部分及其相互之间信息流动的情况。

数据流程图从数据传送和加工的角度抽象的描述信息在系统中的流动和数据处理的工作状况。

8.数据字典包括哪些内容?它的作用是什么?数据字典是描述数据流图中数据的信息的集合。

它对数据流图上每一个成分:数据项、文件(数据结构)、数据流、数据存储、加工和外部项等给以定义和说明;它主要由数据流描述、加工描述和文件描述三部分组成。

对用户来讲,数据字典为他们提供了数据的明确定义;对系统分析员来讲,数据字典帮助他们比较容易修改已建立的系统逻辑模型。

9. 软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。

软件工程复习题

软件工程复习题

软件工程复习题《软(校园交达电脑最新版)件工程》复习内容一.填空题1、软件是数据、计算机程序及其说明程序的各种文档。

2、概要设计主要是把各项功能需求转换成系统的体系结构。

3、面向对象开发方法包括 OOA 、OOD 、 OOP 三部分。

4、结构化设计中以数据流图为基础的两种具体分析设计方法是变换分析、事物分析设计。

5、在单元测试时,需要为被测模块设计驱动模块和桩模块。

6、CMM把软件过程从无序到有序的进化分成5个阶段,排序而形成5个逐层提高的等级,分别是初始级、可重复级、已定义级、已管理级和可优化级。

7.子类自动共享父类的属性和操作的机制称为继承。

8. 软件工程管理的具体内容包括对开发人员、组织机构、用户、文档资料等方面的管理。

9、可行性研究的三个方面是技术可行性、社会可行性和__经济可行性__。

10、在软件概要设计阶段,建立软件结构后,还应为每个模块写一份处理说明和_接口说明__。

11、在画分层的DFD时,父图与子图的输入输出数据流要__平衡__。

12、在详细设计阶段,除了对模块内的算法进行设计,还应对模块内的__数据结构_进行设计。

14. 基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。

因此,基线可以作为项目的一个___检查点__。

15. 软件工程包括软件开发技术和__软件工程管理__两大部分内容。

16、开发过程管理包括项目计划、控制和___任务管理__等。

17、CASE是多年来在软件开发管理、软件开发方法、软件开发环境和__软件工具__等方面研究和发展的产物。

18、数据字典中有四类条目,分别是___数据流、数据项、数据存储、基本加工。

19、用于描述基本加工的小说明的三种描述工具是结构化语言、判定表、判定树_。

20、子类只继承一个父类的属性和操作,这称为__单重继承__。

121、 McCabe复杂性度量又称__环路度量_。

22、喷泉模型是一种以用户需求为动力,以__对象__为驱动的模型。

软件工程复习试题及答案

软件工程复习试题及答案

一、填空题在下划线上填写正确的答案,每题2分,共20分1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数;2.数据流图和数据字典共同构成了系统的逻辑模型;3.盒图也称为N-S图;这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题; 4.软件有效性,指软件系统的时间和空间效率;5.IPO图的中文意思是结构化设计中变换型结构的输入Input、加工Processing、输出Output; 6.数据流图有四种基本成分:源、终点,处理,存储,数据流;7.数据字典有以下四种条目:数据流、数据项、数据存储、基本加工,其中数据项是组成数据流和数据存储的最小元素;8.软件工程中的结构化分析SA是一种面向数据流的分析方法;9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程;10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础;1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型;2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段;3.软件测试的步骤:单元、集成、系统、验收;4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点;5.IPO图由输入、处理和输出三个框组成;这个图的特点是能够直观的显示三者之间的关系;6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法;7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程;8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动;9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块;10.常用的测试方法有黑盒测试和白盒测试;1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益可行性等方面研究;2.构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环结构;3.软件生存周期中时间最长、花费精力和费用最多的一个阶段是维护阶段;4.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求;7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程;8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动进行查找的编码执行活动;9.为了获得较高的模块独立性,尽量设计出具有低耦合和高内聚性能的模块;1.若年利率为i,n年后可得钱数为F则现在的价值F/1+Ni;2.在结构化分析中用来描述加工逻辑的主要工具是结构化语言、判定表、判定树;3.软件测试的步骤:制定、设计、实施测试、测试后调试、做4.自顶向下结合的渐增测试法,在组合模块时有两种组合策略:71;2;3.HIPO图是由一组IPO图和一张H 图组成;4.在前期需求明确、资料完整的情况下尽量采用瀑布模型;5.用例图中,如果在完成某个功能时,偶而会执行另一个功能,则用扩展关系来表示;6.UML;7.类是类图的主要的主要部件,由类名、属性、操作3部分组成;8.UML中的泛化关系就是通常所说的继承关系;9;10Rose中对应图形的分类;1.软件危机具有下列表现D;1、对软件开发成本估计不准确2、软件产品的质量往往靠不住3、软件常常不可维护4、软件成本逐年上升A、1、2和3B、1、3和4C、2、3和4D、以上都正确2.软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是A;A运行和维护阶段B、设计阶段C、代码实现阶段D、测试阶段3.下列属于软件的特点的是D;A、软件是一种逻辑实体,具有抽象性B、软件在使用过程中没有磨损、老化C、软件不同于一般程序,它的一个显着特点是规模庞大,复杂程度高D、以上都正确4.软件开发技术不包含D;A、软件开发方法学B、软件工程环境C、软件工具D、软件质量度度量5.需求分析阶段最重要的技术文档是B;A、设计说明书B、需求规格说明书C、可行性分析报告D、用户手册6.数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是CA、数据库设计B、数据通信C、数据定义D、数据维护7.需求分析阶段的研究对象是C;A、系统分析员要求B、用户要求C、软硬件要求D、系统要求8.结构化方法的基本原则是B;A、模块化B、抽象与分解C、信息隐藏D、逐步求精9.耦合度最高的是B耦合;A、环境耦合B、内容耦合C、控制耦合D、数据耦合10.画软件结构图时应注意调用关系只能是BA、从下到上B、从上到下C、从左到右D、从右到左11.软件设计中划分模块的一个准则是CA、低内聚低耦合B、低内聚高耦合C、高内聚低耦合D高内聚高耦合12.Jackson设计方法是由英国的提出的,它是一种面向C的软件设计方法;A、对象B、数据流C、数据结构D、控制结构13.使用白盒测试方法时,确定测试数据应根据A和指定的覆盖标准;A、程序内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能14.软件维护工作的最主要的部分是A;A、校正性维护B、适应性维护C、完善性维护D、预防性维护15.PDL是B语言;A、高级程序设计语言B、伪码式C、中级程序设计语言D、低级程序设计语言16.下列哪个阶段不属于软件生存期的三大阶段C;A、定义阶段B、开发阶段C、编码阶段D、维护阶段17.可维护性的特性中相互促进的是AA、可理解性和可测试性B、效率和可移植性C、效率和可修改性D、效率和结构好18.软件测试的目标是BA、证明软件是正确的B、发现错误、降低错误带来的风险C、排除软件中所有的错误D、与软件调试相同19.软件生命周期中所花费用最多的阶段是DA、详细设计B、软件编码C、软件测试D、软件维护20.详细设计的基本任务是确定每个模块的D设计;A、功能B、调用关系C、输入输出数据D、算法22.下列哪个图不是N-S图的构件C;23.对于下列各图,有关描述中正确的是A;A、数据A和B同时输入变成CB、数据A变换成B和CC、数据A或数据B不能同时输入,变换成CD、数据A变换成B和C24.下列哪种方法不是度量效益的方法B;A、货币的时间价值B、算法模型估计C、投资回收期D、纯收入25.下列描述错误的是D;A、数据流图将各种信息流抽象成数据流的形式B、数据流图不反映控制关系、调用关系C、数据流图不反映处理逻辑的先后顺序D、数据流图不反映数据的流向26.软件是CA、处理对象和处理规则的描述B、程序C、程序及文档D、计算机系统27.软件需求规格说明的不应包括B;A、主要功能B算法的详细描述C、用户界面及运行环境D、软件性能28.程序的三种基本控制结构是B;A、过程、子程序和分程序B、顺序、选择和循环C、递归、迭代和回溯D、调用、返回和转移29.面向对象的分析方法主要是建立三类模型,即D;A、系统模型、ER模型、应用模型B、对象模型、动态模型、应用模型B、ER模型、对象模型、功能模型D、动态模型、功能模型、对象模型30.ER模型中,包含以下基本成分C;A、数据、对象、实体B、控制、联系、对象C、实体、联系、属性D、实体、属性、操作1.快速原型模型的主要特点之一是 BA.开发完毕才见到产品B.及早提供工作软件C.及早提供全部完整软件D.开发完毕才见到工作软件2.软件工程学的一个重要目标是DA.提高程序的执行效率B.降低程序对存储空间的要求C.定义各种软件开发过程模型D.提高软件的可维护性3.需求分析最终结果是产生BA.项目开发计划B.需求规格说明书C.设计说明书D.可行性分析报告4.数据存储和数据流都是处于不同状态的 DA.分析结果B.事件C.动作D.数据5.数据字典是对数据定义信息的集合,它所定义的对象都包含于A A.数据流图B.程序框图C.软件结构D.方框图6、结构化设计是一种面向A的设计方法;A.数据流B.数据库C.数据结构 D.程序7.下列可哪个组件不是用例图的基本组件 DA.参与者B.用例C.系统D.文档8.用例图中用例之间存在各种关系,但不包括 BA.包含B.关联C.泛化D.扩展9.常用动词或动词词组来表示CA.对象B.类C.关联D.属性10.组件图中通常不包括下列哪个元素 AA.对象B.组件C.接口D.依赖11.好的软件结构应该是BA.高耦合、高内聚B.低耦合、高内聚C.高耦合、低内聚D.低耦合、低内聚12.静态模型不包括CA.类图B.组件图C.状态图D.部署图13.动态模型不包括 DA.交组图B.活动图C.状态图D.部署图14.Rose模型文件的扩展名为 AA.mdlB.vsd C.pdf D.swf15.逆向工程是什么过程CA.模型到代码B.设计到实现C.代码到模型D.类图到包图三、判断题正确的在括号内打上“√”,错误的打上“×”;每小题2分,共20分1软件开发的主要任务是写程序;F2测试只能证明程序有错误,不能证明程序没有错误;T3模块化程序设计中,模块越小,模块化的优点越明显;一般来说,模块的大小都在10行以下;F4在编制程序时,首先应该对程序的结构充分考虑,不要急于开始编码,而要写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能如何安排等等;F5程序设计风格指导原则提出,尽量多使用临时变量;F6用黑盒法测试时,测试用例是根据程序内部逻辑设计的;F7发现错误多的程序模块,残留在模块中的错误也多;T8为了加快软件维护作业的进度,应尽可能增加维护人员的数目;F9软件维护就是改正软件中的错误;F10质量保证是为了保证产品和服务充分满足消费者要求的质量而进行的有计划,有组织的活动;T11螺旋模型是利用笛卡尔坐标的四个象限分别代表四个方面的活动来表示;F12模块越多,开发成本越小;F13内聚是指一个软件结构内各个模块之间互连程序的度量;F14结构化设计属于面向数据流的设计方法;T15详细设计是在概要设计之后进行的;它利用概要设计的结果,对系统中的每个模块给出足够的过程性描述;T16程序运行过程中出现错误叫做容错;F17软件测试的目的是证明程序没有错误;F18白盒测试法是将程序看成一个透明的盒子,不需要了解程序的内部结构和处理过程;F19PAD图在设置了五种基本的控制结构后,还允许递归调用;T20独立编译是指一个大程序的不同程序单元分别编译,然后重新连接整个程序段;T31开发软件就是编写程序F32系统测试的主要方法是白盒测试法,主要进行功能、性能测试、安全性测试及可靠性测试等F 33编程时应尽可能利用硬件特点以提高程序效率F;34软件需求分析的任务是建立软件模块结构图F;35尽可能使用高级语言编写程序T;36以结构化方法建立的系统模型就是数据流图F;37进行总体设计时加强模块间的联系F;38编码时尽量多用全局变量F;39用CASE环境或程序自动化生成工具来自动生成一部分程序T40软件测试是要发现软件中所有错误FT41、软件开发、设计几乎都是从头开始,成本和进度很难估计;F42、VG值越高的程序往往是越不复杂、越不容易出问题的程序;F43、适应性维护是改进软件未来的可维护性和可靠性;F44、软件是逻辑产品,软件质量较容易直接度量;T45、随着软件复杂性的不断提高,软件的维护难度越来越大;F46、软件也会磨损和老化;F47、用穷举法测试是较现实的测试方法;T48、面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和循环三种基本形式表示数据等步骤;F49、测试计划、测试用例,出错统计和有关的分析报告一般不用长期保存;F50、McCabe建议模块规模应满足:VG≤20;T 61.总体设计阶段要设计软件体系结构;F62、软件即程序;T63.采用对象设计系统时,首先建立系统的物理模型;T 64.用例图中,扩展关系表示为虚线箭头加“extend”;T65.实现关系指定两个实体之间的一个合同;T66.状态图通常作为对类图的补充;F67.聚集关系是关联的一种形式,表示两个类之间的一般与特殊关系;T68.一个完整的模型必然描述系统的静态和动态两个方面;F 69.状态图是对多个对象建模;T 70.在UML中,组件是指系统中可替换的物理部分;四简述题每小题5分,共10分1.测试用例测试用例TestCase是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个路径或核实是否满足某个特定需求;2.模块化模块化是指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,有多种属性,分别反映其内部特性;3.对象指行动或思考时作为目标的事物4.软件生命周期各阶段的任务是什么答:软件生命期分为7个阶段:1、问题定义:要解决的问题是什么2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性3、需求分析:系统必须做什么4、总体设计:系统如何实现,包括系统设计和结构设计5、详细设计:具体实现设计的系统6、实现:编码和测试7、运行维护:保证软件正常运行;5.软件重用的效益是什么答:1、软件重用可以显着地改善软件的质量和可靠性;2、软件重用可以极大地提高软件开发的效率;3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费;6.结构化程序设计方法的基本要点;1.采用自顶向下、逐步求精的程序设计方法:在需求分析、概要设计中,都采用了自定向下、逐层细化的方法;2.使用三种基本控制结构构造程序,分别是顺序、选择和循环,这三种基本结构的共同点是、单入口、单出口,为自顶向下、逐步求精的设计方法提供了具体的实施手段;3.采用主程序员的组织形式:指开发程序的人员组织方式应用由一个主程序员、一个后备程序员和一个程序管理员三人为核心,再加上一些专家、其他技术人员组成小组;7.什么是软件生命周期8.简述什么是回归测试回归测试-----在集成测试过程中每当一个新模块结合进来时,程序就发生了变化:建立了新的数据流路径,可能出现新的I/O操作,激活新的控制逻辑;这样变化有可能使原来正常的功能出现了问题;所谓回归测试是指重新执行已经做过的测试的某个子集,以保证上述变化没有带来非预期的错误;9.简述软件危机有哪几种表现软件开发和维护的过程中常遇到的问题1对于软件开发的成本和进度的估计很不准确;2开发的软件产品不能完全满足用户要求;3开发的软件可靠性差,软件产品质量差;4软件通常没有适当的文档资料;5软件的可维护性差;6软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势,效率低;7软件价格昂贵;10.什么是软件工程SoftwareEngineering,简称为SE是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科;它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面;11.简述需求分析的任务需求分析的任务就是:确定待开发的软件系统“做什么”;具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册12.详细设计的主要任务是什么答:详细设计的基本任务包括:1、为每个模块进行详细的算法设计2、为模块内的数据结构进行设计3、对数据库进行物理设计4、其他设计5、编写详细设计说明书6、评审13.自顶而下渐增测试与自底向上渐增测试各有何优缺点答:①自顶而下渐增测试优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误;缺点:需要存根程序,底层错误发现较晚;②自底而上渐增测试优点与缺点和自顶而下渐增测试相反;14.软件生存期各阶段的主要任务;15.简述需求分析工作可以分成哪四个方面软件需求分析有三个基本原则需求分析阶段的基本过程包括四个方面:对问题的识别,分析与综合,制定规格说明以及评审;1问题识别,系统分析人员要研究计划阶段产生的可行性分析报告和软件项目实施计划;然后进行功能需求、性能需求、环境需求、可靠性需求安全保密需求、用户界面需求、资源使用需求等方面的工作;2分析与综合,分析员需从数据流和数据结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的限制,分析他们是否满足功能需求,是否合理;3制定规格说明,编写需求分析的文档;4需求分析评审;为保证软件需求定义的质量,评审应以专门指定的人员负责,并按规程严格执行;需求分析的原则1.必须能够传达和理解问题的数据域和功能域2.必须按自顶向下、逐层分解的方式对问顺进行分解和不断细化3.给出系统的逻辑模型和物理模型161、为了发现错误而执行程序的过程2、一个好的用例能够发现至今尚未发现的错误的测试3、一个成功的测试是发现至今尚未发现的错误的测试17.在面向对象的系统开发过程中,每个阶段需要建造的模型各有什么作用1、在面向对象的系统开发过程中,每个阶段要建造不同的模型2、需求分析阶段建造的模型用来捕获系统需求分析3、设计阶段的模型是分析模型的扩充,为实现阶段作指导性和技术性的解决方案4、实现阶段的模型是真正的源代码及编译后的组件5、发布阶段是描述系统物理上的架构18.软件工程的原则是什么软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则;五、应用题20分1.某厂对部分职工重新分配工作的政策是:年龄有20岁以下者,初中文化程度脱产学习,高中文化程度当电工;年龄有20岁至40岁之间者,中学文化程度男性当钳工,女性当车工,大学文化程度者当技术员;年龄有40岁以上者,中学文化程度当材料员,大学文化程度当技术员;请用结构化语言,判定树或判定表描述上述问题的加工逻辑;职工重新分配工作的政策可描述为:若年龄在20岁以下则初中文化程度脱产学习高中文化程度当电工若年龄在20-40岁之间则中学文化程度男性当钳工女性当车工大学文化程度都当技术员若年龄在40岁以上者则中学文化当材料员大学文化当技术员技术员√√材料员√初中脱产学习年龄<20 高中电工男钳工中学女车工工作分配规则年龄20-40高中技术员年龄>40 中学村料员高中技术员2.假设某航空公司规定,乘客可以免费托运重量不超过30kg的行李;当行李重量超过30kg 时,对头等舱的国内乘客超重部分每公斤收费4元,对其他舱的乘客超重部分每公斤收费6元,对国外乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半;用判定表表示每种条件组合相对应的计算行李费的算法;用判定树表示计算行李费的算法用判定树表示计算行李费的算法3.以自己开发软件可以是C、C++、VC++、VF、甚至是汇编、等其他语言的一个自选项目为背景,应用软件工程方法进行策划,要求必须给出项目描述,主要的软件工程过程的描述以及各阶段的主要内容。

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

第十章算法及软件工程基本概念(五版补充章节)
一、选择题
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.软件危机出现于60年代末,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。

A.运筹学
B.工程学
C.软件学
D.数字
15.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。

A.详细设计B.可行性分析C.运行及维护D.测试与排错
16.在软件研究过程中,CASE是____。

A.指计算机辅助系统工程B.CAD和CAM技术的发展动力
C.正在实验室用的工具D.指计算机辅助软件工程
17. 下列_____不是模块化设计的目的。

A、可采用结构化设计方法
B、降低复杂度
C、有利于信息隐蔽
D、描述系统的功能与性能
二、填空题
1.算法的两大要素是对运算对象的操作和。

2.算法有两大类,分别为: 和。

3.在算法描述方法中不使用流程线来表示算法执行过程的是。

4.软件包含、数据和相关文档的集合。

5.软件工程包括3个基本要素:、和。

6.软件工程技术中,控制复杂性的两个基本手段“分解”和____________。

7.软件工程的理论和技术性研究内容包括:和。

【参考答案】
1.C
2.B
3.A
4.A
5.C
6.B
7.C
8.A
9.C 10.A 11.B 12.A 13.B 14.B 15.C 16.D 17.D
1.控制结构
2.数值运算非数值运算
3.NS盒图
4.程序
5.方法工具过程
6.抽象
7.软件开发技术软件工程管理。

相关文档
最新文档