软件工程导论期末考试考点

合集下载

软工导论期末试题及答案

软工导论期末试题及答案

软工导论期末试题及答案一、选择题(每题2分,共40分)1. 软件工程的定义是()A. 解决计算机软件危机的一门技术科学B. 设计软件系统的过程C. 软件产品开发的过程D. 通过分析、设计、实现以及对软件开发过程和工具的管理来提高软件的质量和生产效率2. 软件工程的基本活动包括()A. 需求分析、设计、编码、测试、维护B. 需求分析、设计、实现、测试C. 需求分析、设计、编码、测试D. 需求分析、设计、实现、维护3. 软件过程模型是()A. 实现软件开发的步骤和活动的抽象描述B. 一种特定的软件开发方法或技术C. 一种具体的软件开发流程图D. 一种软件管理工具4. 下面不属于敏捷开发方法的是()A. ScrumB. XP (Extreme Programming)C. RUP (Rational Unified Process)D. Lean5. 软件测试的目的是()A. 证明软件是正确的B. 证明软件是错误的C. 提高软件质量D. 排除软件缺陷6. 静态测试是指()A. 在运行时进行的测试B. 对程序进行动态分析C. 对程序进行代码检查和审查D. 对软件进行压力测试7. 需求变更的原因包括()A. 用户需求不明确B. 代码出现错误C. 项目进度延迟D. 客户意见变化8. 软件质量模型ISO/IEC 9126共包括___个特性()A. 4B. 5C. 6D. 79. 下面哪个不是软件工程中的“四悖”之一?()A. 时间悖论B. 范围悖论C. 成本悖论D. 计划悖论10. 软件项目管理中,衡量项目进展的主要指标是()A. 代码行数B. 开发人员数量C. 已完成的任务数量D. 完成的工作量二、简答题(每题10分,共30分)1. 请简要说明软件工程的三个基本活动是什么,并说明各个活动的主要任务。

答:软件工程的三个基本活动包括需求分析、设计和编码,以及测试和维护。

- 需求分析活动的主要任务是通过与用户和相关方沟通,理解和明确软件系统的需求,确定软件的功能、性能要求和约束条件。

软件工程导论《软件工程》期末考试题及答案

软件工程导论《软件工程》期末考试题及答案

软件工程导论《软件工程》期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪项不是软件工程的基本目标?A. 提高软件的生产率B. 提高软件的可维护性C. 提高软件的性能D. 降低软件的开发成本答案:C2. 下列哪种方法不属于软件需求分析的方法?A. 数据流图(DFD)B. 实体-关系图(ER图)C. 状态转换图D. Petri网答案:D3. 软件设计中,模块的内聚性越高,表明模块的:A. 功能越单一B. 独立性越强C. 复用性越低D. 可维护性越低答案:A4. 在软件测试阶段,下列哪种测试方法不属于黑盒测试?A. 等价类划分B. 边界值分析C. 代码覆盖率分析D. 逻辑覆盖分析答案:D5. 软件项目管理中,项目经理的主要职责不包括以下哪项?A. 制定项目计划B. 管理项目进度C. 组织项目团队D. 编写代码答案:D二、填空题(每题2分,共20分)6. 软件生命周期可以分为______、需求分析、设计、编码、测试、维护等阶段。

答案:需求调研7. 软件工程的三要素是______、过程、方法。

答案:工具8. 在软件设计中,模块的独立性包括______和耦合性两个方面。

答案:内聚性9. 软件测试的目的不包括______。

答案:发现并修复所有错误10. 软件项目管理的主要目标是实现项目的______、质量和成本控制。

答案:进度三、简答题(每题10分,共30分)11. 简述软件工程的基本原则。

答案:软件工程的基本原则包括:(1)抽象:将复杂问题分解为更简单的子问题;(2)分解:将问题分解为多个部分,分别解决;(3)模块化:将软件划分为独立的模块,提高可维护性和复用性;(4)信息隐藏:隐藏模块内部的信息,只暴露必要的接口;(5)一致性:保持软件各部分的一致性,提高可读性;(6)可维护性:使软件易于修改和维护。

12. 简述软件需求分析的目的和任务。

答案:软件需求分析的目的在于明确用户对软件系统的功能、性能等方面的需求。

2023软件工程导论期末考试题库及参考答案

2023软件工程导论期末考试题库及参考答案

