软件工程期末复习
软件工程期末复习资料非常全

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.Ariane 5火箭发射失败的事例告诉我们A.(2)软件后备系统可以通过复制生成B.(3)软件重用必须重新进行系统论证和系统测试C. 选项(1)和(3)D.(1)系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制9.软件危机的主要原因是A.软件本身的特点及开发方法。
B.软件工具落后。
C.软件生产能力不足。
D.对软件的认识不够。
10.下面的描述正确的是A.软件质量是在开发过程中逐渐构建起来的。
B.软件质量是由产品的功能、性能、易用性等外在特性决定的。
C.运行正确的软件就是高质量的软件。
D.软件产品质量越高越好,最理想的情况是达到“零缺陷”。
《软件工程》期末复习

软件工程期末复习一.填空1.计算机软件经历了____________和____________,________ 阶段。
2 数据域有三种属性_______,________和___________。
3.数据库流程图的基本步骤是_________________ ,_________________ ,___________和_______________________________ 。
4.用JACKSON图即可以表示_____________结构,又可以表示________________结构。
5. 模块独立的准则是________和______,________________较强的模块要求高_______________模块要求低。
6.软件结构:一为 ____________结构,二为________结构。
7.软件可靠性的主要指标有 ____________________及____________________。
8.一般来说,应该从____________和____________,________,___________ 四个方面研究目标系统的可行性.。
9 .数据处理问题典型类型是___和_____.10.软件工程包括三个要素______________ ,____________和______________.11 第____代语言兼有过程和非过程二重性.12.动态测试分________和__________测试13. 内聚性的七种类型是________,__,___,____,____,___,_____14.菜单可以按照______分类和______分类15 系统模型的建立可包括______和_________阶段.16.从工程管理角度看,软件设计分二步完成,首先__________然后______________.17.系统结构图中的四种类型的模型是:__,___,_______,____,18.软件测试分四个步骤:_____,_____,____ 和_______1耩合性的七种类型是_____,_____,_____,_____,____,_______及___ 耩合。
《软件工程》期末复习题及答案

《软件工程》期末复习题及答案一、单项选择题(本大题共60小题,在每小题的四个备选答案中,选出一个正确答案,并将正确答案填涂在答题卡上)1. 软件危机产生的主要原因是 A 。
A.软件日益庞大B.不能与用户良好地沟通C.开发人员编写程序能力差D.没有适应的开发模型2.软件工程的发展不包括以下那个阶段 B 。
A.传统软件工程阶段B.自主化开发阶段C.过程软件工程阶段D.构件软件工程阶段3. 现代软件工程研究的内容不包括 D 。
A.软件开发模型B.软件开发方法C.软件支持过程D.软件开发质量4.以下哪个软件生存周期模型是一种风险驱动的模型 C 。
A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型5.软件的开发方法不包括 C 。
A.结构化开发方法B.面向对象开发方法C.面向管理的开发方法D. 面向数据结构的开发方法6.软件生存周期中,准确地确定软件系统必须做什么的阶段是 B 。
A.可行性分析和项目开发计划 B.需求分析 C.概要设计D.详细设计7. 需求分析中开发人员要从用户那里了解 A 。
A.软件做什么B.用户使用界面C.输入的信息D.软件的规模8. 结构化分析建立功能模型的工具是 A 。
A.DFDB.判定树/判定表C.SCD.结构化语言9. 数据词典是对数据定义信息的集合,它所定义的对象都包含于 B 。
A.数据流图B.程序框图C.软件结构D.方框图10.用于描述结构化分析中数据流加工逻辑的是 A 。
A.判定 B.ER图 C.状态 D.用例图11.下列几种耦合类型,耦合性最高的是 A 。
A.公共耦 B.控制耦合 C.标记耦 D.数据耦合12. 通信内聚是指 B 。
A. 把需要同时执行的动作组合在一起形成的模块 B各处理使用相同的输入数据或者产生相同的输出数据C一个模块中各个处理元素都密切相关于同一功能且必须顺序执行 D模块内所有元素共同完成一个功能,缺一不可13.模块 B 定义为受该模块内一个判定影响的所有模块集合。
软件工程期末复习重点

