您的当前位置:首页正文

软件工程期末练习题(应科)

2024-07-04 来源:个人技术集锦
软件工程期末练习题 选择题

软件详细设计主要采用的方法是( )

A.结构程序设计 B.模型设计 C.结构化设计 D.流程图设计 答:C

以下关于软件危机表现的描述,哪些是正确的( )

a.软件开发成本过高 b.软件开发与传统的产品生产存在本质差别 c.软件质量得不到保证 d.软件开发效率低

A. a.b 和c B. a.b和 d C. a.c和d D. b.c和d 答:C

软件开发的结构化生命周期方法将软件生命周期划分成( )

A.计划阶段.开发阶段.运行阶段 B.计划阶段.编程阶段.测试阶段 C.总体设计.详细设计.编程调试 D.需求分析.功能定义.系统设计 答:A

从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大( )。

A.详细设计阶段 B.概要设计阶段 C.需求分析阶段 D.测试和运行阶段 答:C

在软件需求分析和设计过程中,其分析与设计对象可归结成两个主要的对象,即数据和程序,按一般实施的原则,对二者的处理应该( ) A.先数据后程序 B.与顺序无关 C.先程序后数据 D.可同时进行 答:A

软件工程的三要素是( )

A.软件工程的目标.原则和过程 B.软件工程的方法.原则和管理 C.软件工程的目标.工具和过程 D.软件工程的方法.工具和过程 答:D

在软件的需求分析中,开发人员要从用户那里解决的最重要的问题是( ) A.要让软件做什么 B.要给该软件提供哪些信息 C.要求软件工作效率怎样 D.要让软件具有何种结构 答:A

数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,哪些是常采用的( )

a.自顶向下 b.自底向上 c.分层绘制 d.逐步求精 A.全是 B. a,c和d C. b,c和d D. a和c 答:B

第 1 页 共 9 页

在结构化分析方法中,用以表达系统内数据的运动情况的工具有( ) A.数据流图 B.数据字典 C.结构化语言 D.判定表 答:A

面向数据流的设计方法把( )映射成软件结构。 A.数据流 B.模块化 C.控制结构 D.信息流 答:C

在面向数据流的软件设计方法中,一般将信息流分为( ) A. 变换流和事务流 B. 变换流和控制流 C. 事务流和控制流 D. 数据流和控制流 答:A

在下面的叙述中哪一个不是软件需求分析的任务( )

A. 问题分解 B. 可靠性与安全性要求 C. 结构化程序设计 D. 确定逻辑模型 答:C

软件需求说明书是软件需求分析阶段的重要文件,下述哪个或哪些是其应包含的内容( )

a.数据描述 b.功能描述 c.模块描述 d.性能描述 A. b B. c和d C. a,b和c D. a,b和d 答:D

模块的独立性是由内聚性和耦合性来度量的,其中内聚性是( ) A. 模块间的联系程度 B. 模块的功能强度 C. 信息隐蔽程度 D. 接口的复杂程度 答:B

详细设计常用的三种工具是( )

A.文档.表格.流程 B.图形.表格.语言 C.数据库.语言.图形 D.文档.图形.表格 答:B

试判断下列叙述中,哪 个(些)是正确的( ) a. 软件系统中所有的信息流都可以认为是事务流 b. 软件系统中所有的信息流都可以认为是变换流 c. 事务分析和变换分析的设计步骤是基本相似的 A.a B.b C.c D. b和c 答:C

( )是与程序开发.维护和使用有关的图文材料。 A.外设 B.数据 C.文档 D.图表。 答:C

第 2 页 共 9 页

软件危机通常是指计算机软件开发和维护过程中遇到的一系列严重问题,在这些问题中相对次要的因素是( )。

A.软件功能 B.文档质量 C.开发效率 D.软件性能。 答:B

原型开发方法是用户和软件开发人员之间进行的一种交互过程,适用于( )系统。 A.需求不确定的 B.需求确定的 C.管理信息 D.决策支持。 答:A