2023软件工程导论期末考试题库及参考答案一、选择题(每题2分,共20分)1. 以下哪个不是软件工程的三个基本目标?A. 可维护性B. 可用性C. 可靠性D. 高效性参考答案:D2. 软件生命周期中,以下哪个阶段是软件开发过程的核心阶段?A. 需求分析B. 设计C. 编码D. 测试参考答案:C3. 以下哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程参考答案:A4. 在软件工程中,以下哪个方法用于估算软件项目的成本和进度?A. COCOMOB. WBSC. SDLCD. CASE参考答案:A5. 以下哪个是软件工程中的一个重要原则?A. 分而治之B. 一次性编写C. 重用D. 模块化参考答案:D6. 以下哪个不是软件工程的基本活动?A. 软件规格B. 软件开发C. 软件验证D. 软件测试参考答案:C7. 以下哪个是软件工程中用于提高软件质量的技术?A. 设计模式B. 重构C. 代码审查D. 单元测试参考答案:C8. 以下哪个不是软件工程的五大基本过程?A. 软件规格B. 软件开发C. 软件维护D. 软件项目管理参考答案:D9. 以下哪个是软件工程中的一个重要概念,用于描述软件系统中的各个组件之间的关系?A. 耦合B. 内聚C. 模块化D. 重用参考答案:A10. 以下哪个是软件工程中的一个重要原则,用于指导软件开发过程?A. 迭代B. 增量C.螺旋D. 模型驱动参考答案:A二、填空题(每题2分,共20分)11. 软件工程的三要素是:方法、工具和______。

参考答案:过程12. 软件生命周期包括:需求分析、设计、编码、______和软件维护。

参考答案:测试13. 软件工程中的面向对象方法包括:封装、继承和______。

参考答案:多态14. 软件工程中的 CASE 工具主要用于支持______。

参考答案:软件设计和开发15. 软件工程中的敏捷开发方法强调______、可维护性和可扩展性。

《软件工程导论》期末考试试题和答案(整理)

《软件工程导论》期末考试试题和答案(整理)

得分评卷人一、填空题1.软件生计周期一般可分为 __问题定义 __、可行性研究、 _需求剖析 _____、设计编码、 __ 测试 ________、运转与保护阶段。

2.按软件的功能进行区分,软件能够区分为系统软件、支撑软件和应用软件。

3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和决断。

4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。

5.常有的软件纲要设计方法有 3 大类:以数据流图为基础结构模块结构的___结构化设计方法 _________,以数据结构为基础结构模块的__jackson 方法 __________ ,以对象、类、继承和通讯为基础的 __面向对象设计方法 __________。

6.__数据流图 ________和 __数据词典 ___共同组成系统的逻辑模型。

7.软件测试的方法有 __剖析方法 ________和 ___非剖析方法 _______(即黑盒法)。

8.单元测试一般以 ___白盒 _____________测试为主, ___黑盒 ______测试为辅。

9.成本预计方法主要有 __自底向上预计 ________、_自顶向下预计 _________和算法模型预计三种种类。

得分评卷人二、单项选择题1.以下哪个阶段不属于软件生计周期的三大阶段(C)。

A 、计划阶段B 、开发阶段C、编码阶段 D 、保护阶段2.需求剖析是( A)。

A、软件开发工作的基础B、软件生计周期的开始C、由系统剖析员独自达成的D、由用户自己独自达成的3.原型化方法是软件开发中一类常用的方法,它与结构化方法对比较,更需要( B)。

A、明确的需求定义B、完好的生命周期C、较长的开发时间D、娴熟的开发人员4.软件保护时,对测试阶段未发现的错误进行测试、诊疗、定位、纠错,直至改正的回归测试过程称为(A)。

A 、更正性保护B、适应性保护C、完美性保护D、预防性保护5. 一般说来,投入运转的软件系统中有错误(A)。

软件工程导论期末考试考点

软件工程导论期末考试考点

1.软件的定义:软件是程序、数据及相关文档的完整集合。

其中,程序是能够完成预定功能和性能的可执行的指令序列;数据是使程序能够适当地处理信息的数据结构,文档是开发、使用和维护程序所需要的图文资料。

2.软件危机的定义,表现、原因是什么a)软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

b)软件危机的表现:对软件开发成本和进度的估计常常很不准确。

经常出现用户对“已完成的”软件系统功能不满意的现象。

软件产品的质量往往达不到要求。

软件通常不可维护。

软件通常没有适当的文档资料。

