文档库 最新最全的文档下载
当前位置:文档库 › 软件工程期末复习最终版

软件工程期末复习最终版

软件工程期末复习最终版
软件工程期末复习最终版

《软件工程》期末复习题

宗旨:部分源于,但绝不限于!选择题

1.螺旋模式的组成包括下列(B)。D不确定

(A)需求定义 (B)风险分析 (C)工程实现 (D)评审

2.“软件危机”产生的主要原因是(A )。

A.软件日益庞大

B.开发方法不当

C.开发人员编写程序能力差

D.没有维护好

软件

3.所谓基准配置是指(D )。

A.计算机系统的软硬件配置

B.计算机系统的硬件配置

C.软件开发标准

D.阶段评审后的软件配置成分

4.在需求分析之前有必要进行( B)工作。

A.程序设计

B.可行性分析

C.ER分析

D.3NF分析

5.一个只有顺序结构的程序,其环形复杂度是(D )

A.0

B.1

C.3

D.不确定的

6.自底向上进行集成测试的优点是不必额外设计( C)程序。

A.子

B.被调用

C.存根

D.驱动

7.使用软件时提出增加新功能就必须进行( C)维护。

A.改正性

B.适应性

C.完善性

D.预防性

8.维护过程本质上是( D)的过程。

A.修改程序

B.修改文档

C.修改软件配置

D.压缩的修改软件定义和开发

9.需求分析的工作有那些 (BCDE)

(A)调查研究(B)确定需求(C)建立模型(D)需求描述(E)需求分析复审。

10.要如何进行调查研究,以便得到需求分析的资料?(ABC)

(A)了解整体系统、(B)市场调查、(C)访问使用者、(D)考察现场。

11.结构化分析使用那些道具来描述软件的行为?(AB)

(A)数据流程图(Data Flow Diagram,简称为DFD) (B)数据字典(Data

Dictionary简称为DD) (C)处理描述(Process Description)。

12.数据流程图有那些要素?(ABC)

(A)加工(Process) (B)数据流(Data Flow) (C)数据储存(Data Store) (D)数据

流(Data Source and Sink)

13.软件的除错方法有那些?(BC)

(A)凭着蛮力、(B)回溯、以及(C)原因排除。

14.软件维护有那几个种类?(ABC)

A Corrective Maintenance (B) Adaptive Maintenance (C) Perfective

Maintenance

15.在面向对象的开发中,类与类之间的存在着关联、聚集和依赖等关系。

16.有关计算机程序功能、设计、编制、使用的文字或图形资料称为(B )

A. 软件

B. 文档

C.程序

D. 数据

17. ( A )是计算机程序及其说明程序的各种文档。

A 软件 B.文档 C.数据 D.程序

18.下列不是软件工程三要素的( D )

A.方法

B.工具

C.过程

D.技术

19.结构化分析方法使用的描述工具( B )定义了数据流图中每一个图形

元素。

A 数据流图B数据字典 C 判定表 D 判定树

20.在结构化分析方法中,用以表达系统内部数据的运行情况的工具有

(A )。

A 数据流图

B 数据字典

C 结构化英语

D 判定树与判定表

21.在结构化分析方法(SA)中,与数据流图配合使用的是(C)

A 网络图B实体联系图C数据字典 D 程序流程图

22.分层DFD是一种比较严格又易于理解的描述方式,它的顶层图描述了系

统的( B )

A 细节B输入与输出C软件的作者D绘制的时间

23.数据字典中,一般不包括下列选项中的( C )条目。

A数据流B数据存储C加工D源点与终点

24..在软件需求分析中,开发人员要从用户那里解决的最重要的问题是( A )

A要让软件做什么B要给该软件提供哪些信息

C要求软件工作效率怎样D要让软件具有何种结构

25.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后( A )。

A获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型

B获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型

C获得当前系统的逻辑模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型

D获得当前系统的逻辑模型,建立当前系统的物理模型,建立目标系统的物理模型

26.需求分析阶段不适于描述加工逻辑的工具是( D )。

A 结构化语言B判定表C判定树D流程图

27.结构化分析方法(SA)最为常见的图形工具是( C )。

A程序流程图B实体联系图 C 数据流图D结构图

28.SA方法的基本思想是( C )。

A自底向上逐步抽象B自底向上逐步分解

C自顶向下逐步分解D自顶向下逐步抽象

29.好的软件结构应该是( B )

A 高耦合、高内聚

B 低耦合、高内聚

C 高耦合、低内聚

D 低耦合、低内聚

30.程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模

块的内聚性和( C )。

A 独立性

B 有效性

C 耦合性

D 安全性

31.程序内部的各个部分之间存在的联系,用结构图表达时,最关心的是模

块的( D )和耦合性。

A一致性 B 作用域

C 嵌套限制

D 内聚性

32.软件设计中划分通常遵循的原则是要使模块间的耦合性尽可能( B ) A强 B弱 C较强 D适中

33.Jackson suggested the data structure oriented software design

method,Which of the following structure can be introduced by using input/output data structure( B ).

A algorithm structure

B procedure structure

C code structure

D program structure

34.在面向数据流的软件设计方法中,一般将信息流分为( A )。

A 变换流和事务流

B 变换流和控制流

C 事务流和控制流

D 数据流和控制流

35.在多层次的结构图中,其模块的层次数称为结构图的( A )。

A深度 B跨度 C控制域 D粒度

36.( D )着重反映的是模块间的隶属关系,即模块间的调用关系和层次关

系。

A程序流程图 B数据流图 CE-R图 D结构图

37.在软件开发过程中,以下说法正确的是( B )

A 程序流程图是逐步求精的好工具,

B NS图不可能任意转移控制,符合结构化原则

C 判定表是一种通用的设计工具

D 程序流程图和NS图都不易表达模块的层次结构

38.( A )工具在软件详细设计过程中不采用。

A 判定表B.IPO图

C.PDL D.DFD图

39.结构化程序设计的一种基本方法是( D )。

A 筛选法B.递归法

C 迭代法

D 逐步求精法

40.对象是面向对象开发方法的基本成分,每个对象可用它本身的一组

( C )和它可以执行的一组操作来定义。

A服务B.参数

C属性D.调用

41.汽车有一个发动机,汽车与发动机之间的关系是( B )关系。

A 一般与具体 B.整体与部分

C 分类关系 D. is a

42.火车是一种陆上交通工具,火车和陆上交通工具之间的关系是( D)关

系。

A 组装 B.整体与部分

C hasa D.一般与具体

43.在编制程序时,应采纳的原则之一是( D )。

A 不限制goto语句的使用R 减少或取消注释行

C 程序越短越好

D 程序结构应有助于读者理解

44.源程序文档化要求在每个模块之前加序言性注释。该注释内容不应有

( B )。

A. 模块的功能B.语句的功能

C模块的接D.开发历史

45.Which of the followings tatements testing software with data is

(are)true?( D )

①The primary purpose of such testing is to find errors

②Such testing can demonstrate the existence of errors but cannot demonstrate the Absence of errors

A .Neither B.①Only C②Only D.Both

46.从下列叙述中选出能够与软件开发需求分析、设计、编码相对应的软件

测试( D )。

A.组装测试、确认测试、单元测试

B.单元测试、组装测试、确认测试

C 单元测试、确认测试、组装测试

D.确认测试、组装测试、单元测试

47.B1ack-BOx and white-BOX testing method are often used in software

testing phase,in which,the White-Box is mainly used to test software’s( ).

A.reasonableleness of structure

B.correctness of a program

C external function of a program

D.internal logic of a program

48.Which is not a concept of White-Box Testing? ( B )

A.you should execute all loops at their boundary conditions

B.you should execute all interface at their boundary conditions

C.you should execute all logic decisions on their true and false sides

D.you should execute all independent paths within a module at least once

49.一般来说,与测试数据无关的文档是( D )

A 需求规格说明书B.设计说明书

