软件工程第1章习题
软件工程《软件工程》习题集
软件工程习题集第一章概述一、选择题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什么是计算机软件?软件的特点是什么?答:计算机软件(Computer Software,也称软件,软体)是指计算机系统中的程序及其文档,程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。
程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。
软件的特点:1.软件是一种逻辑实体而不是有形的系统元件,其开发成本和进度难以准确的估算。
2.软件是被开发的或设计的,没有明显的制作工程,一旦开发成功,只需复制即可,但其维护的工作量大。
3.软件的使用没有硬件那样的机械磨损和老化问题。
1.2简述软件的分类,并举例说明。
答:软件分为系统软件,支撑软件和应用软件3类。
系统软件居于计算机系统中最靠近硬件的一层其他软件一般都通过系统软件发挥作用。
例如:编译程序,操作系统等。
支撑软件是支撑软件的开发和维护的软件。
例如:数据库管理系统,网络软件,软件工具,软件开发环境等。
应用软件是特定应用领域专用软件。
例如:工程/科学计算软件,嵌入式软件,产品线软件,Web应用软件,人工智能软件等。
1.3简述软件语言的分类,并举例说明。
答:软件语言是用于书写计算机软件的语言主要包括:需求定义语言,功能性语言,设计性语言,实现性语言和文档语言。
需求定义语言用以书写软件需求定义,软件需求定义是软件功能需求和非功能需求的定义性描述。
软件功能需求刻画“做什么”,软件非功能需求刻画诸如功能性限制、设计限制、环境描述、数据预通信规程以及项目管理等。
功能性语言用以书写软件功能规约,软件功能规约是软件功能的严格而完整的陈述。
软件功能规约通常只刻画软件系统“做什么”的外部功能,而不涉及系统“如何做”的内部算法,因此,功能性语言通常又称为功能规约语言。
设计性语言用以书写软件设计规约。
软件设计规约是软件设计的严格而完整的陈述。
一方面,它是软件功能规约的算法性细化,刻画了软件“如何做”的内部算法;另一方面,它又是软件实现的依据从。
软件工程与项目管理考试题(学生)
第一章练习题一、单项选择题1、软件是()。
A.处理对象和处理规则的描述B.程序C.程序、数据及文档D.计算机系统2、下列选项中()是软件开发中存在的不正确的观念、方法。
A.重编程、轻需求B.重开发、轻维护C.重技术、轻管理D.以上三条都是3、下列哪个阶段不属于软件生存周期的三大阶段()。
A.计划阶段B.开发阶段C.编码阶段D.维护阶段4、计算机系统就是()。
A.主机,显示器,硬盘,软驱,打印机等B.CPU,存储器,控制器,I/O接口及设备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、软件生存周期包括可行性分析、需求分析、系统设计、编码、()、维护等活动。
A.应用B.检测C.测试D.以上答案都不正确12、一个软件从开始计划到废弃为止,称为软件的()。
A.开发周期B.生存周期C.运行周期D.维护周期13、软件计划时期的主要任务是:分析用户要求、新系统的主要目标以及()。
A.开发软件B.开发的可行性C.设计软件D.运行软件二、判断题1、软件就是计算机系统中的程序、数据及其文档()。
软件工程习题
第1章软件危机与软件工程一、填空题1、软件工程是在1960 年代_末期提出的,这一概念的提出,其目的是倡导以工程和数学的原理、原则和方法进行软件开发,以期解决当时出现的软件危机。
2、软件包括了使计算机运行所需要的各种程序和数据及其有关的资料。
3、计算机程序及其说明程序的各种文档称为文件。
计算机任务的处理对象和处理规则的描述称为程序,有关计算机程序功能、设计、编制、使用的文字或图形资料称为文档。
4、20世纪60年代末至20世纪70年代初年代,“软件危机”一词在计算机界广为流传,其主要是针对当时存在的软件代价高和软件错误多的现象而提出的。
5、为了解决软件危机,要从技术、管理两方面入手。
引入“软件工程”的概念,就是为了解决软件开发过程中的技术和管理问题。
6、在软件开发、编码和测试过程中,必须将测试放在首要位置。
7、软件工程框架告诉我们,软件工程的目标是软件定义可靠性、软件开发可靠性、软件使用和维护可靠性。
8、软件工程的四条基本原则是:要选取适宜的开发模型,要采用合适的设计方法,要提供高质量的工程支持,要实行开发过程的管理。
9、软件工程活动主要包括需求、设计、实现、确认和支持等活动。
10、软件工程是指把系统的、规范化的、可以度量的方法运用于软件的开发、运行和维护的过程二、选择题1、软件是一种( B )产品。
A.有形B.逻辑C.物质D.消耗2、软件工程学的目的应该是最终解决软件生产的( B )问题。
A.提高软件的开发效率B.使软件生产工程化C.消除软件的生产危机D.加强软件的质量保证3、与计算机科学的理论研究不同,软件工程是一门( B )学科。
A.理论性B.工程性C.原理性D.心理性4、在计算机软件开发和维护中所产生的一系列严重的问题通常称为软件危机,这些问题中相对次要的因素是( D )。
A.文档质量B.软件效率C.软件功能D.软件性能5、软件工程与计算机科学性质不同,软件工程着重于( C )。
A.原理探讨B.理论研究C.建造软件系统D.原理的理论6、软件工程学出现的主要原因是( C )。
软件工程课后习题答案第五版
软件工程课后习题答案第五版《软件工程导论》课后习题答案第一章软件工程概论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
- (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
3.怎样克服软件危机?(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。
将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。
- 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。
软件工程导论1-6章习题
软件⼯程导论1-6章习题第⼀章练习题⼀、判断题1.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。
(√)2..软件是指⽤程序设计语⾔(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。
(X)3.在⾯向对象的软件开发⽅法中,每个类都存在其相应的对象,类是对象的实例,对象是⽣成类的模板。
(X)4.快速原型模型可以有效地适应⽤户需求的动态变化。
(√)5.类是关于对象性质的描述,由⽅法和数据组成。
(√)6.如果把软件开发所需的资源画成⼀个⾦字塔,⼈是最基本的资源。
(√)⼆、名字解释:1.软件:完成特定功能的程序+数据结构+⽂档。
2.软件危机:软件危机指在计算机软件的开发和维护过程中,所遇到的⼀系列严重问题。
3.软件⼯程:将系统化的、规范的、可度量的⽅法应⽤与软件的开发、运⾏和维护的过程。
(将⼯程化运⽤于软件中)。
4.软件⽣命周期:⼀个软件从定义、开发、使⽤和维护直⾄最终被废弃,要经历的漫长时期。
5.软件过程:为了获得⾼质量软件所需要完成的⼀系列任务的框架,它规定了完成各项任务的⼯作步骤。
6.瀑布模型:是将软件⽣存各个活动规定为依线性顺序联接的若⼲阶段的模型。
它包括可⾏性分析、项⽬开发计划、需求分析、概要设计、详细设计、编码、测试盒维护。
它规定了由前⾄后,相互衔接的固定次序,如同瀑布流⽔,逐级下落。
7.快速原型模型:是快速建⽴起来的可以再计算机上运⾏的程序,它所能完成的功能往往是最终产品能完成的功能的⼀个⼦集。
8.增量模型:是在项⽬的开发⼯程中以⼀系列的增量⽅式开发系统。
增量⽅式包括增量开发和增量提交。
增量开发是指在项⽬开发过程中以⼀定的时间间隔开发部分⼯作软件;增量提交是指在开发周期内,以⼀定的时间间隔增量⽅式向⽤户提交⼯作软件及相应⽂档。
增量开发和增量提交可以同时使⽤,也可以单独使⽤。
9.螺旋模型:是⼀种演化软件开发过程模型,它兼顾了快速原型/doc/1bea4fb35beef8c75fbfc77da26925c52dc59168.html /zh-cn/%E5%BF%AB%E9%80%9F%E5%8E%9F%E5%9E/doc/1bea4fb35beef8c75fbfc77da26925c52dc59168.html /zh-cn/%E7%80%91%E5%B8%83%E6%A8%A1%E5%9E析,使软件在⽆法排除重⼤风险时有机会停⽌,以减⼩损失。
软件工程第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-2章课后习题参考答案
第一章课后参考答案1.什么是软件危机?它们有哪些典型表现?为什么会出现软件危机?“软件危机”是指计算机软件的“开发”和“维护”过程中所遇到的一系列“严重问题”。
这些问题决不仅仅是不能正常运行的软件才具有的,实际上,几乎“所有软件”都不同程度地存在这些问题。
“软件危机”包含两方面的问题:(1)如何开发软件,以满足对软件日益增长的需求;(2)如何维护数量不断膨胀的已有软件。
它们有以下表现:(1)对软件开发成本和进度的估计常常很不准确;(2)用户对“已完成的”软件系统不满意的现象经常发生;(3)软件产品的质量往往靠不住;(4)软件常常是不可维护的;(5)软件通常没有适当的文档资料;(6)软件成本在计算机系统总成本中所占的比例逐年上升;(7)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。
出现软件危机的原因(1)开发人员与客户认识之间的矛盾(2)开发人员能力与开发目标之间的矛盾(3)预估与实际工作量之间的矛盾(4)客户认识的提高与软件维护之间的矛盾(5)遗产系统与实施软件之间的矛盾2.假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他?答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。
一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。
3.什么是软件工程?它有哪些本质特征?怎么用软件工程消除软件危机?软件工程是知道计算机软件开发和维护的一门工程学科。
软件工程课后习题_第1,2,3章
第一章:一.判断题:1.软件就程序,编软件就是编写程序。
()2.软件危机的主要表现是软件需求增加,软件价格上升。
()3.软件工程科学出现的主要原因是软件危机的出现。
()4.与计算机科学的理论研究不同,软件工程是一门原理性学科()二.选择题1.在下列选项中,()不是软件的特征A系统性与复杂性 B 可靠性与一致性C 抽象性与智能性D 有形性与可控性2.软件危机的主要原因是:A软件工具落后 B 软件生产能力不足C 对软件的认识不够D 软件本身的特点及开发方法3.下列说法正确是的是A 20世纪50年代提出了软件工程的概念B 20世纪60年代提出了软件工程的概念C 20世纪70年代提出了客户机/服务器技术D 20世纪80年代软件工程学达到成熟4.( )是将系统化的规范的可定量的方法应用于软件的开发,运行和维护的过程。
它包括方法、工具和过程三个要素A 软件生命周期B 软件测试C 软件工程D 软件过程5.在下列选项中,()不属于软件工程学科索要研究的基本内容。
A 软件工程材料B 软件工程目标C 软件工程原理D 软件工程过程6.软件工程的三要素是()A技术,方法和工具 B 方法,对象和类 C 方法,工具和过程 D 过程,模型和方法7.用来辅助软件开发,运行,维护,管理,支持等过程中的活动的软件成为软件开发工具,通常也称为()工具A CADB CAIC CAMD CASE三简答题1.与计算机硬件相比,计算机软件有哪些特点?2.软件就是程序吗?如何定义软件?3.什么是软件危机?是什么原因导致了软件危机?4.为什么说软件工程的开发能在一定程度上解决软件危机的各种弊端?5.请简述软件工程的研究内容。
6.请简述软件工程的三要素。
7.请简述软件工程的目标,过程和原则。
8.请简述软件工程的基本原则。
9.请简述现代软件工程与传统软件工程显著的区别与改进。
第二章:一判断题1.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
软件工程习题答案
软件⼯程习题答案第1章软件⼯程概述参考答案⼀. 选择题1. B2. A3. B4. B5. D6. B7. D8. A9. D⼆. 填空题1. 设计编码测试2. 软件费⽤可靠性可维护性可重⽤性及⽣产率等3. 计算机软件开发和维护4. 分解抽象和信息隐蔽⼀致性确定性5. 软件的总⽬标待开发软件的需求6. ⼆三7. 计划阶段开发阶段维护阶段8. 软件需求明确9. 制定计划风险分析开发实施⽤户评估三. 名词解释1. 软件的定义如下:在运⾏中能提供所希望的功能和性能的指令集,使程序能正确运⾏的数据结构,描述程序研制过程和⽅法所⽤的⽂档。
2. 软件⼯程是指导计算机软件开发和维护的⼀门学科。
3. 软件危机指的是软件开发和维护过程中遇到的⼀系列严重问题。
4. 就是从提出软件产品开始,直到该软件产品被淘汰的全过程。
5. 瀑布模型⼜称⽣存周期模型,由B.M.Boehm提出,是软件⼯程的基础模型。
其核⼼思想是按⼯序将问题化简,将功能的实现与设计分开,便于分⼯协作。
6. 螺旋模型将瀑布模型与演化模型结合起来,并且加⼊两种模型均忽略了的风险分析,弥补了两者的不⾜。
四. 简答题1. 软件既是知识产品,⼜是与汽车,建筑物⼀样的⼯业产品,此外,软件还具有类似艺术,学术那样的知识性创造和特点,软件的特点如下:软件是⼀种逻辑实体,⽽不是具体的物理实体,因⽽它具有抽象性;软件是通过⼈们的智⼒活动,把知识与技术转化成信息的⼀种产品,是在研制、开发中被创造出来的;在软件的运⾏和使⽤期间,没有硬件那样的机械磨损、⽼化问题;软件的开发和运⾏经常受到计算机系统的限制,对计算机系统有着不同程度的依赖关系;软件的开发尚未完全摆脱⼿⼯的开发⽅式;软件的开发费⽤越来越⾼,成本相当昂贵;软件的开发是⼀个复杂的过程,因⽽管理是软件开发过程中必不可少的內容。
2. 软件危机主要表现如下:产品不符合⽤户的实际需要;软件开发⽣产率提⾼的速度远远不能满⾜客观需要,软件的⽣产率远远低于硬件⽣产率和计算机应⽤的增长速度,使⼈们不能充分利⽤现代计算机硬件提供的巨⼤潜⼒;软件产品的质量差;对软件开发成本和进度的估计常常不准确;软件的可维护性差;软件⽂档资料通常既不完整也不合格;软件的价格昂贵,软件成本在计算机系统总成本中所占的⽐例逐年上升。
软件工程第一二三章习题参考答案
请问:
(1)为什么鲍曼拆下存储器就能摆脱计算机的干扰而独自控制宇宙飞船?我们现在遇到的软件问题有这么严重吗?
(2)如果不依靠飞行指挥中心,鲍曼怎样才知道HAL的故障预报有问题?
(3)应该怎样设计计算机系统,才能避免出现故事中描述的这类问题?
3.什么是软件工程?它有哪些本质特性?怎样用软件工程消除(至少是缓解)软件危机?
答:软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
软件工程本质特性:1)软件工程关注于大型程序的构造;2)软件工程的中心课题是控制复杂性;3)软件经常变化;4)开发软件的效率非常重要;5)和谐地合作是开发软件的关键;6)软件必须有效地支持它的用户;7)在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。
消除软件危机的途径:为了消除软件危机,首先应该对计算机软件有一个正确的认识。必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。应该推广使用在实践中总结出来的开发软件的成功的技术和方法,并且研究探索更好更有效的技术和方法,尽快消除在计算机系统早期发展阶段形成的一些错误概念和做法。应该开发和使用更好的软件工具。为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
软件工程第一二三章习题参考答案
人怎么能在设计阶段清除它呢?”你怎么反驳他?
答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件已经完成时再引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。
《软件工程案例教程》李军国主编习题答案
《软件⼯程案例教程》李军国主编习题答案第1章习题答案⼀、判断题⼆、填空题三、简答题1.软件的特点:①软件具有抽象性。
②软件与硬件的⽣产⽅式不同。
③软件与硬件的维护⽅式不同。
④软件具有复杂的逻辑性。
⑤软件的成本较⾼。
⑥软件的使⽤和社会因素有关。
2.软件危机产⽣的原因:①⽤户需求不明确。
②缺乏正确的理论指导。
③软件开发规模越来越⼤。
④软件开发复杂度越来越⾼。
3.软件危机的主要表现:①软件开发进度难以预测。
②软件开发成本难以控制。
③⽤户对产品功能难以满⾜。
④软件产品质量⽆法保证。
⑤软件产品难以维护。
⑥软件缺少适当的⽂档资料。
4.软件⼯程学的基本原则有哪些:①抽象。
②信息隐蔽。
③模块化。
④局部化。
⑤确定性。
⑥⼀致性。
⑦完备性。
⑧可验证性。
5 什么是软件的⽣命周期?答案:软件与任何⼀个事物⼀样,有它的孕育、诞⽣、成长、成熟、衰亡的⽣存过程。
这就是软件的⽣存周期。
6 软件⼯程过程有哪⼏个基本过程活动?试说明之。
答案:软件⼯程过程的基本过程活动有4步:①软件规格说明(需求定义)。
规定软件的功能及其运⾏的限制;②软件设计与开发(设计开发)。
产⽣满⾜规格说明的软件;③软件确认(测试)。
确认软件能够完成客户提出的要求;④软件演进(维护)。
为满⾜客户的变更要求,软件必须在使⽤的过程中演进。
四、综合题1.详细说明软件⽣命周期分哪⼏个阶段?答案:软件⽣命周期主要分为6个阶段:软件项⽬计划、软件需求分析和定义、软件设计、程序编码、软件测试,以及运⾏维护。
(1)软件项⽬计划:在这⼀步要确定软件⼯作范围,进⾏软件风险分析,预计软件开发所需要的资源,建⽴成本与进度的估算。
根据有关成本与进度的限制分析项⽬的可⾏性。
(2)软件需求分析和定义:在这⼀步详细定义分配给软件的系统元素。
可以⽤以下两种⽅式中的⼀种对需求进⾏分析和定义。
⼀种是正式的信息域分析,可⽤于建⽴信息流和信息结构的模型,然后逐渐扩充这些模型成为软件的规格说明。
另⼀种是软件原型化⽅法,即建⽴软件原型,并由⽤户进⾏评价,从⽽确定软件需求。
《软件工程》(第五版)习题参考答案
《软件工程》(第五版)习题参考答案
第1章 一、判断题 1、(×)软件的维护与硬件维护本质上是相同的。 2、(√)软件在运行和使用中也存在退化问题。 3、(×)软件危机的产生主要是因为程序设计人员使用了不适 当的程序设计语言。 4、(√)软件同其他事物一样,有孕育、诞生、成长、成熟和 衰亡的生存过程。 5、(×)文字处理软件 Word 属于系统软件。应用软件 6、(√)原型是软件的一个早期可运行的版本,它反映最终系 统的部分重要特性。 7、(√)软件开发过程中,一个错误发现得越晚,为改正它所 付出的代价就越大。 8、(×)快速原型模型对软件开发人员的水平要求不高。 9、(√)喷泉模型适合于面向对象的软件开发。 10、(×)面向对象开发方法的主要缺点是在适应需求变化方面 不够灵活。 二、选择题 1、软件是一种(C)。 A、程序 B、数据
D、合同文档 14、结构化分析方法是以数据流图、(D)和加工说明等描述工 具,即用直观的图和简洁的语言来描述软件系统模型。 A、DFD 图 B、PAD 图 C、IPO 图 D、DD 15、软件需求分析阶段的工作,可以分为四个方面:需求获取、 需求分析、编写需求规格说明书以及(B)。 A、阶段性报告 B、需求评估 C、总结 D、都不正确 16、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一 些特定的图符构成。下面图符名称标识的图符不属于数据流图合 法图符的是(A)。 A、控制流 B、加工 C、数据存储 D、源点和终点 17、DFD 用于描述系统的(D)。 A、数据结构
软件工程(习题及参考答案)
第1章概述(习题与参考答案)[判定题]1. 由于今天个人运算机不断进展壮大,人们再也不采纳软件团队的开发方式。
(×)2. 由于软件是产品,因此能够应用其他工程制品所用的技术进行生产。
(×)3. 购买大多数运算机系统所需的硬件比软件更昂贵。
(×)4. 大多数软件产品在其生命周期中不需要增强功能。
(×)5. 大多数软件系统是不容易转变的,除非它们在设计时考虑了转变。
(√)6. 一样来讲,软件只有在其行为与设计者的目标一致的情形下才能成功。
(×)[选择题]1. ()因素促使运算机系统愈来愈复杂。
(D)A. 运算机内存和存储容量上的庞大增加B. 外部输入/输出选项的加倍多样性C. 运算机体系结构方面的深刻转变D. 以上所有选项2. 下面的()再也不是现代软件工程师关注的问题。
(A)A. 什么缘故运算机硬件的本钱这么高?B. 什么缘故软件需要很长时刻才能完成?C. 什么缘故开发一个软件的本钱这么高?D. 什么缘故不能在产品发布前去除软件错误?3. 软件会慢慢退化而可不能磨损,其缘故在于()。
(C)A. 软件通常暴露在恶劣的环境下B. 软件错误通常发生在利用以后C. 不断的变更使组件接口之间引发错误D. 软件备件很难订购4. 大多数软件仍然是定制开发的,其缘故在于()。
(C)A. 软件组件重用是十分普遍的B. 可重用的组件太昂贵而无法利用C. 软件在不利用其他组件的情形下很容易构造出来D. 商业组件在很多应用领域中能够取得5. 下面的()说法是正确的。
(C)A. 软件危机在20世纪70年代末期全面暴发B. 当前先进的软件工程方式已经解决了软件危机的问题C. 软件危机是指在运算机软件的开发和保护进程中碰到的一系列严峻问题D. 软件危机是指在软件产品中存在一系列的质量问题6. 软件工程的大体目标是()。
(B)A. 排除软件固有的复杂性B. 开发高质量的软件C. 尽力发挥开发人员的制造性潜能D. 更好地保护正在利用的软件产品7. ()是将系统化的、标准的、可定量的方式应用于软件的开发、运行和保护的进程,它包括方式、工具和进程三个要素。
软件工程习题解答
第一章软件工程概论一、填空题⑴ 软件是计算机系统中与硬件相互依存的部分,它是包括(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、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程第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.B
2.C
3.C
4.A
5.D
第1章自测题及参考答案
一、名称解释
1.软件
2.文档
3.软件工程
4.软件生存周期
5.软件工程过程
6.软件生存周期模型
7.软件开发方法
8.软件工具
二、填空题
1.构成一个完整计算机系统的两部分是硬件与_____软件___。
2.程序设计时代的生产方式是___个体手工劳动_____。
3.软件工程涉及到几个学科,它是一门__综合性交叉___学科。
4.软件开发划分的各阶段任务尽可能独立,同一阶段任务性质尽可能_____相同___。
5.将软件生存周期各个活动规定为依线性顺序联接的若干阶段的模型是_瀑布_______模型。
6.喷泉模型是一种以用户需求为动力,以____对象___为驱动的模型。
7.结构化方法是一种面向数据流的开发方法。
由结构化分析、__结构化设计_____、结构化程序设计构成。
8.软件工程研究的主要内容是软件开发管理和___软件开发技术____两个方面。
9.软件工具是支持软件开发人员的开发和维护活动而使用的____软件____。
10.一个软件项目的开发中,要采用一种生存周期模型,要按照某种_开发方法_______,使用相应的工具来进行。
三、选择题
1.软件是一种( B )产品。
A.物质
B.逻辑
C.有形
D.消耗。