软件成本在计算机系统总成本中所占的比例逐年上升。

软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

c)软件危机的原因:i.客观原因:与软件本身的特点有关软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。

软件缺乏“可见性”。

软件维护通常意味着改正或修改原来的设计,这就在客观上使得软件较难维护。

软件缺乏“可插拔性”。

如何保证每个人完成的工作合在一起确实能构成一个高质量的大型软件系统,更是一个极端复杂困难的问题,必须有严格而科学的管理。

ii.主观原因:与软件开发与维护的方法不正确也有关目前相当多的软件专业人员对软件开发和维护还有不少糊涂观念,这可能是使软件问题发展成软件危机的主要原因。

忽视需求分析只重视编码与运行。

编写程序所需的工作量只占软件开发全部工作量的10%~20%。

在后期引入一个变动比在早期引入相同变动所需付出的代价高2~3个数量级。

图定性地描绘了在不同时期引入一个变动需要付出的代价的变化趋势。

忽视文档只重视程序必须认识到一个软件产品必须由一个完整的配置组成,软件配置主要包括程序、文档和数据等成分。

必须清除只重视程序而忽视软件配置其余成分的糊涂观念。

轻视维护是一个最大的错误。

统计数据表明,实际上用于软件维护的费用占软件总费用的55%~70%。

3.软件工程的定义、软件工程方法学三要素是什么软件工程定义:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,用于经济地开发出高质量的软件并有效地维护它,这就是软件工程。

《软件工程导论》期末考试试题和答案

《软件工程导论》期末考试试题和答案

1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。

2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。

3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。

4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。

5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________.6.__数据流图________和__数据字典___共同构成系统的逻辑模型。

7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。

8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。

9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型.1.下列哪个阶段不属于软件生存周期的三大阶段( C )。

A、计划阶段B、开发阶段C、编码阶段D、维护阶段2.需求分析是(A )。

A、软件开发工作的基础B、软件生存周期的开始C、由系统分析员单独完成的D、由用户自己单独完成的3.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要(B )。

A、明确的需求定义B、完整的生命周期C、较长的开发时间D、熟练的开发人员4.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为( A )。

A、改正性维护B、适应性维护C、完善性维护D、预防性维护5.一般说来,投入运行的软件系统中有错误(A )。

A、不是不可以理解的B、是不能容忍的C、是要求退货的理由D、是必然的1.在进行总体设计时应加强模块间的联系。

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

《软件工程导论》期末考试试题与答案
《软件工程导论》期末考试
一、 填空题
I.软件工程中的结构化分析SA是一种面向的分析方法。
2.软件模块独立性的两个定性度量标准是。
3.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个的过程。
4.和数据字典共同构成了系统的逻辑模型
5.是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据 此导出测试用例。二、 单选
8.在软件系统中,一个模块应具有什么样的功能,这是由决定的。A.总体
设计B.需求分析C.详细设计D.程序设计
9.面向对象分析是对系统进行的一种方法。A.需求
分析B.程序设计C.设计评审D.测试验收
10.软件文档是软件工程实施中的重要部分,它不仅是软件开发各阶段的重要依据,而
且影响软件的。A.可理解
性B.可维护性C.可扩展性D.可
B.继承C.封装D.消息
6.Jackson方法是在软件开发过程中常用的方法,使用Jackson方法时可以实现。A从数
据结构导出程序结构B.从数据流图导出初始结构图C.从模块结构导出数据结构D .从模块结构
导出程序结构
7.软件测试时为了而执行程序的过程。A.纠正
错误B.发现错误
C.避免错误
D.证明错误
划分B.边界值分析C.错误推测D.逻辑覆盖
4.软件工程方法是在实践中不断发展着的方法,而早期的软件工程方法主要是指。A.原型
化方法B.结构化方法C.功能化方法D.面向对象方法
5.是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是
隐蔽的,外界只能通过有限的接口与对象发生联系。A.多态
B.
喷泉模型C.原型模型D.增量模型
14.
面向对象的分析阶段建立的系统模型不包括

《软件工程导论》期末考试试题和答案

《软件工程导论》期末考试试题和答案

1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。

2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件.3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。

4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标.5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。

6.__数据流图________和__数据字典___共同构成系统的逻辑模型。

7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法).8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。

9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型.1.下列哪个阶段不属于软件生存周期的三大阶段( C )。

