- 設計
機能一覧の書き方とテンプレート 機能IDの採番と粒度の決め方
機能一覧とは、システムが持つ機能を1行に1つずつ並べ、機能ID・分類・機能名・種別・概要・利用者・優先度を表にした設計書です。 画面設計書・帳票設計書・バッチ設計書・テスト仕様書がすべて機能IDで結びつくため、後の工程の目次の役割を持ちます。
機能一覧を書くときに迷いやすいのは、「機能IDをどう振るか」と「どの細かさで1行にするか」の2点です。この記事では、表計算ソフトに貼れるテンプレートを架空の予約管理システムの記入例30行で示したうえで、機能IDの採番ルール3方式の比較と、粒度をそろえる判断基準を表にまとめます。件数の集計と重複IDの検出を Python で行う例も、出力つきで載せています。
確認環境:Ubuntu 24.04 / Python 3.11.15(標準ライブラリの csv・re・collections のみ使用)
機能一覧の早見表
| 決めること | 基本の答え |
|---|---|
| 1行の単位 | 1機能=1画面/1帳票/1バッチ/1API |
| 列(項目) | 機能ID・大分類・中分類・小分類・機能名・種別・概要・利用者・優先度 |
| 機能IDの形 | 分類の略号+種別の記号+連番(例:RSV-S01) |
| 機能名の付け方 | 「対象+操作」の体言止め(予約登録、備品一覧) |
| 種別 | 画面・帳票・バッチ・API の4つから1つ |
| 概要 | 「何を・どうする」を1文で。40字程度まで |
| 並び順 | 大分類 → 種別 → 連番 |
| 欠番の扱い | 削除した機能のIDは再利用しない |
| 点検 | 重複ID、IDと分類・種別の対応、空欄を機械的に確かめる |
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「機能一覧の書き方とテンプレート 機能IDの採番と粒度の決め方」
機能一覧表の項目一覧
| 項目 | 書く内容 | 書き方のきまり | 必須 |
|---|---|---|---|
| 機能ID | 機能を一意に表す記号 | 採番ルールに従う。一度振ったら変えない | ○ |
| 大分類 | サブシステム、業務のまとまり | 3〜7個程度に収める | ○ |
| 中分類 | 扱う対象(予約、備品、利用者など) | 名詞で書く | ○ |
| 小分類 | 操作(登録、変更、照会、出力など) | 動作を表す語を一覧にして統一する | ○ |
| 機能名 | 機能の呼び名 | 「対象+操作」。画面名・帳票名と一致させる | ○ |
| 種別 | 画面/帳票/バッチ/API | 1機能に1つだけ | ○ |
| 概要 | 機能が行うこと | 1文で書く。条件や例外は設計書に書く | ○ |
| 利用者 | その機能を使う人、または起動するもの | 一般利用者/管理者/システム など | ○ |
| 優先度 | 作る順番の目安 | 高/中/低。基準を凡例に書く | ○ |
| 備考 | 関連する機能ID、開発の段階、変更の履歴 | 自由記述 | ― |
小分類に使う語は、あらかじめ決めておくと表記がそろいます。
| 小分類の語 | 意味 | 似た語との使い分け |
|---|---|---|
| 登録 | 新しいデータを作る | 「追加」「新規作成」は使わず「登録」に統一 |
| 変更 | 既存のデータを書き換える | 「更新」「編集」は使わず「変更」に統一 |
| 取消・停止 | データを無効にする | 物理的に消す場合だけ「削除」 |
| 照会 | 一覧または詳細を表示する | 条件を指定するものは「検索」 |
| 出力 | 帳票やファイルを作る | 画面表示は「照会」 |
| 取込 | ファイルや他システムのデータを入れる | ― |
| 送信 | メールや通知を送る | ― |
テンプレートと記入例:予約管理システムの30機能
架空の「社内備品の予約管理システム」を題材にした記入例です。機能IDは「大分類の略号3文字-種別の記号1文字+連番2桁」で振っています(RSV=予約管理、ITM=備品管理、USR=利用者管理、CMN=共通/S=画面、R=帳票、B=バッチ、A=API)。
| 機能ID | 大分類 | 中分類 | 小分類 | 機能名 | 種別 | 概要 | 利用者 | 優先度 |
|---|---|---|---|---|---|---|---|---|
| RSV-S01 | 予約管理 | 予約 | 検索 | 空き状況検索 | 画面 | 備品と期間を指定して空き状況を表示する | 一般利用者 | 高 |
| RSV-S02 | 予約管理 | 予約 | 登録 | 予約登録 | 画面 | 備品・期間・数量・目的を入力して予約を申請する | 一般利用者 | 高 |
| RSV-S03 | 予約管理 | 予約 | 変更 | 予約変更 | 画面 | 申請中の予約の期間と数量を変更する | 一般利用者 | 高 |
| RSV-S04 | 予約管理 | 予約 | 取消 | 予約取消 | 画面 | 自分の予約を取り消す | 一般利用者 | 高 |
| RSV-S05 | 予約管理 | 予約 | 照会 | 予約一覧 | 画面 | 自分の予約を状態別に一覧表示する | 一般利用者 | 高 |
| RSV-S06 | 予約管理 | 承認 | 承認 | 予約承認 | 画面 | 申請中の予約を承認または差し戻す | 管理者 | 高 |
| RSV-R01 | 予約管理 | 帳票 | 出力 | 予約票出力 | 帳票 | 承認済みの予約1件を予約票としてPDFに出力する | 一般利用者 | 中 |
| RSV-R02 | 予約管理 | 帳票 | 出力 | 月次利用状況表出力 | 帳票 | 備品別・部署別の月間利用日数を出力する | 管理者 | 中 |
| RSV-B01 | 予約管理 | 通知 | 送信 | 利用前日リマインド通知 | バッチ | 利用開始日の前日に予約者へメールを送る | システム | 中 |
| RSV-B02 | 予約管理 | 通知 | 送信 | 返却期限超過通知 | バッチ | 利用終了日を過ぎた未返却の予約を管理者へ通知する | システム | 中 |
| RSV-A01 | 予約管理 | 連携 | 取得 | 空き状況取得API | API | 備品コードと期間から空き状況を返す | システム | 低 |
| RSV-A02 | 予約管理 | 連携 | 登録 | 予約登録API | API | 社内ポータルからの予約申請を受け付ける | システム | 低 |
| ITM-S01 | 備品管理 | 備品 | 照会 | 備品一覧 | 画面 | 備品を区分・状態で絞り込んで一覧表示する | 管理者 | 高 |
| ITM-S02 | 備品管理 | 備品 | 登録 | 備品登録 | 画面 | 備品コード・名称・区分を登録する | 管理者 | 高 |
| ITM-S03 | 備品管理 | 備品 | 変更 | 備品変更 | 画面 | 備品の名称・区分・備考を変更する | 管理者 | 高 |
| ITM-S04 | 備品管理 | 備品 | 停止 | 備品利用停止 | 画面 | 修理中などの備品を予約対象から外す | 管理者 | 中 |
| ITM-R01 | 備品管理 | 帳票 | 出力 | 備品台帳出力 | 帳票 | 全備品の一覧を表計算ファイルに出力する | 管理者 | 中 |
| ITM-B01 | 備品管理 | 取込 | 登録 | 備品マスタ一括取込 | バッチ | CSVファイルから備品をまとめて登録・更新する | 管理者 | 低 |
| ITM-B02 | 備品管理 | 棚卸 | 作成 | 棚卸用データ作成 | バッチ | 期末に備品ごとの所在と状態の一覧を作成する | システム | 低 |
| ITM-A01 | 備品管理 | 連携 | 取得 | 備品情報取得API | API | 備品コードから名称・区分・状態を返す | システム | 低 |
| USR-S01 | 利用者管理 | 利用者 | 照会 | 利用者一覧 | 画面 | 利用者を部署・状態で絞り込んで一覧表示する | 管理者 | 高 |
| USR-S02 | 利用者管理 | 利用者 | 登録 | 利用者登録 | 画面 | 氏名・部署・メールアドレスを登録する | 管理者 | 高 |
| USR-S03 | 利用者管理 | 利用者 | 変更 | 利用者変更 | 画面 | 利用者の部署と有効・無効を変更する | 管理者 | 高 |
| USR-S04 | 利用者管理 | 権限 | 設定 | 権限設定 | 画面 | 利用者に一般・管理者の権限を割り当てる | 管理者 | 中 |
| USR-B01 | 利用者管理 | 取込 | 登録 | 人事データ取込 | バッチ | 毎日夜間に人事システムの異動情報を反映する | システム | 中 |
| USR-A01 | 利用者管理 | 連携 | 取得 | 利用者情報取得API | API | 利用者IDから氏名と部署を返す | システム | 低 |
| CMN-S01 | 共通 | 認証 | ログイン | ログイン | 画面 | IDとパスワードで認証する | 一般利用者 | 高 |
| CMN-S02 | 共通 | メニュー | 表示 | メニュー | 画面 | 権限に応じた機能の入口を表示する | 一般利用者 | 高 |
| CMN-S03 | 共通 | お知らせ | 登録 | お知らせ管理 | 画面 | 利用者向けのお知らせを登録・公開する | 管理者 | 低 |
| CMN-B01 | 共通 | ログ | 整理 | 操作ログ保管整理 | バッチ | 保管期間を過ぎた操作ログを退避して削除する | システム | 低 |
表計算ソフトに貼れるタブ区切りです。1行目が見出しです。このままファイル(functions.tsv)に保存すると、後ろの Python スクリプトで集計できます。
機能ID 大分類 中分類 小分類 機能名 種別 概要 利用者 優先度
RSV-S01 予約管理 予約 検索 空き状況検索 画面 備品と期間を指定して空き状況を表示する 一般利用者 高
RSV-S02 予約管理 予約 登録 予約登録 画面 備品・期間・数量・目的を入力して予約を申請する 一般利用者 高
RSV-S03 予約管理 予約 変更 予約変更 画面 申請中の予約の期間と数量を変更する 一般利用者 高
RSV-S04 予約管理 予約 取消 予約取消 画面 自分の予約を取り消す 一般利用者 高
RSV-S05 予約管理 予約 照会 予約一覧 画面 自分の予約を状態別に一覧表示する 一般利用者 高
RSV-S06 予約管理 承認 承認 予約承認 画面 申請中の予約を承認または差し戻す 管理者 高
RSV-R01 予約管理 帳票 出力 予約票出力 帳票 承認済みの予約1件を予約票としてPDFに出力する 一般利用者 中
RSV-R02 予約管理 帳票 出力 月次利用状況表出力 帳票 備品別・部署別の月間利用日数を出力する 管理者 中
RSV-B01 予約管理 通知 送信 利用前日リマインド通知 バッチ 利用開始日の前日に予約者へメールを送る システム 中
RSV-B02 予約管理 通知 送信 返却期限超過通知 バッチ 利用終了日を過ぎた未返却の予約を管理者へ通知する システム 中
RSV-A01 予約管理 連携 取得 空き状況取得API API 備品コードと期間から空き状況を返す システム 低
RSV-A02 予約管理 連携 登録 予約登録API API 社内ポータルからの予約申請を受け付ける システム 低
ITM-S01 備品管理 備品 照会 備品一覧 画面 備品を区分・状態で絞り込んで一覧表示する 管理者 高
ITM-S02 備品管理 備品 登録 備品登録 画面 備品コード・名称・区分を登録する 管理者 高
ITM-S03 備品管理 備品 変更 備品変更 画面 備品の名称・区分・備考を変更する 管理者 高
ITM-S04 備品管理 備品 停止 備品利用停止 画面 修理中などの備品を予約対象から外す 管理者 中
ITM-R01 備品管理 帳票 出力 備品台帳出力 帳票 全備品の一覧を表計算ファイルに出力する 管理者 中
ITM-B01 備品管理 取込 登録 備品マスタ一括取込 バッチ CSVファイルから備品をまとめて登録・更新する 管理者 低
ITM-B02 備品管理 棚卸 作成 棚卸用データ作成 バッチ 期末に備品ごとの所在と状態の一覧を作成する システム 低
ITM-A01 備品管理 連携 取得 備品情報取得API API 備品コードから名称・区分・状態を返す システム 低
USR-S01 利用者管理 利用者 照会 利用者一覧 画面 利用者を部署・状態で絞り込んで一覧表示する 管理者 高
USR-S02 利用者管理 利用者 登録 利用者登録 画面 氏名・部署・メールアドレスを登録する 管理者 高
USR-S03 利用者管理 利用者 変更 利用者変更 画面 利用者の部署と有効・無効を変更する 管理者 高
USR-S04 利用者管理 権限 設定 権限設定 画面 利用者に一般・管理者の権限を割り当てる 管理者 中
USR-B01 利用者管理 取込 登録 人事データ取込 バッチ 毎日夜間に人事システムの異動情報を反映する システム 中
USR-A01 利用者管理 連携 取得 利用者情報取得API API 利用者IDから氏名と部署を返す システム 低
CMN-S01 共通 認証 ログイン ログイン 画面 IDとパスワードで認証する 一般利用者 高
CMN-S02 共通 メニュー 表示 メニュー 画面 権限に応じた機能の入口を表示する 一般利用者 高
CMN-S03 共通 お知らせ 登録 お知らせ管理 画面 利用者向けのお知らせを登録・公開する 管理者 低
CMN-B01 共通 ログ 整理 操作ログ保管整理 バッチ 保管期間を過ぎた操作ログを退避して削除する システム 低
優先度の凡例は、次のように表の近くに書いておきます。
| 優先度 | 基準 |
|---|---|
| 高 | これが無いと予約の申請から承認までが成り立たない |
| 中 | 無くても業務は回るが、手作業が増える |
| 低 | 次の段階に回しても支障がない |
機能IDの採番ルール3方式の比較
機能IDの振り方は、大きく3つの方式に分けられます。
| 方式 | IDの例 | 向いている規模 | 長所 | 気をつける点 |
|---|---|---|---|---|
| A. 通し連番 | F001、F002、F003 | 〜50機能 | 決めることが少なく、すぐ始められる | IDから内容が読み取れない。途中に機能を足すと並びが分類順でなくなる |
| B. 種別+連番 | SCR-001、RPT-001、BAT-001、API-001 | 50〜200機能 | 画面・帳票・バッチの設計書番号とそろえやすい | どの業務の機能かはIDからわからない |
| C. 分類+種別+連番 | RSV-S01、ITM-B02 | 100機能〜、複数チーム | IDだけで分類と種別がわかる。分類ごとに独立して採番できる | 分類の見直しでIDと分類が食い違うことがある。略号の一覧が必要 |
どの方式でも共通して決めておくルールは次の6つです。
| No | ルール | 理由 |
|---|---|---|
| 1 | 桁数を固定する(1 ではなく 01、001) | 文字として並べ替えたときに順番が保たれる |
| 2 | 一度振ったIDは変えない | 設計書・テスト・課題管理がIDで結びついている |
| 3 | 削除した機能のIDは欠番にし、再利用しない | 過去の資料の同じIDが別の機能を指すのを防ぐ |
| 4 | 連番の桁に余裕を持たせる | 1つの分類で99を超えそうなら3桁にする |
| 5 | 使う文字は半角英大文字・数字・ハイフンに限る | ファイル名やプログラムの識別子にそのまま使える |
| 6 | 略号の一覧(RSV=予約管理 など)を機能一覧の先頭に載せる | 読み手がIDを読み解ける |
途中に機能を足す可能性が高いときは、連番を10刻み(010、020、030)で振る方法もあります。間に 015 を入れられるので、並び順を保ったまま追加できます。
方式を選ぶ判定表
| 質問 | はい | いいえ |
|---|---|---|
| 機能は50個を超えそうか | BかCへ | Aで十分 |
| 複数のチームが同時に機能を追加するか | C(分類ごとに採番を任せられる) | AかB |
| 画面ID・帳票IDを機能IDと同じにしたいか | BかC | どれでもよい |
| 大分類が今後変わりそうか | AかB(IDに分類を含めない) | C |
粒度をそろえる判断基準
粒度の基本は「1機能=1画面/1帳票/1バッチ/1API」 です。設計書を1つ書く単位、テストで1つのまとまりとして確かめる単位と一致するので、工数の見積もりや進み具合の管理にもそのまま使えます。
| 種別 | 1機能の単位 | 数え方の例 |
|---|---|---|
| 画面 | 利用者が1つの目的を果たすひとまとまりの画面 | 入力→確認→完了は「予約登録」で1機能 |
| 帳票 | レイアウト1種類 | 予約票と月次利用状況表は別の機能 |
| バッチ | 起動の単位(ジョブ1つ) | 前日リマインドと期限超過通知は起動の時刻が違うので別 |
| API | エンドポイントと操作の組み合わせ1つ | 空き状況の取得と予約の登録は別 |
分ける・まとめるの判定表
迷ったときは、次の表に当てはめます。「分ける」が1つでも当てはまれば別の行にします。
| 観点 | 分ける | まとめる |
|---|---|---|
| 利用者・権限 | 使える人が違う(申請は一般利用者、承認は管理者) | 同じ人が同じ権限で使う |
| 画面の遷移 | 入口(メニューや一覧のボタン)が別にある | 入力→確認→完了のように必ず続けて通る |
| 操作の種類 | 登録・変更・取消のように結果が違う | 並べ替え・ページ送り・絞り込みのように同じ結果の見せ方が違うだけ |
| 帳票のレイアウト | 項目や並びが違う | 出力形式(PDFと表計算ファイル)だけが違う |
| バッチの起動 | 起動の時刻や周期が違う、片方だけ再実行することがある | 必ず続けて動き、片方だけ動かすことがない |
| 優先度・段階 | 作る時期が違う | 同じ時期に作る |
| 見積もり | 片方だけで数日以上かかる | あわせて1日未満 |
記入例に当てはめると、次のようになります。
| 迷う場面 | 判定 | 理由 |
|---|---|---|
| 予約登録と予約変更は同じ入力画面を使う | 分ける | 入口が別(新規ボタンと一覧の変更ボタン)で、変更には「申請中のみ」という条件がある |
| 予約登録の入力画面・確認画面・完了画面 | まとめる | 必ず続けて通り、利用者の目的は1つ |
| 予約一覧の絞り込み・並べ替え | まとめる | 同じ一覧の見せ方が違うだけ |
| 予約の申請と承認 | 分ける | 利用者と権限が違う |
| 月次利用状況表のPDF出力と表計算ファイル出力 | まとめる | レイアウトが同じで形式だけが違う |
| 前日リマインド通知と返却期限超過通知 | 分ける | 起動の条件と送り先が違う |
| 備品の登録画面とCSV一括取込 | 分ける | 種別が違う(画面とバッチ) |
粒度がそろっているかを数で確かめる
粒度のばらつきは、件数を数えると気づきやすくなります。目安として、次の3点を見ます。
- 大分類ごとの機能数に極端な差がないか(1つの大分類だけ数十個あるなら、分類の分割を考える)
- 「〜管理」「〜処理」のような広い名前の機能が残っていないか(登録・変更・照会に分けられる)
- 概要が1文で書けない機能がないか(書けないときは複数の機能が混ざっている)
Pythonで件数集計と重複IDを検出する
保存した functions.tsv を読み込み、種別ごとの件数、大分類×種別の件数、優先度ごとの件数を数え、機能IDの点検(重複、書式、分類・種別との対応、空欄)を行うスクリプトです。
import csv
import re
import sys
from collections import Counter
PREFIX = {"予約管理": "RSV", "備品管理": "ITM", "利用者管理": "USR", "共通": "CMN"}
KIND = {"画面": "S", "帳票": "R", "バッチ": "B", "API": "A"}
ID_PATTERN = re.compile(r"(RSV|ITM|USR|CMN)-[SRBA][0-9]{2}")
path = sys.argv[1]
with open(path, encoding="utf-8", newline="") as f:
rows = list(csv.DictReader(f, delimiter="\t"))
print(f"{path}: {len(rows)}機能")
# 1. 種別ごとの件数
kinds = Counter(r["種別"] for r in rows)
print("種別ごとの件数:", " / ".join(f"{k} {kinds[k]}" for k in KIND))
# 2. 大分類×種別の件数
print(f"{'大分類':<8}" + "".join(f"{k:>6}" for k in KIND) + f"{'計':>6}")
for major in PREFIX:
counts = [sum(1 for r in rows if r["大分類"] == major and r["種別"] == k) for k in KIND]
print(f"{major:<8}" + "".join(f"{c:>7}" for c in counts) + f"{sum(counts):>7}")
# 3. 優先度ごとの件数
prio = Counter(r["優先度"] for r in rows)
print("優先度ごとの件数:", " / ".join(f"{p} {prio[p]}" for p in ("高", "中", "低")))
# 4. 点検(重複ID・書式・分類との対応・空欄)
problems = []
for fid, n in Counter(r["機能ID"] for r in rows).items():
if n > 1:
names = [r["機能名"] for r in rows if r["機能ID"] == fid]
problems.append(f"重複ID {fid}: {'、'.join(names)}")
for line, r in enumerate(rows, start=2):
fid = r["機能ID"]
if ID_PATTERN.fullmatch(fid) is None:
problems.append(f"{line}行目 {fid}: IDの書式が採番ルールと違う")
continue
if PREFIX.get(r["大分類"]) != fid[:3]:
problems.append(f"{line}行目 {fid}: 大分類「{r['大分類']}」と接頭辞が合わない")
if KIND.get(r["種別"]) != fid[4]:
problems.append(f"{line}行目 {fid}: 種別「{r['種別']}」と種別記号が合わない")
empty = [k for k, v in r.items() if v.strip() == ""]
if empty:
problems.append(f"{line}行目 {fid}: 空欄あり({'、'.join(empty)})")
print(f"点検結果: {len(problems)}件")
for p in problems:
print(" -", p)
記入例の30行に対して実行した結果です(python3 check_functions.py functions.tsv)。
functions.tsv: 30機能
種別ごとの件数: 画面 17 / 帳票 3 / バッチ 6 / API 4
大分類 画面 帳票 バッチ API 計
予約管理 6 2 2 2 12
備品管理 4 1 2 1 8
利用者管理 4 0 1 1 6
共通 3 0 1 0 4
優先度ごとの件数: 高 14 / 中 8 / 低 8
点検結果: 0件
次に、点検が働くことを確かめるため、わざと5か所を書き換えたファイル(functions_ng.tsv)を用意しました。予約取消のIDを RSV-S03 に、返却期限超過通知のIDを RSV-S07 に、備品台帳出力のIDを ITM-R1 に、利用者変更の利用者を空欄に、ログインのIDを RSV-S01 に変えています。
functions_ng.tsv: 30機能
…(集計部分は省略)…
点検結果: 6件
- 重複ID RSV-S01: 空き状況検索、ログイン
- 重複ID RSV-S03: 予約変更、予約取消
- 11行目 RSV-S07: 種別「バッチ」と種別記号が合わない
- 18行目 ITM-R1: IDの書式が採番ルールと違う
- 24行目 USR-S03: 空欄あり(利用者)
- 28行目 RSV-S01: 大分類「共通」と接頭辞が合わない
5か所の書き換えから6件が見つかりました。ログインのIDを RSV-S01 にした行は、重複と大分類の食い違いの両方で検出されています。重複IDは目で探すと見落としやすいので、機能を追加・変更するたびに機械的に点検する のがおすすめです。
機能一覧から後の工程へのつなげ方
機能IDは、後の工程の成果物に必ず書き写します。
| 成果物 | 機能IDの使い方 |
|---|---|
| 画面設計書・帳票設計書・バッチ設計書 | 文書番号やファイル名に機能IDを入れる |
| 画面遷移図 | 画面の箱に機能IDを書く |
| テスト仕様書 | テストケースIDの先頭に機能IDを付ける(RSV-S02-001 など) |
| 見積もり・WBS | 機能IDごとに工数と担当を持たせる |
| 課題管理・変更管理 | 影響する機能IDを記録する |
機能一覧のチェックリスト
| No | 確認すること |
|---|---|
| 1 | 機能IDに重複がない |
| 2 | 機能IDの桁数と書式がそろっている |
| 3 | IDに含めた分類・種別が、その行の大分類・種別と合っている |
| 4 | 略号の一覧と採番ルールが先頭に書いてある |
| 5 | 1機能が1画面/1帳票/1バッチ/1APIの単位になっている |
| 6 | 機能名が「対象+操作」で統一されている |
| 7 | 小分類の語(登録・変更・照会など)が統一されている |
| 8 | 概要が1文で書かれている |
| 9 | 利用者と優先度に空欄がなく、凡例がある |
| 10 | 要件の一覧と突き合わせて、対応する機能が無い要件がない |
| 11 | マスタの登録・変更、ログイン、通知、ログの整理など、業務の流れに現れにくい機能が入っている |
| 12 | 削除した機能は行を消さず、欠番として残している |
よくある質問
Q. 機能一覧はどの工程で作りますか? A. 要件定義の終わりから基本設計の初めにかけて作ります。要件定義では大分類・中分類までの粗い一覧を作り、基本設計で1画面・1帳票・1バッチ・1APIの単位まで細かくして機能IDを確定させる進め方が一般的です。
Q. 登録・変更・取消・照会を1つの「〜管理」機能にまとめてもよいですか? A. 入口や権限が同じで、あわせて短い期間で作れる小さなマスタなら、まとめても構いません。ただし一覧の中で基準を混ぜると件数や見積もりが比べにくくなるので、「マスタ保守は1機能にまとめる」のように基準を決めて凡例に書きます。
Q. 途中で分類が変わったら、機能IDも振り直しますか? A. 振り直しません。機能IDは設計書やテストの結びつきに使われているため、変えると影響が広がります。分類の列だけを直し、IDと分類が合わなくなった行は備考にその旨を書きます。こうした変更が多いと見込まれる場合は、分類を含めない方式(AかB)を選びます。
Q. 画面IDと機能IDは同じにしてよいですか? A. 1機能=1画面の単位にしているなら、同じにすると管理が楽になります。入力・確認・完了のように1機能に複数の画面がある場合は、機能IDに枝番を付けて画面IDにします(RSV-S02-1、RSV-S02-2 など)。
まとめ
- 機能一覧は「1行1機能」 で、機能ID・大/中/小分類・機能名・種別・概要・利用者・優先度を列にする
- 粒度は1機能=1画面/1帳票/1バッチ/1API にそろえる
- 分けるか迷ったら、利用者・入口・操作の種類・起動の時刻・作る時期 の違いで判定する
- 機能IDは通し連番、種別+連番、分類+種別+連番の3方式 から規模と体制で選ぶ
- 桁数を固定し、一度振ったIDは変えず、欠番は再利用しない
- 重複ID・書式・空欄は機械的に点検 し、種別ごとの件数で粒度のばらつきを確かめる
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「機能一覧の書き方とテンプレート 機能IDの採番と粒度の決め方」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。