软件设计模式一

目录

1.概念

2.软件设计模型

2.1瀑布模型

2.2快速原型模型

2.3增量模型

2.4螺旋模型

2.5喷泉模型

2.6Ration统一过程

一、概念

  1、软件工程的定义:软件是计算机系统中与硬件相互依存的另一部分,与硬件合为一体完成系统功能。包括:程序、相关数据、说明文档

  2、软件分类

  (1)按功能:系统软件、支撑软件、应用软件

  (2)按规划:微型、小型、中型、大型、甚大型、极大型

  (3)按工作方式:实时处理软件、分时处理软件、交互式软件、批处理软件

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

  主要包括的问题:一方面:如何开发软件,怎样满足对软件日益增长的需求。另一方面:如何维护数量不断膨胀的已有软件。

  4、软件生命周期:一个软件产品从定义、开发、维护到废弃的时间总和。

  

二、软件模型

  1、瀑布模型

  也称为线性顺序模型或软件生命周期模型。遵循软件生命周期的划分,各个阶段的工作自上而下顺序展开,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,最终得到所开发的软件产品。

  

  优点:

  • 强迫开发人员采用规范的方法
  • 文档齐全
  • 质量保证

  

  缺点:

  • 开发过程一般不能逆转
  • 实际的项目很难按该模型进行
  • 客户往往很难给出所有需求

  适用场景:

  • 适用于结构化,面向过程的的软件开发方法
  • 开发过程需求很少变化,需要低风险项目,用户提出需求后很少参与开发。

返回顶部

  2、快速原型模型

  迅速建造一个可以运行的软件原型。使开发人员与用户达成共识,最终在确定的客户需求基础上开发客户满意的软件产品。就是通过向用户提供原型获取用户的反馈,使开发出的软件能够真正反映用户的需求。并且逐步求精完善原型,使原型更快速的开发。

  

  优点:

  • 有助于满足用户的真实需求,并生产的规格说明文档能够正确描述用户的需求
  • 开发基本上是按照线性顺序的
  • 在开发的后续阶段,不会因为规格说明文档的错误而进行较大的返工
  • 开发人员在建立原型的时候学到的东西较多,所以在设计和编码阶段犯错误可能性小
  • 快速原型的特点就是快速

  

  缺点:

  • 客户和开发者对原型的理解不同
  • 准确的原型设计比较难
  • 不利于开发人员的创新

  使用场景:

  适用于不能预先确切定义需求的软件系统的开发,项目组成员不能很好的交流或通讯的情况下

返回顶部

  3、增量模型

  也称渐增模型。是一种非整体开发模型。把软件产品作为一系列的增量构件来设计、实现、集成和测试。

  优点:

  • 在较短的时间内就可以向用户提交一些有用的工作品
  • 可以使用户有教充裕的时间学习和适应新的产品
  • 项目失败的风险低
  • 优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来

 

  缺点:

  • 集成新的构件时,不能破坏原有的产品
  • 软件的体系结构必须设计的便于按这种方式进行扩充,就是软件体系结构必需是开放的

  使用场景:

  • 对已有的产品进行更新升级。
  • 对要求具有严格开发完成时间的项目

返回顶部

  

  4、螺旋模型

  将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险的分析,特别适用于大型复杂的系统。螺旋模型沿着螺旋线旋转,即在坐标的4个象限上分别表示了4个方面的活动:制定计划、风险分析、实施开发、客户评价、

  

  

  优点:

  • 是一种风险驱动的方法体系。每个阶段之前及经常发生的循环之前,都必须首先进行风险评估。
  • 有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。

  

  缺点:

  • 开发过程一般不可逆,并且实际开发很难严格按照模型进行。
  • 客户往往很难清楚地给出所有的需求,而该模型却要求如此
  • 软件的实际情况必须到项目开发的后期客户才能看到。

  适用场景:只使用于大型规模的项目开发

返回顶部

  5、喷泉模型

  是一种新的开发模型,是一种以用户需求为动力,以对象为驱动的模型,主要用于采用面向对象技术的软件开发项目。克服了瀑布模型不支持软件重用多项开发活动集成的局限性。各个开发阶段没有特定的次序要求,并且可以交互进行,可以在某个开发阶段中随时补充其他任何开发阶段中的遗漏

  

  

  优点:喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。

  

  缺点:由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,不利于项目的管理。这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。

  

  适用环境:适用于面向对象的开发过程

返回顶部

  6、Rational统一过程模型

  是迭代式增量开发、用例驱动、以软件体系结构为核心。在软件生命周期过程中以用例为驱动、构架为中心来进行一次一次的增量式的迭代,每次迭代都是以上一次迭代为基础并生成包括构件的源代码体、需求说明、测试用例等的制品。

  

  每次迭代分为:初始、细化、提交和转移。

  每个阶段又分几个步骤:需求、分析、设计、实现和测试。

  有九个核心工作流:商业建模、需求、分析和设计、实现、测试、部署、配置和管理、项目管理、环境。

  

  适用环境:RUP方法非常适用于开发复杂度高、技术难度大、需求多变、高风险的项目。

返回顶部

  

猜你喜欢

转载自www.cnblogs.com/huangcan1688/p/12184736.html