産学連携コストフォーラム 「IT社会のコストシステム」報告 IT社会における

IT社会における
原価計算研究者の役割
2002年6月8日 於青山学院大学
産学連携コストフォーラム
尾畑 裕(一橋大学)
研究者に課せられた役割1
•
•
•
•
コストシステムの基礎理論を踏まえ、
経営者のニーズを取り込み、
情報システムの観点をも考慮して
一般的コストモデルを提案
⇒研究者の恣意性をチェック
するために産学連携が必要
研究者に課せられた役割2
• コストシステムと他のシステムとのイ
ンターフェイスの標準仕様を提案
⇒産学連携 の必要性
オブジェクト指向コストモデルの
実験
• 尾畑研究室における取り組み
• 尾畑によるオブジェクト指向コストモデル
(OOCM)の提案
• オープンソース・オブジェクト指向コストシ
ステムフレームワークのJavaによる構築
実験
• http://obata.misc.hit-u.ac.jp/oocm/参照
オブジェクト指向コストモデル
(OOCM)の提案
背景
• 柔軟で透明性の高いコストシス
テムの必要性
• コストについての直感的理解促
進の必要性
• IT技術の劇的進展
オブジェクト指向コストモデル
(OOCM)の特徴
• 構造体としてのコスト
• コストの骨組を形成する物量情報の透明性
• 複数の代替的コストオブジェクト階層と複数
の代替的プロセス階層
• 複数の代替的視点、代替的シナリオに対応
• モデルとGUIの密接な対応による直感的視覚
化
オブジェクト指向コストモデル
(OOCM)の特徴1
• コストとは,コストオブジェクト
に集計された要約数値のみを意味
するのではなく,インプットとア
ウトプットの関係の階層構造その
ものプロセスの情報を内部構造に
包含した複雑な構造体
その意味は....
⇒コストは1つの要約数値ではない。
必要に応じてコストを構成する物量
情報(末端の資源消費やプロセス
についての情報)をコストオブジェ
クト型のオブジェクトから引き出せ
る。
OOCMの特徴2
• コスト情報は資源の物量的消費情報が
骨組みを形成する
製品単位あたりに集計されてもコス
ト情報の骨格は物量情報であり、製品
のコスト情報の内訳情報として物量情
報が引き出せるように透明性が確保さ
れなければならない
資源消費とは….
• 資源消費とは、OOCMを構成する最小単
位であり、資源型のオブジェクトへの参照
と消費量の情報からなる
• ちなみに資源型のオブジェクトとは、
資源インターフェイスを実現する
◎オリジナル資源型オブジェクト
◎コストオブジェクト型オブジェクト
コストオブジェクトと資源の同一視
資源
コストオブジェクト
||
資源
コストオブジェクト
OOCMの特徴3
• 資源消費は、コストオブジェクト階層の少な
くてもひとつに属すると同時に、プロセス階
層の少なくともひとつにも帰属する。
• コストオブジェクトについては、複数の代替
的コストオブジェクト階層に帰属させること
ができる。
• プロセスについても、複数の代替的プロセス
階層に帰属させることができる。
コストオブジェクトの階層
• 全部原価計算を行いたいのか、それとも、計
画生産量に対応した費用総額を知りたいのか
によって、コストオブジェクト階層の組み方
が変わってくる。また、伝統的な原価計算を
行いたいのか、活動基準原価計算を行いたい
のかによってもコストオブジェクト階層の組
み方が変わってくる。そのため、複数の代替
的なコストオブジェクト階層が定義される必
要がある。
コストオブジェクト階層例
生産計画
ルートコストオブジェクト
資源消費
10個
製品Xへの参照
資源消費
10個
製品Yへの参照
資源消費
30個
製品Zへの参照
製品Y
資源消費
15個
材料Aへの参照
資源消費
4個
部品M
資源消費
3時間
第1製造部門サービス
材料A
部品M
第1製造部門
資源消費
資源消費
資源消費
プロセスの階層
• 責任単位別のプロセス区分、小責任区
分、中責任区分、大責任区分のような
階層を構築するか、それとも、活動の
種類ごとに区分した階層を構築するか、
ここでも代替的なプロセス階層が定義
される。
プロセス階層例1
工場全体
プロセスルート
第1製造部門
第2製造部門
補助部門
第1コストセンター 第2コストセンター 第3コストセンター
プロセス階層例2
活動プロセスルート
生産準備
品質管理
予防活動
加工
検査活動
コストオブジェクトとプロセスの
関係
• ABC・ABMにおいて、活動は、
◎コストオブジェクトと考えるか、
◎プロセスと考えるか、あるいは
◎コストオブジェクトでありかつプロセスで
あるかを決めなければならない
(ABC・ABMではしばしば、コストオブジェク
トとプロセスが混同されているのではない
か)
OOCMの特徴4
• コストモデルは複数の代替的シナリオ
に対応することができる
• 代替的単価のシミュレーション
• 代替的なコストオブジェクト階層の構
築
コストオブジェクト階層のルート
• 各コストオブジェクト階層はルートを頂点に
もつツリー構造になる。各製品の生産量を
資源消費オブジェクトに設定し、その資源
消費オブジェクトを生産計画というコストオ
ブジェクトに帰属させると、生産計画オブ
ジェクトはコストオブジェクト階層のルートと
なる。
代替的コストオブジェクト階層の
構築例
• 全部原価計算用のコストオブジェクト階層
• 活動基準によるコストオブジェクト階層
• 無形資産認識型コストオブジェクト階層
OOCMの特徴5
• OOCMに対応するGUI開発によりコストを
直感的に展開して表示させることがで
きる
⇒コストオブジェクトナビゲータ
プロセスナビゲータ
ツリー表示によりコストオブジェクト
階層とプロセス階層を視覚化
OOCMの基本構造
• 基本単位としての資源消費オブジェクト
• 同一資源消費オブジェクトのコストオブジェ
クトとプロセスへの帰属
• コストオブジェクトとオリジナルな資源を同
一視(資源インターフェイス)
• メソッドの再帰的呼び出しによるコスト計算
(単純なロジック、単純なプログラム)
コストオブジェクトとプロセスの
構造
• コストオブジェクト型オブジェクトは、複数
の資源消費オブジェクトを格納する資源消
費コンテナをもつ。
• プロセスクラスのオブジェクトもまた、複数
の資源消費オブジェクトを格納するための
資源消費コンテナをもつ
資源消費コンテナ
• このコンテナは、資源への参照をインデックスと
して、資源消費オブジェクトへアクセスすることを
可能にする
• 資源消費コンテナクラスには、資源消費コンテナ
型同士の加算、減算、float型との乗算、除算が
定義される
• また、資源消費コンテナクラスには、calcCost()な
ど、コストオブジェクトクラスの機能の多くが委譲
される
資源消費コンテナ同士の加算
材料A
5
材料B 材料C
10
20
+
材料A
5
材料C 材料D
10
20
=
材料A
10
材料B 材料C 材料D
10
30
20
資源消費コンテナとfloat型の掛算
材料A
10
材料B 材料C 材料D
10
30
20
×
5
=
材料A
50
材料B 材料C 材料D
50
150
100
OOCMクラス図
OOCMの利用例
• 製品原価計算(全部原価計算)
• 製品原価情報の対話的ブレークダウン
1)製品原価構成要素の対話的展開
2)製品原価にしめる特定活動の
物量データおよびコストの抽出
• 利益計画用の原価総額の計算
利益計画用のシミュレーション
製品原価ブレークダウンの応用例
• 通常の製品単位原価の計算
float unitcost = productA.calcCost();
• 使用材料種類ごとの総消費量の取得
ResouceUsageContainer rucon =
productA.getOriginalResource();
製品原価ブレークダウンの応用例
続き
• 特定プロセスにおける直接資源消費の取得
ResourceUsageContainer rucon =
plan.getDirectResourceUsage(processK);
• 特定プロセスにおける特定製品のための資源消
費の取得
ResourceUsageContainer rucon =
product.getDirectResourceUsage(processK)
;
利益計画への応用例
• 各コストオブジェクト型のオブジェクトやプ
ロセス型のオブジェクトは、変動費用と固
定費用の2つのResourceUsageContainerを
もつ。コストオブジェクト階層のルートに対
してgetTotalVariableResourceUsage()メソッ
ドを発行し、プロセス階層のルートにたいし
ては,getTotalFixedResourceUsage()メソッド
を発行 ⇒両者の返し値を合算
代替的単価の応用
• 単価データは資源オブジェクトのみが保有
する。資源消費オブジェクトは資源オブ
ジェクトへの参照のみを保持し、単価デー
タをもたない。したがって、資源オブジェクト
の単価を切り替えることにより、代替的な
製品原価を計算できる。たとえば環境の急
激な変化時の実際原価の近似値を即座に
計算することができる
オブジェクト指向原価計算に
本質的に向いていないこと
• FIFO、LIFOなどの適用
⇒透明性を阻害
• 前期の実際単価を含む転がし計算
⇒透明性を阻害
現在開発中のプロトタイプの課題
• 直接労務費、製造間接費への対応
• 原価計算対象クラスの拡張(任意のアウトプット
を設定できるフィールドの追加、消費量の単位あ
たり換算機能の追加)
• 展開深度の指定
• 変動的資源消費と固定的資源消費のそれぞれ
に別のコンテナを用意する
• 複数のコストオブジェクト階層、複数のプロセス
階層への対応
現在開発中のプロトタイプの課題2
• 指定したプロセス以下に属する資源消費
へのマーキング機能
• 直接的・間接的自己消費への対応
• 実績計算への対応
• GUIによる視覚化
直接労務費・製造間接費への対応
• 現在のソースコードは、直接材料費部分に
しか対応していないため、直接労務費、製
造間接費にも対応させる。システムをでき
るだけシンプルに保つため、現在の
MateriaPurchasedクラスを、さらに一般化し
てOriginalResourceクラスとして作りなおす。
原価計算対象クラスの拡張
• 今まで、原価計算対象クラスは、アウトプット1単
位あたりの資源消費をもつようにしていたが、コ
ストオブジェクト階層に位置づけられる「部門クラ
ス」、「コストセンター」、「活動」にも応用可能なよ
うに、任意のアウトプット量を設定できるようにす
る。ただし上位の原価計算対象クラスのオブジェ
クトから呼ばれるときは、アウトプット1単位あたり
に換算した消費量をもつ資源消費を資源消費コ
ンテナにいれて返すようにする。
展開深度の指定
• たとえば部門で消費される資源について、
より上位のコストオブジェクトからの資源情
報提示要求についてさらに配下のコストオ
ブジェクトに展開要求を出すかどうかを指
定できるようにする。
変動的資源消費と固定的資源消費の
それぞれに別のコンテナを用意する
• 原価計算対象クラスおよびプロセスクラスでもつ
資源消費コンテナは、変動的資源収容のコンテ
ナと固定的資源収容のコンテナのふたつをもつ
ようにする。一期間の費用総額を計算するときに
は、コストオブジェクト階層のルートから、
getTotalVariableResourceUsage()メソッドを発行し
て、変動的資源消費のみを収集した資源消費コ
ンテナを取得し、ついでプロセス階層のルートに
たいして、getTotalFixedResourceUsage()メソッド
を発行し、固定費の総額を取得し、合算する。
複数のコストオブジェクト階層
複数のプロセス階層への対応
• 別々のルートをもつ複数のツリー構造を定
義できるようにする
指定したプロセス以下に属する
資源消費へのマーキング機能
• 一定の生産計画を所与として特定のプロ
セスにおける消費される資源の種類と消
費量を得ることができるように、計算に先
立ち、特定のプロセスに属する資源消費で
あることをマークできるようにする。
直接的・間接的自己消費への対応
• 資源消費の直接的および間接的還流に対
応できるようにする。
実績計算への対応
• 仕掛品在庫の対応、前期の物量関係と当
期の物量関係の混在の処理
GUIによる視覚化
• MVCにもとづき直感的なGUIを開発する
■コストオブジェクトナビゲータ
■プロセスナビゲータ
たとえばJava SwingのJtreeを使用
オブジェクト指向原価計算に関する
ドイツ文献
• Hans Schmitz, Objektorientierte Konzepte für
Kosteninformatiossysteme: Eine
Eignungsprüfung für die computerintegrierte Fertigung, Wiesbaden 1997.
• Herrad Schmidt, Objektorientierte
Entwicklung wiederverwendbarer
Baustaine für betriebliche
Anwendungssysteme, Heidekberg 1997.