1.软件危机的介绍在计算机软件的开发和维护过程中所遇到的一系列严重问题。
2.产生软件危机的原因与软件本身特点有关:软件开发与维护的方法不正确有关:3.消除软件危机的途径4.软件生命周期由软件定义、软件开发和运行维护3个时期组成,每个时期又进一步划分成若干个阶段。
5.软件定义时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性;导出实现工程目标应该采用的策略及系统必须完成的功能;估计完成该项工程需要的资源和成本,并且制定工程进度表。
这个时期的工作通常又称为系统分析,由系统分析员负责完成。
软件定义时期通常进一步划分成3个阶段,即问题定义、可行性研究和需求分析。
6.开发时期具体设计和实现在前一个时期定义的软件,它通常由下述4个阶段组成:总体设计,详细设计,编码和单元测试,综合测试。
其中前两个阶段又称为系统设计,后两个阶段又称为系统实现。
7.维护时期的主要任务是使软件持久地满足用户的需要。
8.软件生命周期每个阶段的基本任务:问题定义、可行性研究,需求分析,总体设计,详细设计,编码和单元测试,综合测试。
9.常用软件模型区别原理:(1)瀑布模型:按照传统的瀑布模型开发软件,有下述的几个特点。
a)阶段间具有顺序性和依赖性:两重含义:段的输出文档正确,后一阶段的工作才能获得正确的结果。
①必须等前一阶段的工作完成之后,才能开始后一阶段的工作;②前一阶段的输出文档就是后一阶段的输入文档,因此,只有前一阶b) 推迟实现的观点瀑布模型在编码之前设置了系统分析与系统设计的各个阶段,分析与设计阶段的基本任务规定,在这两个阶段主要考虑目标系统的逻辑模型,不涉及软件的物理实现。
c)质量保证的观点:软件工程的基本目标是优质、高产。
为了保证所开发的软件的质量,在瀑布模型的每个阶段都应坚持两个重要做法。
每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。
每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。
软件工程期末考试重点

《软件工程》期末复习重点第一章软件工程1.什么是软件工程。
A.把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;b.研究a中提到的途径。
2. 软件工程的三要素:方法、工具和过程。
第二章软件过程1.软件生命周期分为哪几个阶段?每个阶段的基本任务是什么?a.软件定义:确定软件开发工程必须完成的总目标问题定义:要解决的问题是什么可行性研究:上阶段所确定的问题是否有可行的解决办法?需求分析:目标系统必须做什么b.软件开发:具体设计和实现在前一个时期定义的软件。
概要设计:怎样宏观地解决问题详细设计:应如何具体地实现这个系统编码和单元测试:写出正确的、易理解、易维护的程序综合测试:通过各类型测试使达到预定要求。
c.运行维护:修正错误,使软件持久地满足用户需要。
改正性维护:诊断和改正使用中的错误适应性维护:修改以适应环境变化完善性维护:根据用户的要求改进和扩充以完善预防性维护:修改以为将来的维护作准备2.常用的过程模型有哪些?各自的特点及不足。
如:瀑布模型的不足是不能适应需求的动态变更。
A.瀑布模型特点:可强迫开发人员采用规范化的方法。
严格地规定了每个阶段必须提交的文档。
要求每个阶段交出的所有产品都必须是经过验证(评审)的。
缺点:太理想化,由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。
如果需求规格与用户需求之间有差异,就会发生这种情况。
只适用于项目开始时需求已确定的情况。
B.快速原型模型特点:快速软件产品开发基本上是线性顺序进行。
降低了规格说明文档变化的可能性。
减少了后续阶段错误的可能性。
c.增量模型优点:人员分配灵活,刚开始不用投入大量人力资源。
当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径。
增量能够有计划地管理技术风险。
缺点:要求构件具备开放式的体系结构。
易退化为边做边改模型,从而使软件过程的控制失去整体性。
软件工程期末考试复习题

