软件工程习题+答案.docx

上传人:b****2 文档编号:2827944 上传时间:2023-05-04 格式:DOCX 页数:39 大小:139.64KB
下载 相关 举报
软件工程习题+答案.docx_第1页
第1页 / 共39页
软件工程习题+答案.docx_第2页
第2页 / 共39页
软件工程习题+答案.docx_第3页
第3页 / 共39页
软件工程习题+答案.docx_第4页
第4页 / 共39页
软件工程习题+答案.docx_第5页
第5页 / 共39页
软件工程习题+答案.docx_第6页
第6页 / 共39页
软件工程习题+答案.docx_第7页
第7页 / 共39页
软件工程习题+答案.docx_第8页
第8页 / 共39页
软件工程习题+答案.docx_第9页
第9页 / 共39页
软件工程习题+答案.docx_第10页
第10页 / 共39页
软件工程习题+答案.docx_第11页
第11页 / 共39页
软件工程习题+答案.docx_第12页
第12页 / 共39页
软件工程习题+答案.docx_第13页
第13页 / 共39页
软件工程习题+答案.docx_第14页
第14页 / 共39页
软件工程习题+答案.docx_第15页
第15页 / 共39页
软件工程习题+答案.docx_第16页
第16页 / 共39页
软件工程习题+答案.docx_第17页
第17页 / 共39页
软件工程习题+答案.docx_第18页
第18页 / 共39页
软件工程习题+答案.docx_第19页
第19页 / 共39页
软件工程习题+答案.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件工程习题+答案.docx

《软件工程习题+答案.docx》由会员分享,可在线阅读,更多相关《软件工程习题+答案.docx(39页珍藏版)》请在冰点文库上搜索。

软件工程习题+答案.docx

软件工程习题+答案

第1章习题答案

一、判断题

题号

1

2

3

4

答案

Y

Y

Y

Y

二、填空题

题号

A

B

C

D

1

方法

工具

过程

2

程序

数据

文档

3

程序开发环境

需求分析

概要设计

详细设计

4

汇编语言

高级语言

5

汇编语言

高级语言

6

结构式

模块化

7

需求定义

设计

使用和维护

三、简答题

1.

1软件具有抽象性。

2软件与硬件的生产方式不同。

3软件与硬件的维护方式不同。

4软件具有复杂的逻辑性。

5软件的成本较高。

6软件的使用和社会因素有关。

2.

①用户需求不明确。

②缺乏正确的理论指导。

③软件开发规模越来越大。

④软件开发复杂度越来越高。

3.

①软件开发进度难以预测。

②软件开发成本难以控制。

③用户对产品功能难以满足。

④软件产品质量无法保证。

⑤软件产品难以维护。

⑥软件缺少适当的文档资料。

4.

1抽象。

2信息隐蔽。

3模块化。

4局部化。

5确定性。

6一致性。

7完备性。

8可验证性。

第2章习题答案

一、判断题

题号

1

2

3

4

5

6

7

8

9

答案

N

Y

Y

N

N

N

N

Y

Y

二、填空题

题号

A

B

C

D

1

系统界面原型

运行用户界面原型

同意什么和不同意什么

自外向内

2

需求分析

概要设计

详细设计

三、简答题

1软件与任何一个事物一样,有它的孕育、诞生、成长、成熟、衰亡的生存过程。

这就是软件的生存周期。

2软件工程过程的基本过程活动有4步:

1软件规格说明(需求定义)。

规定软件的功能及其运行的限制;

2软件设计与开发(设计开发)。

产生满足规格说明的软件;

3软件确认(测试)。

确认软件能够完成客户提出的要求;

4软件演进(维护)。

为满足客户的变更要求,软件必须在使用的过程中演进。

四、综合题

1.软件生命周期主要分为6个阶段:

软件项目计划、软件需求分析和定义、软件设计、程序编码、软件测试,以及运行维护。

(1)软件项目计划:

在这一步要确定软件工作范围,进行软件风险分析,预计软件开发所需要的资源,建立成本与进度的估算。

