现代软件工程课后习题答案_第1页
现代软件工程课后习题答案_第2页
现代软件工程课后习题答案_第3页
现代软件工程课后习题答案_第4页
现代软件工程课后习题答案_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

现代软件工程

学校:玉溪师范学院

姓名:周应光

第一章

选择题:

l.ABC2.CD3.A4.C5.ABCD6.BD7.ABC8.ABC9.ABD

判断题:

XXXVXVXXXV

简答题:

1.软件产品的特性是什么?

a.软件产品是一种逻辑产品,具有无形性。

b.软件产品的生产主是研制,

c.软件不存在磨损和老化问题,但存在退化问题

d.软件产品的生产主要是脑力劳动,

e.软件费用不断增加,成本相当昂贵。

f.软件具有“复杂性”,其开发和运行常受到计算机系统的限制

2.软件产品有几个阶段?各有何特征?

阶段A.程序设计时代(1946-1956)B.程序系统时代(1956-1968)C.软件工程时代(1968-今)

生产方式个体手工劳动小集团合作生产工程化的生产

工具机器语言、汇编高级语言数据库、开发工具、开发环境、

网络、分布式、面向对象技术

开发方法追求编和技巧,追求程序运个人技巧,开始提出结构化方法

行效率

硬件特征价格贵、存储容量小、运行速度、容量、工作可靠性有明显提向超高速、大容量、微型化以

可靠性差高,价格降低,销售有爆炸性增长及网络化方

软件特征只有程序、程序设计概念,程序员数量猛增,己意识到软件开开发技术有很大进步,但未能

不重视程序设计方法发的重要性,开发技术没有新的突获得突破性进展,软件价格不

破,大量软件开发的需求已提出,断上升,没有完全摆脱软件危

开发人员的素质和工程兵的开发技机

术不适应规模大、结构复杂的软件

开发,产生了尖锐矛盾,导致软件

危机的产生

3.什么是软件危机?其产生的原因是什么?

1》软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。一些复杂的、大型的软件开发项

目提出来了,但,软件开发技术的进步一直未能满足发展的要求。

2》软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:

a.软件的规模越来越大,结构越来越复杂。

b.软件开发管理困难而复杂。

c.软件开发费用不断增加。

d.软件开发技术落后。

e.生产方式落后。

f.开发工具落后,生产率提高缓慢。

4.什么是软件生存周期模型?有哪些主要模型?

1》软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。(模型:是为了理解事物而对事

物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。)

2》软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等

5.什么是软件开发的方法?有哪些主要方法?

软件开发的方法:是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。

主要方法:结构方法、Jackson方法、维也纳开发方法(VDM)、面向对象的开发方法。

6.软件生命期个阶段的任务是什么?

答:软件生命期瀑布模型分为六个阶段:

o可行性研究与计划

。需求分析与规格说明

。设计

o编程

»测试

。运行维护

第二章可行性研究

填空题

1.值得去开发,其中的问题能否解决,设计

2.技术,经济,社会

3.研究正在运行的系统,建立新系统的高层逻辑模型

4,o所建议系统的技术可行性分析,所建议系统的经济可行性分析,社会因素可行性分析

5.经济角度,开发成本,比较和权衡

选择题

1.A2,B3.B4.D5.D6.D7.A8.A9.C10.D

简答题

1.可行性研究的任务是什么?

a.技术可行性:

考虑的因素(1).开发的风险(2)资源的有效性(3)技术(4)开发人员在主段技术可行性时,一旦估计错误,将会

出现灾难性后果。

b.经济可行性。

c.社会可行性。

2、技术可行性一般要考虑的情况包括:

(1)开发的风险。再给出的限制范围内,能否设计出系统并实现必要的功能和性能。

(2)资源的有效性。可用于开发的人员是否存在问题。可用于建立系统的其它资源是否具备。

(3)技术。相关技术的发展是否支持这个系统。

(4)开发人员在评估技术可行性时,一旦估计错误,将会出现灾难性后果。