A、计划阶段B、开发阶段C、编码阶段D、维护阶段2.需求分析是(A )。

A、软件开发工作的基础B、软件生存周期的开始C、由系统分析员单独完成的D、由用户自己单独完成的3.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要(B )。

A、明确的需求定义B、完整的生命周期C、较长的开发时间D、熟练的开发人员4.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为( A )。

A、改正性维护B、适应性维护C、完善性维护D、预防性维护5.一般说来,投入运行的软件系统中有错误(A )。

A、不是不可以理解的B、是不能容忍的C、是要求退货的理由D、是必然的1.在进行总体设计时应加强模块间的联系.( N )2.系统结构图是精确表达程序结构的图形表示法.因此,有时也可以将系统结构图当作系统流程图使用。

《软件工程导论》期末复习题知识点

《软件工程导论》期末复习题知识点

《软件工程导论》期末复习知识点第一章填空题1、软件是、及其说明程序的。

答案:数据、计算机程序、各种文档2、软件工程包括软件开发技术和两大部分内容。

答案:软件工程管理选择题1、软件危机出现于,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。

A50年代末B60年代初 C 60年代末 D 70年代初A运筹学 B 工程学C软件学D软件学答案:C B2、开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作____。

A 软件投机B软件危机C软件工程D软件产生答案:B3、产生软件危机的原因有如下几点,除了______。

A 软件开发过程未经审查B 软件开发不分阶段,开发人员没有明确的分工C 所开发的软件,除了程序清单外,没有其他文档D 采用工程设计的方法开发软件,不符合软件本身的特点答案:D4、软件产品的开发主要是( )。

A 复制B 再生产C 拷贝D 研制答案: D判断题1、文档是软件产品的一部分,没有文档的软件就不称其为软件。

()答案:√2、一个成功的项目唯一提交的就是运行程序。

()答案:×3、瀑布模型不适用于需求不确定的情况。

()答案:√名词解释1、软件工程答案:软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。

2、软件生存周期答案:软件产品从形成概念开始,经过开发、运行(使用)和维护直到退役的全过程称为软件生存周期,包括软件定义、开发、使用和维护三部分。

简答题1、简述软件危机发生的原因。

答案:(1)软件的规模加大、复杂性提高、性能增强;(2)软件是逻辑产品,尚未完全认识其本质和特点;(3)缺乏有效的、系统的开发、维护大型软件项目的技术手段和管理方法;(4)用户对软件需求的描述和软件开发人员对需求的理解往往存在差异,用户经常要求修改需求,开发人员很难适应;(5)软件开发的技术人员和管理人员缺乏软件工程化的素质和要求,对工程化的开销认识不足。

《软件工程导论》期末考试试题附答案

《软件工程导论》期末考试试题附答案

软件工程导论期末复习和答案1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。

2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。

3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。

4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。

5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。

6.__数据流图________和__数据字典___共同构成系统的逻辑模型。

7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。

8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。

9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。

1.下列哪个阶段不属于软件生存周期的三大阶段( C )。

A、计划阶段B、开发阶段C、编码阶段D、维护阶段2.需求分析是(A )。

A、软件开发工作的基础B、软件生存周期的开始C、由系统分析员单独完成的D、由用户自己单独完成的3.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要(B )。

A、明确的需求定义B、完整的生命周期C、较长的开发时间D、熟练的开发人员4.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为( A )。

A、改正性维护B、适应性维护C、完善性维护D、预防性维护5.一般说来,投入运行的软件系统中有错误(A )。

A、不是不可以理解的B、是不能容忍的C、是要求退货的理由D、是必然的1.在进行总体设计时应加强模块间的联系。

软件工程导论 期末复习题及答案

软件工程导论 期末复习题及答案

软件工程导论期末复习题及答案正确答案:C.研究软件系统的开发过程和方法软件工程的主要目标是提高软件的质量,包括可靠性、可用性、可维护性和可重用性等。

同时,软件工程也致力于降低软件开发和维护的成本,提高软件的生产率。

因此,以上选项都是正确的。

A.人员B.方法C.工具D.程序正确答案:D.程序软件工程的三个基本要素是人员、方法和工具。

其中,人员是指参与软件开发和维护的人员,包括项目经理、系统分析师、程序员、测试人员等;方法是开发软件所采用的方法,包括面向对象方法、面向过程方法等;工具是指支持软件开发和维护的工具,包括编译器、调试器、测试工具等。