C 源程序D.项目开发计划

50.为高质量地开发软件项目,在软件结构设计时必须遵循(C )的原则,

( B )建立软件系统的模块结构。并且应根据( C )评价系统模块划分的质量。此外在模块设计时,应从5种基本的( e )出发,利用它们组合成一个模块的程序块结构。要求每个( A )的结构应是单入口和单出口。

【供选择的答案】(?)

A:①质量控制②程序优化③信息隐蔽④数据共享⑤模块通信

B:①自底向上②自顶向下③衍变的自顶向下④随机⑤回归C:①数据独立性②程序独立性③模块独立性④可修改性⑤可理解性

D:①数据结构②处理结构③功能结构④成份⑤控制结构

E:①程序块②公共块③数据块④记录块⑤通信块

51.请指出UML的三个主要的特性。

1)UML是一种语言

2)UML是用来建模的

3)UML是统一的标准

52.绘制一个表示类的UML元素,并指出它主要包含哪三个部分。

类名、属性、操作

53.1因计算机硬件和软件环境的变化而作出的修改软件的过程称为( B )

A 教正性维护

B 适应性维护

C 完善性维护

D 预防性维护

54.什么不是面向对象程序设计的主要特征。( D )

A.封装C.多态

B.继承D.结构

55.下面不属于类的关系的是(A )

A、传递

B、聚集

C、关联

D、泛化

56.UML中的事物包括:结构事物,分组事物,注释事物和( D )

A、实体事物

B、边界事物

C、控制事物

D、动作事物

57.在UML中,(B)图显示了一组类、接口、协作以及它们之间的关系。

A、状态图

B、类图

C、用例图

D、部署图

58.下列描述中,哪个不是建模的基本原则(D)

A.要仔细的选择模型

B.每一种模型可以在不同的精度级别上表示所要开发的系统

C.模型要与现实相联系

D.对一个重要的系统用一个模型就可以充分描述

59.UML体系包括三个部分:UML基本构造块,( A )和UML公共机制

A、UML规则

B、UML命名

C、UML模型

D、UML约束

60.对于如下所示的UML类图,正确的描述是(A )

A.类A的实例中包含了对类B的实例的引用

B.类B的实例中包含了对类C的实例的引用

C.类A的实例中包含了对类C的实例的引用

D.类B的实例中包含了对类A的实例的引用

61.UML中关联的多重度是指( B )

A.一个类有多少个方法被另一个类调用

B.一个类的实例能够与另一个类的多少个实例相关联

C.一个类的某个方法被另一个类调用的次数

D.两个类所具有的相同的方法和属性

62.下面说法错误的是( C )

A 顺序图和协作图都反映对象之间发送的消息

B 顺序图和协作图在语义上是等价的

C 顺序图强调发送和接收消息的对象之间的结构组织关系

D ROSE可以实现顺序图和协作图之间的等价转换

63.下面哪个不是UML中的静态视图(A)

A.状态图

B.用例图

C.对象图

D.类图

64.(A)技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。

A、泳道

B、分叉汇合

C、分支

D、转移

65.下列关于状态图的说法中,正确的是(C)

A. 状态图是UML中对系统的静态方面进行建模的五种图之一。

B. 状态图是活动图的一个特例,状态图中的多数状态是活动状态

C. 活动图和状态图是对一个对象的生命周期进行建模,描述对象

随时间变化的行为。

D. 状态图强调对有几个对象参与的活动过程建模,而活动图更

强调对单个反应型对象建模

66.如果要对一个企业的工作流程建模,下面四个图中,(C )是最有用的

A 交互图

B 用例图

C 状态图

D 类图

67.下面说法错误的是( D )

A 泛化表示一般和特殊的关系

B 用例之间存在泛化关系

C 参与者之间存在泛化关系

D 参与者和用例之间存在泛化关系

68.类通常可以分为实体类,(C)和边界类

A、父类

B、子类

C、控制类

D、祖先类

69.顺序图由类角色,生命线,激活期和(B)组成

A、关系

B、消息

C、用例

D、实体

70.(D)是系统中遵从一组接口且提供实现的一个物理部件,通常

指开发和运行时类的物理实现

A、部署图

B、类

C、接口

D、组件

71.关于协作图的描述,下列哪个不正确(B)

A.协作图作为一种交互图,强调的是参加交互的对象的组织;

B.协作图是顺序图的一种特例

C.协作图中有消息流的顺序号;

D.在ROSE工具中,协作图可在顺序图的基础上按“F5”键自动生成;

72.组件图用于对系统的静态实现视图建模,这种视图主要支持

系统部件的配置管理,通常可以分为四种方式来完成,下面哪种

不是其中之一(B)

A.对源代码建模

B.对事物建模

C.对物理数据库建模

D.对可适应的系统建模

73.一个对象和另一个对象之间,通过消息来进行通信。消息通信

在面向对象的语言中即(C)

A、方法实现

B、方法嵌套

C、方法调用

D、方法定义

74.下面正确的说法是(B )

A 对象表示客观中存在的实物

B 对象是类的实例

C 类是具有相同属性和操作的对象的抽象

D 类是对象的实例

75.下图中的空心箭头连线表示(A)关系

A、泛化

B、包含

C、扩展

D、实现

76.组件图展现了一组组件之间的组件和依赖。它专注于系统的(B)实现图

A、动态

B、静态

C、基础

D、实体

77.下列叙述中正确的是(D)

A.面向对象程序设计语言都不支持过程化的程序设计

B.面向对象系统只可采用面向对象程序设计语言实现

C.某些过程化程序设计语言也可实现面向对象系统

D.面向对象程序设计语言不支持对成员变量的直接访问

78.事件可以分为内部事件和外部事件。按下按钮和打印机的中断是(B)

事件

A、内部事件

B、外部事件

79.(A)是用于把元素组织成组的通用机制

A、包

B、类

C、接口

D、组件

80.下列关于类方法的声明,不正确的是

( C )

A.方法定义了类所许可的行动

B.从一个类所创建的所有对象可以使用同一组属性和方法

C.每个方法应该有一个参数

D.如果在同一个类中定义了类似的操作,则他们的行为应该是类似的

81.(A)是一组用于描述类或组件的一个服务的操作

A、包

B、节点

C、接口

D、组件

82.UML的全称是( B )

A.Unify Modeling Language B.Unified Modeling Language C.Unified Modem Language D.Unified Making Language

83.(B)是被节点执行的事物

A、包

B、组件

C、接口

D、节点

判断题:

1.用户对软件需求的描述不精确,往往是产生软件危机的原因之一。(√)

0102

2.目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技

术(PERT)和关键路径法(CPM)。(√)0206

3.一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。(√)0206

4.目前的绝大多数软件都不适合于快速原型技术。(X)0402

5.面向数据的设计方法适用场合是具有明显的层次信息结构的应用如:企事业的信息管理系统;系统软件(如操作系统)等。(√)10001

6.缺乏处理大型软件项目的经验。是产生软件危机的唯一原因。(X)0102

7.通常紧致性好的语言一致性就好。(X)1301

8.测试计划、测试用例、出错统计和有关的分析报告一般不用长期保存。(X)1401

9.数据输入的一般准则中包括保证信息显示方式与数据输入方式的协调一致;允许用户定做输入格式等内容。(√)1204

10.软件也会磨损和老化。(X)0101

11.完善性维护是提高或完善软件的性能。(√)0101

12.McCabe建议模块规模应满足:V(G)≤20。(X)0204

13.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一。(√)0102

14.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力。(X)0206

15.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求。(√)0402

16.快速原型技术适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合。(√)0402

17.流程图也称为程序(框图)是最常用的一种表示法。(√)0802

18.面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤。(√)1001

19.理想的人机界面应针对具有典型个性的特定的一类用户设计。(√)1201

20.数据输入的一般准则中包括尽量(增加)用户输入的动作。(X)1204

21.用穷举测试是较现实的测试方法。(X)1401

