软件工程作业第一章

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1-1什么是软件危机它有哪些典型表现为什么会出现软件危机

软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题。

典型表现:软件总是超出预算、落后于进度表,而且产品质量不可靠、维护困难等。

危机原因:

1、软件受其自身特点的影响,生产过程不象硬件那样规范,受人的因素和外界影响很大,在软件生产的各阶段都会引入不同程度的错误,造成不能预期完成任务,致使成本上升,甚至导致软件失败。

2、主客观不相适应。

客观上:软件规模增大、功能要求越来越复杂,需求不断变化等;

主观上:传统的个体化开发观念和方法的影响,无开发过程指导,无开发过程管理;由于主客观矛盾,必然产生软件质量差、开发超期、超预算、维护困难等现象。

1-3 什么是软件工程它有哪些本质特性怎样用软件工程消除软件危机

►基本思想:是强调在软件开发过程中应用工程化原则,解决软件的整体质量较低、最后期限和费用没有保证等问题。

►软件工程定义:是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它.

►软件工程的根本在于提高软件的质量与生产率,最终实现软件的工业化生产。

本质特性:P6

消除软件危机:软件工程基本原理7条。

1-6 什么是软件过程它与软件工程方法学有何关系

►软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

►过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。

关系:是软件工程方法学包含3个要素(方法、工具和过程)之一。

1-7 什么是软件生命周期模型试比较瀑布模型、(快速)原型模型、增量模型和螺旋模型、喷泉模型的优缺点,说明每种模型的适用范围。

生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也称为过程模型。

瀑布模型:它将软件生命周期划分为需求分析、软件设计、程序编写、软件测试和运行维护等基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。优点:文档驱动。

强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。遵守瀑布模型的文档约束,将使软件维护变得比较容易一些。

缺点:系统可能不满足需求,用户仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品

适用范围:软件需求明确。

原型模型:在初步调查了解的基础上,提供快速的软件建造工具,开发出一个功能并不十分完善的可实际运行的系统,即原型。需求分析入手快速、表达直观、容易交流。重点解决瀑

布模型需求分析入手难的问题。

优点:关注满足需求。

缺点:快速原型的引入主要是为了确立明确的功能需求而设。它的主要构思是通过一个简单的原型,从系统的角度引出和明确客户的期盼和愿望。

适用范围:需求不确定,如交互式系统的设计,加速软件开发过程,节约软件开发成本。

增量模型:它主要强调的是每一步软件的开发都建立在前一步软件开发的基础之上。

优点:开发早期反馈及时,使用户有较充裕的时间学习和适应新产品;

易于维护,使用增量模型时开发软件和扩充软件功能(完善性维护)没有本质区别。缺点:采用增量模型比采用瀑布模型和快速原型模型需要更精心的设计,需要开放式结构, 设计非常灵活而且足够开放,才能支持增量模型。

适用范围:对于需求复杂的系统,采用分块开发,逐步集成的开发策略。交付日期很重要,会有多个版本,易扩展。

螺旋模型:将瀑布模型和快速原型模型结合起来,使用原型及其他方法来尽量降低风险,在每个阶段之前都增加了风险分析过程的快速原型。

优点:保留了瀑布模型按阶段逐步进行开发和阶段末评审的优点,吸收了原型模型的思想,增加并重视方案的风险分析与补救工作,对保证产品质量是十分有利的。

缺点:风险分析人员需要有经验且经过充分训练,能准确地分析风险,否则将会带来更大的风险。

适用范围:螺旋模型强调风险分析,但要求许多客户接受和相信这种分析是不容易的,因此,这种模型往往适应于内部的大规模软件开发。

喷泉模型:以面向对象的软件开发方法为基础,以用户需求为动力,以对象作为驱动的模型。它适合于面向对象的开发方法。

模型的优点:

喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。

该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间。

模型的缺点:

由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。

适用范围:问题复杂,用户需求易变,随时加入各种信息。

1-8为什么说喷泉模型较好地体现了面向对象软件开发过程无缝和迭代的特性

由于在整个开发过程中都使用统一的概念和表示符号“对象”,整个开发过程都是吻合一致的、“无缝”连接的,这自然就很容易实现各个开发步骤的多次反复迭代,达到认识的逐步深化。

补充:

什么是软件生命周期与软件过程有何区别和联系

答:

(1)软件生存周期:软件产品从定义到开发、经过使用和维护,直到最终被弃用;

软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各

项任务的工作步骤。

(2)两者指同一个事情,只是表达问题的角度不同:

软件过程:关注产品加工的活动集合、顺序和方法论;

生命周期:关注软件产品从诞生到消亡的生命历程,实质内容也就是软件过程;

因此软件过程=软件生存周期,“软件生存周期模型”也称为“软件过程模型”或“软件开发模型”。

相关文档
最新文档