ソフトウェアのデザインパターン

ディレクトリ

1.コンセプト

2.ソフトウェア設計モデル

2.1滝モデル

2.2ラピッドプロトタイピングモデル

2.3インクリメンタルモデル

2.4スパイラルモデル

2.5噴水モデル

2.6Ration統一プロセス

 

 

 

まず、概念

  1、ソフトウェア工学の定義:ソフトウェアは、1つの関数に完全なハードウェアシステムでは、コンピュータシステムのハードウェアと相互に依存の別の部分です。含む:プログラム、データ、ドキュメント

  2、ソフトウェアカテゴリ

  システムソフトウェア、サポートソフトウェア、アプリケーションソフトウェア:機能(1)

  計画によれば、(2)マイクロ、小型、中型、大型、非常に大きく、非常に大きいです

  (3)作業によれば、リアルタイム処理ソフトウェア、ソフトウェアを共有し、対話型ソフトウェア、バッチ処理ソフトウェア

 

  3、ソフトウェアの危機:それが遭遇したコンピュータソフトウェアの開発と保守プロセスにおける重大な問題の一連の。

  主な問題は、次のとおりです。一方では:ソフトウェアを開発する方法を、どのようにソフトウェアの需要を満たすために。一方:どのように既存のソフトウェアの拡大を続ける数を維持します。

 

  4、ソフトウェアのライフサイクル:ソフトウェア製品の定義から、開発、保守、合計に時間が放棄されました。

  

 

 

第二に、ソフトウェアモデル

  1、ウォーターフォールモデル

  また、シーケンシャルモデルやソフトウェアのライフサイクルモデルの線形と呼ばれます。、ソフトウェアのライフサイクルの部門に続き拡大の様々な段階の下順に上から作業し、最初の製品の発売やメンテナンスまで、各ステージは、最終的には、システムの要件分析から開発されたソフトウェア製品を得るために、フィードバックループを持つことになります。

  

  利点:

  • 標準化された方法を採用する開発者を強制
  • 完全なドキュメント
  • 品質保証

  

  短所:

  • 一般的な開発プロセスを逆にすることはできません
  • 実際のプロジェクトでは、モデルを押すことは困難です
  • 顧客の需要には、すべてを与えることは困難であることが多いです

 

  該当するシーン:

  • プロセス指向の構造に適用可能なソフトウェア開発方法
  • 開発プロセスはほとんど変化、必要低リスクのプロジェクトを必要とし、ユーザーはほとんど提案されている開発ニーズに関与していません。

トップへ戻ります

 

  2、ラピッドプロトタイピングモデル

  素早くプロトタイプソフトウェアを実行することができます構築。その開発者やユーザーが顧客の需要に基づいてソフトウェア製品の開発に合意し、最終的に顧客満足度に到達するように決定しました。これは、開発したソフトウェアは、ユーザーのニーズを真に反映することができそうという、ユーザーにプロトタイプを提供することで、ユーザーからのフィードバックを得ることです。段階的詳細化と迅速な開発をプロトタイプ、試作品を完成。

  

  利点:

  • ヘルプのユーザーの真のニーズを満たすために、及び仕様書の生産が正常にユーザーのニーズを記述することができます
  • 線状配列で、実質的に開発
  • 開発の後段には、ありませんので、間違った仕様書の主要な手直しを行うために
  • そのデザインとコーディング段階小さなミスの可能性で学んだのプロトタイプの作成で多くの開発者、
  • ラピッドプロトタイピングの特性は速いです

  

  短所:

  • 顧客と開発者は、別の理解をプロトタイプに
  • 准确的原型设计比较难
  • 不利于开发人员的创新

 

  使用场景:

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

返回顶部

 

  3、增量模型

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

 

  优点:

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

 

  缺点:

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

 

  使用场景:

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

返回顶部

  

  4、螺旋模型

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

  

  

  优点:

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

  

  缺点:

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

 

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

返回顶部

 

  5、喷泉模型

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

  

  

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

  

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

  

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

返回顶部

 

  6、Rational统一过程模型

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

  

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

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

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

  

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

返回顶部

 

  

おすすめ

転載: www.cnblogs.com/huangcan1688/p/12184736.html
おすすめ