软件工程习题测验解答第一章概述

合集下载

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

软件工程《软件工程》习题集

软件工程《软件工程》习题集

软件工程习题集第一章概述一、选择题1.“软件危机”产生的主要原因是( B )。

A.软件日益庞大B.开发方法不当C.开发人员编写程序能力差D.没有维护好软件2.软件工程中描述生存周期的瀑布模型一般包括计划、( 需求分析)、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成(概要设计)和(详细设计)两步。

①需求分析②需求调查③可行性分析④问题定义⑤方案设计⑥代码设计⑦概要设计⑧数据设计⑨运行设计⑩3.软件是计算机系统中与硬件相互依存的另一部分,它的组成部分是(程序、数据、文档)。

A.程序、数据 B.程序、文档 C.程序 D. 程序、数据、文档4.在软件工程时期,决定软件质量的主要因素是( )A.管理水平 B.个人程序技术 C.小组技术水平 D.硬件的发展5.下列哪个模型没有采用迭代的思想(A )A.瀑布模型 B.渐增模型C.螺旋模型 D.RUP模型6.下列关于瀑布模型的描述正确的是( D )A.利用瀑布模型,如果发现问题修改的代价很低B.瀑布模型的核心是按照软件开发的时间顺序将问题简化C.瀑布模型具有良好的灵活性D.瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开7.瀑布模型的关键不足在于(B )(A)过于简单(B)不能适应需求的动态变更(C)过于灵活(D)各个阶段需要进行评审8.瀑布模型把软件生存周期划分为软件定义、软件开发与(D )三个阶段,而每一阶段又可分为若干更小的阶段。

A. 详细设计B. 可行性分析C. 运行及维护D. 测试与排错二、判断题1.软件工程是指导计算机软件开发和维护的工程学科。

( )2.在软件工程时期,决定软件质量的主要因素是管理水平. ( )3.软件生存期是从软件项目需求定义直至软件开始使用为止。

()4.常用的软件生存周期模型有瀑布模型和结构化模型。

()5.瀑布模型是一种线形的、顺序的软件开发模型( )6.瀑布模型的关键不足在于不能适应需求的动态变更.( )7.快速原型模型是为了克服瀑布模型的缺点而提出来的。

软件工程综合复习题连答案

软件工程综合复习题连答案

《软件工程》综合复习资料第一章软件工程概述一、选择题1、瀑布模型本质上是一种()。

A、线性迭代模型B、顺序迭代模型C、线性顺序模型D、及早见产品模型2、计算机辅助软件工程,简称()。

A、SAB、SDC、SCD、CASE3、以下判断正确的是()。

A、所谓软件开发就是编写程序。

B、利用软件工程的思想,已成功的解决了软件危机。

C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。

D、一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比。

4、_____是以提高软件质量为目的的技术活动。

A.技术创新B.测试C.技术创造D.技术评审5、瀑布模型的存在问题是()。

A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求6、软件生命周期中所花费用最多的阶段是()。

A.详细设计B.软件编码C.软件测试D.软件维护7、计算机系统就是()A.主机,显示器,硬盘,软驱,打印机等。

B.CPU,存储器,控制器,I/O接口及设备。

C.计算机硬件系统和软件系统。

D.计算机及其应用系统。

8、产生软件危机的原因主要与两个方面的问题有关:A.软件在计算机中很难识别,存在磁盘中也看不到。

B.软件设计对人的智商要求很高,也要求很高的资金投入。

C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。

D.软件很难理解,硬件也很复杂。

9、软件开发瀑布模型中的软件定义时期各个阶段依次是()A.可行性研究,问题定义,需求分析。

B.问题定义,可行性研究,需求分析。

C.可行性研究,需求分析,问题定义。

D.以上顺序都不对。

10、下列选项中()是软件开发中存在不正确的观念、方法。

A.重编程、轻需求B.重开发,轻维护C.重技术,轻管理D.以上三条都是二、填空题1、软件工程的三个基本要素包括()、()和()。

2、一般软件应该有三部分组成:()、()和()。

3、按软件的功能可将软件分成()、()和()等三类。

软件工程导论第六版课后习题答案完整版

软件工程导论第六版课后习题答案完整版

软件工程导论第六版课后习题答案完整版首先,感谢您对软件工程导论课后习题答案的需求。