程序是软件开发的结果之一,不属于软件工程的三个基本要素。

D.软件从测试到发布的整个过程正确答案:A.软件从开发到维护的整个过程软件生命周期是指软件从开发到维护的整个过程,包括需求分析、设计、编码、测试、发布、维护和退役等阶段。

因此,选项A是正确的答案。

选项B、C、D都只描述了软件生命周期的部分阶段,不完整。

A.需求分析B.编码C.测试D.维护正确答案:D.维护软件开发过程中的活动包括需求分析、设计、编码、测试等阶段,而维护是软件使用过程中的一个阶段,不属于软件开发过程中的活动。

因此,选项D是正确的答案。

在软件工程中,以下哪个选项最接近于“用户故事”的定义?答案:A.一种用于描述用户需求的文档。

用户故事是软件开发中的一种重要工具,它用于收集、整理和描述用户需求,以便更好地理解和满足用户的需求。

以下哪个选项是面向对象编程(OOP)中的基本概念?答案:B.类。

在面向对象编程中,类是一种抽象数据类型,它定义了一个对象的结构,包括属性(状态)和方法(行为)。

在软件开发中,以下哪个阶段最可能涉及到代码重构?答案:C.编码阶段。

代码重构是在编码阶段进行的一项活动,它通常涉及到修改和优化代码的结构和实现方式,以提高代码的可读性、可维护性和效率。

答案:A. Git。

版本控制是软件开发中的一项重要工具,用于跟踪和管理代码的变更。

软件工程导论期末复习重点

软件工程导论期末复习重点

软件工程导论期末复习重点选择、判断略一、名词解释1、软件危机 2 、软件工程 3 、数据字典 4 、模块化 5 、黑盒测试6、软件维护7 、软件过程8 、快速原型9 、白盒测试二、简答题1、可行性研究目的和任务?2、可行性研究包括哪几方面的内容?3、简述需求分析的描述工具和基本任务?4、什么是模块化?模块设计的准则?5、详细设计阶段的根本目标和任务?6、比较面向数据流和面向数据结构两类设计方法的异同?7、测试与调试的主要区别?8、什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的适用范围。

9、比较层次方框图与结构图的异同?10、结构化程序设计的基本原则?11、提高软件编码效率的3 条原则?、名词解释1、软件危机答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

概括地说,包含两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

2、软件工程答:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。

3、数据字典答:数据字典是描述数据流图中数据的信息的集合。

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

4、模块化答:模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。

5、黑盒测试答:黑盒测试也称为功能测试, 它着眼于程序的外部特征, 而不考虑程序的内部逻辑结构。

测试者把被测程序看成一个黑盒, 不用关心程序的内部结构。

黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。

软件工程导论期末复习重点

软件工程导论期末复习重点

软件工程导论期末复习重点软件工程期末复习一、软件工程学概述1.软件危机:计算机开发和维护的过程中所遇到的一系列问题名词解释(需要加上软件危机产生的原因)对用户的要求没有完整准确的认识就匆忙着手编写程序论述题(需要加上软件危机的典型表现)01.对软件开发成本和嫉妒的估计常常不准确02.用户对已完成软件系统的不满意情况经常发生03.软件的质量靠不住2.软件工程:指导计算机开发和维护的一门工程学科?名词解释3.软件工程方法学的三要素:方法、工具、过程4.软件生命周期的三个时期:软件定义、软件开发、运行维护01.软件定义时期的三个阶段:问题定义、可行性研究、需求分析02.软件开发时期的四个阶段:总体设计、详细设计、编码、单元测试,综合测试,前两个称系统设计,后两个称系统实现03.软件维护时期:只要任务是使软件持久的满足用户的需要,具体的说,当软件在使用过程中发现错误时应该加以纠正,当环境改变时应修改软件以适应新的环境,当用户有新的需要时,应该及时改进软件以满足用户新的需求,本时期不在划分阶段,但是每一次维护活动本质上都是一次压缩和简化了的定义和开发过程5.可行性研究的结果是客户做出是否继续这项工程的决定的重要依据,只有投资取得较大收益的的那些工程项目才是值得继续进行下去的6.需求分析的目标是:确定出系统必须具备哪些功能,和用户密切配合,充分交流信息,以得出经过系统确认的系统逻辑模型7.软件维护的四类维护活动:01.改正性维护:改正和诊断在使用过程中发生的软件错误02.适应性维护:修改软件以适应新的环境变化03.完善性维护:根据用户的需求改善和扩充软件使它更完善04.预防性维护:为将来的维护活动事先做准备8.瀑布模型: ?论述题01.传统的瀑布模型开发软件的特点A.阶段间具有顺序性和依赖性B.推迟实现的观点C.质量保证的观点02.软件配置:程序、文档、数据03.注释有什么用:提高代码的可读性(有待补充)二、可行性研究1.可行性研究的目的:就是用最小的代价在尽可能短的时间内确定问题是否能够解决2.从三个方面研究每种解法的可读性;01.技术可行性:使用现在的技术能实现这个系统吗?02.经济可行性:这个系统的经济效益能超过它的开发成本吗?03.操作可行性:系统的操作方式在这个用户组织内能行得通吗?3.系统流程图:是概括的描绘物理系统的传统工具。

