软件工程(第五版)--习题及答案--第一章
《软件工程》各章课后习题答案

《软件工程》各章课后习题答案软件工程是计算机科学与技术的一门重要学科,旨在研究和应用工程原则和方法来开发高质量的软件系统。
课程中的习题对于加深学生对软件工程理论和实践的理解至关重要。
下面是对《软件工程》各章课后习题的答案,希望能够帮助你更好地掌握软件工程的知识。
第一章:软件工程导论1. 软件工程的定义:答:软件工程是通过应用系统化、规范化和可量化的方法进行软件开发、运行和维护的学科。
2. 软件工程的目标:答:软件工程的目标是提高软件开发的质量、效率和可靠性,使得软件能够满足用户的需求和期望。
3. 软件生命周期模型:答:常见的软件生命周期模型包括瀑布模型、迭代模型、敏捷模型等。
每个模型都有其独特的特点和适用场景。
4. 软件过程模型:答:软件过程模型描述了软件开发过程中的一系列活动和阶段,常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。
5. 软件工程的基本原则:答:常见的软件工程基本原则包括分阶段、逐步求精、持续集成、迭代开发、需求优先等。
第二章:软件项目管理1. 软件项目管理的定义:答:软件项目管理是指对软件开发过程中的资源、进度、质量等进行有效管理,以确保软件项目能够按时、按质地完成。
2. 软件项目管理的内容:答:软件项目管理包括项目计划、需求管理、项目进度管理、资源管理、风险管理等方面。
3. 软件项目管理的方法:答:常见的软件项目管理方法包括敏捷项目管理、水平项目管理、里程碑项目管理等。
4. 软件项目管理的工具:答:常用的软件项目管理工具包括甘特图、PERT/CPM网络图、项目管理软件等。
第三章:软件需求分析与规格说明1. 软件需求的定义:答:软件需求是指用户对软件系统的要求和期望,包括功能需求、性能需求、接口需求等方面。
2. 软件需求分析的方法:答:常用的软件需求分析方法包括面向对象分析法、数据流图法、用例分析法等。
3. 软件需求规格说明的格式:答:常见的软件需求规格说明的格式包括自然语言描述、结构化描述、图形描述等。
软件工程-第一章答案

习题11.什么是软件?软件和程序的区别是什么?○1软件是计算机程序及其相关的数据和文档。
○2软件是满足用户需求的一种程序。
程序不一定是软件,而软件包含了很多个程序。
程序包括软件和病毒!软件就是行为合法的程序集!软件是由程序组成2.什么是软件危机?软件危机的主要表现是什么?怎样消除软件危机?○1软件危机是指在计算机软件开发和维护时所遇到的一系列问题。
其有两个方面:一是如何开发软件以满足对软件日益增长的的需求;二是如何维护数量不断增长的己有软件。
○2主要的表现形式有以下几种:a.软件产品的发展速度跟不上硬件的发展和用户的需求,软件成本高。
b.软件的成本和开发进度不能预先估计,用户不满意。
c.软件产品质量差,可靠性不能保证。
d.软件产品可维护性差。
e.软件没有合适的文档资料。
○3要解决软件危机问题,需要采用以下措施。
a.使用好的软件开发技术和方法。
b.使用好的软件开发工具,提高软件生产率。
c.有良好的组织、严密的管理,各方面人员相互配合共同完成任务。
所以既要有技术措施,也要有组织管理措施。
3.什么是软件工程?什么是软件过程?○1软件工程是软件开发、运行、维护和引退的系统方法,是指导计算机软件开发和维护的学科。
○2软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件过程定义了运用方法的顺序、应该交付的文档、开发软件的管理措施、各阶段任务完成的标志。
软件过程必须科学、合理,才能获得高质量的软件产品。
4.软件工程学的主要内容是什么?软件工程学的主要内容是软件开发技术和软件工程管理。
5.什么是软件工程方法?有哪些主要软件工程方法?○1软件工程方法是编制软件的系统方法,它确定软件开发的各个阶段,规定每一阶段的活动产品、验收的步骤和完成准则。
○2常用的软件工程方法有结构化方法、面向数据结构方法和面向对象方法等。
6.软件工程学的基本原理是什么?是编制软件的系统方法,它确定软件开发的各个阶段,规定每一阶段的活动、产品、验收的步骤和完成准则。
第一章 软件工程概述习题及答案