3、可行性研究有哪些步骤?

a.确定项目规模和目标

b.研究正在运行的系统

c.建立新系统的高层逻辑模型

d.导出和评价各种方案

e.推荐可行的方案

f.编写可行性研究报告

4、可行性研究报告有哪些就要内容?

a.引言

b.可行性研究前提

c.对现有系统的分析

d.所建议系统的技术可行性分析

e.所建议系统的经济可行性分析

f.社会因素可行性分析

g.其他可供选择方案

h.结论意见

5.成本一效益分析可用哪些指标进行度量?

有形效益度量:

a.货币的时间价值

b.投资回收期

c.纯收入

无形效益:主要从性质上、心理上进行衡量,很难直接进行量的比较。

通常以有形效益度量作为成本一效益分析的度量。

6.项目开发计划有哪些内容?

a.项目概述b.实施计划c.人员组织及分工d.交付期限

第三章需求分析

填空题:

1.需求分析

2.新系统的目标,“做什么”

3.功能需求,性能需求,环境需求,用户界面需求

4.客户说不清楚,分析人员和用户理解有误

5.数据流数据存储加工源和终点

6.“做什么”,加工规则

7.数据流图,数据字典,描述加工逻辑的结构化语言,判定表,判定树

8.各个成分的具体含义,逻辑模型,需求说明书

9.结构化语言,判定表,判定树

10.数据处理方面吗“做什么”,静态模型,控制模型

选择题

l.D2.C3.A4.D5.C6.A7.C8.D9.C10.D

简答题:

1.什么是需求分析?需求分析阶段的基本任务是什么?

1》需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化

为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。

2》需求分析阶段的基本任务是:

要准确的定义新系统的目标,为了满足用户需求,回答系统必须“做什么”的问题,活的需求规格说明书

2.、画数据流程图的步骤是什么?画数据流图应该注意什么事项?

①把一个系统看成一个整体功能,明确信息的输入和输出。

②找到系统的外部实体。一旦找到外部实体,则系统与外部世界的界面就可以确定下来,系统的数据流

的源点和终点也就找到了。

③找出外部实体的输入数据流和输出数据流。

④在图的边上画出系统的外部实体。

⑤从外部实体的输入流(源)出发,按照系统的逻辑需要,逐步画出一系列逻辑处理过程,直至找到外

部实体处理所需的输出流,形成数据流的封闭。

⑥将系统内部数据处理又分别看做整体功能,其内部又有信息的处理、传递、存储过程。

⑦如此一级一级地剖析,直到所有处理步骤都很具体为止。

画数据流图注意事项:

a.命名.不论是数据流\数据存储还是加工,合适的命名使人们易于理解基含义.

b.画数据流而不是控制流.

c.一般不画物质流.

d.每个加工到少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果.

e.编号.

f.父图与子图的平衡.

g.局部数据存储.

h.提高数据流图的易理解性.

3、描述加工逻辑有哪些工具?

a,结构化语言b,判定表c.判定树

4.什么是结构化分析方法?该方法使用什么描述工具?

结构化分析方法:是面向数据汉进行需求分析的方法。

描述工具:a、数据流图b、数据字典c、描述加工逻辑的结构化语言、判定表、判定树。

附加题:

1.什么是数据流图?其作用是什么?其中的基本符号各表示什么含义?

数据流图:简称DFD,是SA(结构化分析)方法中用于表示系统逻辑模型的一种工具,是一种功能模型。

作用:它以图形的方式描绘数据在系统中流动和处理的过程,反映系统必须完成的逻辑功能.

基本符号有四种:

一,箭头,表示数据流;。,圆或椭圆,表示加工;=,双杠,表示数据存储;口,方框,表示数据的源点或终点.

2.什么是IDEF方法?IDEH)方法有什么特点?

IDEF方法:是美国空军在1981年针对集成化计算机辅助制造(IntegratedComputerAidedManufacturing,简

称ICAM)工程项目中用于进行复杂系统分析和设计的方法,是在结构化分析与设计技术的基础上提出来的。

