您好,欢迎访问三七文档
1、什么是软件危机?答:软件危机是指在计算机的开发和维护过程中所遇到的一系列严重问题。这些问题绝不仅仅是“不能正常运行的”软件才具有的,实际上几乎所有软件都不同程度的存在这些问题。概况地说软件危机包含两个方面的问题:如何开发软件,怎样满足对软件的日益增长的需?如何维护数量不断膨胀的已有软件?2、软件危机的主要表现:对软件开发成本和进度的估计常常很不准确用户对“已完成的”软件不满意的情况经常发生软件产品的质量常常靠不住软件常常不可维护或可维护性差软件常常没有适当的文档资料软件成本在计算机总成本中所占比例逐年上升软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势?3、解决软件危机的途径:良好的组织、严密的管理、密切的协作科学的开发方法、先进的软件开发工具阶段评审,及时发现问题解决问题4、什么叫软件?“软件”的定义为:计算机程序、方法、规则、相关的文档资料以及在计算机上运行时所必需的数据。5.什么叫软件工程?软件工程是将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。是指导计算机软件开发和维护的工程学科。包括两个方面:软件工程技术软件工程管理软件工程三要素:方法、工具、过程6、软件工程的基本原理:1.用分阶段的生命周期计划严格管理2.坚持进行阶段评审3.实行严格的产品控制4.采用现代程序设计技术5.结果应能清楚地审查6.开发小组的人员应该少而精7.承认不断改进软件工程实践的必要性7、软件工程的基本目标:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发工作,及时交付使用。8、软件开发过程软件工程过程通常包含四种基本的过程活动:(1)软件规格说明;(2)软件开发;(3)软件确认;(4)软件演进。9、软件生存期:关键问题里程碑问题定义问题是什么?关于规模和目标的报告书可行性研究有可行的解吗?可行性分析报告系统必须做什么需求规格说明书概要设计概要地说:怎么做?概要设计说明书详细设计具体地说:怎么做?详细设计说明书源程序清单、单元测试及提交报告综合测试符合要求的软件测试报告、测试方案交付可交付的软件交付清单等运行/维护满足需要的软件完整的维护记录交付/运行/维护编码与单元测试正确的程序模块软件生存期各阶段过程小结软件定义需求分析软件开发阶段制定计划10、软件生存期1.问题定义;2.可行性分析;3.需求分析;4.总体设计;5.详细设计;6.编码;7.测试;8.运行与维护。11、按照传统瀑布模型开发软件的特点1.阶段间具有顺序性和依赖性;2.推迟实现的观点;3.需求冻结的观点;4.质量保证的观点:每个阶段必须完成规定的文档;每个阶段结束前完成文档审查;尽早改正错误。比较:喷泉模型是典型的面向对象的软件过程模型,该模型中相邻阶段之间的活动存在交迭。12、技术审查的步骤准备,简要介绍情况,阅读被审查的文档,开审查会,返工,复查。13、可行性研究的任务(1)技术可行性使用现有的技术能实现这个系统吗?(2)经济可行性这个系统的经济效益能超过它的开发成本吗?(3)操作可行性系统的操作方式在这个用户组织内行得通吗?14、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的(A)问题?A.生产工程化B.质量保证C.开发效率D.产生危机软件危机通常是指在计算机软件开发和维护中所产生的一系列严重问题,这些问题中相对次要的因素是(A):A.软件性能B.文档质量C.开发效率D.软件功能15、软件危机是软件产生过程中出现的一种现象,下述现象:I.软件需求增长难以满足Ⅱ.软件开发成本提高Ⅲ.软件开发进度难以控制Ⅳ.软件质量不易保证哪些是其主要表现:AA.全部B.Ⅲ和ⅣC.Ⅱ、Ⅲ和ⅣD.I、Ⅱ和Ⅲ16、软件危机出现于①C,为了解决软件危机,人们提出了用②B的原理来设计软件,这就是软件工程诞生的基础。①A.50年代末B.60年代初C.60年代末D.70年代初②A.运筹学B.工程学C.软件学D.数学17.软件工程的出现是由于(A)。A.软件危机的出现B.软件产业化的需要C.程序设计方法学的影响D.计算机的发展开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作(A)。A.软件危机B.软件投机C.软件工程D.软件产生18.下列哪一项不是软件危机的表现形式?AA.系统软件与应用软件的联系越来越困难B.软件生产高成本,价格昂贵C.软件需求定义不明确,易偏离用户需求D.软件的可维护性差(A)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。A软件工程B软件测试C软件生存周期D软件过程19.软件工程学中除重视软件开发技术的研究外,另一重要组成内容是软件的(A)A.工程管理B.成本核算C.人员培训D.工具开发在瀑布模型中,将软件开发划分为若干个时期,软件项目的可行性研究一般归属于(A)A.计划时期B.维护时期C.运行时期D.开发时期20.软件工程的结构化生命周期方法是将软件开发的全过程划分为相互独立而又相互依存的阶段,软件的逻辑模型形成于CA.开发阶段B.计划阶段C.分析阶段D.设计阶段分析:需求分析的目标包括构造一个完全的系统逻辑模型。21、软件工程的结构化生命周期方法,通常将软件生命周期划分为计划、开发和运行三个时期,下述哪些工作应属于软件开发期的内容?(C)I.需求分析Ⅱ.可行性研究Ⅲ.总体设计A.只有ⅡB.I和ⅡC.I和ⅢD.都是22、软件工程是一种A分阶段实现的软件程序开发方法。A.自底向上B.自顶向下C.逐步求精D.面向数据流软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指(A)A.结构化方法B.原型化方法C.面向对象方法D.功能分解法23、软件工程管理涉及软件管理学和(A)两部分的内容。A.软件工程经济B.软件开发工具C.软件工程环境D.软件开发方法软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不属于开发技术的范畴?(A)A.软件工程经济B.软件开发工具C.软件工程环境D.软件开发方法24、在软件发展过程中,第一阶段(50年代)称为“程序设计的原始时期”,这一时期既没有①也没有②,程序员只能用汇编语言编写程序。第二阶段(50年代末~60年代末)称为“基本软件期”,出现了①并逐渐普及,随之②编译技术也有较大发展。第三阶段(60年代末~70年代中)称为“程序设计方法的时代”。此时期,与硬件费用下降相反,软件开发费用急剧上升。人们提出了③和④等程序设计方法,设法降低软件开发的费用。第四阶段(70年代中至今)称为“软件工程时期”,软件开发技术不再仅仅是程序设计技术,而是同软件开发的各阶段(⑤、⑥、编码、测试、⑦)及整体和管理有关。①②③④A.汇编语言B.操作系统C.虚拟存储器概念D.高级语言E.结构式程序设计F.数据库概念G.固件H.模块化程序设计⑤⑥⑦A.使用和维护B.兼容性的确认C.完整性的确定D.设计E.需求定义F.图像处理答案:①B②D③E④H⑤E⑥D⑦A25、从软件的开发到运行的全过程,软件文档的重要作用是众所周知的,但执行时差距甚大,其根本原因是DA.文档规范程度低B.文档生成工具差C.开发者缺乏重视D.工程化程度尚低分析:若软件工程化方式或工程化程度较低,则会导致软件开发进度与软件文档完全脱节。26、软件文档是软件工程实施中的重要成分,它不仅是软件开发各阶段的重要依据,而且也影响软件的DA.可理解性B.可扩展性C.可移植性D.可维护性分析:缺乏必要的软件文档,必然给软件开发和维护带来许多严重的困难和问题。27、软件复审时,其主要的复审对象是(A).A.软件文档B.软件结构C.程序编码D.文档标准软件工程学的概念除指软件开发技术研究外,另一重要内容为(A).A.软件工程管理B.软件开发工具的培训C.开发人员培训D.软件工程环境28、瀑布模型把软件生存周期划分为软件定义、软件开发与A三个阶段,而每个阶段又可分为若干更小的阶段。A.运行及维护B.可行性阶段C.详细阶段D.问题定义软件生产的成败更多地依赖于:AA.合理地组织与协调B.程序员个人的编程能力C.领导者的指挥才能D.用户的配合29、历史信息格式不一致时,应采用D的方法使问题得到一定程度的解决。A.加强标准化B.稳定数据结构C.提高软件重用率D.A与B30、为了普及和推广计算机的应用,大量工作应集中在A.软件领域之中B.硬件领域之中C.语言和界面完善方面D.程序设计方法学大型软件开发过程中,A起着最为关键的作用。A.项目负责人B.用户C.程序员D.测试人员31、CMM模型用于:AA.衡量项目组是否合乎标准B.需求分析C.软件维护D.软件测试对于软件开发管理问题,核心问题是(A)A.质量B.进度C.费用D.资源利用32、程序设计属于软件开发过程的A阶段。A.实现B.编程C.设计D.编码IBM的HIPO图应用于软件开发的哪个阶段?(A)A.总体设计阶段B.需求分析阶段C.实现阶段D.测试阶段33、开发大型软件时,产生困难的根本原因是(A).A.大系统的复杂性B.人员知识不足C.客观世界千变万化D.时间紧、任务重下列哪个出现得最早?(A)A.OOPLB.OOAC.OODD.OODBMS34、瀑布模型是一种:(B)A.软件维护模型B.软件生命期模型C.软件生命周期D.程序设计方法学在软件工程中,高质量的文档标准是完整性、一致性和(C)A.统一性B.安全性C.无二义性D.组合性35、逆向工程在软件工程中主要用于哪个阶段。AA.维护B.设计C.编码D.分析选择结构的复杂性比顺序结构的复杂性要(A)A、大B、小C、相等D、无法比较36、软件文档的描述中:I.描述怎样安装和管理这个系统;Ⅱ.描述系统的安装和测试,以便使系统是可维护的;Ⅲ.描述如何使用这个系统,以便用户的使用;Ⅳ.描述系统的需求和设计哪些是软件文档应该满足的内容?(C)A.I,Ⅱ,ⅣB.I,Ⅱ,ⅢC.Ⅱ,Ⅲ,ⅣD.都是37、软件工程管理涉及软件管理学和(A)两部分的内容。A.软件工程经济B.软件开发工具C.软件工程环境D.软件开发方法项目开发总结一般在A结束时完成。A.测试阶段B.需求分析阶段C.设计阶段D.运行维护阶段38、下列哪一种软件设计方法是基于动态定义需求的设计方法?AA.原型化方法B.面向对象的软件开发方法C.结构化设计方法(SD)D.结构化分析方法(SA)属于第一代程序设计语言的(A)。A、机器语言B、汇编B、PASCALC、FOX39、在软件工程中,A是用户和设计者之间执行的一种交互过程,适用于开发需求不确定的大型软件系统。A.原型模型B.生存周期模型C.瀑布模型D.瀑布模型和原型模型40、CMM提供了一个框架,将软件过程改进的进化步骤组织成(5)个成熟度等级。除第1级外,每个等级都包含了实现该成熟度等级目标的若干(B)。A关键实践B关键过程域C软件过程能力D软件过程41、从心理学的观点,编程语言的性能主要有(D)I.二义性Ⅱ.简洁性Ⅲ.一致性Ⅳ.局部性和线性A.I,Ⅱ,ⅣB.Ⅱ,Ⅲ,ⅣC.I,ⅢD.都是42选择题软件可维护性的特性中相互矛盾的是(A).A、效率和可修改性B、可测试性和可理解性C、可修改性和可理解性D、可理解性和可读性在软件开发中,有利于发挥集体智慧的一种做法是(A).A.技术评审B.模块化C.主程序员制D.进度控制43、软件维护产生的副作用,是指(A).A、因修改软件而造成的错误B、开发时的错误C、隐含的错误D、运行时误操作软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。A固有的B人为的C可消除的D不可降低的44、如何理解软件维护的副作用?所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需求而修改程序的过程。所谓软件维护的副作用是指因为软件维护而造成新的问题。这些问题主要有:由于维护时的改动,在软件中引入了潜伏的错误,从而降低了软件的质量;由于维护时改动程序,可能文档没有同步修改,造成文档与程序不一致,为今后的软件
本文标题:软件工程总复习题
链接地址:https://www.777doc.com/doc-2011396 .html