以下是软件工程导论第六版课后习题的完整答案。

第一章:软件工程概述1.1 问题1. 什么是软件工程?答:软件工程是一种应用工程原理、方法和工具来开发和维护高质量软件的学科。

1.2 问题1. 什么是软件?答:软件是一系列按照特定顺序组织的计算机数据和指令。

第二章:软件过程模型2.1 问题1. 软件过程模型有哪些类型?答:常见的软件过程模型包括瀑布模型、迭代模型、螺旋模型和敏捷开发模型等。

2.2 问题1. 瀑布模型的特点是什么?答:瀑布模型是一种线性顺序模型,以阶段划分为基础,每个阶段的任务在进入下一个阶段前必须完成。

第三章:需求分析与规格说明3.1 问题1. 软件需求描述包括哪些方面的内容?答:软件需求描述需要包括功能性需求、非功能性需求、用户需求和系统需求等。

3.2 问题1. 什么是需求跟踪?答:需求跟踪是指在软件开发过程中,通过建立需求和软件项目中其他相关工件之间的关联,确保需求的准确实现和变更的有效管理。

第四章:软件设计4.1 问题1. 软件设计的目标是什么?答:软件设计的目标是通过确定软件的整体结构和组成部分,确保软件满足需求并具有良好的可维护性和可重用性。

第五章:软件测试与维护5.1 问题1. 什么是软件测试?答:软件测试是一种评估和改进软件质量的过程,目的是发现错误并提高软件的可靠性和可用性。

5.2 问题1. 什么是软件维护?答:软件维护是指在软件交付后的整个生命周期中对软件进行修改和改进,以满足用户需求和修复错误。

第六章:软件配置管理6.1 问题1. 软件配置管理的目标是什么?答:软件配置管理的目标是确保软件在开发和维护过程中的可控性和可追踪性,以及保持软件配置的稳定性和一致性。

6.2 问题1. 软件版本控制是什么?答:软件版本控制是指对软件的不同版本进行管理,包括版本的创建、检出、合并和更新等操作。

至此,我们完成了软件工程导论第六版课后习题的完整答案。

第一章软件工程学概述选择题

第一章软件工程学概述选择题

第一章软件工程学概述选择题1.软件是一种( )产品。

A.有形 B.逻辑C.物质 D.消耗2.软件工程学的目的应该是最终解决软件生产的( )问题。

A.提高软件的开发效率 B.使软件生产工程化C.消除软件的生产危机 D.加强软件的质量保证3.与计算机科学的理论研究不同,软件工程是一门( )学科。

A.理论性 B.工程性 C.原理性 D.心理性4.软件危机的主要原因有( )。

①软件本身的特点②用户使用不当③硬件可靠性差· ④对软件的错误认识⑤缺乏好的开发方法和手段A.③④ B.①②④C.①⑤ D.①③5.在计算机软件开发和维护中所产生的一系列严重的问题通常称为软件危机,这些问题中相对次要的因素是( )。

A.文档质量 B.开发效率C.软件功能 D.软件性能6.软件工程与计算机科学性质不同,软件工程着重于( )。

A.原理探讨 B.理论研究C.建造软件系统 D.原理的理论7.软件工程学科出现的主要原因是( )。

A.计算机的发展B.其他工程科学的影响C.软件危机的出现D. 程序设计方法学的影响8.软件工程方法学的研究内容包含软件开发技术和软件工程管理两个方面,其期望达到的最终目标是( )。

A.软件开发工程化B.消除软件危机C.实现软件可重用D.程序设计自动化9.由于软件生产的复杂性和高成本性,使大型软件的生存出现危机,软件危机的主要表现包括了下述( )方面。

①生产成本过高②需求增长难以满足③进度难以控制④质量难以保证A.①② B.②③ c.④ D.全部10.软件工程方法学中的软件工程管理是其中的一个重要内容,它包括软件管理学和软件工程经济学,它要达到的目标是( )。

A.管理开发人员,以开发良好的软件B.采用先进的软件开发工具,开发优秀的软件c.消除软件危机,达到软件生产的规模效益D.以基本的社会经济效益为基础,工程化生产软件11.软件工程方法学的目的是使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( )。

软件工程第一章习题答案

软件工程第一章习题答案