22.编码时应尽可能使用全局变量(X)1302

23.重视程序结构的设计,能使程序具有较好的层次结构(√)1301

24.程序中的注解越少越好(X )。1302

25.文档可用于专业人员和用户之间的通信和交流;软件开发过程的管理;运行阶段的维护。(√)0101

26.软件开发、设计几乎都是从头开始,成本和进度很难估计。(√)0101

27.适应性维护是改进软件未来的可维护性和可靠性。(X)0101

28.由于软件是逻辑产品,软件质量较容易直接度量。(X)0203

29.V(G)值越高的程序往往是越不复杂、越不容易出问题的程序。(X)0204

30.目前我国还没有颁布软件开发标准。(X)0206

31.按照功能,软部件可划分为系统软件和应用软件两类。(√)0301

32.如果某子功能可以用一段简洁、精确的文字描述清楚,就无需进一步分解,是创建用户需求的数据流模型应遵循的规则。(√)0502

33.耦合度是对软件结构中模块间关联程度的一种度量。在设计软件时应追求尽可能紧密的耦合的系统。(X)0803

34.在面向对象设计阶段则着重完成“如何做”的问题,也就是着重考虑对象的实现细节。(√)1101

35.随着软件复杂性的不断提高,软件的维护难度越来越大。(√)1501

36.软件的可维护性差是软件维护工作量和费用激增的直接原因。(√)1505

37.纠错性维护是改正运行期间发现的潜伏错误。(√)0101

38.软件可移植性(portability),是指软件从一个计算机系统或(环境)移植到另一个上去的难易程度。(√)0103

39.软件复杂性不能反映出软件的可理解性、模块化、简单性等属性。(X)0204

40.当程序内的分支数和循环数增加时,V(G)值将随之增加,即程序的复杂性增大。(√)0204

41.一般来说,设计软件时应尽量使用数据耦合,减少控制耦合,限制外部环境耦合和公共数据耦合,杜绝内容耦合。(√)0803

42.设计用户界面只需要计算机科学的理论和知识,而不一定需要认知心理

学以及人-机工程学、语言学等学科的知识。(X)1201

43.第四代语言(4GL)还局限在某些领域内,如数据库查询语言。(√)1301

44.不同程序设计语言在程序的效率上的差异不大。(X)1302

45.编码的依据是详细设计说明书。(√)1303

46.程序文档应该包括代码的功能、代码的完成者等内容。(√)1303

47.软件项目定义部分由制定软件项目开发计划、需求分析2个阶段组成。(√)0301

48.预防性维护是修改软件,以适应软硬件环境的变化。(X)0101

49.开发大型软件易产生疏漏和错误,往往是产生软件危机的原因之一。(√)0102

50.据统计,软件维护人员为了分析和理解原软件系统所花费的工作量约占整个维护工作量的60%以下。(X)0201

51.数据流图中各构成元素的名称不一定必须具有明确的含义以代表对应元素的内容或功能。(X)0501

52.软件设计也可看作将需求规格说明逐步转换为软件源代码的过程。(√)0801

53.最高耦合度是数据耦合。(X)0803

54.人机界面(Human-Computer Interface,简称HCI)又称人- 机接口或用户界面。(√)1201

55.在同一用户界面中,所有的菜单选择、命令输入、数据显示和其他功能应采用不同的形式和风格。(X)1204

56.判定覆盖必然满足语句覆盖。(√)1402

57.为提高可交互性一般对大多数操作动作应允许用户恢复。同时应尽量减少用户记忆的信息量。(√)1204

58.编程中应采用统一的标准和约定,降低程序的复杂性。(√)1303

59.软件在使用过程中维护不十分复杂。(X)0101

60.软件可重用性(reusability),是指软部件可以在多种场合使用的程度。(√)0103

简答题

1.螺旋模型的适应场合有哪些?0104

适应场合:支持需求不明确、特别是大型软件系统的开发,并支持面向规格说明、面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型。

2.软件生存周期0103

软件从定义开始,经过开发、使用和维护,直到最终退役的全过程称为软件生存周期。

3.软件开发风险分析实际上就是贯穿于软件工程过程中的一系列风险管理

步骤,它包括哪些主要内容?0206

1)风险标识

2)风险估算

3)风险评价

4)风险驾驭和监控。

4.软件生存周期中的软件开发过程由概要设计和其它哪几个阶段组成?

0103

1)详细设计

2)实现

3)组装设计

4)验收测试

5.软件工程的原则有抽象、信息隐藏、模块化和其他那些内容?0102

局部化

一致性

完全性

可验证性

6.瀑布模型一般适应哪些场合?0104

瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。例如操作系统、编译系统、数据库管理系统等系统软件的开发。应用有一定的局限性。

7.软件在使用过程中维护有哪几种?0101

1)纠错性维护

2)完善性维护

3)适应性维护

4)预防性维护

8.程序设计语言的三种类型和特点是什么?0101

1)机器语言、汇编语言:依赖于机器,面向机器

2)高级语言:独立于机器,面向过程或面向对象

3)面向问题语言:独立于机器,非过程式语言(4GL)

9.传统的瀑布模型把生存周期划分为那些阶段?怎样理解瀑布模型软件开

发有哪些不足!

瀑布模型包括以下几个阶段:用户要求、需求分析、软件总体设计、详细设计、编码、测试、维护。

缺点有:由于用户不可能一次性的提出所有的需求,而瀑布模型是属于“线性”的开发模型,因此瀑布模型不能适应用户在开发后期提出的需求变更。

10.基于用例的面向对象需求建模包括哪些步骤?

包括需求获取、需求建模、需求描述、需求验证。

11.面向对象设计的任务是什么?

系统高层结构设计

系统高层结构设计

确定设计元素

任务管理策略

分布式实现机制

数据存储设计

人机交互设计

系统元素设计

类/对象设计

子系统设计

包设计

12.什么是快速原型法?其快速表现在哪里?

答:首先建立一个能够反映用户主要需求的原型,让用户实际看一看未来系统的概貌,以便判断哪些功能是符合需要的,哪些方面还需要改进。然后将原型改进,最终建立完全符合用户要求的新系统。它的快速表现在能够缩短开发周期的语言和工具,能在短时间内提供出成品,但不包括成品中的细节,然后让客户进行对比。

13.请简述面向对象设计与面向数据设计的异同点。

相同点:

(1)都是目前普遍采用的软件设计方法;

(2)均支持自顶向下设计,可用于大型系统的开发。

(3)面向数据设计是过程设计方法的一种,面向对象设计很大程度上也借鉴了其思路和方法(如类图就借鉴了ER图的设计方法)。

不同点:

(1)关注重点不同,面向对象设计以对象为中心,面向数据设计以数据及其结构为中心;

(2)设计思路有较大差异,面向对象设计将数据和其操作紧密结合在一起,打包成类,面向数据设计中,数据与其操作是分开的;

(3)设计语言和方法也有较大差异,面向对象设计采用UML的各种视图(如用例图和类图),面向数据设计一般采用数据流图和ER图。

(4)面向数据设计适合于数据量大,数据结构复杂但稳定,以数据库为中心的系统(如社保系统),面向对象设计几乎适应于所有系统的设计。

14.软件危机

是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。0101

15.简述软件工程的定义。

答:软件工程是用科学知识和技术原理来定义、开发和维护软件的一门

学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。16.请解释面向对象分析中的三种分析之一的“控制类”的作用。

控制类是负责协调其他类的工作,它建立了一个或几个用例的行为模型。它整理系统的行为并描述一个系统的动态特性,处理主要的任务和控制流。每个用例通常都有一个控制类、控制用例中的事件顺序。也存在多个用例共享同一个控制类。

17.需求分析的任务是什么?

需求分析的任务是确定待开发的软件系统“做什么”。具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册。

18.好的编程风格应遵循哪四条规则?1304

1)节简化

2)模块化

3)简单化

4)文档化

