第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
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、甚至是汇编、等其他语言的一个自选项目为背景,应用软件工程方法进行策划,要求必须给出项目描述,主要的软件工程过程的描述以及各阶段的主要内容。
129057574777656250第十章__算法及软件工程基本概念_复习题
第十章算法及软件工程基本概念(五版补充章节)一、填空题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.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作。
软件工程复习题
软件工程复习题软件工程是一门研究如何高效、系统地开发和维护软件的学科。
以下是一些软件工程的复习题,旨在帮助学生更好地理解和掌握软件工程的基本概念、原理和方法。
1. 软件工程的定义:软件工程是应用工程原则和方法来开发和维护软件的学科。
2. 软件生命周期:软件生命周期包括需求分析、设计、编码、测试、部署和维护等阶段。
3. 需求分析的重要性:需求分析是软件开发的第一步,它确保了软件能够满足用户的实际需求。
4. 软件设计的原则:软件设计应遵循模块化、抽象化、封装和信息隐藏等原则。
5. 编码规范:编码规范有助于提高代码的可读性、可维护性和可重用性。
6. 软件测试的类型:软件测试包括单元测试、集成测试、系统测试和验收测试等。
7. 敏捷开发方法:敏捷开发是一种以人为核心、迭代、循序渐进的软件开发方法。
8. 软件项目管理:软件项目管理包括时间管理、成本管理、质量管理、风险管理等。
9. 软件维护的类型:软件维护包括纠错性维护、适应性维护、完善性维护和预防性维护。
10. 软件工程中的伦理问题:软件工程师在开发过程中需要考虑隐私保护、数据安全、软件的可靠性和可用性等伦理问题。
11. 软件重用的概念:软件重用是指在新的软件开发过程中利用已有的软件组件或代码。
12. 面向对象编程的特点:面向对象编程是一种编程范式,它使用对象来设计软件,强调数据和功能的封装。
13. 软件工程中的UML:统一建模语言(UML)是一种用于软件工程的图形化建模语言,用于描述软件系统的结构和行为。
14. 软件配置管理:软件配置管理是确保软件在开发过程中的一致性和可追踪性的过程。
15. 软件质量保证:软件质量保证是确保软件满足既定质量标准的过程。
通过这些问题的复习,学生可以对软件工程的各个方面有一个全面的了解,并为考试或实际工作中遇到的相关问题做好准备。
软件工程复习题(看完必过)
复习题填空题在信息处理和计算机领域内,一般认为软件是 _程序____、_文档____ 和_数据____ 。
数据流图的基本组成部分有 _数据的源点与终点__、数据流_、加工__、数据文件。
数据流图和数据字典共同构成了系统的 _逻辑____模型,是需求规格说明书的主要组成部分。
划分模块时尽量做到__高内聚、低耦合___持模块的独立性,尽量使用公共模块。
类的实例化是_对象_______。
人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可靠性的两个指标是_成功地运行的概率_______和_平均故障时间_______。
将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,将得到软件的总开发量。
这种成本估算方法称为_自底向上_______。
如果一个模块被 n 个模块调用,其中直接的上级模块的个数是 m 个( m<=n )那么该模块的扇入数是 ____N_______ 个。
结构化设计以 __数据流图_________ 为基础,按一定的步骤映射成软件结构。
软件的风险分析可包括风险识别、风险预测和风险驾驭(或风险管理)等3项活动。
软件著作权登记的3种主要类型:(1)著作权登记;(2)著作权延续登记;(3)权利转移备案登记。
软件工程管理的主要内容有:项目经费管理,软件质量管理,项目进度管理和人员管理。
面向对象分析的目的是对客观世界的系统进行 ___建模_____软件维护工作的生产性活动包括分析评价、修改设计和 ____编写程序代码______ 等。
为了使应用软件适应计算机环境的变化而 ___修改软件____ 的过程称为适应性维护。
一个进行学生成绩统计的模块其功能是先对学生的成绩进行累加,然后求平均值,则该模块的内聚性是 __________顺序内聚________ 。
投资回收期就是使累计的经济效益等于 __最初的投资费用__________ 所需的时间。
软件生存周期是指一个软件从提出开发要求开始直到 __软件废弃____为止的整个时期。
软件工程复习题及参考答案
软件工程》课程复习资料、单项选择题:1. 下面哪些UML 图描述系统行为? A. 用例图 B. 类图 C.2. 属于概要设计活动的是A. 软件结构设计B. 数据结构设计3. 属行为型设计模式的是A. 组合模式B. 工厂方法模式4. 下列说法正确的是A.UML 是软件开发方法C.UML 是软件开发过程 [ ] 对象图[ ] C. 算法设计 [ ]5. 根据程序流程图划分的模块通常是 [ ] A. 信息内聚的模块 B. 过程内聚的模块 C. 逻辑内聚的模块6. 如果某程序中的比较个数是 m 则其McCabe 环形复杂度为 []A.m-1B.mC.m+17. 按 ISO9000-3 的说明,下列属软件配置项的是A. 软件开发方法B. 软件开发组织管理制度C.8. 软件测试的目的是A. 证明软件无错B. 发现软件中的所有错误C.9. 软件重构关注的是A. 软件体系结构B. 模块细节C. 软件性能10. 软件项目开发计划的内容有A. 数据分析B. 风险分析C. 功能分析11. 在UML 的类图中,描述整体与部分关系的是A. 瀑布模型B.RAD 模型C. 原型模型20.UML 图中描述系统结构的是[ ]A. 组件图B. 顺序图C. 状态图21.面向对象方法是一种什么软件开发方法?[ ]A. 层次化B. 迭代增量式C. 逐步求精22. 不可以用来衡量软件可维护性的是[ ]A. 可靠性B. 可用性C.可行性[ ] 23. 系统分析员在需求分析最后负责编写A. 用户手册B. 概要设计说明书C.可行性研究报告 24. 为了提高软件的可靠性、可维护性等而对软件的修改称为[ ]A. 改正性维护B. 适应性维护C. 预防性维护]25. 在结构化方法中,为使需求改变对软件影响较小,应该使软件结构[ ][ ] B.UML 是系统描述语言 [ ] 软件开发合同 [ ] 尽可能发现软件系统中的错误 [ ] [ ] [ ] 14. 对项目软件而言,软件功能需求信息主要由谁提供 [ ]A. 软件用户B. 软件开发人员C. 软件项目管理人员15.IDEF0 图反映不出 [ ]A. 系统做什么B. 系统功能由谁做C. 系统如何做 16. 原型模型是一种什么开发过程模型?[ ]A. 自顶向上B. 由外至内C. 增量式 17. 系统流程图描述 [ ]A. 物理系统B. 逻辑系统C. 软件体系结构18. 需求规格说明书的内容不应该包括[ ]A. 软件确认准则B. 软件的性能描述C. 算法过程的详细描述 19. 适合需求模糊或需求不确定系统开发的软件开发模型是 [C. 与用户界面对应 [ ] C. 观察者模式 A. 泛化关系 B. 聚合关系 C. 依赖关系12. 软件过程能力成熟度模型 CMM 用以评价 []A. 软件过程能力B. 组织能力C. 学习能力13. 因计算机硬件和软件环境的变化而作出的修改软件的过程称为 [ ]A. 完善性维护B. 改正性维护C. 适应性维护A. 与问题结构对应B. 与问题结构独立26. 单元测试的计划应该在什么阶段完成?A. 需求分析B. 概要设计C. 详细设计27. 下列属面向对象软件开发方法的是[]A.L CP方法B.OMT 方法C.IDEFO 方法28. 强调信息隐藏的软件工程设计方法是[]A.Jackso n 方法B.Parnas 方法C.SA/SD 方法29. 描述系统动态行为的模型是[]A.包图B. 软件结构图C.状态图30. 考虑输入条件组合的测试用例设计方法是[]A.等价分类法B.语句覆盖法C.因果图法31. 下列能减少支援性维护活动的是[]A.利用软件包B.进行配置管理C.对用户进行适当培训32. 只支持单重继承的程序设计语言是[]A.C++B.DelphiC.C33.IDEF0图的顶层图是[]A.A0 图B.A-0 图C.A-1 图34. 在UML的用例图中,扩展关系是一种[]A.泛化关系B. 依赖关系C. 关联关系35. 独立测试小组开始介入测试是在[]A.模块测试阶段B.集成测试阶段C.确认测试阶段36. 在成本估计中容易低估局部问题的方法是[]A.基于经验模型的估计B. 自底向上估计C.自顶向下估计37. 在IDEF1X图中,如果子实体与父实体存在联系,则子实体将继承父实体的[]A.全部属性B. 主关键字属性C.非主关键字属性38. 结构化分析方法使用的工具是[]A.数据流图B. 类图C. 软件结构图39. 白盒测试设计用例的方法是[]A.等价分类法B.基本路径覆盖法C. 因果图法40. 在衡量软件质量时,最重要的标准是[]A.可维护性好B.可用性好C. 满足用户功能需求41. 瀑布模型是一种[]A.演化模型B. 顺序模型C. 增量模型42. 模块的独立程度可以由什么定性标准度量?[]A.耦合度B. 复杂度C. 可靠性43. 以下选项中,不属于对象的特点有[]A.继承B. 多态C. 封闭44. 面向数据结构的设计方法有[]A.Parnas 方法B.J ackson 方法C.IDEF0 方法45. 与UML配合最好的软件开发方法是[]A.RUP 方法B.Coad/Yourdo n 方法C.IDEF4 方法二、填空题:1. 统一建模语言UML提供了两种描述整体/部分关系的方法,分别是______________ 和________ 。
第10章 算法及软件工程基本概念复习题汇总
第十章算法及软件工程基本概念(五版补充章节)一、选择题1. 计算机的指令集合称为。
A.机器语言 B.高级语言2. 计算机能够直接执行的程序是。
A.源程序3. 关于算法应当具有特性的论述中,不正确的是。
A.有穷性:一个算法应包含有限个操作步骤,每一步的完成时间无限制B.确定性:算法中每一条指令必须有确切的含义,不能有二义性C.可行性:算法中指定的操作,都可以通过已经实现的基本运算执行有限次后实现D.有若干个输入/输出4. 算法的有穷性是指。
A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用5. 在算法的传统流程图描述中,菱形框代表。
A.起止框6. 结构化程序设计中三种基本结构是。
A.选择结构、过程结构、顺序结构B.选择结构、循环结构、顺序结构C.递归结构、循环结构、选择结构D.选择结构、递归结构、输入输出结构 B.输入输出框 C.判断框 D.处理框 B.机器语言程序 C.高级语言程序 D.汇编语言程序 C.程序 D.软件7. 下面关于算法说法错误的是。
A.算法最终必须由计算机程序实现B. 为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的8. 用高级语言编写的程序为。
A.源程序9. 计算机算法指的是。
A.计算方法10. 需求分析中开发人员要从用户那里了解。
A.软件做什么B.用户使用界面C.输入的信息D.软件的规模11.需求分析是由分析员了解用户的要求,认真细致地调研。
分析,最终应建立目标系统的逻辑模型并写出__ __。
A.模块说明书 B.软件规格说明书 C.项目开发计划 D.合同文档12.在开发软件时,可用来提高程序员的工作效率。
A.程序开发环境B.操作系统的作业管理功能D.并行运算的大型计算机 B.排序方法 C.解决问题的步骤序列 D.调度方法 B.编译程序 C.可执行程序 D.编辑程序 C.编译程序的优化功能13.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作。
第10章 算法及软件工程基本概念_复习题
doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。
第十章 一、选择题
算法及软件工程基本概念(五版补充章节)
1. 计算机的指令集合称为 A.机器语言 B.高级语言
。 C.程序 D.软件
2. 计算机能够直接执行的程序是 A.源程序 B.机器语言程序
1.算法的两大要素是对运算对象的操作和 2.算法有两大类,分别为: 和 。 。 。
3.在算法描述方法中不使用流程线来表示算法执行过程的是 4.软件包含 、数据和相关文档的集合。 、 和 。
5.软件工程包括 3 个基本要素:
6.软件工程技术中,控制复杂性的两个基本手段“分解”和。 7.软件工程的理论和技术性研究内容包括: 和 。
6.抽象
7.软件开发技术
。
7. 下面关于算法说法错误的是 A.算法最终必须由计算机程序实现
。
B. 为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的
8. 用高级语言编写的程序为 A.源程序 B.编译程序
。 C.可执行程序 D.编辑程序
9. 计算机算法指的是 A.计算方法 B.排序方法
。 C.解决问题的步骤序列 D.调度方法
10. 需求分析中开发人员要从用户那里了解 A.软件做什么 B.用户使用界面 C.输入的信息
。 D.软件的规模
11.需求分析是由分析员了解用户的要求,认真细致地调研。分析,最终应建立 目标系统的逻辑模型并写出__ A.模块说明书 __。 C.项目开发计划 D.合同文档
16.在软件研究过程中,CASE 是。 A.指计算机辅助系统工程 C.正在实验室用的工具 B.CAD 和 CAM 技术的发展动力 D.指计算机辅助软件工程
2024年软件工程概述(方法、工具、过程)等知识试题与答案
2024年软件工程概述(方法、工具、过程)等知识试题与答案一、选择题1.软件是(A)A、设计开发的B、软件项目组制造的C、程序员编写代码实现的D、项目经理组织实施的2.软件工程实践的一个重要原则是存在价值,是指(D)A、软件正常开发B、软件能够稳定运行C、软件具有足够的可靠性D、软件能够给用户提供价值3.构成软件工程基础的是(A)A、过程B、方法C、工具D、设计4.对软件的描述正确的是(C)A、软件是没有附加价值的产品。
B、软件质量依赖于程序员的个人水平。
C、具有技术和文化的双重属性。
D、软件测试是一项比较简单的工作。
5.下列哪一项不是软件危机产生的原因(D)A、客观原因,软件本身特点是逻辑部件,且规模日趋庞大。
B、主观上忽视需求分析。
C、错误认为:软件开发=程序编写。
D、过分重视软件维护。
6.下列哪一项不属于软件工程的发展阶段(B)A、对象工程B、作坊式工程C、过程工程D、构件工程7.软件工程与计算机科学的区别错误的描述是(C)8.与硬件产品相比(B)A、软件会磨损B、软件会退化C、软件失效遵守盆形曲线D、软件可以用备用部件替换9.软件工程是一种层次化的技术,支持软件工程的根基在于(C)A、软件工程过程模型B、软件生命周期模型C、质量关注点D、软件工程工具10.“软件危机”是指(D)A、计算机病毒的出现B、利用计算机系统进行经济犯罪C、人们过分迷恋计算机系统D、软件开发和软件维护中出现的一系列问题11.如果软件开发中使用增量模型,第一个增量(BOA、必须正确B、往往是核心产品C、满足基本需求D、不能变动12.构件是软件技术中的重要内容,基于构件的开发(ABD)A、可以实现复用B、可以减少开发费用C、可以提高软件性能D、可以缩短开发周期13.敏捷开发认为(AD)A、有能力的个体和良好的交互胜过现代软件过程和先进工具B、软件开发的目标是可工作的软件,因此应该不需要写文档C、客户和开发方应该严格按照既定合同进行软件开发D、采用增量式开发和短周期交付,以便及时响应变化14.关于模型选择说法正确的是(BC)A、同一个软件组织应该采用一种软件过程模型,以便于管理B、需求不稳定的情况下,尽量采用增量式开发C、全新系统的开发应该在总体设计完成后再开始增量或并行D、敏捷模型能够快速响应变化,即使编码人员经验较少,仍应该采用敏捷开发方式15.需求分析阶段最重要的技术文档是(B)A、设计说明书B、需求规格说明书C、可行性分析报告D、用户手册16.下列那种做法符合软件工程师的职业道德?(C)A、把公司项目中完全由自己开发的模块封装为小软件,发布到网络牟利。
软件工程复习题库带答案完整版
软件工程复习题库带答案完整版1、白盒测试法是通过分析程序的内部逻辑来设计测试用例的。
2、风险预测从两个方面评估风险,即风险发生的可能性以及风险发生所产生的后果。
3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和反馈和勇气。
4、等价分类法的关键是划分等价类。
5、下列不属于黑盒测试的技术是程序段或语句的功能。
6、为了提高模块的独立性,模块之间最好是数据耦合。
7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用角色来表述“谁做”。
8、功能性注释嵌入在源程序内部,它是用来说明程序段或语句的功能。
9、在结构化分析方法中,数据字典是重要的文档。
对加工的描述是数据字典的组成内容之一,常用的加工描述方法有有结构化语言、判定树和判定表。
10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行适应性维护。
11、软件危机的主要原因是软件本身特点与开发方法。
12、DFD是常用的进行软件需求分析的图形工具,其基本符号是加工、数据流、数据存储和外部实体。
13、软件工程管理是对软件项目的开发管理。
具体地说,就是对整个软件生存期的一切活动进行管理。
14、在面向数据流的软件设计方法中,一般将信息流分为输入、输出、外部实体和加工。
A.白盒测试B.黑盒测试C.灰盒测试D.集成测试15、参与人员之间的通信困难是不随参与人数增加而使软件生产率增加的主要原因。
因为通信困难会导致信息不畅通,任务分配不明确,进度无法掌握等问题,从而影响软件开发效率。
16、有形性与可控性不是软件的特征。
软件的特征包括系统性与复制性、抽象性与智能性、依附性与泛域性。
17、面向对象的设计是面向对象分析进一步的细化和更高的抽象,不是另一种思维方式。
18、在软件的可行性分析中,可以从经济可行性、技术可行性、操作可行性、法律可行性等角度对软件进行研究。
软件工程期末复习题
软件工程期末复习题第一篇:软件工程期末复习题1、软件定义:问题定义、可行性研究,需求分析2、软件开发:总体设计,详细设计,编码和单元测试,综合测试3、软件维护:改正性维护、适应性维护、完善性维护、预防性维护4、软件过程:瀑布模型,快速原型模型,增量模型,螺旋模型,喷泉模型,Rational统一过程,敏捷过程与极限编程,微软过程5、从3个方面研究每种解决的可行性:技术可行性、经济可行性、操作可行性6、软件需求分析阶段的工作:可以分为以下4个方面:对问题的识别、分析与综合、编写需求分析文档以及需求分析评审7、设计原理:模块化、抽象、逐步求精、信息隐藏和局部化、模块独立性(耦合、内聚)8、决定软件可维护性的因素:可理解性、可测试性、可修改性、可移植性、可重用性一、假设要求你开发一个软件,该软件的功能是把读入的浮点数开平方,所得到的结果应该精确到小数点后4位。
一旦实现并测试完之后,该产品将被抛弃。
你打算选用哪些软件生命周期模型?请说明你作出选择的理由。
答:对这个软件的需求很明确,实现开平方功能的算法也很成熟,因此,既无须通过原型来分析需求也无须用原型来验证设计方案。
此外,一旦实现并测试完之后,该产品将被抛弃,因此也无须使用有助于提高软件可维护性的增量模型或螺旋模型来开发该软件。
综上所述,为了开发这个简单的软件,使用大多数人所熟悉的瀑布模型就可以了二、假设你被任命为一家软件公司的项目负责人,你的工作是管理该公司已被广泛应用的字处理软件的新版本开发。
由于市场竞争激烈,公司规定了严格的完成期限并且已对外公布。
你打算采用哪种软件生命周期模型?为什么?。
答:对这个项目的一个重要要求是,严格按照已对外公布了的日期完成产品开发工作,因此,选择生命周期模型时应该着重考虑哪些模型有助于加快产品开发的进度。
使用增量模型开发软件时可以并行完成开发工作,因此能够加快开发进度。
这个项目是开发该公司已被广泛应用的字处理软件的新版本,从上述事实至少可以得出3点结论:第一,旧版本相当于一个原型,通过收集用户对旧版本的反映,较容易确定对新版本的需求,没必要再专门建立一个原型系统来分析用户的需求;第二,改公司的软件工程师对字处理软件很熟悉,有开发字处理软件的丰富经验,具有采用增量模型开发新版字处理软件所需要的技术水平;第三,该软件受到广大用户的喜爱,今后很可能还要开发更新的版本,因此,应该把该软件的体系结构设计成开放式的,以利于今后的改进和扩充。
软件工程总复习题(4课时)
《软件工程概论》总复习提纲1. 软件工程的总纲请你用一张层次图来说明软件工程的内容与方法.2. 软件工程的基本概念程序数据文档软件软件工程软件工作产品软件产品标准、规范和规程软件生命周期软件开发模型瀑布模型增量模型原型模型迭代模型软件立项的必要性软件立项的可能性合同甲方合同乙方合同正文合同附件商务谈判技术谈判需求分析软件策划软件开发计划配置管理计划质量管理计划软件工作量的估算方法概要设计详细设计风险分析技术风险技能风险政策风险元数据中间数据基本表代码表中间表原始数据统计数据单据报表实体实例记录属性字段C/S结构B/S结构编程实现评审评估认证同行评审审计里程碑基线软件测试计划软件测试报告白盒测试黑盒测试静态测试动态测试回归测试单元测试集成测试验收测试Alpha测试Beta测试压力测试Bug不符合项软件招标软件投标软件讲标售前工程师售后工程师软件发布软件维护结构化维护非结构化维护CMMCMMI关键过程域KPA过程域PA关键实践阶段模型连续模型软件配置管理软件配置项软件配置管理工具软件配置管理员SQACASE工具项目项目管理3. 软件工程的基本是非软件工程的出现是为了克服软件危机( )软件工程就是写文档( )软件工程主要不是搞学术研究,而是搞工程标准、规范和规程( )软件评审主要是评审文档( )软件工程是将工程化的方法应用到软件开发与管理中去( )软件工程与信息工程是一码事( )传统的软件工程方法,是面向过程的软件工程方法( )现代的软件工程方法,是面向对象的软件工程方法( )面向过程的方法就是结构化方法( )软件开发模型归根结底就是两大类:瀑布模型和迭代模型( )软件生命周期是指从该软件立项到该软件退役这一生命过程( )原型模型必须事先有一个原型( )迭代模型事先可以没有原型( )增量模型适合于大型MIS的开发( )软件立项就是决策,软件公司领导万万不可粗心大意( )立项建议书是由软件开发人员书写的( )立项建议书是由市场销售人员书写的( )需求分析报告经过评审和审计通过后,就形成了软件项目开发的第一根基线( )基线与里程碑一对一,里程碑与检查点一对一( )需求分析是双打,开发者与用户双方必须忠诚合作( )USE CASE图只能表示用户的功能需求( )功能点列表也可以表示用户的性能需求和接口需求( )软件策划应该在需求分析之前( )需求分析就是分析元数据与中间数据的关系 ( )软件设计就是数据库设计 ( ) 数据库设计的主要技巧之一是“列变行”( )数据库设计的主要技巧之二是识别并处理多对多关系( )处理多对多关系是增加第三个实体( )软件实现就是编程序 ( )软件复用包括构件复用( )软件复用是不包括文档复用( )有了详细设计说明书,源程序中就不要加注解行了( )编码阶段结束后,测试经理就应该立即着手编写测试计划( ) 软件测试的目的是改正软件中的错误( )软件测试的目的是发现软件中的错误( )单元测试,是程序员自己测试自己程序的一种方法( )“不符合项”与Bug是一回事( )售前工程师就是销售员( ) 售后工程师就是维护人员( )软件实施工程师就是项目经理( )软件维护始于该软件交付、终于该软件退役( )软件维护与软件版本号的升级无关( )软件版本号是对程序而言的,不是对文档和数据而言的( )软件配置管理就是软件产品的版本管理( )配置管理的基本单元是配置项( )配置管理只是配置管理员的工作( )软件质量保证只是软件质量管理员的工作( )软件质量保证以事前预防为主,以前中控制和事后纠偏为辅( )软件培训的对象不包括高层经理( )软件培训只是软件技术培训,不包括软件管理培训( )CMM或ISO9000本身的内容,不覆盖员工培训的内容( )项目经理的主要职责就是进行数据库设计 ( )项目经理的主要职责就是进行需求分析 ( )项目经理最多只能管理七八个程序员 ( )项目经理可以不会编程序( )项目经理可以不懂软件( )CMMI就是解决项目管理的规范化工作 ( )软件的功能越多越好( )软件产品和软件工作产品是一回事( )软件质量管理部门是软件开发部门的一个下属单位( )软件测试部门必须独立于软件开发部门之外( )4. 软件工程的基本理论与方法4-1. 请你说明软件立项的方法.4-2. 请你说明需求分析的重要性.4-3. 请你说明需求分析的难点.4-4. 请你说明需求分析有哪些方法.4-5. 请你说明需求分析有哪些技巧.4.6. 用户需求的“功能、性能、接口”这三项指标,在需求分析文档中怎样表示4.7. 请你说明迭代模型的基本思想、优点和缺点.4-8. 请你说明瀑布模型的基本思想、优点和缺点.4.9. 请你说明增量模型的基本思想、优点和缺点.4-10. 请你说明原型模型的基本思想、优点和缺点.4-11.简述对软件项目的规模进行量化估计的方法.4-12.请论述“Check out-Edit-Check in”这种工作方式.4-13.请你说明软件配置管中的三个库.4-14. 软件配置管理员的职责4-15.请你说明面向对象方法的优点.4-16.通过《电脑红娘信息系统》的分析、设计、编程、测试和运行,你有哪些体会?4-17.通过《软件工程概论》这门课的学习,你有哪些收获?4-18.你是否喜欢软件开发,为什么?4-19.请论述“业务模型、功能模型、数据模型”这三个模型的建模思想。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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.软件开发技术软件工程管理。