第一章习题1.1什么是计算机软件?软件的特点是什么?答:计算机软件(Computer Software,也称软件,软体)是指计算机系统中的程序及其文档,程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。

程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。

软件的特点:1.软件是一种逻辑实体而不是有形的系统元件,其开发成本和进度难以准确的估算。

2.软件是被开发的或设计的,没有明显的制作工程,一旦开发成功,只需复制即可,但其维护的工作量大。

3.软件的使用没有硬件那样的机械磨损和老化问题。

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

答:软件分为系统软件,支撑软件和应用软件3类。

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

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

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

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

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

例如:工程/科学计算软件,嵌入式软件,产品线软件,Web应用软件,人工智能软件等。

1.3简述软件语言的分类,并举例说明。

答:软件语言是用于书写计算机软件的语言主要包括:需求定义语言,功能性语言,设计性语言,实现性语言和文档语言。

需求定义语言用以书写软件需求定义,软件需求定义是软件功能需求和非功能需求的定义性描述。

软件功能需求刻画“做什么”,软件非功能需求刻画诸如功能性限制、设计限制、环境描述、数据预通信规程以及项目管理等。

功能性语言用以书写软件功能规约,软件功能规约是软件功能的严格而完整的陈述。

软件功能规约通常只刻画软件系统“做什么”的外部功能,而不涉及系统“如何做”的内部算法,因此,功能性语言通常又称为功能规约语言。

设计性语言用以书写软件设计规约。

软件设计规约是软件设计的严格而完整的陈述。

一方面,它是软件功能规约的算法性细化,刻画了软件“如何做”的内部算法;另一方面,它又是软件实现的依据从。

软件工程课后习题参考答案

软件工程课后习题参考答案

软件工程课后习题参考答案软件工程课后习题参考答案1. 第一章规约与软件工程概述1.1 规约的定义规约是软件开发过程中明确要求的描述,包含了对软件需求、设计、实现、测试、部署和维护等各个阶段的要求和约束。

1.2 软件工程的概述软件工程是一门涉及对软件的开发、运行和维护的学科。

它通过应用工程原则和方法,以系统化、规范化、可靠化、经济化和高质量的方式来开发和维护软件。

2. 第二章软件需求规约2.1 软件需求规约的作用软件需求规约是对软件系统所需功能和性能的具体描述和说明,是软件开发的基础和依据。

它指导着开发团队的工作,确保软件的功能和性能符合用户的需求。

2.2 软件需求规约的要素软件需求规约包括功能需求、非功能需求和约束条件。

功能需求描述了软件系统应该具备的功能,非功能需求描述了软件系统的性能要求和质量特性,约束条件描述了软件系统所受限制的条件。

3. 第三章软件设计规约3.1 软件设计规约的目标软件设计规约是对软件系统进行结构化和模块化设计的过程,其目标是确保软件系统具备可靠性、可维护性、可扩展性和可重用性。

3.2 软件设计规约的方法软件设计规约采用面向对象设计、结构化设计和模块化设计等方法。

面向对象设计强调将问题领域的概念和对象转化为软件系统的类和对象,结构化设计强调将系统分解为模块,模块化设计强调模块间的接口和通信。

4. 第四章软件实现规约4.1 软件实现规约的目的软件实现规约是指将软件设计阶段得到的设计规约转化为计算机可执行的程序代码,其目的是确保软件系统的正确性、可靠性、可维护性和可测试性。

4.2 软件实现规约的技术软件实现规约采用编程语言、软件开发工具和软件开发环境等技术。

编程语言提供了描述算法和数据结构的语法和语义,软件开发工具提供了代码编辑、编译、调试和测试等功能,软件开发环境提供了开发的整体支持。

5. 第五章软件测试规约5.1 软件测试规约的目的软件测试规约是对软件系统进行功能、性能和质量等方面的验证和检测,其目的是找出软件系统的错误和缺陷,并修复和改进。

【可编辑全文】软件工程概论答案

【可编辑全文】软件工程概论答案

可编辑修改精选全文完整版软件工程概论答案第1章软件与软件工程的概念1.1 举出你所知道的应用软件的例子。

办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。

1.2 认为“软件就是程序,软件开发就是编程序。

”这种观点是否正确?为什么?认为“软件就是程序,软件开发就是编程序。

