软件工程课后答案-殷锋主编1(范文模版)

时间:2019-05-15 13:46:21下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《软件工程课后答案-殷锋主编1(范文模版)》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《软件工程课后答案-殷锋主编1(范文模版)》。

第一篇:软件工程课后答案-殷锋主编1(范文模版)

软件工程课后习题答案

注:有些可能错误,读者自己注意

第一章

一、填空题:

1、软件是计算机系统中与硬件相互依存的另一部分,是包括、、及相关文档的的完整集合2、软件工程包括三要素:方法、工具 和 过程。

3、软件开发的基本方法包括和

二、选择题:

1、C2、B3、C

第二章

一、填空题:

1、软件生存周期的各个过程可以分成三类,及 主要生存周期过程、支持生存周期过程 和 组织的生存周期过程。

2、软件生存周期包括 计划、需求分析、设计、程序编码、软件测试 和 运行维护6个阶段。

3、软件过程改进(SPI)帮助软件企业对其软件过程的改变进行计划,制定以及实施。

二、填空题

1、A2、B

三、判断题

1、√

2、X

第三章

三、填空题:

1、可行性研究的目的是用最小的代价,在尽可能短的时间内,确定能够解决

2、可行性研究在进行简要需求分析和设计时,要在高层次上以进行

3、需求分析阶段产生的最重要的文档是。

4、为解决一个复杂的问题,往往采取的策略是

5、SA方法中使用半形式化的描述方式表达需求,采用的主要描述工具是 流图和E-R图。

6、数据流图中有四种负号元素,它们是 终点

7、数据字典中有四类条目,分别是

8、在IDEF0图中,表示系统功能的图形成为图。

9、在画分层的DFD时,父图与子图的输入/输出的数据流要

10、用于描述基本加工的小说明的三种描述工具是判定表。

二、选择题

1、A2、C3、B4、B5、D6、D7、D8、A9、D10、A11、C12、B

第四章

一、填空题

1、变换型系统由3部分组成 :。

2、模块的分解的基本原则是

3、在软件开发的过程中必须遵循的软件工程原则有:藏 和 模块独立性。

二、选择题

1、D2、A3、A4、A5、B

三、判断题

1、√

2、X3、X4、√

5、X

第五章

二、填空题

1、软件测试是为了 而执行程序的过程。

2、运行被测程序的方法称为测试。

3、动态测试中,主要测试软件功能的方法称为法

4、选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻

辑覆盖标准为 判定/覆盖法。

5、要覆盖含有循环结构的所有路径是不可能的,一般通过限制来测

试。

6、用等价类划分法设计测试用例时,如果被测程序的某个输入条件规定了取之

范围,则可确定一个 合理的等价类和 两个不合理的等价类

7、凭经验或直觉推测程序中可能存在的错误而设计测试用例的方法是 测。

8、集成测试中的具体方法是 非渐增式、渐增式。

9、确认测试阶段的两项工作是。

10、在单元测试中,测试一个 模块时,需要设计。

11、与编码风格有关的因素有 数据说明、语句构造、输入/输出、效率等,其中有个重要的因素是 源程序的文档化。

三、选择题

1、B2、C3、B4、D5、D6、A7、B8、D9、A10、A11、C12、B13、D14、A15、C

第六章

一、填空题

1、用例之间的关系可以有包含关系、和。

2、面向对象的基本特包括:抽象、封装、和 继承。

3、类与类之间可以有具有关联、聚合、和 等关系。

二、选择题

1、C2、C3、B

三、判断题

1、√

2、√

3、X4、X

第七章

一、填空题

1、面向对像分析的步骤包括:分析问题域建立用例模型、发现和定义对象和类、识别对象的内部特征、识别对象的外部特征、识别对象之间的交互。

2、面向对象分析的第一步就是分析用户需求,在此的基础上建立 建模。

3、用户需求包括系统的功能、性能、可靠性等非技术性要求,其中需求分析阶段需要着重考虑的是用户对系统的功能要求。

二、选择题

1、C2、D3、D

三、判断题

1、X2、√

3、X4、√

第八章

一、填空题

1、复用性

2、子系统

3、数据库设计

二、选择题

1、D2、C3、D4、D

三、判断题

1、X2、X3、√

第九章

一、填空题

1、测试

2、对对象之间交互的测试

3、待维护的软件是可以理解的、待维护的软件是可以修改的二、选择题

1、A2、B3、C

三、判断题

1、X2、√

第十章

一、填空题

1、直接度量、间接度量

2、人的因素、问题因素、过程因素、产品因素、过程因素

3、甘特图、时标网状图、PERT技术和CPM方法

4、项目风险、技术风险、商业风险 ;已知风险、可预测的风险、不可预测的风险

5、项目经理、配置控制委员会、配置管理员、系统集成员、开发人员

6、配置项识别、工作空间管理、版本控制、变更控制、状态报告、配置审计

7、按课题划分的模式、按职能划分的模式、矩阵型模式

8、(1)牢固掌握计算机软件的基本知识和技能

(2)善于分析、综合问题、具有严密的逻辑思维能力

(3)工作踏实、细致,遵循标准和规范,具有严格的科学作风

(4)工作中表现出耐心,毅力和责任心

(5)善于听取别人的意见,善于与周围人员团结协作,建立良好的人际关系

(6)具有良好的书面和 空头表达能力

9、(1)能把用户提出的 非技术性要求加以整理提炼,以技术说明书的形式转告给分析员和测试员。

(2)能说服用户放弃 一些不切实际的要求,以便保证合理的要求得以满足。

(3)能够把表面上似乎无关的要求集中在一起,归结为“需要什么”“要解决什么问题”,这是一种综合问题的能力。

(4)要懂得心理学,能说服上级领导和用户,即让他们理解什么事不切实际的要求。又使他们毫不勉强,乐于接受。

10、鼓励、引导、通信

11、选定标准、重大偏离、特殊情况

二、选择题1、2、3、4、5、6、7、8

三、判断题1、2、3、4、5、6、7、8

第二篇:软件工程课后答案

第七章价类, 重复这一步骤,直到所第十三章

1.软件测试的方法:黑盒测试,白盒测试

(1)黑盒测试:如果已经知道了产品应具有的功能,可以通过测试来检验是否每个功能

都能正常使用,这就是黑盒测试:

(2)白盒测试:如果知道产品的内部工作过

程,可以通过测试来检验产品内部动作是否

按照规格说明书的规定正常进行。

2.测试步骤;(1)模块测试(2)子系统测试(3)

系统测试(4)验收测试(5)平行运行

3.测试重点:(1)模块接口(2)局部数据结

构(3)重要的执行通路(4)出错处理通路

(5)边界条件

4.(1)主程序:驱动程序也就是一个主程序,他接受测试数据,把这些数据传送给

被测试的模块,并且印出有关的结

果,(2)虚拟子程序:存根程序也可以称为

虚拟子程序,他使用被他代替的模

块的接口,可能做最少量的数据操

作,印出对入口的检验或操作结

果,并且把控制归还给调用它的模

块。

5.模块组装成程序时有两种方法:(1)非渐

增式(2)渐增式{自顶向下集成,自底向上

集成}

6.混合法:对软件结构中较上层使用的自顶

向下方法与软件结构中较下层使用的自底向

上方法相结合。

7.回归测试:在集成测试的范畴中,所谓的回

归测试是指重新执行已经做过的测试的某个

子集,以保证上述的这些变化没有带来非预

期的副作用。

8.确认测试:也称为验收测试,他的目标是

验证软件的有效性。

验证:指的是保证软件正确的实现了

某个特定要求的一系列活动。

确认:指的是为了保证软件确实满足

了用户需求而进行的一系列活动。

9.确认测试的范围:确认测试必须由用户积

极参与,或者以用户为主进行。确认测试通

常使用黑盒测试法

10.Alpha和Beta测试

(1)Alpha:有用户在开发者的场所进行,并且在开发者对用户的指导下进行测试。开

发者负责记录发现的错误和使用中遇到的问

题。Alpha测试是在受控的环境中进行的。

(2)Beta:油软件的最终用户们在一个

或多个客户场所进行,开发者通常不在测试的现场用户记录在测试过程中遇到的问题,并定期把这些问题报告给开发者。

11.什么是白盒测试?

测试者了解被测程序的内部结构和

处理过程,对程序的所有逻辑路径进

行测试,在不同点检查程序状态,确

定实际状态与预期状态是否一致。白盒测试主要采用的技术有:路径测试技术

和事务处理流程技术,对包含有大量逻辑判

断或条件组合的程序采用基于逻辑的测试技

术。逻辑覆盖:所谓的逻辑覆盖是对一系列测试

过程的总称,这组测试过程逐渐进行越来越

完整的通路测试。

12.黑盒测试:也称为功能测试,它着眼于程

序的外部特征,而不考虑程序的内部逻辑结

构。测试者把被测程序看成一个黑盒,不用关

心程序的内部结构。黑盒测试是在程序接口

处进行测试,它只检查程序功能是否能按照

规格说明书的规定正常使用,程序是否能适

当地接收输入数据产生正确的输出信息,并

且保持外部信息(如数据库或文件)的完整

性。黑盒测试主要采用的技术有:等价分类

法、边沿值分析法、错误推测法和因果图等

技术。

13.等价划分:是一种黑盒测试技术,这种技

术把程序的输入域划分成若干个数据类,据

此导出数据用例。

等价分类法的测试技术采用的一般方法?

(1)为每个等价类编号;

(2)设计一个新的测试方案,以尽

可能多的覆盖尚未被覆盖的有

效等价类,重复这一步骤,直到

所有有效等价类被覆

(3)设计一个新的测试方案,使它