19.瀑布模式的优、缺点是什么?

答案:优点:瀑布模式是以开发出完整软件系统为目标。在瀑布模式里,项目规划、需求与规格、设计与实现、证实与验认、产品演进等五个步骤相互间呈现的是的一种循序关系。换句话说,每一个步骤必须经过确定后才能进入下一个步骤。

缺点:使用者无法在短期间看到产品,最后的产品可能不是使用者想要的。值是故,软件开发的风险相对提高。

20.低耦合性为什么表示模块分割得好?

答案:耦合性(Coupling)指的是跨越在模块之间的功能紧密度。软件设计的目标是要减少耦合性,即让模块之间尽可能的独立。如果模块之间耦合性低,意指软件被良好的分割。

21.高内聚性为什么表示模块分割得好?

答案:内聚性(Cohesion)指模组内的功能相关程度的衡量。软件设计应该产生高内聚性的模块。因为模块内功能相关程度若是紧密,则模块间的功能紧密度自然疏远,才不会导致高耦合性。

22.什么是实体图?

答案:在复杂的软件系统里,一个数据库可能有数个乃至数十个实体集在其中。为了表达实体集之间的结合(Association)关系,可以使用实体图(Entity Relationship Diagram,简称为ERD)来表示。

23.什么是模块化?

答案:模块化的方法主要是看每个结构元素要产生多少个模块,有的结构元素可能只要有一个模块就可以了,有的结构元素则会要有多个模块才够用。在软件设计中,每个模块可以被独立命名。

24.什么是结构化程序?

答案:结构化程序(Structured Programming)基本上是规定一套撰写算法的方式。Dijkstra提出所有的程序都可以用三种控制结构(Control Structure)组合而成。这三种控制结构分别是:顺序结构(Sequence Structure),选择结构(Selection Structure),重复结构(Repetition Structure) 经过世人证明之后,确实所有的模块可以用以上三种程序结构组合而成。

综合题

1.看图回答问题

a.下图中类的名字是:______

b.类中的行为(方法)是:____

c.类中的成员方法的访问可见性是:

d.该类是什么类型的类,这种类型的类作用是什么?

2.请选择UML中合适的图来描述图书管理系统中图书馆业务功能模块。

该模块包括借书,还书,预约借书等功能

答:用用例图表现

取消预约

3.A公司开办了在线电子商务网站,主要为各注册的商家提供在线商品销

售功能。为更好地吸引用户,A公司计划为注册的商家提供商品促销功能。

商品的分类不同,促销的方式和内容会有所不同。注册商家可发布促销信息。

商家首先要在自己所销售的商品的分类中,选择促销涉及的某一具体分类,然后选出该分类的一个或多个商品(一种商品仅仅属于一种分类),接着制定出一个比较优惠的折扣政策和促销活动的优惠时间,最后由系统生成促销信息并将该促销信息公布在网站上。商家发布促销信息后,网站的注册用户便可通过网站购买促销商品。用户可选择参与某一个促销活动,并选择具体的促销商品,输入购买数量等购买信息。系统生成相应的一份促销订单。只

软件工程期末复习知识点整理

复习整理 、绪论 1. 软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 是指导计算机软件开发和维护的一门工程学科;采用工程化的原理与方法对软件进行计划、开发和维护;把证明正 确的管理技术和最好技术综合运用到软件开发中;研究经济地开发岀高质量的软件方法和技术;研究有效维护软件 的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。 ⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1)过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构 +算法;着眼于程序的过程和基本控制结构,粒度最小 (2)面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对 象,粒度比较大 (3)基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合 整个领域的类对象,粒度最大 二、软件生存周期与软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动 定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期 目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段, 给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得较易控制和管理。 主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护( P19) 2、软件生命周期划分为哪几个阶段 软件生命周期分为三个时期八个阶段: 软件定义:问题定义、可行性研究; 软件开发:需求分析、概要设计、详细设计、编码、测试; 软件运行:软件维护

《软件工程》期末复习题1

考试时间: 16周周一5,6节 考试地点: 二教419 406 408 考试题型: 选择题:20分 简答题:30分 应用题:50分 各章内容及题型总结: 第1,2章本章的主要题型是选择题和简答题。 1. 软件危机的主要表现是什么?答:“已完成”的软件不满足用户的需求;开发进度不能保障;软件开发成本难以准确估算;软件产品的质量没有保证。 2. 软件工程的定义?答:软件工程是采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理方法和先进软件开发技术结合起来,运用到软件开发和维护过程中,来解决软件危机。 IEEE的定义:软件工程是①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,即将工程化应用于软件开发和管理之中,②对①中所选方法的研究。 3. 软件工程研究的主要内容是什么?答:软件开发技术和软件开发管理两个方面。软件开发技术方面主要研究软件开发方法、软件开发过程、软件开发工具和环境。软件开发管理方面主要研究软件工程管理学、软件工程经济学、软件工程心理学。 4. 软件工程的7条基本原理是什么?答:①用分阶段的生命周期计划严格管理②坚持进行阶段评审③实行严格的产品控制④采用现代程序设计技术⑤结果应能清楚地审查⑥开发小组的人员应该少而精⑦承认不断改进软件工程实践的必要性。 5. 什么是软件生命周期?答:指一个软件从提出开发要求开始到该软件报废为止的整个时期。通常将软件的生命周期划分为可行性研究、需求分析、设计、编码、测试、集成、维护阶段。 6. 软件过程的定义?答:软件开发过程、活动和任务的结构框架。它能够清晰、直观地表达软件开发全过程,明确规定要完成的主要活动和任务。 7. 你能举出几个典型的软件过程模型吗?答:主要有瀑布模型、演化模型、喷泉模型、螺旋模型、智能模型。模型的选择是基于软件的特点和应用领域。 8. 目前,主流的软件开发方法有哪些?答:结构化方法和面向对象方法。 9. 软件工程师职业道德规范的8组关键词是什么?1999年由ACM/IEEE-CS软件工程师道德规范和职业实践(SEEPP)联合工作组制订了《软件工程师职业道德规范》,规范含有8组由关键词命名的准则:公众、客户和雇主、产品、判断、管理、专业、同行、自身。 10. 职业化软件工程师要注意的十大问题是什么?答:①高质量地完成任务②遵守行业标准,不能肆意按照自己的想象来发挥③积极帮助他人④版权意识敏感⑤严格遵守计划⑥公私分明⑦注意知识更新⑧善于沟通⑨遵守职业规则⑩诚实和正直。 第3章本章的题型主要是选择题。 1. 可行性研究的目的是什么?答:用最小的代价在尽可能短的时间内确定问题是否能够解决。 2. 可行性研究的四大要素是:经济上可行,技术可行,法律允许、社会环境可行。 3. 可行性研究的实质:是要进行一次简化了的系统分析和设计过程。首先要分析和澄清问题定义,导出系统的逻辑模型,探索若可供选择的方案,对每种方案仔细研究它的可行性。推荐一个较好的解决方案和一个初步的计划。 第4,5章本章的题型有选择题。 2. 什么是需求工程?需求工程是指应用有效的技术和方法进行需求分析,确定客户需求,帮助分析人员理解问题,定义目标系统的外部特征的一门学科。需求工程中的主要活动有:需求获取、需求分析、需求规格说明、需求验证和需求变更管理。

软件工程期末试卷(A卷)