根据有关成本与进度的限制分析项目的可行性。

(2)软件需求分析和定义:

在这一步详细定义分配给软件的系统元素。

可以用以下两种方式中的一种对需求进行分析和定义。

一种是正式的信息域分析,可用于建立信息流和信息结构的模型,然后逐渐扩充这些模型成为软件的规格说明。

另一种是软件原型化方法,即建立软件原型,并由用户进行评价,从而确定软件需求。

(3)软件设计:

软件的设计过程分两步走。

第一步进行概要设计,以结构设计和数据设计开始,建立程序的模块结构,定义接口并建立数据结构。

此外,要使用一些设计准则来判断软件的质量。

第二步做详细设计,考虑设计每一个模块部件的过程描述。

经过评审后,把每一个加细的过程性描述加到设计规格说明中去。

(4)程序编码:

在设计完成之后,用一种适当的程序设计语言或CASE工具生成源程序。

应当就风格及清晰性对代码进行评审,而且反过来应能直接追溯到详细设计描述。

(5)软件测试:

单元测试检查每一单独的模块部件的功能和性能。

组装测试提供了构造软件模块结构的手段,同时测试其功能和接口。

确认测试检查所有的需求是否都得到满足。

在每一个测试步骤之后,要进行调试,以诊断和纠正软件的故障。

(6)软件维护:

为改正错误,适应环境变化及功能增强而进行的一系列修改活动。

与软件维护相关联的那些任务依赖于所要实施的维护的类型。

2.瀑布模型规定了各项软件工程活动,包括:

制定软件项目计划,进行需求分析和定义,软件设计,程序编码,测试及运行维护。

并且规定了它们自上而下,相互衔接的固定次序,如同瀑布流水,逐级下落。

然而软件开发的实践表明,上述各项活动之间并非完全是自上而下,呈线性图式。

实际情况是,每项开发活动均应具有以下特征:

(1)从上一项活动接受本项活动的工作对象,做为输入;

(2)利用这一输入实施本项活动应完成的内容;

(3)给出本项活动的工作成果,做为输出传给下一项活动;

(4)对本项活动实施的工作进行评审。

若其工作得到确认,则继续进行下一项活动,否则返回前项,甚至更前项的活动进行返工。

第3章习题答案

一、判断题

题号

1

2

3

4

5

6

7

8

9

10

11

12

13

答案

N

Y

N

N

N

Y

Y

Y

Y

Y

Y

N

Y

二、选择题

题号

1

2

3

4

5

6

7

8

9

答案

C

D

A

C

C

C

A

B

D

三、填空题

题号

A

B

C

D

E

1

多对一

一对多

2

业务模型

功能模型

性能模型

接口模型

3

访谈

问卷调查

情景分析

构造原型

4

加工

数据的原点或终点

数据流

.数据存储文件

5

名称

别名或编号

分类

描述

何处使用

四、简答题

1

1经济可行性:

进行成本∕效益分析。

从经济角度判断系统开发是否“合算”。

2技术可行性:

进行技术风险评价。

从开发者的技术实力、以往工作基础、问题的复杂性等出发,判断系统开发在时间、费用等限制条件下成功的可能性。

3法律可行性:

确定系统开发可能导致的任何侵权、妨碍和责任。

4方案的选择:

评价系统或产品开发的几个可能的候选方案。

最后给出结论意见。

2

1用户需求具有动态性(不稳定性)。

2用户需求具有模糊性(不准确性)。

3对需求达成一致的艰难性。

4管理体制、机构设置处在变革中。

5软件书籍没有将需求分析讲清楚。

3.

1解决逻辑问题:

需求分析是对问题的识别和说明,要回答“做什么”,而不是“怎么做”。

2以运行环境为基础:

需求分析工作应以具体的运行环境为基础,实事求是。

3用户参与的原则:

需求分析工作是系统分析人员同用户不断交互的过程。

4构造高质量的需求规格说明:

