软件工程第三版课后习题

合集下载

《软件工程》各章课后习题答案

《软件工程》各章课后习题答案

《软件工程》各章课后习题答案软件工程是计算机科学与技术的一门重要学科,旨在研究和应用工程原则和方法来开发高质量的软件系统。

课程中的习题对于加深学生对软件工程理论和实践的理解至关重要。

下面是对《软件工程》各章课后习题的答案,希望能够帮助你更好地掌握软件工程的知识。

第一章:软件工程导论1. 软件工程的定义:答:软件工程是通过应用系统化、规范化和可量化的方法进行软件开发、运行和维护的学科。

2. 软件工程的目标:答:软件工程的目标是提高软件开发的质量、效率和可靠性,使得软件能够满足用户的需求和期望。

3. 软件生命周期模型:答:常见的软件生命周期模型包括瀑布模型、迭代模型、敏捷模型等。

每个模型都有其独特的特点和适用场景。

4. 软件过程模型:答:软件过程模型描述了软件开发过程中的一系列活动和阶段,常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。

5. 软件工程的基本原则:答:常见的软件工程基本原则包括分阶段、逐步求精、持续集成、迭代开发、需求优先等。

第二章:软件项目管理1. 软件项目管理的定义:答:软件项目管理是指对软件开发过程中的资源、进度、质量等进行有效管理,以确保软件项目能够按时、按质地完成。

2. 软件项目管理的内容:答:软件项目管理包括项目计划、需求管理、项目进度管理、资源管理、风险管理等方面。

3. 软件项目管理的方法:答:常见的软件项目管理方法包括敏捷项目管理、水平项目管理、里程碑项目管理等。

4. 软件项目管理的工具:答:常用的软件项目管理工具包括甘特图、PERT/CPM网络图、项目管理软件等。

第三章:软件需求分析与规格说明1. 软件需求的定义:答:软件需求是指用户对软件系统的要求和期望,包括功能需求、性能需求、接口需求等方面。

2. 软件需求分析的方法:答:常用的软件需求分析方法包括面向对象分析法、数据流图法、用例分析法等。

3. 软件需求规格说明的格式:答:常见的软件需求规格说明的格式包括自然语言描述、结构化描述、图形描述等。

实用软件工程第3版习题解答-附答案

实用软件工程第3版习题解答-附答案

《实用软件工程》第3版习题参考答案习题 11.5 读者认同“4种开发方法”的方法论和“五个面向”的实践论吗?为什么?“四种开发方法”是指“面向过程的方法、面向对象的方法、面向数据的方法、形式化方法”。

面向过程的方法来源于面向过程的程序设计;面向对象的方法来源于面向对象的程序设计;面向数据的方法就是面向元数据的方法,它来源于关系数据库程序设计;形式化方法来源于离散数学中的集合运算和逻辑运算。

四种方法各适用于不同的场合,各有优缺点,互相促进,构成开发方法论的多极化世界。

“五个面向理论”是指“面向流程分析、面向数据设计、面向对象实现、面向功能测试、面向过程管理”,它是在综合“四种开发方法”各自的优点之后提出的软件工程实施理论,是对前者的继承与发展。

总之,上述提法既精彩又实用。

1.11 什么叫软件危机?通过本章的学习,你认为应该怎样克服软件危机?所谓软件危机,就是在软件开发和维护过程中所遇到一系列难以控制的问题。

“软件危机”这个专业术语的首次出现,是1968年NATO(North Atlantic Treaty Organization,北约)的计算机科学家,在联邦德国召开的国际学术会议上提出的。

为了克服软件危机,同样是在1968年,北约科技委员会召集了近50名一流的编程人员、计算机科学家和工业界巨头,讨论和制定摆脱“软件危机”的对策。

就在那次会议上,第一次提出了软件工程(Software Engineering)这个专业术语。

当时人们的想法是:若借用建筑工程或机器制造工程的思想、标准、规范、规程去开发软件与维护软件,也许能克服软件危机。

以后的实践证明:用工程的方法开发软件与维护软件是个好主意,但是要完全克服软件危机,还有许多其他工作要做。

例如,将软件公司纳入CMMI的过程改进轨道,就能真正克服软件危机。

2.4 简述瀑布模型、增量模型、迭代模型、原型模型、XP等模型的优缺点。

软件开发模型比较表4.10 业界存在哪三种需求分析方法?你认为哪一种方案更好?业界存在三种需求分析方法:面向功能分析、面向对象分析、面向数据分析。

软件工程管理分析案例教程(第三版)课后习题-答案

软件工程管理分析案例教程(第三版)课后习题-答案

第一章二、判断题1、搬家属于项目。

(√)2、项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的永久性的努力。

(×)3、过程管理就是对过程进行管理,目的是要让过程能够被共享、复用,并得到持续的改进。

(√)4、项目具有临时性的特征。

(√)5、日常运作存在大量的变更管理,而项目基本保持连贯性的。

(×)6、项目开发过程中可以无限制地使用资源。

(×)三、选择题1、下列选项中不是项目与日常运作的区别的是(C)A. 项目是以目标为导向的,日常运作是通过效率和有效性体现的。

B. 项目是通过项目经理及其团队工作完成的,而日常运作是职能式的线性管理。

C.项目需要有专业知识的人来完成,而日常运作的完成无需特定专业知识。

