1 UML Copyright 2003 NTT DATA CORPORATION UML

  • Slides: 104
Download presentation

1  UML の基礎 Copyright 2003 NTT DATA CORPORATION

1  UML の基礎 Copyright 2003 NTT DATA CORPORATION

UMLとオブジェクト指向 4 Copyright 2003 NTT DATA CORPORATION

UMLとオブジェクト指向 4 Copyright 2003 NTT DATA CORPORATION

UMLとは? • UML (Unified Modeling Language) – オブジェクト指向開発の標準的なモデリング手法 – 3つのOO手法を統合 • OMT (James Rumbaugh)

UMLとは? • UML (Unified Modeling Language) – オブジェクト指向開発の標準的なモデリング手法 – 3つのOO手法を統合 • OMT (James Rumbaugh) • OOSE (Ivar Jacobson) • Booch (Grady Booch) • 参考文献 [1] OMG, UML Resource Page, http: //www. omg. org/technology/uml/index. htm [2] Unified Modeling Language (UML), version 1. 4, http: //www. omg. org/technology/documents/formal/uml. htm [3] Eriksson and Penker, UML Toolkit, Wiley computer publishing, 1998. • CASE tools – Rational ROSE (Rational) – Together/J (Coad) – Argo/UML (Open Source from USC) 5 Copyright 2003 NTT DATA CORPORATION

例題: e. LWISE 情報流通 http: //www. ntt. com/public/elwise/info 02. html 12 Copyright 2003 NTT DATA

例題: e. LWISE 情報流通 http: //www. ntt. com/public/elwise/info 02. html 12 Copyright 2003 NTT DATA CORPORATION

ICカードビジネスプラットフォームの概念図 http: //www. ntt. com/public/elwise/info 02. html 13 Copyright 2003 NTT DATA CORPORATION

ICカードビジネスプラットフォームの概念図 http: //www. ntt. com/public/elwise/info 02. html 13 Copyright 2003 NTT DATA CORPORATION

ユースケースとオブジェクトのステレオタイプ Control ユースケース Boundary アクタ Entity Copyright 2003 NTT DATA CORPORATION

ユースケースとオブジェクトのステレオタイプ Control ユースケース Boundary アクタ Entity Copyright 2003 NTT DATA CORPORATION

シーケンス図のメッセージ例 Object: Class Object: Class メッセージとリターン Object オブジェクト生成 Object: Class 再帰 Object: Class 条件分岐

シーケンス図のメッセージ例 Object: Class Object: Class メッセージとリターン Object オブジェクト生成 Object: Class 再帰 Object: Class 条件分岐 Object: Class 非同期メッセージ X 生命線の結合 自己削除 22 X 削除 Copyright 2003 NTT DATA CORPORATION

UML Sequence Diagrams クラス • In requirements analysis Object: Class : Actor To refine

UML Sequence Diagrams クラス • In requirements analysis Object: Class : Actor To refine use case descriptions to find additional objects (“participating objects”) message() • In system design insert. Coins() to refine subsystem interfaces pickup. Change() 活性区間 pick. Up. Ticket() 生命線 • Columns = classes • Arrows = messages • Narrow rectangles = activations • Dashed lines = lifelines メッセージ 25 Copyright 2003 NTT DATA CORPORATION

Java. Card Applet 端末 JCRE install() コマンド APDU select() • JCREがアプレットのAIDを管理 • 指定されたAIDをもつアプレットを selectメソッドにより選択

Java. Card Applet 端末 JCRE install() コマンド APDU select() • JCREがアプレットのAIDを管理 • 指定されたAIDをもつアプレットを selectメソッドにより選択 • APDUコマンドをアプレットに渡し processメソッドにより実行 • レスポンスAPDUを端末に返却 process() Downloaded deselect() install() Selectable レスポンス APDU CAPファイルをダ ウンロード アプレットを実行 可能にする deselect() Selected process() JCRE: Java. Card Rutime Enviroment 26 Copyright 2003 NTT DATA CORPORATION

カードAPダウンロード処理シーケンス 27 Copyright 2003 NTT DATA CORPORATION

カードAPダウンロード処理シーケンス 27 Copyright 2003 NTT DATA CORPORATION