《软件工程》期末试卷(A卷) 一.单项选择题(每小题1分,共22分) 1.对象实现了数据和操作的结合,使数据和操作( 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.( A )意味着一个操作在不同的类中可以有不同的实现方式。 A.多态性B.多继承C.类的可复用D.信息隐藏 7.单元测试的测试用例主要根据( D )的结果来设计。 A.需求分析B.源程序C.概要设计D.详细设计 8.随着软硬件环境变化而修改软件的过程是( B )。 A.校正性维护B.适应性维护 C.完善性维护D.预防性维护 9.在白盒测试技术测试用例的设计中,( A )是最弱的覆盖标准。 A.语句覆盖B.路径覆盖 C.条件组合覆盖D.判定覆盖 10.结构化程序设计的一种基本方法是( C )。 A.筛选法B.迭代法 C.逐步求精法D.递归法11.不适合作为科学工程计算的程序设计语言是( D )。 A.Pascal B.C C.Fortran D.Prolog 12.只有单重继承的类层次结构是( C )层次结构。 A.网状型B.星型 C.树型D.环型 13.面向对象的开发方法中,( C )将是面向对象技术领域内占主导地位的标准建模语言。 A.Booch方法B.Coad方法C.UML语言D.OMT方法 14.瀑布模型本质上是一种( A )。 A.线性顺序模型B.顺序迭代模型 C.线性迭代模型D.及早见产品模型 15.软件维护产生的副作用,是指( C )。 A.开发时的错误B.隐含的错误 C.因修改软件而造成的错误D.运行时误操作 16.软件详细设计的主要任务是确定每个模块的( A )。 A.算法和使用的数据结构B.外部接口 C.功能D.编程 17.软件结构图的形态特征能反映程序重用率的是( C )。 A.深度B.宽度C.扇入D.扇出 18.为了提高模块的独立性,模块内部最好是( C )。 A.逻辑内聚B.时间内聚 C.功能内聚D.通信内聚 19.软件结构图中,模块框之间若有直线连接,表示它们之间存在( A )。 A.调用关系B.组成关系 C.链接关系D.顺序执行关系 20.“软件危机”是指( C )。 A.计算机病毒的出现 B.利用计算机进行经济犯罪活动 C.软件开发和维护中出现的一系列问题 D.人们过分迷恋计算机系统 21.具有风险分析的软件生命周期模型是( C )。 A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型 22.数据流图(DFD)中的每个数据处理至少需要( D )。 A.一个输入数据流 B.一个输出数据流 C.一个输入或者输出数据流 D.一个输入数据流和一个输出流

软件工程 期末复习笔记

软件工程期末复习笔记 胡丹 一.基本概念 1.什么是软件工程? 答:见作业 2.什么是参与者,角色? 答:所有参与到软件项目中的人员称为参与者。把项目或系统的一组职责称为角色。一个角色与一组任务联系在一起,且被派给一个参与者。一个参与者能充当多个角色。 3.系统和模型。系统指内部关联部分的集合。模型指系统的任何抽象。 4.软件工程开发活动:开发活动通过构造和验证应用域模型或系统模型处理复杂性问题,开发活动包括:需求获取、分析、系统设计、对象设计、实现、测试。 二.基本概念(2) 1.系统开发的主要内容集中在系统的3个不同模型上: 功能模型,在MUL中,使用用例图表示功能模型,以从用户观点描述系统功能。 对象模型,在MUL中,使用类图表示对象模型,使用对象、属性、关联和操作来描述系统的结构。 动态模型,在UML中,使用交互图、状态图和活动图表示动态模型,以描述系统的内部行为。 2.用例模型(功能模型) 2.1用例模型=用例文档+用例图 2.2用例间的关系:用例之间的关系关联(association )、包含(include)、扩展(extend)和泛化(generalization)这几种关系。 关系关联(association ):通信1.表示参与者用例之间进行通信。 2.不同的参与者可以访问相同的用例。 包含(include):把它所包含的用例行为作为自身行为的一部分。 扩展(extend):扩展用例被定义为基础用例的增量扩展。 基础用例提供扩展点以添加新的行为。 扩展用例提供插入片段以插入到基础用例的扩展点上泛化(generalization):继承 2.3 用例文档包括的内容:1.用例名。2.范围。 3.级别。 4.主要参与者。 5.涉众及其关注点。 6.前臵条件 7.后臵条件 8.主事件流 9.备用事件流。 3.类图(对象模型) 3.1类是面向对象系统组织结构的核心。对一组具有相同属性、操作、关系和语义的对象的抽象。包括名称部分(Name)、属性部分(Attribute)和操作部分(Operation)。

北方工业大学软件工程期末复习题(含答案)

北方工业大学 《软件工程》课程期末复习题(答案) A 卷 2014年春季学期 开课学院:信息工程学院 考试方式:闭卷 考试时间:120 分钟 班级 姓名 学号 一.简要回答下列各问题(共40分,每个小题5分) (1) 阐述软件工程的定义。 答: ● 是指导计算机软件开发和维护的一门工程学科; ● 采用工程的概念、原理、技术和方法来开发和维护软件; ● 把证明正确的管理技术和最好技术综合运用到软件开发中; ● 研究经济地开发出高质量的软件方法和技术; ● 研究有效维护软件的方法和技术。 (2) 简述软件危机的原因。 答: ● 缺乏软件开发的经验和有关软件开发数据的积累,使得开发计划很难制定。 ● 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误 。 ● 软件开发过程不规范。如,没有真正了解用户的需求就开始编程序。 ● 随着软件规模的增大,其复杂性往往会呈指数级升高。需要很多人分工协作, 不仅涉及技术问题,更重要的是必须有科学严格的管理。 ● 缺少有效的软件评测手段,提交用户的软件质量不能完全保证。 订 线 装

(3) 画出软件生存周期的瀑布模型的示意图,并简单评述其优缺点。 (4) 画出软件生存周期的增量模型的示意图,并简述其优点。 优点: ●可强迫开发人员采用规范化的方法。 ●严格地规定了每个阶段必须提交的文档。 ●要求每个阶段交出的所有产品都必须是经过验证 的。 缺点 ●由于瀑布模型几乎完全依赖于书面的规格说明,很 可能导致最终开发出的软件产品不能真正满足用户 的需要。如果需求规格说明与用户需求之间有差异, 就会发生这种情况。 ●瀑布模型只适用于项目开始时需求已确定的情况。 1-2 瀑布模型示意图 ●能在较短时间内向用户提交可完成一些有用的工作产 品,即从第1个构件交付之日起,用户就能做一些有用 的工作。 ●逐步增加产品的功能可以使用户有较充裕的时间学习和 适应新产品,从而减少一个全新的软件可能给用户组织 带来的冲击。 ●项目失败的风险较低,虽然在某些增量构件中可能遇到 一些问题,但其他增量构件将能够成功地交付给客户。 ●优先级最高的服务首先交付,然后再将其他增量构件逐 次集成进来。因此,最重要的系统服务将接受最多的测 试。

软件工程期末考试参考试题

软件工程期末考试参考试题 一、填空题 1、软件生存周期一般可分为问题定义、可行性研究、需求分析、设计编码、测试、运 行与维护阶段。 2、按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件。 3、可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择。 4、用户界面的可使用性是用户界面设计最重要的也是最基本的目标。 5、常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的结构化设计 方(SD),以数据结构为基础构造模块的Jackson方法,以对象、类、继承和通信为基础的面向对象设计方法(OOD)。 6、数据流图和数据字典共同构成系统的逻辑模型。 7、软件测试的方法有分析方法和非分析方法(即黑盒法)。 8、单元测试一般以白盒测试为主,黑盒测试为辅。 9、成本估计方法主要有自底向上估计、自顶向下估计和算法模型估计三种类型。 10. 文档(document)—一种数据媒体和其上所记录的(数据)。 11 机器语言、汇编语言:依赖于机器,面向(机器) 12. 软件有效性(efficiency),指软件系统的时间和(空间)效率。 13. 软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。 14. 软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。 15. 为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。 16. 一个软件的深度是指其控制的(层数)。 17. 以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并 最终可运行的代码的过程叫(编码)过程。 18. 软件维护是软件生命周期的(最后)一个阶段 19. 软件工程由(方法)、工具和过程三部分组成,称软件工程的三要素。 20. 基于计算机系统的软件要素中的软部件由程序、数据和(文档)组成。 21. 数据流图就是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记号分 别表示数据流、转换、(数据源)以及外部实体。 22. 被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生 类子类。 23. 流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和(循环)三个基 本控制构件。 24. 机器语言和汇编语言,也称为(低级)语言。 25. 软件测试是执行程序发现并排除程序中潜伏的(错误)的过程。 26. 软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属性、适应环境变化等方面工作的(难易)程度。 27. 软件可理解性,指系统具有清晰的结构,能直接反映问题的(需求)。 28 在实体-关系图简称E-R图中,数据对象实体用长方形、关系用(菱形)、属性用椭 圆表示。 29. 建立数据流模型要遵循的原则包括:每个加工至少应有一个输入数据流以反映被处 理数据的来源和一个(输出)数据流来反映加工的结果 30. 从工程管理的角度软件设计可分为概要设计和(详细)设计两大步骤。

软件工程期末复习填空题

软件工程填空题 1、软件危机是指在计算机软件的_开发和维护_过程中所遇到的一系列严重问题。 2、软件危机包含下述两个方面的问题:一是 _如何开发软件,以满足对软件日益增长的需求;二是_如何维护数量不断膨胀的已有软件_。 3、软件不同于硬件,它是计算机系统中的_逻辑部件_而不是物理部件。 4、一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把这个漫长的时期称为__生命周期__。 5、软件配置主要包括 __程序、文档_和_数据_ 等成分。 6、软件工程学的一个重要目标就是提高软件的 _可维护性、减少 _软件维护_ 的代价。 7、软件工程是指导计算机软件 __软件开发_ 和 __维护_ 的一门工程学科。 8、软件工程包括 _技术_ 和 __管理__ 两方面的内容,是技术与管理紧密结合所形成的工程学科。 9、通常把在软件生命周期全过程中使用的一整套技术方法的集合称为 _方法学_ ,也称为范型。 10、软件工程方法学包含_方法、工具和_过程_ 三个要素。 11、目前使用最广泛的软件工程方法学,分别是 _传统方法学和面向对象方法学 __ 。 12、概括地说,软件生命周期由 _软件定义_ 、 __软件开发_ 和 __运行维护(软件维护)__ 3个时期组成,每个时期又进一步划分为若干个阶段。 13、软件定义时期通常进一步划分为3个阶段,即 _问题定义__ 、 __可行性研究__ 和需求分析。、 14、螺旋模型将 _瀑布、_ 模型和 __快速原型_ 模型结合起来,加入了两种模型均忽略了的风险分析,弥补了这两种模型的不足。 15、瀑布模型 _不能_ 适应需求可变的软件开发,只有到 _开发结束_ 才能见到整个软件系统。 16、可行性研究阶段当从系统逻辑模型出发,探索若干种可供选择的主要解法,对每种解法都应该从 __技术可行性、经济可行性_和 _操作可行性__ 这三个方面研究每种解法的可行性。

天津科技大学软件工程期末考试试题(样卷)

天津科技大学软件工程期末考试试题 (样卷) 一、单项选择题 1.程序设计属于软件开发过程( C )阶段。 A.设计B.编程 C.实现D.编码 2. 产生软件危机的原因主要与两个方面的问题有关:( C ) A.软件在计算机中很难识别,存在磁盘中也看不到。 B.软件设计对人的智商要求很高,也要求很高的资金投入。 C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和 维护过程中用的方法不正确。 D.软件很难理解,硬件也很复杂。 3.结构设计是一种应用最广泛的系统设计方法,是以( A )为基础、自顶向下、逐步求精和模块化的过程。 A.数据流B.数据流图 C.数据库D.数据结构 4. 下列关于瀑布模型的描述正确的是( C )。 A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。 B. 瀑布模型具由于良好的灵活性。 C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。 D. 利用瀑布模型,如果发现问题则修改的代价很低。 5.在软件结构化设计中,好的软件结构设计应该力求做到( B )。

A.顶层扇出较少,中间层扇出较高,底层模块低扇入 B.顶层扇出较高,中间层扇出较少,底层模块高扇入 C.顶层扇入较少,中间层扇出较高,底层模块高扇入 D.顶层扇入较少,中间层扇入较高,底层模块低扇入 6. 需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是( A ) 需求。 A.功能B.性能 C.数据D.环境 7.软件结构图的形态特征能反映程序重用率的是( C )。 A.深度B.宽度 C.扇入D.扇出 8. 在数据流图中,○(椭圆)代表( C )。 A.源点B.终点 C.加工D.模块 9.为了提高模块的独立性,模块内部最好是( C )。 A.逻辑内聚B.时间内聚 C.功能内聚D.通信内聚 10.软件需求分析的主要任务是准确地定义出要开发的软件系统是( C )。A.如何做B.怎么做 C.做什么D.对谁做 11.软件的( A )设计又称为总体结构设计,其主要任务是建立软件系统的总体结构。 A.概要B.抽象 C.逻辑D.规划

软件工程期末复习知识点整理

复习整理 一、绪论 1.软件的定义 软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档) 2.软件工程的定义 ●是指导计算机软件开发和维护的一门工程学科; ●采用工程化的原理及方法对软件进行计划、开发和维护; ●把证明正确的管理技术和最好技术综合运用到软件开发中; ●研究经济地开发出高质量的软件方法和技术; ●研究有效维护软件的方法和技术。 3.软件危机的概念,及出现的原因 软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。 产生原因: ⑴软件规模越来越大,结构越来越复杂 ⑵软件开发管理困难而复杂。 ⑶软件开发费用不断增加。 ⑷软件开发技术落后。 ⑸生产方式落后,仍采用手工方式。