需求规格说明是需求分析工作重要的完成标志。

4.

1画出目标系统的组织机构模型。

2画出目标系统业务操作流程图。

3画出目标系统的数据流图。

4列出目标系统的功能点列表,即功能模型。

5列出系统的性能点列表,即性能模型。

6列出目标系统的接口列表,即接口模型。

7确定目标系统的运行环境,即环境模型。

8目标系统的界面约定,即界面模型。

9分析与评估开发工期、费用、进度、风险等。

5数据流图可以用来抽象地表示系统或软件。

它从信息传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程,同时可以按自顶向下、逐步分解的方法表示内容不断增加的数据流和功能细节。

因此,数据流图既提供了功能建模的机制,也提供了信息流建模的机制,从而可以建立起系统或软件的功能模型。

6分析模型中包含了对数据对象、功能和控制的表示。

在每一种表示中,数据对象和控制项都扮演一定的角色。

为表示每个数据对象和控制项的特性,建立了数据词典。

数据词典精确地、严格地定义了每一个与系统相关的数据元素,并以字典式顺序将它们组织起来,使得用户和分析员对所有的输入、输出、存储成分和中间计算有共同的理解。

第4章习题答案

一、判断题

题号

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

答案

N

N

N

Y

Y

Y

Y

Y

Y

Y

N

Y

Y

Y

Y

Y

二、选择题

题号

1

2

3

4

5

6

7

8

答案

B

C

D

A

D

A

B

C

三、填空题

题号

A

B

C

D

1

SD方法

Jackson方法

OOD方法

2

耦合

内聚

3

一个

数据型

标准调用

4

DDL

DML

DCL

5

基本表

代码表

中间表

临时表

6

原子性

原始性

演绎性

稳定性

7

SA

SP

8

图示

语言

表格

9

PDL

10

防卫性

一致性

冗余性

11

客户层

应用层

数据层

12

高内聚

低耦合

作用范围

控制范围

四、简答题

1.

1功能:

描述该模块做什么?

2逻辑:

描述模块内部怎么做?

3状态:

模块使用时的环境和条件。

4接口:

指模块的输入与输出。

2.

1制定规范

2结构设计

3处理方式结构设计

4数据结构及数据库设计

5可靠性设计(质量设计)

6编写软件设计文档

7设计审查和复审

8详细设计

3.

1抽象:

用层次的方式构造和分析复杂系统。

2逐步求精:

帮助开发人员把精力集中在与当前开发阶段最相关的那些问题上。

3信息隐蔽:

如果一个模块内包含的信息(过程和数据)不允许外部的模块访问的话,其它模块不能对其访问。

4局部化:

把一些关系密切的软件元素物理地放得彼此靠近。

4.

1划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性。

模块划分的准则:

“将相关的各部分放在一起,无关的东西不要放在一起。

2模块的大小要适中。

3模块的接口要简单、清晰、含义明确,便于理解,易于实现、易于测试和维护。

4一个模块的作用范围应在其控制范围之内,且判定所在的模块,应与受其影响的模块在层次上尽量靠近。

5软件结构的深度、宽度、扇入、扇出应适当。

6力求设计单入口和单出口的模块,避免“病态连接”,以防止内容耦合。

7设计功能可预测模块的划分,应防止功能过分局限。

5.

1减少设计复杂性。

将大化小,使复杂问题简单化。

2结构独立。

将程序划分成多个相对独立的模块。

3模块功能单一化,可使软件设计获得最大的益处。

4易于进行软件修改。

5易于开发和维护。

6加强了代码的可重用性。

五、综合题

1.③、⑤、④、②、⑥、⑦、①

2.③、⑥、④、⑦、②、⑤、①

第5章习题答案

一、填空题

题号

A

B

C

D

1

对象

2

子类

操作

3

封装性

多态

4

对象模型

动态模型

功能模型

5

分析模型

设计模型

测试模型

6

视图

通用机制

二、简答题