第一章软件工程概述一. 填空题1. 软件的发展过程 , , , .2. 基于软件的工作方式,软件可以划分为 , , , .3. 在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境 .4. 在计算机系统中,软件是 , 而硬件是 .5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。
6. 文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档。
7. 软件生存期若分为三个大的阶段,, .8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。
9. 在软件的生存周期开发阶段要经三个步骤 , , 。
10. 瀑布模型是以文档为驱动、适合于的软件项目的模型。
11. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,,和四个步骤。
12. 软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。
采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。
螺旋线第一圈的开始点可能是一个____ 。
从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。
13. 软件开发模型 , , , , , .14. 软件工程面临的问题有 , , , .15. 面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和 .16.基于软件的功能划分可以把软件划分为 , ,和。
17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机。
为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。
18.软件工程是指导的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。
最新软件工程导论第五版习题答案教学讲义PPT

D3生理信息
F4警告信息
F2生理信号
P1 接收信号
定时的生理信号
P5 更新日志
F2生理信号 定时的 生理信号
E1 护士
E3 时钟
F3日前、时间
P4 定时取样 生理信号
F6日志
F6日志
D1患者日志
E1
护士
F1要求报告
P6
13:07:42
重庆工学产院生计病算情机报科告学与工程学院 李梁(liliang@)
从问题陈述可知,本系统数据源点是“病人”和“护士” ,他们分别提供生理信号和要求病情报告的信息。进一步 分析问题陈述,从系统应该“定时记录病人情况以形成患 者日志”这项要求可以想到,还应该有一个提供日期和时 间信息的“时钟”作为数据源点。
从问题陈述容易看出,本系统的数据终点是接收警告信息 和病情报告的护士。
F6日志
D1患者日志
E1
护士
F1要求报告
P6
13:07:42
重庆工学产院生计病算情机报科告学与工程学院 李梁(liliang@)
13
作业及解答(第3章)
2-5 北京某高校可用的电话号码有以下几类:校内电话号码 由4位数字组成,第1位数字不是0;校外电话又分为本市 电话和外地电话两类,拨校外电话需先拨0,若是本市电 话则再接着拨8位数字(第1位不是0),若是外地电话则拨3 位区码再拨8位电话号码(第1位不是0)。
8
作业及解答(第3章)
E1 护士
F4警告信息、病情报告 F1要求报告
E1 护士
E2 病人
F2生理信号
P0 患者监护系统
F6日志
D1患者日志
F5安全范围
D2患者安全范围
E3 时钟
软件工程导论(第五版)张海藩课后答案.doc

