软件工程复习(课后选择篇)

0、选择

一、软件工程概述

1)20世纪60年代提出软件工程概念

2)软件危机的主要原因是 软件本身的特点及开发方法

3)软件工程的三要素是 方法、工具和过程

4)软件工程材料不属于软件工程学科所要研究的基本内容

 

二、软件过程

1)增量模型本质上是一种 非整体开发模型

2)软件过程是 软件开发活动的集合

3)软件生命周期模型不包括 用例模型

4)包含风险分析的软件工程模型是 螺旋模型

5)软件工程中描述生命周期的瀑布模型一般包括计划、需求分析、设计、编码、测试和维护等几个阶段。

6)软件开发的瀑布模型一般都将开发过程分为分析、设计、编码、测试等阶段,一般认为可能占用人员最多的阶段是 编码阶段

7)螺旋模型综合了 瀑布模型和快速原型模型 的优点,并增加了风险分析

 

三、可行性研究及需求分析

1)在需求分析之前有必要进行 可行性研究 工作

2)需求分析是一个 过程 ,它应该贯穿于整个系统的整个生命周期中,而不仅仅属于软件生命周期早期的一项工作。

3)软件需求规格说明书的内容不应该包括 算法的详细过程描述

//对重要功能的描述,对数据的要求,软件的性能

4)软件需求分析阶段的工作可以分为以下四个方面:对问题的识别、分析与综合、编写需求分析文档,以及 需求分析评审

 

四、结构化分析

1)进行需求分析可使用多种工具,但 PAD图 是不适用的

// 数据流图 状态转换图 数据词典

2)数据流图是进行软件需求分析的常用图形工具,其基本图形符号是 加工、数据流、数据存储和外部实体

3)结构化分析法的主要描述手段有 DFA图、数据词典、加工说明

4)在E-R图中,包含以下基本成分 实体、属性、关系

 

五、面向对象方法与UML

1)面向对象技术中,对象是类的实例。对象有三种成分:封装、属性和方法(或操作)

2)以下不是面向对象的特征的是 过程调用

// 多态性 继承性 封装性

3)汽车有一个发动机,汽车和发动机之间的关系是 整体与部分 关系

4)封装 是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐藏的,外界只能通过有限的接口与对象发生联系

5)面向对象的主要特征除了对象唯一性、封装和继承外,还有 多态性

6)关联是建立 类 直接关系的一种手段

7)面对对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类向上可以有父亲,下层可以有子类,这种层次结构系统的一个重要性质是 继承性 ,一个类获得其父亲的全部描述(数据和操作)

8)所有对象可以成为各种对象类,每个对象都定义了一组 方法

9)通过执行对象的操作可以改变对象的属性,但它必须通过 消息 的传递

10) UML是软件开发中的一一个重要工具,它主要应用于 基于对象的面向对象的方法

11)用例图 是从用户使用系统的角度描述系统功能的图形表达方法

12)顺序图  描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。

 

六、面向对象分析

1)面向对象模型主要由以下哪些模型组成 对象模型、动态模型、功能模型

2)面向对象分析的首要工作是建立 问题的对象模型

3)面向对象的分析方法主要是建立3类模型,即 对象模型、动态模型、功能模型

4)面向对象分析阶段建立的3个模型中,核心模型是 对象 模型

5)面向对象的动态模型中,每张状态图表示 某一个类 的动态行为

6)在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。动态模型着重于系统的控制逻辑,它包括两个图: 一个是 事件追踪图,另一个是 状态图

7)对象模型的描述工具是 类图

8)功能模型中所有的 数据流图 往往形成一个层次结构,在这个层次结构中一个数据流图的过程可以由下一层数据流图做进一步的说明

 

七、软件设计

1)模块的独立性是由内聚性和耦合性来度量的,其中内聚性是 模块的功能强度

2)为了提高模块的独立性,模块之间最好是 数据耦合

3)属于软件设计的基本原理是 模块化

//A.数据流分析设计 B.变换流分析设计 C. 事务流分析设计 D. 模块化

4)软件设计阶段般又可分为 概要设计与详细设计

5)软件设计一般分为总体设计和详细设计,它们之间的关系是 全局和局部

 

八、软件体系结构与设计模式

1)程序编译器的体系结构适合使用 仓库体系结构