完整word版软件工程导论期末考试试题和答案

完整word版软件工程导论期末考试试题和答案

1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。

2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。

3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。

4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。

5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。

6.__数据流图________和__数据字典___共同构成系统的逻辑模型。

7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。

8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。

9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。

1.下列哪个阶段不属于软件生存周期的三大阶段( C )。

A、计划阶段B、开发阶段C、编码阶段D、维护阶段2.需求分析是(A )。

A、软件开发工作的基础B、软件生存周期的开始C、由系统分析员单独完成的D、由用户自己单独完成的3.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要(B )。

A、明确的需求定义B、完整的生命周期C、较长的开发时间D、熟练的开发人员4.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为( A )。

A、改正性维护B、适应性维护C、完善性维护D、预防性维护)。

A 一般说来,投入运行的软件系统中有错误(5.A、不是不可以理解的B、是不能容忍的C、是要求退货的理由D、是必然的1.在进行总体设计时应加强模块间的联系。

《软件工程导论》期末考试试题和答案

《软件工程导论》期末考试试题和答案

1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。

2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。

3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。

4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。

5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。

6.__数据流图________和__数据字典___共同构成系统的逻辑模型。

7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。

8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。

9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。

1.下列哪个阶段不属于软件生存周期的三大阶段( C )。

A、计划阶段B、开发阶段C、编码阶段D、维护阶段2.需求分析是(A )。

A、软件开发工作的基础B、软件生存周期的开始C、由系统分析员单独完成的D、由用户自己单独完成的3.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要(B )。

A、明确的需求定义B、完整的生命周期C、较长的开发时间D、熟练的开发人员4.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为( A )。

A、改正性维护B、适应性维护C、完善性维护D、预防性维护5.一般说来,投入运行的软件系统中有错误(A )。

A、不是不可以理解的B、是不能容忍的C、是要求退货的理由D、是必然的1.在进行总体设计时应加强模块间的联系。

《软件工程导论》期末考试试题和答案

《软件工程导论》期末考试试题和答案

1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。

2.按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。

3.可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择.4.用户界面的可使用性是用户界面设计最重要的也是最基本的目标。

5.常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的___结构化设计方法_________,以数据结构为基础构造模块的__jackson方法__________,以对象、类、继承和通信为基础的__面向对象设计方法__________。

6.__数据流图________和__数据字典___共同构成系统的逻辑模型。

7.软件测试的方法有__分析方法________和___非分析方法_______(即黑盒法)。

8.单元测试一般以___白盒_____________测试为主,___黑盒______测试为辅。

9.成本估计方法主要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。

1.下列哪个阶段不属于软件生存周期的三大阶段( C ).A、计划阶段B、开发阶段C、编码阶段D、维护阶段2.需求分析是(A )。

A、软件开发工作的基础B、软件生存周期的开始C、由系统分析员单独完成的D、由用户自己单独完成的3.原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要(B )。

A、明确的需求定义B、完整的生命周期C、较长的开发时间D、熟练的开发人员4.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为( A )。

A、改正性维护B、适应性维护C、完善性维护D、预防性维护5.一般说来,投入运行的软件系统中有错误(A )。

A、不是不可以理解的B、是不能容忍的C、是要求退货的理由D、是必然的1.在进行总体设计时应加强模块间的联系。

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

1.软件的定义:软件是程序、数据及相关文档的完整集合。

其中,程序是能够完成预定功能和性能的可执行的指令序列;数据是使程序能够适当地处理信息的数据结构,文档是开发、使用和维护程序所需要的图文资料。

2.软件危机的定义,表现、原因是什么?a)软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