原型开发方法是一种( )模型开发过程。

A.自外向内 B.自顶向下 C.自内向外 D.自底向上。 答:A

软件工程方法是在实践中不断发展着的方法,而早期的软件工程方法主要是指( )。 A.原型化方法 B.结构化方法 C.面向对象方法 D.功能分解法。 答:B

需求分析的任务不应该包括( ) 。

A.问题分析 B.信息域分析 C.结构化程序设计分析 D.确定逻辑模型分析。

答:C

软件开发过程经过需求分析阶段,进入( )阶段以后,就开始着手解决“怎么做”的问题。

A.程序设计 B.界面设计 C.总体设计 D.问题定义。 答:C

( )是程序结构中各个模块之间相互关联的度量。 A.相关性 B.确定性 C.耦合 D.内聚。 答:C

衡量一个模块内部各处理元素之间的关系的是( )。 A.相关性 B.确定性 C.耦合 D.内聚。 答:D

程序设计的三种基本控制结构是( )。

A.过程.子程序.分程序 B.顺序.选择.循环 C.递归.堆栈.队列 D.调用.返回.转移

答:B

数据流图描述数据在软件中流动和被处理变化的过程,它是以图示的方法来表示( )。 A.软件模型 B.软件功能 C.软件结构 D.软件加工。 答:A 填空题

软件工程三要素:软件工程的__________、_____________和_____________。 答:方法,工具,过程

第 3 页 共 9 页

软件由两部分组成:一是机器可执行的__________________;二是机器不可执行的.与软件开发.运行、维护、使用和培训有关的________。

答:程序及有关数据,文档

程序是使用____________________描述的、适合于_______________处理的语句序列。 答:程序设计语言,计算机

软件定义可分为软件系统的_________________和_________________两个阶段。 答:可行性研究,需求分析

软件开发由_______________、________________、______________、________________、____________五个阶段组成。

答:可行性研究,需求分析,概要设计,详细设计,实现,组装测试,确认测试 需求分析活动可按照_____________、____________及需求评审三个子阶段逐步进行。 答:问题分析,需求描述

需求分析的初步需求获取技术有_____________________、______________________、建立软件开发方和用户方共同组成的联合小组。 答:个别访谈或小组会议,考察用户业务流程

需求分析的问题分析阶段的核心技术是_____________,______________及需求建模。 答:问题抽象,问题分解

数据流图就是用来刻画____________和____________的信息系统建模技术的。 答:数据流,转换

实体—关系图是描述系统所有数据对象的组成和__________,描述数据对象之间_______的图形语言。 答:属性,关系

面向对象方法学的5个核心概念:___________________________________。 答:对象、类、继承、聚集、消息

基于UML的软件开发过程包括4个阶段:__________、____________、_________和移交。

答:初启,细化,构造

软件设计在技术上可分为__________________、________________、_______________和界面设计四个活动。

答:总体结构设计,数据设计,过程设计

软件设计在工程上可分为________________和______________两个阶段。 答:概要设计,详细设计 简答题

DFD数据流图

答:用简单的图形记号分别表示数据流、转换、数据源以及外部实体,用来刻画数据流和转换的信息系统建模技术。

或:描述系统所有数据对象的组成和属性,描述数据对象之间关系的图形语言。

第 4 页 共 9 页

程序

答:使用程序设计语言描述的、适合于计算机处理的语句序列。程序 = 算法+数据结构。 DD数据字典

答:数据字典由数据条目组成,数据字典描述、组织和管理数据流图的数据流、加工、数据源及外部实体。

用例图

答:从外部用户的角度描述系统的功能,并指出功能的执行者。

模块化

答:把软件划分为可独立命名和编址的部件,每个部件称为一个模块,当把所有模块组装到一起时则获得满足问题需要的一个解。 流程图