”这种观点是错误的。

首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一个阶段。

1.3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。

1.4 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

典型表现:(1)对软件开发成本和进度的估计常常很不准确。

(2)用户对“已完成的”软件系统不满意的现象经常发生。

(3)软件产品的质量往往靠不住。

(4)软件常常是不可维护的。

(5)软件通常没有适当的文档资料。

(6)软件成本在计算机系统总成本中所占的比例逐年上升。

(7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。

产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:(1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。

(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。

(3) 软件开发过程不规范。

如,没有真正了解用户的需求就开始编程序。

(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。

需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。

(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。

1.5 什么是软件工程?软件工程是指导计算机软件开发和维护的工程学科。

软件工程第一二三章习题参考答案.doc

软件工程第一二三章习题参考答案.doc

软件工程第一二三章习题参考答案第一章软件工程概述软件是计算机程序及其有关的数据和文档的结合。

软件危机是指在计算机软件开发和维护时所遇到的一系列问题。

软件危机主要包含两方面的问题:一是如何开发软件以满足对软件日益增长的需求;二是如何维护数量不断增长的已有软件。

软件工程是软件开发、运行、维护和引退的系统方法。

软件工程是指导计算机软件开发和维护的工程学科。

软件工程采用工程的概念、原理、技术和方法来开发与维护软件。

软件工程的目标是实现软件的优质高产。

软件工程学的主要内容是软件开发技术和软件工程管理。

软件开发方法学是编制软件的系统方法,它确定软件开发的各个阶段,规定每一阶段的活动、产品、验收的步骤和完成准则。

常用的软件开发方法有结构化方法、面向数据结构方法和面向对象方法等。

习题参考答案:1.什么是软件危机?为什么会出现软件危机?答:软件危机是指在计算机的开发和维护过程中所遇到的一系列严重问题。

这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎所有软件都不同程度地存在这些问题。

出现软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。

软件不同于硬件,它是计算机系统中逻辑件而不是物理部件。

管理和控制软件开发过程相当困难。

软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。

目前相当多的软件专业人员对软件开发和维护还有不少糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。

总结如下:1)取得正确的用户需求和正确地描述需求很困难2)开发人员对需求的正确理解也有困难3)常常在没有正确理解之前就仓促开始编程4)软件项目缺乏有效的组织、管理和内部交流5)缺乏软件开发方法、模型和工具的支持6)软件维护的困难性2.假设你是一家软件公司的总工程师,当你把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件已经完成时再引入变动,当然付出的代价更高。

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

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

第一章练习题一、填空题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)用户对开发出的软件很难满意。

(2)软件产品的质量往往靠不住。

(3)一般软件很难维护。

(4)软件生产效率很低。

(5)软件开发成本越来越大。

(6)软件成本与开发进度难以估计。