IDEF是ICAMDefinition的缩写。

1DEF0方法特点:

a.采用方框和箭头等简单的图形符号描述系统的活动和数据流,描述活动所受到的约束及实现机制。

b.采用严格的自顶向下、逐层分解的方式建立系统功能模型。

3、简述SA方法的优缺点。

优点:

1)公认的、有成效的、技术成熟、使用广泛的一种方法,比较适合于开发数据处理类型软件的需求分析。

2)该方法利用图形等半形式化工具表达需求,简明、易读,也易于使用,为后一阶段的设计、测试、评

价提供了有利条件。

缺点:

1)传统的SA方法主要用于数据处理方面的问题,主要工具DFD体现了系统"做什么”的功能,但它仅是一个静

态模型,没有反映处理的顺序,即控制流程。因此,不适合描述实时控制系统。

2)SA方法在使用DFD在分析与描述“数据要求"方面是有局限的。

3)DFD不适合描述人机界面系统的要求。

4)为了更精确地描述软件包需求,提高软件系统的可靠性、安全性,也便于实现自动化,SA方法可与形式方法

结合起来。

4.某银行的计算机储蓄系统功能是:将储户填写的存款单或取款单输入系统,如果是存款,系统记录存款人姓名、

住址、存款类型、存款日期、利率等信息,并打印出存款单给储户;如果是取款,系统计算清单储户。请用DFD

和IDEF0描绘该功能的需求,并建立相应的数据字典。

(1)数据流条目:

数据流名称:存款单

别名:无

简述:储户存款时填写的项目

来源:储户

去向:记帐

数据流量:未知

组成:姓名+住址+存款类型+存款日期+利率

数据流名称:取款单

别名:无

简述:储户取款时填写的项目

来源:储户

去向:统计

数据流量:未知

组成:姓名+住址+取款类型+取款日期+利率

数据流名称:清单

别名:无

简述:储户取款后得到的项目

来源:记录

去向:储户

数据流量:未知

组成:姓名+住址+取款类型+取款日期+利率+余额

(2)数据存储条目:

数据存储名称:账单

别名:无

简述:存放储户信息及其账目

组成:姓名+住址+余额+存款类型+最后修改日期+利率

组织方式:未知

查询要求:能立即查询

(3)数据项条目:

未知

(4)加工条目:

加工名:分类检查

编号:无

激发条件:接收到存/取款单

优先级:优先

输入:存/取款单

输出:存/取款单

加工逻辑:【F存款单THEN把存款单输出到统计

ELSE

把取款单输出到统计

ENDIF

加工名:统计

编号:无

激发条件:取款单

优先级:无

输入:取款单

输出:清单