第一章软件工程概论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
3.怎样克服软件危机?(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。
将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。
总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。
软件工程(第5版课后答案)

适合于软件需求不明确,设计方案有一定风险的软件项目.
P23 7参考答案
螺旋模型 缺点: 需要相当的风险分析评估的专门技术,且成功依赖于这 种技术. 很明显一个大的没有被发现的风险问题,将会导致问题 的发生,可能导致演化的方法失去控制. 这种模型相对比较新,应用不广泛,其功效需要进一步 的验证. 优点: 对于大型系统及软件的开发,这种模型是一个很好的方 法.开发者和客户能够较好地对待和理解每一个演化级 别上的风险. 适合于大型软件的开发
P22 3
习题1第3题 什么是软件工程?它有哪些本质特性?怎样用软件工程消 除软件危机?
P22 3参考答案
软件工程是:
① 把系统的,规范的,可度量的途径应用于软件开发,运行和 维护过程,也就是把工程应用于软件; ② 研究①中提到的途径
软件工程的本质特性:
软件工程关注于大型程序的构造 软件工程的中心课题是控制复杂性 软件经常变化 开发软件的效率非常重要 和谐地合作是开发软件的关键 软件必须有效地支持它的用户 在软件工程领域中是由具有一种文化背景的人替具有另一种 文化背景的人创造产品
P23 7参考答案
优点:
它提供了一个模板,这个模板使得分析,设计,编码,测试 和支持的方法可以在该模板下有一个共同的指导. 虽然有不少缺陷但比在软件开发中随意的状态要好得多. 软件工程中应用最广泛的过程模型,在软件工程中占有肯定和重 要的位置.
P23 7参考答案
快速原型模型 在进行了基本需求分析之后,快速开发出产品的原型,然 后基于这个原型,同客户沟通,交流,更好地了解客户需 求,不断修改这个原型,到了双方认可的程度,再做详细 地分析,设计和编程,最终开发出令客户满意的产品. 优点: 使用户能够感受到实际的系统,使开发者能够快速地构 造出系统的框架. 缺点: 产品的先天性不足,因为开发者常常需要做实现上的折 中,可能采用不合适的操作系统或程序设计语言,以使 原型能够尽快工作.
软件工程第1章习题

软件工程第1章例题分析与解答一、填空题1.软件与物质产品有很大的区别,软件是一种____逻辑___产品。
2.软件工程是一门综合性交叉学科,计算机科学着重于理论和原理,软件工程着重于___建造一个软件系统____。
3.概要设计主要是把各项功能需求转换成系统的__体系结构______。
4.最基本、应用广泛、以文档为驱动、适用于开发功能明确的软件项目生存期模型是__瀑布模型_____。
5.简单实用、应用广泛、技术成熟的开发方法是__结构化方法______。
二、选择题1.同一软件的大量软件产品的生产主要是通过( B )而得到。
A.研究B.复制C.开发D.研制2.作坊式小团体合作生产方式的时代是( C )时代。
A.程序设计B.软件生产自动化C.程序系统D.软件工程3.软件工程与计算机科学性质不同,软件工程着重于( C )。
A.理论研究B.原理探讨C.建造软件系统D.原理的理论4.将每个模块的控制结构转换成计算机可接受的程序代码是( A )阶段的任务。
A.编码B.需求分析C.详细设计D.测试5.软件生存周期中时间最长的是( D )阶段。
A.需求分析B.概要设计C.测试D.维护一、填空题答案1.逻辑2.建造一个软件系统3.体系结构4.瀑布模型5.结构化方法二、选择题答案1.B2.C3.C4.A5.D第1章自测题及参考答案一、名称解释1.软件2.文档3.软件工程4.软件生存周期5.软件工程过程6.软件生存周期模型7.软件开发方法8.软件工具二、填空题1.构成一个完整计算机系统的两部分是硬件与_____软件___。
2.程序设计时代的生产方式是___个体手工劳动_____。
3.软件工程涉及到几个学科,它是一门__综合性交叉___学科。
4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能_____相同___。
5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是_瀑布_______模型。
6.喷泉模型是一种以用户需求为动力,以____对象___为驱动的模型。
计算机软件工程第一章习题答案

1.计算机软件具有哪些共同特点?它们和硬件的主要区别有哪些?(1)软件是一种逻辑实体,而不是具体的物理实体。
因此,它具有抽象性。
(2)软件的生产与硬件不同,软件是由开发或工程化而形成的,它没有明显的制造过程。
对软件的质量控制,必须立足于软件开发方面。
软件成为产品之后,其制造只是简单的复制而已。
(3)任何机械、电子设备在运行和使用过程中,其失效率大致遵循如图1-6所示的U型曲线(即浴盆曲线)。
软件的情况与此不同,它不存在磨损和老化问题。
然而,它存在退化问题,设计人员必须多次修改(维护)软件。
图1-7给出了软件故障率的理想曲线,图1-8给出了实际的软件故障率曲线。
故障率时间0t图1-6 硬件的故障率曲线示意图图1-7 软件的理想故障曲线故障率0时间t理想曲线实际曲线由于负作用造成的故障率提高图1-8 软件的实际故障率曲线(4) 软件的开发和运行往往受到计算机系统的限制,对计算机系统有着不同程度的依赖性。
为了解除这种依赖性,在软件开发中提出了软件移植的问题。
(5) 迄今为止,虽然有许多软件工具能够帮助我们自动生成一些软件代码、结构和框架,但是总体来说,软件的开发尚未完全摆脱手工的方式。
(6) 软件本身是复杂的。
软件的复杂性可能来自它所反映的实际问题的复杂性,也可能来自程序逻辑结构的复杂性。
(7)软件的成本相当昂贵。
软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动,它投入的成本是比较高的。
(8)相当多的软件工作涉及社会因素。
许多软件的开发和运行涉及机构设置、体制运作及管理方式等问题,甚至涉及人们的观念和心理,这些因素直接影响到项目的成败。
(9)从市场上买到的软件,它本身就是一个完整的软件,而不能作为构件再组装成新的程序。
但目前已有大量支持“软件复用”的软件和中间件作为相对独立的构件。
2.什么是软件生命周期?面向对象与传统软件工程有何相同之处?计算机软件,从决定进行开发到最终退役所经历的一系列步骤与过程称为软件生命周期。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
一、判断题
1、(×)软件的维护与硬件维护本质上是相同的。
2、(√)软件在运行和使用中也存在退化问题。
3、(×)软件危机的产生主要是因为程序设计人员使用了不适当的程序设计语言。
4、(√)软件同其他事物一样,有孕育、诞生、成长、成熟和衰亡的生存过程。
5、(×)文字处理软件Word属于系统软件。
6、(√)原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。
7、(√)软件开发过程中,一个错误发现得越晚,为改正它所付出的代价就越大。
8、(×)快速原型模型对软件开发人员的水平要求不高。
9、(√)喷泉模型适合于面向对象的软件开发。
10、(×)面向对象开发方法的主要缺点是在适应需求变化方面不够灵活。
二、选择题
1、软件是一种(C)。
A、程序 B、数据 C、逻辑产品 D、物理产品
2、软件开发方法是(A)。
A、指导软件开发的一系列规则和约定 B、软件开发的步骤
C、软件开发的技术 D、软件开发的思想
3、软件生存周期中花费最多的阶段是(D)。
A、详细设计 B、软件编码
C、软件测试 D、软件维护
4、软件工程的三要素不包括(D)。
A、工具 B、过程 C、方法 D、环境
5、在软件生存周期中,能准确地确定“软件系统必须做什么”的阶段是(D)。
A、总体设计 B、详细设计
C、可行性研究 D、需求分析
6、瀑布模型本质上是一种(A)模型。
A、线性顺序 B、顺序迭代
C、线性迭代 D、能及早见到产品的
7、瀑布模型突出的缺点是不适应(D)的变动。
A、算法 B、程序语言 C、平台 D、用户需求
8、在软件开发模型中,提出最早、应用最广泛的模型是(A)。
A、瀑布模型 B、喷泉模型
C、快速原型模型 D、螺旋模型
9、瀑布模型不适合用于(A)的软件开发。
A、需求模糊不清
B、用户不能参与开发
C、用户对计算机不了解
D、开发人员对业务知识不熟悉
10、快速原型的主要优点不包括(D)。
A、能让用户参与开发、给出反馈
B、尽早把需求分析清楚,以降低风险
C、尽早地发现问题、纠正错误
D、对软件分析设计人员的素质要求不高
11、快速原型的主要问题在于(A)。
2
A、缺乏支持原型开发的工具
B、要严格控制原型构造的迭代
C、终端用户对原型不能理解
D、软件的测试和文档更新困难
12、螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。
A、增量模型 B、专家系统 C、喷泉模型 D、变换模型
13、在软件生产的程序系统时代由于软件规模扩大和和软件复杂性提高等原因导
致了(A)。
A、软件危机 B、软件工程
C、程序设计革命 D、结构化程序设计
14、集成化开发环境中的环境集成机制不包括(D)。
A、数据集成 B、控制集成 C、界面集成 D、服务集成
15、软件工程的出现是由于(A)。
A、软件危机的出现
B、计算机硬件技术的发展
C、软件社会化的需要
D、计算机软件技术的发展
三、简答题
1、
软件通过你自己使用计算机的经历和对计算机的认识分辨软件和程序的差别,指出区
别的关键点。
答:
软件包括程序、数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性
能要求执行的指令序列;数据是使程序能够正确地处理信息的数据结构;文档是与程序开
发、维护和使用有关的图文资料。软件包括程序,程序只是软件的一部分。
2、简述软件危机产生的原因以及避免的方法。
答:
软件危机的产生有两方面因素,一方面与软件本身的抽象性和复杂性有关;另一方面
则与软件开发和维护过程中使用的技术和方法有关,这是主观原因。
为了解决软件危机,既要有技术措施(好的方法和工具),也要有组织管理措施。(1)
使用好的软件开发技术和方法。(2)使用好的软件开发工具,提高软件生产率。(3)有良好
的组织、严密的管理,各方面人员相互配合共同完成任务。
3、简述软件工程在软件开发中的作用和意义。
答:
软件工程的主要思想是强调软件开发过程中应用工程化原则的重要性。软件工程的目
标是实现软件的优质高产。软件工程的目的是在经费的预算范围内,按期交付出用户满意的、
质量合格的软件产品。
4、软件生命周期概念对软件的开发有哪些指导作用。
3
答:
软件生命周期是软件工程的一个重要的概念。把整个软件生命周期划分为若干个较小
的阶段,每个阶段都有相对独立的任务和完成任务的步骤和方法,然后逐步完成各个阶段
的任务,这有利于软件开发过程的组织和管理,从而降低了整个软件开发过程的困难程
度,从而使规模庞大、结构复杂和管理复杂的软件开发变得容易控制和管理。
5、分析瀑布模型和螺旋模型的异同,比较它们的适用场合。
答:
瀑布模型是线性模型,是整体开发模型,文档驱动的模型,每一阶段必须完成指定的
文档,需求明确的中、小型软件开发, 不适宜需求模糊或多变的应用软件开发;螺旋模型
是典型迭代模型,是风险驱动模型,可用于面向对象开发,适宜风险较大的大型软件开
发。