软件设计模式一

目录

1.概念

2.软件设计模型

2.1瀑布模型

2.2快速原型模型

2.3增量模型

2.4螺旋模型

2.5喷泉模型

2.6Ration统一过程



一、概念

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

  2. 软件分类
    (1)按功能:系统软件、支撑软件、应用软件
    (2)按规划:微型、小型、中型、大型、甚大型、极大型
    (3)按工作方式:实时处理软件、分时处理软件、交互式软件、批处理软件

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

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

  1. 软件生命周期:一个软件产品从定义、开发、维护到废弃的时间总和。
    在这里插入图片描述

二、软件模型

  1. 瀑布模型

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

    优点:

(1)强迫开发人员采用规范的方法
(2)文档齐全
(3)质量保证

    缺点:

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

    适用场景:

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

返回顶部

  1. 快速原型模型

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

    优点:

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

    缺点:

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

    使用场景:

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

返回顶部

  1. 增量模型

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

    优点:

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

    缺点:

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

    使用场景:

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

返回顶部

  1. 螺旋模型

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

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

    缺点:

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

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

返回顶部

  1. 喷泉模型

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

在这里插入图片描述

    优点:

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

    缺点:

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

    适用场景:
  (1)适用于面向对象的开发过程

返回顶部

  1. Rational统一过程模型

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

      每次迭代分为:初始、细化、提交和转移。
      每个阶段又分几个步骤:需求、分析、设计、实现和测试。

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

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

返回顶部

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值