- (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。

2.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。

造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。

(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。

(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。

3.怎样克服软件危机?(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。

在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。

(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。

(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。

将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。

- 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。

4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。

5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。

国开电大-软件工程(本)-章节测试1-6满分答案

国开电大-软件工程(本)-章节测试1-6满分答案

国开电大-软件工程(本)-章节测试1-6满分答案章节1:软件工程概述测试1-1:选择题1. 软件工程的主要目标是(A)。

A. 确保软件开发过程中高质量的软件产品B. 降低软件开发成本C. 提高软件开发速度D. 使软件开发过程更加有趣2. 软件工程的基本活动不包括(D)。

A. 软件规格B. 软件设计和实现C. 软件验证D. 软件评估测试1-2:判断题1. 软件工程的目标是通过工程化的方法来开发、维护软件,确保软件的质量、成本和进度得到有效控制。

(对)2. 软件工程包括软件开发过程中的所有活动,如需求分析、设计、实现、测试和维护等。

(对)章节2:软件开发生命周期测试2-1:选择题1. 在软件开发生命周期中,需求分析阶段的任务是(A)。

A. 确定软件系统的功能和性能要求B. 设计软件系统的架构C. 编写软件代码D. 测试软件功能2. 下列哪个阶段不属于软件开发生命周期(D)。

A. 需求分析B. 设计C. 实现D. 软件部署测试2-2:判断题1. 软件开发生命周期是一个抽象的概念,它将软件开发过程划分为不同的阶段,以帮助开发团队更好地管理和控制软件开发过程。

(对)2. 软件开发生命周期的每个阶段都有明确的任务和输出,确保软件开发过程的有序进行。

(对)章节3:软件需求分析测试3-1:选择题1. 下列哪项是需求分析的主要任务(A)。

A. 确定用户需求和系统功能B. 设计软件架构C. 编写软件代码D. 测试软件功能2. 下列哪个工具和技术不常用于需求分析(D)。

A. 数据流图B. 用例分析C. 原型法D. 单元测试测试3-2:判断题1. 需求分析是软件开发过程中的重要阶段,它的主要目的是明确软件系统的功能和性能要求,为后续的软件设计和实现奠定基础。

(对)2. 在需求分析阶段,开发团队与用户进行沟通,收集和分析需求,以确保软件系统能够满足用户的期望和需求。

(对)章节4:软件设计测试4-1:选择题1. 在软件设计阶段,下列哪项活动是主要的(A)。

习题-1-软件工程概述-参考答案

习题-1-软件工程概述-参考答案

第一章习题参考答案
1、对于开发过一定规模项目的同学可能遇到软件危机中的一些现象。

比如开发的软件没有
按期限提交,开发出来的软件质量差,软件修改、维护困难等。

在没有学过软件工程课程的时候你也会有一些解决的办法,但是效果未必很好,比如怕不能按时提交可以加班加点,增加人手;怕软件质量不好,可能增加一些检验和复查;怕软件难于修改,就给软件加了很多注释等等。

其实这都不是最好的解决办法,想知道好的方法是什么吗?好好学习软件工程课吧。

2、软件工程主要是研究软件开发和维护过程中的一些技术和管理方面的问题。

两个方面技
术和管理,具体的内容可以展开描述。

3、当用户的需求很模糊时,最重要的就是要确定用户的需求,同时用户对软件开发的相关
的概念又很模糊,所以比较好的过程模型是快速原型模型,采用原型法可以由开发方先做初步需求,搭建一个探索型的快速原型与用户来交流,用户可以直观的理解和体验软件,并提出自己的意见。

能最大化的消除需求不确定带来的风险。

4、因为开发完成后产品将被抛弃,也就是说这个开发的软件主要是用来验证算法实现的,
可以采用快速原型法中的实验型原型,主要是用来在开发方对软件的设计等不太确定时进行快速验证。

软件工程第一二三章习题参考答案

软件工程第一二三章习题参考答案

第一章软件工程概述软件是计算机程序及其有关旳数据和文档旳结合。

软件危机是指在计算机软件开发和维护时所碰到旳一系列问题。

软件危机重要包括两方面旳问题: 一是怎样开发软件以满足对软件日益增长旳需求;二是怎样维护数量不停增长旳已经有软件。

软件工程是软件开发、运行、维护和引退旳系统措施。

软件工程是指导计算机软件开发和维护旳工程学科。

软件工程采用工程旳概念、原理、技术和措施来开发与维护软件。

软件工程旳目旳是实现软件旳优质高产。

软件工程学旳重要内容是软件开发技术和软件工程管理。

软件开发措施学是编制软件旳系统措施, 它确定软件开发旳各个阶段, 规定每一阶段旳活动、产品、验收旳环节和完毕准则。

常用旳软件开发措施有构造化措施、面向数据构造措施和面向对象措施等。

习题参照答案:1) 1. 什么是软件危机?为何会出现软件危机?2)答: 软件危机是指在计算机旳开发和维护过程中所碰到旳一系列严重问题。

这些问题决不仅仅是不能正常运行旳软件才具有旳, 实际上, 几乎所有软件都不一样程度地存在这些问题。

3)出现软件危机旳原因:首先与软件自身旳特点有关, 另首先也和软件开发与维护旳措施不对旳有关。

软件不一样于硬件, 它是计算机系统中逻辑件而不是物理部件。

管理和控制软件开发过程相称困难。

软件是规模庞大, 并且程序复杂性将伴随程序规模旳增长而呈指数上升。

目前相称多旳软件专业人员对软件开发和维护尚有不少糊涂观念, 在实践过程中或多或少地采用了错误旳措施和技术, 这是使软件问题发展成软件危机旳重要原因。

总结如下:4)获得对旳旳顾客需求和对旳地描述需求很困难5)开发人员对需求旳对旳理解也有困难6)常常在没有对旳理解之前就仓促开始编程7)软件项目缺乏有效旳组织、管理和内部交流8)缺乏软件开发措施、模型和工具旳支持9)软件维护旳困难性2. 假设你是一家软件企业旳总工程师, 当你把图1.1给手下旳软件工程师们观看, 告诉他们及早发现并改正错误旳重要性时, 有人不一样意你旳观点, 认为规定在错误进入软件之前就清除它们是不现实旳, 并举例说: “假如一种故障是编码错误导致旳, 那么, 一种人怎么能在设计阶段清除它呢?”你怎么反驳他?答: 在软件开发旳不一样阶段进行修改付出旳代价是很不相似旳, 在初期引入变动, 波及旳面较少, 因而代价也比较低;在开发旳中期, 软件配置旳许多成分已经完毕, 引入一种变动要对所有已完毕旳配置成分都做对应旳修改, 不仅工作量大, 并且逻辑上也更复杂, 因此付出旳代价剧增;在软件已经完毕时再引入变动, 当然付出旳代价更高。

