組込み分野のためのUMLモデル解説書

Similar documents
Microsoft PowerPoint - 04_01_text_UML_03-Sequence-Com.ppt

組込み分野のためのUMLモデル解説書

導入設定ガイド

Microsoft PowerPoint - se06-UML(UseCase)_2.ppt [互換モード]

SeciossLink クイックスタートガイド Office365 とのシングルサインオン設定編 2014 年 10 月株式会社セシオス 1

AppsWF ワークフロー設定ガイド Ver.1.1 株式会社オプロ

Microsoft Word - WebClass Ver 9.08f 主な追加機能・修正点.docx

SeciossLink クイックスタートガイド

クラス図とシーケンス図の整合性確保 マニュアル

技術レポート 1)QuiX 端末認証と HP IceWall SSO の連携 2)QuiX 端末認証と XenApp の連携 3)QuiX 端末認証 RADIUS オプションと APRESIA の連携 Ver 1.1 Copyright (C) 2012 Base Technology, Inc.

クイックセットアップ for モバイル(Windows)

クイックセットアップ for モバイル(Windows)

講義の進め方 第 1 回イントロダクション ( 第 1 章 ) 第 2 ~ 7 回第 2 章 ~ 第 5 章 第 8 回中間ミニテスト (11 月 15 日 ) 第 9 回第 6 章 ~ 第 回ローム記念館 2Fの実習室で UML によるロボット制御実習 定期試験 2

目次 1 章はじめに 本書の利用について Web ブラウザーについて 章 kintone でタイムスタンプに対応したアプリを作成する kintone にログインする kintone でアプリを作成する

目次 1. 教育ネットひむかファイル転送サービスについて ファイル転送サービスの利用方法 ファイル転送サービスを利用する ( ひむか内 ) ファイル転送サービスへのログイン ひむか内 PCでファイルを送受信する

どこでも写真管理 Plus (ios 版 ) 操作手順書 ( 黒板作成 連携ツール使用時 ) EX-TREND 武蔵の写真管理 黒板作成 連携ツール どこでも写真管理 Plus でデータを連携して 電子小黒板機能付き工事写真を撮影する手順を解説します 解説内容がオプションプログラムの説明である場合が

SeciossLink クイックスタートガイド(Office365編)

証明書ダウンロードシステム操作手順書 (ios) 第 1.15 版 証明書ダウンロードシステム 操作手順書 (ios) Ver1.15 セキュアネットワークサービス 2018 年 10 月 29 日 セキュアネットワークサービス 1 DLS-SNT-IOS-V1.15

改版履歴 版数 日付 内容 担当 V /2/25 初版発行 STS V //9 サポート環境の追加 STS 2

Visual Studio 2017 RC インストール & ファーストステップガイド 2016 年 11 月 16 日 (V1.0)

変更履歴 版数変更日変更内容 /11/1 初版設定 /9/1 名称変更

組込みシステムにおける UMLモデルカタログの実践研究

