1. ホーム
  2. Web制作
  3. XML/XSLT

UMLモデリング - オブジェクト指向設計: UMLを学ぶ理由

2021-12-30 18:22:17
I. UMLを学ぶ理由

UMLとはUnified Modeling Languageの略で、ソフトウェア集約型システムにおいて成果物を可視化、詳細化、構築、文書化するための言語です。アーティファクト{人工物}とは、モデル、ソースコード、テストケースなど、ソフトウェア開発プロセスから生じるさまざまな産物のことです。

1) UMLモデリングは以下を実現することができる。

2) モデルを使うことで、問題をより深く理解することができる

3) モデルを使うことで、人と人とのコミュニケーションを深めることができる

4) モデルを使うことで、ミスや見落としを早期に発見することができる

5) 設計結果を得るためにモデルを使用する

6) モデルは最終的なコードの基礎を提供する

II. UMLの歴史

1997年、OMG(Object Management Group)はUML(Unified Modeling Language)を発表した。UMLの目標の1つは、コンピューター・アプリケーションを開発・構築するための標準的な共通設計言語を開発チームに提供することでした。UMLは、IT専門家が長年待ち望んでいた標準的なモデリング表記法の統一セットを提示するものです。UMLを使用することで、これらの人々は、建設作業員が長年使用してきた建築図面のように、システムのアーキテクチャと設計計画を読み、伝えることができるようになりました。

2003年、UMLは業界に受け入れられつつあった。私が見た専門家の履歴書の75%は、UMLの知識を主張していました。しかし、大多数の候補者にインタビューした結果、彼らがUMLを本当に理解していないことは明らかで、しばしばUMLを用語として使ったり、ほとんど理解していないことがありました。このような理解不足から、私はこのUML1.4に関するクイックスタート記事を書くことにしました。この記事を読み終わる頃には、履歴書にUMLの習得を謳えるほどの知識はないでしょうが、この言語をさらに勉強するための良いスタート地点に立っていることでしょう。

III. UMLの特徴

1) UMLの主な特徴は以下の通りである。

2) 統一された規格

3) オブジェクト指向であること UMLは、オブジェクト指向のソフトウェア開発を支援するモデリング言語である。

4) 可視化およびプレゼンテーション機能

5) プロセスに依存しない、UMLは特定のソフトウェア開発プロセスに依存しない。

6) 概念的に明確であり、簡潔なモデリング表現と明確なグラフ構造により、把握しやすく、使いやすい。

<未定義

Webjxの記事紹介です。UMLとはUnified Modeling Languageの略で、ソフトウェア集約型システムにおける成果物を可視化、詳細化、構築、文書化するための言語である。アーティファクト{人工物}とは、モデル、ソースコード、テストケースなど、ソフトウェア開発プロセスから生じる多種多様な産物のことです。

IV. UMLにおけるビュー

UMLのビューには、ユースケースビュー、ロジカルビュー、インプリメンテーションビュー、プロセスビュー、デプロイメントビューなどがある。この5つのビューをquot;4+1"ビューと呼んでいる。下図に示すとおりである。

ロジカルビュー。論理ビューは、ユーザーに見える機能だけでなく、ユーザーの機能を実現するために提供しなければならない「補助機能モジュール」(論理層、機能モジュールなど)も含めて、機能に焦点を当てる。

デベロップメントビュー。開発ビューでは、作成するソースプログラムだけでなく、直接利用できるサードパーティのSDKや市販のフレームワーク、クラスライブラリ、さらに開発したシステムが動作するシステムソフトウェアやミドルウェアなど、プログラムパッケージも含めて見ていきます。開発ビューと論理ビューの間には、何らかのマッピング関係があるかもしれません。例えば、論理レイヤーは通常、複数のパッケージなどにマッピングされることになります。

Processing view(プロセッシング・ビュー)。処理ビューは、プロセス、スレッド、オブジェクトなどの実行時概念、および並行処理、同期、通信などの関連問題に関係します。処理ビューと開発ビューの関係:開発ビューは一般に、コンパイル時のパッケージの静的な依存関係に注目しますが、これらのプログラムは実行時にオブジェクト、スレッド、プロセスとして動作し、処理ビューがより関心を持つのは、これらの実行時ユニットの相互作用です。

物理的な視点。物理ビューは、ターゲットプログラムとそれに依存するランタイムライブラリおよびシステムソフトウェアが最終的にどのように物理マシンにインストールまたはデプロイされるか、また、マシンおよびネットワークがソフトウェアシステムの信頼性、拡張性、およびその他の要件にどのように適合するようにデプロイされるかに関係しています。物理ビューと処理ビューの関係:処理ビューが特にターゲットプログラムの動的な実行を重視するのに対し、物理ビューはターゲットプログラムの静的な位置を重視する。物理ビューは、ソフトウェアシステムとITシステム全体の相互作用を統合するアーキテクチャービューである。

V. UMLモデリングツール

UMLモデリングツールは数多く販売されていますが、代表的なものとして、Rational Rose、Microsoft Visio、Enterprise Architect、Visual UMLなどがあります。UMLモデリング-オブジェクト指向設計の記事シリーズで使用しているUMLモデリングツールはEnterprise Architect 7.0ですが、今でも十分使用できるツールです。

VI. UMLの応用分野

