软件工程-第一章答案
《软件工程》各章课后习题答案
《软件工程》各章课后习题答案软件工程是计算机科学与技术的一门重要学科,旨在研究和应用工程原则和方法来开发高质量的软件系统。
课程中的习题对于加深学生对软件工程理论和实践的理解至关重要。
下面是对《软件工程》各章课后习题的答案,希望能够帮助你更好地掌握软件工程的知识。
第一章:软件工程导论1. 软件工程的定义:答:软件工程是通过应用系统化、规范化和可量化的方法进行软件开发、运行和维护的学科。
2. 软件工程的目标:答:软件工程的目标是提高软件开发的质量、效率和可靠性,使得软件能够满足用户的需求和期望。
3. 软件生命周期模型:答:常见的软件生命周期模型包括瀑布模型、迭代模型、敏捷模型等。
每个模型都有其独特的特点和适用场景。
4. 软件过程模型:答:软件过程模型描述了软件开发过程中的一系列活动和阶段,常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。
5. 软件工程的基本原则:答:常见的软件工程基本原则包括分阶段、逐步求精、持续集成、迭代开发、需求优先等。
第二章:软件项目管理1. 软件项目管理的定义:答:软件项目管理是指对软件开发过程中的资源、进度、质量等进行有效管理,以确保软件项目能够按时、按质地完成。
2. 软件项目管理的内容:答:软件项目管理包括项目计划、需求管理、项目进度管理、资源管理、风险管理等方面。
3. 软件项目管理的方法:答:常见的软件项目管理方法包括敏捷项目管理、水平项目管理、里程碑项目管理等。
4. 软件项目管理的工具:答:常用的软件项目管理工具包括甘特图、PERT/CPM网络图、项目管理软件等。
第三章:软件需求分析与规格说明1. 软件需求的定义:答:软件需求是指用户对软件系统的要求和期望,包括功能需求、性能需求、接口需求等方面。
2. 软件需求分析的方法:答:常用的软件需求分析方法包括面向对象分析法、数据流图法、用例分析法等。
3. 软件需求规格说明的格式:答:常见的软件需求规格说明的格式包括自然语言描述、结构化描述、图形描述等。
软件工程习题及解答1
软件工程第一章习题一、选择题1、软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2、开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3、从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理二、简答题1、美国一家公司在1982年计划用FORTRAN语言开发一个在VAX750计算机上运行的应用程序,估计这个程序的长度为10000条FORTRAN指令。
软件工程第一章习题答案
第一章习题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 软件测试规约的目的软件测试规约是对软件系统进行功能、性能和质量等方面的验证和检测,其目的是找出软件系统的错误和缺陷,并修复和改进。
软件工程(北方民族大学)智慧树知到课后章节答案2023年下北方民族大学
软件工程(北方民族大学)智慧树知到课后章节答案2023年下北方民族大学北方民族大学第一章测试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.Ariane 5火箭发射失败的事例告诉我们()。
A:软件后备系统可以通过复制生成 B:软件重用必须重新进行系统论证和系统测试 C:其他选项不正确 D:系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制答案:软件重用必须重新进行系统论证和系统测试;系统环境的变化可能影响软件采集数据的精度、范围和对系统的控制8.软件工程方法是()。
A:为支持软件开发、维护、管理而研制的计算机程序系统 B:为了获得高质量软件而实施的一系列活动 C:为开发软件提供技术上的解决方法 D:为了理解问题和确定需求而采取的一些技术和方法答案:为开发软件提供技术上的解决方法9.()是软件从一个硬件或软件环境转换到另一环境的容易程度。
A:可维护性 B:性能 C:可移植性 D:易用性答案:可移植性10.软件工程的三要素是指()。
软件工程第一二三章习题参考答案.doc
软件工程第一二三章习题参考答案第一章软件工程概述软件是计算机程序及其有关的数据和文档的结合。
软件危机是指在计算机软件开发和维护时所遇到的一系列问题。
软件危机主要包含两方面的问题:一是如何开发软件以满足对软件日益增长的需求;二是如何维护数量不断增长的已有软件。
软件工程是软件开发、运行、维护和引退的系统方法。
软件工程是指导计算机软件开发和维护的工程学科。
软件工程采用工程的概念、原理、技术和方法来开发与维护软件。
软件工程的目标是实现软件的优质高产。
软件工程学的主要内容是软件开发技术和软件工程管理。
软件开发方法学是编制软件的系统方法,它确定软件开发的各个阶段,规定每一阶段的活动、产品、验收的步骤和完成准则。
常用的软件开发方法有结构化方法、面向数据结构方法和面向对象方法等。
习题参考答案:1.什么是软件危机?为什么会出现软件危机?答:软件危机是指在计算机的开发和维护过程中所遇到的一系列严重问题。
这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎所有软件都不同程度地存在这些问题。
出现软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
软件不同于硬件,它是计算机系统中逻辑件而不是物理部件。
管理和控制软件开发过程相当困难。
软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。
目前相当多的软件专业人员对软件开发和维护还有不少糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。
总结如下:1)取得正确的用户需求和正确地描述需求很困难2)开发人员对需求的正确理解也有困难3)常常在没有正确理解之前就仓促开始编程4)软件项目缺乏有效的组织、管理和内部交流5)缺乏软件开发方法、模型和工具的支持6)软件维护的困难性2.假设你是一家软件公司的总工程师,当你把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件已经完成时再引入变动,当然付出的代价更高。
计算机软件工程第一章习题答案
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.1什么是计算机软件?软件的特点是什么?答:计算机软件指计算机系统中的程序及其文档。
软件的特点是:A 软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以精确得估算;B 软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大;C 软件的运用没有硬件那样的机械磨损和老化问题。
1.2 简述软件的分类,并举例说明。
答:在《计算机科学技术百科全书》中,将软件分为系统软件、支撑软件和应用软件3类。
A 系统软件:系统软件居于计算机系统中最靠近硬件的一层,其他软件一般都通过系统软件发挥作用。
系统软件和详细的应用领域无关。
例如:编译程序、操作系统等。
B 支撑软件:支撑软件是支撑软件的开发和维护的软件。
例如:数据库管理系统、网络软件、软件工具、软件开发环境等。
C 应用软件:应用软件是特定应用领域专用的软件。
例如:工程/科学计算软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。
1.4 什么是软件工程?答:在《计算机科学技术百科全书》中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。
1.5 简述软件工程的基本原则。
答:软件工程原则包括围绕工程设计、工程支持和工程管理提出的以下4条基本原则:第一条:围绕适宜的开发模型;其次条:接受合适的设计方法;第三条:供应高质量的工程支撑;第四条:重视软件工程的管理。
1.6 软件生存周期分哪几个阶段?分别简述各个阶段的任务。
答:软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。
A计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件和其他计算机系统元素之间的关系,进行成本估算,做出进度支配,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择。
B需求分析主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面等要求,生成软件需求规约。
软件工程(原书第九版)课后练习第一章答案
第一章课后练习(P15)1.解释为什么专业化软件不仅仅包括为用户所开发程序?专业化软件在开发上与在与软件就有所不同。
专业软件通常是由团队开发而非个人,除了开发者外还有其他的用户使用。
如果你的软件有别的用户,别的工程师会去修改的话,你就必须提供除了程序源码之外的其它附带信息。
因此,系统通常除了包含一些单独的程序还有用于这些程序的配置文件,可能还包括描述系统结构的系统文档和解释如何使用该系统的用户文档,以及告知用户下载最新产品的Web站点。
2.通用软件产品开发和定制软件开发直接有什么不同?这在实际应用中对通用软件产品用户意味着什么?(1)重要区别为:在通用软件的开发过程中,详细说明(规格说明书)由产品开发者来制定,在定制软件产品开发过程中,详细说明(规格说明书)由客户来制定开发者必须按客户要求进行开发。
(2)意味着通用软件很难满足通用软件客户的特殊需求。
如可靠性、安全性、快捷性。
3.软件产品应该具有与的4重要属性是那些?另外列举出4个可能有意义的属性。
重要属性:可维护性、可依赖性和安全性、有效性和可用性。
可能有意义的属性:可复用性、可分发性、可移植性和互用性。
4.除了异质性挑战、业务和社会的变革、安全和可信,说出软件工程在21世纪的可能面临的其它问题和挑战。
交付上的挑战:许多传统的软件工程技术需要耗费大量的时间,用于提高软件质量。
而今天的软件制作必须响应快、更换迅速,支持软件也必须同样快地进行更换。
交付上的挑战是:在不损及系统质量的前提下,缩短大型、复杂系统的移交时间。
5.参论的应用类型,照1.1.2节讨举例介绍为什么设计和开发不同类型的应用需要专门的软件技术。
如汽车上年的嵌入式控制系统对安全性要求极高,在车上安装是要烧制到ROM中在这里的交互在这里是很少的(或许根本就没有)。
基于Web式系统更适合用于迭代式开发和交互。
而基于Web的系统编程使用的如Ruby一类的脚本语言,完全不适合嵌入式系统工程。
软件工程(第二版)课后习题
第一d ìy ī章zhāng1.什么s hén me 是s h ì软件ru ǎnjiàn 危机w ēi j ī?为什么w èi s h én m e 会h u ì产生ch ǎnsh ēng 软件ru ǎnjiàn 危机w ēi j ī?答d á:软件ru ǎnjiàn 危机w ēi j ī是s h ì指z h ǐ在z ài 计算机j ìs u àn j ī软件ru ǎnjiàn 的d e 开发k āi f ā和h é维护w éi h ù过程guòchéng 中zh ōng 遇到y ùd ào 的一系列严重问题。
(1).软件维护费用急剧上升,直接威胁计算机应用的夸大。
(2).软件生产技术进步缓慢 2. 什么是软件生产工程化?工程化生产方法与早期的程序设计方法主要差别在哪里?答:结构化程序设计地出现,使许多产业界认识认识到必须把软件生产从个人化方式改变为工程化。
采用工程的概念、原理、技术和方法开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程,同时这也是工程化生产方法。
3. 分别说明(1)软件开发方法与开发工具;(2)软件技术与软件管理的相互关系。
答:(1)工具和方法,是软件开发技术的两大支柱,它们密切相关。
当一种方法提出来并证明有效后,往往随之研制出相应的工具,来帮助实现和推行这种方法。
新方法在推行初期,总有人不愿接受和采用。
若将新方法融合于工具之中,使人们通过使用工具来了解新方法,就能更快促进新方法的推广。
(2)在工业生产中,即使有先进的技术和设备,管理不善的企业也不能获得良好的效益。
软件工程简答题答案 第五版
软件工程简答题第一章绪论1.什么是软件危机?软件危机有什么表现?软件危机产生的原因是什么?答:所谓软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
主要是指如何开发软件,怎样满足对软件日益增长的需求,如何维护数量不断膨胀的先有软件。
表现:(1)对于软件开发的成本和进度的估计很不准确。
(2)开发的软件产品不能完全满足用户要求,用户对已完成的软件系统不满意的现象常常发生。
(3)开发的软件可靠性差。
(4)软件通常没有适当的文档资料。
(5)软件的可维护性差。
(6)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。
原因:软件开发中遇到的问题因找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,导致了软件危机。
2.简述软件的发展过程。
答:软件生产的发展划分为三个年代:(1)程序设计时代:这一时期,软件的生产主要是个体手工劳动的生产方式。
(2)程序系统时代:由于计算机的应用领域不断扩大,软件的需求也不断增长,软件由于处理的问题域扩大而使程序变得复杂,设计者不得不由个体手工劳动组成小集团合作,形成作坊式生产方式小集团合作生产的程序系统时代。
(3)软件工程时代:软件工程时代的生产方式是采用工程的概念、原理、技术和方法,使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件。
3.什么叫软件工程?软件工程是如何克服软件危机的?答:软件工程是将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。
为了克服软件危机,人们从其他产业的工程化生产得到启示,采用工程的概念、原理、技术和方法来开发和维护软件。
4.软件工程的目标是什么?软件工程有哪些原则?答:软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。
原则如下:抽象、模块化、信息隐藏、局部化、完整性、一致性和可验证性。
软件工程(第五版)--习题及答案--第一章
一、判断题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)。
软件工程课本习题答案
形式化方法的主要特点是:
(1)软件需求规格说明被细化为用数学记号表达的详细的形式化规格说明;
(2)设计、实现和单元测试等开辟过程由一个变换开辟过程代替。通过一系列变换将形式的规格说明细化成为程序。
2.5安装RationalRose2000/2002/2003,并练习基本操作。
缺点:RUP只是一个开辟过程,并没有涵盖软件过程的全部内容,例如它缺少关于软件运行和支持等方面的内容;此外,它没有支持多项目的开辟结构,这在一定程度上降低了在开辟组织内大范围实现重用的可能性。
合用范围:合用于基于构件的软件开辟。
2软件工程方法与工具
2.1软件工程的三种基本要素是什么,各自的作用是什么?
术问题,更重要的是必须有科学严格的管理。
(5)缺少有效的软件评测手段,提交给用户的软件的质量不能彻底保证。
1.5什么是软件工程?
第1章 作业参考答案
软件工程是指导计算机软件开辟和维护的工程学科。采用工程的概念、原理、技术和方法来开辟和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开辟出高质量的软件并有效地维护它,这就是软件工程。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:
(1)缺乏软件开辟的经验和有关软件开辟数据的积累,使得开辟工作计划很难制定。
(2)软件人员与用户的交流存在障碍,使得获取的需求不充分或者存在错误。
(3)软件开辟过程不规范。如,没有真正了解用户的需求就开始编程序。
(4)随着软件规模的增大,其复杂性往往会呈指数级升高。需要不少人分工协作,不仅涉及技
必须做什么”这个问题。
(3)软件设计:本阶段要回答的关键问题是“目标系统如何做?”为此,必须在设计阶段中制
软件工程智慧树知到课后章节答案2023年下山东财经大学
软件工程智慧树知到课后章节答案2023年下山东财经大学山东财经大学第一章测试1.软件没有相应的文档,且最终不能满足用户要求是软件危机的一种表现。
()答案:对2.软件本身的不可见性和复杂性随规模的增加呈指数上升是产生软件危机的主要原因。
()答案:错3.开发软件就是写程序。
()答案:错4.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称()。
答案:软件危机5.以下对软件工程描述正确地是()。
答案:采用经过时间考验而证明正确的管理技术。
;一门工程学科。
;经济地开发出高质量的软件并有效地维护它。
;结合最好的技术方法。
6.软件生命周期中所花费费用最多的阶段是()。
答案:软件维护。
7.软件是()。
答案:程序、数据及其文档的集合。
8.同螺旋模型相比,原型模型主要缺少()。
答案:风险分析9.在软件生存周期模型中,不适应变化需求的软件开发模型是()。
答案:瀑布模型10.针对高质量软件的生产的软件过程模型()。
答案:净室模型第二章测试1.可行性研究的技术可行性是指现有技术是否可行。
()答案:对2.可行性研究的成本效益分析是从经济方面讨论是否可行。
()答案:对3.可行性分析研究的目的是()。
答案:项目值得开发否4.描绘物理系统的传统工具是()。
答案:系统流程图5.数据字典的基本功能是()。
答案:数据定义。
6.使用数据流图对工资系统进行需求分析建模,外部实体是()。
答案:接受工资单的银行7.数据流图的作用包括()。
答案:可以逻辑模型考虑系统的物理实现;作为交流信息的工具;作为分析和设计的工具8.典型环境下各个开发阶段需要使用的人力的百分比最多的是()。
答案:综合测试第三章测试1.需求分析阶段的产品是()。
答案:需求规格说明书。
2.进行需求分析可使用多种工具,但是()不适用。
答案:PAD图3.软件需求规格说明的内容不应该包括()。
答案:算法的描述。
4.在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。
软件工程习题解答
第一章软件工程概论一、填空题⑴ 软件是计算机系统中与硬件相互依存的部分,它是包括(A)、(B)、及(C)的完整集合。
其中,(A)是按事先设计的功能和性能要求执行的指令序列,(B)是使程序员能够正确操纵信息的数据结构,(C)是与程序开发、维护和使用有关的图文材料。
①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表⑵ 开发软件时,对于提高软件开发人员工作效率至关重要的是(A)。
软件工程中描述软件生存周期的瀑布类型一般包括计划、(B)、设计、编码、测试、维护等几个阶段。
其中,设计阶段在管理上可以依次分成(C)和(D)两个步骤。
A:① 程序开发环境② 操作系统的资源管理功能③ 开发程序人员数量④ 计算机的并行处理能力B:① 需求分析②需求调查③可行性分析④问题定义C、D:① 方案设计② 代码设计③ 概要设计④ 数据设计⑤ 运行设计⑥ 详细设计⑦ 故障处理设计⑧ 软件体系结构设计⑶ 有人将软件的发展过程划分为四个阶段,第一阶段(20世纪50年代),称为程序设计的“原始时期”。
这时既没有(A),也没有(B),程序员只能用机器指令编写程序。
第二阶段(20世纪60年代),称为“基本软件期”。
出现了(A),并逐渐普及。
随着(B)的发展,编译技术也有较大的发展。
第三阶段(20世纪60年代末至70年代中期)称为“程序设计方法时代”。
这一时期,与硬件价格下降相反,软件开发费用急剧上升。
人们提出了(C)和(D)等程序设计方法,设法降低软件的开发费用。
第四阶段(20世纪70年代中期至今),称为“软件工程”时期。
软件开发技术不再仅仅是程序设计技术,而是包括了软件开发的各个阶段。
如(E)、(F)、编码、单元测试、综合测试、(G)及其整体有关的各种管理技术。
A、B、C、D:① 汇编语言② 操作系统③ 虚拟存储器概念④ 高级语言⑤ 结构化程序设计⑥ 数据库概念⑦ 固件⑧ 模块化程序设计E、F、G:① 使用和维护② 兼容性的确认③ 完整性的确认④ 设计⑤ 需求定义⑥ 图像处理二、简答题⑴ 软件工程过程有哪几种基本活动,试加以说明。
软件工程第1-2章课后习题参考答案
第一章课后参考答案1.什么是软件危机?它们有哪些典型表现?为什么会出现软件危机?“软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。
这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。
“软件危机”包含两方面的问题:(1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。
它们有以下表现:(1)对软件开发成本和进度的估计常常很不准确;(2)用户对“已完成的”软件系统不满意的现象经常发生;(3)软件产品的质量往往靠不住;(4)软件常常是不可维护的;(5)软件通常没有适当的文档资料;(6)软件成本在计算机系统总成本中所占的比例逐年上升;(7)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。
出现软件危机的原因(1)开发人员与客户认识之间的矛盾(2)开发人员能力与开发目标之间的矛盾(3)预估与实际工作量之间的矛盾(4)客户认识的提高与软件维护之间的矛盾(5)遗产系统与实施软件之间的矛盾2.假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。
一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。
3.什么是软件工程?它有哪些本质特征?怎么用软件工程消除软件危机?软件工程是知道计算机软件开发和维护的一门工程学科。
软件工程 所有章测验 测验答案 慕课答案 UOOC优课 课后练习 深圳大学
第一章测验一、单选题(共40.00分)1. 程序复杂性将随着程序规模的增加而呈()上升。
A. 线性B. 指数C. 对数D. 平方正确答案:B2. 摆脱软件危机的主要出路是,按()的原则和方法组织软件的开发工作。
A. 工程化B. 自动化C. 精致化D. 智能化正确答案:A3. 以下哪一条不属于软件工程的基本原理?()A. 坚持进行阶段评审B. 严格实行产品控制C. 结果应能清楚地审查D. 严格按标准的软件过程执行正确答案:C4. 软件生命周期中所花费用最多的阶段是()。
A. 详细设计B. 编码C. 测试D. 维护正确答案:D二、多选题(共33.00分)1. 软件是()的完整集合。
A. 程序B. 数据C. 相关文档D. 开发工具正确答案:A B C2. 软件工程关注于()程序的构造。
A. 大型B. 中型C. 小型D. 微型正确答案:A3. 软件危机的表现可能包括()。
A. 产品不符合用户的需要B. 软件的可维护性差C. 软件的成本高昂D. 软件产品的质量差正确答案:A B C D三、判断题(共27.00分)1. 软件开发实际上就是编写程序代码。
()A. 正确B. 错误正确答案:B2. 不完善的系统定义往往是导致软件项目失败的主要原因。
()A. 正确B. 错误正确答案:A3. 计算机系统中硬件成本远大于软件。
()A. 正确B. 错误正确答案:B第二章测验一、单选题(共40.00分)1. 下列哪一个阶段不属于软件定义时期?()A. 问题定义B. 可行性研究C. 需求分析D. 概要设计正确答案:D2. 瀑布模型各阶段之间具有顺序性和()。
A. 反馈性B. 依赖性C. 同构性D. 统一性正确答案:B3. 应用螺旋模型时,维护和开发之间()。
A. 存在明显界限B. 必须由不同团队完成C. 通常采用不同的开发方法D. 没有本质区别正确答案:D4. 最适用于内部开发的大规模软件项目的生命周期模型是()。
A. 瀑布模型B. 喷泉模型C. 螺旋模型正确答案:C二、多选题(共33.00分)1. 采用快速原型模型开发软件时,原型系统可用于()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题1
1.什么是软件?软件和程序的区别是什么?
○1软件是计算机程序及其相关的数据和文档。
○2软件是满足用户需求的一种程序。
程序不一定是软件,而软件包含了很多个程序。
程序包括软件和病毒!软件就是行为合法的程序集!软件是由程序组成
2.什么是软件危机?软件危机的主要表现是什么?怎样消除软件危机?
○1软件危机是指在计算机软件开发和维护时所遇到的一系列问题。
其有两个方面:一是如何开发软件以满足对软件日益增长的的需求;二是如何维护数量不断增长的己有软件。
○2主要的表现形式有以下几种:
a.软件产品的发展速度跟不上硬件的发展和用户的需求,软件成本高。
b.软件的成本和开发进度不能预先估计,用户不满意。
c.软件产品质量差,可靠性不能保证。
d.软件产品可维护性差。
e.软件没有合适的文档资料。
○3要解决软件危机问题,需要采用以下措施。
a.使用好的软件开发技术和方法。
b.使用好的软件开发工具,提高软件生产率。
c.有良好的组织、严密的管理,各方面人员相互配合共同完成任务。
所以既要有技术措施,也要有组织管理措施。
3.什么是软件工程?什么是软件过程?
○1软件工程是软件开发、运行、维护和引退的系统方法,是指导计算机软件开发和维护的学科。
○2软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
软件过程定义了运用方法的顺序、应该交付的文档、开发软件的管理措施、各阶段任务完成的标志。
软件过程必须科学、合理,才能获得高质量的软件产品。
4.软件工程学的主要内容是什么?
软件工程学的主要内容是软件开发技术和软件工程管理。
5.什么是软件工程方法?有哪些主要软件工程方法?
○1软件工程方法是编制软件的系统方法,它确定软件开发的各个阶段,规定每一阶段的活动产品、验收的步骤和完成准则。
○2常用的软件工程方法有结构化方法、面向数据结构方法和面向对象方法等。
6.软件工程学的基本原理是什么?
是编制软件的系统方法,它确定软件开发的各个阶段,规定每一阶段的活动、产品、验收的步骤和完成准则。
7.什么是软件生命周期?软件生命周期为什么要划分阶段?划分阶段的原则是什么?
○1是从设计软件产品开始,到产品不能使用为止的时间周期。
○2软件生命周期通常包括软件计划阶段、需求分析阶段、设计阶段、实现阶段、测试阶段、安装阶段和验收阶段,使用和维护阶段,有时还包括软件引退阶段。
○3a.各阶段的任务彼此间尽可能相对独立。
b.同一阶段的工作任务性性质可能相同。
8.比较几种软件过程模型的特点。
瀑布模型:规范的、文档驱动的方法。
开发阶段按顺序进行,适合于需求分析较明确、开发技术较成熟的情况。
快速原型模型:构建原型系统让用户试用并收集用户意见,获取用户真实需求。
增量模型:优点是能在早期向用户提交部分产品且易于维护,应用的难点是软件的体系结构必须是开放的。
喷泉模型:适用于面向对象方法。
统一过程:适用于面向对象方法,使用统一建模语言(UML),采用用例驱动和架构优先策略,迭代增量的建造方法。
9.选择填空
快速原型方法是用户和设计者之间的一种交互过程,适用于____A______系统。
它从设计用户界面开始,首先形成____B_____,然后用户____C____并就____D______提出意见。
它是一种___E____型的设计过程。
A.○1需求不确定性较高的○2需求确定的
○3管理信息○4决策支持
B.○1用户使用手册○2系统界面原型
○3界面需求分析说明书○4完善用户界面
C.○1阅读文档资料○2改进界面的设计
○3模拟界面的运行○4运行界面的原型
D.○1使用哪种编程语言○2程序的结构
○3同意什么和不同意什么○4功能是否满足要求
E.○1自外向内○2自底向上○3自顶向下○4自内向外
10.选择填空
___○2___是将软件生命周期各个阶段,依线性表顺序连接,用文档驱动的模型。
在____○1____模型中采用用例驱动和架构优先的策略,采用迭代增量建造方法,软件是“逐渐”被开发出来的。
__○4____是一种以用户需求为动力,以对象作为驱动模型,适合于面向对象的软件开发方法。
○1统一过程○2瀑布模型○3增量模型○4喷泉模型○5快速原型模型。