今回は、見積りツール(Xradian)でのデータファンクションの取扱について説明していきます。
FP計測を行う上で、まずファンクションの識別を行う必要があります。
ファンクションとしては、大きくデータファンクションとトランザクションファンクションが存在しますが、まずはデータファンクションの取扱について説明します。
データファンクションには、内部論理ファイルと外部インタフェースファイルが存在することは、「IFPUG法でのFP算出」にて説明しました。
内部論理ファイル(ILF)とはユーザが識別できる(論理的な⇒物理的データ(エンティティ)は除外します)データや制御情報のことです。
外部インタフェースファイル(EIF)とはユーザが識別できる(論理的な⇒物理的なデータ(エンティティ)は除外します)データや制御情報のことです。
Xupperでデータファンクションの識別する方法としては、以下の案を検討しました。
① ビジネスフロー図のデータオブジェクト
② ビジネスフロー図のユーザビューオブジェクト
③ エンティティ関連図のエンティティ
① ビジネスフロー図のデータオブジェクト
ビジネスフロー図を作成ことにより、画面入力系プロセスから入力されたデータや、画面照会系プロセスで照会するデータ、帳票出力系プロセスの入力となるデータ等、どのようなデータが必要となるのかを明確にしていきます。
このデータオブジェクトをデータファンクションとして取り扱ってはどうかという案です。
ユーザが識別できるデータという観点からは、ビジネスフロー図に定義されたデータオブジェクトが最も近いのではないかと思いますが、このデータオブジェクトは、データ項目を定義することができませんので、データファンクションの複雑度を判定することができません。
② ビジネスフロー図のユーザビューオブジェクト
ビジネスフロー図のデータオブジェクトでは、データ項目と識別することができないため、データファンクションの複雑度を判定することができないという欠点があります。そこで、ビジネスフロー図上に定義するユーザビューオブジェクトをデータファンクションとして識別するという案です。
このユーザビューについては、どのようなデータ項目が必要なのかを定義することが可能ですので、複雑度の判定が行えるのではないかと考えたわけです。
また、ビジネスフロー図を記述することで定義していきますので、ユーザ視点から捉えたオブジェクトであると考えることもできます。
しかしながら、ビジネスフロー図上に定義するユーザビューというのは、手書きの伝票・帳票、ワープロで作成した帳票を意味しており、FP法で予定しているデータオブジェクトとはやはり概念が異なるということで、この案は採用には至りませんでした。
③ エンティティ関連図のエンティティ
最後にエンティティ関連図を作成することで洗い出すエンティティをデータファンクションにするという案です。
エンティティには当然、データ項目(属性)を定義することができますので、複雑度の判定を行うことができます。
また、Xupperのエンティティ関連図では、論理目的のエンティティと物理目的のエンティティを定義することが可能となっています。
物理目的のエンティティは、処理(プログラム)に必要なデータや非機能要件を満足するために必要となるデータのことを意味し、論理目的エンティティとは、業務を遂行する上で必要となるデータ(ユーザにとって必要なデータ)ということを意味しています。
この論理目的エンティティをデータファンクションとして識別すればいいと考えたわけです。
エンティティ関連図で定義したエンティティをデータファンクションとして取り扱ってはどうかという案です。
上記の内容から、見積りツール(Xradian)では、(論理)エンティティをデータファンクションとして識別するという仕様になっています。
※コメント投稿者のブログIDはブログ作成者のみに通知されます