1.“面向对象(ObjectOriented,OO)=对象(Object)+类(Classification)+继承(Inheritance)+通信(CommunicationwithMessages)”。

2.面向对象技术的基本特征主要是抽象性、封装性、继承性和多态性。

3.软件开发过程就是将软件系统所涉及到的应用领域和业务范围(现实世界)的问题空间和用于解决某些问题的软件系统的解空间之间的映射。

4.

(1)问题空间不能直接映射到解空间

(2)软件复用程度低

(3)分析不能直接过渡到设计

(4)软件可维护性差

(5)软件不满足用户需要

5.

(1)对软件开发过程所有阶段进行综合考虑。

(2)软件生存期各阶段所使用的方法、技术具有高度的连续性,用符合人类认识世界的思维方式来分析、解决问题。

(3)增强系统稳定性

(4)具有良好的可复用性

6.UML是具有指定的建模元素(图式符号),严格的语法(构图规则),明确的语义(逻辑含义)的建模语言,是面向对象技术领域内占主导地位的标准建模语言。

7.Coda/Yourdon方法的OOD模型是在OOA模型5个层次(主题层、类与对象层、结构层、属性层和服务层)基础上,建立4个组元的设计模型:

问题域组元(PDC)、人机交互组元(HIC)、任务管理组元(TMC)和数据管理组元(DMC)。

8.

(1)用例视图:

描述系统的外部特性、系统功能等。

(2)逻辑视图:

描述系统设计特征。

(3)进程视图:

表示系统内部的控制机制。

(4)配置视图:

描述系统的物理配置特征。

(5)实现视图:

表示系统的实现特征,常用构件图表示。

三、综合题

1.(举例略)

1)类,又称对象类(ObjectClass),是一组具有相同属性和相同操作的对象的集合。

2)类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。

3)类具有操作,它是对象的行为的抽象,操作实现的过程称为方法。

4)继承是类间的基本关系,它是基于层次关系的父类和子类之间共享数据和操作的一种机制。

5)多态是指同一个操作作用于不同的对象上可以有不同的解释,并产生不同的执行结果。

6)封装是一种信息隐蔽技术,用户只能看见对象封装界面上的信息,对象的内部实现对用户是隐蔽的。

7)抽象类是没有实例的类,它把一些类组织起来,提供一些公共的行为,但并不需要使用这个类的实例,而仅使用其子类的实例。

2.

(1)Booch方法

Booch方法描述了面向对象的软件开发方法的基础问题,指出面向对象开发是一种根本不同于传统的功能分解的设计方法。

Booch方法的开发模型包括静态模型和动态模型,Booch方法偏向于系统的静态描述,对动态描述支持较少。

(2)Coda/Yourdon方法

在Coda/Yourdon方法中,对于一个复杂问题建立问题域的分析模型,构造和评审OOA概念模型的顺序由5个层次组成,OOD模型是在OOA模型5个层次基础上,建立4个组元的设计模型。

该方法简单、易学。

(3)OMT方法

OMT方法使用了建模的思想,讨论如何建立一个实际的应用模型。

从3个不同而又相关的角度建立了三类模型,三类模型描述的角度不同,却又相互联系。

(4)OOSE方法

OOSE的开发活动主要分为三类:

分析、构造和测试。

OOSE将面向对象的思想应用于软件工程中,建立五个模型。

OOSE方法的最大特点是面向用例,建立了UseCase模型。

OOSE方法比较适合支持商业工程和需求分析。

第6章习题答案

一、判断题

题号

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

答案

N

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

Y

二、填空题

题号

A

B

C

D

1

对象层

关系层

2

主题图

交互图

3

流程图

IPO图

伪码

4

发现潜在对象

筛选对象

为对象分类

5

初步确定

筛选

完善

6

分析

选择

7

选择

精炼

构造

三、简答题

1.

面向对象分析就是运用面向对象的方法进行需求分析,其主要任务是分析和理解问题域,找出相应的描述问题域和系统责任所需的类及对象,分析它们的内部构成好外部关系,正确地抽象为规范的对象,定义其内部结构和外部消息传递关系,建立问题域精确模型的过程。