答:也称为程序框图,是最常用的一种表示法,它能直观地描述过程的控制流程,最便于初学者掌握。流程图中方框表示处理步,菱形框表示判断步,有向线段表示控制流。顺序、分枝、循环三个基本控制构件是流程图表达的形式。 软件

答:软件是能够完成预定功能和性能,并对相应数据进行加工的程序和描述程序及其操作的文档。软件 = 程序+数据+文档。 DFD图较之其他图的优点是什么?

答:通过系统的数据流以及每个过程的可用特定数据都清楚可见。 软件工程的原则是什么?

答:抽象、信息隐藏、模块化、局部化、一致性、完整性和可验证性。 衡量需求规格说明书好坏的标准是什么?

答:正确性、无歧义性、完全性、可验证性、一致性、可理解性、可修改性和可追踪性。 对象和属性之间的区别是什么?

答:对象是一个实体,而属性是对象的一个特性。例如,人应该是一个对象,而人的身高应该是属性。有时,这两个概念很难区分。在人/身高的例子中,人可以使基类,可能是高个子人、矮个子人和中等身材人等派生类。 将下列各项分为类或类的实例: 我的汽车 人员

Fred 交通工具 教授 CIS部门 流程图

答:(也称为程序框图)是最常用的一种表示法,它能直观地描述过程的控制流程,最便于初 学者掌握。流程图中方框表示处理步,菱形框表示判断步,有向线段表示控制流。顺序、分

第 5 页 共 9 页

实例 类 实例 类 类 实例

枝、循环 三个基本控制构件用流程图表达的形式。 列出UML语言机制定义的所有视图

答:用例图、类图、对象图、包图、顺序图、合作图、状态图、活动图、构件图和部署图 试叙述软件工程目标是什么?

答:软件工程的目标:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可追踪性、可移植性、可互操作性并满足用户需求的软件产品。

多视点分析指哪些观点?

答:系统观点、用户观点、信息观点、功能观点、行为观点等。 简述需求分析的主要任务。

答:确定待开发软件的功能需求、性能需求和运行环境约束,编制软件需求规格说明和初步的用户手册,实现用户需求的一致化、精确化和完全化。 信息隐藏的概念

答:模块应该设计得使其所含信息(过程和数据)对于那些不需要这些信息的模块不可访问;每个模块只完成一个相对独立的特定功能;模块之间仅仅交换那些为完成系统功能必须交换的信息,即模块应该独立。

简述基于UML的面向对象的软件设计步骤

答:针对分析模型中的用例设计实现方案,并以UML交互图表示;设计技术支撑设施,并将它们与用例实现方案相融合;设计用户界面;精化设计模型,得出完整、详细的包图和类图,并视情况给出必要的状态图和活动图。 E-R实体-关系图

答:是表示数据对象及其关系的图形语言机制,是数据模型的基础,它描述数据对象、属性及其关系。

简述用例实现方案的设计步骤。 答:

(1) 提取边界类、实体类和控制类; (2) 构造交互图;

(3) 根据交互图精化类图的内容。 四.问答题

试述软件危机的表现。

答:

硬件发展超过软件,硬件潜能没有充分发挥; 软件产业的发展长期滞后,与硬件发展不协调; 软件开发成本过高; 软件质量得不到保证; 软件开发效率低;

难以控制开发进度,工作量估计困难。

第 6 页 共 9 页

试述软件危机的原因。 答:

用户对软件需求的描述不精确,可能有遗漏、有二义性、有错误,甚至在软件开发过程中,用户还提出修改软件功能、界面、支撑环境等方面的要求。 软件开发人员对用户需求的理解与用户的本来愿望又差异。

大型软件项目需要组织一定的人力共同完成,多数管理人员缺乏大型软件系统的经验,而多数容软件开发人员又缺乏管理方面的经验。各类人员的信息交流不及时、不准确,有时还会产生误解。