b)软件危机的表现:●对软件开发成本和进度的估计常常很不准确。

●经常出现用户对“已完成的”软件系统功能不满意的现象。

●软件产品的质量往往达不到要求。

●软件通常不可维护。

●软件通常没有适当的文档资料。

●软件成本在计算机系统总成本中所占的比例逐年上升。

●软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

c)软件危机的原因:i.客观原因:与软件本身的特点有关●软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。

软件缺乏“可见性”。

●软件维护通常意味着改正或修改原来的设计,这就在客观上使得软件较难维护。

软件缺乏“可插拔性”。

●如何保证每个人完成的工作合在一起确实能构成一个高质量的大型软件系统,更是一个极端复杂困难的问题,必须有严格而科学的管理。

ii.主观原因:与软件开发与维护的方法不正确也有关●目前相当多的软件专业人员对软件开发和维护还有不少糊涂观念,这可能是使软件问题发展成软件危机的主要原因。

●忽视需求分析只重视编码与运行。

•编写程序所需的工作量只占软件开发全部工作量的10%~20%。

•在后期引入一个变动比在早期引入相同变动所需付出的代价高2~3个数量级。

•图1.1定性地描绘了在不同时期引入一个变动需要付出的代价的变化趋势。

●忽视文档只重视程序必须认识到一个软件产品必须由一个完整的配置组成,软件配置主要包括程序、文档和数据等成分。

必须清除只重视程序而忽视软件配置其余成分的糊涂观念。

●轻视维护是一个最大的错误。

统计数据表明,实际上用于软件维护的费用占软件总费用的55%~70%。

3.软件工程的定义、软件工程方法学三要素是什么?软件工程定义:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,用于经济地开发出高质量的软件并有效地维护它,这就是软件工程。

软件工程方法学的3个要素:方法、工具和过程方法是:完成软件开发的各项任务的技术方法,回答“怎样做”的问题;工具是:为运用方法而提供的自动的或半自动的软件工程支撑环境;(用什么做)过程是:为了达到给定目标所实施的一系列步骤,是人们使用相应的规程、方法、工具和设备将原材料转化成面向客户的产品所做的事情。

简单的说,就是什么时间做什么。

4.软件工程有哪七大原理?(1)用分阶段的生命周期计划严格管理(2)坚持进行阶段评审(3)实行严格的产品控制(4)采用现代程序设计技术(5)结果应能清楚地审查(6)开发小组的人员应该少而精(7)承认不断改进软件工程实践的必要性*(8)二八定律5.软件生命周期有哪三大阶段八小阶段?软件生命周期由软件定义、软件开发和软件维护3个时期组成。

(1)问题定义(2)可行性研究(3)需求分析(4)总体设计(5)详细设计(6)编码和单元测试(7)综合测试(8)软件维护6.常见的软件开发模型有哪些?各有什么特点、优缺点?a)瀑布模型特点:(1)阶段间具有顺序性和依赖性(2)推迟实现的观点(3)质量保证的观点优点:(1)可强迫开发人员采用规范的方法(例如:结构化技术);(2)严格地规定了每个阶段必须提交的文档;(3)要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。

缺点:“瀑布模型是由文档驱动的”这个事实也是它的一个主要缺点。

事实上,要求用户不经过实践就提出完整准确的需求,在许多情况下都是不切实际的。

总之,由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。

b)快速原型模型特点:快速原型模型的第一步是快速建立一个能反映用户主要需求的原型系统,让用户在计算机上试用它,通过实践来了解目标系统的概貌。

优点:克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险。

缺点:(1)所选用的开发技术和工具不一定符合主流的发展,快速建立起来的系统结构加上连续的修改可能会导致产品质量低下。

(2)使用这个模型的前提是要有一个展示性的产品原型,因此在一定程度上可能会限制开发人员的创新。

c)增量模型特点:使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。

每个构件由多个相互作用的模块构成,并且能够完成特定的功能。

优点:能在较短时间内向用户提交可完成部分工作的产品,是增量模型的一个优点。

增量模型的另一个优点是,逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。

缺点:增量模型本身是自相矛盾的。

它一方面要求开发人员把软件看作一个整体,另一方面又要求开发人员把软件看作构件序列,每个构件本质上都独立于另一个构件。

除非开发人员有足够的技术能力协调好这一明显的矛盾,否则用增量模型开发出的产品可能并不令人满意。