软件工程--课后答案

软件工程--课后答案

第一章:1.1 简述软件的定义、软件的特点和软件危机的表现。

软件的定义:软件是由计算机程序、数据和文档组成的。

软件的特点:1〕抽象性,2〕软件生产无明显的制造过程,3〕无磨损性,4〕对计算机系统的依赖性,5〕软件的手工开发方式,6〕软件本身复杂性,7〕软件的高本钱软件危机的表现:1〕软件开发周期大大超过规定日期,2〕软件开发本钱严重超标,3〕软件质量难于保证。

1.2 什么是软件工程和软件工程化?软件工程:软件工程化:把软件工程理论应用到软件开发组织中,以改良软件产品开发的时间〔T〕、质量〔Q〕、本钱〔C〕和效劳〔S〕。

1.3简要说明软件工程三要素与质量关注点之间的关系。

软件工程的三要素:方法、工具和过程。

关系看P41.4如何构造软件过程?软件过程构造时首先应建立一个公共过程框架,其中定义了少量可用于所有工程的框架活动;再给出各个框架活动的任务集合,使得框架活动能够适合于工程的特点和工程组的需求;最后是保护性活动。

1.5什么是软件生存周期?软件生存周期分为哪几个阶段?各阶段的任务是什么?软件生存周期:是软件产品或软件系统从设计、投入使用到被淘汰的全过程。

软件生存周期:定义、开发、维护。

1〕定义:包括问题定义、可行性研究和需求分析。

2〕开发时期包括设计、编码和测试。

3〕维护时期包括维护阶段。

1.6常用的软件工程方法和开发模型各有哪些?软件工程方法:生命周期法〔又称传统方法或构造化方法〕、面向对象方法和原型法。

软件开发模型:瀑布模型、快速原型模型、演化模型、面向对象模型、形式化方法模型。

1.7什么是软件工具、软件开发环境和软件工程环境?软件工具:是用来辅助软件开发、运行、维护、管理和支持等过程中活动的软件。

1.8软件工程的根本原理:1〕按软件生存期分为阶段制定方案并认真实施。

2) 坚持进展阶段评审。

3〕坚持严格的产品控制。

4〕使用现代程序设计技术。

5〕明确责任,使得工作结果能够得到清楚的审查。

6〕人员应少而精。

软件工程基础习题集答案

软件工程基础习题集答案

《软件工程基础》习题集答案第一章概述1.什么是软件危机,它有哪些典型表现?所谓“软件危机”就是,在计算机软件的开发和维护过程中所遇到的一系列严重的问题,概括起来归纳为:如何开发软件,以满足日益增长、日趋复杂的需要;如何维护数量不断膨胀的已有软件。

软件危机的典型表现主要有:a. 开发成本和进度不能准确估计b. 开发出来的软件不能满足用户的要求c. 软件的可维护性差d. 软件质量不可靠e. 软件成本在系统中的比重逐年上升f. 软件开发生产率的提高速度不够2.简述产生软件危机的原因和解决的思路。

软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。

解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。

即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。

3.什么是软件工程?它有哪些本质特性?软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法进行软件开发和维护的学科。