覆盖一个尚未被覆盖的无效等有无效等价类被覆盖为止。1.管理:就是通过计划、组织和控制等 14.边界值分析: 一系列活动,合理的配置和使用各种15.调试:也称为纠错,作为成功测试的后果资源,以达到既定目标的过程 出现,调试是在测试发现错误之后排除2.软件的质量:就是软件与明确地和隐错误的过程。调试就是把症状和原因联含地定义的需求相一致的程度,软件系起来的尚未被人认识的智力过程。的质量是软件与明确的叙述的开发标16.软件测试的一般步骤:单元测试、子系准以及任何专业开发的软件产品都应统测试、系统测试、验收测试、平行测试。该具有的隐含特征相一致的程度。调试途径:(1)蛮干法(2)回溯法(3)3.工作量估算:(1)静态单变量模型(2)原因排除法 动太多变量模型(3)COCOMO2模型回溯法:从发现症状的地方开始,人工4.软件配置管理主要有五项任务:标示,沿程序的控制流往回追踪分版本控制,变化控制,配置审计,报析源程序代码,直到找到错误告 原因为止。5.能力成熟度的五个等级:初始级,可原因排除法:(1)对分查找法(2)归重复级,已定义级,已管理级,优化纳法(3)演绎法 级 17.软件可靠性的定义:软件可靠性是程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率软件可用性的一个定义: 软件可用性是程序在给定的时间点,按照规格说明书的规定,成功地运行的概率。18.选择程序设计语言:(主要的实用标准)(1)系统用户要求(2)可以使用的编译程序(3)可以得到的软件工具(4)工程规模(5)程序员的知识(6)软件可移植性要求(7)软件的应用领域 19.编码风格(1)程序内部的文档(2)数据说明,应易于理解便于查阅(3)语句结构,尽可能简单直观(4)输入输出,遵守人机界面准则(5)效率,能妈祖用户要求即可 19.软件测试目标:为了发现程序中的错误代码审查:人工测试源程序可以由审查小组正式进行,即称为审查。审查小组组成:组长,程序的设计者,程序的编写者,程序的测试者 第八章 1.四种软件维护类型:(1)改正性维护:满足用户对已开发产品的性能与运行环境不断提高的要求,进而达到延长软件寿命的目的。(2)适应性维护:对程序使用期间发现的程序错误进行诊断和改正的过程,配合变化了的环境进行修改软件的活动;(3)完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能的建议而进行的工作;(4)预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作。2.决定软件可维护性的因素:可理解性,可测试性,可修改性,可移植性,可重用性 3.软件系统的文档:可以分为用户文档和系统文档用户文档:主要描述系统功能和使用方法,并不关心这些功能怎样实现 用户文档包括:功能描述,安装文档,使用手册,参考手册,操作员指南 系统文档:描述系统设计、实现和测试等各方面的内容。4.软件维护:所谓的软件维护就是在软件已经交付使用之后,为了改正错误而满足心得需要而修改软件的过程。1.面向对象方法学的优点:(1)与人类的思维方法一致(2)稳定性好(3)可重用性好(4)较易开发大型软件产品(5)可维护性好 2.对象的特点:以数据为中心;对象时主动的;实现了数据封装;实质上具有并行性;模块独立性好 3.其他概念:(1)类:具有相同数据相同操作的一组相似对象的定义(2)实例(3)消息:就是要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明(4)方法(5)属性(6)封装(7)继承:是指能够直接获得已有的性质和特征,而不必重复定义他们

第三篇:软件工程课后习题答案

第一章习题参考答案

1﹑软件产品的特性是什么? 答:软件产品特性:

⑴是一种逻辑产品,与物质产品有很大的区别。

⑵软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品。⑶软件产品不会用坏,不存在磨损,消耗。

⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是“定做”的⑸开发软件的费用不断增加,致使生产成本相当昂贵。2﹑软件生产有几个阶段?各有何特征?

答:⑴程序设计时代:这个阶段生产方式是个体劳动,使用的生产工具是机器语言,汇编语言。

⑵程序系统时代:这个阶段生产方式是小集团合作生产,使用的生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。

⑶软件工程时代:这个阶段生产方式是工程化的生产,使用数据库﹑开发工具﹑开发环境﹑网络﹑分布式﹑面向对象技术来开发软件。

3﹑什么是软件危机?产生原因是什么?答:软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。产生原因:⑴ 软件规模越来越大,结构越来越复杂。⑵ 软件开发管理困难而复杂。⑶ 软件包开发费用不断增加。⑷ 软件开发技术落后。⑸ 生产方式落后,仍采用手工方式。⑹ 开发工具落后,生产率提高缓慢。

4﹑什么是软件工程?它目标和内容是什么?

答:软件工程就是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。软件工程内容:研究内容包括开发技术和开发管理两个方面。开发技术主要研究:软件开发方法,开发过程,开发工具和环境。开发管理主要研究:软件管理学,软件经济学,软件心理学。

5﹑软件工程面临的问题是什么?

答:软件工程需要解决的问题:软件的费用,可靠性,可维护性,软件生产率和软件的重用。

6﹑什么是软件生存周期?它有哪几个活动?

答:软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。7﹑什么是软件生存周期模型?有哪些主要模型?

答:生存周期模型:描述软件开发过程中各种活动如何执行的模型。对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。主要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。

8﹑什么是软件开发方法?有哪些主要方法?

答:使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。通过使用成功的软件开发方法,在规定的投资和时间内,开发出符合用户需求的高质量的软件。软件开发方法是克服软件危机的重要方面之一,对软件工程及软件包产业的发展起了不可估量的作用。

主要有:结构化方法,JACKSON方法,维也纳开发方法﹙VDM﹚,面向对象开发方法。第二章习题参考答案

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

答:可行研究的任务:首先需要进行概要的分析研究,初步确定项目的规模,目标,约束和限制。分析员再进行简要的需求分析,抽象出项目的逻辑结构,建立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的解决方法,对每种解决方法都要研究它的可行性。

主要从三个方面考虑:⑴技术可行性:一般要考虑的情况包括 开发的风险即设计出的系统能否达到要求的功能和性能;资源的有效性;相关技术的发展是否支持;⑵经济可行性:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资。⑶社会可行性:要开发的项目是否存在任何侵权问题,运行方式在用户组织内是否可行,现有管理制度﹑人员素质﹑操作方式是否可行。2.可行性研究有哪些步骤?

答:⑴确定项目规模和目标;⑵研究正在运行的系统;收集﹑研究﹑分析现有系统的文档资料,实地考察系统访问有关人员,然后描绘现有系统的高层系统流程图。⑶建立新系统的高层逻辑模型;使用数据流图和数据字典描述数据在系统中的流动和处理情况。⑷导出和评价各种方案;导出若干较高层次的物理解决方法,根据技术可行性﹑经济可行性﹑社会可行性进行评估,得到可行的解决方法。⑸推荐可行方案;进行成本~效益分析,决定该项目是否值得开发,若值得开发那么解决方案是什么,并且说明该方案可行的原因和理由。⑹编写可行性研究报告;将上述可行性过程的结果写成相应文档,即可行性研究报告。

3.可行性研究报告有哪些主要内容?

答:⑴引言:编写本文档的目的;项目名称﹑背景;本文档用到的专门术语和参考资料。⑵可行性研究前提:说明开发项目的功能﹑性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。⑶对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需各类专业技术人吧和数量;所需各种设备;向有系统存在什么问题。⑷所建议的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有系统比较的优越性;采用所建议系统对用户的影响;对各种设备﹑现有软件﹑开发环境﹑运行环境的影响;对经费支出的影响;对技术可行性的评价。⑸所建议系统的经济可行性分析:说明建议系统的确良各种支出,各种效益;收益投资比;投资顺收周期。⑹社会因素可行性分析:说明法律因素,对合同责任﹑侵犯专利权﹑侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理﹑工作制度﹑人吧素质的要求。⑺其它可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。⑻结论意见:说明项目是否能开发;还需什么条件才能开发;对项目目标有何变动等。

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

答:⑴投资回收率:通常把建立系统若干年后能取得的收益折算成现在的价值和开发系统所需的费用进行比较得出投资回收率。⑵投资回收期:就是使累计的经济效益等于最初的投资费用所需的时间。⑶纯收入:整个生存周期之内的累计经济效益(折成现在值)与投资之差。5.项目开发计划有哪些内容?

答:⑴项目概述:说明项目的各项主要工作;说明软件的功能﹑性能;为完成项目应具有的条件;用户及合同承包者承担的工作完成的期限及其他条件限制;应交付的程序名称;所使用的语言及程储形式;应交付的文档。⑵实施计划:说明任务的划分,各任务责任人,项目开发进度,项目的预算,各阶段的费用支出,各阶段应完成的任务,用图表说明每项任务的开始和完成时间。⑶人员组织及分工:所需人员类型﹑数量﹑组成结构。⑷交付期限:最后完工日期。

第三章习题参考答案

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

答:需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。

基本任务:⑴问题识别:双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求,用户界面需求。⑵分析与综合,导出软件的逻辑模型⑶编写文档:包括编写“需求规格说明书”,“初步用户使用手册”,“确认测试计划”,“修改完善软件开发计划”

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

答:结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。⒊结构化分析方法通过哪些步骤来实现? 答:⑴了解当前系统的工作流程,获得当前系统的物理模型。⑵抽象出当前系统的逻辑模型。⑶建立目标系统的逻辑模型。⑷作进一步补充和优化。

⒌画数据流图应注意什么事项?

答:命名: 不能使用缺乏具体含义的名字,加工名应能反映出处理的功能。1.画数据流而不是控制流。数据流名称只能是名词或名词短语,整个图中不反映加工的执行顺序。