2)网站系统是一个典型的 瘦客户端/服务器结构

3)在分层体系结构中,控制层 用于实现与实体对象相关的业务逻辑

4)设计模式 可以帮助人们简单方便地复用已经成功的设计或体系结构设计

5)抽象工厂模式 用于封装具体的平台,从而使应用程序可以在不同的平台上运行。

 

九、结构化设计

1)面向数据流的软件设计方法可将 数据流 映射成软件结构

2) Jackson 方法根据 数据结构 来导出程序结构

3)在面向数据流的软件设计方法中,一般将信息流分为 变换流和事务流

4)在软件详细设计过程中不采用的描述工具是 DFD图

 

十、面向对象设计

1)面向对象设计阶段的主要任务是系统设计和 对象设计

2)只有类的共有界面的成员才能成为使用类的操作,这是软件设计的 信息隐藏 原则

3 )类图 是表达系统类及其相互联系的图示,它是面向对象设计的核心,是建立状态图、协作图和其他图的基础

4)下面所列的性质中,可视化 不属于面向对象设计的特性。

/A.继承性B.重用性C.封装性D.可视化

5) 下列是面向对象设计方法中有关对象的叙述,其中 对象的属性集合是它的特征表示 是正确的

6)面向对象设计中,基于父类创建的子类具有父类的所有特性(属性和方法),这一特点称为类的 继承性

 

十一、软件编程

1)软件实现是软件产品由概念到实体的一个关键过程,它将 详细设计 的结果翻译成用某种程序设计语言编写的并且最终可以运行的程序代码。虽然软件的质量取决于软件设计,但是规范的程序设计风格将会对后期的软件维护带来不可忽视的影响

2)C++ 是一种纯面向对象语言

3)第一个体现结构化编程思想的程序设计语言是  C语言

4)面向对象设计的结果,实现时 只能使用面向对象语言

 

十二、软件测试概述

1)软件测试的目的是 发现软件的错误

2)成功的测试是指运行测试用例后 发现了程序错误

3)软件测试可能发现软件中的 错误,但不能证明软件没有错误

4)软件测试的目的是尽可能发现软件中的错误,通常 单元测试 是代码编写阶段可进行的测试,它是整个测试工作的基础

 

十三、软件测试方法与过程

1)白盒法又称为逻辑覆落法,主要用于 单元测试

2)以下哪种测试方法不属于白盒测试技术 边界值分析测试

3)白盒测试法是根据程序的 内部逻辑 来设计测试用例的方法

4)软件的集成测试工作最好由 该软件的编程人员 承担,以提高集成测试的效果

5)黑盒测试是从 用户 观点的测试,白盒测试是从 开发人员 观点的测试

6)使用白盒测试方法时确定测试数据应根据 程序的内部逻辑 和指定的覆盖标准

7)黑盒测试方法根据 软件要完成的功能 设计测试用例

8)在软件测试中,逻辑覆盖标准主要用于 白盒测试方法

9)集成测试的主要方法有两个,一个是 渐增式测试方法,一个是 非渐增式测试方法

10)单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是 系统功能

 

十四、软件维护与软件工程管理

1)软件工程针对维护工作的主要目标是提高软件的可维护性,降低 维护的工作量

2)度量 的作用是为有效、定量地进行管理,把握软件工程过程的实际情况和它所立生的产品质量。

3)LOC和FP是两种不同的估算技术,但两者有许多共同的特征,只是LOC和FP技术对于分解所需要的 详细程度 不同

 4)项目团队原来有6个成员,现在又增加了6个成员,这样沟通渠道增加了多少?

 4.4倍

5)下列哪项不是风险管理的过程? 风险收集

// 风险规划 风险识别 风险评估

6)按照软件配置管理的原始指导思想,受控制的对象应是 软件配置项

7)下面 易用性 不是人们常用的评价软件质量的4个因素之一

8)使用软件时提出增加新功能,就必须进行 纠错性 维护

9)软件维护的副作用是指 因修改软件而造成的错误

10)软件文档是软件工程实施的重要成分,它不仅是软件开发各阶段的重要依据,而且也影响软件的 可维护性

11)影响软件可维护性的主要因素不包括 可用性

12)CMM表示 软件过程成熟度模型

 

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值