软件工程期末考试复习题 Revised by BETTY on December 25,2020《软件工程》选择题一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内,每小题1分)软件工程1.软件产品的开发主要是(D )。
A.复制B.再生产C.拷贝D.研制2.作坊式小团体合作生产方式的时代是(C )时代。
A.程序设计B.软件生产自动化C.程序系统D.软件工程3.软件工程与计算机科学性质不同,软件工程着重于(C )。
A.理论研究B.原理探讨C.建造软件系统D.原理的理论4.与计算机科学的理论研究不同,软件工程是一门(C )学科。
A.理论性B.原理性C.工程性D.心理性5.软件工程的出现主要是由于(C )。
A.程序设计方法学的影响B.其它工程科学的影响C. 软件危机的出现?D.计算机的发展6.在项目中,不随参与人数的增加而使软件的生产率增加的主要问题是(D )A、工作阶段间的等待时间B、生产原型的复杂性C、参与人员所需的工作站数D、参与人员之间的通信困难7.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质8、下列不属于软件工程方法学三要素的是( D ):A、方法B、工具C、过程D、操作周期1.将每个模块的控制结构转换成计算机可接受的程序代码是(A )阶段的任务。
A.编码B.需求分析C.详细设计D.测试2.可行性研究的目的是决定(B )。
A.开发项目B.项目值得开发否C.规划项目D.维护项目3.据国家标准GB8566-8计算机软件开发的规定,软件的开发和维护划分为八个阶段,其中组装测试的计划是在(C )阶段完成的A.可行性研究和计划B.需求分析C.概要设计D.详细设计4、初步用户手册在(B )阶段编写。
A.可行性研究B.需求分析C.软件概要设计D.软件详细设计5. 在软件的可行性研究中,可以从不同的角度对软件的可行性进行研究,其中是从软件的功能可行性角度考虑的是(B )A、经济可行性B、技术可行性C、操作可行性D、法律可行性6. 瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
软件工程期末复习

软件工程期末复习一、填空题1. 软件是计算机系统中与硬件互相依存的另一部分,它是涉及(程序)、(数据)及其(相关文档)完整集合。
其中,(程序)是按事先设汁的功能和性能规定执行的指令序列,(数据)是使程序可以对的操纵信息的数据结构,(相关文档)是与程序开发、维护和使用有关的图文资料.2. 软件危机是指计算机软件的(开发)和(维护)过程中所碰到的一系列严重问题。
3. 软件工程是指导计算机软件(开发)和(维护)的一门工程学科,采用工程的概念、原理、技术和方法来开发和维护软件,把通过时间考验而证明对的的管理技术和当前可以得到的最佳技术方法结合起来,以经济地开发出高质量的软件并有效地(维护)它,这就是软件工程。
4. 常见的软件开发模型有(瀑布模型)、(快速原型模型)、(增量模型)和(螺旋模型)等;5. 软件工程学方法的三要素是:(方法)、(工具)和(过程)。
6. 瀑布模型是一个(文档)驱动模型。
7. 可行性研究一般可以从(经济)可行性、(技术)可行性、法律可行性和法律可行性等方面来研究。
8. 数据流图从数据传输和(数据加工)角度,以(图形)的方式描述数据流从输入到输出的传输变换过程。
9. 数据流图的四个基本符号分别表达(数据的源点或终点)、(数据的加工)、(数据存储)和数据流;10. 实体-联系图中,数据对象之间的关系有(一对一)、(一对多)和(多对多关系)。
11. 需求分析阶段应当建立三种模,即:(数据模型)、(功能模型)和(行为模型)。
12. 一般从(一致性)、(完整性)、(现实性)和(有效性)四个方面验证软件需求的对的性。
13. HIPO 图是由一组(层次图)图加上一张(IPO)图组成。
14. 模块独立性的两个度量标准为:(耦合)和(内聚)。
15. 一般说来,模块之间的耦合限度(低),则单个模块的内聚限度(高)。
16. 经验表白,设计好的软件结构,通常顶层模块的扇出(比较高),中层模块扇出(较少),底层模块(高)扇入17. 三种基本的程序控制结果是(顺序结果)、(选择(分支)结构)和(循环结构)。
软件工程期末复习题(含答案)

