您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件工程(第五版)--习题及答案
1《软件工程》(第五版)习题参考答案第1章一、判断题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、尽早把需求分析清楚,以降低风险2C、尽早地发现问题、纠正错误D、对软件分析设计人员的素质要求不高11、快速原型的主要问题在于(A)。A、缺乏支持原型开发的工具B、要严格控制原型构造的迭代C、终端用户对原型不能理解D、软件的测试和文档更新困难12、螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。A、增量模型B、专家系统C、喷泉模型D、变换模型13、在软件生产的程序系统时代由于软件规模扩大和和软件复杂性提高等原因导致了(A)。A、软件危机B、软件工程C、程序设计革命D、结构化程序设计14、集成化开发环境中的环境集成机制不包括(D)。A、数据集成B、控制集成C、界面集成D、服务集成15、软件工程的出现是由于(A)。A、软件危机的出现B、计算机硬件技术的发展C、软件社会化的需要D、计算机软件技术的发展三、简答题1、软件通过你自己使用计算机的经历和对计算机的认识分辨软件和程序的差别,指出区别的关键点。答:软件包括程序、数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能够正确地处理信息的数据结构;文档是与程序开发、维护和使用有关的图文资料。软件包括程序,程序只是软件的一部分。2、简述软件危机产生的原因以及避免的方法。答:软件危机的产生有两方面因素,一方面与软件本身的抽象性和复杂性有关;另一方面则与软件开发和维护过程中使用的技术和方法有关,这是主观原因。为了解决软件危机,既要有技术措施(好的方法和工具),也要有组织管理措施。(1)使用好的软件开发技术和方法。(2)使用好的软件开发工具,提高软件生产率。(3)有良好的组织、严密的管理,各方面人员相互配合共同完成任务。3、简述软件工程在软件开发中的作用和意义。答:软件工程的主要思想是强调软件开发过程中应用工程化原则的重要性。软件工程的目标是实现软件的优质高产。软件工程的目的是在经费的预算范围内,按期交付出用户满意的、质量合格的软件产品。4、软件生命周期概念对软件的开发有哪些指导作用。3答:软件生命周期是软件工程的一个重要的概念。把整个软件生命周期划分为若干个较小的阶段,每个阶段都有相对独立的任务和完成任务的步骤和方法,然后逐步完成各个阶段的任务,这有利于软件开发过程的组织和管理,从而降低了整个软件开发过程的困难程度,从而使规模庞大、结构复杂和管理复杂的软件开发变得容易控制和管理。5、分析瀑布模型和螺旋模型的异同,比较它们的适用场合。答:瀑布模型是线性模型,是整体开发模型,文档驱动的模型,每一阶段必须完成指定的文档,需求明确的中、小型软件开发,不适宜需求模糊或多变的应用软件开发;螺旋模型是典型迭代模型,是风险驱动模型,可用于面向对象开发,适宜风险较大的大型软件开发。第2章一、选择题1、系统流程图是一种传统工具,用于描绘(D)。A、逻辑模型B、程序结构C、体系结构D、物理系统2、软件可行性研究的目的是(C)。A、证明软件开发项目可行B、证明软件开发项目不可行C、阐述软件开发项目值得或不值得做D、为了确定软件开发项目要不要做3、技术可行性研究要解决的问题是(A)。A、从技术方面说明项目是否可行B、从技术上定义项目要解决的问题C、给出项目开发可行的技术路线D、给出精简的项目需求设计报告4、可行性研究的步骤首先是(A)。A、确定项目目标,即对要解决的问题进行定义B、研究项目要求C、对项目目标进行可行性分析D、给出可行的解决方案5、可行性研究的任务不包括(D)。A、技术可行性B、经济可行性C、法律可行性D、政治可行性6、系统流程图是描述(A)的工具。A、物理系统B、逻辑系统C、体系系统D、程序系统7、可行性研究实质上是要进行一次(A)需求分析,设计过程。A、简化、压缩的B、详细的C、彻底的D、深入的8、系统流程图的符号不包括(D)。A、B、C、D、4二、简答题1、软件开发的早期,为什么要进行可行性研究?目标的可行性研究有几个方面?答:许多软件开发问题都不能在预期的时间范围内或资源限制下得到解决。如果开发人员没有尽早停止没有可行解决方案的开发项目,就会造成时间、资金、人力、物力的浪费。为了降低软件开发失败的可能性,需要进行软件可行性研究。可行性研究要从经济可行性、技术可行性、运行可行性和法律可行性四方面进行。2、简述可行性研究的步骤。答:(1)审核系统的规模和目标;(2)分析研究现行系统;(3)设计新系统的高层逻辑模型;(4)获得并比较可行的方案;(5)撰写可行性研究报告。3、某航空公司为了方便旅客,拟开发一个机票预订系统。将旅客的信息(姓名、性别、工作单位、身份证号、旅行时间、旅行目的地等)输入该系统后,系统自动为旅客安排航班。打印出取票通知和票务账单。旅客可在航班的前一天凭取票通知和票务账单交款取票。系统校对无误后即打印出机票给旅客。要求:(1)提出问题定义;(2)分析此系统的可行性;(3)画出系统流程图。答:(1)问题定义:航运公司机票预订系统问题定义-------------------------------------------------------------------系统目标和范围说明书1.项目名称:X航运公司机票预订系统。2.背景:目前,由旅客人工到航运公司排队购票,费时、费力、管理工作量大、手续繁琐效率低,制约了公司业务的发展。3.项目目标:建立一个网络化的机票预订系统。4.项目范围:软件开发费用不超过X万元。5.初步设想:建议在系统中完成安排航班、打印取票通知、打印票务账单、打印机票等主要功能。6.可行性研究:建议进行大约X周的可行性研究,研究费用不超过X元。-------------------------------------------------------------------(2)可行性分析技术可行性:使用现有的技术能够实现此系统,在现有资源(包括硬件资源、软件资源、技术人员的技术水平和已有的工作基础)条件下,技术风险不大,项目可以实现。经济可行性:此系统能够方便旅客订票,具有一定的经济效益和社会效益。法律可行性:此项目开发要符合航运系统相关要求。操作可行性:现有制度、人员素质、操作方式可行。(3)系统流程图5旅客寄发、交付取票通知打印取票通知、票务账单安排航班查看航班舱位旅客交款取票航班要求客机舱位表通知单账单取票通知旅客取票通知机票航空公司登记旅客信息客机舱位表旅客信息表AA票务账第3章一、判断题1、(√)软件需求分析阶段要确定软件系统要“做什么”。2、(×)软件需求规格说明书可作为可行性研究的依据。3、(√)需求分析员可以参加最后的需求评审工作。4、(×)画数据流图时可以加少量的控制流,使加工之间有时序的关系。5、(√)结构化分析模型的核心是数据词典。6、(×)在数据流图中,带有箭头的线段表示的是控制流。数据流7、(×)在软件生产过程中,需求信息的来源是项目经理。用户8、(√)需求分析阶段的任务是确定软件的功能。做什么二、选择题1、需求分析最终结果是产生(B)。6A、项目开发计划B、需求规格说明书C、设计说明书D、可行性分析报告2、数据流图(DFD)是(A)方法中用于表示系统的逻辑模型的一种图形工具。A、SAB、SDC、SPD、SC3、需求规格说明书的作用不包括(C)。A、软件验收的依据B、用户与开发人员对软件要做什么的共同理解C、软件可行性研究的依据D、软件设计的依据4、数据词典是用来定义(D)中的各个成分的具体含义。A、流程图B、功能结构图C、结构图D、数据流图5、结构化分析方法(SA)是一种面向(B)的分析方法。A、数据结构B、数据流C、结构化数据系统D、对象6、在数据词典中,以下哪一项表示允许重复0至任意次(A)。A、{}B、0{}C、0{}nD、{}n7、以下数据流图符号中哪一个表示加工(B)。A、B、C、D、8、软件开发的需求活动,其主要任务是(D)。A、给出软件解决方案B、给出系统模块结构7C、定义模块算法D、定义需求并建立系统模型9、结构化分析的核心是(A)。A、自顶向下的分解B、用DFD建模C、用DD描述数据需求D、自底向上的抽象10、需求分析的任务是(A)。A、正确说明让软件“做什么”B、用DFD建模C、用DD建立数学模型D、给出需求规格说明书11、对于分层的DFD,父图与子图的平衡是指(B)。A、父图与子图的输入输出数据流必须相同B、子图必须继承父图的输入与输出流C、父图与子图相应的输入输出数据流名字保持一致D、子图可以自己的输入输出数据流12、DFD的每个加工都必须有(A)。A、一个输入和输出数据流B、一个输入数据流C、一个输出数据流D、一个输入或输出数据流13、需求分析是分析员经了解用户的要求,认真细致地调研、分析,最终建立目标系统的逻辑模型并写出(B)的过程。A、模块说明书B、软件规格说明书C、项目开发计划D、合同文档14、结构化分析方法是以数据流图、(D)和加工说明等描述工具,即用直观的图和简洁的语言来描述软件系统模型。A、DFD图B、PAD图C、IPO图D、DD815、软件需求分析阶段的工作,可以分为四个方面:需求获取、需求分析、编写需求规格说明书以及(B)。A、阶段性报告B、需求评估C、总结D、都不正确16、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下面图符名称标识的图符不属于数据流图合法图符的是(A)。A、控制流B、加工C、数据存储D、源点和终点17、DFD用于描述系统的(D)。A、数据结构B、控制流程C、基本加工D、软件功能18、数据词典不包括的条目是(C)。A、数据项B、数据流C、数据类型D、数据加工19、软件需求分析一般应确定的是用户对软件的(D)。A、功能需求B、非功能需求C、性能需求D、功能需求和非功能需求20、在数据流图中,有名字和方向的成分是(B)。A、信息流B、数据流C、控制流D、信号流三、简答题1、需求分析的任务是什么?怎样理解“做什么”和“怎么做”?答:需求分析的基本任务是要准确地理解旧系统、定义新系统的目标,为了满足用户需要,回答“系统必须做什么”的问题,即确定系统必须完成哪些工作,对新系统提出完整、准确、
本文标题:软件工程(第五版)--习题及答案
链接地址:https://www.777doc.com/doc-1990735 .html