属性や操作を追加したクラス図の例 32 Copyright 2003 NTT DATA CORPORATION

属性や操作を追加したクラス図の例 32 Copyright 2003 NTT DATA CORPORATION

複合状態を持つ状態図の例 35 Copyright 2003 NTT DATA CORPORATION

複合状態を持つ状態図の例 35 Copyright 2003 NTT DATA CORPORATION

コンポーネント図によるJavaクラスとファイルの記述例 <<auxiliary>> Cataloginfo <<focus>> Catalog << auxiliary >> Catalog. PK <<reside>> << EJBEntity>> Catalog

コンポーネント図によるJavaクラスとファイルの記述例 <<auxiliary>> Cataloginfo <<focus>> Catalog << auxiliary >> Catalog. PK <<reside>> << EJBEntity>> Catalog <<implement>> << file>> Catalog. JAR 41 Copyright 2003 NTT DATA CORPORATION

ICカード情報流通プラットフォーム:NICEの構成 オペレータ 端末 アクタ登録機関 サーバ オペレータ 端末 OCF RC DB Operator Terminal 登録 Web

ICカード情報流通プラットフォーム:NICEの構成 オペレータ 端末 アクタ登録機関 サーバ オペレータ 端末 OCF RC DB Operator Terminal 登録 Web Server CORBA SD運用 サーバ OCF Operator Terminal 運用操作 Web Server ICカード発行 管理サーバ IC Card R/W Web Server CORBA DB Directory Server (DS) Web Server ディレクトリ サーバ CORBA DB DB Service Provider. Application (SP) Loader (AL) サービス 運用サーバ LDAP IC Card Web Server CORBA DB DB Card Issuer (CI) SD Operator (SO) R/W ICカードAP 配信サーバ CORBA DB Broker(BR) Web Server ブローカサーバ Internet ユーザ端末 OCF User Terminal R/W 45 IC Card Copyright 2003 NTT DATA CORPORATION

2  UML の適用事例 Copyright 2003 NTT DATA CORPORATION

2  UML の適用事例 Copyright 2003 NTT DATA CORPORATION

(1) UMLによるモバイルPF開発の実際 Copyright 2003 NTT DATA CORPORATION

(1) UMLによるモバイルPF開発の実際 Copyright 2003 NTT DATA CORPORATION

(3)  UML と XML Copyright 2003 NTT DATA CORPORATION

(3)  UML と XML Copyright 2003 NTT DATA CORPORATION

XMIによるクラスの表現 XMI DTD <!Element Auto (Color, Door, Engine)> UML クラス      Auto Color : String Door :

XMIによるクラスの表現 XMI DTD <!Element Auto (Color, Door, Engine)> UML クラス      Auto Color : String Door : Integer Engine : Integer XMI XML文書 <Auto> <Color>Red</Color> <Door>4</Door> <Engine>2</Engine> </Auto> 64 Copyright 2003 NTT DATA CORPORATION

UBOT アーキテクチャ UBOT XMI モデル UML GUI DAML オントロジ エンジニア 一貫性 検査結果 XMI モデル

UBOT アーキテクチャ UBOT XMI モデル UML GUI DAML オントロジ エンジニア 一貫性 検査結果 XMI モデル UML 形式 Slang モデル UML DAML 変換 基本 DAML オントロジ 拡張 DAML オントロジ 意味上の不具合 Specware UBOT: UML Based Ontology Toolset, http: //ubot. lockheedmartin. com/ubot/ The DARPA Agent Markup Language Homepage, http: //www. daml. org/index. html 70 Copyright 2003 NTT DATA CORPORATION

UMLとDAMLの対応付け Baclawski, K. etal. , Extending UML to Support Ontology Engineering for the Semantic

UMLとDAMLの対応付け Baclawski, K. etal. , Extending UML to Support Ontology Engineering for the Semantic Web UML 2001 Copyright 2003 NTT DATA CORPORATION 71

3  MDA Copyright 2003 NTT DATA CORPORATION

3  MDA Copyright 2003 NTT DATA CORPORATION

OMGのMDA http: //www. omg. org/mda/ 74 Copyright 2003 NTT DATA CORPORATION

OMGのMDA http: //www. omg. org/mda/ 74 Copyright 2003 NTT DATA CORPORATION

