エンティティ項目定義

業務レベル

  • エンティティ項目名(日本語)
    • エンティティ項目の日本語名。
    • javadocのフィールド説明の文頭なる。業務レベルでの説明をあえてjavadocに入れることにより、業務レベルと実装レベルの乖離の発見を容易にするというねらいがある。
    • 顧客に対して適切な業務用語をヒアリングすることにより、エンティティ項目名の名前と内容のギャップを最小にするというねらいがある。
  • エンティティ項目名(英語)
    • エンティティ項目の英語名。
    • 顧客に対して適切な業務用語(英語)をヒアリングすることにより、適切なフィールド名を導くというねらいがある。
  • 説明
    • エンティティ項目の説明。
    • javadocのフィールド説明の本文となる。業務レベルでの説明をあえてjavadocに入れることにより、業務レベルと実装レベルの乖離の発見を容易にするというねらいがある。
  • エンティティ項目使用例
    • エンティティ項目の具体的な使い方の例を示す。(例:1であれば毎週、3であれば3週間に一回となる。)
  • 初期値仕様
    • 初期値の仕様。「なし」もしくは「何らかの値」を指定する。
    • 業務的な視点で記述する。例えば「日付」という表現はよいが、「Date型の値」というようなプログラミング言語を意識した表現は使用不可。
    • 実装を制限するねらいがある。初期値仕様が「なし」の場合はフィールド型としてプリミティブ型を選ぶことが不可能かつ、初期値実装が自動的にnullになる。
  • 設定なしの意味
    • 以下のロジックが成立する。
      • エンティティ項目が「設定なし時の意味」を持たない場合、必ず値が設定される。
    • 実装を制限するねらいがある。「設定なし時の意味」がない場合は、java型がプリミティブ型になるか、プリミティブ型でなければ自動的にsetterにnullチェックが入るよう制限をかける。また、「設定なし時の意味」がある場合は、プリミティブ型を選択できないよう制限する(nullがありえないため)。
  • エンティティ項目設定時制
    • エンティティ項目を設定する場合の制約。(例:1-52の間であること。)

実装レベル

  • javaフィールド名
    • javaのフィールド名
  • java
  • エンティティ項目設定時制約評価式
    • setter/validator用バリデーション評価式(例:duration.longValue() >= 0)
  • 初期値実装
    • 初期値のjavaレベルの表現。(例:new Long(1))
    • ソースの初期化部分にそのまま採用される。(上記が実際にソース上に反映した例:private Long number = new Long(1);)