460 likes | 562 Views
IT 社会における 原価計算研究者の役割. 2002 年6月8日 於青山学院大学 産学連携コストフォーラム 尾畑 裕(一橋大学). 研究者に課せられた役割1. コストシステムの基礎理論を踏まえ、 経営者のニーズを取り込み、 情報システムの観点をも考慮して 一般的コストモデルを提案 ⇒研究者の恣意性をチェック するために産学連携が必要. 研究者に課せられた役割2. コストシステムと他のシステムとのインターフェイスの標準仕様を提案 ⇒ 産学連携 の必要性. オブジェクト指向コストモデルの実験. 尾畑研究室における取り組み
E N D
IT社会における原価計算研究者の役割 2002年6月8日 於青山学院大学 産学連携コストフォーラム 尾畑 裕(一橋大学)
研究者に課せられた役割1 • コストシステムの基礎理論を踏まえ、 • 経営者のニーズを取り込み、 • 情報システムの観点をも考慮して • 一般的コストモデルを提案 ⇒研究者の恣意性をチェック するために産学連携が必要
研究者に課せられた役割2 • コストシステムと他のシステムとのインターフェイスの標準仕様を提案 ⇒産学連携 の必要性
オブジェクト指向コストモデルの実験 • 尾畑研究室における取り組み • 尾畑によるオブジェクト指向コストモデル(OOCM)の提案 • オープンソース・オブジェクト指向コストシステムフレームワークのJavaによる構築実験 • http://obata.misc.hit-u.ac.jp/oocm/参照
オブジェクト指向コストモデル(OOCM)の提案オブジェクト指向コストモデル(OOCM)の提案 背景 • 柔軟で透明性の高いコストシステムの必要性 • コストについての直感的理解促進の必要性 • IT技術の劇的進展
オブジェクト指向コストモデル(OOCM)の特徴オブジェクト指向コストモデル(OOCM)の特徴 • 構造体としてのコスト • コストの骨組を形成する物量情報の透明性 • 複数の代替的コストオブジェクト階層と複数の代替的プロセス階層 • 複数の代替的視点、代替的シナリオに対応 • モデルとGUIの密接な対応による直感的視覚化
オブジェクト指向コストモデル(OOCM)の特徴1オブジェクト指向コストモデル(OOCM)の特徴1 • コストとは,コストオブジェクトに集計された要約数値のみを意味するのではなく,インプットとアウトプットの関係の階層構造そのものプロセスの情報を内部構造に包含した複雑な構造体
その意味は.... ⇒コストは1つの要約数値ではない。必要に応じてコストを構成する物量情報(末端の資源消費やプロセスについての情報)をコストオブジェクト型のオブジェクトから引き出せる。
OOCMの特徴2 • コスト情報は資源の物量的消費情報が骨組みを形成する 製品単位あたりに集計されてもコスト情報の骨格は物量情報であり、製品のコスト情報の内訳情報として物量情報が引き出せるように透明性が確保されなければならない
資源消費とは…. • 資源消費とは、OOCMを構成する最小単位であり、資源型のオブジェクトへの参照と消費量の情報からなる • ちなみに資源型のオブジェクトとは、資源インターフェイスを実現する ◎オリジナル資源型オブジェクト ◎コストオブジェクト型オブジェクト
コストオブジェクトと資源の同一視 資源 コストオブジェクト || 資源 コストオブジェクト
OOCMの特徴3 • 資源消費は、コストオブジェクト階層の少なくてもひとつに属すると同時に、プロセス階層の少なくともひとつにも帰属する。 • コストオブジェクトについては、複数の代替的コストオブジェクト階層に帰属させることができる。 • プロセスについても、複数の代替的プロセス階層に帰属させることができる。
コストオブジェクトの階層 • 全部原価計算を行いたいのか、それとも、計画生産量に対応した費用総額を知りたいのかによって、コストオブジェクト階層の組み方が変わってくる。また、伝統的な原価計算を行いたいのか、活動基準原価計算を行いたいのかによってもコストオブジェクト階層の組み方が変わってくる。そのため、複数の代替的なコストオブジェクト階層が定義される必要がある。
プロセスの階層 • 責任単位別のプロセス区分、小責任区分、中責任区分、大責任区分のような階層を構築するか、それとも、活動の種類ごとに区分した階層を構築するか、ここでも代替的なプロセス階層が定義される。
コストオブジェクトとプロセスの関係 • ABC・ABMにおいて、活動は、◎コストオブジェクトと考えるか、 ◎プロセスと考えるか、あるいは ◎コストオブジェクトでありかつプロセスであるかを決めなければならない (ABC・ABMではしばしば、コストオブジェクトとプロセスが混同されているのではないか)
OOCMの特徴4 • コストモデルは複数の代替的シナリオに対応することができる • 代替的単価のシミュレーション • 代替的なコストオブジェクト階層の構築
コストオブジェクト階層のルート • 各コストオブジェクト階層はルートを頂点にもつツリー構造になる。各製品の生産量を資源消費オブジェクトに設定し、その資源消費オブジェクトを生産計画というコストオブジェクトに帰属させると、生産計画オブジェクトはコストオブジェクト階層のルートとなる。
代替的コストオブジェクト階層の構築例 • 全部原価計算用のコストオブジェクト階層 • 活動基準によるコストオブジェクト階層 • 無形資産認識型コストオブジェクト階層
OOCMの特徴5 • OOCMに対応するGUI開発によりコストを直感的に展開して表示させることができる ⇒コストオブジェクトナビゲータ プロセスナビゲータ ツリー表示によりコストオブジェクト階層とプロセス階層を視覚化
OOCMの基本構造 • 基本単位としての資源消費オブジェクト • 同一資源消費オブジェクトのコストオブジェクトとプロセスへの帰属 • コストオブジェクトとオリジナルな資源を同一視(資源インターフェイス) • メソッドの再帰的呼び出しによるコスト計算(単純なロジック、単純なプログラム)
コストオブジェクトとプロセスの構造 • コストオブジェクト型オブジェクトは、複数の資源消費オブジェクトを格納する資源消費コンテナをもつ。 • プロセスクラスのオブジェクトもまた、複数の資源消費オブジェクトを格納するための資源消費コンテナをもつ
資源消費コンテナ • このコンテナは、資源への参照をインデックスとして、資源消費オブジェクトへアクセスすることを可能にする • 資源消費コンテナクラスには、資源消費コンテナ型同士の加算、減算、float型との乗算、除算が定義される • また、資源消費コンテナクラスには、calcCost()など、コストオブジェクトクラスの機能の多くが委譲される
資源消費コンテナ同士の加算 材料A 材料B 材料C 51020 + = 材料A 材料C 材料D 51020 材料A 材料B 材料C 材料D 101030 20
資源消費コンテナとfloat型の掛算 材料A 材料B 材料C 材料D 101030 20 ×5= 材料A 材料B 材料C 材料D 5050150 100
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 computer-integrierte Fertigung, Wiesbaden 1997. • Herrad Schmidt, Objektorientierte Entwicklung wiederverwendbarer Baustaine für betriebliche Anwendungssysteme, Heidekberg 1997.