1 / 29

UML :統一モデリング言語

UML :統一モデリング言語. 2004 年 10 月 29 日 水田幸夫. 法政大学大学院 情報科学研究課. UML とは. コンピュータ・システムの設計図を描く ビジュアル な モデリング のための 言語 OMG : Open Management Group (OMG) →  世界標準規格  ( 現在 V1.5 、 V2.0 策定中 ) モデリング →「対象物」の構造・性質を目に見える形で表現. UML の特徴. システム開発方法 設計図の記法 +  システム開発の進め方 システムの設計図を描くための、規格化された記号・ルール集 ビジネスプロセスの表現

gavril
Download Presentation

UML :統一モデリング言語

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UML:統一モデリング言語 2004年10月29日 水田幸夫 法政大学大学院 情報科学研究課

  2. UMLとは • コンピュータ・システムの設計図を描くビジュアルなモデリングのための言語 • OMG:Open Management Group (OMG)→ 世界標準規格 (現在V1.5、V2.0策定中) • モデリング→「対象物」の構造・性質を目に見える形で表現

  3. UMLの特徴 • システム開発方法設計図の記法+ システム開発の進め方 • システムの設計図を描くための、規格化された記号・ルール集 • ビジネスプロセスの表現 • オブジェクト指向プログラミングと相性がよいcf. プログラムのロジック → フローチャート

  4. UMLのダイアグラム-1 • 機能を表す図 1)ユースケース図 2)アクティビティ図 • 静的な構造を表す図 3)クラス図 4)オブジェクト図

  5. UMLのダイアグラム-2 • 動的な振る舞いを表す図 5)ステートチャート図 6)シーケンス図 7)コラボレーション図 • 動的な振る舞いを表す図 8)コンポーネント図 9)デプロイメント図

  6. Use Case Diagram • 「システム」と「システムの利用者」 • 詳細はユースケース記述 ユースケース1 ユースケース2 ユーザー システム境界

  7. Object Diagram • クラスから作成されるオブジェクトのある時点での様子を表現 オブジェクト図 クラス図 Bank main_bank:Bank ac2 : BankAccount ac1 : BankAccount BankAccount ac3 : BankAccount

  8. Activity Diagram • 処理の流れを記述 ActionState1 ActionState2 ActionState3

  9. アクティビティ図例

  10. State Chart Diagram • オブジェクトの状態変化

  11. Collaboration Diagram • オブジェクト間のメッセージ交換を表現 objA : ClassA objB : ClassB 1 :meesageA(args) 2: meesageB(args) objC : ClassC objD : ClassD 3 :meesageC(args)

  12. <<file>> Item.java Component Diagram • システムを構成する物理的なファイルやデータベースを表現 • コンポーネント • ソースファイル • データファイル • 実行可能ファイル • データベーステーブル • コンポーネント・ソフトウェア

  13. objA: ClassA objB: ClassB Deployment Diagram • コンポーネントおよびコンポーネント間の依存性を表す経路を表現 • 物理的な媒体、システムのハードウェアなどを表現 Server1 Client1

  14. クラス図例

  15. Application Manager - build: int=2 - prm1: int + main(): void + method(): int Class Diagram 1 Application Customer - id: String - name: String - address: String Manager + getCopy() : Customer Customer *

  16. Class Diagram 2 • interface は、イタリックまたは、{abstract}をクラス名の下に • : private+: publice#: protected Item class name - id: String - name: String - price: int Data Field + setId(id: String) : void + getId() : String + setName(name: String) : void + getName() : String + setPrice(price: int) : void + getPrice() : int Class Name Class Name Class Name Class Name Method Data Fields Methods

  17. Class Diagram 3 クラス図に対応するJavaコード (JavaBeans) public class Item { private String id: private String name; private int price; public void setId(String id) { this.id = id; } public String getId() { return this.id; } public void setName(String name) { this.name = name; } public String getName() { return this.name; } public void setPrice(int price) { this.price = price; } public int getPrice() { return this.price; }}

  18. Class Diagram 4 • いろいろな表記 java.lang.Thread <<active>> MyClass Stereotype 注釈 汎化 実現 <<active>> MyClass このクラスはスレッド <<active>> MyClass

  19. Class Diagram 5 Package jp.ac.hosei.huang ClassABC ClassA - clsB: ClassB ClassB jp.ac.hosei.huang.ClassABC

  20. Class Diagram 6 pulic class ClassA { private int price = 3; } 初期値 – price: int = 30 pulic class ClassA { private final int price = 3; }  定数 – price: int = 30{frozen} pulic class ClassA { static int price; } スコープ – price: int pulic class ClassA { private int [ ] data = new int[10]; } 多重度 – data[10]: int

  21. Class Diagram 7 関連と多重度  → 配列やCollectionクラスで表現 Collectionグループ  Vector, AllayList, TreeSet, HashSetMapグループ HashTable, HashMap 1 4 public class Group { ArrayList member = new ArrayList(); public Group(Member[ ] members){ for (int I = 0; i < members.length; i++){ this.members.add(members[i]); } } wheel car 1 * Member Group

  22. Sequence Diagram 1 • オブジェクト間のメッセージ交換を時間軸を基準に表現する objectA : ClassA objectB : ClassB objectC : ClassC 1:callClassB() オブジェクト名 1.1 :callClassC1() ベースクラス名 1.2 :callClassC2() 1.3 :callClassC3() ライフライン

  23. Sequence Diagram 2 objectC objectA objectB 分岐 1-A :[ガード条件A] message1() 同期メッセージ 1-B :[ガード条件B] message1() 2 : message2() 非同期メッセージ 同期メッセージへのリターン 活性区間 終端記号

  24. CASE Tool for UML CASEツール(Computer Aided Software Engineering) :ソフトウェア開発に広く利用されている IBM : Rational Rose Sun, Microsoft, Boland, Oracle、 Open Source etc.

  25. Model Drive Architecture (MDA) 目的:業務プロセス、ソフトウェアのモデル化による開発・実装・メンテナンスの効率化 PIM:プラットフォームに依存にしないモデル PSM:プラットフォーム毎の実装モデル

  26. Model Drive Architecture (MDA)

More Related