其实质就是用工程的概念、原理、技术和方法,结合有效的管理方法和先进的开发技术,开发与维护软件,以解决软件危机。

4.软件工程是如何用来消除软件危机的?软件工程是从技术和管理两个方面来研究如何更好地开发和维护计算机软件,从源头上消除软件危机。

6.简述软件的定义。

软件 = 程序 + 数据 + 文档7.软件工程的目的是什么?为高质量的软件开发提供一个科学的体系框架。

8.什么是软件工程方法学?软件工程是一种什么样的技术?包括哪三大要素?分为哪三个分支?软件工程方法学就是指在软件生命周期全过程中使用的一整套管理和开发技术方法的集合。

目前,使用最广泛的软件工程方法学分别是传统方法学和面向对象方法学。

软件工程作为一种层次化的技术,有方法、工具和过程三大要素,并由于其涉及学科内容的极为广泛,而分为三个分支:软件开发技术、软件项目管理技术、软件质量管理技术。

9.简述软件工程的基本原理。

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

软件工程习题解答
第一章概述
1.软件产品的特性是什么?
a.软件产品是一种逻辑产品。

b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成
后,复制就产生了大量软件产品。

c.软件产品不会用坏,不存在磨损、消耗问题。

d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是"定做"的。

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

2.软件产品有几个阶段?各有何特征?
阶段A.程序设计时代(1946-195
6)
B.程序系统时代(1956-1968) C.软件工程时代(1968-今)
生产方式个体手工劳动小集团合作生产工程化的生产
工具机器语言、汇编高级语言数据库、开发工具、开发环境、
网络、分布式、面向对象技术开发方法追求编和技巧,追求程序运
行效率
个人技巧,开始提出结构化方法
硬件特征价格贵、存储容量小、运行
可靠性差速度、容量、工作可靠性有明显提
高,价格降低,销售有爆炸性增长
向超高速、大容量、微型化以
及网络化方
软件特征只有程序、程序设计概念,
不重视程序设计方法程序员数量猛增,已意识到软件开
发的重要性,开发技术没有新的突
破,大量软件开发的需求已提出,开
发人员的素质和工程兵的开发技术
不适应规模大、结构复杂的软件开
发,产生了尖锐矛盾,导致软件危机
的产生
开发技术有很大进步,但未能
获得突破性进展,软件价格不
断上升,没有完全摆脱软件危

3.什么是软件危机?其产生的原因是什么?
软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。

一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。

在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。

主要表现在以下几个方面:
a.经费预算经常突破,完成时间一再拖延。

b.开发的软件不通满足用户要求。

c.开发的软件可维护性差。

d. 开发的软件可靠性差。

软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:
a.软件的规模越来越大,结构越来越复杂。

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

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

d.软件开发技术落后。

e.生产方式落后。

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

4.什么是软件工程?它的目标和内容是什么?
软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。

软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:
a.付出较低的开发成本;
b.面到要求的软件功能;
c.取得较好的软件性能;
d.开发的软件易于移植;
e.需要较低的维护费用;
f.能按时完成开发任务,及时交付使用;
g.开发的软件可靠性高;
软件工程的内容:
1) 软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。

2)软件开发管理:软件管理学、软件经济学、软件心理学。

5.软件工程面临的问题是什么?
软件工程面临的问题:
a.软件费用。

b.软件可靠性。

c.软件维护。

d.软件生产率。

e.软件重用。

6.什么是软件生存周期?它有哪几个活动?
软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。

软件生存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、维护等.
7.什么是软件生存周期模型?有哪些主要模型?
软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。

(模型:是为了理解事物而对事物做出一种抽象,它忽略不必要的细节,它也是事物的一种抽象形式、一个规划、一个程式。

)软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于知识的模型等
9.什么是软件开发的方法?有哪些主要方法?
软件开发的方法:是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。

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

第二章可行性研究
1.可行性研究的任务是什么?
a.技术可行性:
考虑的因素(1).开发的风险(2)资源的有效性(3)技术(4)开发人员在主段技术可行性时,一旦估计错误,将会出现灾难性后果。

b.经济可行性。

c.社会可行性。

2、可行性研究有哪些步骤?
a.确定项目规模和目标
b.研究正在运行的系统。

相关文档
最新文档