一般不画物质流。2.每个加工至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果。

编号: 某个加工分解成加一张数据流图时,上层图为父图,下

层图为子图。子图应编号子图上的所有加工也应编号,子图的编号应与父图的编号相对应。3.父图与子图的平衡:子图的输入输出 数据流同父图相应加工的输入输出数据流必须一致⑵抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。通过抽象确定组成软件的过程实体。⑶信息隐蔽:将模块实现自身功能的细节与数据“局部数据存储:当某慨数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口,则称这些数据存储为局部数据存储。注意数据流图的易理解性。

⒍什么是数据字典?其作用是什么?共有哪些条目?

答:数据字典(DD)用来定义数据库流图中的各个成分的具体含义。有以下四类条目:数据流,数据项,数据存储,基本加工。

⒎描述加工逻辑有哪些工具?

答:加工逻辑的描述:一般用结构化语言,判定表,判定树 结构化语言是介于自然语言和形式语言之间的一种半形式化语言。它的结构可分里层和内层

⑴外层:用来描述控制结构,采用顺序,选择,重复三种基本结构。

顺序结构:是一组祈使语句,选择语句,重复语句的顺序排列 ②选择结构:一般用IF-THEN-ELASE-ENDIF,CASE-OF-ENDCASE等关键词。

③重复结构:一般用DO-WHILE-ENDDO,REPEAT-UNTIL等关键词。⑵内层:一般采用祈使语句的自然语言短语,使用数据字典中的名词和有限的自定义词,其 动词含义要具体,尽量不使用形容词和副词来修饰。

⒏什么是IDEF方法?IDEF0方法有哪些特点?答:IDEF方法是美国空军针对计算机辅助制造工程项目中用于进行复杂系统分析和设计的方法,是在结构化分析方法基础上提出来的。

包括: IDEF0描述系统的功能活动及联系,建立系统的功能模型。即反映系统”做什么“折功能。IDEF1描述系统的信息及联系,建立系统的信息模型。IDEF2进行系统模拟,建立系统的动态模型。IDEF0特点:

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

如下图描述,其中输入为完成某活动时所需的数据,输出指执行活动产生时的数据,控制活动指所受到的约束条件,机制是指活动由谁来完成。⑵采用严格的自顶向下﹑逐层分解的方式建立系统功能模型。

⒐简述SA方法的优缺点。答:SA方法是软件需求分析中公认的,有成效的,技术成熟,使用广泛的一种结构化分析方法。较适用于开发数据处理类型软件的需求分析。利用图形等半形式化工具表达需求,简明,易读,也易于使用。但也存在一些弱点,表现如下:⑴SA方法仅是一个静态模型,没有反映处理的顺序,即控制流程。⑵SA方法使用DFD在分析与描述”数据要求“方面是有局限的,只有与数据库技术中的实体联系图(ER图)结合起来,才能较完整地描述用户对系统的需求。⑶DFD不适合描述人机界面系统的要求,一些人机交互较频繁的软件系统。⑷SA方法要与形式化方法结合起来,才能更精确地描述软件需求。⑸要借助需求分析工具,提高需求分析的质量及效率。

第四章习题参考答案

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

答:把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。称为概要设计或结构设计。基本任务:⑴设计软件系统结构,具体为:1.采用某种设计方法,将一个复杂的系统按功能划分为模块。2.确定每个模块的功能。3.确定模块之间的调用关系。4.确定模块之间的接口(模块之间传递的信息)评价模块的结构质量⑵进行数据结构及数据库的设计⑶编写概要设计的文档 主要内容有:概要设计说明书,数据库说明书(DBMS的简介,概念模型,逻辑设计,结果)用户手册,修订测试计划(测试的策略﹑方法﹑步骤)⑷评审:是否完整地实现了规定的功能﹑性能要求。设计方案是否可行。关键的处理及内部接口定义的正确性,有效性,各部分的一致性。

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

答:⑴模块化:模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成整体,可以满足问题的要求。模块化即按照一定的原则,将软件划分成若干个模块,每个模块完成一个特定的功能,然后把这些模块按照某种方法组装成一个软件系统。(可降低复杂度、减少工作量)

模块具有以下几种特性:接口:模块的输入输出。功能:指模块实现什么功能。逻辑:描述模块内部如何实现要求及所需的数据。状态:该模块的运行环境,模块间调用与被调用关系。

隐蔽”起来。模块间仅交换为完成系统功能所必须的信息。⑷模块独立性:每个模块只完成系统要求的独立的子功能。

3、衡量模块独立性的两个标准是什么?各表示什么含义? 答:内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。

4、模块的耦合性有哪几种?各表示什么含义?

答:⑴内容耦合:一个模块直接操作或修改另一模块的数据,或者不通过正常入口直接转入另一模块⑵公共耦合:两个或多个模块通过共同引用一个全局数据环境相互作用⑶控制耦合:模块之间通过传递控制信息相互作用⑷标记耦合:两个模块之间通过传递公共指针或地址相互作用的耦合⑸数据耦合:模块之间通过传递数据交换信息⑹无耦合:模块间无任何关系,独立工作

5、模块的内聚性有哪几种?各表示什么含义?答:⑴偶然内聚:一个模块各个成分之间毫无关系⑵逻辑内聚:将几个逻辑上相关的功能放在同一个模块中⑶时间内聚:一个模块完成的功能在同一时间执行⑷过程内聚:一个模块内部的处理成分是相关的,而且必须以特定的次序执行⑸通信内聚:一个模块的所有成分都集中在同一个数据结构上⑹顺序内聚:一个模块的各个成分同一个功能密切相关,而且一个成分的输出,作为另外一个成分的输入⑺功能内聚:模块内的所有成分属于一个整体,完成单一的功能。(内聚最高)

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