2.

(1)基本模型:

基本模型是一个类图。

构成类图的元素所表达的模型信息,分为三个层次:

对象层、特征层和关系层。

(2)补充模型:

补充模型有主题图和交互图。

(3)详细说明

3.

(1)获取客户对系统的需求

(2)标识类和对象

(3)定义类的结构和层次

(4)建造对象-关系模型

(5)建立对象-行为模型

4.

(1)确定访问对象属性的操作

(2)来自事件驱动的操作

(3)处理对应的操作

(4)消除冗余操作

5.对于一个系统来说,功能模型指明了系统应该“做什么”,而动态模型则明确规定了“什么时候做”。

即在何种状态下、接受了什么事件的触发,来确定对象的可能事件的顺序。

6.在建立动态模型的过程中,脚本是指在某一执行期间内系统中的对象(或其他外部设备)与目标系统之间发生一个或多个典型的互换信息时产生的事件,所互换的信息值就是该事件的参数,对于各事件,应确定触发事件的动作对象和该事件的参数。

7.事件跟踪图能形象、清晰地表示事件序列以及事件与对象的关系。

在事件跟踪图中,一条竖线代表一个类和对象,每个事件用一条水平的箭头线表示,箭头方向从事件的发送对象指向接受对象。

事件按照先后顺序排列,时间从上向下递增。

8.基本系统模型是用来确定系统的边界和输入/输出数据流的,表明一个计算如何从输入值得到输出值,表明值之间的依赖关系及相关的功能,它不考虑计算的次序。

9.面向对象分析的目的是对客观世界的系统进行建模,是定义所有与待解决问题相关的类。

完成对所求解问题的分析,确定系统“作什么”,并建立系统的模型。

10.面向对象分析的基本任务是运用面向对象的方法,软件工程师和用户必须充分沟通,以了解基本的用户需求,对问题域和系统责任进行分析和理解。

11.

(1)建立信息域模型;

(2)描述功能;

(3)表达行为;

(4)划分功能、数据、行为模型,揭示更多的细节;

(5)用早期的模型描述问题的实质,用后期的模型给出实现的细节。

12.

(1)评估所有的用例,完全理解系统中交互的序列。

(2)标识驱动交互序列的事件,理解这些事件如何和特定的对象相关联。

(3)为每个用例创建事件轨迹(eventtrace)。

(4)为系统建造状态机图。

(5)复审对象—行为模型,以验证准确性和一致性。

四、综合题

1.系统需求:

在图书馆管理系统中,要为每个借阅者建立一个账户,并给借阅者发放借阅卡(借阅卡号,借阅者名),账户存储借阅者的个人信息、借阅信息以及预定信息。

持有借阅卡的借阅者可以借阅书刊、返还书刊、查询书刊信息、预定书刊并取消预定,但这些操作都是通过图书管理员进行的,也即借阅者不直接于系统交互,而是图书管理员充当借阅者的代理与系统交互。

在借阅书刊时,需要输入所借阅的书刊名、书刊的ISBN/ISSN号,然后输入借阅者的图书卡号和借阅者名,完成后提交所填表格,系统验证借阅者所借阅的书刊是否存在,若存在,则借阅者可借出书刊,建立并在系统中存储借阅记录。

借阅者还可预定该书刊,一旦借阅者预定的书刊可以获得,就将书刊直接寄给预定人。

另外,不考虑书刊的最长借阅期限,假设借阅者可以无限期地保存所借阅的书刊。

分析模型:

第7章习题答案

一、判断题

题号

1

2

答案

Y

Y

二、填空题

题号

A

B

C

D

1

知识

方法和标准

软件成分

2

系统设计

对象设计

3

问题域

人机交互

任务管理

数据管理

4

实例

继承

多态

5

模块化

信息隐藏

可复用

简洁化

6

限定交互时间

指定窗口和报表

设计命令层次

