软件工程复习题答案_第1页
软件工程复习题答案_第2页
软件工程复习题答案_第3页
软件工程复习题答案_第4页
软件工程复习题答案_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程复习题——考试时间地点:19周周三E204、E2031.软件的定义?软件是程序、数据及相关文档的完整集合。其中,程序是能够完成预定功能和性能的可执行的指令序列;数据是使程序能够适当地处理信息的数据结构;文档是开发、使用和维护程序所需要的图文资料。2.软件危机的定义,表现、原因是什么?软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机的表现:(1)对软件开发成本和进度的估计常常很不准确。(2)经常出现用户对“已完成的”软件系统功能不满意的现象。(3)软件产品的质量往往达不到要求。(4)软件通常不可维护。(5)软件通常没有适当的文档资料。(6)软件成本在计算机系统总成本中所占的比例逐年上升。(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。软件危机的原因:客观原因:与软件本身的特点有关1、软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。软件缺乏“可见性”。2、软件维护通常意味着改正或修改原来的设计,这就在客观上使得软件较难维护。软件缺乏“可插拔性”。3、如何保证每个人完成的工作合在一起确实能构成一个高质量的大型软件系统,更是一个极端复杂困难的问题,必须有严格而科学的管理。主观原因:与软件开发与维护的方法不正确也有关目前相当多的软件专业人员对软件开发和维护还有不少糊涂观念,这可能是使软件问题发展成软件危机的主要原因。4、忽视需求分析只重视编码与运行。1)编写程序所需的工作量只占软件开发全部工作量的10%~20%。2)在后期引入一个变动比在早期引入相同变动所需付出的代价高2~3个数量级。图1.1定性地描绘了在不同时期引入一个变动需要付出的代价的变化趋势。5、忽视文档只重视程序必须认识到一个软件产品必须由一个完整的配置组成,软件配置主要包括程序、文档和数据等成分。必须清除只重视程序而忽视软件配置其余成分的糊涂观念。6、轻视维护是一个最大的错误。统计数据表明,实际上用于软件维护的费用占软件总费用的55%~70%。3.软件工程的定义、软件工程方法学三要素是什么?软件工程定义:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,用于经济地开发出高质量的软件并有效地维护它,这就是软件工程。 软件工程方法学的3个要素:方法、工具和过程方法是:完成软件开发的各项任务的技术方法,回答“怎样做”的问题;工具是:为运用方法而提供的自动的或半自动的软件工程支撑环境;(用什么做)过程是:为了达到给定目标所实施的一系列步骤,是人们使用相应的规程、方法、工具和设备将原材料转化成面向客户的产品所做的事情。简单的说:就是什么时间做什么。4.软件工程有哪七大原理?(1)用分阶段的生命周期计划严格管理(2)坚持进行阶段评审(3)实行严格的产品控制(4)采用现代程序设计技术(5)结果应能清楚地审查(6)开发小组的人员应该少而精(7)承认不断改进软件工程实践的必要性*(8)二八定律5.软件生命周期有哪三大阶段八小阶段?软件生命周期由软件定义、软件开发和软件维护3个时期组成。(1)问题定义(2)可行性研究(3)需求分析(4)总体设计(5)详细设计(6)编码和单元测试(7)综合测试8)软件维护6.常见的软件开发模型有哪些?各有什么特点、优缺点?瀑布模型特点:(1)阶段间具有顺序性和依赖性(2)推迟实现的观点(3)质量保证的观点优点:(1)可强迫开发人员采用规范的方法(例如,结构化技术);(2)严格地规定了每个阶段必须提交的文档;(3)要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。缺点:“瀑布模型是由文档驱动的”这个事实也是它的一个主要缺点。事实上,要求用户不经过实践就提出完整准确的需求,在许多情况下都是不切实际的。总之,由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。快速原型模型特点:快速原型模型的第一步是快速建立一个能反映用户主要需求的原型系统,让用户在计算机上试用它,通过实践来了解目标系统的概貌。优点:克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险。缺点:(1)所选用的开发技术和工具不一定符合主流的发展;快速建立起来的系统结构加上连续的修改可能会导致产品质量低下。(2)使用这个模型的前提是要有一个展示性的产品原型,因此在一定程度上可能会限制开发人员的创新。增量模型特点:使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。优点:能在较短时间内向用户提交可完成部分工作的产品,是增量模型的一个优点。增量模型的另一个优点是,逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。缺点:增量模型本身是自相矛盾的。它一方面要求开发人员把软件看作一个整体,另一方面又要求开发人员把软件看作构件序列,每个构件本质上都独立于另一个构件。除非开发人员有足够的技术能力协调好这一明显的矛盾,否则用增量模型开发出的产品可能并不令人满意。螺旋模型特点:螺旋模型的基本思想是,使用原型及其他方法来尽量降低风险。理解这种模型的一个简便方法,是把它看作在每个阶段之前都增加了风险分析过程的快速原型模型,优点:1、对可选方案和约束条件的强调有利于已有软件的重用,2、有助于把软件质量作为软件开发的一个重要目标;3、减少了过多测试(浪费资金)或测试不足(产品故障多)所带来的风险;4、在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没有本质区别。缺点:很难让用户确信这种演化方法的结果是可以控制的。建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。7.可行性研究的基本任务是什么?用最小的代价在尽可能短的时间内确定问题是否能够解决。可行性研究有哪三个角度?技术可行性经济可行性操作可行性9.可行性研究结束后的文档是什么?可行性研究报告10.系统流程图、数据流图、数据字典各是描绘系统的什么模型?(1)系统流程图是概括地描绘物理系统的传统工具。它是用图形符号(以黑盒子形式)描绘组成系统的各个元素(程序,文档,数据库,人工过程等)和信息在这些元素之间的流动情况。(2)数据流图是用于表现系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程。它只反映系统必须完成的逻辑功能,不考虑怎样具体地实现这些功能,它也是进行软件设计的很好的出发点。(3)数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。它的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。11.软件开发成本估计有哪三种方法?代码行技术任务分解技术自动估计成本技术12.经济效益分析有哪三个经济指标?货币的时间价值投资回收期纯收入13.需求分析的基本任务是什么?软件需求分析的基本任务是准确地回答“系统必须做什么?”14.需求分析结束提交的文档叫什么名字?软件需求规格说明书15.需求分析的任务有哪些?①确定对系统的综合要求②分析系统的数据要求③导出系统的逻辑模型④修正系统开发计划16.需求分析阶段,系统的综合要求需求有哪些?功能需求性能需求可靠性、可用性(安全性、保密性)等需求出错处理需求接口需求约束逆向需求将来可能提出的要求17.软件设计从技术的角度有哪三种内容?从管理的角度分为哪两种阶段?技术角度:数据设计侧重于数据结构的定义。系统结构设计定义软件系统各主要成份之间的关系。过程设计则是把结构成份转换成软件的过程性描述。在编码步骤,根据这种过程性描述,生成源程序代码,然后通过测试最终得到完整有效的软件。管理角度:总体设计(概要设计)将软件需求转化为数据结构和软件的系统结构。详细设计即过程设计。通过对结构表示进行细化,得到软件的详细的数据结构和算法。18.总体设计有哪两个任务?(1)划分出组成系统的物理元素——程序、文件、数据库、人工过程和文档等等,但每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在详细设计时设计。(2)设计软件的结构-----要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。19.总体设计阶段提交的文档叫什么?软件总体设计说明书20设计原理有哪些?模块化抽象逐步求精信息隐藏和局部化模块独立21.Miller法则:一个人在任何时候都只能把注意力集中在(7±2)个知识块上22.模块的独立程度的两个定性标准度量是什么?这两个标准分别称为内聚和耦合。耦合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。24.三种基本的程序控制结构是什么顺序、分支、循环25.测试有哪三个阶段,有哪两种方法?测试三阶段:单元测试集成测试确认测试软件测试方法:黑盒测试:又叫功能测试白盒测试:又叫结构测试。软件生存周期中时间最长的一个阶段是?维护阶段27.软件维护的内容有哪四种?1.改正性维护2.适应性维护3.完善性维护4.预防性维护28.用例图、类图、时序图的作用是什么?有哪些主要的元素?用例图:用来表示系统做了哪些事情的,帮助分析系统有哪些功能,描述外部行为者理解的系统功能。由use