D.项目是一次性的,日常运作是重复性的。

2、下列选项中最能体现项目的特征(C)A.运用进度计划技巧 B.整合范围与成本 C.确定期限 D.利用网络进行跟踪3、以下都是日常运作和项目的共同之处,除了(D)A.由人来做 B.受限于有限的资源 C.需要规划、执行和控制 D.都是重复性工作4、项目经理的职责不包括(D)A.开发计划 B.组织实施 C.项目控制 D.提供资金5、下列选项中属于项目的是(C)A.上课 B.社区保安 C.野餐活动 D.每天的卫生保洁6、下列选项中正确的是(C)A.一个项目具有明确的目标而且周期不限B.一个项目一旦确定就不会发生变更C.每个项目都有自己的独特性D.项目都是一次性的并由项目经理独自完成7、(B)是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。

A.过程 B.项目 C.项目群 D.组合8、(B)是一系列伴随着项目的进行而进行,目的是确保项目能够达到期望结果的一系列管理行为。

A.人力资源管理 B.项目管理 C.软件项目管理 D.需求管理9、下列活动中不是项目的是(C)A.野餐活动 B.集体婚礼 C.上课 D.开发操作系统10、下列选项中不是项目的特征的是(C)A.项目具有明确的目标B.项目具有限定的周期C.项目可以重复进行D.项目对资源成本具有约束性第二章二、判断题1、项目初始阶段甲方为软件开发方,乙方为顾客。

软件工程(第3版)习题答案

软件工程(第3版)习题答案

软件工程(第3版)部分习题答案第1章一、选择题1.C2.A3.D4.D5.D6.A7.D8.A9.A 10.D11.B 12.A 13.A 14.D 15.A第2章一、选择题1.D2.D3.A4.A5.A6.D7.A8.D第3章一、选择题1.B2.A3.C4.D5.B6.A7.B8.D9.A 10.A11.B 12.A 13.B 14.D 15.B 16.A 17.D 18.C 19.D 20.B二、简答题7.数据流图如下:考生分数招生计划文件录取线文件10.注:设重量为W(单位为Kg)重量<=2Kg,>2Kg且<=20Kg,>20Kg,分别用L、M、H表示判定树重量<=2Kg —— 12元重量>2Kg 且<=20Kg —— 6W 元重量>20Kg —— 6.5(W-20)+120重量<=2Kg —— 24元重量>2Kg 且<=20Kg —— 12W 元重量>20Kg —— 13(W-20)+24011.设汇款金额为W 元。

判定树如下:汇额 本埠/外埠 汇费 <=200 ----------------------- 2元 >200且<=5000元 ----------- W*0.01元 >5000 --------------------- 50元判定表如下:三种汇额分别用符号L 、M 、H 表示,汇款额用W 表示。

可简化为:第4章一、选择题1.A2.C3.C4.B5.C6.D7.B8.D9.A 10.C11.C 12.A 13.C 14.A 15.A 16.A 17.B 18.D 19.C 20.D 21.A 22.C 23.A三、应用题 1.国内 国际2.5.对于分支结构if(f)a;elseb;只使用顺序和循环结构的PAD图如下:4.(1)PAD如下第5章一、选择题1.D2.A3.C4.A5.D6.A7.D8.A9.D 10.A11.D 12.A 13. C 14.C 15.A 16.A 17.B 18.D 19. A 20.C 第6章一、选择题1.D2.D3.D4.A5.A6.C7.C8.B9.A 10.C二、简答题4.“计算机辅助教学系统”的用例图5.6.某人的婚姻状态图电话机状态图8.9.第7章一、选择题1.B2.D3.A4.D5.C6.D7.C8.C9.A 10.A11.C 12.D 13 ①④⑤⑦⑩14.C 15.B 16.B17.C 18.C三、应用题1.一方面尽量不使用“非”条件;另一方面语句格式不规范。

计算机软件技术基础(第三版) 课后习题答案较全

计算机软件技术基础(第三版) 课后习题答案较全

第一章信息与计算机1.1 什么是信息?信息与数据的区别和联系在何处?信息定义之一:信息是现实世界中存在的客观实体、现象、关系进行描述的数据。

信息定义之二:信息是经过加工后并对实体的行为产生影响的数据。

与数据的区别和联系:数据定义:数据是现实世界客观存在的实体或事物的属性值,即指人们听到的事实和看到的景象。

我们把这些数据收集起来,经过处理后,即得到人们需要的信息。

信息和数据的关系可以归结为: 1. 信息是有一定含义的数据。

2. 信息是经过加工(处理)后的数据。

3. 信息是对决策有价值的数据。

1.2 信息有哪些基本属性?信息的基本属性有: 1. 事实性。

2. 等级性。

3. 可压缩性。

4. 可扩散性。

5. 可传输性。

6. 共享性。

7. 增值性和再生性。

8. 转换性。

1.3 计算机的主要特点是什么?计算机最主要的特点是: 1. 高速自动的操作功能。

2. 具有记忆的能力。

3. 可以进行各种逻辑判断。

4. 精确高速的计算能力。

1.5 完整的计算机系统应该包括哪几部分?目前最完整的计算机系统学说认为由五部分组成: 1. 人员 2. 数据 3. 设备 4. 程序 5. 规程1.6 什么是计算机硬件?什么是计算机软件?硬件:泛指实际存在的物理设备,包括计算机本身及其外围设备。