⑹开发工具落后,生产率提高缓慢。 4.三种编程范型的特点 (1) 过程式编程范型:把程序理解为一组被动的数据和一组能 动的过程所构成;程序=数据结构+算法;着眼于程序的过程和基本控制结构,粒度最小 (2) 面向对象编程范型:数据及其操作被封装在对象中;程序 =对象+消息;着眼于程序中的对象,粒度比较大 (3) 基于构件技术的编程范型:构件是通用的、可复用的对象 类;程序=构件+架构;眼于适合整个领域的类对象,粒度最大 二、软件生存周期及软件过程 1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么, 有哪几个主要活动 ●定义:一个软件从开始立项起,到废弃不用止,统称为软件的 生存周期 ●目的:软件生存周期划分为计划、开发和运行3个时期;把整 个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的 任务,就能够化简每一步的工作内容,使因为软件规模而增长 而大大增加了软件复杂性变得较易控制和管理。 ●主要活动:需求分析、软件分析、软件设计、编码、软件测试、 运行维护(P19) 2、软件生命周期划分为哪几个阶段

辽师软件工程期末复习题

说明: 以下试题虽然经过多次整理,但由于时间有限,存在错误或不足之处在所难免。同学们在阅读和使用过程中如发现问题,请你在课程评价的“建议”中指出,具体方法是: 写明大小题号:问题所在;正确内容。 在此谢谢你提供的方便和指正。 一、概念题 1、软工程:是1)将系统性的、规范化的、可定量的方法应用于软件的开发、 运行和维护,即将工程化应用到软件上;2)对1)中所述方法的研究。 2、软件:是计算机程序、规程以及运行计算机系统可能需要的相关文档和数据。 3、软件危机:是指在计算机软件的开发和维护过程中遇到的一系列严重问题。 4、软件过程:是软件工程人员为了获得软件产品而在软件工具的支持下实施的 一系列软件工程活动。 5、基线:是已经通过了正式复审的规格说明或中间产品,它可以作为进一步开 发的基础,并且只有通过正式的变化控制过程才能改变。 6、软件配置项:是为配置管理而作为单独实体处理的一个工作产品或软件。 7、对象:是系统中用来描述客观事物的一个实体,它是构成系统给的一个基本 单位,有一组属性和对这组属性进行操作的一组服务组成。 8、软件过程模型:是描述软件过程的整体框架,它是软件过程的一种抽象表示。 9、类:是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提 供了统一的抽象描述,其内部包括属性和服务两个主要部分。 10、实体类:用于描述必须存储的信息及其相关行为,它是对系统核心信息的建 模,通常这些信息需要长久地保存。 11、版本:是确定在明确定义的时间点上某个配置项的状态。