软件工程必备期末复习题选择题1.软件设计中划分模块的一个准则是( C )。
A 低内聚低耦合B低内聚高耦合C高内聚低耦合D.高内聚高耦合2.( A )是用户和设计交换最频繁的方法。
A、原型化方法B、瀑布模型法C、螺旋模型方法D、构件组装模型3. 试判断下列叙述中,哪个些是正确的( C )。
a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言( D )A、PASCALB、VISUAL BASICC、C++D、汇编语言6. 软件测试的目的是?( D )A.软件的正确性B.找出软件系统中存在的所有错误C.证明软件系统中存在错误D.尽可能多的发现软件系统中的错误7.使用白盒测试方法时,确定测试数据应根据( A )和指定的覆盖标准。
A、程序的内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能8.软件维护工作的最主要部分是( C )。
A、纠正性维护B、适应性维护C、完善性维护D、预防性维护9.PDL是( B )语言。
A.高级程序设计语言B、伪码式C、中级程序设计语言D、低级程序设计语言10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立( C )。
A、软件结构B、软件过程C、软件模型D、软件模块11.在数据流图中,○(椭圆)代表( B )A、数据流B、转换C、数据源D、外部实体12.总体设计目的是确定整个系统的( D )。
A、规模B、测试方案C、费用D、功能及模块结构13. 检查软件产品是否符合需求定义的过程称为( A )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
一、填空题
1. 软件工程学的内容可包括(理论)、结构、(方法)、(工具)、环境、管理、规范等。
2. 软件生存周期一般可分为问题定义、( 可行性研究 )、(需求分析)、设计、(编码)、测试、运行与维护阶段。
3. 系统流程图是( 描述物理系统 )的传统工具。
4. 需求分析的基本任务是准确的回答( 系统必须做什么 )。
5. 数据字典的内容包括六项:( 数据流 )、( 数据项 )、( 数据结构 )、数据存储、处
理逻辑、外部实体。
6. 在需求分析阶段常用的图形工具有( 层次方框图 )、( Warnier 图 )、(IPO 图 )。
7. 模块独立的概念是( 模块化 )、( 抽象 )、( 信息隐蔽 )和局部化概念的直接结果。
8. HIPO 图是由一组( IPO )图和一张( HC )图组成。
9. UML 的定义包括( UML 语义 )和( UML 表示法 )两个部分。
10. 软件测试的方法有( 分析方法 )和( 非分析方法 )。
11. 软件=( 程序 )+( 文档 )。
二、单项选择题
1. 下列关于瀑布模型的描述正确的是( C )。
A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。
B. 瀑布模型具有良好的灵活性。
C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。
D. 利用瀑布模型,如果发现问题修改的代价很低。
2. 下列哪个图不是N -S 图的构件(
A .
B.
C. D.
3. 对于下图,有关描述中错误的是( B )。
2
A .A 表示数据输入的源点
B .B 表示数据存储文件
C .C 表示加工
D .D 表示数据存储文件
4. 下列各方法中( D )不是软件测试方法。
A. 白盒法
B. 黑盒法
C. 动态测试
D. 盒法
5. UML 的基本建筑块不包括( A )。
A . 框架
B . 事物
C . 关系
D . 图
三、多项选择题
1. 关于数据字典正确的描述是( ABCD )。
A . 数据字典最重要的用途是作为分析阶段的工具。
B . 实现数据字典三种常见的方法有全人工过程、全自动过程、混合过程。
C . 数据字典应该容易更新和修改。
D . 可以采用卡片形式书写数据字典。
A
B C
D
2.(ABCD )可以作为模块。
A.过程
B.子程序
C.函数
D.宏
3.耦合的强弱取决于(ABC )。
A.模块间接口的复杂程度。
B.调用模块的方式。
C.通过接口的信息。
D.模块内部各个元素彼此之间的紧密结合程度。
4.编码风格包括(ABCD )。
A.源程序文档化
B.数据说明方法
C.语句结构
D.输入/输出方法
5.软件测试主要包括(ABC )方面的差错和纠错。
A.软件计划
B.软件设计
C.软件编码
D.软件价格
四、判断题
1.在可行性研究中最难决断和最关键的问题是经济可行性。
(╳)
2.耦合是指一个模块内各个元素彼此结合的紧密程度。
(╳)
3.一笔交易、一个动作、甚至操作人员按一个按钮都可以看做是一次事物。
(√)4.概要设计阶段完成的主要文档是概要设计说明书。
(√)
5.过大的模块可能是由于分解不充分造成的,即使降低模块独立性也必须继续分解。
(╳)
6.程序设计语言中应绝对禁止使用GOTO语句。
(╳)
7.类是关于对象性质的描述,由方法和数据组成。
(√)
8.随着软件技术的发展,人们逐渐认识到阅读程序的重要性,编码不仅要强调效率还要强调清晰。
(√)
9.为保证程序的安全,必须做到程序中没有任何错误存在,即容错。
(╳)
10.如果把软件开发所需的资源画成一个金字塔,人是最基本的资源。
(√)
3
五、问答题
1.什么是软件危机,软件危机有哪几种表现?
2.什么是模块、模块化、模块独立性?
3.什么是编码风格?为什么要强调编码风格?
4. 什么是黑盒测试法?什么是白盒测试法?
六、分析题
1.已知被测试模块流程图如下,按照“判定覆盖”法,在表格中填入满足测试要求的数
据。
4
填写下表
2.比较下列两段语句,从编码风格的角度分析哪一段好些,并说明好在哪些方面。
程序段一:
if a>b
then
if x>y
then
b=y
else
a=x
end if
else
a=b
end if
程序段二:
/ position_x is the position x of object; position_y is the position y of object; /
if a>b then
a=b
else
if position_x>position_y then
b=position_y
else
a=position_x
end if
end if
5
参考答案
一、填空题
1.理论、方法、工具
2.可行性研究、需求分析、编码
3.描述物理系统
4.系统必须做什么
5.数据流、数据项、数据结构
6.层次方框图、Warnier图、IPO图
7.模块化、抽象、信息隐蔽
8.IPO、HC
9.UML语义、UML表示法
10.分析方法、非分析方法
11.程序、文档
二、单项选择题
1. C
2. B
3. B
4. D
5. A
三、多项选择题
1.A、B、C、D
2.A、B、C、D
3.A、B、C
4.A、B、C、D
5.A、B、C
四、判断题
1.╳
2.╳
3.√
4.√
5.╳
6
6.╳
7.√
8.√
9.╳
10.√
五、问答题
1.
答:软件危机指的是软件开发和维护过程中遇到的一系列严重问题。
概括地说,软件危机包含下述两方面的问题:如何开发软件,怎样满足对软件的日益增长的需求;如何维护数量不断膨胀的已有软件。
具体地说,软件危机主要有下列表现:产品不符合用户的实际需要。
软件开发生产率提高的速度远远不能满足客观需要,软件的生产率远远低于硬件生产率和计算机应用的增长,使人们不能充分利用现代计算机硬件提供的巨大潜力。
软件产品的质量差。
对软件开发成本和进度的估计常常不准确。
软件的可维护性差。
软件文档资料通常既不完整也不合格。
软件的价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升。
2.
答:模块是数据说明、可执行语句等程序对象的集合,模块可以单独被命名的而且可通过名字来访问,例如,过程、函数、子程序、宏等等都可作为模块。
模块化就是把程序划分成若干个模块,每个模块具有一个子功能,把这些模块集总起来组成一个整体,可以完成指定的功能,实现问题的要求。
模块独立性是软件系统中每个模块只涉及软件要求的具体子功能,而和软件系统中其他的模块接口是简单的。
模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。
3.
答:编码风格又称程序设计风格或编程风格。
编码风格实际上指编程的基本原则。
程序实际上也是一种供人阅读的文章。
编写程序时讲求程序的风格,将大量地减少人们读程序的时间。
良好的编码风格有助于编写出可靠而又容易维护的程序,编码的风格在很大程度上决定着程序的质量。
4.
答:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。
黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息的完整性。
7
黑盒测试又称为功能测试。
白盒测试法的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。
这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作,白盒测试又称为结构测试。
六、分析题
1、答
注意:本题答案不唯一,学生给出的数字正确就应该算对。
2、
答:第二段程序优于第一段。
注释起到提示的作用,利于程序阅读者对程序段全貌的理解
缩进格式清晰的显示程序中逻辑判断的结构。
变量命名方式表明变量的含义。
8。