软件项目开发人员不能有效地、独立自主地处理大型软件的全部关系和各个分支,因此容易产生疏漏和错误。

缺乏有力的方法学和工具方面的支持,过分地依靠程序设计人员在软件开发过程中的技巧和创造性,加剧软件产品的个性化。

软件产品的特殊性和人类智力的局限性导致人们无力处理“复杂问题”。 试说明如何创建数据流模型 答:

(1) 用一个园盘描述第0层软件/系统的DFD图 (2) 标记系统的输入/输出

(3) 精化 描述第I层的数据对象.存储和加工 (4) 标记箭头和园盘

(5) 对第I层信息流进行一致性维护 (6) 对加工园盘逐个进行精化

(7) 当第n层DFD图园盘己精化为容易实现的简单操作时,创建数据流模型的过程仃止。 试叙述创建实体-关系图的过程 答:

(1) 客户列出业务过程中的事物,它对应一组输入/输出数据对象,及生产/消费信息的外部实体。

(2) 系统分析员和客户逐个定义对象及对象间的连接。 (3) 根据对象间的连接标识对象-关系偶。 (4) 确定对象-关系偶的基数和形态。

(5) 重复(2)-(4)直至创建所有的对象-关系偶。 (6) 描述实体属性。 (7) 复审实体-关系图。

(8) 重复(1)-(7)完成数据建模。 试述基于UML的需求分析分步骤。 答:

(1)利用用例及用例图表示需求。从业务需求描述出发获取执行者和场景;对场景进行汇总、分类、抽象,形成用例;确定执行者与用例、用例与用例图之间的关系,生成用例

第 7 页 共 9 页

图。

(2)利用包图及类图表示目标软件系统的总体框架结构。根据领域知识、业务需求和工作经验,设计目标软件系统的顶层架构;从业务需求描述中提取“关键概念”,形成领域概念模型;从概念模型和用例出发,研究系统中主要的类之间的关系,生成类图。 基于数据流图进行软件设计的过程: 答:

(1)确定信息流的类型;

(2)划定流界;

(3)将数据流图映射为程序结构; (4)提取层次控制结构;

(5)通过设计复审和启发式策略精化结构。 变换分析的步骤: 答:

复审基本系统模型;

复审和精化软件数据流图; 确定DFD为变换流还是事务流;

划定输入流和输出流边界,孤立变换中心;

执行“一级分解”导出具有三个层次的程序结构;

执行“二级分解” 把数据流图中每个处理框映射成程序结构中一个适当的模块,程序结构的模块名隐含模块功能,必须为每个模块写一个简要的处理说明,包括:①进出模块的信息(接口描述)②模块的局部信息③处理过程陈述,包括主要的判断点和任务④对有关限制和一些专门特性的简要说明(例如,文件I/0,独立于硬件的特性,特殊的实时要求等等);

采用启发式设计策略,精化所得程序结构雏形,改良软件质量。 事务分析的步骤 答:

复审基本系统模型;

复审并精化软件数据流图;

确定数据流图的特性;/前三步与变换分析法相同/

找出数条动作路径的公共源头,即为事务中心,确定由事务中心发出的每一动作路径的数据流特性;

把数据流图映射为事务处理型的程序结构;

分解并精化事务结构以及每条动作路径所对应的结构;

使用启发式设计策略,精化所得程序结构雏形,改良软件质量。 基于UML精化设计模型的过程。 答:

(1)以顶层架构图为基础,精化目标软件系统的体系结构。

第 8 页 共 9 页

(2)精化类之间的关系:继承关系、构成关系、聚合关系、关联关系、依赖关系、两个类的对象受同一执行者变化的影响。

(3)精化类的属性和操作。

(4)针对具有明显状态转换特征的类,设计状态图。 (5)针对比较复杂的类方法,设计活动图。

第 9 页 共 9 页

因篇幅问题不能全部显示,请点此查看更多更全内容