第一章《软件工程概述》作业答案
一、名词解释 1.软件
软件是计算机程序以及开发、使用和维护程序所需要的所有文档。 软件是包括程序、数据及其相关文档的完整集合。 2. 软件危机
软件生产的进度、数量、 质量、成本满足不了社会对软件的需求量和希望的现象, “软件危机”。软件工程
IEEE[IEE93]:软件工程是将系统的、规范的、可度量的工程化方法应用于软件开发、 运行和维护的全过程及上述方法的研究。 4. 软件生存周期
软件生存周期是指一个软件从提出开发要求开始直到不再使用 软件过程模型
(报废)为止的整个时期。
称为
软件过程指为获得高质量软件所需要完成的一系列任务以及完成这些任务的工作步骤。 过程还规定了运用的方法的顺序、 施、任务完成的标志等。
应该交付的文档资料、为保证软件质量和协调变化所需要 采取的管理措
软件过程模型也叫软件生存期模型、软件工程范型,是软件过程的一种抽象表示。 二、填空题
1、在信息处理和计算机领域内,一般认为软件是
程序 数据 和文档的集合 。
2、软件生产的发展经历了 程序设计 代的生产方式分别是个体
时代、程序系统时代和软件工程 时代,各时
作方式 和工程化 。
3、软件生存周期的8个阶段分别是问题定义、可行性研究、需求分析、概要设计 详细设计、编码与模块测试、综合测试 、 4、软件工程是利用工程化的原理和方法来进行 学科。
5、 描述软件开发过程中各种活动如何执行的模型称为 6、 瀑布模型 不
适应需求可变的软件开发,只有到 最后
软件过程 模型。
才能见到整个软件系统。 人力成本
可维护性
生产率。
维护 。
开发、维护和管理软件的一门
软件产品的生产主要是研制,软件产品的成本主要体现在 7、 软件工程面临的问题有
软件费用 可靠性
三、单项选择题
1软件文档是( 、
A.程序 B.
2软件是一种( 、 A.理论B.
工具 C. 文书和资料 D.数据 B )性工业产品
知识(或逻辑)C.消耗D.体力 B )的学科。
与计算机科学的理论研究不同,软件工程是一门(
3、
A.理论性 B. 工程性 C. 原理性
D. B )
心理性
4软件工程与计算机科学的性质不同,软件工程着重于( 、
A理论研究 B. 建造软件系统 C. 原理探讨 D. 原理的理论
5、 软件工程学科出现的直接原因是( C )。
A计算机的发展 B. 其它工程学科的影响 C. 软件危机的出现 D. 程序设计方法学的影响 6软件工程方法学的研究内容包含软件开发技术和软件工程管理两个方面,以期达到的最 终目标是( A ) 、 A软件开发工程化 B.
C. 实现软件可重用 D. 消除软件危机 7由于软件生产的复杂性和高成本, 括了下述( D 程序设计自动化 、 ①生产成本过高 使大型软件的生成出现危机,软件危机的主要表现包
③进度难以控制 )方面。 A.①② B. ②③ ②需求增长难以满足
8、 软件的主要结构和功能是在
A. 分析设计 B. C. ④ D. 全部 )阶段决定 A 的。 9、 有关计算机程序功能、设计、编制、使用的文字或图形资料称为【
编程 下列选项中,C. 测试 文档增量模型 维护 D.
B 】。
A. 软件 B. 程序 数据 C. D.
【 C 】不是软件生存周期模型。 功能模型 10、软件生成周期模型有多种,
A. 螺旋模型 B. D. 瀑布模型 C. 四、简答题
1. 软件产品的特点是什么?
? 软件是一种逻辑产品,无形态,具有抽象性。
?软件是开发而形成的,无明显的制造过程。与硬件相比,软件开发更依赖于开发人员 的业务素质、智力以及人员的组织、 合作和管理。 软件成本集中在开发上, 主要反映在人力
成本上,而且开发成本难以估计。
?软件不会“磨损”和老化,但存在退化问题。
?大多数软件是定做的,不是通过已有构件组装而成。
?主要靠脑力劳动生产。 ?开发和维护成本高。
2. 软件生产经历了哪几个时代,各有何特征?
④质量难以保证
软件生产经历了三个时期:
(1)程序设计时期(1946?1956) 主要特征:计算机硬件 =计算机
用途少,规模小;不作为商品;
软件 =程序
开发者 =使用者:自己开发,自己使用。
(2)程序系统时期(1956?1968)
主要特征:程序规模增大,多人分工合作。
软件=程序+说明
软件作为商品,即程序设计者工使用者; 程序开发和使用的文档资料已不可缺少。
3)软件工程时期( 1968~现在)
软件=程序+数据+文档
主要特征:按工程管理的方法管理整个软件开发过程。
3. 软件危机是如何产生的?其表现形式是什么?试说明产生危机的原因?
大规模集成电路出现后,性能大大提高,推动了计算机的广泛应用,促进了大规模软件 系统的设计。 但由于软件开发方法不适应规模较大的项目的开发, 付、费用比预算增加很多、功能和
因而出现了比计划延迟交 质量不能满足用户要求,维护困难等问题,造成了软件危 机。 主要表现:
1 )软件开发:
软件开发过程和成本无法有效控制,延迟交付且成本逐年上升; 软件开发生产率提高的速度跟不上需求的增加; 用户需求模糊,用户对已完成的软件系统不满意; 没有确保质量的有效措施,软件产品的质量靠不住。 2)软件维护:
软件常常是不可维护的(缺乏文档或文档质量) 。 维护花费的时间和费用占整个软件开发组织的
60%以上。
原因:
1 )客观原因:
软件规模越来越大,结构越来越复杂,使得开发和管理都变得困难。但是:
软件是手工劳动,是智力产品
软件是逻辑实体,出错容易,纠错困难。 软件的复杂性使得仅靠人的智力难以驾驭。 2)主观原因
开发方式:认为开发软件就是写程序。
生产率低。
组织方式: 作坊式的生产方式; 开发无计划、开发过程无规范、开发过程难控制。 用户方面:对软件需求描述不精确。
开发人员方面:对用户需求的理解与用户本来愿望有差异,相互之间的信息交流
不及时、不准确、有误解。
4. 阐述软件工程的定义和目标,试说明软件工程是如何克服软件危机的。