Chapter1 UML の概要とオブジェクト指向の基本概念 1 情報工学専攻 MFM10004 奥平 健太
目次 1. UML とは 2. UML の図(ダイアグラム) 3. UML の共通の要素 2
UML とは Unified Modeling Language( 統一モデリング言語 ) システム間の関係をグラフィカルに表現する際に使われる言語です。 今まで統一されていなかったので記述法を統一しました。 記述法を覚えれば世界中にある UML を読むことができます。 しかし結局はシステムを俯瞰的に可視化するための道具なので、記述 する際にはあらかじめシステム間の関連性を理解していなければいけ ません。 3
UML とは ・例 :UML 自身をクラス図で表した、ちょっとおもしろい 図 4 ※矢印の意味や位置関係については chapter3 で後述されます。
UML とは UML とオブジェクト指向の関係 UML はオブジェクト指向の考え方を取り入れ設計されました。 どちらも一定の事象にそってモデル化するというルールがあります。 一定の事象にそって表記されているので、上流、下流にとらわれずに同じ扱 い方ができます。 ( これがオブジェクト指向のメリットです ) ※扱い方というのはデータの変更、 追加、削除等の処理の事です。 5 ・下図は ” オブジェクト指向 ” と画像検索で一番上に出てきた もの ・形は違えども本質は同じです ・状況に応じて最適な図 ( ルー ル ) を選ぶのが一般的
UML とは 反復型開発プロセス システムが複雑化してる現在では反復型開発プロセスが一般的。 開発、テストを反復して行い、徐々に改良を加え最終的にシステムを 実装するというスタイル。 各工程を目に見える構造として表現しやすいオブジェクト指向と相性 がいい。 6 反復型開発プロセスの概要図 :
UML の図(ダイアグラム) UML 図の概要 基本的に開発プロセスの分析設計の際に図が用いられます。 UML 2.0 以降では 13 種類の図があります。 大きくわけて、システムの静的な構造を示す構造図と、システムの振 る舞いを示す振る舞い図に分類されます。 7 ではそれぞれのダイアグラムの概要を見ていきましょ う
UML の図(ダイアグラム) ユースケース図 システムに要求される機能を、ユーザの視点から示したもの。 システムには、どのようなアクタ ( 利用者 ) が存在するのか、 それぞれ のアクタはどういった操作 ( ユースケース ) をするのか、を記述します。 一般的にユースケース図はシステムの要求を定義する際に利用されま す。 8 図 1: ユースケース図の例
UML の図(ダイアグラム) クラス図 システムを構成するクラス(概念)とそれらの間に存在する関連の構 造を表現したもの。 各クラスが保持する属性(プロパティ)や操作(メソッド)も表現し ます。 最も使用されるダイアグラム。 9 図 2: 汎化関係および一対多関連 ( 多重度 ) の表現 図 1: 区画内の意味
UML の図(ダイアグラム) シーケンス図 相互作用図の一つであり、オブジ ェクト間のメッセージの流れを時 系列に表す。 図の中に時間の流れが存在するた め、イベントの発生順序やオブジ ェクト間の生存時間を記述するこ とができる。 10 図 1: シーケンス図の例
UML の図(ダイアグラム) コラボレーション図 オブジェクト間のメッセージのやり取りを中心とした図。 シーケンス図と違い、時系列が分かり難くなるので実装する際にはメ ッセージ番号が必要。 11 :Patron:Waiter:Cook :Cashier 1: order food2: order food 3: pickup 4: serve wine 5: serve food 6: pay 図 1: コラボレーション図の例
UML の図(ダイアグラム) ステートチャート図 一つのオブジェクトの状態(ステート)に着目し、その変化を表現し たもの。 開始状態は必須だが、終了状態は存在しないこともある。 12 図 1: ステートチャート図の見 方 図 2: 商品を注文する場合のステートチャート図
UML の図(ダイアグラム) アクティビティ図 システムなどのフローを記述する。 特に使用目的は決められていない。 13 図 1: 勤怠入力システムのアクティビティ 図 名前意味表記法 初期ノードダイアグラムの開始地点 ● 最終ノード ダイアグラムの終了地点。複数の終了地点が存在しても よい。 アクティビ ティ 実行する処理 フロー処理の流れを表す矢印 → 条件 フローに付ける条件。条件を満たした場合にのみ次の処理に進 む。 [ 条件 ] 決断分岐地点。分岐先それぞれに条件を明示する。
UML の図(ダイアグラム) コンポーネント図 物理的な構成要素 ( ファイル、ヘッダ、ライブラリ、モジュール、実 行可能ファイルやパッケージなど ) からシステムの構造を表現する。 規模が大きなプロジェクトにおいて、システム全体を俯瞰する際に有 用である。 14 図 1: 大学システムのコンポーネント 図
UML の図(ダイアグラム) 配置図 システム実行時のコンピュータシステムの構成を表現したもの。 ハードウェアやその上で動作する各種コンポーネントの依存関係を可 視化するのに役立つ。 15 図 1: 勤怠入力システムの配置図
UML の共通の要素 ノート UML の要素に対して、コメント、制約、メソッド、タグ付置などの情 報を付加する際に使用します。 点線(アンカ)をつけることにより、どの要素に対する情報なのかを 明確にできます。右上を折った長方形で描く。 16 図 1: ノートの使用例 買い物かご 購入予定の商品を入れておく。 ノート
UML の共通の要素 インスタンス UML ではモデル要素に、型 / インスタンスという 2 面性を持たせていま す。 型は一般的な記述でインスタンスは具体的な記述をします。 他の例に、クラス / オブジェクト、関連 / リンクがある。 インスタンス要素の名前に下線を引いて表す。 17 図 1: 型とインスタンス(クラスとオブジェク ト) 商品 インスタントラーメン : 商品
UML の共通の要素 ステレオタイプ UML の拡張機能の一つで、役割や用法上の違いなどをモデル要素に修 飾することができる。 ギュメ > を用いて、ステレオタイプ名を囲み、 UML 要素の名 前の上部または前方に置く。 18 図 1: ステレオタイプ > 一覧画面 > 商品リスト
UML の共通の要素 パッケージ プログラム全体の概要を把握するのに用いられる。 タブ付きのフォルダアイコンで描かれ、階層化、依存関係を表せる。 19 図 1: 基本形図 2: パッケージ内の要素を表す場 合 図 3: 入れ子になったパッケージの場合図 3: パッケージ間の依存関係は破線の矢印で表す
参考文献 UML の基礎と応用 UML 入門 Wikipedia 20