d)螺旋模型特点:螺旋模型的基本思想是,使用原型及其他方法来尽量降低风险。

理解这种模型的一个简便方法,是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型。

优点:1、对可选方案和约束条件的强调有利于已有软件的重用;2、有助于把软件质量作为软件开发的一个重要目标;3、减少了过多测试(浪费资金)或测试不足(产品故障多)所带来的风险;4、在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没有本质区别。

缺点:很难让用户确信这种演化方法的结果是可以控制的。

建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。

7.可行性研究的基本任务是什么?用最小的代价在尽可能短的时间内确定问题是否能够解决。

8.可行性研究有哪三个角度?1)是从技术角度出发考虑解决问题的不同方案。

2)考虑操作方面的可行性。

3)考虑经济方面的可行性。

9.可行性研究结束后的文档是什么?可行性研究报告10.系统流程图、数据流图、数据字典各是描绘系统的什么模型?(1)系统流程图是概括地描绘物理系统的传统工具。

它是用图形符号(以黑盒子形式)描绘组成系统的各个元素(程序、文档、数据库、人工过程等)和信息在这些元素之间的流动情况。

(2)数据流图是用于表现系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程。

它只反映系统必须完成的逻辑功能,不考虑怎样具体地实现这些功能,它也是进行软件设计的很好的出发点。

(3)数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。

它的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。

数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。

11.软件开发成本估计有哪三种方法?代码行技术任务分解技术自动估计成本技术12.经济效益分析有哪三个经济指标?货币的时间价值投资回收期纯收入13.需求分析的基本任务是什么?软件需求分析的基本任务是准确地回答“系统必须做什么?”14.需求分析结束提交的文档叫什么名字?软件需求规格说明书15.需求分析的任务有哪些?确定对系统的综合要求分析系统的数据要求导出系统的逻辑模型16.需求分析阶段,系统的综合要求需求有哪些?功能需求性能需求可靠性、可用性、安全性、保密性等需求出错处理需求接口需求约束逆向需求将来可能提出的要求17.软件设计从技术的角度有哪三种内容?从管理的角度分为哪两种阶段?技术角度:数据设计侧重于数据结构的定义。

系统结构设计定义软件系统各主要成份之间的关系。

过程设计则是把结构成份转换成软件的过程性描述。

在编码步骤,根据这种过程性描述,生成源程序代码,然后通过测试最终得到完整有效的软件。

管理角度:总体设计(概要设计)将软件需求转化为数据结构和软件的系统结构。

详细设计即过程设计。

通过对结构表示进行细化,得到软件的详细的数据结构和算法。

18.总体设计有哪两个任务?(1)划分出组成系统的物理元素——程序、文件、数据库、人工过程和文档等等,但每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在详细设计时设计。

(2)设计软件的结构-----要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。

19.总体设计阶段提交的文档叫什么?软件总体设计说明书20.设计原理有哪些?模块化抽象逐步求精信息隐藏和局部化ler法则:一个人在任何时候都只能把注意力集中在多少个知识块上?一个人在任何时候都只能把注意力集中在(7±2)个知识块上22.模块的独立程度的两个定性标准度量是什么?有两个定性标准度量,这两个标准分别称为内聚和耦合。

耦合衡量不同模块彼此间互相依赖(连接)的紧密程度:内聚衡量一个模块内部各个元素彼此结合的紧密程度。

23.三种基本的程序控制结构是什么顺序、分支、循环24.测试有哪三个阶段?有哪两种方法?测试三阶段:单元测试集成测试确认测试软件测试方法:黑盒测试:又叫功能测试白盒测试:又叫结构测试。

25.软件生存周期中时间最长的一个阶段是?维护阶段是软件生存周期中时间最长的一个阶段,所花费的精力和费用也是最多的一个阶段。

26.软件维护的内容有哪四种?1、改正性维护2、适应性维护3、完善性维护4、预防性维护27.用例图,类图的作用是什么?有哪些主要的元素?类图的作用:描述类、接口、协作及它们之间关系的图。

显示系统中各个类的静态结构。

类图的元素:①类(Class)②接口(Interface)③依赖关系(Dependency)④泛化关系(Generalization)⑤关联关系(Association)⑥实现关系(Realization)28.根据系统描述,绘制规范的系统用例图,并对其简要说明。

29.根据系统描述,绘制规范的系统类图,并对其简要说明。

相关文档
最新文档