加工逻辑:根据账单检查此储户是否存在,不存在输出错误{

IF取款数〈余额THEN余额=余额-取款数

输出清单到储户,输出现金到储户

ELSE

输出错误清单到储户

ENDIF

加工名:记录

编号:无

激发条件:存款单

优先级:无

输入:存款单

输出:存款单

加工逻辑:根据账单检查此储户是否存在,不存在则建立此储户{

余额=余额+存款数

输出存款单到储户

分类并检查II'-

5.某图书管理系统工程有以下功能:

⑴借书:输入读者借书证。系统首先检查借书证是否有效,对于第一次借书的读者,在借书文件建立档案。否

则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10本,拒借,未达10本,办理借书(检查库

存、修改库存目录并将读者借书情况登入借书文件).

(2)还书:从借书文件中读出与读者有关的记录,查阅所借日期,如果超期(3个月)作罚款处理.否则,修改库

存目录与借书文件。

(3)查询:可通过借书文件、库存目录文件查询读者情况、图书借阅情况及库存情况,打印各种统计表。请就以

上系统功能画出分层的DFD图,并建立重要条H的数据字典。

6.某厂对部分职工重新分配工作的政策是:

年龄在伙岁以下者,初中文化程度脱产学习。高中文化程度当电工;年龄在20岁到40岁之间者,中学中学文化

程度男性当钳工,女性当车工,大学文化程度都当技术员。年龄在40岁以上者,中学文化程度当材料员,大学

文化程序当技术员。请用结构化语言、判定表或判定树描述上述问题的加工逻辑。

(1)结构化语言:

根据职工年龄和文化程序:

REPEAT

If年龄<=20

If初中文化Then脱产学习endif

elseif高中文化Then电工endif

endif

If20V年龄v40

If中学文化

If男性Then钳工

Else

车工

Endif

elseif大学文化Then技术员endif

endif

endif

If年龄>=40

If中学文化Then材料员

elseif大学文化Then技术员endif

endif

endif

Until没有剩余未分配员工

判定表

1234567891011

年龄CCDDDDDEEE

文化GHHGGHIGHI

性别—--MMFF--—--—

脱产学习

电工

钳工

车工V

技术员V

材料员VV

条件取值表

条件名取值符号取值数

<=20C

年龄>20,<40DMl=3

>=40E

中学G

文化程度高中HM2=3

大学I

男M

性别M3=2

女F

「初中脱产学习

।—年龄0岁一

L高中电工

「男性钳工

-高中或初中一

确定职

-女性车工

工工作-20岁V年龄W40岁一

L大学技术员

「高中或初中材料员

—年龄>40岁一

L大学技术员

7、自学考试报名过程中有个“记

录报名单”的加工。该加工主要是根据报名表(姓名、性别、身份证号、课程名)和开考课程(课程名、开考时间)、

经校核,编号、填写、输出准考证给报名者,同时记录到考生名册中(准考证号、姓名、课程)。请绘制该加工的

DFD图,并写出数据词典中的数据流条目。

答:

数据流词典

课数据流条目:

程报名单=姓名+性别+身份证号+课程名

开考课程=课程名+开考时间

考生名册=准考证号+姓名+课程

正式准考证+考生名册

8、“决定比赛名单”这个加工,根据“运动员名单”和“比赛项目”产生“项目参加者”,如下图所示,运动员

名单要包括所在队名,运动员编号号,运动员姓名,及参加的所有项目。请写出这三个数据流条目。

运动员名单决定比赛\项目参加者

名单1*

项目

答:

运动员名单=队名+运动员号+姓名+{项目}

项目=项目名

项目参加者=项目名+{运动员号}

9、某旅馆的电话服务如下:

可以拨分机号和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长话号码。长话号码是

以区号和市话号码组成。区号是从100到300中任意的数字串。市话号码是以局号和分局号组成。局号可以是455,

466,888,552中任意一个号码。分局号是任意长度为4的数字串。

要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。

答:

电话号码=分机号I外线号码

分机号=7201...7299

外线号码=9+[市话号码I长话号码]

长话号码=区号+市话号码

区号=100...300

市话号码=局号+分局号

局号=[455I466I888I552]

分局号=4{数字}4

(自由选修)第四章概要设计

1.什么是软件概要设计?该阶段的基本任务是什么?

软件概要设计:在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能是实现,即把软件需求转

换为软件包表示的过程。

基本任务:

(1)设计软件系统结构(筒称软件结构)

a.采用某种设计方法,将一个复杂的系统按功能划分成模块(划分)

b.确定模块的功能。(功能)

c.确定模块之间的调用关系。(调用)

d.确定模块之间的接口,即模块之间传递的信息。(接口)

e.评价模块结构的质量。(质量)

(2)数据结构及数据库设计

a.数据结构设计

b.数据库设计:(概念设计、逻辑设计、物理设计)

(3)编写概要设计文档(文档主要有:概要设计说明书、数据库设计说明书、用户手册、修订测试计划)

(4)评审

2.软件设计的基本原理包括哪些内容?

软件设计的基本原理:

(1)模块化(四个属性:接口、功能、逻辑、状态)

(2)抽象

(3)信息隐蔽

(4)模块独立性(两个定性的度量标准:耦合性与内聚性)

3.衡量模块独立性的两个标准是什么?它们各表示什么含义?

两个定性的度量标准:耦合与内聚性

耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦

合性就越强,模块的独立性则越差。

内聚性:也称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。模块

内元素联系越紧密,内聚性越高。

4.模块间的耦合性有哪几种?它们各表示什么含义?

耦合性有六种:无直接耦合、数据耦合、标记耦合、控制耦合、公共耦合、内容耦合

无直接耦合:两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,它们之间不传递任何信

息。(无直接关系)

数据耦合:指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。(数

据值)

标记耦合:指两个模块之间传递的是数据结构。(数据结构)

控制耦合:指控制模块调用另一个模块时,传递的是控制变量,被调用块通过该控制变量的值有选择地执行块

内某一功能(控制变量)

公共耦合:指通过一个公共数据环境相互作用的那些模块间的耦合。(一个公式数据环境)

内容耦合:一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部(内部

数据)

5.模块的内聚性有哪几种?各表示什么含义?

模块间的内聚性有6种:偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚。

偶然内聚:一个模块内的各处理元素之间没有任何联系。

逻辑内聚:模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。

时间内聚:把需要同时执行的动作组合在一起。

通信内聚:指模块内所有处理元素都在同一个数据结构上操作,或者指各处理使用相同的输入数据或产生相同的

输出数据。

顺序内聚:一个模块中各处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出是下一功能元素

的输入。

功能内聚:最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。

6.什么是软件结构?简述软件结构设计优化准则。

软件结构:软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。

软件结构设计优化准则:

a.划分模块时,尽量做到高内聚,低耦合,保持模块相对独立性,以此为原则优化初始的软件结构。

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

c.软件的深度、宽度、扇入、扇出应适当。

D.模块的大小要适中。

E.模块的控制范围模块的接口要简单、清晰、含义明确,便于理解,易于实现、测试与维护。

7.什么是模块的影响范围?什么是模块的控制范围?它们之间应该建立什么关系?

模块的影响范围:受该模块内的一个判定影响的所有模块的集合。

模块的控制范围:模块本身及其所有下属模块(直接或间接从属于它的模块)的集合。

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

8.什么是“变换流"?什么是"事务流"?试将相应形式的数据流图转换成软件结构图。

变换流由输入、变换(或处理)、输出三部分组成。某个加工将它的输入流分离成许多发散

的数据流,形成许多加工路径,并根据输入选择其中一个路径来执行这种特征的DFD称为事物流。

9.试述”变换分析",“事务分析"的设计步骤。

变换分析:

a.确定DFD中的变换中心。

b.设计软件结构的顶层和第一层-一-变换结构。

c.设计中下层模块。(输入模块下属模块的设计,输出模块下属模块的设计,变换模块下属模块的设计,设计的优

化)

事务分析:

a.确定DFD中的事务中心和加工路径。

b.设计软件结构的顶层和第一层---事务结构。(接收、发送给支)

c.事务结构中、下层模块的设计、优化工作同变换结构。

附加:

2、已知模块C中的一个判定影响到模块B,如图所示,它违反了SD的设计原则。试问:可以采用哪些手段对结构

图作改进,请说明改进办法并画出改进的结构图。

答:

4、高考录取统分子系统有如下功能:

(1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;

(2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。

试根据要求画出该系统的数据流程图,并将其转换为软件结构图。

答:

5、图书馆的预定图书子系统有如下功能:

(1)由供书部门提供书目给订购组。

(2)订书组从各单位取得要订的书目。

(3)根据供书目录和订书书目产生订书文档留底。

(4)将订书信息(包括数目,数量等)反馈给供书单位。

(5)将未订书目通知订书者。

(6)对于重复订购的书目由系统自动检查,并把结果反馈给订书者。

试根据要求画出该问题的数据流程图,并把其转换为软件结构图。

答:

6、在结构化设计过程中,要将数据流图(DFD)映射成系统结构图(SC),分别画出变换型数据流和事物型数据

流的映射方式。

答:

务型

变换型心

+L,(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论