《软件工程》复习
软件工程复习题库带答案完整版
软件工程复习题库带答案完整版一、选择题1、白盒测试法是通过分析程序的(C)来设计测试用例的。
A.应用范围B.功能C.内部逻辑D.输入数据2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。
A.风险产生的原因B.风险监控技术C.风险能否消除D.风险发生所产生的后果3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。
A.好的计划B.不断的发布C.反馈和勇气D.持续集成4、等价分类法的关键是(C)。
A.确定等价类的边界条件B.按照用例来确定等价类C.划分等价类D.确定系统中相同和不同的部分5、下列不属于黑盒测试的技术是(A)。
A.程序段或语句的功能 B.模块的接口C.数据的名称和用途 D.模块的功能6、为了提高模块的独立性,模块之间最好是(D)耦合。
A.控制耦合B.公共耦合C.内容耦合D.数据耦合7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。
A.角色B.活动C.制品D.工作流8、功能性注释嵌入在源程序内部,它是用来说明(A)。
A.程序段或语句的功能 B.模块的接口C.数据的名称和用途 D.模块的功能9、在结构化分析方法中,数据字典是重要的文档。
对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。
A.只有结构化语言 B.有结构化语言和判定树C.有结构化语言、判定树和判定表 D.有判定树和判定表10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。
A.正确性 B.适应性C.完善性 D.预防性11、软件危机的主要原因是(A)。
A软件本身特点与开发方法B对软件的认识不够C软件生产能力不足D软件工具落后12、13、下列关于面向对象分析与设计说法错误的是(C)。
A.面向对象的设计以面向对象分析为基础归纳出类B.建立类结构或进一步构造成类库,实现分析结果对问题空间的抽象C.面向对象的设计是面向对象分析的另一种思维方式D.面向对象的设计是面向对象分析进一步的细化和更高的抽象14、在软件的可行性分析中,可以从不同的角度对软件进行研究,其中(B)是从软件的功能可行性角度考虑的。
软件工程复习
一、软件开发生命周期模型1.Code-and-fix life-cycle model:遗憾的是,许多产品都是使用"边做边改"模型来开发的。
在这种模型中,既没有规格说明,也没有经过设计,软件随着客户的需要一次又一次地不断被修改.在这个模型中,开发人员拿到项目立即根据需求编写程序,调试通过后生成软件的第一个版本。
在提供给用户使用后,如果程序出现错误,或者用户提出新的要求,开发人员重新修改代码,直到用户满意为止。
这是一种类似作坊的开发方式,对编写几百行的小程序来说还不错,但这种方法对任何规模的开发来说都是不能令人满意的,其主要问题在于:(1)缺少规划和设计环节,软件的结构随着不断的修改越来越糟,导致无法继续修改;(2)忽略需求环节,给软件开发带来很大的风险;(3)没有考虑测试和程序的可维护性,也没有任何文档,软件的维护十分困难。
2.Waterfall life-cycle model:1970年WinSTon Royce提出了著名的"瀑布模型",直到80年代早期,它一直是唯一被广泛采用的软件开发模型。
瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。
当前活动的工作结果需要进行验证,如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。
瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。
但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:(1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;(2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险;(3)早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。
软件工程复习资料
A、语句覆盖:选择测试用例使程序中每条语句至少被执行一次 B、判定覆盖:选择测试用例使程序中每个判定至少都获得一次“真”值和一次“假”值 C、条件覆盖:选择测试用例使每个条件都满足 D、条件组合覆盖:将所有的判定条件都组合起来执行 答案: A B
9. 以下()不属于结构化流程图
A、运行程序并分析运行结果 B、桌前检查与代码会审 C、数据流分析图 D、调用图
答案: B C D
15. 下面()属于可复用的软件级别。
A、代码的复用 B、设计结果的复用 C、分析结果的复用 D、测试信息的复用
答案: A B C D
16. 黑盒测试着重测试软件功能,下列测试法中属于黑盒测试技术的有()。
3. 面向对象方法学的出发点和基本原则是什么?
答案: 面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世 界解决问题的方法与过程,也就是使描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一 致。
3. 软件原型
答案: 软件原型是在软件系统开发过程中,可快速建立的,旨在演示目标系统主要功能的可运行的程序。
4. 继承
答案: 广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。在面向对象的软件技术中,继承是子类自动 地共享基类中定义的数据和方法的机制。
5. 有穷状态机
答案: 在软件工程领域,有穷状态机可以准确地描述一个系统,它是表达规格说明的一种形式化说明方法。一个有穷状态机包含5 个部分:状态集、输入集、由当前状态和当前输入确定下一个状态的转换函数、初始态和终态集。
A、等价划分法 B、平行运行法 C、边界值分析法 D、错误推测法
《软件工程》复习题及答案
第一部分
一、选择题:
1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。
A.软件工程B.软件周期C.软件危机D.软件产生
2.瀑布模型本质上是一种(A)模型。
A.线性顺序B.顺序迭代C.线性迭代D.早期产品
3.瀑布模型存在的问题是(B)。
A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求
数据流图的基本符号的意思:
1.矩形表示数据的外部实体;
2.圆角的矩形表示变换数据的处理逻辑;
3.少右面的边矩形表示数据的存储;
4.箭头表示数据流。
8.什么是数据字典?其作用是什么?它有哪些条目?
答:数据字典,主要用来描述数据流程图中的数据流、数据存储、处理过程和和数据源点/终点。
作用:数据流程图描述了系统的逻辑结构,其中的四个基本图形元素的含义无法在数据流程图中详细说明,因此数据流程图需要与其他工具配合使用,数据字典就是这样的工具之一。
32.基线可作为软件生存期中各开发阶段的一个检查点。当采用的基线发生错误时,可以返回到最近和最恰当的(C)上。
A.配置项B.程序C.基线D.过程
33.在软件设计中应该保持模块的独立性原则,( A )反映模块独立性。
A.耦合和内聚 B.数据和模块 C. 模块内部的凝聚力 D.模块之间的耦合
二、简答题
1.什么是软件工程?软件工程的目标是什么?
A、1%B、20%C、8%D、50%
13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。
A.《计算机软件保护条例》
B.《中华人民共和国计算机信息系统安全保护条例》
C.《中华人民共和国著作权法》
D.《计算机病毒防治管理办法》
软件工程复习题及答案(完整)
一、选择1、文档是软件产品的一部分,没有文档的软件就不称其为软件。
对2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。
错3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。
错4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。
错5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。
错6、软件配置管理是一组标识、组织和控制修改源程序的活动。
错7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。
错8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。
对9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。
对10、面向对象的分析是面向计算机系统建立软件系统的对象模型。
错11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
A 软件过程B 软件测试C 软件生存周期D 软件工程12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。
A 质量控制B 质量管理C 质量策划D 质量改进13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级。
除第1级外,每个等级都包含了实现该成熟度等级目标的若干(B)。
A 关键实践 B 关键过程域 C 软件过程能力 D 软件过程14、在软件开发的各种资源中,(D)是最重要的资源。
A 开发工具B 方法C 硬件环境D 人员15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。
A 固有的B 人为的C 可消除的D 不可降低的16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。
A 业务需求B 功能需求C 非功能需求D 用户需求17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。
《软件工程》复习题
《软件工程》复习题一、填空题1、自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和_______ 。
2、按数据流的类型,结构化设计方法有两种设计策略,它们是变换型设计和___________。
3、风险管理包括了________、_______、____________和风险监控四个活动。
4、数据流图和数据字典共同构成了系统的_______模型,是需求规格说明书的主要组成部分.5、软件是包括程序,____及其___的完整集合。
6、为了便于对照检查,测试用例应由输入数据和预期的两部分组成。
7、可移植性指的是___________________________。
8、一般而言,单独测试某一模块时,要为它设计驱动模块和模块,它们的作用是分别模拟被测试模块的和。
9、G.J.Myers提出:软件测试是为了发现___________而执行程序的过程。
10、软件可行性研究从__________、__________、社会可行性三个方面分析研究每种解决方案的可行性。
11、数据流图用图形符号表示、、及外部实体。
12、在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是关系。
13、类具有操作,它是对象的抽象。
14、标志一个模块内各个元素彼此结合的紧密程度。
15软件总体设计时应该遵循模块化、抽象、、局部化和模块独立等6条基本原理。
16、为了便于对照检查,测试用例应由输入数据和预期的两部分组成。
17、将数据流图映射为程序结构时, 所用映射方法涉及信息流的类型。
其信息流分为和两种类型。
18、软件由程序、、组成。
19、软件工程方法分两类:方法和对象方法。
20、单元测试过程应为测试模块开发一个和(或)若干个。
21、一个模块拥有的直属下级模块的个数称为,一个模块的直接上级模块的个数称为。
22、维护阶段是软件生存周期中花费精力和费用______的阶段。
23、被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为。
软件工程复习资料
软件工程复习资料1. 软件工程概述软件工程是一门研究如何构建和维护软件系统的学科。
它涵盖了软件开发的各个方面,包括软件需求、设计、编码、测试、维护等。
本节将对软件工程的基本概念和重要原理进行介绍。
1.1 软件工程的定义软件工程是一种应用工程原理、方法和工具来开发和维护高质量软件的系统工程。
它关注软件开发过程中的各个环节,以提高软件质量和开发效率。
1.2 软件工程的目标软件工程的目标是开发高质量的软件系统,满足用户需求,具备良好的可维护性和可扩展性。
通过采用合适的开发方法和工具,提高软件开发过程的可靠性和效率。
1.3 软件工程的原则软件工程遵循一些重要的原则来指导软件开发过程,包括模块化、抽象、信息隐藏、接口规范、单一职责等原则。
这些原则有助于提高软件质量和可维护性。
2. 软件开发过程软件开发过程是指将软件需求转化为可执行软件的过程。
它包括需求分析、设计、编码、验证和维护等阶段。
本节将介绍常用的软件开发过程模型和相应的方法。
2.1 瀑布模型瀑布模型是一种线性的软件开发过程模型,包括需求分析、设计、编码、测试和维护等阶段。
瀑布模型适用于需求稳定的项目,但不适用于需求频繁变更的项目。
2.2 敏捷开发敏捷开发是一种迭代的软件开发过程模型,强调快速反馈和适应需求变化。
敏捷开发方法包括Scrum、XP等。
它适用于需求不确定或频繁变更的项目。
2.3 增量开发增量开发将软件系统划分为多个增量,每个增量包含了一个或多个功能模块。
每个增量的开发和测试独立进行,逐步完善系统。
增量开发适用于大型项目和复杂项目。
2.4 软件开发过程的选择选择适合项目的软件开发过程模型非常重要。
需要考虑项目的规模、需求的稳定性、团队的能力等因素来决定采用哪种开发过程模型。
3. 软件需求工程软件需求工程是软件工程的一项重要活动,旨在准确捕获用户需求,并将其转化为可执行的软件需求规格。
本节将介绍软件需求的定义、分类和常用的需求获取和分析方法。
重点复习软工
重点复习软工软工(软件工程)是计算机科学与工程领域的一门重要学科,旨在研究以科学原理与工程技术为基础,以经济、可靠和高质量为目标,开发和维护复杂软件系统的学科体系。
对于计算机相关专业的学生来说,软工是一门必不可少的课程。
本文将介绍关于软工的重点复习内容,以帮助读者更好地准备软工考试。
一、软件开发生命周期软件开发生命周期指的是从软件项目的规划到最终交付使用的整个过程。
它包含了需求分析、设计、编码、测试、维护等阶段。
在复习软工时,需要了解各个阶段的主要任务和活动,以及它们之间的关系和依赖。
1. 需求分析阶段:需求分析是软件开发的第一步,目的是识别出用户需求并定义功能和性能要求。
在这个阶段,需要学习如何进行需求获取、需求分析和需求建模等技术和方法。
2. 设计阶段:设计阶段是将需求转化为可执行的规划和设计方案的阶段。
这个阶段包括系统架构设计、详细设计、数据库设计等。
在复习软工时,需要了解常用的设计原则和设计模式,如单一职责原则、开放封闭原则、工厂模式、观察者模式等。
3. 编码阶段:编码阶段是将设计好的方案转化为计算机可执行代码的阶段。
在复习软工时,需要熟悉常用的编程语言和开发工具,如Java、C++、Eclipse、IntelliJ IDEA等。
同时,还需要了解编码规范和代码质量管理的重要性。
4. 测试阶段:测试阶段是为了发现和修复软件中存在的问题和错误。
在复习软工时,需要熟悉各种测试方法和技术,如单元测试、集成测试、系统测试、性能测试等。
此外,还需要了解测试用例的设计和执行,以及错误跟踪和修复的方法。
5. 维护阶段:维护阶段是软件开发生命周期中最后一个阶段。
它主要涉及对软件进行改进和修复。
在复习软工时,需要了解维护活动的类型和方法,如改正性维护、适应性维护、完善性维护等。
二、软件开发方法论软件开发方法论是指在软件开发过程中使用的一套规范和约束,它们可以指导和帮助开发团队更好地组织和管理软件项目。
在复习软工时,需要了解以下几种常见的软件开发方法论。
软件工程复习资料-完整版
一、选择题:1、用例图中,用来表示用例的符号为( B ) 。
2、协作图中包含的元素包括(A ) 。
A. 对象 B. 链 C. 激活 D. 消息3、在类图中,哪种关系表达整体与部分的关系( D ) 。
A .泛化 B. 实现 C. 依赖 D. 聚合4、下列各种图形符号中,用来表示组成关系的符号为 (B )。
A. B. C. D.5 、(A )工具在软件的详细设计中不能使用。
A . DFD B. N-S 图 C. 流程图 D. PDL6 、 “软件危机”是指 (C )。
A. 计算机病毒的出现B. 利用计算机进行经济犯罪活动C. 软件开发和维护中出现的一系列问题D. 人们过分迷恋计算机系统7 、 快速原型是利用原型辅助软件开发的一种新思想,它是在研究 (A )的方法和技术中产生 的。
A. 需求阶段B. 设计阶段C. 测试阶段D. 软件开发的各个阶段8、从严格意义上讲,下列 4 个选项中属于顺序图的元素是(ABCD ) 。
A.对象B. 参与者C. 消息D. 激活9、下列 UML 图形中, (ABCD )属于 UML 的动态视图。
A. 协作图B. 状态图C. 活动图D. 顺序图10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是( D ) 。
A. 数据库设计B. 数据通信C. 数据关系描述D. 数据定义11、详细设计与概要设计衔接的图形工具是 (D )。
A. DFD 图B. 程序图C. PAD 图D. SC 图12 、UML 中,大多数建模者把节点分为(AC )A . 设备 B. 构件 C. 处理器 D. 显示器13 、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。
A .时间图 B. 流程图 C. 活动图 D. 状态图14 、(A )描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。
A. 状态图B. 序列图C. 协作图D. 活动图15、下列特点属于描述用例的特点的是( D ) 。
软件工程复习资料
1、下列哪一模型是软件的基础模型快速原型 C.增量模型 D.螺旋模型2、划分软件生存周期的阶段时所应遵循的基本原则是各阶段的任务在时间上连续C.各阶段的任务尽可能相关性D.各阶段的任务在时间上相对独立3、下列哪个办法不属于解决软件危机的途径之一A.采用软件工程的解决途径B.研制新一代智能计算机C.采用面向对象的软件设计方法4、下列哪个不属于软件工程的内涵之一开发既可靠又能有效运行的软件C.应用完善的科学与工程原理D.经济地开发软件5.造成大型软件开发困难的根本原因在于A.开发人员缺乏足够的开发经验B.项目开发进度不合理对软件开发的资金投入不足6.软件会逐渐退化而不会磨损,其原因在于A.软件备件很难订购C.软件错误在经常使用之后会逐渐增加D.软件通常暴露在恶劣的环境下7.下面说法正确的是B.由于软件是产品,因此可以应用其他工程制品所用的技术进行生产C.一般来说,软件只有在其行为与开发者的目标一致的情况下才能成功D.购买大多数计算机系统所需的硬件比软件更昂贵8.Ariane 5 火箭发射失败的事例告诉我们A. ( 2 )软件后备系统可以通过复制生成B. ( 3 )软件重用必须重新进行系统论证和系统测试D. ( 1 )系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制9.软件危机的主要原因是B.软件工具落后。
C.软件生产能力不足。
D.对软件的认识不够。
10.下面的描述正确的是B.软件质量是由产品的功能、性能、易用性等外在特性决定的。
C.运行正确的软件就是高质量的软件。
D.软件产品质量越高越好,最理想的情况是达到“零缺陷”。
11、可行性研究主要包括哪几项?B.技术可行性、经济可行性和道德可行性C.技术可行性、法律可行性和操作可行性D.技术可行性、操作可行性和法律可行性12、成本/效益分析的目的是帮助 ( )正确地作出是否投资于这项开发工程的决定。
A.系统分析员项目经理 D.软件开发人员13、在进行成本/效益分析的时候,需要考虑( )14、数据流图和数据字典共同定义了新系统的逻辑模型。
《软件工程》复习题
C.一个输入或输出流D.一个输入流和一个输出流
49.下列关于功能性注释不正确的说法是( )
A.功能性注释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态
B.注释用来说明程序段,需要在每一行都要加注释
C.可使用空行或缩进,以便很容易区分注释和程序
D.修改程序也应修改注释
A.给出软件解决方案B.给出系统模块结构
C.定义模块算法D.定义需求并建立系统模型
56.一个项目是否开发,从经济上来说是否可行,归根结底是取决于( )。
A.成本估算B.项目计划
C.工程管理D.工程网络图
57.在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有( )。
A.隐藏复杂性B.信息隐蔽
C.可以借助状态转换图来描述用例D.用例是一个类,而不是事件
21.源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有( )
A.模块的功能B.语句的功能
C.模块的接口D.开发历史
22. DFD中的每个加工至少需要( )
A.一个输入流B.一个输出流
C.一个输入或输出流D.一个输入流和一个输出流
A.通信、过程、顺序、时间
B.通信、时间、顺序、过程
C.顺序、通信、时间、过程
D.顺序、通信、过程、时间
29.使用程序设计的控制结构导出测试用例的测试方法是()
A、黑盒测试B、白盒测试
C、边界测试D、系统测试
30.软件工程学的目的应该是最终解决软件生产的()问题。
A.提高软件的开发效率B.使软件生产工程化
64、可使用多种工具进行需求分析,下面( )是不适用ห้องสมุดไป่ตู้。
A.数据流图B.判定表C. PAD图D.数据词典
软件工程复习(有解析)
一、选择题1.在下列工具与环境中( C )属于较早期的CASE。
A.基于信息工程CASE B.人工智能CASEC.结构的基于图形CASE D.集成的CASE环境2.Putnam成本估算模型是一个( D )模型。
A.静态单变量 B.动态单变量 C.静态多变量D.动态多变量3.在McCall软件质量度量模型中,( C )属于面向软件产品修改。
A.可靠性 B.可重用性C.适应性 D.可移植性4.ISO的软件质量评价模型由3层组成,其中用于评价设计质量的准则是( D )A.SQIC B.SQMC C.SQRC D.SQDC5.软件复杂性度量的参数包括( B )A.效率B.规模 C.完整性 D.容错性6.对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。
A.结合 B.隐藏C.封装 D.抽象7.软件调试技术包括( B )A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试8.瀑布模型的存在问题是( B )A.用户容易参与开发B.缺乏灵活性 C.用户与开发者易沟通 D.适用可变需求9.软件测试方法中的静态测试方法之一为( A )A.计算机辅助静态分析 B.黑盒法 C.路径覆盖 D.边界值分析10.软件生命周期中所花费用最多的阶段是( D )A.详细设计 B.软件编码 C.软件测试D.软件维护11.第一个体现结构化编程思想的程序设计语言是( B )A.FORTRAN语言B.Pascal语言 C.C语言D.PL/1语言12.程序的三种基本控制结构是( B )A.过程、子程序和分程序B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移13.在详细设计阶段,经常采用的工具有( A )A.PAD (问题分析图) B.SA C.SC D.DFD14.详细设计的结果基本决定了最终程序的( C )A.代码的规模 B.运行速度 C.质量 D.可维护性15.需求分析中开发人员要从用户那里了解( A )A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模16.结构化程序设计主要强调的是( D )A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性17.IDEF图反映系统( D )A.怎么做 B.对谁做 C.何时做D.做什么18.经济可行性研究的范围包括( C )A.资源有效性 B.管理制度C.效益分析 D.开发风险19.可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出( B )的回答。
软件工程复习及答案
复习思考题(一)软件工程概论1.试说明“软件生命周期”的概念。
同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期(软件生命周期)。
2.论述瀑布模型软件开发方法的基本过程。
瀑布模型规定了各项软件工程活动,包括:制定软件项目计划,进行需求分析和定义,软件设计,程序编码,测试及运行维护。
并且规定了它们自上而下,相互衔接的固定次序,如同瀑布流水,逐级下落。
3.软件工程的基本原理有哪些?1.用分阶段的生命周期计划严格管理2.坚持进行阶段评审3.实行严格的产品控制4.采用现代程序设计技术5.结果应能清楚地审查6.开发小组的人员应该少而精7.承认不断改进软件工程实践的必要性4.从供选择的答案中选出正确答案填入下列叙述中的()内。
(1)软件开发时,一个错误发现得越晚,为改正它所付出的代价就()。
A)越大 B) 越小 C)越不可捉摸 D)越接近平均水平(2)功能模型中描述处理流程的最基本成分为()。
A)数据流图和数据结构图 B) 数据流图和程序流程图C)程序流程图和数据结构图 D) 数据流图和数据词典(3)模块内聚用于衡量模块内部各成分之间彼此结合的紧密程度。
若一组语句在程序的多处出现,为了节省空间把这些语句放在一个模块中,则该模块的内聚类型是()。
A) 功能内聚 B)通信内聚 C)偶然内聚 D)逻辑内聚(5)结构化分析方法(SA)是在软件开发过程中常用的方法,这个方法采用的基本手段是()。
A)分解与抽象 B)分解与综合 C)归纳与推导 D)试探与回溯(6)原型化方法是用户和设计者之间执行的一种交互过程,适用于()系统。
A)需求不确定性高的 B)需求确定的 C)管理信息 D)决策支持(7)软件测试的目的是()。
A)评价软件的质量 B)发现软件的错误C)找出软件中的所有错误 D)证明软件是正确的(8)在软件生存周期中,()阶段所占的工作量最大,约70%。
A)分析 B)设计 C)编码 D)测试 E)维护(二)软件需求分析1.软件需求分析是软件过程中交换意见最频繁的步骤。
软件工程复习题
软件工程复习题1.软件生命周期中所花费用最多的阶段是( D )。
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.结构化程序设计主要强调的是( D )。
A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性7.软件测试的目的是( B )。
A.为了表明程序没有错误B.为了说明程序能正确地执行C.为了发现程序中的错误D.为了评价程序的质量8.针对软件需求分析所进行的软件测试是指()。
A.集成测试B.确认测试C.黑盒子测试D.白盒子测试9.块间的信息可以作“控制信息”用,也可以作为()使用。
A.控制流B.数据结构C.控制结构D.数据10.在对数据流的分析中,主要是找到中心变换,这是从()导出结构图的关键。
A.数据结构B.实体关系C.数据流图D.E-R图11.Putnam成本估算模型是一个( D )模型。
A.静态单变量B.动态单变量C.静态多变量D.动态多变量12.软件调试技术包括(B)。
A.边界值分析B.演绎法C.循环覆盖D.集成测试13.瀑布模型的存在问题是( B )。
A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求14.程序的三种基本控制结构是( B )。
A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移15.在详细设计阶段,经常采用的工具有( A )。
A.PAD B.SAC.SC D.DFD16.需求分析中开发人员要从用户那里了解()。
软件工程复习
软件工程复习软件工程是计算机科学中重要的一个分支,它涉及软件系统开发、维护和管理等方面。
作为软件工程的学习者,我们需要对软件开发的各个环节以及相关的理论知识进行复习,以提高我们的专业水平和技能。
本文将从需求分析、设计、编码、测试和维护等方面,进行软件工程的复习。
一、需求分析需求分析是软件开发的第一步,它是确定软件系统实际需求的过程。
在需求分析阶段,我们需要与客户交流,明确软件系统的功能、性能和各项需求。
同时,我们需要进行需求建模,使用面向对象分析的方法,将需求转化为可用的模型。
需求分析的一种常用方法是使用用例图和用例规约来描述系统的功能需求。
用例图可以通过图形化的方式展示系统的各个功能模块以及它们之间的关系,而用例规约则详细地描述了每个功能模块的具体行为和操作。
二、设计设计是软件开发的核心环节,它包括系统设计和详细设计两个方面。
系统设计是指对整个软件系统进行高层次的结构设计,确定系统的总体架构和模块划分。
详细设计则是在系统设计的基础上,进一步进行每个模块的详细设计,确定模块的接口和数据结构。
在设计阶段,我们需要使用UML(统一建模语言)来进行建模。
类图和时序图是常用的设计图形,类图用于表示系统中的类和类之间的关系,时序图用于展示系统中各个类之间的时序关系。
三、编码编码是将设计的结果转化为计算机可执行的代码的过程。
在编码阶段,我们要根据设计文档,按照编程规范进行编码,编写高效、可靠、易于维护的代码。
编码过程中,我们需要选择合适的编程语言和开发环境。
根据项目的需求和个人偏好,可以选择Java、C++、Python等不同的编程语言,使用Eclipse、Visual Studio等开发环境进行编码。
四、测试测试是保证软件质量的重要环节。
在测试阶段,我们需要对软件系统进行功能测试、性能测试、压力测试等多种测试。
在进行测试时,我们需要编写测试用例,根据需求和功能特点,设计并执行各个测试用例。
同时,我们还需要学习使用不同的测试工具,如Junit、Selenium等,来辅助进行自动化测试。
软工各章复习知识点
第4 章
1.学会使用有穷状态机描述一个系统。
2.应用形式化方法的准则。
第5 章
1.总体设计主要完成哪两项任务?每项任务主要 完成什么?
3.什么是软件生命周期?划分为哪些几个阶段?
解:(1)软件生命周期有软件定义、软件开发和运行维护三个时期组成,每个时期又进一步划分成若干个阶段。 (2)阶段:问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试、软件维护。 4.软件工程方法学的3个要素;目前使用最广泛的软件工程方法学是什么?有哪些特点? 解:(1)工具,方法和过程。(2)传统方法学和面向对象方法学(3)特点: 传统方法学也称为生命周期方法学或结构化范型。它采用结构化 技术(结构化分析、结构化设计、结构程序设计和结构化测试)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支
3.单元测试的重点(5个方面)
4.什么是存根程序?什么是驱动程序?什么是回归 测试?什么是α测试?什么是β测试? 5.什么是白盒测试技术?在白盒法中典型的技术有 哪些?在实际中要会熟练应用。
6.什么是黑盒测试技术?在黑盒法中典型的技术有
哪些?在实际中要会熟练应用。
第8 章
1.什么是软件维护?它包括哪四项活动?
持结构化技术的运用。面向对象方法学: 当软件规模较大,或者对软件的需求是模糊的或随时间变化的时候,使用结构化范型开发软件往
往不成功;此外,使用传统方法学开发出的软件,维护起来通常都很困难。 5.典型的生命周期模型(或软件开发模型、过程模型)有哪些?说明其优缺点及适用范围。
软件工程复习题(带答案)
软件工程复习题一、单选题1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c )A模块高内聚 B模块低耦合 C模块独立性 D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D )A产生危机 B质量保证 C开发效率 D生产工程化3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要相关于( A )A软件系统目标 B软件的性能C软件的功能 D软件的质量4、软件需求分析一般应确定的是用户对软件的( D )A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试计划的制订应始于软件开发的哪个阶段? ( D )A.需求分析B.软件设计C.程序编码D.软件计划6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B )A.原型化方法B.结构化方法C.面向对象方法.D.功能分解法7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A )A.软件模型B.软件功能C.软件结构D.软件加工8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不属于开发技术的范畴?(D)A.软件开发方法B.软件开发工具C.软件工程环境D.软件工程经济9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依据,而且也影响软件的()A.可理解性B.可维护性C.可扩展性D.可靠性10、从( )语言开始,软件摆脱了对硬件的依赖。
A.第一代B.第二代C.第三代D.第四代11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( )A.实体B.数据存储C.关系 D属性13、结构化程序设计主要强调程序的(C)A.效率B.速度C.可读性D.大小14、在软件工程中根据程序的功能说明,而不关心程序内部逻辑的测试方法为( A )A.黑盒法B.白盒法C.灰盒法D.综合法15、软件开发的结构化分析方法,常用的描述软件功能需求的工具有( C )A业务流程图,数据字典 B.软件流程图,模块说明C.数据流图,数据字典D.系统流程图,程序编码16、结构化程序设计思想的核心是要求程序只由顺序、循环和( A )三种结构组成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件工程》课程期末复习应考指南第一部份课程考核说明1.考核方式本课程期末考试为闭卷笔试,考试时间为90分钟。
2.适用范围、教材本课程期末复习指导适用范围为成人本科计算机科学与技术专业的必修课程《软件工程》。
考试命题的教材是由吴浩明主编,中央广播电视大学出版社2008年12月第1版《软件工程》教材3. 考试要求考核学生掌握和运用软件工程知识进行规划与指导软件开发研究工作的能力。
4.考题类型及比重考题类型及分数比重大致为:填空题占(40%),单项选择题占(20%),判断题占(10%),问答题题占(20%),分析题占(10%)。
5.考试注意的问题1).考试时间为90分钟。
计算机网络课程的考试时间已经调整为90分钟,相应的考试内容有适当的减少。
请大家在复习的时候先关注考核说明,然后有目的的进行复习。
2.)简答题是难度最小一的一类题目,所有的考试题目均在我给综合复习资料上,所以请大家一定要把我做期末综合复习资料打印,仔细阅读。
也可以根据自己的理解的语言答题,只要基本正确即视为正确。
3).特别提示:(1)答题时,请先易后难,先把简单的、有把握的、能在资料或者记忆里找到题目做好后再做比较困难的。
(2)填空题不要窜行或者张冠李戴。
问答题要抓主要的内容回答。
不要写了一大堆东西,让老师在里面去找答案。
(3)考试的时候一定只能用一种颜色的笔书写否则算违纪处理。
切记。
第二部分、复习资料及使用本学科本次考试有下列几种资料,可供学员复习应考时用。
(一)重庆电大挂出复习指导。
本套复习应考指南根据重庆电大的复习指导修订,我添加了重点辅导和练习答案。
根据往年经验,题目基本从练习题目中来,请务必打印综合练习题目。
(二)平时作业平时作业与考试题型和要求基本上是一致的,根据过去考试的情况看也有重复,有些作业题其实就是考试题,因此有一定参考价值。
平时作业老师均作过评讲,请按老师平时所评讲的要求掌握。
(三)教材,将复习指南给出的页数结合教材认真复习。
(四)其他文字资源、音像资源、网络资源。
(五)重庆电大平台,巴南平台的教学资源。
第三部份期末复习重点范围第一章软件工程概述一、重点掌握的内容:软件和软件工程的基本概念P5二、一般掌握内容:软件生存周期及软件开发的各种模型。
(P6)第二章可行性研究一、重点掌握的内容:可行性研究的系统流程图(P40-44)二、一般掌握内容:可行性研究的任务和步骤,成本效益分析(P27-28)第三章需求分析一、重点掌握的内容:需求分析的方法和面向数据流的分析方法。
(P44-45)二、一般掌握内容:需求分析的任务和原则。
(P37)第四章概要设计:概要设计的过程和方法(P74-78)第五章面向对象的分析和设计方法一、重点掌握的内容:面向对象的基本概念和特征(101-103)二、一般掌握内容:面向对象分析与设计方法(104-108)第七章编码一、重点掌握的内容:程序设计语言的特点、编程风格、程序效率和编程安全(P163-169)二、一般掌握内容:面向对象程序设计步骤(P141-149)第四部份综合练习题一、填空题1.模块的独立程度可以由两个定性标准度量,这两个标准分别称为(内聚)和(耦合)。
2、(软件危机)指的是软件开发和维护过程中遇到的一系列严重问题。
3、______数据流图和数据字典_______共同构成系统的逻辑模型。
4、必须从(一致性)、(完整性)、现实性和有效性等四个不同的角度验证软件需求的正确性。
5、面向对象的基本概念中,____消息___________表示向对象发出的服务请求,______方法_________表示类对象上的各种操作6、面向对象的分析中,大型系统的复杂问题对象模型通常由五个层次:主题层,___类-&-对象____________层,结构层,___属性____________层和服务层组成。
7、组成UML的三种基本建筑块有:______事物、关系______、图。
8、面向对象的建模得到的模型包含对象的三个要素,即_____静态结构(对象模型)___,交互次序(动态模型)和数据变换(或功能模型)。
9、____继承性___________是面向对象方法中自动地共享类、子类和对象中的方法和数据的机制;而____封装性___________是一种面向对象方法中的一种信息隐蔽机制。
10.软件设计阶段可细分为___概要设计和详细设计_____两个阶段。
11.软件的测试的步骤可分为_____单元测试集成测试确认测试系统测试。
12.编码风格主要包括四个方面:源程序文档化、____数据说明的方法_____、___语句结构___和输人/输出方法。
13、面向对象方法是一种运用_____对象__________、类、______继承_________、封装、聚合、__消息传递_____________、多态性等概念来构造系统的软件开发方法。
14.模块的独立程度可以由耦合衡量和内聚衡量两个定性标准度量,耦合衡量是指:_不同模块彼此之间互相依赖的紧密程度_;内聚衡量是指:一个模块内部各个元素彼此结合的紧密程度____。
15.结构化程序设计采用_自顶向下逐步求精____的设计方法和___单人口单出口___的控制结构16、提高软件质量和可靠性的技术大致可分为__避开错误技术和容错技术___两大类。
17、软件生存周期一般可细分为以下阶段:问题定义,需求分析与可行性研究,______设计,编码,测试,运行与维护________。
18.数据流图4种基本图形元素为数据输人的源点和数据输出的汇点,加工,数据流,数据存储文件。
19.软件工程学的内容可包括_理论、结构、方法、工具、环境、管理、规范等。
20、(编码)就是把软件设计的结果翻译成计算机可以理解的形式,即用某种程序设计语言书写的程序。
21、程序质量评审着眼于____软件的结构,与运行环境的接口___,以及变更带来的影响等。
22、按软件规模划分,5至10人在两年多时间完成的50000到100000行语句的程序,通常称为(大型软件)。
23、若年利率为i,不计复利,n年后可得钱数为F,则现在的价值:P=(F/(1+i)n)。
24、IPO图是(输入/处理/输出图)的简称。
25、面向数据流的设计方法把信息流分为(变换流)和(事物流)两种类型。
27、面向对象方法中,类由_____方法__________和____消息___________集成,它是关于对象性质的描述,包括外部特性和内部实现两个方面。
28、程序设计语言总体上基本可分为____汇编语言、高级语言_____两大类二、单项选择1、基于软件功能的划分对软件分类时,以下哪个不属于其中之一。
(B)A.系统软件B.批处理软件C.支撑软件D.应用软件2、基于软件规模的划分对软件分类时,下面哪个是关于“中型软件”的描述。
(C)A.一个人在几天之内完成,程序不超过500行语句且仅供个人专用。
B.一个人在半年之内完成,程序不超过2000行语句。
C.5个人以内在一年多时间完成的5000到50000行语句的程序。
D.5至10人在两年多时间完成的50000到100000行语句的程序。
3、下面哪个不是软件危机的表现:(A)A.软件染上病毒,引起安全性、稳定性等性能大大下降。
B.软件的可维护性差。
C.软件的价格太昂贵,软件的成本在总成本中的比例越来越大。
D.软件文档资料不完整,不合格。
4、软件开发时,一个错误发现得越晚,为改正它所付出的代价就(A)。
A.越大B.越小C.越不可捉摸D.越接近平均水平5、需求分析阶段的任务是确定(D)A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能6、需求分析中开发人员要从用户那里了解(A)A.软件做什么B.用户使用界面C.输入的信息D.软件的规模7、瀑布模型的存在问题是( B )A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求8、以下不属于软件生存期划分所包括的阶段的是(D)A.计划阶段B.开发阶段C.维护阶段D.销售阶段9、为帮助使用部门负责人正确地做出是否投资于某系统的开发,而从经济角度分析开发该系统是否可行是(B)的目的。
A.软件需求分析B.成本/效益分析C.软件风险分析D.软件投资分析10、研究开发所需要的成本和资源是属于可行性研究中的( B )研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.法律可行性11、开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A.软件工程B.软件周期C.软件危机D.软件产生12、使用流程图描述结构化程序时,必须限制在流程图中只能使用的基本控制结构有(C)种。
A.3 B.4C.5 D.613、在数据流图的加工关系中,表示数据A和B同时输入变换成C的是下图中的(C)A.B.C.D.14、在数据流图的加工关系中,表示数据A变成B或C,或是B和C的是下图中的(D)A.B.C.D.15、数据字典中在进行数据定义时,如果有一项为:学号=5{数字}5,其含义为(A)A.学号由5个数字组合而成B.学号由10个数字组合而成C.学号的格式为以5开头和5结尾的数字串组成D.学号由6个数字组成而成16、在一般类中定义的属性或服务衩特殊类继承之后,可以具有不同的数据类型或表现出不同的行为,这是指对象的(C )。
A.继承性B.封装性C.多态性D.独立性17、在用面向对象观点建立起的模型中,(A)是最基本、最重要、最核心的模型。
A.对象模型B.数据模型C.动态模型D.功能模型18、在编程安全方面,一般来说无法做到(B)。
A.避开错误B.完美无缺,绝无错误C.冗余D.涉及防错程序19、第一个体现结构化编程思想的程序设计语言是( B )A.FORTRAN语言B.Pascal语言C.C语言D.PL/1语言20、下列哪个做法会导致不利的语句结构(B)。
A.避免使用ELSE GOTO结构B.对递归定义的数据结构尽量不再使用递归过程C.模块功能尽可能单一化,模块间的耦合能够清晰可见D.利用信息隐蔽,确保每一个模块的独立性21、为每一个模块确定使用的算法及数据结构,应该在下列哪个阶段进行较为恰当。
(C)A.软件需求分析后期B.软件概要设计后期C.软件详细设计时期D.软件编码时期22、为增强程序的可读性和改善程序的质量,就应建立良好的编码风格。
以下哪个不属于良好编码风格应注意的主要内容。
( D )A.源程序的文档化B.数据的说明及语句的结构C.输入输出方法D.选择高效的算法23、以下关于提高程序效率的说法,正确的是(C)。
A.应使程序使用的存储空间达到最小。
B.使用高级语言,不使用汇编语言。
C.应尽量避免使用多维护数组和使用指针。
D.为了追求超高效的输入输出,可以局部损害程序的理解性。
24、以下列出的检查不适合于主动式防错程序设计的是(D)A.内存检查B.反向检查C.时间检查D.栈的深度检查25、在衡量软件质量时,最重要的标准是(C)。