トンネルモデリングは、抽象レベル(オープンシステム相互作用モデルの9レベル拡張)とデミングサイクルの組み合わせに基づくモデリング手法です。
以前の投稿で、 habrahabr.ru / post / 176391はモデリングで使用するためのグラフィカルプリミティブのコレクションを提示しました。 グラフィカル表記法の使用例は、記事「Unified Knowledgeのトンネルモデリング」に記載されています。 この記事では、標準PCのキーボード文字を使用してこのようなモデルを構築する可能性について説明します。
この手法は「これが可能ですか?」の状態にあるため、モデリングに使用する要素にバージョン番号0.1を割り当てます。 同時に、多くのモデリングコンポーネント(レベルの数、抽象化のレベルに応じたコンポーネントの配置とデミングサイクルのフェーズ、および選択された用語のセット)が形成過程にあることを考慮するよう読者にお願いします。
2013年の初めには、モデルは4つのフェーズと9つのレベルで構成されています。
驚くべきことに、キーボードの可能なブラケットの数は4ペアです(カードのスーツの数に対応します)。
ブラケットのペアに対して次の割り当てが選択されます。
サイクル要素
デミンガ | ブラケットのペア | 理由 |
行為 | [...] | オプションのパラメーターのタイプ指定 |
計画 | {...} | 構造要素のこの方向への対応 |
やる | <...> | タグと必須パラメーターの指定として |
確認する | (...) | 次の関数のパラメーターに使用
呼び出し時に値を取得する |
文字数の点でほぼそのような一致が抽象化レベルで見つかりました
レベルの記号を示します。
抽象化のレベル | 記号 | 理由 |
適用済み | ? | 機能レベルと分類の問題への対応 |
エグゼクティブ | @ | コンテキストとインターフェースとの関連性 |
セッション | % | 変更を比較する機能 |
輸送 | ^ | Pascalポインターに関連付けられています |
変形的 | ! | 行動の重要性を反映して |
ネットワーク | & | AND、相互作用のシンボルとして |
システム | * | システムの整合性を呼び戻す |
チャンネル | $ | このレベルでの主なタスクとして蓄積を想起する |
物理的 | # | 他のレベルに最も適さないシンボルとして |
プログラムおよび説明で使用するために、抽象性レベルとペアブラケットのシンボルは伝統に従って任意に使用できます。したがって、モデルの説明では特別なシーケンスのみを説明する要素が重要です。
-オープニング、対応するオープニングブラケットの記号とレベルに対応する次の記号で構成
-閉じ、レベルに対応する記号とそれに続く対応する閉じ括弧で構成
モデルの特別な括弧は、空白文字で他のテキストから分離する必要があります。 そして、おそらく、それぞれの特別な括弧は別々の行にあるべきです。 または-別の行の開始ブラケットの後ろに、モデル要素の名前があります。
次に、標準のブラケット文字を使用してモデル内で使用できます。 ただし、別の特別なブラケットを入力して、要素の包含の階層を記述することができます。ブラケットのペア{:...:}です。 空白の環境ルールもそれらに適用されます。 同様の括弧のペアがアプリケーションを待機します:[:...:]、<:...:>、(:... :)
トンネルモデリングバージョン0.2の用語のリスト:
[ 改善 ] | { 計画 } | < アクション > | ( チェック ) |
アイデア | |||
論理的 | |||
[ 必要性 ] | { フォーカス } | <なし> | ( 拒否 ) |
ナビゲーション(リンクトラッキング、ナビゲーション)(1)
| アソシエーションエンド(アソシエーションポール)(1)
動的シミュレーション (動的モデリング)(1) 汎化セット名 一般化)(1) メタデータ(メタデータ)(1) N-aryアソシエーション(N-ary 協会)(1) ナビゲーション性(1) システム 構想(概念化 システム)(1) 経営者(2) やる気 (-)(2) スケジューラー(2) | NULL(1)
| 仮想(重複)(1)
|
適用済み | |||
[ 目的 ] | { 回答者 } | < 機能 > | ( 条件 ) |
俳優(キャラクター)(1)
名前空間(1) スイムレーン(1) 人、組織(2) | 抽象操作(1)
アプリケーション分析 (アプリケーション分析)(1) メタクラス(メタクラス)(1) 模様 パターン)(1) ユースケース(ユースケース)(1) 建築 アプリケーション(2) コアビジネスプロセスのリスト(2) 機能 プロセス(2) | 複合状態(1)
列挙 (リスト)(1) 注文済み(1) 状態 (条件)(1) | |
エグゼクティブ | |||
[ 視点 ] | { 一般化 } | < インターフェース > | ( グレード ) |
レイヤー(レベル)(1)
スコープ(コンテキスト)(2) | 抽象化(抽象化)(1)
クラス(1) 分類 (分類)(1) 汎化(1) モデル (モデル)(1) スーパークラス(1) | 抽象クラス(1)
API(1) 申込み プログラミングインターフェース(1) 境界クラス(1) カプセル化 (カプセル化)(1) インターフェース(java)(1) ユーザーインターフェース (ユーザーインターフェイス)(1) ラッパー (ラッパー)(1) オーナー、マネージャー(2) | |
セッション | |||
[ 基準 ] | { 予測 } | < 文化 > | ( 歴史 ) |
エンタープライズモデル(2)
| ラピッドプロトタイピング(1)
システム設計 (システム設計)(1) ハイライト(2) マスタープラン 実装(2) モチベーション(2) 見込み客(表の行)(2) | 対話型インターフェース(1)
N層 アーキテクチャ(階層化アーキテクチャ)(1) OO開発 (オブジェクト指向開発)(1) SQL(1) システムアーキテクチャ (システムアーキテクチャ)(1) 3層アーキテクチャ アーキテクチャ)(1) UML(1) 統合モデリング言語 モデリング言語)(1) 可視性(1) | 原点クラス(1)
永続オブジェクト オブジェクト)(1) UML1(1) UML2(1) |
輸送 | |||
[ 戦略 ] | { 計画 } | < トレーニング > | ( 認知 ) |
アーキテクチャ(1)
単一継承 継承)(1) 強い型付け(1) 弱いタイピング (弱いタイピング)(1) ビジネスの目標と戦略(2) モデル システム(2) 実用的なビジネス戦略(2) | 事業計画(2)
| 派生クラス(1)
子孫クラス (子孫クラス)(1) エンタープライズモデル(1) 多型(多型)(1) 状態モデル(1) | 分析(1)
リバースエンジニアリング(1) |
マネージャー | |||
[ スクリプト ] | { 担保 } | < プロジェクト > | ( 監査 ) |
アクティビティ(1)
制御(1) 進む エンジニアリング(直接工事)(1) ライフサイクル ループ)(1) ポリシー方式(1) シナリオ (スクリプト)(1) 滝の開発(滝モデル 開発)(1) 技術(物理)モデル(2) | 拡張(拡張)(1)
イテレータ(イテレータ)(1) 大規模プログラミング システム)(1) ITマネージャーと 開発者(2) デザイナー(2) 技術アーキテクチャ(2) | クラスデザイン(クラスデザイン)(1)
クラス図 クラス)(1) 非正規化(1) システム プロジェクト(2) | 統合テスト(1)
システムテスト (システムテスト)(1) |
評価する | |||
[ 態度 ] | { ヘルプ } | < 管理 > | ( 会計 ) |
構図(1)
相続 (継承)(1) ユーザーインターフェイスアーキテクチャ(2) | 拡張性(1)
メソッドのキャッシュ(キャッシュ メソッド)(1) | アクティブオブジェクト(1)
コントローラー オブジェクト)(1) 委任(1) ロック (ロック)(1) 時間、スケジュール(2) | ビジネスイベント(2)
|
レベリング | |||
[ 役割 ] | { 組織 } | < コンペティション > | ( コントロール ) |
人(2)
ビジネスルールの役割とモデル(2) | 動的バインディング(1)
相互作用モデル (相互作用モデル)(1) オブジェクト指向 フォーカス)(1) オブジェクト指向(1) | モジュール性(1)
競合状態(1) | アクティビティトークン(1)
ユニットテスト(モジュラー テスト)(1) |
技術的 | |||
実用的 | |||
[ 能力 ] | { 調和 } | < 実装 > | ( 結果 ) |
ライブラリー(library)(1)
実在の人々、組織(2) | 友達(1)
実装モデリング(1) 方法論(1) 多重継承 継承)(1) ピア(ピア、ピア)(1) 働く エンタープライズ(2) | 開発(1)
実装 (実装)(1) ビジネスロジックの実装(2) | 実装の詳細(2)
ネットワーク、システムの場所(2) |
責任者 | |||
安定した | |||
[ 責任 ] | { 規制 } | < 境界線 > | ( 持続可能性 ) |
責任(1)
| アクティビティ図(1)
開発ライフサイクル (開発ライフサイクル)(1) シーケンス図 シーケンス)(1) サブステート(1) 制御の糸 (制御フロー)(1) | final(Javaクラスの場合)(1)
final(Javaメソッドの場合)(1) システム 境界(システム境界)(1) セキュリティアーキテクチャ(2) | 可変性(1)
一貫性(一貫性、 全体性)(1) 実装の継承 実装)(1) 葉のクラス(1) 丈夫 (持続可能性)(1) |
平行 | |||
[ 手順 ] | { 相互作用 } | < インスタンス > | ( 完了 ) |
パーティション(1)
専門(1) | 同時(並列)(1)
方向(1) トランザクションマネージャー(1) | 制御の焦点(1)
ライフライン(line ライフ)(1) オブジェクト(1) 具象化(実施形態)(1) 一時オブジェクト(1) 場所 ネットワーク(2) プログラムの実行(2) | 自動移行(1)
完成 遷移(完了時の遷移)(1) デストラクタ(1) ガベージコレクション(1) |
特別な | |||
[ 要件 ] | { サプライヤー } | < 製品 > | ( 消費者 ) |
署名(1)
サブクラス(サブクラス)(1) 建築 プレゼンテーション(2) 開発者(2) | 祖先クラス(親クラス)(1)
コンクリートクラス(コンクリート クラス)(1) コンストラクター(1) 第四世代の言語 (第4世代言語)(1) メソッド解決 メソッド)(1) 新規(オブジェクト作成演算子)(1) オブジェクト管理 グループ(オブジェクト管理グループ)(1) OMG(1) 公開 (開く)(1) サーバー(サーバー)(1) ストアドプロシージャ 手順)(1) | クライアント(1)
| |
ゲートウェイ | |||
[ 構成 ] | { ログイン } | < プロセス > | ( 終了 ) |
含む(1)
反復開発(反復 開発)(1) 主要組織(2) モデル ビジネスプロセス(2) プログラムコード(2) ネットワーク(2) 構造 プロセス(2) | エントリーアクティビティ(1)
スキーマ(1) | アクティベーション(1)
バッチ変換(バッチ 変換)(1) 連続的な変換 変換)(1) 開発段階(1) する アクティビティ(現在のアクティビティ)(1) 方法(1) 操作 (運用)(1) サービス(1) ソフトウェアエンジニアリング(開発 ソフトウェア)(1) ザックマンモデル(2) スキーム ロジスティクス(2) 機能(2) | 終了アクティビティ(1)
見る (プレゼンテーション)(1) |
システム | |||
[ 知識 ] | { システム } | < 代替案 > | ( 使用 ) |
関連クラス(1)
データ辞書 データ)(1) オブジェクト制約言語 制限)(1) OCL(オブジェクト制限言語)(1) 買い物リスト 操作(リスト操作)(1) コンストラクター、アーキテクト(2) モデル ワークフロー(2) ビジネスルールの説明(2) | データベース管理システム(1)
DBMS(DBMS)(1) 情報隠蔽(1) パッケージ (パッケージ)(1) プライベート(閉鎖)(1) 保護された(1) リレーショナルDBMS(リレーショナルsubd)(1) システム(1) 論理的 データモデル(2) | OOデータベース(オブジェクト指向データベース)(1)
おお プログラミング言語(オブジェクト指向言語 プログラミング)(1) OO-DBMS(オブジェクト指向DBMS)(1) オーバーライド(オーバーライドまたはオーバーラップ)(1) | 火災(実際に実行)(1)
実装方法 実装)(1) オーバーロード(1) リファクタリング (リファクタリング)(1) 状態図(1) ネットワーク アーキテクチャ(2) |
チャンネル | |||
[ ルール ] | { 構造 } | < 件名 > | ( リソース ) |
アクセス指定子(1)
基本クラス クラス)(1) 状態(1) 制約(1) 派生要素(1) ガード条件 条件)(1) 正規形(1) | 集約(1)
アセンブリ(セット)(1) クラス モデル(クラスモデル)(1) コンテナクラス(1) 辞書(1) フレームワーク(フレームワーク)(1) インデックス(1) リンク(1) 手続き駆動制御 管理)(1) リレーショナルデータベース(1) サブシステム(1) テーブル(テーブル)(1) ユースケース図 (ユースケース図)(1) 分散モデル アーキテクチャ(2) データ構造の説明(2) 物理モデル データ(2) | アクセス修飾子(1)
効果(1) イベント駆動制御(1) 参照 (リンク)(1) リフレクション(1) これ(ターゲット オブジェクト)(1) 管理構造(2) | 属性(1)
バッグ(マルチセット)(1) データベース データ)(1) メンバー(C ++のクラスコンポーネント)(1) パッシブオブジェクト (受動オブジェクト)(1) 修飾子(1) サブマシン (ネストされた有限状態マシン)(1) 価値 (値)(1) データ(2) データ(2) |
物理的 | |||
[ エッセンス ] | { オブジェクト } | < メッセージ > | ( イベント ) |
_テストライン(1)
重要な概念とオブジェクトのリスト(2) | ドメイン分析(1)
クラスの範囲 (クラスの範囲)(1) 概念データモデル(2) 領土 ロケーション(2) | 値渡し(1)
カーディナリティ(カーディナリティ 数、電力)(1) デフォルト値(1) 識別子(1) オブジェクトのアイデンティティ オブジェクト)(1) 資格のある協会(1) シグナル(signal)(1) 値ベースのアイデンティティ 値について)(1) | 変更イベント(1)
イベント(1) 入れ子 状態(ネストされた状態)(1) 地域(1) 信号イベント (信号イベント)(1) タイムイベント(1) 移行 (移行)(1) 時間(2) 時間参照の定義(2) |
混oticとした | |||
[ 存在 ] | { コミュニケーション } | < 能力 > | ( 事故 ) |
エンティティ関係(ER)モデル(1)
えー (エンティティ関係)(1) | 協会(1)
参照による呼び出し リンク)(1) 外部キー(外部キー)(1) 主キー キー)(1) スコープ(1) シーケンス (シーケンス)(1) 三元協会 協会)(1) | 候補キー(1)
機能(コンポーネント)(1) アイデンティティ(1) 多重度(1) 対象 ダイアグラム(オブジェクトダイアグラム)(1) 静的(クラスデータとメソッド)(1) 推移的閉鎖(1) | リアルタイムシステム(1)
|
空間的 | |||
空の | |||
1)UML 2.0。 オブジェクト指向モデリングと
開発。 第2版 -サンクトペテルブルク:ピーター、2007年。 | |||
2)Zachman-アーキテクチャと戦略。 「陰」と「陽」
エンタープライズ情報技術 |
著者の意見は真実と一致しないかもしれません。 公開するために、真実に近づくために。
質問について-関連するトピックでの配置の可能性を評価してください:
抽象性のレベル別-habrahabr.ru/post/176249 (オープンシステムの抽象化と相互作用のモデル)
デミングサイクルとグラフィックモデリングについて-habrahabr.ru/post/176391 (オープンシステムインタラクションモデル、デミングサイクルおよびトンネルモデリング)
グラフィックモデルを作成するために、MS Visio環境用のライブラリが開発されています。 これは、 palexisru.narod.ru / sisyphus / visio / TunnelElements.zipで入手できます。 このライブラリを使用するには、SADTテンプレートの使用をお勧めします。 特にテンプレートフレーム。
このアプローチの心理的基礎は、ハンス・ユルゲン・アイゼンクの三次元スケールです(精神病、神経症、外向性)。 これは、そのようなアプローチの素因があることを示唆しています。
これについては、トンネルモデリングのアイデアの著者であるhabrahabr.ruの参加者に別れを告げます。そして、すぐにこのアプローチの支持者として戻ります。
このシミュレーションオプションは、分解を必要としない単純なタスクで正常にテストされています。 同時に、対称性の欲求が明らかになりました。問題の説明が上位レベルにある場合、反対側の極から同じ距離にある下位レベルでその説明が可能です。
情報は、検索バーのキーワード「トンネルモデリング」で見つけることができます。
アプローチをテストするための質問、反論、提案、タスクを楽しみにしています。
ありがとう
参照:
ランボー、M。ブラハUML 2.0。 オブジェクト指向モデリングおよび開発第2版-サンクトペテルブルク:ピーター、2007年
Danilin A.、Slyusarenko A.アーキテクチャと戦略。 企業情報技術の「陰」と「陽」:Internet-Un-t Inform。 テクノロジー、2005
UPD:関連記事
オープンシステムの抽象性と相互作用モデルhabrahabr.ru/post/176249
オープンシステムインタラクションモデル、デミングサイクルおよびトンネルモデリングhabrahabr.ru/post/176391
UPD2:05/31/ 2014-オープンシステムの関係の19レベルモデルhabrahabr.ru/post/203770に従って用語のリストが更新されました