目次 専用アプリケーションをインストールする 1 アカウントを設定する 5 Windows クライアントから利用できる機能の紹介 7 1ファイル フォルダのアップロードとダウンロード 8 2ファイル更新履歴の管理 10 3 操作履歴の確認 12 4アクセスチケットの生成 ( フォルダ / ファイルの

名刺の管理 名刺の管理 トップ画面を表示する トップ画面には 名刺管理の主な機能がまとめて表示されます 1 名刺画面を表示し 名刺の トップ をクリックします 名刺画面の表示方法 利用者画面の画面説明 (P.17) トップ画面が表示されます 96

モデリング操作ガイド アクティビティ図編

仕様書用テンプレート

操作マニュアル

2. オプション設定画面で, 必要事項を記入 選択します. 少なくとも, タイトル に課題の見出しとなる文章を入力する他, 種別 を アンケート( 無記名式 ) に設定する必要があります. また, アクセス制限はここでは コースメニューで非表示にする に設定します. その他設定は必要に応じて行って下

更新用証明書インポートツール 操作マニュアル 2011 年 10 月 31 日 セコムトラストシステムズ株式会社 Copyright 2011 SECOM Trust Systems CO.,LTD. All rights reserved. P-1

TypeAご利用ソフトV5.2

目次 1. アプリケーション登録 利用設定 CardDAV 設定 デフォルトアカウント設定 アプリケーションのログイン ログアウト KDDI SMARTアドレス帳 にログインする KDDI SMARTアドレス帳 にログイン

FormPat 環境設定ガイド

クライアント証明書インストールマニュアル

ユーザー一覧をファイル出力する ユーザーを検索する 登録したユーザー数を確認する

目次 ログインページ 3 成果公開申告 A 成果公開の予定のみを申告する場合ページ 4 B 成果公開の実績がすでにある場合ページ 7 申告内容更新 C 申告した内容を修正する場合ページ 16 D 事務局から修正依頼があった場合ページ 21 状況確認 E 認定状況の確認ページ 23 認定対象成果 が当

アプリ版居宅介護支援システム簡単操作マニュアル 2017 年度版 総合案内 サポートデスク Copyright(C) 2010 ITSS All Rights Reserved.

Ver.30 改版履歴 版数 日付 内容 担当 V //3 初版発行 STS V..0 05//6 パスワード再発行後のパスワード変更機能追加 STS V..0 05//5 サポート環境変更 STS V //9 サポート環境の追加 STS ii

Microsoft Word - Android認証設定手順(EAP-TLS)1105.doc

Microsoft Word - Wyse Thin Client&XD設定手順1112.doc

管理者マニュアル

ALogシリーズ 監査レポート集

SlinkPass ユーザマニュアル

改版履歴 版数 日付 内容 担当 V /3/9 初版発行 STS V /5/4 エラー画面の削除 STS V //3 サポート環境の追加 サポート環境の説明文章の STS 修正 画面修正 V /2/25 サポート環境変更 STS V

Microsoft Word - ModelAnalys操作マニュアル_

PowerPoint プレゼンテーション

Adobe ユーザー申請システム Version 1.0 for 北海道大学利用者向け取扱説明書 第 1.1 版 平成 26 年 11 月 06 日

目 次 1. はじめに アルコールチェッカー管理ソフトのインストール アルコールチェッカー管理ソフトのアンインストール アルコールチェッカー管理ソフトの操作方法 ソフトの起動 NG 判定値の設定

Microsoft Word - Amazon Pay オペレーションマニュアル.docx

マイナBANK|コールセンターよくある質問集-従業員編-2016年3月

スライド 1

■POP3の廃止について

クイックセットアップ for モバイル(iOS/Android)

V-CUBE One

はじめに 本書を読むにあたって 本書では 次の用語 及びマークを使用しています クリック : マウスポインタを目的の位置でマウスの左ボタンをすばやく1 回押して離すことをいいます 本文では 選択 として表現していることもあります ダブルクリック : マウスポインタを目的の位置でマウスの左ボタンをすば

ユーザーライセンス管理ツール操作マニュアル

Microsoft Word - ADP_Employee_Self_Service_Registration-vrkf_JP.docx

FileZen(めるあど便) 利用マニュアル

Zoiper User Guide

目次 初期設定用 ユーザについて 1 利用者情報登録 ( 法人 IB/ 京銀インターネット EB サービス ) 5 承認パスワードの設定 10 ユーザ設定の手順 11 企業情報変更の手順 18

UML は次のように表記を拡張して 利用しやすくすることができる ステレオタイプ クラス図などで モデル要素の意味を拡張するもの ギルメット << >> によるラベル表記と アイコン表記がある <<actor>> <<interface>> ステレオタイプ一覧 UML 表記の拡張 ATM 利用者 ス

CLUSTERPRO MC StorageSaver for BootDisk 2.1 (for Windows) インストールガイド 2016(Mar) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール

目次 1. はじめに サービス概要 決済手段概要 契約体系 エンドユーザー向け購入手順 エンドユーザー向けサービス利用条件 エンドユーザー向け決済時認証方法..

Flex Signal for AirGRID

目次 1 OTP( ワンタイムパスワード ) とは ワンタイムパスワード設定手順 スマートフォンにワンタイムパスワードを設定する場合のご利用手順 <18> ダイレクトログイン トークン発行申請 アプリのダウンロード..

1. ログイン 1-1 管理画面へのログイン 記事作成 編集 削除や承認 公開には その操作権限を持つアカウントでログインし ます アカウントについての詳細は 管理者にお問い合わせください (1) [ ユーザー ID またはメールアドレス ] と [ パスワード ] を入力後 [ ログイン ] をク

(株) 殿

スライド 1

はじめに 本書を読むにあたって 本書では 次の用語 及びマークを使用しています クリック : マウスポインタを目的の位置でマウスの左ボタンをすばやく1 回押して離すことをいいます 本文では 選択 として表現していることもあります ダブルクリック : マウスポインタを目的の位置でマウスの左ボタンをすば

ArcGIS Runtime SDK for .NET アプリケーション配布ガイド

2015 TRON Symposium セッション 組込み機器のための機能安全対応 TRON Safe Kernel TRON Safe Kernel の紹介 2015/12/10 株式会社日立超 LSIシステムズ製品ソリューション設計部トロンフォーラム TRON Safe Kernel WG 幹事

ユーザーをファイルから一括登録する 登録内容を変更する ユーザーのパスワードを変更する

ソフトウェア要求分析から詳細設計までシームレスにつなぐ開発手法

目次 1. はじめに ご利用条件 証明書配付システムの停止時間 実施手順 電子証明書の取得手順 Windows 証明書ストアへの電子証明書インポート手順 電子証明書インポート完了確認.

2 目次 1. 実証事業の全体概要 1.1 Androidスマートフォンへの利用者証明機能ダウンロード ( 仕組み ) 1.2 iosスマートフォンへの利用者証明機能ダウンロード ( 仕組み ) 1.3 システム検証と安全性対策検討 2. 利用者証明機能ダウンロードに関するシステム検証 2.1 An

商標類 Microsoft は, 米国およびその他の国における米国 Microsoft Corp. の登録商標です Microsoft Office は, 米国 Microsoft Corp. の商品名称です Microsoft Excel は, 米国 Microsoft Corp. の商品名称です

1. ログイン 1-1 管理画面へのログイン 施設の作成 編集 削除や承認 公開には その操作権限を持つアカウントでログイン します アカウントについての詳細は 管理者にお問い合わせください (1) [ ユーザー ID またはメールアドレス ] と [ パスワード ] を入力後 [ ログイン ] を

CLUSTERPRO MC StorageSaver for BootDisk 1.2 (for Windows) インストールガイド 2014(Mar) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール

1. アクセスナンバーでのログイン アクセスナンバーとは 平成 28 年 3 月以前にご加入されたお客様は PC 端末設定表 に記載のご契約時のアカウント名 ( 左部 追加ではないアドレス ) とパスワードが アクセスナンバーとパスワードになります なおメールアドレスを変更され

Microsoft Word - データ保管サービス操作マニュアル(第二版).docx

[参考資料] Bluetooth対応タブレットでインターネット(MSP1000)

POWER EGG2.0 Ver2.8 スタートアップガイド ~Webデータベース 応用編~

変更履歴 日付 Document ver. 変更箇所 変更内容 06/7/.00 - 新規作成 06/8/9.0 管理プロファイルを登録する Web フィルタリング の記載を追加 07//6.0 全体 連絡先ポリシーを共有アドレス帳に変更 全体 参照 以下 等に係る記載揺れの統一 07/0/.03

ケータイ de 会社メール

040402.ユニットテスト

V-CUBE One

どこでも写真管理 Plus (Android 版 ) 操作手順書 ( 黒板作成 連携ツール使用時 ) EX-TREND 武蔵の写真管理 黒板作成 連携ツール どこでも写真管理 Plus でデータを連携して 電子小黒板機能付き工事写真を撮影する手順を解説します 解説内容がオプションプログラムの説明であ

wdr7_dial_man01_jpn.indd

免税店情報発信システム 免税事業者サイトマニュアル 2019 年 3 月 1

Adobe Reader 署名検証設定手順書

登録の流れ はじめて電子届出を行うとき 準備 クライアント証明書ファイル 登録用パスワードを準備します P.1 P.2 クライアント証明書の登録 ログイン 届出を行うパソコンに証明書を登録します IE P.3 Firefox P.15 ( 1) 登録が完了するとログイン可能となります 1 IE は

マジックコネクトクラウドサービス管理機能の利用手順(一般ユーザ用)

0 マイナポータルにログインするマイナポータルに接続し 利 を開始します このメニューで うこと アカウント情報を登録済みの利 者が マイナポータルに接続し 利 を始める 順について説明します IC カードリーダライタを使う場合 2 次元バーコードを使う場合 あなた 2 次元バーコード マイナンバー

<4D F736F F D208AC7979D8ED2837D836A B2E646F63>

●コンテンツ「FAQ」

改訂履歴 日付バージョン記載ページ改訂内容 V2.1 - 初版を発行しました V3.1 P5 ドキュメントラベルが新規追加された事を追記 P7 P8 新しくなったラベルのツリー表示説明を追記 新しくなったラベルの作成 削除操作を追記 P9 ラベルのグループ

貸出デバイス用設定手順書

Master'sONEセキュアモバイル定額通信サービス(MF120)設定手順書(Ver1_2).doc

つくば市 様

Ver.60 改版履歴 版数 日付 内容 担当 V /7/8 初版発行 STS V..0 04// Windows 8. の追加 STS V..0 05//5 Windows XP の削除 STS V.30 05/8/3 体裁の調整 STS V.40 05//9 Windows0 の追加

2. 目的 1RationalRose を利用する場合にプログラム仕様書としての最低限必要な記述項目を明確にする 2 プログラム仕様書として記載内容に不足がない事をチェックする 3UML の知識があるものであれば 仕様書の内容を理解できること 4Rose にて入力した内容を SoDaWord を利用

Transcription:

組込み分野のための UML モデル解説書 機能編 F00 認証 UMTP 組込み モデリング部会 206.5.5 更新 本書は UML モデルカタログに含まれる 認証 のモデルの詳細を記述したものです モデリングの初心者には教科書や参考書として モデリングのベテランの方々にはモデルのヒントとして ぜひともお手元に置いて活用してください Copyright(c)200206 consortium for UML based Modeling Technologies Promotion All Rights Reserved

組込み分野のための UML モデル解説書 UMTP は特定非営利活動法人 UML モデリング推進協議会の登録商標です その他 本書に記載されてい る会社名 商品名などは 一般に各社の商標または登録商標です 2

認証 目次 要求仕様... 4 モデル一覧... 0 機能に着目したモデル... 分析モデル... PIM 設計モデル... 7 エンティティに着目したモデル... 8 分析モデル... 8 PIM 設計モデル... 24 状態に着目したモデル... 29 分析モデル... 29 PIM 設計モデル... 32 3

組込み分野のための UML モデル解説書 要求仕様認証例 ユーザ A とユーザ B がいます 二人はそれぞれ固有の ID カードを持っています この2 人が2 台の PC からそれぞれの電子データを 台のプリンタに印刷指示を出します ユーザ A がプリンタに ID カードをかざすと ユーザ A が印刷指示した電子データが呼び出され プリントが始まります ユーザ A の電子データの印刷処理終了後 ユーザ B が同様に ID カードをプリンタにかざすと ユーザ B の電子データが呼び出されプリントが始まります ユーザ A,B の使用日時や電子データのタイトル プリント枚数など使用記録がプリンタ保存されます このようなユーザごとに適切なサービスを提供できる仕組みを 認証 と呼称します この 認証 では ユーザを識別し ユーザごとに適切なサービスを提供し 機器の使用記録を取りま す この一連の機能の設計モデルを提供します 要求仕様 4

認証 ユースケース 図 5

組込み分野のための UML モデル解説書 ユースケース記述 <UC0 名 : ユーザを認証する> 概要ユーザが正当なユーザであるかどうかを判断する アクター ユーザ 事前条件 なし 事後条件 ユーザに認証結果が渡されていること メインフロー. アクターは システムに対し アクセス許可を要求する 2. システムは アクターが正当なユーザかどうか判断する 3. システムは アクターに対し 認証結果を渡す 4. UC を終了する 課題や T.B.D 項目 なし 備考 なし 要求仕様 6

認証 <UC02 名 : サービスを利用する > 概要 ユーザが組み込み装置で提供されているサービスを利用する アクター ユーザ 事前条件 ユーザが認証済みである 事後条件 ユーザに認証結果が渡されている メインフロー. アクターは システムに対し サービスの利用を要求する 2. システムは 認証機能に対し サービスの実行を承認する ユースケースを実行する 3. システムは 認証機能から承認結果 (OK) を受け取る 4. システムは サービスを実行する 5. システムは 認証機能に対し サービス利用状況を監視する ユースケースを実行する 6. システムは アクターに対し サービスの利用を開始した旨を返す 7. UC を終了する 例外フロー. アクターは システムに対し サービスの利用を要求する 2. システムは 認証機能に対し サービスの実行を承認する ユースケースを実行する 3. システムは 認証機能から承認結果 (NG) を受け取る 4. システムは アクターに対し 承認に失敗した旨を返す 5. UC を終了する 課題や T.B.D 項目 なし 備考 なし 7

組込み分野のための UML モデル解説書 <UC03 名 : サービスの実行を承認する> 概要ユーザが指定のサービスを実行できる権限があるか確認する アクター なし 事前条件 ユーザが認証済みである 事後条件 システムにサービス利用可否が渡されている メインフロー. システムは 認証機能に対し 指定ユーザが指定サービスを利用できるか確認する 2. 認証機能は 指定ユーザにサービス実行の権限があるかどうかを判断する 3. 認証機能は システムに対し サービス利用可否を渡す 4. UC を終了する 課題や T.B.D 項目 なし 備考 なし 要求仕様 8

認証 <UC04 名 : サービス利用状況を監視する > 概要 ユーザがサービスを利用している状況を監視し 記録する アクター なし 事前条件 ユーザのサービス利用が承認されている 事後条件 サービス利用状況の記録 ( 課計 ) が存在している メインフロー. システムは 認証機能に対し サービス利用状況を通知する 2. 認証機能は サービス利用状況を記録する 3. UC を終了する 課題や T.B.D 項目 なし 備考 なし 9

組込み分野のための UML モデル解説書 モデル一覧 着目点コンセプトポイント 機能に着目したモデルエンティティに着目したモデル状態に着目したモデルメタファを使ったモデル 認証機能の設計として 広く知られている AAA モデルの 3 機能に着目したモデルです 認証がユーザのサービス使用に対して制限を掛けるという観点から 制限を掛けるエンティティに着目したモデルです ユーザが認証された 認証されていない といった状態に着目したモデルです なし AAA モデルの3 要素を基本クラスとしたモデルです なんらかの指針を使った設計例として利用してください エンティティを中心に理解しやすいシンプルな作りにしたので モデリング初心者の方にお勧めです 状態毎の振舞いの違いを ステートパターンで実現します AAA モデルとは 本章には AAA モデルの用語が3つの設計モデルで共通概念として使用されています ここで AAA モデルの概要を説明します AAA モデルとは 認証機能を実現する上で 主だった機能をつぎの3 要素に分割したモデルを指します ユーザを認証する 適切なサービスを提供する サービス使用の記録を作成する これらを認証 (Authentication) 承認(Authorization) アカウンティング(Accounting) と分類し 3つの頭文字 A をつなげて AAA モデルと呼ばれます また AAA モデルは AAA プロトコルとも言われ 認証 承認 アカウンティングの3 要素自体と またその要素間の通信とにおいて秘匿性が設計上考慮されていることを指します 本章に於いて AAA のアカウンティングの呼称を 監視と改名しています これはアカウンティングがユーザ情報 ( アカウント ) と誤解しやすいためです モデル一覧 0

認証 機能に着目したモデル モデリングのコンセプト 本モデルは 広くしられている AAA モデルの構造を模す事を出発点としました AAA に登場する認証 承認 アカウンティングの3要素が取り扱う情報の責務に着目することを本モデルのコンセプトとして設計 を行いました 3要素のほかに要求仕様から読み取れる ユーザの ID カード ユーザに提供するサービス ユーザの使 用履歴といった情報を抽出し それを元に分析作業を行いました 分析モデル 静的モデル クラス構成その1 cla s s 分析1 AAAモデルの3つを最上位層のクラスとしておきました 認証の配下に要求仕様から読み取れる情報を 認証 承認 監視の役割を考慮して配置しました 誰が許可で 誰が不許可か 承認 認証 ユーザを認証する() 監視処理を実行する() 登録サービス 登録課計 * アカウン ト 名前 カギ 監視 サービスを提供する() 登録アカウント 承認 1サービスの単価 認証をパスしたら何ができ るか * サービスを承 認している サー ビ ス 内容 アカウントに対してサービスが承認され ている 1つのサービスに対して複数アカウント の実行を承認される サービスはアカウントごとに異ならず す べてのアカウントで同一サービスと考え る * サー ビ ス利用量ルー ル ルールを確認する() : void ルールを実行する() : void サービスの実行前後にそ のサービスがどのような 監視をされているか確認 が行われる サービスの実行前にはそのサービスが 承認されているか確認が行われる 図2 最上段には AAA の3要素 認証 承認 監視を配置しました 分析モデル

組込み分野のための UML モデル解説書 認証が扱う情報は ユーザを識別するための情報です 認証が扱うユーザを識別する情報をアカウント とし その下に配置しました 承認が扱う情報は サービスです 承認が扱うサービスを その下に配置しました 監視が扱う情報は サービス利用 サービス利用後情報 です ひとまず分析作業はここまでとして この後シーケンス検討 PIM モデル作成を通して必要なクラスを 抽出します クラス構成その1の具体例 cla s s 要 求 仕 様 オブ ジ ェクト図 認証システム 端末 Aさ ん 認証シ ステ ム Aさ ん IDカー ド 印刷を指示するパソコン と IDカードをかざす端末装 置を ここではひとまとめに端末 と称しました 認証 承認 とりあえず AAA3つに端 末が関連すると 絵がみづらいので 便宜 的に集約したクラスを配 置しています 監視 端末 Bさ ん 印刷サー ビ ス Bさ ん IDカー ド 使用履歴を と る Aさ ん ユ ー ザ情報 Bさ ん ユ ー ザ情報 図3 要求仕様の状況をひとまずオブジェクト図にしてみました クラス図その1の登場人物でひとまず足り ている模様です 機能に着目したモデル 2

認証 クラス構成その 2 クラス構成その1をもとに さらにクラスを抽出 cla s s 分 析 2 認証 承認 ユーザを認証 認識 する() : void サービスの承認設定を確認する 監視処理を実行する() : void 登録サービス 登録課計 0..* 0..* ア カウン ト サー ビ ス * サービスの承認を確認 する 名前 カギ 監視を実行する 登録アカウント 監視 サービスを提供する() : void 承認 1サービスの単価 認証をパスしたら何がで きるか 何を許可して 何を不許可にするか 0.. 0..* サー ビ ス利用量ルー ル サービス ルール内容 ルールを確認する() : void ルールを実行する() : void * ルールを確認する 承認状況を変更 する ログオンしている 0.. 認証証明書 認証日時 0..* 0..* 承認証明書 0..* ログインユーザ サービス 実行ユーザを判別するた めの材料として設けまし た 0..* サー ビ ス利用量 承認有効状況 監視機能動作時に 承認無効 一時的にサービス利用不可 になる場合がある 図4 シーケンスの検討や PIM モデルの検討を通してクラス図は上記のように変化しました 以下が追加され た最下段のクラスの責務と説明となります 認証証明書 ログインアカウントと非ログインアカウントを区別するためにログイン時に生成されます 承認証明書 サービス実行前にサービスの実行権が監視からも認められているか確認するクラスです 例えば監視条件を満たさない場合 課金不足など サービスの実行権を失う状況を実現します サービス利用量 監視の使用記録などの実データとなります つぎにユースケースに対応したシーケンス図を示します インタフェースは先の PIM モデルのものを利 用しています 3 分析モデル

組込み分野のための UML モデル解説書 動的モデル ユーザを認証するときの相互作用 s d ユ ー ザを 認証す る 初期条件 ユーザA ユーザ登録済み ユーザ登録サービス登録済み 監視内容は無し シナリオ ユーザAを認証する Facade 認証 :認証証明書 ユーザA ユーザ認証要求() ログオン(ユーザ名, パスワード) :認証証明書 照合する(ユーザ名,, パスワード) 生成() 証明書発行() 認証完了通知() 図5 機能に着目したモデル 4

認証 サービスの実行を承認するときの相互作用 s d サ ー ビ スの 実 行 を 承 認 す る 初期条件 ユーザA登録済み ユーザAはユーザ承認済み 監視内容は無し シナリオ ユーザAがサービスを実行し 承認部がサービス承認を行う Facade 承認 :認証証明書 :アカウント :サービス ユーザA サービス実行(サービス種別, 認証証明書) :サー ビス利用量 承認サービス問い合わせ(サービス種別) : boolean 関連サービスの承認確認(サービス種別) : bool 関連サービスの承認確認(サービス種別) : bool 承認済み() サービスの実行() サービスの実処理() 図6 5 分析モデル

組込み分野のための UML モデル解説書 サービスの利用状況を監視するときの相互作用 s d サー ビ ス の 利 用 状 況 を 監 視 す る 初期条件 管理者ユーザ登録済み ユーザAはユーザ承認済み シナリオ 管理者が印刷サービスを実行し 使用記録の残す Facade 承認 :認証証明書 :アカウント :サービス 監視 :承認証明書 サービス利用量 ルール :サービス利 用量 ユーザA サービス実行(サービス種別, 認証証明書) :サー ビス利用量 承認サービス問い合わせ(サービス種別) : boolean 関連サービスの承認確認(サービス種別) : bool 関連サービスの承認確認(サービス種別) : bool 承認済み() サービスの実行() 関連サービスの承認確認(サービス種別) サービス実行権確認() 実行権有り() 印刷サービスの実処理() 監視の実行() 課計ルール の実行() 記録処理() 記録処理() 図7 機能に着目したモデル 6

認証 PIM 設計モデル 静的モデル cla s s 設 計 PIM モ デ ル 外部システムからのアク セスを簡単にできるよう に I/Fを集約した FACADEを設けました ユ ー ザA 0.. F a ca d e ユーザログオン(ユーザ名, パスワード) サービス実行(サービス内容) 承認 認証 # # # ログオン(ユーザ名, パスワード) : 認証証明書 アカウントの登録(アカウント) : アカウント登録結果 サービスの承認(アカウント, サービス) : void 照合する(ユーザ名, パスワード) : void 監視 アカウント登録(アカウント, 認証証明書) : アカウント登録結果 サービス実行(サービス種別, 認証証明書) : サービス利用量 ユーザ削除(アカウント, 認証証明書) : アカウント削除結果 ユーザ使用可能サービス登録(アカウント, サービス) : void サービスの登録(サービス種別, 認証揮発データ) : void サービスの認証(アカウント, サービス, 認証証明書) : void 監視の実行() : void <<enumeration>> サー ビ ス種別 アカウント登録 サービス承認 アカウント削除 印刷サービス 監視を実行する 登録課計 登録アカウントリスト 登録サービス <<enumeration>> ア カウン ト削除結果 承認状況を 変更する 削除成功 削除失敗 サービスの承認設 定を確認する 監視実行時に 承認無効 サービス利用不可 になる場合がある <<enumeration>> ア カウン ト登録結果 登録成功 登録失敗 0..* 0..* ア カウン ト サービスの承 認を確認する * 名前 パスワード 関連サービスの承認確認(サービス種別) : bool サービスの承認(サービス) : void 0.. サー ビ ス Nullオブジェクト サー ビ ス利用量ルー ル 0..* サービス サービスの実行() : void 0..* ルールを確認する 課計ルールの確認() : void 課計ルールの実行() : void ログオンしている 認証失敗時に返す用のオ ブジェクトを静的に確保し ておきます 0.. ログオンアカウ 0..* ントリスト 0.. <<enumeration... ロ グオン 結果 ログオン結果: ログオン結果 0..* アカウントの取得() : アカウント 承認サービス問い合わせ(サービス種別) : boolean ログオン結果の取得() : ログオン結果 Nullオブジェクト 0..* 0..* 承認証明書 認証証明書 認可有効状況 サービス実行権確認() サー ビ ス利用量 0..* 承認揮発データの書き換え 記録処理() 認証失敗時に返す用のオ ブジェクトを静的に確保し ておきます ログオン成功 ログオン失敗 図8 7 PIM 設計モデル

組込み分野のための UML モデル解説書 エンティティに着目したモデル モデリングのコンセプト 認証機能は ユーザがサービスを使用したいという要求に対して 正当なユーザか? 正当なサービスか? 正しく使用されているか? といった観点からサービス使用に対して制限を掛けるという機能になります この事からユーザがサービスを利用するまでに ユーザにサービス利用の制限をかけるエンティティが幾つか出現すると考えられます これらのエンティティを明確化することをモデリングの出発点として分析作業を行いました 分析モデル 静的モデル clas s クラス図 認証 認証 0..* 許可する 認証アカウント 0.. アカウント カギ ユーザ名 サービス利用可能者 0..* 権限 権限 権限名 アカウント 権限 ライセンス 0..* 利用可能サービス 0..* サービス利用ライセンス ライセンス名 0..* ライセンス サービス情報 0.. サービス情報 サービス名 接続先 ライセンス サービス利用 0..* サービス利用 実行する ユーザ (from 0. ユースケースモデル ) 監視対象 0..* サービス (from 0. ユースケースモデル ) 監視する 監視者 0..* サービス利用監視 記録者 記録する 記録媒体 0..* サービス利用量 サービス利用状況 図 9 このクラス図において 認証 サービス利用 サービス利用監視 がそれぞれ認証 承認 監視の役割に当たります これら以外の情報がサービス利用に制限をかけるためのエンティティとなります 制限をかけるためにどのような情報が必要かという点を検討するために サービスの利用時に制限するために行う確認事項を洗い出してみます 正当なユーザか? 正当なサービスか? 正当な組み合わせか? 正当に使用されているか?( 監視記録 ) エンティティに着目したモデル 8

認証このうち 正当な組み合わせに関しては サービスの実行時刻や実行場所など様々な条件が考えられますが モデルを簡素化するために 一旦 アカウントとサービスの組み合わせが適切か? というシンプルな確認とします 上述した確認事項から残りのエンティティを見た場合 アカウント は サービス利用者が妥当かどうかを判断するための情報 サービス情報 は 正当なサービスを実行するための情報 権限 は どのユーザがどのサービスを実行できるかを示した情報 サービス利用量 は サービスの利用状況の記録という位置づけになります これで先ほどの確認に伴うエンティティは網羅できました クラス図の中で残された一つの サービス利用ライセンス は ユーザが特定のサービスの実行を許可された事を示す情報として作成しました 9 分析モデル

組込み分野のための UML モデル解説書 サービス利用前のオブジェクト構成 図 0 エンティティに着目したモデル 20

認証 サービス利用中のオブジェクト構成 図 最初のオブジェクト図が ユーザから利用可能なサービスを特定するまでのオブジェクト構成を表したもので 二つ目のオブジェクト図が 利用可能なサービスが特定された後 サービスを利用して終了するまでのオブジェクト構成を表したものとなります アカウント 権限 サービス情報 という関連は 認証が始まる前から既に存在しています 認証 や サービス利用 は これらのエンティティや関連から 認証 承認といった制限を実現します サービス利用ライセンス と アカウント サービス情報 間の関連は 承認が出来た後に作られる関連となります また サービス利用監視 サービス利用 間は サービス利用監視 の責務に応じて 様々な サービス利用 の監視を行う事ができるような関連になっています 2 分析モデル

組込み分野のための UML モデル解説書 動的モデル ユースケースシナリオに基づいて作成したシーケンスは次の 4 つとなります 認証 承認 監視の3つの機能が 前述したエンティティで実現できていることが分かります ユーザを認証するときの相互作用 図 2 サービスを利用するときの相互作用 図 3 エンティティに着目したモデル 22

認証 サービスの実行を承認するときの相互作用 図 4 サービス利用状況を監視するときの相互作用 図 5 23 分析モデル

組込み分野のための UML モデル解説書 PIM 設計モデル 分析モデルでは ユーザがサービスを利用するまでに出現するエンティティを明確化することをモデリングの出発点としました PIM 設計モデルでは 分析モデルで明確になったクラスに対して 責務をインタフェース (Boundary) 機能(Control) データ(Entity) という3つの視点で分割することをモデリングの出発点とします このような構造にすることにより 例えば認証の場合 PC 画面からのパスワード認証であっても 指紋認証などのように機器デバイスからの認証であっても ユーザインタフェース部分を変更するだけで機能部分に手を加えることなく対応する事ができます 静的モデル 分析モデルで出たクラスを インタフェース 機能 データに当てはめると次のようになります 認証 サービス利用 は インタフェース 機能 サービス利用監視 は 機能 アカウント サービス情報 権限 課計 サービス利用ライセンス は データ このため 認証 と サービス利用 は それぞれ次のように責務を分離しました 認証窓口 サービス利用窓口 サービスプロキシ は インタフェース 認証 サービス利用 は 機能 また アカウント サービス情報 権限 の静的なデータは どこか格納しておくものが必要に なります そのため それぞれ一覧という名前をつけたクラスを導入しました さらに機能の結果保持用のクラスを導入して 操作を追加すると次のようなクラス図となります エンティティに着目したモデル 24

認証 図 6 25 PIM 設計モデル

組込み分野のための UML モデル解説書 動的モデル 分析モデルをベースに PIM 設計モデルのクラス構造に基づいて作成したシーケンス図が次の4つの図に なります アクターがユーザインタフェースの責務を持つクラスとしかアクセスしていません ユーザを認証するときの相互作用 sd シーケンス図 :アカウント 一覧 :ユーザ.0 登録アカウン ト :アカウン ト 登録アカウン トのカギ :カ ギ :認証窓口. ユーザ名を入力する (ユーザ名).2 パスワードを入力する (パスワード).3 認証する () :認証結果.4.5 入力アカウン ト :アカウン ト :認証.6 認証する(入力アカウント) : 認証結果.7 :認証結果.8 ユーザ名を取得する() :ユーザ名.9 指定ユーザのアカウントを取得する (ユーザ名) :アカウント loop.0 ユーザ名を取得 [登録アカウント数分] する() :ユーザ名 break [ユーザ名=登録アカウント.ユーザ名] opt [アカウントが取得できた]. カギを取 得する() :カギ.2 カギを取 得する() :カギ.3 正当性を判断す る(カギ) :boolean alt.4 [正当性の判断に成功した].7.5 認証結果コードを設定する (認証結果コード).6 図7 エンティティに着目したモデル 26 :サービス利 用窓口

認証 サービスを利用するときの相互作用 sd シーケンス図 :ユーザ.0 :サービス利 用窓口. サービスを利用する() :利用結果.2 :サービス利 用.3 承認する(アカウント, string) :利用結果 ref サービスの実行を承認する.4 opt [承認結果がOKだった].5 サービスを利用する(サービス利用ラ イセンス) :利用結果 ref サービス利用状況を監視する.6.7 図8 27 PIM 設計モデル

組込み分野のための UML モデル解説書 サービスの実行を承認するときの相互作用 sd シーケンス図 :サービス利 :サービス利 用窓口 用 :アカウント :権限 :サービス利 用情報.0 承認する(サービ ス名) :利用結果. :利用結果 <<create>>.2 権限を取得 する() :権限.3 サービス利用ライセンスを取得する(サービス名, アカウント) :サービス利用情報 loop.4 サービス名を取得す [登録サービス分] る() :サービス名 break [サービス名=サービス利用情報.サービス名] alt [サービス利用情報が取得できた].5 :サービス利 <<create>> 用ライセンス.6 利用結果コー ドを設定する().7 図9 サービス利用状況を監視するときの相互作用 sd シーケンス図 :サービス利 :サービス利 :サービス利 :サービス利 :サービス利 :サービス利 :サービスプ 用窓口 用 用ライセンス 用情報 用監視 用量 ロキシ opt [サービス利用ライセンスが存在する].0 サービスを利用する( ライセンス) :利用結果. :利用結果.2 サービス利用情 報を取得する().3 接続先を取得 する() :接続先.4 サービスを利用する(接続先).5 :サービス利 用状況.6 サービス利用状況を 通知する(イベント).7 サービス利用状況を記録す.8 利用結果コードを設定す る(サービス利用状況) る(利用結果コード) 図20 エンティティに着目したモデル 28

認証 状態に着目したモデル モデリングのコンセプト ユーザが認証された 認証されていない といった状態に着目したモデルです 認証モデルは ユーザが認証されているか 認証されていないか によってユーザからの処理依頼に対 する振舞いを適切に切替えることが重要です 振舞いの切替えに ヌケ モレが無いことを コーディング 時ではなくて 構造設計レベルで抑えようというのがこのモデルのコンセプトです 分析モデル 静的モデル c la s s 分 析 モ デ ル ユーザ 認証 ア カウン ト 認証アカウント 認証済みかどうか * 権限 所有権限 ユーザ名 パスワード サービス名 サービス利用の可否 サー ビ ス利用量 サービス利用量 認証済みのときにのみ 承認を得ることができる サービス名 利用量 サービス利用量 承認サービス * 承認 サービス名 承認済みかどうか 承認済みのときにのみ サービスを利用できる 利用する サー ビ ス サービス サービス名 0.. 更新する 具象サー ビ ス 図2 ユーザとの認証に絡む振舞いを担うクラスとして 認証 を設けます ユーザ毎の情報を保持するクラスとして アカウント を設けます アカウント には 認証に必要 な情報 権限 と そのアカウントが過去にサービスを利用した記録である サービス利用量 を関連付け ます 29 分析モデル

組込み分野のための UML モデル解説書ユーザが認証されたときに利用出来るサービスは複数あるため サービス毎に承認が必要と考え サービス毎の承認ずみかどうかを表すために 承認 を設けます ユーザのサービスを利用によって使用量を監視 記録するために サービス を設けます 各々のサービス固有処理は サービス から派生した 具象サービス が担うものとします ユーザによるサービス利用を監視した結果をユーザ毎に分けて記録するために サービス からも アカウント に関連づけた サービス利用量 に関連を持たせます 動的モデル 状態遷移 s t m 状態遷移 認証済 [ サービス A] サービス未利用 サービスを利用する [ 承認 NG] 未認証 認証する [ 認証 OK] サービスを利用する [ 承認 OK] サービス利用を終了する サービス利用中 認証する [ 認証 NG] [ サービス B] サービス未利用 サービスを利用する [ 承認 NG] サービスを利用する [ 承認 OK] サービス利用を終了する サービス利用中 図 22 認証モデル全体が ユーザ認証 サービス利用承認によりどのように状態が変化するかを示します ユーザが認証されていない状態を 未認証 ユーザが認証された状態を 認証済 と呼ぶことにます 最初の状態は 未認証 です ユーザが認証を試みて システムに正当なユーザであると判断されると 認証済 へ遷移します 認証済 状態にネストする形で サービスを利用していない サービス未利用 と サービスを利用中の サービス利用中 の 2 つの状態があります 認証済 に遷移した直後は サービス未利用 です これらの状態は サービス毎にあります ステートマシン図では サービス A とサービス B の 2 つのサービスについて それぞれ状態を持てることを示しています 状態に着目したモデル 30

認証ユーザがサービスを利用しようとすると システムが認可するかどうか判断します システムが承認した場合は サービス利用中 に遷移します システムが承認しない場合は サービス未利用 に留まります ただし サービス未利用 と サービス利用中 の状態は システムに つではなく サービス毎に状態をもつ必要があります 以下に 各状態における振る舞いの違いを示します 振る舞いが未定義の部分は とし 何もしない とします 状態 イベント ユーザを認証するサービスを利用するサービスの利用終了 未認証 認証できれば 認 証済 へ遷移 認証済 サービス未利用 承認できれば サービスを起動し サービス利用中 へ遷移 サービス利用中 サービスを終了し サービス未利用 へ 遷移 例えば ユーザを認証する は 未認証 のときしか動作せず それ以外の 認証済 状態では何 もしません 3 分析モデル

組込み分野のための UML モデル解説書 PIM 設計モデル 未認証 認証済 サービス未利用 サービス利用中 それぞれの状態を表すために デザインパターンの つ ステートパターンを適用します ステートパターンは 振舞いに関するデザインパターンのつです ステートパターンを用いることで 状態によって振る舞いを変えるための条件分岐が不要になります また 状態遷移図に対して状態遷移表がそうであるように 状態毎の振舞いの違いを考えるときのモレ ヌケを防止する効果があります 状態に着目したモデル 32

認証 静的モデル c la s s PIMモ デ ル ユーザ ユーザ認証状態の ステートパターン適用範囲 ア カウン ト 認 証 コ ン テ キ スト ~ アカウントリスト 認証する(ユーザ名, パスワード) * サービスを利用する(サービス名) 状態を設定する(認証状態) サービス利用を終了する(サービス名) * 認証したアカウント ユーザ名 パスワード ユーザを認証する(ユーザ名, パスワード) サービス利用を承認する(サービス名) サービス利用量を取得する(サービス名) サービス名 認証 サービス名 <<interface>> 認証状態 認証する(ユーザ名, パスワード) サービスを利用する(サービス名) サービス利用を終了する(サービス名) サービス利用量 サ ー ビ ス利 用 量 利用量 利用量更新(利用量) : void 権限 サービス利用量 未認証 所有権限 権限の有無 認証済 認証する(ユーザ名, パスワード) サービスを利用する(サービス名) サービス利用を終了する(サービス名) 認証する(ユーザ名, パスワード) サービスを利用する(サービス名) * サービス利用を終了する(サービス名) サービス名 サービス利用承認の ステートパターン適用範囲 サービス利用コンテキスト * サ ー ビ ス利 用 コ ン テ キ スト ~ サー ビ ス サービスを利用する(アカウント) サービス利用を終了する() 状態を設定する(サービス利用状態) サービス サービス利用状態 サービス名: String サービス(アカウント) : void サービスする() <<interface>> サ ー ビ ス利 用 状 態 承認する(アカウント) 利用する() 終了する() 具象サー ビ ス サ ー ビ ス未 利 用 承認する(アカウント) 利用する() 終了する() サービスする() サ ー ビ ス利 用 中 承認する(アカウント) 利用する() 終了する() 図23 システムに登録されたユーザ情報である アカウント には サービス毎にそのサービスを利用可能か 示す 権限 と サービスを利用したときに計上される サービス利用量 を関連づけます 実際のサービスを提供するクラスは 認証モデルから独立して拡張できるように 具象サービス と して サービス クラスから派生させています 33 PIM 設計モデル

組込み分野のための UML モデル解説書 認証していない段階のオブジェクト構成 object 未認証状態 サービス X 権限 : 権限 アカウント A さん : アカウント サービス Y 権限 : 権限 サービス X 利用量 : サービス利用量 サービス Y 利用量 : サービス利用量 : 認証コンテキスト : 未認証 A さん : ユーザ 図 24 このオブジェクト図では つのアカウント アカウント A さん があり 2 つのサービス サービス X と サービス Y があるシステムを示したものです 未認証状態では ユーザ A さんはアカウントの情報を辿ることも サービスを使うこともできません 状態に着目したモデル 34

認証 認証済みでサービスが利用されていない状態のオブジェクト構成 object 認証済み状態 ( サービス利用なし ) サービス X 権限 : 権限 アカウント A さん : アカウント サービス Y 権限 : 権限 サービス X 利用量 : サービス利用量 サービス Y 利用量 : サービス利用量 A さん : ユーザ : 認証コンテキスト : 認証済 サービス X 利用状態 : サービス利用コンテキスト : サービス未利用 サービス Y 利用状態 : サービス利用コンテキスト : サービス未利用 図 25 認証状態では 認証済み のオブジェクトが アカウント A さん との関連を持ち ユーザ A さん が アカウント情報を辿れるようになります また サービス X と サービス Y の利用コンテキストが生成され サービスの利用を試みることができます ただし サービス利用コンテキスト には サービス未利用 状態が関連付けられており 承認処理を経由しなければサービスを利用することができなくなっています 35 PIM 設計モデル

組込み分野のための UML モデル解説書 認証済みでサービス X を利用中のオブジェクト構成 object 認証済み状態 ( サービス利用中 ) サービス X 権限 : 権限 アカウント A さん : アカウント サービス Y 権限 : 権限 サービス X 利用量 : サービス利用量 サービス Y 利用量 : サービス利用量 A さん : ユーザ : 認証コンテキスト : 認証済 サービス X 利用状態 : サービス利用コンテキスト : サービス利用中 サービス X : 具象サービス サービス Y 利用状態 : サービス利用コンテキスト : サービス未利用 図 26 この図は ユーザ A さん が サービス X を利用している状態を示しています サービス X のためのサービス利用コンテキスト サービス X 利用状態 には サービス利用中 オブジェクトが関連付けられ その先に サービス X オブジェクトが関連付けられています また サービス X は サービス X 利用量 との関連を持ち 適宜 サービス利用量を更新します ステートパターンを適用し 状態に応じたオブジェクトを組み合わせて認証モデルを実現します 状態に着目したモデル 36

認証 動的モデル ユーザを認証するときの相互作用 s d ユーザを認証する account : アカウント : ユーザ : 認証コンテキスト : 未認証 認証する ( ユーザ名, パスワード ) 認証する ( ユーザ名, パスワード ) loop ユーザのアカウントを探す [ 全てのアカウントについて繰り返す ] ユーザを認証する ( ユーザ名, パスワード ) break [ 認証できた ] opt 認証済状態への遷移 [ 認証 OK] authenticated : 認証済 loop 全サービス利用コンテキストの生成 [ サービスの数だけ繰り返す ] : サービス利用コンテキスト : サービス未利用 状態を設定する (authenticated) : 認証結果 : 認証結果 図 27 37 PIM 設計モデル

組込み分野のための UML モデル解説書 サービスを利用するときの相互作用 s d サービスを利用する : 認証コンテキスト authenticated : 認証済 : サービス利用コンテキスト : サービス未利用 usingservice : サー ビス利用中 service : 具象サービス account : アカウント : 権限 amount : サービス利 用量 ユーザ サービスを利用する ( サービス名 ) サービスを利用する ( サービス名 ) サービスを利用する (account) ref サービス利用を承認する alt サービス利用 [ 承認 OK] 利用する () サービスする () ref サービスの利用を監視する : 利用結果 : 利用結果 [ 承認 NG] 利用する () : 利用結果 _ 承認 NG : 利用結果 : 利用結果 : 利用結果 図 28 状態に着目したモデル 38

認証 サービスの実行を承認するときの相互作用 s d サービス利用を承認する : サービス利用コンテキスト : サービス未利用 account : アカウント : 権限 amount : サービス利 用量 承認する (account) サービス利用を承認する ( サービス名 ) : 承認結果 opt サービス利用中へ遷移 [ 承認 OK] 生成 ( サービス名, account) usingservice : サービス利用中 サービス利用量を取得する ( サービス名 ) :amount 生成 (amount) service : 具象サービス 状態を設定する (usingservice) 図 29 サービス利用状況を監視するときの相互作用 s d サービスの利用を監視する service : 具象サービス amount : サービス利用量 実際のサービスの処理を行なう () 利用量更新 ( 利用量 ) 図 30 39 PIM 設計モデル

組込み分野のための UML モデル解説書 認証 初版発行 200 年 ( 平成 22 年 )0 月 日第二版発行 202 年 ( 平成 24 年 )5 月 7 日発行者 UMTP, Japan 編著組込みモデリング部会印刷 UMTP, Japan 東京都渋谷区代々木 丁目 22 番 号 http://www.umtpjapan.org/ Copyright(c)200206 consortium for UML based Modeling Technologies Promotion All Rights Reserved