MDAの基本概念 75 Copyright 2003 NTT DATA CORPORATION

MDAの基本概念 75 Copyright 2003 NTT DATA CORPORATION

Consistent Model Separations and Relationships in MDA 76 Copyright 2003 NTT DATA CORPORATION

Consistent Model Separations and Relationships in MDA 76 Copyright 2003 NTT DATA CORPORATION

MDA Metamodel Description Architecture Board ORMSC, Model Driven Architecture(MDA), Document number ormsc/2001 -07 -01

MDA Metamodel Description Architecture Board ORMSC, Model Driven Architecture(MDA), Document number ormsc/2001 -07 -01 77 Copyright 2003 NTT DATA CORPORATION

(1)  UML+EDOC profile へのMDAの適用法 Copyright 2003 NTT DATA CORPORATION

(1)  UML+EDOC profile へのMDAの適用法 Copyright 2003 NTT DATA CORPORATION

EDOC の5つの Viewpoint 79 Copyright 2003 NTT DATA CORPORATION

EDOC の5つの Viewpoint 79 Copyright 2003 NTT DATA CORPORATION

MDA開発プロセス 80 Copyright 2003 NTT DATA CORPORATION

MDA開発プロセス 80 Copyright 2003 NTT DATA CORPORATION

プロセスモデルの詳細化例 82 Copyright 2003 NTT DATA CORPORATION

プロセスモデルの詳細化例 82 Copyright 2003 NTT DATA CORPORATION

エンティティモデル例 83 Copyright 2003 NTT DATA CORPORATION

エンティティモデル例 83 Copyright 2003 NTT DATA CORPORATION

J 2 EEへのテクノロジマッピング例 項番 EDOCモデル要素 J 2 EEモデル要素 1 Entity EJBEntity. Bean 2 Key

J 2 EEへのテクノロジマッピング例 項番 EDOCモデル要素 J 2 EEモデル要素 1 Entity EJBEntity. Bean 2 Key EJBPrimary. Key 3 Process. Component EJBSession. Bean 4 Protocol. Port Interface 5 Flow. Port Interfaceのメソッド 6 Composite. Data 上記メソッドの引数 84 Copyright 2003 NTT DATA CORPORATION

J 2 EEクラス図への変換例 85 Copyright 2003 NTT DATA CORPORATION

J 2 EEクラス図への変換例 85 Copyright 2003 NTT DATA CORPORATION

(2) MDAコンパイラ Copyright 2003 NTT DATA CORPORATION

(2) MDAコンパイラ Copyright 2003 NTT DATA CORPORATION

XMIパーサの特徴(1/2) [問題] XMI形式UMLモデルへのアクション要素の追記が困難 [解決策] UMLエディタから出力されたXMI表現形式のUMLモデル をPIM記述言語形式に変換 →プログラム風にアクションの追記が可能! <? xml version='1. 0' encoding='UTF-8'? > <!-- <!DOCTYPE XMI