三、简答题

1.

(1)确定优先级

(2)提高效率

(3)调整继承关系

2.

(1)确定遗漏的属性和操作

(2)指定类型,声明可见性

3.

1设计结果应该清晰易懂

2一般-特殊结构的深度应适当

3设计简单类

4使用简单的协议

5使用简单的操作

6把设计变动减至最小

4.面向对象设计是面向对象方法在软件设计阶段应用与扩展的结果,就是根据在问题域中已建立的分析模型,运用面向对象技术进行系统软件设计,并且补充实现的细节部分,如人机界面、数据存储、任务管理等,形成符合成本和质量要求的、抽象的系统实现方案,在求解域中建立设计模型。

5.任务管理的设计包括:

确定要执行的任务并识别它的特征、确定任务的优先级、创建协调任务来协调所有其他任务、为每个任务设计对象,并定义它们之间的关系。

6.数据管理子系统也称数据管理部分。

数据存储管理是建立在某种数据存储管理系统之上,提供了数据在数据管理系统中存储和检索对象的基本结构,是系统存储或检索对象的基本设施。

7.全局资源包括物理资源(磁盘驱动器、处理器、通信线路)或逻辑资源(数据库、对象)。

不但有访问权限的问题,还有访问冲突的问题。

所以,应该标识全局资源,并制定访问它们的策略。

8.分析模型中所有交互行为都表示为对象之间的事件。

系统设计必须从多种方法中选择某种方法来实现软件的控制。

9.设计中的大部分工作都与系统稳定的状态行为有关。

但必须考虑边界条件:

系统如何启动、初始化、关闭以及故障处理。

10.分析模型与设计模型映射,每个需求和每个系统设计问题都提到了,模型不包括任何冲突,能够实现,由非系统设计人员能够看懂模型。

11.系统分析确定了问题域对象,以及它们之间的关系、相关的属性、操作。

系统设计确定了子系统和大多数重要的求解域对象。

12.根据应用系统中的使用方式来确定实现关联的策略。

可以选定一个统一实现所有关联的全局性的策略,或者对不同的关联选择不同的实现策略。

13.接口提供了一种方法,把对象基于操作的功能说明与具体实现区分开来,使得任何依赖和使用接口的客户不必依赖于接口的具体实现,有利于接口实现的替换。

14.设计类中的服务是面向对象设计的一项重要内容。

需要综合考虑对象模型、动态模型和功能模型,才能正确确定类中应有的服务。

15.

1服务内聚:

一个服务应该完成一个且仅完成一个任务。

2类内聚:

设计类的原则是,一个类应该只有一个功能,它的属性和服务应该是高内聚的。

3层内聚:

又称一般-特殊内聚。

16.

1客户/服务器(Client-service)交互方式:

在客户/服务器关系中,作为“客户”的子系统调用作为“服务器”的子系统,执行某些服务后并返回结果。

2平等伙伴(Peer-to-peer)交互方式:

在该交互方式中,每个子系统都可能调用其他子系统,因此,每个子系统都必须了解其他子系统的接口,子系统间必须相互了解接口。

四、综合题

1.

分析模型

设计模型

概念模型,回避了实现问题;

物理模型,是实现蓝图;

对设计是通用的;

针对特定的实现;

对类型有3种构造型;

对类型有任意数量的构造型(依赖于实现语言);

不太形式化;

比较形式化;

开发费用较低;

开发费用较高;

层数少;

层数多;

勾画系统的设计轮廓;

进行系统设计;

主要通过研讨会等方式创建;

设计模型和实现模型需双向开发;

可能不需要在整个生命周期内都做维护;

在整个生命周期内都应该维护

2.

(1)文件管理系统

A.主要优点:

a)使用它长期保存数据具有成本低和简单等特点

b)数据按字节流存储,适合于存储大容量数据。

B.主要缺点:

a)文件操作的级别低,操作繁琐,实现比较困难,为提供适当的抽象级别还必须编写额外的代码。

b)文件

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2