オブジェクト指向原価計算の意義と
その応用
一橋大学大学院商学研究科
尾 畑 裕
オブジェクト指向とは
カプセル化されたモジュール
でシステムを開発するアプ
ローチ
オブジェクト指向の意義
 開発者の観点から
 システムの利用者の観点から
本日の報告はこちらに焦点
開発者の観点から
 人間が一度に理解できる量には限界があ
る ⇒モジュール化
 1つのモジュールの変更が他のモジュー
ルに変更をもたらさない
⇒厳密に定義されたインターフェイス
をもち、内部形式をカプセル化
開発者の観点から(つづき)
 再利用可能性
このメリットがしばしば強調。しかし
再利用できる部品を作るのは難しい
 既存システムの活用
既存のレガーシーシステムのラッピングによ
るEAIの実現
システムの利用者の観点から
 バグの少ない信頼性の高いシステムを利用
できる
 開発段階におけるユーザの関与の容易性
 直感的な理解を助けるシステムが作れる
信頼性の高いシステム
 利用者が間接的に享受できるメリット
 オブジェクト指向のアプローチで開発された
システムだけが、信頼性が高いわけではな
い
開発段階における
ユーザの関与の容易性
 UMLの利用
UMLは、厳密にシステムを定義できる
ビジュアルな表現を使うためにその意味内
容が理解がし易い
⇒開発者同士のみならず、ユーザーと開
発者の間のコミュニケーションを促進する
ファウラーの勘定パターン
<<抽象>>
勘定
*
*
要約勘定
明細勘定 1
*
+対象エントリー
エントリー
1
+対象エントリー
トランザクション
2..n
1
直感的な理解を助けるシステ
ムが作れる
 モデルとユーザーインターフェイスの対応
ここが今日の本題に関係
オブジェクト指向のシステムの
ディメリット
 現状では、
パーフォーマンスに問題あり
将来的には解決
次世代のシステム
オブジェクト指向原価計算とは
尾畑の理解
オブジェクトモデリングの手法により原価計
算の基本構造をモデル化したオブジェクトモ
デルに基づいて開発される原価計算システ
ム
オブジェクト指向原価計算の
先行研究
 ほとんどドイツ文献
 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.
 Marion Steven und Peter Letmathe,
Objektorientierte Kostenrechnung,
Kostenrechnungspraxis, 44.Jg. 2000, H4.
なぜ、ドイツ
 原価計算の基本モデルについてユニークな多用
な提案が存在していた
 物量情報と価格情報を分離するモデルがすでに
存在していた(ラスマン等経営モデル)
 基礎計算の応用計算を分離し、オリジナルデータ
を蓄積して、目的に応じて原価データを構築する
アプローチが存在していた(リーベル)
このグループは、データベースと原価計算の関係を長年
研究してきていた
尾畑の
オブジェクト指向原価計算
 透明性を追求するという目的意識は、先行
研究と共有
 モデル自体は、既存モデルを拡張したもの
ではなく、尾畑の原価計算観に基づき独自
に考案したもの
モデリングは主観的な解釈を含む
オブジェクト指向原価計算
によって可能になること
 製品原価のブレークダウン
(OLAP的な使い方)
 価格や条件を変更してのシミュレーション
 原価情報を見る視点を自由に切り替えるこ
とができる
 GUIにより原価情報を視覚的に表示し、原
価についての直感的理解を促進する
製品原価のブレークダウン
 製品原価は1つの要約数字ではない
 利用者からのさまざまな内訳情報の表示要
求にこたえることができる
例
 特定のプロセスで行われた資源消費の占
める割合を表示
 特定の資源の消費量を表示
 特定の資源(資源グループ)の製品原価に
占める割合を表示
 原価計算対象階層のどのレベルを起点とし
ても問い合わせが可能
価格や条件を変更してのシ
ミュレーション
 製品構成情報、物量情報、価格情報の分
離
 製品構成、物量情報は過去の実績、価格を
予想される予定価格や悲観的価格などさま
ざまに切り替えが可能
例
 特定の材料の価格が急激に変化したときの
製品原価への影響をシミュレートすることが
できる
 為替相場の変動が輸入原料の調達価格を
通じてどのように製品原価に影響をあたえ
るかをシミュレートできる
 工程改善による製品原価への影響をシミュ
レートできる
原価情報を見る視点を自由に
切り替えることができる
 Process Viewと
Cost Object View
を自由に切り替えることができる
プロセスの側から原価計算対象の情報を引
き出すことができ、原価計算対象の側から
プロセスについての情報を引き出すことが
できる
GUIによる原価情報の視覚化
 Cost Object Navigator
 Process Navigator
 製品構成のツリー構造をグラフィカルに表
示し、そのツリー構造をたどりながら、焦点
をあてたい原価計算対象を選択して、内訳
情報を表示させたり、プロパティウィンドウに
より価格の変更などを行うことができる
GUIの効果
 経営者がシステムと対話しながら直接操作
する
1つの要約数値でもなく、電話帳のような厚
い冊子でもない
 教育目的にも使える
例 Joker
オブジェクト指向原価計算の
基礎構造
 まずは、全体像を、UMLによる図で確認し
てみよう
オブジェクト指向原価計算の
理論的基礎
 オブジェクト指向とは
 資源消費の諸属性
 原価計算対象と資源の連鎖
 原価計算対象階層とプロセス階層
オブジェクト指向原価計算の
理論的基礎(つづき)
 線型性の仮定
 原価発生原因原則、資源要求原則、原価
作用原則
 製品原価の2つの役割