答:⑴改进软件结构,提高模块独立性 首先设计出软件初始结构,评价该结构,通过模块分解或合并,力求降低耦合提高内聚。⑵模块的规模应该适中⑶模块结构的深度、宽度、扇出和扇入应适中。深度:软件结构中控制的层数 宽度:软件结构中同一层次上最大模块总数 扇入:某一模块有多少直接调用它的上级模块数目(越大越好)扇出:一个模块直接控制(调用)下级模块的数目。(越少越好,3,4个为宜,不超过9个,“顶层扇出较高,中间扇出较少,底层模块高扇入多”⑷一个模块的作用域(范围),应处在这个模块的控制域(范围)之内 模块的作用域:受该模块内一个判定影响的所有模块的集合模块的控制域:这个模块本身以及所有直接或间接从属于它的模块的集合一个模块的影响范围(作用域),应处在这个模块的模块的控制范围(控制域)内。

8、什么样是“事物流”?什么是“变换流”?试将相应形式的数据流图转换为软件结构图

答:数据流图(DFD)一般可分为“变换流”,“事物流”两种。“变换流”:由输入﹑输出﹑变换(或称处理)三部分组成,是一顺序结构。“事物流”:它的某个加工,分离成许多发散的数据流,形成许多加工路径,并且根据输入值选择其中一个路径来执行。(这人加工称为事务处理中心)

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

答:变换分析设计步骤:⑴确定变换中心,逻辑输入和输出。⑵设计软件结构的顶层和第一层--变换结构:顶层的功能是完成所有模块的控制(名称应是系统名,以体现完成整个系统功能)第一层至少有三种功能模块:输入﹑输出和变换模块⑶设计中﹑下层模块,对第一层的模块自顶向下分解。输入模块由两部分组成:接收数据﹑转换成调用模块所需信息。输出模块由两部分组成:将数据转换成下属模块所需的形式﹑ 发送数据 变换模块:对每个基本加工建立一功能模块、⑷设计的优化 :输入部分求精,每个物理输入设置专门模块,以体现系统的外部接口。其它输入模块与转换数据模块都很简单时,可将它们合并。输出部分求精:每个物理输出设置专门模块,其它也可适当合并。变换部分求精:根据设计准则,对模块适当合并。事务分析的设计步骤:⑴确定事务中心和加工路径⑵设计顶层(事务机构)和第一层 顶层模块有两个功能:接收数据和根据事务类型调动相应处理模块。⑶中下层模块的设计﹑优化工作与变换结构相同。事务型软件结构包括两部分: 接收分支 发送分支出 通常包括一调度模块,当事务类型不多时,可与主模块合并。

第五章习题参考答案

1、详细设计的基本任务是什么,有哪几种描述方法?答:详细设计的基本任务包括:(1)为每个模块进行详细的算法设计(2)为模块内的数据结构进行设计(3)对数据库进行物理设计(4)其他设计(5)编写详细设计说明书(6)评审 详细设计的描述

方法有图形、表格和语言,其中图形常用结构化程序流程图、盒图和PAD(问题分析图)为描述工具,语言常用过程设计语言(PDL)来作为工具。

2、结构化程序设计的基本要点是什么?答:主要有三个:(1)采用自顶向下、逐步求精的程序设计方法(2)使用三种基本控制结构构造程序。任何程序都可以由顺序、选择、重复(循环)三种基本控制结构构造,这三种基本结构的共同点是单入口、单出口。(3)主程序员组的组织形式。

3、简述Jackson方法的设计步骤。答:Jackson方法的设计步骤如下:1.分析并确定输入数据和输出数据的逻辑结构,并用Jackson结构图表示这些数据结构。(2)找出输入数据结构和输出数据结构中有对应关系的数据单元。3.按一定的规则由输入、输出的数据结构导出程序结构。4.列出基本操作与条件,并把它们分配到程序结构图的适当位置。(5)用伪码写出程序。比较?

答:白盒法测试法把测试对象看作一个打开的盒子,测试人员须了解程序内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。

白盒法有下列几种覆盖标准:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖

从上到下的覆盖标准其检错能力也从弱到强,其中条件组合发现错误的能力较强,凡满足其标准的测试用例,也必然满足前四种覆盖标准。在实际的逻辑测试中,一般以条件组合覆盖为主设计测试用例,然后再补充部分用例来达到路径覆盖的测试标准。

什么是黑盒测试法?采用黑盒技术测试用例有哪几种方法?这些第六章习题参考答案

程序语言有哪些共同特征?

答:程序语言的共同特征(似为特性更符合题意)是指程序设计语言的语言特性,包括心理特性、工程特性和技术特性三个方面。语言的心理特性对人机通信的质量有主要的影响;语言的工程特性对软件开发成功一否有重要的影响,此外,语言的技术特性也会影响软件设计的质量。

在项目开发时选择程序设计语言通常考虑哪些因素?

答:通常要考虑的因素有:项目的应用领域、软件开发的方法、软件执行的环境、算法和数据结构的复杂性以及软件开发人员的知识等。

第4代语言(4GL)有哪些主要特征?答:4GL的主要特征是:1.友好的用户界面2.兼有过程性和非过程性双重特性3.高效的程序代码4.完备的数据库(5)应用程序生成器举例说明各种程序设计语言的特点及适用范围?

答:以常见的一些编程语言为例:FORTRAN语言,它不仅面向科学计算,数据处理能力也极强。适用于科学工程计算;Pascal语言,具有很强的数据和过程结构化能力,它语言简明,数据类型丰富,程序结构严谨。它是第一个体现结构化编程思想的语言。用于描述结构化算法和科学计算,操作系统的编写 ;C语言:功能强大,支持复杂的数据结构,可大量运用指针,具有丰富灵活的操作运算符及数据处理操作符,它还具有汇编语言的某些特征,使程序运行效率高。可用于许多领域,特别是在操作系统等方面有较大优势。Coble语言,它具有极强的数据定义能力,程序说明与硬件环境说明分开、数据描述与算法描述分开。结构严谨层次分明,广泛用于商业数据处理。SQL:结构化查询语言,用于对数据库进行存取管理。

汇编语言和Ada语言,主要用于实时处理和编写系统软件。Prolog、Lisp语言。Lisp是一种函数型语言,特别适用于组合问题中符号运算和表处理,用于定理证明、树的搜索和其他问题的求解。Prolog是一种逻辑型语言,它提供了支持知识表示的特性,每一个程序由一组表示事实、规则和推理的句子组成,比较接近与自然语言。这两种语言主要用于人工智能系统开发。C++、Java语言,是面向对象的设计语言,用于面向对象的方开发软件。

什么是程序设计风格?为了具有良好的设计风格,应注意哪些方面的问题?

答:程序设计风格是指一个人编制程序时所表现出来的特点、习惯、逻辑思路等。

要形成良好的程序设计风格,应从源程序文档化、数据说明、语句构造、输入输出和追求效率几个方面加以注意。第七章习题参考答案

软件测试的目的是什么?软件测试中,应注意哪些原则?

答:软件测试的目的是为了发现软件的错误。软件测试中应注意的原则有:

测试用例应由输入数据和预期的输出数据两部分组成。这样便 于对照检查,做到有的放矢。测试且例不仅选用合理输入数据,还要选择不合理的输入数据。这样能更多地发现错误,提高程序的可靠性。对于不合理的输入数据,程序应拒绝接受,并给出相应的提示。

除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该做的事。

应制定测试计划并严格执行,排除随意性。长期保留测试用例。

对发现错误较多的程序段,应进行更深入的测试。(7)程序员应避免测试自己的程序。测试是一种“挑剔性”的行为,心理状态是测试自己程序的障碍。

什么是白盒测试法?有哪些覆盖标准?试对他们的检错能力进行

方法各有什么特点?

答:黑盒测试法把被测试对象看成是一相黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。

采用黑盒技术测试用例的方法有:等价类的划分、边界值分析、错误推测和因果图。

软件测试要经过哪些步骤?这些测试与软件开发各阶段之间有什么关系?

答:软件测试要经过的步骤是:单元测试→集成测试→确认测试→系统测试。

单元测试对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。该阶段涉及编码和详细设计文档。

集成测试是为了检查与设计相关的软件体系结构的有关问题,也就是检查概要设计是否合理有效。

确认测试主要是检查已实现的软件是否满足需求规格说明书中确定了的各种需求。

系统测试是把已确认的软件与其他系统元素(如硬件、其他支持软件、数据、人工等)结合在一起进行测试。以确定软件是否可以支付使用。

单元测试有哪些内容?测试中采用什么方法?答:单元测试主要针对模块的以下五个基本特征进行测试:1.模块接口 2.局部数据结构 3.重要的执行路径4.错误处理 5.边界条件6.测试的方法是为被测试模块编写驱动模块和桩模块来实现被测试单元的可运行。通过驱动模块来模拟被测试模块的上级调用模块,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结构并输出。桩模块则用来代替被测试模块所调用的模块。它的作用是返回被测模块所需的信息。

什么是集成测试?非渐增式测试与渐增式测试有什么区别? 渐增式测试如何组装模块?

答:集成测试是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。

非渐增式测试是指首先对每个模块分别进行单元测试,再把所有模块组装成一个完整的系统进行的测试。而渐增式测试就是逐个把未经测试的模块组装到已经过测试的模块上去进行集成测试,每加入一个新模块进行一次集成测试,重复此过程直到程序组装完毕。渐增式测试有两种不同的组装方法:自顶向下和自底向上结合。两者区别是:(1)非渐增式方法把单元测试和集成测试分成两个不同的阶段,前一阶段完成模块的单元测试,后一阶段完成集成测试。而渐增式测试往往把单元测试和集成测试合在一起,同时完成。(2)非渐增式需要更多的工作量,因为每个模块都需要驱动模块和桩模块,而渐增式利用已测试过的模块作为驱动模块或桩模块,因此工作量少。渐增式可以较早地发现接口之间的错误,非渐增式最后组装时才发现。(3)渐增式有利于排错,发生错误往往和最近新加入的模块有关,而非渐增式发现接口错误推迟到最后,很难判断是哪一部分接口出错。(4)渐增式比较彻底,已测试的模块和新的模块再测试。(5)渐增式点用时间较多,但非渐增式所需更多的驱动模块和桩模块也占用一些时间。(6)非渐增式开始可并行测试所有模块,能充分利用人力,对测试大型软件很有意义。什么是确认测试?该阶段有哪些工作?

答:确认测试又称有效性测试。它的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。因而需求说明是确认测试的基础。确认测试阶段有两项工作:进行确认测试与软件配置审查。

调试的目的是什么?调试有哪些技术手段?

答:调试则是在进行了成功的测试之后才开始的工作。调试的目的是确定错误的原因和位置,并改正错误,因此调试也称为

纠错(Debug)。调试的技术手段有简单的调试方法、归纳法、演绎法和回溯法等。第八章习题参考答案 软件维护有哪些内容? 答:(1)校正性维护。在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进行确定和修改错误的过程,这个过程就称为校正性维护。

(2)适应性维护。为了使应用软件适应计算机硬件、软件环境及数据环境的不断发生的变化而修改软件的过程称为适应性维护。

(3)完善性维护。为增加软件功能、增强软件性能、提高软件运行效率而进行的维护活动称为完善性维护。

(4)预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。软件维护的特点是什么? 答:主要体现在三个方面:

(1)非结构化维护和结构化维护。软件的开发过程对软件的维护有很大的影响。若不采用软件工程的方法开发软件,则软件只有程序而无文档,维护工作非常困难,这是一种非结构化的维护。若采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工作,这是一种结构化的维护。

(2)维护的困难性。软件维护的困难性是由于软件需求分析和开发方法的缺陷。软件生存周期中的开发阶段没有严格而又科学的管理和规划,就会引起软件运行时的维护困难。

(3)软件维护的费用。软件维护的费用在总费用中的比重是在不断增加的,这是软件维护有形的代价。另外还有无形的代价,即要占有更多的资源。软件维护费用增加的占有原因是软件维护的生产率非常低。软件维护的流程是什么?

答:软件维护的流程如下:知道维护申请报告、审查申请报告并批准、运行维护并做详细记录、复审。软件维护的副作用有哪些? 答:维护的副作用有以下三种:

(1)编码副作用。在使用程序设计语言修改源代码时可能引入的错误。

(2)数据副作用。在修改数据结构时,有可能造成软件设计与数据结构不匹配,因而导致软件错误。数据副作用是修改软件信息结构导致的结果。但它可以通过详细的设计文档加以控制。(3)文档副作用。如果对可执行软件的修改没有反映在文档中,就会产生文档副作用。

什么是软件可维护性?可维护性度量的特性是什么?

答:软件可维护性的定义:软件能够被理解、校正、适应及增强功能的容易程度。软件的可维护性可用以下七个质量特性来衡量,即可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。

提高可维护性的方法有哪些? 答:(1)建立明确的软件质量目标。(2)使用先进的软件开发技术和工具。(3)建立明确的质量保证。(4)选择可维护性的程序设计语言。(5)改进程序的文档。第九章习题参考答案

渐增模型有几种?各有何特点?

答:渐增模型有两种类型,一是增量构造模型,二是演化提交模型。增量构造模型是在瀑布模型基础上,对一些阶段进行整体开发,对另一些阶段进行增量开发。演化提交模型则是在瀑布模型的基础上,所有阶段都进行增量开发,不仅是增量开发,也是增量提交。

2、快速原型模型有几种,各有什么特点?

答:快速原形模型根据原型的不同作用,有三类原型模型: 探索型原型:把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发者对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求。

实验型原型:主要用于设计阶段,考核实现方安是否合适,能否实现。对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型的开发来证实设计方案的正确性。

(3)演化型原型:它将原型思想扩展到软件开发的全过程,就是及早向用户提交一个原型系统,在得到用户认可后,将原型系统不断扩充演化为最终的软件系统。快速原型的开发步骤是什么? 答:快速原型的开发步骤是:(1)快速分析:在分析人员与用户的配合下,迅速确定系统基本需求并开始构造原型。(2)构

造原型:在快速分析的基础上,根据基本需求说明尽快实现一

个可运行的系统。(3)运行原型:通过运行快速原型,发现问题,消除误解,达到开发者也用户的充分协调。(4)评价原型:在运行的基础上,评价原型的特性,分析运行效果是否满足用户的需求,提出全面的修改意见。(5)修改:根据评价原型的活动结果进行修改,修改过程代替初始的快速分析,从而实现原型开发的循环过程。用户与开发者在这种循环过程中不断接近系统的最终要求。上述步骤在软件工具的支持下往往是互相交融在一起的,而不再象瀑布模型那样严格的阶段划分,线性推进。

评价快速原型模型的优缺点。答:快速原型的优点是:(1)可及早为用户提供有用的产品。(2)可及早发现问题,随时纠正错误。(3)减少技术、应用风险,缩短开发时间,减少费用、提高生产率。(4)通过实际运行原型,提供直接评价系统的方法,促使用户主动参与开发活动,加强了信息反馈,促进各类人员的协调,减少误解,适应需求变化,能有效提高系统质量。快速原型的缺点是:1.缺乏丰富而强有力的软件工具和开发环境。2.缺乏有效的管理机制,还未建立起自己的开发标准。3.对设计开发环境要求较高。(4)在多次重复改变原型的过程中,程序员会感到厌倦。(5)系统的易变性对测试有一定影响,难于做到彻底测试,更新文档较为困难。

4、比瀑布模型与增量模型,指出增量模型的新思路。答:瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。瀑布模型很难适应需求可变、模糊不定的软件系统的开发,而且在开发过程中用户很难参与进去,只有到开发结束才能看到整个软件系统。这种理想的、线性的开发过程缺乏灵活性,不适应实际的开发过程。增量模型是在瀑布模型的基础上加以修改而形成的。属于非整体开发模型。

它的基本思路是为了使开发过程具有一定的灵活性和可修改性,在开发过程中推迟某些阶段或所有阶段中的细节,从而较早的产生工作软件。第十章习题参考答案

说明对象、类、类结构、消息的基本概念。

答:(1)对象:对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象包括有形实体、作用、事件、性能说明等类型。对象具有状态和行为。一个对象用数据值来描述它的状态,对象的操作则用于改变状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。对象内的数据具有自己的操作,从而可灵活地专门描述对象的独特行为,具有较强的独立性和自治性,其内部状态不受或很少受外界的影响,具有很好的模块化特点。为软件重用奠定了坚实的基础。(2)类:具有相同或相似性质的对象的抽象就是类。因此,对象的抽象就是类,类的具体化就是对象,也可以说类的实例是对象。(3)类结构:类与类之间的结构关系,包括一般-具体结构关系和整体-部分结构关系。一般-具体关系结构称为分类结构,也可以说是“或”关系或“is a”关系,类的这种层次结构可用来描述现实世界中的一般化的抽象关系,通常越在上层的类越具有一般性和共性,越在下层的类越具体、越细化。整体-部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。类的这种层次关系可用来描述现实世界中的类的组成的抽象关系。上层的类具有整体性,下层的类具有成员性。在类的层次结构中,通常上层的类称为父类或超类,下层类称为子类。(4)消息:对象之间进行通信的构造叫做消息。在对旬的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。接收消息的对象经过解释,然后给予响应。这种通信机制称为消息传递。发送一条消息的格式是“对象名.方法名(参数)”。

说明面向对象的特征和要素。答:面向对象的特征是:(1)对象唯一性。每个对象都有自身唯一的标识,在对象生存期中,其标识不变,不同的对象不能有不同的标识。(2)分类性。是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类(3)继承性。是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。(4)多态性。是指相同的操作或函数过程可以作用于多种类型的对象上并获得不同的结果。面向对象的要素是:1.抽象。2.封装性(信息隐蔽)(3)共享性。说明动态模型的特征,说明事件,脚本、状态的含义。

答:动态模型是与时间和变化有关的系统性质,该模型描述了系统的控制结构,它表示了瞬时的、行为化的系统控制性质,它关心的是系统的控制,操作的执行顺序,它从对象的事件和状态的角度出发,表现了相互行为。事件是指特定时刻发生的某件事情,它是某事情发生的信号,它没有持续时间,它是一种相对性的快速事件。脚本是完成系统某个功能事件序列,侧重于表达说明发生于系统执行过程中的一个特定场景,用事件跟踪图表达。状态是对象属性值的抽象。状态指明了对象对输入事件的响应。

说明功能模型的特征,比较功能模型的DFD和结构化方法的DFD异同。

答:功能模型描述了系统的所有计算。功能模型指出发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。功能模型表明一个计算如何从输入值得到输出值,它不考虑所计算的次序。功能模型由多张数据流图组成。数据流图说明数据流是如何从外部输入、经过操作和内部存储输出到外部的。功能模型也包括对象模型中值的约束条件。

说明三种分析模型的关系。答:三种分析模型之间关系是这样的:功能模型指出发生了什么,动态模型确定什么时候发生,而对象模型确定发生的客体。说明对象建模的过程。

答:对象建模的过程如下:首先标识类和关联,因为它们影响了整体结构和解决问题的方法,其次是增加属性,进一步描述类和关联的基本网络,使用继承合并和组织类,最后将操作增加到类中去作为构造动态模型和功能模型的副产品。(1)确定类。构造对象模型的第一步是标出来自问题域的相关对象类,包括物理实体和概念。所有类在应用中都必须有意义。检查问题陈述中的所有名词,产生暂定类。然后去掉不必要的类和不正确的类。(2)准备数据字典。为所有建模实体准备一个数据词典。准确描述各个类的精确含义,描述当前问题中的类的范围,包括对类的成员、用法方面的假设或限制。1.确定关联。两个或多个类之间的相互依赖就是关联。从问题中抽取所有可能的关联表示,把它们记下来,但不要过早去细化这些表述。2.确定属性。属性是个体对象的性质,通常用修饰性的名词词组来表示。只考虑与具体应用直接相关的属性,不考虑那些超出问题范围的属性,首先找出重要属性,避免那些只用于实现的属性,要为各个属性取有意义的名字。3使用继承来细化类。4.完善对象模型。

说明功能建模的过程。答:功能建模的过程如下:(1)确定输入、输出值(2)建立数据流图

10、说明对象设计的步骤。

答:对象设计要确定实现用到的类、关联的完整定义,接口的形式以及实现操作方法的算法,可以增加实现必须的内部对象,对数据结构和算法进行优化。1.获得操作 2确定操作的目标对象 3.算法设计 4.优化设计 5.控制的实现 6调整继承(7)关联的设计

第十一章习题参考答案

软件质量与软件质量保证的含义是什么?

答:从实际应用来说,软件质量定义包括三个一致性:1.与所确定的功能和性能需求的一致性;(2)与所成文的开发标准的一致性; 3.与所有专业开发的软件所期望的隐含特性的一致性。4.软件质量保证是指确定、达到和维护所需要的软件质量而进行的所有有计划、有系统的管理活动。影响软件质量的因素有哪些? 答:影响软件质量的因素分为可以直接度量的因素(如单位时间内千行代码中所产生的错误)和只能间接度量的因素(如可用性和可维护性)。

什么是软件质量保证策略?软件质量保证的主要任务是什么? 答:软件质量保证策略是指软件质量保证工作的过程和侧重点。质量保证的主要任务包括以下几点:1.正确定义用户的要求。2.技术方法的应用。3.提高软件开发的工程能力。4.软件的复用。5.发挥每个开发者的能力。6.组织外部力量协作。7.排除无效劳动。(8)提高计划和管理质量。程序复杂性的度量方法有哪些?

答:软件复杂性的度量方法有:1.代码行度量法:以源代码行数作为程序复杂性的度量。

2、McCabe度量法:一种基于程序控制流的复杂性度量方法。

什么是软件的可靠性?它们能否定量计算?

答:软件可靠性是指在给定的时间内,在规定的环境条件下系统完成所指定功能的概率。衡量软件可靠性的两个常用指标是平均失效等待时间MTTF和平均失效间隔时间MTBF。就是说可以定量计算。

7、说明容错软件的定义与容错的一般方法。

答:容错软件的定义有四种,指规定功能的软件,(1)在一定程度上对自身错误的作用具有屏蔽能力的软件。(2)在一定程度上能从错误状态自动恢复到正常状态的软件。(3)在因错误而发生错误时,仍然能在一定程度上完成预期的功能的软件。(4)在一定程度上具有容错能力的软件。

实现容错技术的主要手段是冗余。冗余通常分为四类:1.结构冗余,又分为静态、动态和混合冗余三种。2.信息冗余 3.时间冗余(4)冗余附加技术第十二章习题参考答案

软件工程管理包括哪些内容?

答:软件工程管理的具体内容包括对开发人员、组织机构、用户、文档资料等方面的管理。

2、软件项目计划中包括哪些内容?

答:软件项目计划内容包括:1.范围 2.资源 3.进度安排 4成本估算(5)培训计划

3、软件开发成本估算方法有哪几种? 答:软件开发成本估算的方法主要有:(1)自顶向下估算方法(2)自底向上估算方法(3)差别估算方法

以及专家估算法、类推估算法、算式估算法等几类方法。

4、什么是软件配置管理?什么是基线?

答:软件配置管理,简称SCM(Software Configuration Management),是指一组管理整个软件生存期各阶段中变更的活动。软件配置管理技术可以使软件变更所产生的错误达到最小并最有效地提高生产率。

基线:是软件生存期中各开发阶段的一个特定点,它的作用是把开发各阶段工作的划分更加明确化,使本来连续的工作在这些点上断开,以便于检查与肯定阶段成果。

5、软件工程标准化的意义是什么?都有哪些软件工程标准? 答:软件工程标准化可以为软件工程各个阶段的活动提供统一的行动规范和衡量准则,使得各种工作都能有章可循。软件工程标准根据其制定机构与适用范围,可分为:1.国际标准2.国家标准 3.行业标准 4.企业规范

5、项目(课题)规范

6、请说明软件文档的作用?

答:软件文档的作用是:1.提高软件开发过程的能见度;2.提高开发效率;3.作为开发人员阶段工作成果和结束标志;4.记录开发过程的有关信息便于使用与维护;5.提供软件运行、维护和培训有关资料;6.便于用户了解软件功能、性能。第十三章习题参考答案

1、什么是软件开发环境?请列出其发展情况。

答:软件开发环境是指在计算机的基本软件的基础上,为支持软件的开发而提供的一组工具软件系统。具体地说,软件开发环境是一组相关工具的集合。这些相关工具按一定的开发方法或一定开发处理模型组织起来的,这些相关工具支持整个软件生存期的各阶段或部分阶段。软件开发环境的发展阶段:

(1)70年代,软件开发与设计方法出现了结构化分析技术的一整套相互衔接的SA-SD的方法学。与此相适应的计算机辅助软件工程技术则主要由开发孤立的软件工具而逐步向程序设计环境的开发和使用方向发展,出现了第一代的基于正文的CASE工具。

(2)80年代中期与后期,主要是实时系统设计方法,以及面向对象的分析和设计方法的发展,它克服了结构化技术的缺点。在这期间开发了第二代的CASE工具,其特点是支持使用图形表示的结构化方法,如数据流图与结构图。其开发环境表现在提高环境中工具的集成性方面,如“集成的项目支持环境”。(3)80年代后期和90年代初期出现了“基于信息工程CASE”技术,这种环境集成了用于项目计划、分析、设计、编程、测试和维护的一个工具箱的集合。

(4)90年代出现一系列集成的CASE软件产品,用以实现需求管理、应用程序分析设计和建模、编码、软件质量保证和测试、过程和项目管理及文档生成管理等软件开发工作的规范化、工程化和自动化。

2、请叙述软件开发环境的分类。答:软件开发环境可按解决的问题、软件开发环境的演变趋向和集成化程度进行分类:(1)按解决的问题可分为:程序设计环境、系统合成环境、项目管理环境三类。(2)按软件开发环境的演变趋向可分为:以语言为中心的环境、工具箱环境和基于方法的环境三类。(3)按集成化程度有第一代、第二代、第三代的开发环境。

3、何谓软件工具?通常包含哪几部分?答:软件工具的定义是:可用来帮助和支持软件需求分析、软件开发、测试、维护、模拟、移植或管理而编制的计算机程序或软件。软件工具是一个程序系统。软件工具通常由工具、工具接口和工具用户接口三

部分构成。

4、当今软件工具发展有何特点?

答:软件工具的发展有以下特点:(1)软件工具由单个工具向多个工具集成化方向发展。(2)重视用户界面设计。(3)不断地采用新理论和新技术。(4)软件工具的商品化与软件产业的发展形成良性互动。

5、什么是CASE?CASE工具有哪些分类?答:CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的架中,并且吸收了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。因而,CASE领域是一个应用、集成和综合的领域。根据CASE系统对软件过程的支持范围,CASE可分为三类:(1)支持单个过程任务的工具。(2)支持某一过程所有活动或某些活动的工作台。(3)环境支持软件过程大部分乃至所有活动,一般包括几个不同工作台的集合。

6、请叙述集成化CASE的五级模型。答:集成化CASE的五级模型包括(1)平台集成:工具运行在相同的硬件/操作系统平台上(2)数据集成:工具使用共享数据模型来操作(3)表示集成:工具使用相同的用户界面(4)控制集成:工具激活后能控制其他操作(5)过程集成:工具在一个过程模型和“过程机”的指导下使用

7、CASE工作台有哪些分类?

答:CASE工具台是一组工具集,支持像设计、实现或测试等特定的软件开发阶段。CASE工具组装成一个工具台后工具能协同工作,可提供比单一工具更好的支持。CASE工作台包括:(1)程序设计工作台。由支持程序设计的一组工具组成。(2)分析和设计工作台。支持软件过程的分析和设计阶段。(3)测试工作台。(4)交叉开发工作台。这些工作台支持在一种机器上开发软件,而在其他的系统上运行所开发的软件。(5)配置管理(CM)工作台。这些工作台支持配置管理。(6)文档工作台。这些工具支持高质量文档的制作。(7)项目管理工作台。支持项目管理活动。

第四篇:陈洪主编《大学语文》课后思考题答案

大学语文思考题参考

现代文

《语言的功能与陷阱》

2.怎样看演讲中的幽默与噱头的区别?

噱头往往是外加的,内容是浅薄、哗众取宠的。幽默是内容本身的有机组成,是深化、生动化的手段,是包含着智慧的,给人以启示的。《一只特立独行的猪》

1.本文所写,你认为是实有其猪呢,还是作者杜撰?它们影响你对文章观点的认同吗?

作者劳力于农村,对乡村生活中人猪之亲密关系自是司空见惯;即便并非实有其猪,以动物作为譬喻之媒,亦是古今中外文章惯技。

2.自己安排或设置自己的生活,有什么问题吗?别人想要设置我们的生活,能够一概无视吗?

有道是“风能进、雨能进、国王不能进”──此为自由价值之要义,但实现起来,问题确是不少:政府、社会、思想专制、风俗习惯、陈腐观念,障碍所在多有。关键是体会“特立独行”之意义,由己身开始实现之。3.作者采用这样的写法,你认为“闲篇”太多吗?它是否影响了对论题的充分阐述呢?

严肃主题不必全是冠冕文章,看似闲笔,却更有助于引人入胜;文章中心意旨在读者的阅读兴奋中深入其心。

《我的四个假想敌》

1.概括与分析本文中“我”的矛盾心理?

父亲喜爱女儿,目睹爱女长到婚嫁年龄,舍不得女儿离己而去、嫁作人妇,却又无法阻拦,于是转移目标,将她们的男友一律视作“假想敌”。

2.举例说明本文中作者对人生况味的细致体察?

作者关注和叙写他人的举止言笑,如小女儿的天真未凿,女儿们对男友照片的“供奉”,“假想敌”来访时与女儿的亲密状,吃饭时的哑剧等等,均是对人情事态的生动再现。

3.本文作者的幽默风趣表现在哪些地方?

妙喻连篇,抓住题目中“敌”之一义,时时扣紧题旨,屡屡用军事上的术语与事物,暗喻父亲与候选女婿对女儿的争夺战,描写“敌”之情状与“我”之心态。

4.分析本文语言上的特点。

巧用比喻,善用典故,机智幽默,富书卷气。《下棋》

1.你认为这一类“休闲”式的生活小品文,价值在什么地方?

为人们的休闲生活提供愉悦,引发感悟,进一步或能在思想感情上得到陶冶。2.你有过类似的生活经验吗?你是否对此有过超然、幽默的观感? 引导学生自由讨论

3.作者最后的总结分析准确吗?你能否举一反三,提出类似的现象做一下分析? 启发引导学生讨论 《复仇》

1.篇中两次写到“永远沉浸于生命的飞扬的极致的大欢喜中”,其用意有何不同?

均指其达致生命力的“飞扬”即其价值凸显而引起的情感;而第一次是因爱人之“爱”与置爱人于“死”而达致,是“有血的大戮”所引发的,第二次则因己身“干枯”的同时“赏鉴”“旁观者”的“干枯”而达致,是“无血的大戮”所引发的。

2.依你所见,诗中二人有此处境,应“毫无动作”呢,还是或相爱、或相杀,“照所欲而行的为是”呢? 被看者“毫无动作”使旁观者“无戏可看”,固然实现了对看客的复仇,但代价却是自主选择爱或死之权利的丧失;然而如果果真的“照所欲而行”呢?则固然可以自主选择,却必然成为旁观者赏鉴的对象──也许这本是一个两难的选择。3.阅读《复仇(其二)》,体会鲁迅复仇思想的另一种表达。《复仇》写以使旁观者“无戏可看”作为对看客的复仇;《复仇(其二)》则是写先觉者被其所欲拯救的民众所害,于是以玩味其罪恶,悲悯其前途,咒诅其现在,而作为“复仇”。这是鲁迅复仇哲学的两个意涵。《天才梦》

1.创造性工作主要依赖天才还是勤奋?

文学艺术领域的创造性工作主要依赖天才,而这里的天才的产生,(教材编写者认为)是靠百分之九十的天分,加十分努力。可引导学生自由讨论

2.天才就意味着精神和心灵的痛苦。天才就意味着享受事业成功的快乐。你更认同哪一种说法?

各有道理。天才因为远较常人敏感,所以更能体会到人生的痛苦;因为事业成功,而体会到常人所没有的快乐。

3.你感觉张爱玲的自我描述真实客观吗?你也试着写一篇自传或自述看看。

基本上是的。其笔调冷静客观,不掩盖自己的天才,也不讳言自己的种种“乖癖”。没有流露出成名者的得意和疏狂,这是难能可贵的。《金岳霖先生》

1.请根据本文的描写,概括一下金岳霖先生的性格特征。

一肚子学问,对工作、对学问热爱到痴迷的程度,对生活充满兴趣和热爱,不矜细行,不惧物议,任性洒脱,认真、机智、幽默和从容不迫,不管在什么环境下永远不消沉沮丧,无心机,少俗虑,为人天真到像一个孩子,对学生、对友人,具有深厚情感。

2.本文中间叉出一笔,写金岳霖的一位学生王浩,你认为这种写法好吗?是否成功?

这一笔看似闲篇,其实别有用心,借“好学生”王浩在课堂上受金先生特别器重和王后来的成就,显示了金先生在治学上的平等精神和他学术的影响。

3.本文在口语和文言词语的使用上有怎样的特点,试加分析。

结合文章中的具体例证,分析其特点。口语朴素而富有表现力,偶尔穿插文言词语

4、试着用这种笔法写一位你身边“有趣”的师长。

古代文

《兰亭集序》

1.关于王羲之,你还知道哪些关于他的事迹或传说?

墨池,入木三分,黄庭换鹅,等等。

2.找出文章中至今仍有活力的成语、词组。

群贤毕至、少长咸集、茂林修竹、放浪形骸等。《庄子秋水》

1.你认为这种对话体在说理时有什么好处?有什么不足?

对话体多通过两个人物的问答和辩论来阐述道理,善于将不同思想的碰撞或逻辑思辨的过程有机地呈现出来,其语言也容易具有生动、活泼和个性化的特点。其不足之处是思路和逻辑有时不够严谨。2.在先秦诸子中,还有谁喜欢用寓言故事来阐述其哲学思想?

韩非子。《韩非子》中的《内储说》、《外储说》、《说林》、《喻老》、《十过》皆为寓言故事之专集,其数量居先秦散文之首。然其寓言主要取材于历史和现实,与庄子寓言的奇幻谲怪呈现为完全不同的风格。3.在阐述哲理时,本文使用了多种修辞手法,请指出来,并说明其效果如何。

拟人、比喻、对比、排偶,说理形象而有力。

4.本文中有若干语句,在后世化为人们习用的成语,请指出来。

望洋兴叹、贻笑大方、坐井观天、太仓稊米。

5.比较庄子和孟子的文章风格,谈谈二者间有何差别? 教师引导学生自由讨论。

诗歌

《现象七十变》 1.有人说:“假如乐谱失传,录音手段和设备丧失殆尽,那么80年代的邓丽君,也许就是两百年后的柳永;90年代的刘欢,可能就是三百年后的白居易。因此,从文学的、诗的意义上对他们的作品给予关注,显得非常必要,他们在歌中所表达的种种情绪和感觉,同时代的文学作品,特别是诗和其他严肃艺术未必能表达得了。”你同意这种说法吗?为什么?

好的流行歌曲既可以表达写作者和歌者的生活感受,也可以反映丰富的民族情绪、文化关怀和社会批判,加之语言通俗,极具个人风格,就具有了通常文字所没有的感染力。现代流行歌曲就是传统意义上的诗,其社会影响大于现代新诗。

2.你认为流行歌曲能否成为经典?理由是什么?

只要能表达时代独特的精神情感和社会风尚,为大众接受、喜欢,并在艺术形式上有独特创造,经过时间的淘洗,有可能成为经典。

3.举出三段你最喜欢的流行歌曲歌词,并说一说喜欢的原因。供学生自由讨论 《诗经秦风蒹葭》

1.你还能举出几首临水怀人的诗词作品吗? 如《诗经·陈风》中的“东门之池”、“泽陂”,《古诗十九首》中的“涉江采芙蓉”,温庭筠的《梦江南》等。

2、有的诗内容十分确定,有的诗可以多种理解,请你结合本文分析其中的原因何在。

诗内容确定,主要是所写对象具体;而含蓄的诗歌,力图使诗歌表现的对象给人以不确定性,难以指实,如本篇中的“在水一方”的美人,可以指情感世界的恋人,也可以指家国渴慕的贤人。3.本诗的复沓形式与表现的思想感情之间有什么关联?

它的艺术作用在于很好地表现事物进展的顺序和程度,协调诗的韵律节奏,强化诗的音乐美和抒情气氛,增强表情达意的审美效果。

4.在当代文艺作品里,有没有采用这种方式表达情思的?请举几例。

当代作品中经常运用复沓形式表达情思,而且是很普遍的艺术手法。如刘半农《教我如何不想他》、康白情《江南》、沈尹默《月夜》等。《长恨歌》

1、本篇中对李杨爱情有无批判、讽刺内容?如果有,请指出,并加以评论。

开卷“汉皇重色思倾国”以下,渲染玄宗得贵妃后纵欲、行乐,具批判讽刺意义。在文学思想上,作者主张文学反映社会,诗兼“美刺”。这决定了他对李、杨爱情持讽刺批判的态度,这一点在他的另一首描写杨贵妃的诗歌《胡旋女》中表现得尤为突出。

2.长期以来,对本诗的理解众说纷纭,为什么?

形成理解的差异的原因主要是:首先题材本身,作者的处理是介于历史和传说之间;其次,在情感态度上,作者的儒家思想观念与作为诗人发自内心的情感之间存在着矛盾。所以,形成了作品内容在国家命运和个人爱情之间的内在张力。《无题二首》

1.你认为诗中的男主人公是否是诗人自己? 供学生独立思考

2、与《长恨歌》那种内容十分明确的爱情诗相比,这种含混朦胧的作品的长处与短处各有哪些?

本诗具体内容的含混及缺失,反而提供给读者进行联想、想象的空间,更能引发不同读者多方面的感受。缺点是不太适合痛快淋漓地表达情感以及叙述事件。试举例分析诗中的对句对表达效果的影响。3.能否再举出几首具有朦胧美的诗作? 如阮籍《咏怀》、白居易《花非花》、李商隐《锦瑟》、李煜《菩萨蛮》“花明月暗笼轻纱”等。《临江仙》

1.分析词中有“趣”的笔墨。

如“家童鼻息已雷鸣,敲门都不应,倚杖听江声”句,颇可见出作者的幽默与安适。2.你能举出苏轼作于此时的其他作品吗?这些作品中是否也有富于理趣的笔墨? 黄州时期为苏轼文学创作的一个高峰期。为人称颂的词作有《念奴娇·赤壁怀古》(大江东去)、《定**》(莫听穿林打叶声)等,赋有《前赤壁赋》、《后赤壁赋》等。富于理趣的句子也颇多,如《定**》中“竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生”等。

第五篇:软件工程答案

第一次作业

1.什么是软件?

答:计算机程序和相关文档。

2.什么是软件危机?

答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

3.什么是软件工程?

答:软件工程是关于软件生产的各个方面的工程学科。或者说:采用工程的概念、原理、技术和方法来开发与维护软件,或者说把经过时间考验而证明是正确的管理技术和当前能够得到的合适的开发工具结合起来开发与维护软件,这就是“软件工程”。

第二次作业

说明:以下题目在考试时,可能变成填空题、也可能变成选择题、还有可能变成名词解释。

1.软件工程方法学包括了几个关键要素?

答:包括了3个关键要素,即方法、工具和过程。

2.软件过程包含了那几项基本活动?

答:软件过程包含了4项基本活动:(1)软件描述;(2)软件开发;(3)软件有效性验证;

例如:填空题

软件过程包含了4项基本活动:(1)软件描述;(2)软件开发;(3)软件有效性验证;

(4)软件维护或进化。

例如:选择题

软件过程包含了4项基本活动:(1)软件描述;(2)软件开发;(3)软件有效性验证;

(4)软件维护或进化。

A.验证B.检查C.软件有效性验证D.软件有效性检查

3.什么是模型?

答:模型是人们认识客观事物时,用文字、符号或者图表等进行简化问题描述的一种方式。

第三次作业

1.可行性研究包含哪几个方面?

答:(1)技术可行性、(2)经济可行性、(3)操作可行性。

2.软件维护分为哪几类?

答:根据软件维护的任务与性质不同,通常可将软件维护分为纠错性维护、适应性维护、完善性维护、预防性维护四类活动。

3.软件可维护性的定义是什么?

答:指维护人员理解、改正软件的难易程度。决定软件可维护性的因素有:指整个软件文档和程序的可理解性、可测试性、可修改性。

第四次作业

1.原型法的基本概念是什么?

答:原型法的基本概念有如下三点:(1)原型法不仅可以帮助系统分析员尽早获得更完整更准确的需求,还可以帮助设计人员验证设计方案或演进目标系统。(2)原型法适用于需求非常不明确的系统开发。(3)快速原型法如果使用得当,可以减少软件的总成本。

2.快速原型模型的主要优点是什么?

答:快速原型的本质是用原型系统获取用户的真正需求,开发人员便可依据原型系统书写规格说明文档,根据这份文档开发出的软件可以满足用户的真实需求。

3.什么是面向数据结构方法?

答:面向数据结构方法是结构化方法的变形,它着重数据结构而不是数据流。根据需求基本上都采用顺序、选择和重复构造成分表示数据结构。

第五次作业

1.面向对象分析模型的五个层次是什么?

答:面向对象分析模型的五个层次是主题层、类及对象层、结构层、属性层和服务层,因此其分析步骤也是按五个层次逐步展开。

2.对象的五个特点是什么?

答:对象的五个特点是:自治性;封装性;通信性;被动性(除主动对象外);暂存性。

3.为什么说对象是动态的?

答:面向对象的程序由一组相关类组成,所以类是静态的,程序的执行体现为一组相互通信的对象的活动,所以对象是动态的。

第六次作业

1.需求分析阶段的工作成果是产生大量的系统文档,那么文档的作用有哪些? 答:文档的作用有(1)提高软件的可理解性,便于开发人员之间的沟通与交流;(2)变可见性的软件为部分可见性的文档资料,阶段性的工作成果,便于实施工程管理;(3)阶段性的审查依据;(4)便于用户或其他非开发人员熟悉该软件。

2.需求分析有哪三种方法?

答:需求分析有面向功能分析、面向数据分析、面向对象分析方法。

3.需求分析阶段主要综合考虑的因素有哪些?

答:需求分析阶段主要综合考虑的因素有(1)功能、(2)性能、(3)运行、(4)将来可能提出的要求。

第七次作业

1.软件系统的非功能需求是什么?

答:非功能需求是指那些不直接与系统具体业务功能相关的一类需求。它们与系统的总体特性相关,如可靠性、信息安全性、响应时间和存储空间等。

2.为什么对系统来说非功能需求比功能需求更关键?

答:许多非功能需求关心的是系统整体特性而不是个别的系统特性,因此,非功能需求比功能需求对系统来说更关键。一个功能需求没有满足可能降低系统的能力,而一个非功能系统需求没有满足则可能使整个系统无法使用或者说系统的灵活性、应变能力达不到要求。

3.数据流图的作用是什么?

答:数据流图的作用是用来描述系统的逻辑模型,表示信息在系统中的流动和处理情况。

4.画数据流图可采用的步骤是什么?

答:画数据流图时:首先考虑数据的源点和终点(人或者作为输入/输出对象);接下来考虑处理(动词);最后考虑数据流和数据存储(名词)。

第八次作业

1.什么是执行者?

答:执行者是与系统交互的人或物,它代表外部实体,是一个群体概念,代表的是一类能够使用某个功能的人或物,而不是某个个体。

2.数据字典的定义是什么?

答:数据字典的定义是指对数据流、数据流分量即数据元素、数据存储和处理四类元素进行定义。

3.数据字典的作用是什么?

答:数据字典的作用是:(1)与数据流图配合、描述软件系统的逻辑模型;(2)阶段性文档;(3)对数据流图中除源、终点外的其余成分均进行严格的无二义的、详尽的定义。

第九次作业

1.软件设计阶段的任务是什么?

答:软件设计阶段的任务是对软件需求有了完整、准确、具体的理解之后,接下来的工作任务就是用软件正确地实现这些需求。这个阶段的工作目标是产生概要设计和详细设计文档。

2.结构程序设计常见的三种结构是什么?

答:结构程序设计常见的三种基本结构:顺序、循环、选择。

3.面向对象建模有哪几种?

答:面向对象建模有3种:(1)描述系统功能的功能模型;(2)描述系统数据结构的对象模型;(3)描述系统控制结构的动态模型。即功能模型;对象模型、动态模型。

第十次作业

1.对象的定义是什么?

答:对象的定义是(1)从面向对象程序设计角度看对象定义:对象是具有相同状态的一组操作的集合;(2)从信息的模拟角度看对象定义:对象是对问题域某个东西的抽象,这种抽象反映了系统保存有关这个东西的信息或与它交互的能力。也就是说,对象是对属性值和操作的封装。(3)形式化定义:对象::=,其中:ID是对象的标识或名字;MS是对象中的操作集合;DS是对象的数据结构;MI是对象受理的消息名集合(即对外接口)

2.面向对象方法学的主要优点是什么?

答:1.与人类习惯的思维方法一致;2.稳定性好;3.可重用性好;4.较易开发大型软件产品;5.可维护性好。

3.什么是类(Class)?

答: 类就是对相同数据和相同操作的一组相似对象的定义,或者说,类是对具有相同属性和行为的一个或多个相似对象的描述。

第十一次作业

1.提高软件可重用性的主要准则是什么?

答:提高软件可重用性的主要准则是:(1)提高方法内聚;(2)减小方法的规模;(3)保持方法的一致性;(4)把策略与实现分开;(5)全面覆盖;(6)尽量不使用全局信息;(7)利用继承机制

2.为什么说在软件开发工作临近结束时才补写有关的一系列文档是不符合软件工程思想的?

答:文档作为软件产品的有形部分,既可作为各开发阶段的成果,又可作为评价、审查工作的主要对象,还可作为前后阶段交接的重要文字资料,这样有助于软件工程管理工作的开展,对于规范化的工作有助于保证软件各阶段的工作质量。若最后才补文档就失去了上述的价值。

3.假设你的任务是对一个已有的软件做重大修改,而且只允许你从下述文档中选取两份:(a)程序的规格说明;(b)程序的详细设计结果(自然语言描述加上某种设计工具表示);(c)源程序清单(其中有适当数量的注释)。你将选取哪两份文档?为什么这样选取?

答:选择(a)和(b)重大修改可能追加到改动系统的需求约定和设计方案,而源程序的改动,甚至程序编制,在详细设计完成后才可进行,比起修改需求或设计方案而言要容易得多。

第十二次作业

1.测试的正确定义是什么?

答:测试的正确定义是“为了发现程序中的错误而执行程序的过程”。这和某些人通常想象的“测试是为了表明程序是正确的”,“成功的测试是没有发现错误的测试’等是完全相反的。

2.什么是黑盒测试?

答:黑盒测试把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。即只测试程序的接口信息。适用于黑盒测试方法有:边界值分析、等价划分、错误推理。

3.计算环形复杂度。

答:流图中的区域数等于环形复杂度;流图G的环形复杂度V(G)=E-N+2,其中E是流图中边的条数,N是流图中节点数;流图G的环形复杂度V(G)=P + 1,其中P是流图中判定节点的数目。

4.调试的目标是什么?它有几种途径?

答:无论采用什么方法,调试的根本目标都是寻找软件错误的原因并改正之。这个目标是通过把系统地评估、直觉和运气组合起来实现的。一般来说,有下列三种调试途径可以采用:·蛮干法;·回溯法;·原因排除法。

第十三次

1.主程序员组的核心有几个人?其角色名称与分工是什么?

答:主程序员:全面负责系统定义、设计、编码、调试、安装。辅助程序员:协助主程序员,必要时替代主程序员(平时侧重于测试方案,分析测试结果)。程序管理员:全部事务性工作(提交上机程序、保存运行语言、进行软件配置)。

2.什么是基线?

答:在软件工程范围内,基线是软件开发的里程碑,它的标志是交付一个或多个软件配置项,这些软件配置项已经通过正式的技术复审而获得认可。或者说,基线是软件生存期中各开发阶段的一个特定点,它标志着一个阶段的结束。

3.能力成熟度模型的组成成分是什么?

答:能力成熟度模型的组成包括以下成分。·成熟度等级(Maturity levels);·过程能力(Process Capability);·关键过程域(Key Process Areas,KPA);·目标(Goals);·公共特性(Common Features);·关键实践(Key Practices)。

4.能力成熟度的五个等级是什么?

答:能力成熟度的五个等级从低到高是:初始级、可重复级、已定义级、已管理级和优化级。

第十四次

1.软件重用的基本要求是什么?

答:为使软构件也像硬件集成电路那样,能在构造各种各样的软件系统时方便地重复使用,就必须使它们满足下列要求。(l)模块独立性强;(2)具有高度可塑性;(3)接口清晰、简明、可靠。

2.类构件的重用方式有哪些?

答:类构件的重用方式有:(1)实例重用;(2)继承重用;(3)多态重用。

3.什么是3C模型?

答:描述可重用的软件构件一种理想的方式是3C模型——概念(concept)、内容(content)和语境(context)。

下载软件工程课后答案-殷锋主编1(范文模版)word格式文档
下载软件工程课后答案-殷锋主编1(范文模版).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    文学理论教程(第四版 童庆炳 主编)课后答案完整版

    第一章 基本概念 1.文艺学:研究文学及其规律的学科。 2.文学活动:把文学理解为一种活动,由作品、作家、世界、读者等要素组成,是人类的一种高级的特殊的精神活动。 3.文学理论:对文......

    文学理论教程(第四版_童庆炳_主编)课后答案完整版

    第一章 基本概念 1.文艺学:研究文学及其规律的学科。 2.文学活动:把文学理解为一种活动,由作品、作家、世界、读者等要素组成,是人类的一种高级的特殊的精神活动。 3.文学理论:对文......

    网络营销实务(高凤荣主编)课后习题及答案

    第一章 网络营销的理论基础 一、判断题 1、 网络营销是市场营销的未来发展方向。( ) 2、 网络营销就是利用互联网进行的销售行为。( ) 3、 电子商务是网络营销的 。( ) 4、 利......

    财政与金融课后习题答案(主编:张子龙)

    财政与金融课后习题答案 第一章 1、公共产品:是私人产品的对称,是指具有消费或使用上的非竞争性和受益上的非排他性的产品,亦称“公共财货”、“公共物品”。 2、市场失灵:市场......

    软件工程自考课后习题4

    第八章习题参考答案 软件维护有哪些内容? 答:(1)校正性维护。在软件交付使用后,一些隐含的错误在某些特定的使用环境下会暴露出来。为了识别和纠正错误,修改软件性能上的缺陷,应进......

    现代物流管理第二章课后习题答案(黄中鼎主编)

    现代物流管理第二章(黄中鼎主编) 一、 名词解释 社会物流:社会物流也称宏观物流或大物流,它是对全社会物流的总称,一般指流通领域所发生的物流。 第三方物流:由供方和需方以外的物......

    课后答案

    (各个学院都有,看了包你睡得香,从此不挂科~~~) 来源: 左绿水的日志【千份热门课后习题答案大全】 ▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆ 《新视野大学英语......

    软件工程试题及答案

    软件工程试题及解答 一,单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的横线上。 1.可行性......