微型计算机的硬件系统:主机、外存储器、输入设备、输出设备、微机的系统总线。

软件:是指计算机程序、方法、规则的文档以及在计算机上运行它时所必须的数据。

计算机软件一般分为系统软件和应用软件。

1.8 软件技术发展的几个阶段各有什么特点?它与硬件的关系如何?第一阶段:高级语言阶段特点:这一时期,编译技术代表了整个软件技术,软件工作者追求的主要目的是设计和实现在控制结构和数据结构方面表现能力强的高级语言。

但在这一时期内,编译系统主要是靠手工编制,自动化程度很低。

硬件关系:此时期计算机的硬件要求仅能用机器指令来编制可运行的程序。

第二阶段:结构程序设计阶段特点:在程序的正确性方面,提出了结构化程序设计思想使程序的可靠性提高了。

软件工程实用教程第三版郭宁主编课后习题及答案(供参考)

软件工程实用教程第三版郭宁主编课后习题及答案(供参考)

第一章软件工程引论1.在下列选项中,(D)不是软件的特征。

A.系统性与复制性 B. 可靠性与一致性 C. 抽象性与智能型 D.有形性与可控性2.软件是一种(B)产品。

A.有形 B. 逻辑 C. 物质 D. 消耗3.软件工程是一种(A)分阶段实现的软件程序开发方法。

A.自顶向下B. 自底向上C. 逐步求精D. 面向数据流4.与计算机科学的理论研究不同,软件工程是一门(B)学科。

A.理论性 B. 工程性 C. 原理性 D. 心理性5.软件工程与计算机科学性质不同,软件工程着重于(C)。

A.原理探讨 B. 理论研究 C. 建造软件系统 D. 原理性的理论6.下列说法正确的是(B)A.软件工程的概念于20世纪50年代提出B.软件工程的概念于20世纪60年代提出C.20世纪70年代出现了客户机/服务器技术D.20世纪80年代软件工程学科达到成熟7.软件工程方法学中的软件工程管理是其中的一个重要内容,它包括软件管理学和软件工程经济学,它要达到的目标是(D)A.管理开发人员,以开发良好的软件B.采用先进的软件开发工具,开发优秀的软件C.消除软件危机,达到软件生产的规模效益D.以基本的社会效益为基础,工程化生产软件第二章软件生命周期及开发模型1.软件生命周期包括可行性分析和项目开发计划、需求分析、总体设计、详细分析、编码、(B)、维护等活动。

A.应用 B. 测试 C. 检测 D. 以上答案都不正确2.软件生命周期模型有多中,下列项目中,(C)不是软件生命周期模型。

A.螺旋模型 B. 增量模型 C. 功能模型 D. 瀑布模型3.软件生命周期中时间最长的阶段时(D)A.需求分析阶段 B. 总体设计阶段 C. 测试阶段 D. 维护阶段4.瀑布模型是一种(D)A.软件开发方法B. 软件生存周期C. 程序设计方法学D. 软件生存周期模型5.软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A)A.瀑布模型B. 对象模型C. 螺旋模型D. 层次模型6.在结构化的瀑布模型中,(D)阶段定义的标准将成为软件测试中系统测试阶段的目标A.详细设计阶段B. 总体设计阶段C. 可行性研究阶段D. 需求分析7.增量模型是一种(B)的模型A.整体开发B. 非整体开发C. 灵活性差D. 较晚产生工作软件8.(C)是指模拟某种产品的原始模型A.模型B. 最初模型C. 原型D. 进化模型9.建立原型的目的不同,实现原型的途径也有所不同,下列不正确的类型是(B)A.用于验证软件需求的原型B. 垂直原型C. 用于验证设计方案的原型D.用于演化出目标系统的原型10.原型化方法是一种(A)型的设计过程。

软件工程课后习题(含答案)

软件工程课后习题(含答案)

第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。

2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。

二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。

可靠性是衡量软件质量的一个重要目标。

2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。

可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。

三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。

