RUP (合理的統一プロセス) は、オブジェクト指向およびネットワークベースのプログラム開発手法です。 RUP は、オブジェクト指向の手法に基づいた手法であり、ユースケース主導、アーキテクチャ中心の反復的かつ増分開発手法に準拠しています。
マインドマップに基づいて RUP を簡単に紹介します:
1. 6 つの主要なエクスペリエンス
1) 反復開発
RUP 各ステージ反復はさらに反復に分解できます。各サイクルは、最終製品が形成されるまでの増分開発です。反復開発では、反復ごとに要件を変更することができ、継続的な改良を通じて問題への理解が深まります。反復開発はリスクを軽減するだけでなく、各反復の終了時にチームの士気を高めることもできます。
2) 要件の管理
RUP は、システムの機能と制約を抽出、整理、文書化する方法を説明しており、ユースケースとスクリプトの使用が要件を把握する効果的な方法であることが証明されています。
3) コンポーネントベースのアーキテクチャ
独立した交換可能なモジュール式コンポーネントに基づくアーキテクチャは、複雑さを管理し、使用率を向上させるのに役立ちます。 RUP は、柔軟性があり、変化に適応でき、理解しやすく、再利用しやすいソフトウェア アーキテクチャを設計する方法を説明します。
4) ビジュアルモデリング
RUP は、UML と関連付けられることが多く、人々がソフトウェアの複雑さを管理する能力を向上させるのに役立ちます。 RUP は、ソフトウェア システムを視覚的にモデル化し、コンポーネントの構造と動作に関するアーキテクチャに関する情報を取得する方法を教えてくれます。 5) ソフトウェアの品質を検証する
RUP では、
ソフトウェア品質評価は、事後または別のグループによって実行される個別のアクティビティではなくなり、システム内のすべてのアクティビティに組み込まれます。これにより、ソフトウェアの欠陥を早期に発見し、ソフトウェアの品質を向上させ、ソフトウェアのコストを節約できます。 6) ソフトウェアの変更を制御する
反復開発に厳密な制御と調整がなければ、ソフトウェア開発プロセス全体がすぐに混乱に陥るでしょう。製品を作成し、変更を他のワークスペースから分離して、各開発者にとって安全なワークスペースを確立します。
2. 2次元展開モデル RUPソフトウェア開発ライフサイクルは、2次元ソフトウェア開発モデルです。横軸は時間を通して整理されており、展開するプロセスの特徴であるライフサイクルを表し、開発プロセスの動的構造を反映しています。主にサイクル、ステージ、反復などの用語が使用されます。 マイルストーン; 垂直軸は、開発プロセスの静的構造を反映して、コンテンツごとに整理されており、主にアクティビティ、製品、ワーカー、ワークフローが含まれます。図に示すように:
3. コア概念 アクティビティ: 明確な目的を持つ独立した作業単位です。 アーティファクト: アクティビティによって生成、作成、または変更される情報の一部です。
4. 切断 ソフトウェア開発 プロセスを RUP の特定の インスタンス と見なすことができます。 RUP の調整は 5 つのステップに分けることができます: 1) このプロジェクトにどのような ワークフローが必要かを決定します。 2) 各 ワークフローにどの成果物が必要であるかを決定します。 3) 4 つのステージ間で進化する方法を決定します。段階間の進化の決定は、リスク管理の原則に基づいて行われ、各段階でどの ワークフローが必要か、各ワークフローがどの程度実行されるか、どのような製品があり、各製品がどの程度完成するかを決定する必要があります。 4) 各ステージ内の反復計画を決定します。 RUP の 4 つのフェーズの各 反復 で何を開発するかを計画します。 5) ワークフロー内部構造を計画します。 ワークフローには、役割、アクティビティ、製品が含まれており、その複雑さはプロジェクトの規模、つまり役割の数に関係します。最終的な計画ワークフローの内部構造は、通常、アクティビティ図の形式で与えられます。 5. 開発プロセス RUP の ソフトウェア ライフ サイクルは、初期フェーズ、改良フェーズ、構築フェーズという 4 つの連続したフェーズに分類されます。そして納品フェーズ。 各フェーズの最後に評価を実行して、このフェーズの目的が達成されているかどうかを判断します。評価結果が満足のいくものであれば、プロジェクトは次のフェーズに進むことができます。 1)
初期フェーズの目標は、システムのビジネスケースを確立し、プロジェクトの境界を決定することです。この目標を達成するには、システムと対話するすべての外部エンティティを特定し、対話の特性を高レベルで定義する必要があります。この段階は非常に重要な意味を持ちます。この段階で焦点を当てるのは、進行中のビジネスにおける主なリスクとプロジェクト全体の要件です。レガシー システムに基づく開発プロジェクトの場合、初期フェーズは短い場合があります。 2)
改善フェーズの目標は、問題領域を分析し、健全なアーキテクチャを確立することです。 基礎、準備プロジェクト プロジェクトの最もリスクの高い要素を排除する計画 。この目標を達成するには、システム全体の理解に基づいて、アーキテクチャに関する決定を下す必要があります。これには、システムの範囲、主な機能、パフォーマンスなどの非機能的な要件も含まれます。同時に、開発ケースの作成、テンプレート、ガイドラインの作成、ツールの準備など、プロジェクトをサポートする環境を構築します。 3) 構築フェーズでは、残りのすべてのコンポーネントと プログラム の機能が開発され、製品に統合されます。すべての機能が詳細にテストされています。建設段階は、コスト、スケジュール、品質を最適化するためのリソースの管理と運用の制御に重点が置かれているという意味で、製造プロセスです。 4) 配信フェーズ 配信フェーズの焦点は、ソフトウェアがエンドユーザーに確実に利用できるようにすることです。配信フェーズは数回の反復に及ぶことがあり、リリースに備えて製品のテストを行い、ユーザーのフィードバックに基づいて微調整を行うことが含まれます。ライフ サイクルのこの時点では、ユーザー フィードバックは主に製品のチューニング、セットアップ、インストール、および使いやすさの問題に焦点を当てる必要があり、主要な構造上の問題はすべて プロジェクト ライフサイクルの初期段階で解決されているはずです。 6. コア ワークフロー RUP には 9 つのコア ワークフローがあり、6 つのコア プロセス ワークフローと 3 つのコア サポート ワークフローに分かれています。 これらのワークフローは、生涯サイクルを通じて複数回アクセスされます。 9 つのコア ワークフローはプロジェクト全体でローテーションで使用され、各反復で強調点や強度を変えて繰り返されます。 1)BusinessModeling BusinessModelingingWorkFlowは、新しいターゲット組織のアイデアを開発する方法を説明し、ビジネスにおけるこのアイデアに基づいて組織のプロセスを説明します、役割と責任はユースケースモデルとビジネスオブジェクトモデルで定義されます。 2)レキアレメント レクアレメントworkflow目標は、システムが何をすべきかを説明し、開発者とユーザーにこの説明に同意させることです。この目標を達成するには、必要な機能と制約を抽出、整理し、文書化する必要があります。最も重要なことは、システムによって解決される問題の定義と範囲を理解することです。 分析と設計 分析と設計ワークフロー要件を将来のシステムの設計に変換し、システムの堅牢な構造を開発し、実装環境に合わせて設計を調整し、パフォーマンスを最適化します。解析設計の結果は、設計モデルとオプションの解析モデルです。設計モデルはソース コードの抽象化であり、設計クラスといくつかの説明で構成されます。デザイン クラスは、優れたインターフェイスを備えたデザイン パッケージとデザイン サブシステムに編成されており、説明には、クラスのオブジェクトがどのように連携して使用してユースケースの機能を実装するかが反映されています。設計活動は、アーキテクチャ設計を中心に行われます。構造ビューは、重要な機能をより明確にするために、設計全体を抽象化して簡略化したものです。アーキテクチャは、優れた設計モデルを実現する媒体であるだけでなく、システム開発中に作成されるモデルの品質も向上させます。 4) を実装する目的 を実装するフォームは、コンポーネント内のコードの組織構造を定義しますクラスとオブジェクト、 は、開発されたコンポーネントをユニットとしてテストし、単一の開発者 (またはグループ) によって生成された結果を実行可能システムに統合します。 5)テスト テスト ワークフロー ソフトウェア内のすべてのコンポーネント 正しく統合、すべての 要件 が正しく実装されていることを検証し、ソフトウェアの展開前に欠陥が発生して対処されていることを特定して確認します。 RUP は反復的なアプローチを提案しています。これは、プロジェクト全体を通じてテストを行ってできるだけ早く欠陥を検出し、欠陥修正のコストを根本的に削減することを意味します。テストは 3 次元モデルに似ており、信頼性、機能性、システム パフォーマンスの観点から実施されます。 6) 導入 展開ワークフローの目的は、ソフトウェアを正常に構築し、エンドユーザーに配布することです。導入 ワークフロー では、ソフトウェア 製品をエンド ユーザーが使用できるようにすることに関連するアクティビティについて説明します。これには、ソフトウェアのパッケージ化、ソフトウェア自体以外の製品の生成、ソフトウェアのインストール、ユーザーへの支援の提供が含まれます。 。 7)構成と変更管理 構成と変更管理ワークフロー複数のメンバーで構成されるプロジェクトで、多くの製品。構成および変更管理ワークフローは、進化するシステム内の複数のバリアントを管理し、作成中にソフトウェアのバージョンを追跡するためのガイドラインを提供します。このワークフローでは、並列開発、分散開発を管理する方法、およびプロジェクトを自動的に作成する方法について説明します。また、製品変更の理由、時間、担当者に関する監査記録を維持する方法についても説明します。 8) プロジェクト管理 ソフトウェアプロジェクト管理 相反する可能性のあるさまざまな目標のバランスをとり、リスクを管理し、さまざまな制約を克服し、ユーザーの製品を満足させる結果を首尾よく提供します。 9) 環境 環境ワークフローの目的は、ソフトウェアを提供することです。開発組織 プロセスとツールを含む開発環境 。環境ワークフローは、プロジェクトのプロセスを構成するために必要なアクティビティに焦点を当てており、プロジェクトの仕様を作成するアクティビティもサポートし、ステップバイステップのガイドを提供し、組織内でプロセスを実装する方法を説明します。 上記は、統合ソフトウェア開発プロセス - RUP の内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。