オブジェクト指向とは
 手続き指向 vs. オブジェクト指向
データとプログラムの分離(手続き指向)
データとプログラムをカプセル化(オブジェクト指
向)
 特定の機能、責務をもつものをクラスとしてまとめ
る
 任せられるものは人に任す
内部をシンプルに保つ
同じコードを何度も書かない
オブジェクト指向とは(続き)
 任せたら、やり方に口をださない
 厳密にインターフェイスを定義して、同じイン
ターフェイスをもつものを同一視する(ポリモ
ルフィズム)
 再帰的構造
自分自身を呼び出すことで再帰的構造を
作り、複雑なことをシンプルに行う。
オブジェクト指向を理解する上
でのキーワード
 オブジェクト
あらかじめ定義されたメソッドによりその機能が利
用可能な、メモリー上に展開された(あるいはハー
ドディスク上に永続化された)個々の実体
 クラス
オブジェクトを生み出す雛形
 クラス図
UMLのもっとも重要な図で、クラス間の関係を視
覚的に表示する図
クラス図
ク ラ ス 名
属
操
性
作
クラスの例
原価計算対象
-
原価計算対象ID : int
アウトプット : float
予定アウトプット : float
実績アウトプット : float
キャパシティ : float
直接資源消費コンテナ : 資源消費コンテナ
能力要求資源消費コンテナ : 資源消費コンテナ
負担計算用資源消費コンテナ : 資源消費コンテナ
+
+
+
+
+
+
+
+
+
原価を計算する() : float
所要資源量取得() : 資源消費コンテナ
割合表示(資源グループコード : int) : float
特定プロセス資源消費量取得(プロセス指定 : プロセス) : 資源消費コンテナ
資源グループ別割合表示(詳細レベル : int) : void
直接資源消費追加(資源消費要素 : 資源消費) : void
能力要求資源消費追加(資源消費要素 : 資源消費) : void
負担計算用資源消費追加(資源消費要素 : 資源消費) : void
アウトプット設定(アウトプット種類指定 : String) : void
クラスもよるデータ型の定義の例
(尾畑のオリジナルではないが)
 クラスは自分で自由に定義することができ
る
 たとえば、基本型では、日本円で1,000円は
1,000と書くしかなく、
1,000円と100ドルを加えることはできない
しかし、金額クラスを定義すると……
金額クラスの例
金額
+
+
+
+
加える(ある金額 : 金額) : 金額
差し引く(ある金額 : 金額) : 金額
掛ける(ある数字 : float) : 金額
換算(ある通貨単位 : String) : 金額
例
 100JPY+20USD=(100JPY,20USD)
 (100JPY,20USD)+10JPY=(110JPY,20USD)
金額をこのように持つことで、外貨建ての
原料を現在の為替相場で換算した原価を
即時に計算できる
金額オブジェクトは、為替オブジェクトに問い合わ
せて、外貨換算率の情報をうる
資源消費の諸属性
 いつ、どこで、どのように
(どういうプロセスで)
 なんのために(目的)
 どの資源が
 どれだけ
 消費されたか
資源消費クラス
 資源消費クラスは、消費対象資源への参照
と消費量を保持する
 プロセスとの関連は、プロセスクラスのオブ
ジェクトに自分自身への参照を保持される
ことにより表す
 目的との関連は、原価計算対象クラスのオ
ブジェクトに自分自身への参照を保持され
ることにより表す
原価計算対象と資源の連鎖
資源
原価計算対象
資源型
原価計算対象
シーケンス図
原価計算対象階層と
プロセス階層
プロセス
階層
資源
消費
原価計算対象階層
原価計算対象階層と
プロセス階層(つづき)
 資源消費オブジェクトは、すくなくとも1つの
原価計算対象階層とすくなくとも1つのプロ
セス階層に属する
線型性の仮定
 原価計算対象オブジェクトと資源消費オブジェクト
の間には線型の関係がある
 原価理論的背景
ルンメル「統一的原価計算」比例性を前提
グーテンベルク 制限性(B型生産関数)
資源消費は、原価計算対象とプロセスの両方に
帰属するので、プロセス変数を参照して単位当た
り消費量を変化させるように拡張することも可能
原価発生原因原則、資源要求
原則、原価作用原則
 直接材料 (原価発生原因原則
Verursachungsprinzip)
直接資源消費コンテナ
 潜在要素(設備、労働力等)(資源要求原則
Beanspruchungsprinzip)
能力要求資源消費コンテナ
 直接因果関係のない間接費配賦(原価作用原則
Kosteneinwirkungsprinzip)
負担計算用資源消費コンテナ
3種類のコンテナ
 直接資源消費コンテナ
直接材料の所要量計算に使う
 能力要求資源消費コンテナ
能力要求量が既存能力内におさまるかどう
かをチェックするのに使う
 負担計算用資源消費コンテナ
全部原価計算の配賦計算用
製品原価の2つの見方
 期間的総費用計算の用具
⇒このモデルは従来からあった。
直接原価計算による期間的な費用発生総額のシミュレート
ラスマンの経営モデルもこのタイプ)
 資源消費を原価計算対象に関連づけるというひと
つの視点
製品単位あたりコストは単位あたりの資源消費を直感的に
把握するのに役立つ
オブジェクト指向原価計算の
苦手分野は
 一原価計算期間内において複数の価格が
混在する場合(FIFO,LIFO)
 在庫の存在
とくに実際原価の転がし計算
これらは透明性を阻害する
したがって制度会計とはむすびつきにくい
ダウンロード

報告用スライドをダウンロードする