12、耦合度:是表示两个子系统之间的关联程度。当一个子系统发生变化时对另 一个子系统的影响很小,则称它们是松散耦合的;反之,如果变化的影响很大时,则称它们是紧密耦合的。 13、软件需求:1)用户解决问题或达到目标所需要的条件或能力。2)系统或系 统部件要满足合同、标准、规范或其他正式规定文档所需要具有的条件或能力。3)一种反映上面1)或2)所描述的条件或能力的文档说明。 14、软件实现:是软件产品由概念到实体的一个关键过程,它将详细设计的结果 翻译成用某种程序设计语言编写的并且最终可以运行的程序代码。 15、内聚性:是子系统内部的相关程度。当子系统中彼此相关的多个对象执行类 似的任务时,则认为该子系统是高内聚的;反之,当子系统内的多个对象彼此不相关时,则认为是低内聚的。 16、软件验证:是指试图证明在软件生存期各个阶段,软件产品或中间产品是否 能够满足客户需求,包括逻辑协调性、完备性和正确性。 17、软件测试:广义上讲,测试是指软件产品生存周期内所有的检查、评审和确 认活动。狭义上讲,测试是对软件产品质量的检查和评价,它一方面检查软件产品中存在的质量问题,同时对产品质量进行客观的评价。 18、软件再工程:是以系统理解为基础,结合逆向工程、重构和正向工程等方法, 将现有系统重新构造成为新的形式。 19、软件确认:是一系列的活动和过程,其目的是保证软件产品能够符合其描述 要求。 20、软件维护:是指在软件运行或维护阶段对软件产品所进行的修改,做这些修 改时可能改正软件中的错误,也可能是增加新的功能以适应新的需求,但是

软件工程期末考试总复习题与答案

)))))))) 精品文档考试教学资料施工组织设计方案 复习题 填空题 1.在信息处理和计算机领域内,一般认为软件是_程序____、_文档____ 和_数据____ 。 2.数据流图的基本组成部分有_数据的源点与终点____、数据 流_____、加工_____、数据文件_____。 3.数据流图和数据字典共同构成了系统的_逻辑____模型,是 需求规格说明书的主要组成部分。 4.划分模块时尽量做到__高内聚、低耦合______,保持模块的 独立性,尽量使用公共模块。 5.类的实例化是_对象_______。 6.人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可 7.靠性的两个指标是_成功地运行的概率_______和_平均故障 时间_______。

8.将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来, 9.将得到软件的总开发量。这种成本估算方法称为_自底向上 _______。 10.如果一个模块被n 个模块调用,其中直接的上级模块的个数是m 个(m<=n )那么该模块的扇入数是____N_______ 个。 11.结构化设计以__数据流图_________ 为基础,按一定的步骤映射成软件结构。 12.软件的风险分析可包括风险识别、风险预测和风险驾驭(或风险管理)等3项活动。 )))))). )))))))) 13.软件著作权登记的3种主要类型:(1)著作权登记;(2)著 作权延续登记;(3)权利转移备案登记。 14.软件工程管理的主要内容有:项目经费管理,软件质量管理, 项目进度管理和人员管理。 15.面向对象分析的目的是对客观世界的系统进行___建模 _______________ 。 16.软件维护工作的生产性活动包括分析评价、修改设计和 ____编写程序代码_______ 等。

软件工程期末复习题参考答案

软件工程期末复习题 选择题 1.软件设计中划分模块的一个准则是(C)。 A低内聚低耦合 B低内聚高耦合 C高内聚低耦合 D.高内聚高耦合 2.(A)是用户和设计交换最频繁的方法。 A、原型化方法 B、瀑布模型法 C、螺旋模型方法 D、构件组装模型 3.试判断下列叙述中,哪个些是正确的(C)。 a、软件系统中所有的信息流都可以认为是事务流 b、软件系统中所有的信息流都可以认为是变换流 c、事务分析和变换分析的设计步骤是基本相似的 A、a B、b C、c D、b和c 4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C) A、硬件环境 B、软件开发的环境 C、软件开发工具和软件开发的环境 D、开发人员的素质 5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言(D) A、PASCAL B、VISUAL BASIC C、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、外部实体

软件工程期末复习重点

