【コラム】簡単なIDEF0を作ってみる

URLをコピーする
URLをコピーしました!
zuka

こんにちは。
zuka(@beginaid)です。

この記事はコラムシリーズの1つになります。今回は大学の講義でIDEF0について学んだので,そちらの概要をメモ程度に記している内容になります。コラム記事のまとめはこちらのカテゴリーページからご覧ください。なお,本記事の内容に関して正確性の保証はできません。

zuka

心優しき有識者の方々でもし間違いを見つけた方がいらっしゃれば,ご指摘いただけますと非常に助かります。

目次

IDEF0とは

IDEF0を真面目に説明しようとすると,かなり抽象的な説明になってしまいます。とりあえず,ここはwikipediaさんを頼ってみます。

IDEF0 (機能モデリングのための統合化定義)は,情報システム,事業プロセス,あるいはソフトウエア工学の分析,開発,リエンジニアリング及び統合のためのモデリング言語を提供する,製造機能を記述するための機能モデリング手法である。

Wikipedia「IDEF0」

噛み砕いてみましょう。要するに,ADEF0何か「活動(activity)」を行う際に,円滑に物事を進めるため,活動を俯瞰して把握するために用いられるモデリング手法です。IDEF「0」と言っているくらいですので,IDEFはシリーズ化しています。IDEF0は機能モデリングであり,例えばIDEF14はネットワーク設計に関するモデリング手法のようです。本記事では,簡単な問題設定に対してIDEF0を書いてみる,というものです。IDEF0に関して詳細を説明することはしません。

問題設定

IDEF0を利用するための対象は「朝起きて美味しいコーヒーを淹れてから家を出る」行為とします。観点は「25歳会社員男性」です。なお,前提として,今回はコーヒーを淹れる行為以外は家の中で行わないものとします。以下に,作成したIDEF0におけるA0トップレイヤーを示します。

A0トップレイヤー

豆挽き設定は,豆の粗さや豆の種類,豆の量などを表します。淹れる設定はお湯の温度,蒸らす時間,流水速度などを表します。以下に,作成したIDEF0を示します。

IDEF0全体像

考察

上図は,あくまでも理想の条件下におけるIDEF0になっています。例えば,出発時間がA2「湯を沸かしている」ときに迫ってくる場合も考えられます。そのためには,起床時間が出発時間よりも十分早いという条件が必要になります。

また,「豆挽き設定」と「淹れる設定」には相互依存性があると考えられます。例えば,濃いコーヒーを飲みたいとき,一般には豆は細かく挽いて流水速度は小さくします。このことから,「設定」を1つのオブジェクトとしてまとめておき,それをA3「豆を挽く」と「コーヒーを淹れる」に分岐させるというIDEF0も考えられます。

加えて,この「設定」はドリッパーやフィルター,カップとも相互依存性が考えられます。例えば,夏に水出しコーヒーを楽しみたい場合はドリッパーとフィルターの代わりに水出し用濾し器を利用したり,冬に温かいコーヒーを楽しみたい場合は保温性の高いカップを使用したりします。このことから,「用具を用意する」というChild Diagramを新たに作成して,そこからMechanismを生成するというIDEF0も考えられます。

A2「湯を沸かす」とA3「豆を挽く」はそれぞれ独立しており,両者ともA4「コーヒーを淹れる」のトリガーとなっています。このことから,A2とA3は時間のかかりそうな方から手をつけることで,効率的にA4「コーヒーを淹れる」を行うことができます。A0におけるOutput「ゴミ」はA4「コーヒーを淹れる」において生成されることが分かります。そのため,例えば出発時間がA4以前で迫ってしまった場合,Outputは生成されないことになります。

一方で,Output「ゴミ」に使用済みのティファールやミルなども含める場合は,それぞれのDiagramでOutput「ゴミ」を構成する要素が生成されることが分かります。また,ティファールと電気の代わりにヤカンとガスを利用することもできます。

シェアはこちらからお願いします!
URLをコピーする
URLをコピーしました!

コメント

コメントする

目次
閉じる