(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。

2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。

(2)软件开发简单,易学、易上手。

(3)专业或非专业人员都能参与软件开发活动。

第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。

2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。

3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。

4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。

二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。

2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。

2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。

3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

软件工程(史济民第三版)-原理、方法及应用课后习题

软件工程(史济民第三版)-原理、方法及应用课后习题

软件工程(史济民第三版)-原理、方法及应用课后习题软件工程(史济民第三版)-原理、方法及应用课后习题软件工程是一门涉及软件开发和维护的学科,具有原理、方法和应用三个方面的内容。

本章将探讨史济民第三版的软件工程课后习题,包括问题分析、需求规格说明、软件设计、软件测试等方面的内容。

1. 问题分析问题分析是软件工程中的第一步,它涉及对问题的背景、需求和目标进行分析。

在史济民第三版的课后习题中,有许多问题需要进行分析和解决。

例如,习题1要求分析一个给定的场景,找出需求和问题,进而提出解决方案。

对于这类问题,我们可以采用以下的分析步骤:1. 理解问题背景和需求:阅读习题中的场景,了解涉及的业务领域和需求。

2. 识别问题:找出场景中存在的问题和挑战,例如效率低下、错误率高等。

3. 提出解决方案:基于问题的分析,提出改进措施和解决方案,例如引入自动化工具、优化算法等。

2. 需求规格说明需求规格说明是软件工程中的重要环节,它涉及对软件系统需求进行详细描述和规定。

在史济民第三版的习题中,有许多涉及需求规格的问题。

例如,习题2要求对给定的场景进行需求分析,并书写需求规格说明。

在完成这类习题时,我们可以参考以下的格式:1. 概述:对软件系统的背景和目标进行简要描述。

2. 功能需求:详细列出系统需要实现的功能和特点。

3. 非功能需求:描述与系统性能、安全性等相关的需求。

4. 约束:列出系统开发过程中需要遵守的限制条件。

3. 软件设计软件设计是软件工程中的核心环节,它涉及软件系统的整体结构和模块设计。

在史济民第三版的习题中,有许多关于软件设计的问题。

例如,习题3要求设计一个给定场景下的软件系统。

在进行软件设计时,我们可以使用以下的设计方法:1. 模块化设计:将软件系统划分为不同的模块,并设计各个模块的功能和接口。

2. 流程图和数据流图:使用图形化的工具描述软件系统的流程和数据流动。

3. 面向对象设计:基于对象和类的概念进行系统设计,强调封装、继承和多态等特性。

软件工程第三版答案

软件工程第三版答案

软件工程第三版答案【篇一软件工程课后答案】1.1什么是计算机软件软件的特点是什么答计算机软件指计算机系统中的程序及其文档。

软件的特点是a软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确得估算;b软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大;c软件的使用没有硬件那样的机械磨损和老化问题。

1.2简述软件的分类,并举例说明。

答在计算机科学技术百科全书中,将软件分为系统软件、支撑软件和应用软件3类。

a系统软件系统软件居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。

系统软件与具体的应用领域无关。

例如编译程序、操作系统等。

b支撑软件支撑软件是支撑软件的开发和维护的软件。

例如数据库管理系统、网络软件、软件工具、软件开发环境等。

c应用软件应用软件是特定应用领域专用的软件。

例如工程/科学计算软件、嵌入式软件、产品线软件、web 应用软件、人工智能软件。

1.4什么是软件工程答在计算机科学技术百科全书中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。

1.5简述软件工程的基本原则。

答软件工程原则包括围绕工程设计、工程支持和工程管理提出的以下4条基本原则第一条围绕适宜的开发模型;第二条采用合适的设计方法;第三条提供高质量的工程支撑;第四条重视软件工程的管理。

1.6软件生存周期分哪几个阶段分别简述各个阶段的任务。

答软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。

a计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机系统元素之间的关系,进行成本估算,做出进度安排,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择。

b需求分析主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面等要求,生成软件需求规约。

软件工程-原理、方法及应用(史济民第三版)(课后习题答

软件工程-原理、方法及应用(史济民第三版)(课后习题答

软件工程-原理、方法及应用(史济民第三版)(课后习题答案)绪论1.什么是软件危机?为什么会产生软件危机?答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。

(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。

(2).软件生产技术进步缓慢2. 什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里?答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。

采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。

3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。

答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。

当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。

新方法在推行初期,总有人不愿接受和采用。

若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。

(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。

软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。

所以对于一个理想的软件工程环境,应该同时具备技术和管理两个方面。

4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。

答:用C++开发一个软件,是校园一卡通的模块。

首先,要在编辑程序支持下在计算机中输入源程序。

然后编译程序,把源程序翻译成目标程序。

如果发现错误,就重新调入编辑程序对源程序进行修改。

编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。

编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。

离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。

软件工程-原理、方法及应用(史济民第三版)答案范文

软件工程-原理、方法及应用(史济民第三版)答案范文
6.何谓面向对象软件工程?简述它与传统软件工程在各型软件开发中的作用。
答:以面向对象程序设计为基础。
7.软件按规模大小可分成哪几类?简述软件工程中各型软件开发中的作用。
答:按规模分为极小、小、中、大、甚大、极大。
(1)中小型软件:软件工程对改进软件质量,提高程序员生产率和满足用户的需求,有很大的作用。
软件开发模型
1.什么是软件生存周期?把生存周期划分为阶段的目的是什么?
答:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段,给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而大大增加了软件复杂性变得交易控制和管理。
2.传统的瀑布模型把生存周期分为哪些阶段?瀑布模型软件开发有哪些特点?
8. DFD和CFD有什么区别?
答:
9.什么是系统的行为模型,如何建立?
答:类对象模型所表示的是面向对象分析模型中的静态部分,而对象行为模型则用于描述系统的动态行为,即系统如何对应外部事件---系统的行为模型。
建立一个对象行为模型一般要经历一些过程:评估所以的用例来理解系统中的交互序列;找出驱动交互序列的事件;为每个用例创建事件轨迹;为对象创建状态转换图。
答:瀑布模型在编码以前安排了分析阶段和设计阶段;阶段间具有顺序性和依赖性。
3.说明文档和复审对于软件质量的控制的作用。
答:每一阶段都要完成规定的文档,没有完成文档,就认为没有完成该阶段的任务。软件开发是许多人共同参加的计划,完整与合格的文档,不仅是开发时期软件人员之间互相通信的媒介,也是运行时期对软件进行维护的中要依据。每一阶段都要对已完成的文档进行复审,以便尽早发现问题,消除隐患。愈是早期潜伏下来的故障,暴露出来的时间愈晚,排除故障需付出的代价也就愈高。及时复审是保证软件质量,降低开发成本的重要措施。

软件工程管理分析案例教程(第三版)课后习题-答案

软件工程管理分析案例教程(第三版)课后习题-答案

第一章二、判断题1、搬家属于项目。

(√)2、项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的永久性的努力。

(×)3、过程管理就是对过程进行管理,目的是要让过程能够被共享、复用,并得到持续的改进。

(√)4、项目具有临时性的特征。

(√)5、日常运作存在大量的变更管理,而项目基本保持连贯性的。

(×)6、项目开发过程中可以无限制地使用资源。

(×)三、选择题1、下列选项中不是项目与日常运作的区别的是(C)A. 项目是以目标为导向的,日常运作是通过效率和有效性体现的。

B. 项目是通过项目经理及其团队工作完成的,而日常运作是职能式的线性管理。

C.项目需要有专业知识的人来完成,而日常运作的完成无需特定专业知识。

D.项目是一次性的,日常运作是重复性的。

2、下列选项中最能体现项目的特征(C)A.运用进度计划技巧 B.整合范围与成本 C.确定期限 D.利用网络进行跟踪3、以下都是日常运作和项目的共同之处,除了(D)A.由人来做 B.受限于有限的资源 C.需要规划、执行和控制 D.都是重复性工作4、项目经理的职责不包括(D)A.开发计划 B.组织实施 C.项目控制 D.提供资金5、下列选项中属于项目的是(C)A.上课 B.社区保安 C.野餐活动 D.每天的卫生保洁6、下列选项中正确的是(C)A.一个项目具有明确的目标而且周期不限B.一个项目一旦确定就不会发生变更C.每个项目都有自己的独特性D.项目都是一次性的并由项目经理独自完成7、(B)是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。

A.过程 B.项目 C.项目群 D.组合8、(B)是一系列伴随着项目的进行而进行,目的是确保项目能够达到期望结果的一系列管理行为。

A.人力资源管理 B.项目管理 C.软件项目管理 D.需求管理9、下列活动中不是项目的是(C)A.野餐活动 B.集体婚礼 C.上课 D.开发操作系统10、下列选项中不是项目的特征的是(C)A.项目具有明确的目标B.项目具有限定的周期C.项目可以重复进行D.项目对资源成本具有约束性第二章二、判断题1、项目初始阶段甲方为软件开发方,乙方为顾客。

计算机软件技术基础(第三版)课后习题答案较全

计算机软件技术基础(第三版)课后习题答案较全

计算机软件技术基础(第三版)课后习题答案较全第一章信息与计算机1.1 什么是信息?信息与数据的区别和联系在何处?信息定义之一:信息是现实世界中存在的客观实体、现象、关系进行描述的数据。

信息定义之二:信息是经过加工后并对实体的行为产生影响的数据。

与数据的区别和联系:数据定义:数据是现实世界客观存在的实体或事物的属性值,即指人们听到的事实和看到的景象。

我们把这些数据收集起来,经过处理后,即得到人们需要的信息。

信息和数据的关系可以归结为:1. 信息是有一定含义的数据。

2. 信息是经过加工(处理)后的数据。

3. 信息是对决策有价值的数据。

1.2 信息有哪些基本属性?信息的基本属性有: 1. 事实性。

2. 等级性。

3. 可压缩性。

4. 可扩散性。

5. 可传输性。

6. 共享性。

7. 增值性和再生性。

8. 转换性。

1.3 计算机的主要特点是什么?计算机最主要的特点是: 1. 高速自动的操作功能。

2. 具有记忆的能力。

3. 可以进行各种逻辑判断。

4. 精确高速的计算能力。

1.5 完整的计算机系统应该包括哪几部分?目前最完整的计算机系统学说认为由五部分组成: 1. 人员 2. 数据3. 设备 4. 程序 5. 规程1.6 什么是计算机硬件?什么是计算机软件?硬件:泛指实际存在的物理设备,包括计算机本身及其外围设备。

微型计算机的硬件系统:主机、外存储器、输入设备、输出设备、微机的系统总线。

软件:是指计算机程序、方法、规则的文档以及在计算机上运行它时所必须的数据。

计算机软件一般分为系统软件和应用软件。

1.8 软件技术发展的几个阶段各有什么特点?它与硬件的关系如何?第一阶段:高级语言阶段特点:这一时期,编译技术代表了整个软件技术,软件工作者追求的主要目的是设计和实现在控制结构和数据结构方面表现能力强的高级语言。

但在这一时期内,编译系统主要是靠手工编制,自动化程度很低。

硬件关系:此时期计算机的硬件要求仅能用机器指令来编制可运行的程序。

4软件技术基础 第三版 课后习题答案

4软件技术基础 第三版  课后习题答案

第四章Visual C++环境及其应用软件开发一般是在某个操作系统平台之上进行的,平台提供了大量应用工具,这些工具为编程提供了极大的便利,使得编出的应用系统大为丰富。

有使用方便、清新悦目的用户界面;有计算结果的各种表达:表格、表单、图符、图像、图形、动画,甚至音频、视频等。

几十年来,各种支持应用的工具软件形成了当今计算机的应用文化。

对应用开发者而言,开发的应用程序也必须适应这种文化,而不单是编写核心计算的程序。

进行人机界面的设计时,要充分利用平台提供的测试、部署、通信、安装工具加速应用开发,并使开发的应用(程序)系统与各厂商提供的应用软件风格相似。

本章主要介绍程序开发环境。

4.1 应用(程序)系统的体系结构一个应用(程序)系统总是由多个程序模块组成。

过程式编程是函数/子例程、数据块;面向对象是类、包;基于构件编程是接口类、构件、连接件。

为了功能全、少编程,它们往往是共享的,能重用就重用。

而且大量重用经过实用考验的模块,应用程序更可靠。

模块的相互联系就形成体系结构(Architecture),就如同一个房子规定了它各个构件的位置,它们共同表现出这个房子的使用性能。

一般应用(程序)系统的体系结构如图4.1所示。

从逻辑上讲现代应用程序必须有为用户服务的模块,图中以小方块表示交互的用户输入和输出显示、报表软硬拷贝、保存文件、入库、安装等。

第二部分是业务服务模块,图中以小三角表示,即常说的这个(软件)程序该做什么核心计算。

可以是实现某个业务流程的各个模块,如民航订票系统的查询、订票、收费、出票各功能模块。

也可以是解决科学计算的高阶微分方程数值解的程序模块。

第三部分是数据服务的模块,图中以小圆圈表示。

它是与数据库交互的模块。

这里的数据库是广义的,包括文件库。

有些专用的科学计算的数据并不一定与其他应用有共享需求,作为文件保存为永久性数据,也叫入数据库。

但此时数据服务十分简单。

图中两个应用Application1和Application2共享若干模块,也有为自己开发的模块。

软件工程第三版课后习题

软件工程第三版课后习题

C.单出口 D.随意跳转
2.软件调试的目的是( B )。
A.发现错误 B.改正错误 C.改善软件的性能 D.挖掘软件的潜能
3.将每个模块的控制结构转换成计算机可接受的程序代码时( A )阶段的任务。
A.编码 B.需求分析 C.详细设计 D.测试
4.编码高效率原则包括提高运行效率、提高储存效率和提高( A )。
B.确定系统的性能要求
D.确定系统是否满足开发人员需要
6.在需求分析阶段,需求分析人员需要了解用户的需求,认真仔细地调研、分析,
最终应建立目标系统的逻辑模型并写出( B )。
A.模块说明书 B.需求规格说明书 C.项目开发设计D.合同文档
7.软件需求阶段需要解决的问题是( A )。
A.软件做什么
C.软件采用什么结构
简介的怨言来描述软件系统模型。
A.DFD图 B.PAD图 C.HIPO图 D.数据字典
第四章
一、判断题
1、软件设计是软件工程的重要阶段,是一个把软件需求转换为软件代码的过程。
(N)
2、软件设计说明书是软件概要设计的主要成果。( Y )
3、软件设计中设计复审和设计本身一样重要,其主要作用是避免后期付出高代
8、以对象、类、继承和通信为基础的面向对象设计方法也是常见的软件概要设计
方法之一。( N )
二、选择题
1.内聚是从功能角度来度量模块内的凉席,按照特定次序执行元素的模块属于
( C )。
A.逻辑内聚 B.时间内聚 C.过程内聚 D.顺序内聚
2.概要设计是软件工程中很重要的技术活动,下列不是概要设计任务的是( B )。
第一章
一、判断题
1.SWEBOKV3分两大类,共有 15个知识域。( Y )

【免费下载】软件工程 原理方法及应用史济民第三版答案

【免费下载】软件工程 原理方法及应用史济民第三版答案

软件工程-原理、方法及应用(史济民第三版)答案绪论1.什么是软件危机?为什么会产生软件危机?答:软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题。

(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。

(2).软件生产技术进步缓慢2. 什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里?答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。

采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。

3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。

答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。

当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。

新方法在推行初期,总有人不愿接受和采用。

若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。

(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。

软件在生产中不能按质按时完成计划,管理混乱往往是其中的重要原因。

所以对于一个理想的软件工程环境,应该同时具备技术和管理两个方面。

4.试从你的亲身实践,谈谈软件工具在软件开发中的作用。

答:用C++开发一个软件,是校园一卡通的模块。

首先,要在编辑程序支持下在计算机中输入源程序。

然后编译程序,把源程序翻译成目标程序。

如果发现错误,就重新调入编辑程序对源程序进行修改。

编译通过后,再调用连接程序吧所有通过了编译目标程序连同与之有关的程序连接起来,构成一个能在计算机上运行的可执行软件。

编译程序,编辑程序,连接程序以及支持他们的计算机操作系统,都属于软件工具。

离开这些工具,软件开发就是去了支持,变得十分困难和低效,甚至不能运行。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章一、判断题1.S WE B O KV3分两大类,共有15个知识域。

(Y)2.软件工程的提出起源于软件危机,其目的是最终解决软件的生产工程化。

(Y)3.软件工程学一般包括软件开发技术和软件工程管理两方面的内容,软件开发方法学和软件工程环境属于软件开发技术的内容,软件工程经济学属于软件工程管理。

(N)4.软件开发中的最大问题不是管理问题,而是技术问题。

(N)5.X P(e X t r e me P r o g r a mm i n g,极限编程)是由K e n t B e c k提出的一套针对业务需求和软件开发实践的规则,包括13个核心实践。

(Y)二、选择题1.下列所述不是敏捷生存期模型的是(C)。

A.S c r u mB.X PC.V模型D.O P E NU P2.软件工程的出现主要是由于(C)。

A.程序设计方法学的影响C.软件危机的出现B.其他工程学科的影响D.计算机的发展3.以下(C)不是软件危机的表现形式。

A.开发的软件不满足用户的需要B.开发的软件可维护性差C.开发的软件价格便宜D.开发的软件可靠性差4.以下不是S WE B O KV3的软件工程实践中的知识域的是(B)。

A.软件需求B.工程基础C.软件构造D.软件设计5.下列所述不是软件组成的是(D)。

A.程序B.数据C.界面D.文档6.下列对“计算机软件”描述正确的是(A)。

A.是计算机系统的组成部分B.不能作为商品参加交易C.是在计算机硬件设备生产过程中生产出来的D.之存在语计算机系统工作时7.软件工程方法的提出源于软件危机,其目的应该是最终解决软件的(D)问题。

A.软件危机B.质量保证C.开发效率D.生产工程化8.软件工程设计软件开发技术和项目管理等方面内容,下述内容中(D)不属于开发技术的范畴。

A.软件开发方法B.软件开发工具C.软件工程环境D.软件工程经济第二章一、判断题1.面向对象开发过程是多次重复和迭代的演化过程,(需要补充:面向对象开发方法是)在概念和表示方法是的一致性保证了各项开发活动之间的平滑过渡。

(N)2.基于构件软件工程开发的整个过程从需求开始,在完成体系结构设计后,并不立即开始详细设计,而是确定哪些部分可由构件组装而成。

(Y)3.软件逆向工程是根据对软件需求的分析恢复其设计和软件代码(软件代码改为需求)的过程。

(N)二、选择题1.结构化分析方法是面向(B)的自顶向下逐步求精的分析方法。

A.目标B.数据流C功能D.对象2.结构化的概要设计是以(B)技术为基础的软件设计方法。

A.抽象B模块化C.自上而下D信息屏蔽3.在结构化分析方法中,常用的描述软件功能需求的工具是(C)。

A.业务流程图、处理说明C.数据流程图、数据字典B.软件流程图、模块说明D.系统流程图、程序编码4.(A)不是U M L的图示。

A.流程图B.用例图C.活动图D.序列图第三章一、判断题1.系统流程图表达了系统中各个元素之间信息的流动情况。

(Y)2.用例需求分析方法采用的是一种结构化的情景分析方法,即是一种基于场景建模的方法。

(N)3.面向对象的分析方法认为系统是对象的集合,是以功能和数据为基础的。

(Y)4.结构化分析方法适合于数据处理类型软件的需求分析。

(Y)5.需求变更管理是需求管理过程中很重要的过程。

(Y)6.软件需求规格说明的内容包括算法的详细描述。

(N)(课本P41)二、选择题1、软件开发过程中,需求活动的主要任务是(B)。

A.给出软件解决方案C.定义模块算法B.定义需求并建立系统模型D.给出系统模块结构2、软件需求规格说明文档中包括多方面的内容,下述(D)不是软件需求规格说明文档中应包括的内容。

A.安全描述B.功能描述C.性能描述D.软件代码3.软件需求分析一般应确定的是用户对软件的(D)。

A功能需求B非功能需求C性能需求D功能需求和非功能需求4.结构化分析方法中,描述软件功能需求的常用工具有(C)。

A.业务图,数据字典B.软件流程图,模块说明C.用例图,数据字典D.系统流程图,程序编码5.软件需求分析阶段建立原型的主要目的是(D)。

A.确定系统的功能和性能要求C.确定系统是否满足用户要求B.确定系统的性能要求D.确定系统是否满足开发人员需要6.在需求分析阶段,需求分析人员需要了解用户的需求,认真仔细地调研、分析,最终应建立目标系统的逻辑模型并写出(B)。

A.模块说明书B.需求规格说明书C.项目开发设计D.合同文档7.软件需求阶段需要解决的问题是(A)。

A.软件做什么C.软件采用什么结构B.软件提供哪些信息D.软件怎样做8.软件需求管理过程包括需求获取、需求分析、需求规格说明编写、需求验证以及(D)。

A.用户参与B.需求变更C.总结D.都不正确9.在原型法中开发人员根据(A)需求不断修改原型,直到满足用户要求为止。

A.用户B.开发人员C.系统分析员D.程序员10.结构化分析方法以数据流图、(D)和加工说明等描述工具,即用直观的图和简介的怨言来描述软件系统模型。

A.D F D图B.P A D图C.H I P O图D.数据字典第四章一、判断题1、软件设计是软件工程的重要阶段,是一个把软件需求转换为软件代码的过程。

(N)2、软件设计说明书是软件概要设计的主要成果。

(Y)3、软件设计中设计复审和设计本身一样重要,其主要作用是避免后期付出高代价。

(Y)4、应用程序框架结构是一个可以重复使用的、大致完成的应用程序,可以通过对其进行定制,开发成一个客户需要的真正的应用程序。

(Y)5、面向对象的设计(O O D)是将面向对象分析(O O A)的模型转换为设计模型的过程。

(Y)6、在进行概要设计时应加强模块间的联系。

(N)7、复用原则也是软件设计的一个重要原则。

(Y)8、以对象、类、继承和通信为基础的面向对象设计方法也是常见的软件概要设计方法之一。

(N)二、选择题1.内聚是从功能角度来度量模块内的凉席,按照特定次序执行元素的模块属于(C)。

A.逻辑内聚B.时间内聚C.过程内聚D.顺序内聚2.概要设计是软件工程中很重要的技术活动,下列不是概要设计任务的是(B)。

A.设计软件系统的结构C.数据结构和数据库设计B.编写测试报告D.编写概要设计文档3.数据字典是定义(A)中的数据的工具。

A.数据流图B.系统流程图C.程序流程图D.软件结构图4.耦合是软件各个模块间连接的一种度量。

一组模块都访问同意数据结构应属于(B)。

A.内容耦合B.公共耦合C.外部耦合D.控制耦合5.面向数据流的软件设计方法中,一般是把数据流图中的数据流分为(B)两种流,在将数据流图映射为软件结构A.数据流与事物流B.交换流和事务流C.信息流与控制流D.交换流和数据流6.软件设计是一个将(B)转换为软件表示的过程。

A.代码设计B软件需求C.详细设计D.系统分析7.数据存储和数据流都是(D),仅仅是所处的状态不同。

A.分析结果B.事件C.动作D.数据8.模块本身的内聚是模块独立性的重要度量因素之一,在7类内聚中,具有最强内聚的一类是(D)。

A顺序性内聚B过程性内聚C逻辑性内聚D功能性内聚9.面向数据流的设计方法把(A)映射成软件结构。

A数据流B系统结构C控制结构D信息流10.下列关于软件设计准则的描述,错误的是(C)。

A.提高模块的独立性B.体现统一的风格C.是模块结构的作用语在该模块的控制域外D.结构应该尽可能满足变更的要求11.软件的结构化设计方法是以(C)为依据的模块结构设计方法。

A.系统数据要求B.数据结构C.数据流图D.数据流12.下面不是数据库设计的阶段的是(C)。

A.概念结构设计阶段C.模块划分B.逻辑结构设计阶段D.物理结构设计阶段第五章一、判断题1、J S D(J a c k s o n)方法的原理与Wa r n i e r方法的原理类似,也是从数据结构出发设计程序,但后者的逻辑要求更严格。

(Y)2、软件的详细设计也称模块设计,他要求设计人员为每一个程序模块确定所使用的算法、数据结构、接口细节和输入输出数据等。

(Y)3、伪代码可以被直接编译,它体现了设计的程序的框架或者代表了一个程序流程图。

(N)4、在详细设计阶段,一种历史最悠久、使用最广泛的描述程序逻辑结构的工具是程序流程图。

(Y)5、P A D是一种改进的图形描述方式,优点是能够反映和描述自顶向下的历史和过程。

(Y)6、详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后程序员根据这个蓝图编写实际的代码。

(Y)7、过程设计的描述工具包括程序流程图、N-S图、P A D图、P D L伪代码等。

(Y)二、选择题1.J a c k s o n设计方法是由J a c k s o n所提出的,它是一种面向(C)的软件设计方法。

A.对象B.数据流C.数据结构D.控制结构2.数据元素组成数据的方式基本类型是(D)。

A.顺序的B.选择的C.循环的D.以上全部3.程序流程图中的箭头代表的是(B)。

A.数据流B.控制流C.用关系D.组成关系4.伪码又称为过程设计语言(P D L),一种典型的P D L是仿照(C)编写的。

A.F o r t r a nB.汇编语言C.P a s c a l语言D.C o b o l语言5.伪码作为详细设计的工具,缺点在于(B)。

A.每个符号对应与源程序的一行代码,对于提高系统的可理解性作用很小B.不如其他图形工具直观,描述复杂的条件组合与动作间的对应关系不够明C.容易使程序不受任何约束,随意转移控制D.不支持逐步求精,是程序员不去烤炉系统的全局结构6.结构化程序流程图中一般包括3种基本结构,下述结构中(D)不属于其基本结构。

A.顺序结构B.条件结构C.选择结构D.嵌套结构7.在详细设计阶段,一种二维树形结构并可自动生成程序代码的描述工具是(A)。

A.P A DB.P D LC.I P OD.判定树8.软件详细设计的主要任务是确定每个模块的(A)。

A.算法和使用的数据结构B.外部接口C.功能D.编程9.为了提高模块的独立性,模块之间最好是(D)。

A.公共耦合B.控制耦合C.内容耦合D.数据耦合10.为了提高模块的独立性,模块内部最好是(C)。

A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚11.软件设计中,可应用于详细设计的工具有(D)。

A.数据流程图、P A D图、N-S图B.业务流程图、N-S图、伪码C.数据流程图、P A D图、N-S图和伪码D.顺序流程图、P A D图、N-S图和伪码(详细设计:程序流程图、P A D图、方框图、伪码;软件分析:数据流程图、业务流程图、结构图)第六章一、判断题1.在树状结构中,位于最上面的根部是顶层模块。

(Y)(他是程序主模式)2.应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。

相关文档
最新文档