1、什么是软件工程 在《计算机科学技术百科全书》中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。 2、软件生存周期分哪几个阶段分别简述各个阶段的任务。 答:软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。 A 计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机 系统元素之间的关系,进行成本估算,做出进度安排,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择。 B 需求分析主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界 面等要求,生成软件需求规约。 C 软件设计只要解决待开发软件“怎么做”的问题。软件设计通常可分为系统设计和详细 设计。系统设计的任务是设计软件系统的体系结构,包括软件系统的组成成分、各成分的功能和接口、成分间的连接和通信,同时设计全局数据结构。详细设计的任务是设计各个组成成分的实现细节,包括局部数据结构和算法等。 D 编码阶段的任务是用某种程序设计语言,将设计的结果转换为可执行的程序代码。 E测试阶段的任务是发现并纠正软件中的错误和缺陷。测试主要包括单元测试、集成测试、确认测试和系统测试。 F软件完成各种测试后就可交付使用,在软件运行期间,需对投入运行的软件进行维护,即可发现了软件中潜藏的错误或需要增加新的功能或使软件适应外界环境的变化等情况出现时,对软件进行修改。 3、简述各类软件过程模型的特点。 答:典型的软件过程模型有:瀑布模型、演化模型(增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。 A瀑布模型中,上一阶段的活动完成并经过评审后才能开始下一阶段的活动,其特征是: 接受上一阶段活动的结果作为本阶段活动的输入; 依据上一阶段活动的结果实施本阶段应完成的活动; 对本阶段的活动进行评审; 将本阶段活动的结果作为输出。 B 增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软件 的一个可发布的增量版本,后一个版本是对前一个版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品。 C 原型方法从软件工程师与客户的交流开始,其目的是定义软件的总体目标,标识需求。然 后快速制定原型开发的计划,确定原型的目标和范围,采用快速设计的方式对其建模,并构建模型。被开发的原型应交付给客户使用,并收集客户的反馈意见,这些反馈意见可在下一

河北工业大学软件工程期末复习

软件工程期末复习总结 第一讲概述(选择U填空U简答) 1.1 软件工程的研究内容 软件工程要考虑专业软件开发所需要的理论、方法和工具----工程技术问题 软件工程要考虑如何有效的在软件开发中利用有限的成本资源----工程管理的问题 1.2 什么是软件? 软件包括:---软件的内涵 ①能够提供客户所需功能与性能的计算机程序; ②使程序能够适当的操作信息的数据结构; ③用以描述程序开发过程及使用的文档。 软件产品可以为一个特定的用户设计开发,也可以为某一类通用的市场设计开发。 软件产品可以分成: 一个新的软件并不一定是全新开发,可以由现有软件或可复用软件成分配置形成。 1.3 什么是软件工程? 软件工程是涉及软件生产各个方面的一门工程学科 软件工程涉及软件生命周期的各个方面,从软件需求的确定到软件退役。 软件工程:(1)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件;(2)研究(1)中的方法. ——IEEE[IEE93] 1.4 什么是成功的软件项目 一个成功软件项目的三个要素包括: 按时交付不超预算满足用户要求。 1.5 软件过程与软件生命周期的相关概念 软件过程是指开发或制作软件产品的一系列活动及其成果. 所有的软件过程中都包括四个基本活动:(填空) 1. 描述( Specification)- 系统应该提供的功能及其开发约束; 2. 开发( Development)- 软件产品的生产过程; 3. 有效性验证(Validation )- 检验软件产品是否满足了客户的需要; 4. 进化( Evolution )- 按照用户的变更要求不断的改进软件。 软件生命周期是软件过程的另一种形象描述,通常包括需求定义、分析与描述、软件设计、实现、测试、维护与退役等活动。 1.6什么是优良软件的属性? P8 (填空U选择) 优良的软件应能交付相应的功能与性能,而且应具有良好的可维护性、可依赖性、有效性和可用性:(选择题,考法内涵匹配) 可维护性(Maintainability) Software must evolve to meet changing needs; 可依赖性(Dependability) Software must be trustworthy;

软件工程期末考试复习题及答案

(4分) 变换型结构的数据流呈() A. 线性形状 B. 辐射状 C. 椭圆形 D. 阶梯形 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..2. (4分) 可行性研究阶段使用的图形工具是() A. DFD图 B. N-S图 C. PAD图 D. Warnier图 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..3. (4分) 软件的开发模式有() A. 面向过程模式、面向对象模式、混合模式 B. 变换模式、渐增模式、瀑布模式 C. 自顶向下模式、自底向上模式、关系模式 D. 分步模式、渐增模式、非渐增模式 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 B .解析..4. (4分) 模块的初始化工作和模块处理意外故障均属于() A. 时间内聚 B. 顺序内聚 C. 功能内聚 D. 逻辑内聚 得分: 0 知识点: 软件工程作业题,软件工程展开解析 .答案 A .解析..5. (4分) HIPO的含义是()

A. 层次、输入、处理、输出 B. 高速、信息、程序、目标 C. 顶层的IPO图 D. 关于输入、处理、输出的层次 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..6. (4分) 数据字典和数据流图共同构成系统的() A. 物理模型 B. 结构模型 C. 设计说明书 D. 逻辑模型 得分: 0 知识点: 软件工程作业题,软件工程展开解析 .答案D .解析..7. (4分) 好的软件结构它的外观形状一般呈() A. 线性 B. 扇形 C. 椭圆形 D. 层次型 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 C .解析..8. (4分) CMU/SEI推出的()将软件组织的过程能力分为五个成熟度级别,每一个级别定义了一组过程能力目标,并描述了要达到这些目标应该具备的实践活动。 A. CMM B. PSP C. ISO-9000 D. RUP 得分: 0 知识点: 软件工程,软件工程作业题展开解析 .答案 A .解析..9. (4分) 若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用()

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

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.软件质量是在开发过程中逐渐构建起来的。

软件工程期末考试题及答案++精华版!!

《软件工程》期末考试样题 一、填空题 1.软件开发模型有(瀑布模型)(螺旋模型)第四代技术模型(原型模型)构件组装模型、混合模型。 2.可行性研究一般可以从(经济)可行性、(技术)可行性、运行可行性、法律可行性和开发可行性等方面来研究。 3.现在向银行存款,年利率为i,若希望在n年后从银行得到F元,现在应该存入的钱数为(F/(1+i)n)。 4.数据流图的基本符号包括(数据输入的源点和数据输出的汇点)、(加工)、(数据流)、(数据存储文件)。 5.Jackson图除了可以表达程序结构外,还可以表达(数据结构),它首先要分析(数据结构),并用适当的工具来描述。 6.详细设计的工具有图形工具)、表格工具和(语言工具)。 7.IPO图由(输入)、处理和(输出)三个框组成。这个图的特点是能够直观的显示三者之间的关系。 8.面向对象技术是一整套关于如何看待(软件系统)和(现实世界)的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。面向对象方法是一种运用(对象)、(类)、(继承)、(封装)、聚集、消息传送、多态性等概念来构造系统的软件开发方法。 二、单项选择题 1.下列( A )属于系统软件。 A.WINDOWS 2000 B.Word C.Flash D.3D MAX 2.下列哪个图是N-S图的构件( C )。 A. 3.对于螺旋模型,下列( D )不是利用笛卡尔坐标表达的活动。 A. 制定计划 B. 实施工程 C. 风险分析 D. 程序编码 三、多项选择题 1.软件危机可以表现为(ABXD )。 A.产品不符合用户的需要 B.软件产品的质量差 C.软件的可维护性差 D.软件的价格昂贵 2.Jackson图中一般可能包括(ABCD )。 A.表头 B.表体 C.表名 D.字段名 3.关于内容耦合的描述正确的是( AD )。 A、内容耦合是最高程度的耦合 B、应该尽量使用内容耦合 C、高级语言一般设计成允许内容耦合的形式 D、如果一个模块有多个入口,可能发生内容耦合 4.下列属于不标准的书写格式( BCD )。 A、书写时适当使用空格分隔 B、一行写入多条语句 C、嵌套结构不使用分层缩进的写法 D、程序中不加注释 四、判断题(正确的在括号内打上“√”,错误的打上“×”) 1.软件生存周期是从软件开始开发到开发结束的整个时 期。() 2.系统流程图是一个典型的描述逻辑系统的传统工具。() 3.数据流图和数据字典共同构成系统的逻辑模型。 ( 1) 4.扇出是一个模块直接调用的模块数目,一般推荐的扇 出为3或4。( 1 ) 5.耦合用于衡量一个模块内部的各个元素彼此结合的紧 密程度。()

软件工程期末试卷复习资料

软件工程试题一 一.单项选择题 1. 以下不是软件危机的典型表现的是:( D ) 。 A. 对软件开发成本和进度的估计常常很不准确 B. 用户对“已完成的”软件系统不满意的现象经常发生 C. 软件产品的质量往往靠不住 D. 采用面向对象方法开发软件 3. 下列哪个不是软件工程方法学中的要素( C )。 A. 方法 B. 工具 C. 程序 D. 过程 4. 下列模块的独立性的耦合方式中,最好的是( C ) A.公共耦合 B. 控制耦合 C. 数据耦合 D. 内容耦合 5.概要设计中,开发人员要解决的最重要的问题是( D ) 。 A. 要让软件做什么 B. 要给该软件提供哪些信息 C. 要求软件工作效率怎样 D. 要让该软件模块具有何种结构 6. 为了提高模块的独立性,模块内部最好是( C ) 。 A. 逻辑内聚 B. 时间内聚 C. 功能内聚 D. 通信内聚 7. 程序的三种基本控制结构的共同特点是( C ) 。 A. 不能嵌套使用 B. 只能用来写简单程序 C. 只能一个入口和一个出口 D. 已经用硬件实现 8. 以下说法错误的是( ) 。 A A. 面向对象分析与面向对象设计的定义没有明显区别 B. 从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程 C. 在实际的软件开发过程中,面向对象分析与面向对象设计的界限是模糊的 D. 面向对象分析和面向对象设计活动是一个多次反复迭代的过程 9. 软件测试过程中的确认测试主要是为了发现( A ) 阶段的错误。 A. 需求分析 B. 概要设计 C. 详细设计 D. 编码 10. 在面向对象的高层设计体系结构中,( C ) 是用来描述用户一般使用软件习惯的部分 A. 人机交互界面 B. 问题论域 C. 系统交互界面 D. 数据管理 11. 为适应软硬件环境变化而修改软件的过程是( B ) 。 A. 校正性维护 B. 适应性维护 C. 完善性维护 D. 预防性维护 12. 在UML的各类图中,( A )图是描述软件功能的。 A 用例图 B 类图 C 活动图 D 顺序图 13.( D )不属于OO三要素。 A.对象 B. 继承 C.封装 D.多态 14.(C )在ATM机系统中,下列哪个不能在面向对象设计中被定义为类。C A 中央计算机 B 柜台事务 C 拨号 D 营业厅15.在黑盒测试中,作为相关黑盒测试有效补充的测试方法是( B ) 。 A. 等价类划分法 B. 边界值分析法 C. 错误推测法 D. 因果图法二.判断题(本大题共__15__题,每题___1___分,共___15_____分。 1.软件简单的说就是程序和相关的数据及文档。T

相关文档
相关文档 最新文档