UMLの応用分野は幅広く、最も一般的なのはソフトウェアシステムのモデリングで、主な分野は次のとおりです。企業情報システム、銀行・金融システム、通信、運輸、防衛、航空、小売業、科学計算、分散型ウェブサービス。UMLは、組織の構成や組織のワークフローなど、ソフトウェア以外のシステムの記述にも使用可能です。

VII. UMLの構成要素

UMLモデリング-オブジェクト指向設計シリーズでは、主にユースケース図、クラス図、アクティビティ図、シーケンス図、ステートチャートマシン図)、デプロイメント図、ビジネスプロセスモデル、データモデリング図など、一般的なUML図について解説しています。

1. 要件定義段階でのユースケースの書き方

ユースケース記述文書の作成は、システムアナリストがユーザー要求を深く理解していることの反映である。後のタイミング図や実際の開発のための重要な基礎となる。また、プロジェクトの見積もりや、UCの複雑さや開発サイクルに基づく開発者の効率性を測る基準としても利用できる。そのため、UCの記述仕様について、記述形式、記述内容、その留意点など、いくつかの経験を皆さんと共有することが重要です。

<未定義

Webjxの記事紹介です。UMLとはUnified Modeling Languageの略で、ソフトウェア集約型システムにおける成果物を可視化、詳細化、構築、文書化するための言語である。アーティファクト{人工物}とは、モデル、ソースコード、テストケースなど、ソフトウェア開発プロセスから生じるさまざまな成果物のことです。

2. 設計段階でのユースケース図の書き方(ユースケース図)

ユースケース図は、ユースケースにおけるペルソナとシステムの関係を概説しようとするもので、システムの機能要件、ペルソナとシステムの相互作用、システムの応答などを記述しています。これは、顧客と開発者がプロジェクト要件の全機能を理解するための良い方法であり、その後の機能反復の基礎と方向性を示すものです。

3、クラスとクラス図(クラス図、UML図)の関係

クラス間の一般的な関係、主に、関連、汎化、依存、集約、結合について簡単に説明します。

4. UMLモデリングにおけるアクティビティ図の紹介

アクティビティ図は、オブジェクトのアクティビティの順序関係を規定するルールを記述するもので、システムの処理ではなく、システムの動作に着目している。アクティビティ図は、同時進行するアクティビティを表現することができ、オブジェクト指向である。

5, ステートチャート図(Statechart Diagram)のUMLモデル化

ステートチャートの焦点は、オブジェクトの状態とその状態間の転送を記述することである。ステートチャートの基本要素は、状態、転送、アクション、自身の転送、結合状態、入口ノード、出口ノード、履歴状態、同時進行領域などである。状態のイベントは、呼出しイベント(Call)、変更イベント(Change)、時間イベント(Time)、信号イベント(Singal )に分けられる。最後に、状態のペアを例にして分析する。

6. シーケンス図のUMLモデリング

シーケンス図(Sequence Diagram)とは、時系列に並べられたオブジェクト間の相互作用を示す図である。シーケンス図には、相互作用に関与するオブジェクトと、そのオブジェクト間のメッセージの相互作用の順序が示されています。シーケンス図に含まれる主なモデリング要素は以下のとおりです。オブジェクト(アクター)、ライフライン、制御の焦点、メッセージ、などです。最後に、タイミング図の例を、コース作成機能を使って実演します。

7、ビジネスプロセスモデル(BPM)のUMLモデリング

ビジネスプロセスモデルとは、時間または空間における開始から終了までの一連の活動、およびインプットとアウトプットを記述した活動の集合体である。ビジネスプロセスモデルの最終的なアウトプットは、ビジネスニーズを満たすことができるものでなければならない。インプット、アウトプット、リソース、メッセージ、ターゲットなどの要素が含まれる。ビジネスロジック・モデルは、最後に例題でさらに説明される。

8、データモデル図のUMLモデリング

主に、スキーマ、プライマリキー、外部キー、リレーションシップ、制約条件、インデックス、トリガー、ストアドプロシージャ、ビューなど、データベースモデリングに関わるモデリング要素を紹介しています。モデリングに関わる要素としては、スキーマ、プライマリーキー、外部キー、リレーションシップ、制約条件、インデックス、トリガー、ストアドプロシージャ、ビューなどがあり、例を挙げて説明されています。

VIII. まとめ

UMLモデリング-オブジェクト指向設計の連載は今回で終了し、UMLモデリングは一段落しました。この連載を終えるにあたり、国内外の多くの貴重な論文を参照させていただいた。これらの論文の著者の方々に感謝する次第である。また、これらの記事を書く過程で、庭の友人たちから励ましと応援をもらいました。皆さんの応援と励ましが、記事を書く上での士気と自信を高めてくれましたので、感謝の意を表したいと思います。UMLモデリング-オブジェクト指向設計シリーズの記事が、庭の友人の役に立つことを願っていますし、庭の友人が私を批判し、訂正してくれることを願っています。後日、"Net Design Patterns"シリーズの記事が公開されることを期待しています。主に設計原理、例、各デザインパターンを説明するソースコードの形で、注目してください、また、ありがとうございました。最後に、UMLの本からの例で締めくくります。

家を建てることに例えるなら、UMLを学ぶことは、建築家から建築家へと成長する過程を学ぶことだと言えます。ソフトウェアエンジニアは、単にレンガやモルタルを積み上げる技術を習得するだけではだめで、高い建物を設計する能力も身につける必要があるのです。