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