XMIパーサの特徴(1/2) [問題] XMI形式UMLモデルへのアクション要素の追記が困難 [解決策] UMLエディタから出力されたXMI表現形式のUMLモデル をPIM記述言語形式に変換 →プログラム風にアクションの追記が可能! <? xml version='1. 0' encoding='UTF-8'? > <!-- <!DOCTYPE XMI SYSTEM 'UMLX 13. dtd'> --> <XMI xmi. version = '1. 0' > <XMI. header > <XMI. documentation > <XMI. exporter >Unisys. JCR. 2</XMI. exporter> <XMI. exporter. Version >1. 3. 2</XMI. exporter. Version> </XMI. documentation> <XMI. metamodel xmi. name = ‘UML’ xmi. version = ‘ 1. 3’ /> </XMI. header> <XMI. content > <Model_Management. Model xmi. id = ‘ishioka_1040950420940_200617_0’ xmi. uuid = ‘ishioka_1040950420940_200617_0’> <Foundation. Core. Model. Element. name >データ</Foundation. Core. Model. Element. name> <Foundation. Core. Generalizable. Element. is. Root xmi. value = 'false' /> <Foundation. Core. Generalizable. Element. is. Leaf xmi. value = 'false' /> <Foundation. Core. Generalizable. Element. is. Abstract xmi. value = 'false' /> <Foundation. Core. Namespace. owned. Element> <Foundation. Extension_Mechanisms. Stereotype xmi. id= 'egiva_1022741478539_352118_123' xmi. uuid= 'egiva_1022741478539_352118_123'> <Foundation. Core. Model. Element. name>refine</Foundation. Core. Model. Element. name> stereotype &"_getter" : operation; stereotype &"_association" : association. End; stereotype &"_model" : package; stereotype &"_implicit" : association; stereotype &"_utility" : class, interface, enumeration; stereotype &"_stereotyp. For. UTAttr" : attribute; public package &"_jp. co. nttdata. rd. mda“ { public class &"_Top" root abstract active stereotype &"_utility" tagged. Value Top. class. Tagged. Name = Top. class. Tagged. Value { operation public instance &"_top. Class. Mehtod 1" (in &"_top. Class. Para 1" : String = "" stereotype &"_stereotype. For. UT" tagged. Value top. Class. Para 1. Tagged. Name = top. Class. Para 1. Tagged. Value) : String stereotype &"_getter" tagged. Value top. Class. Method 1. Tagged. Name = top. Class. Method 1. Tagged. Value root abstract query sequential; } } public package &"_Meta. Model" stereotype &"_model" tagged. Value Meta. Model. package. Tagged. Name = Meta. Model. package. Tagged. Value { XMI表現形式のUMLモデル PIM記述言語形式のUMLモデル 89 Copyright 2003 NTT DATA CORPORATION

UMLコンパイラの機能概要 nモデル変換ルールで記述されたプログラムを実行 n. PSM記述言語形式のUMLモデルをJavaコードに変換 public &"search. Item" (in &"keyword" : String, in &"search. Type"

UMLコンパイラの機能概要 nモデル変換ルールで記述されたプログラムを実行 n. PSM記述言語形式のUMLモデルをJavaコードに変換 public &"search. Item" (in &"keyword" : String, in &"search. Type" : String) : &"java": : &"util": : &"Array. List" tagged. Value usage=%jp. co. nttdata. rd. jaf. exception. Application. Exception, usage=%jp. co. nttdata. rd. jaf. exception. DAOException { variable items : java: : util: : Array. List = empty ; variable item. Author. View. DAO : jp. co. nttdata. rd. mda: : integration: : Item. Author. View. DAO = create &"jp. co. nttdata. rd. mda": : integration: : Item. Author. View. DAO ; try{ conditional{ if keyword = self. AUTHOR { result = item. Author. View. DAO. find. By. Author. Last. Name(search. Type); } if keyword = self. TITLE { result = item. Author. View. DAO. find. By. Title(search. Type); } if keyword = self. SUBJECT { result = item. Author. View. DAO. find. By. Subject(search. Type); } if true { variable exception : javax: : ejb: : EJBException = javax: : ejb: : EJBException("Keyword is invalid. "); jump exception; } } } public Array. List search. Item(String keyword, String search. Type) { Array. List item. Datas; Item. Author. View. DAO item. Author. View. DAO = new Item. Author. View. DAO(); try{ if(keyword. equals(AUTHOR)) { item. Datas = item. Author. View. DAO. find. By. Author. Last. Name(search. Type); } else if(keyword. equals(TITLE)) { item. Datas = item. Author. View. DAO. find. By. Title(search. Type); } else if(keyword. equals(SUBJECT)) { item. Datas = item. Author. View. DAO. find. By. Subject(search. Type); } else{ throw new EJBException("Keyword is invalid. "); }catch(Finder. Exception e){ throw new EJBException(e); } return item. Datas; } PSM記述言語形式のUMLモデル Javaソースコード 91 Copyright 2003 NTT DATA CORPORATION

4 UMLの課題 Copyright 2003 NTT DATA CORPORATION

4 UMLの課題 Copyright 2003 NTT DATA CORPORATION

Insight for the New Paradigm 未来のしくみを、ITでつくる。 株式会社NTTデータ 103 Copyright 2003 NTT DATA CORPORATION

Insight for the New Paradigm 未来のしくみを、ITでつくる。 株式会社NTTデータ 103 Copyright 2003 NTT DATA CORPORATION