case(用例),actor(角色)和系统边界组成的。

类图:主要用来描述系统中各个模块中类之间的关系,包括类与类或者接口的继承关系,类之间的依赖、聚合等关系。由许多(静态)说明性的模型元素(例如类、包、接口和它们之间的关系,这些元素和它们的内容互相连接)组成

时序图:时序图(SequenceDiagram)是强调消息时间顺序的交互图。时序图描述系统中类和类之间的交互,它将这些交互建模成消息交换。时序图是一个模型,用于描述对象组如何随着时间在某些行为方面进行协作。由活动者(Actor)、对象(Object)、消息(Message)、生命线(Lifeline)和控制焦点(Focusofcontrol)组成23.类图的作用是什么?有哪些主要的元素?类图的作用:描述类、接口、协作及它们之间关系的图。显示系统中各个类的静态结构。类图的元素:类(Class)接口(Interface)依赖关系(Dependency)泛化关系(Generalization)关联关系(Association)实现关系(Realization)28.什么是RUP,其有哪4个阶段,哪5个核心工作流?RUP概念:RUP(RationalUnifiedProcess,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。四个阶段:在RUP中,项目生命周期被划分为四个阶段:(1)初始阶段(Inception)(2)细化阶段(Elaboration)(3)构造阶段(Construction)(4)交付阶段(Transition)核心工作流:工作流(规程)是由活动构成的活动序列。沿着过程组件轴,开发过程可以被划分为五个核心工作流。(1)需求捕获:建立待开发系统的用例模型,多次迭代完善;进行初步用户界面设计。用来描述系统的功能性需求和非功能性需求。(2)分析:对需求捕获阶段所描述的用例模型进行精细化和组织,目的是为了更精确地理解需求,得到一个易维护且有助于确定系统结构的需求描述。(3)设计:构造系统,获得实现了所有需求的系统组织。设计的目的是通过考虑实现环境,将分析阶段的模型扩展和转化为可行的技术实现方案。(4)实现:实现工作流活动是用编程语言来实现系统,同时对已建立的模型作相应的修正。(5)测试:测试工作流活动的目的是使用测试用例对系统软件进行验证与确认工作。29.什么是XP,其有哪4个核心价值?XP概念:极限编程(ExtremeProgramming,XP)是一门针对业务和HYPER

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论