7.5 KiB
7.5 KiB
サブシステムE(人事情報管理)整合性レビュー報告書
作成日: 2026-08-01 対象: 基本設計書 / 詳細設計書 / コード(src) / COPY定義 / 使用資源一覧 / テスト / カバレッジ統計
1. 検証範囲と実施内容
基本設計書に計画されるプログラム 9 本(JIN01KNS〜JIN09RPT)に対し、以下をレビューした:
- 基本設計書の設計合理性・ロジック
- 詳細設計書・コード・COPY 定義の整合性(レコード長・DD・COPY・CALL)
- IBM COBOL 適合性(予約語・固定書式・コーディング規約)
- テスト充足性(全ケース実行・テスト基準との一致)
- 使用資源一覧・カバレッジ統計の最新状況
GnuCOBOL 3.2.0 で全実在プログラムのコンパイル・テスト実実行済み。
2. 実装状況の実測
| プログラム | 基本設計 | src実装 | 詳細設計書 | 使用資源一覧 | テスト | テスト結果文書 | production反映 |
|---|---|---|---|---|---|---|---|
| JIN01KNS | ○ | ○ | ○ | ○ | ○ | × | ○ |
| JIN02SKL | ○ | ○ | ○ | ○ | ○ | × | ○ |
| JIN03RAN | ○ | ○ | ○ | ○ | ○ | × | ○ |
| JIN04PRT | ○ | ○ | × | ○ | ○ | × | × |
| JIN05UPD | ○ | ○ | × | ○ | ○ | × | × |
| JIN06SRT | ○ | × | × | × | × | × | × |
| JIN07SUB | ○ | × | × | × | × | × | × |
| JIN08TST | ○ | × | × | × | × | × | × |
| JIN09RPT | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
計画 9 本に対して実装は 6 本。JIN06SRT / JIN07SUB / JIN08TST は未着手。
3. 問題点リスト(重要度順)
🔴 高重要度(対応必須)
H-1. JIN06SRT / JIN07SUB / JIN08TST が完全未実装
- 基本設計書には計画 9 本・予約語カバー対象(SORT/RELEASE/PERFORM TIMES/EXIT PROGRAM/ADDRESS/OMITTED/EXIT PARAGRAPH)と記載
- しかし src にコード無し、詳細設計書・テスト・使用資源一覧・production 全て未着手
- SORT/RELEASE/ADDRESS/OMITTED はこの 3 本でしかカバーできない予約語のため、カバレッジ統計の「×」リストにも現状は未達のまま
H-2. SKIP2 予約語カバーの「◎」主張が虚偽
品質管理/カバレッジ統計.md・使用資源一覧/JIN09RPT_使用資源一覧.md・基本設計書に「SKIP2 ◎(段落境界)」と記録- しかし全コード中に SKIP2 ディレクティブが皆無。JIN09RPT.cbl:12 はヘッダコメント記載のみ、JIN04PRT/JIN05UPD の
*SKIP2も col7=*のコメント行 - 実態は ◎144 / ×35(表示 83.4% でなく 82.4%)
- 直近コミット
415427aの「6語(CANCEL/I-O-CONTROL/NEXT SENTENCE/EJECT/SKIP2/FALSE)カバー」は実際 5 語(SKIP2 除く)
H-3. JIN04PRT / JIN05UPD が production/ 未反映
- 両プログラムは root 実装済み・テスト PASS なのに production/ に存在せず git 未反映
H-4. JIN03RAN の SET ... UP/DOWN BY が IBM COBOL でコンパイル不可
src/JIN03RAN.cbl:206, 251, 288:SET WRK-RANK-NO UP BY 1等の対象がPIC 9(004)・PIC 9(004) BINARYの数値項目- IBM Enterprise COBOL の
SET ... UP/DOWN BYはインデックス名専用。数値項目には使用不可 → コンパイルエラー - GnuCOBOL はエラーなく受け付けるためローカルでは通過(潜在的本番障害)
H-5. production 側カバレッジ統計が root と 63 行差分・かつ内部矛盾
- production 側
カバレッジ統計.md:119+29+51=199 ≠ 205、率も記載 75.1% と矛盾
4. 重要度:中(対応推奨)
- M-1. JIN04PRT・JIN05UPD の詳細設計書が存在しない(root/production 双方)。開発フロー Phase 3(設計書解析→実装)に違反、双方向トレーサビリティ欠如
- M-2. カバレッジ統計のプログラム数・タイプ数が JIN09RPT 追加後未更新(「39本」「44プログラム」等。実際は 40 本)
- M-3. SEARCH ALL の「SKILL-MST 昇順」前提が JCL/設計書で未担保(JIN02SKL・JIN09RPT)。JINJ020/JINJ090 に PGM=SORT 手順がなく、未ソート入力時の誤動作リスク
- M-4. JIN09RPT の ODO(OCCURS 1 TO 20 DEPENDING ON)初期値 0 が IBM の未定義動作リスク(範囲外参照。GnuCOBOL は検出せず PASS)。SSRANGE 有効時は実行時 ABEND
- M-5. SKILL-MST-REC の BINARY レコード長差異:GnuCOBOL=79B / IBM=80B(
PIC 9(002) BINARYのバイト数差)。単に長さだけでなく MST-LEVEL-NAME のオフセットもずれる - M-6. JIN09RPT の内部表定義が詳細設計書と不一致(TBL-LEVEL 等)
- M-7. 詳細設計書(JIN01/02/03/09)の段落名が実コードの SOR 規約名と完全不一致(概念名 JIN01KNS-OPEN 等 vs 実装 1000ITTSOR 等)。トレーサビリティ崩壊
- M-8. 使用資源一覧の誤記:JIN01KNS(VALID-ERROR-REC 帰属、JIN01REC 内と誤記載)、JIN02SKL(SUB02MSG CALL箇所 4000→6000、JIN01REC 誤使用)、JIN09RPT(SKIP2 誤記載)
- M-9. JIN05UPD のキーワードカバー実体不在:FALSE / EXIT PARAGRAPH がコメントのみで実装なし、VALID-ERROR-REC COPY を使用せず内約定義
- M-10. 基本設計書のレコード長矛盾:JIN-LEDGER が行 40=132B なのに行 117=133B。実規格は 132B
- M-11. JIN01〜05 のテスト結果文書が未作成(テスト結果_KYU.md・テスト結果_JIN09RPT.md のみ)
- M-12. JIN09RPT の MST>20 件時のオーバーフローガード無し(SKILL-LIST-MAX=20 がコード未反映)
5. 中:テスト充足性の不足点
| プログラム | 不足ケース |
|---|---|
| JIN01KNS | 全角混入(VF-A002)、MEI 単独エラー |
| JIN02SKL | MST 重複キー、SEARCH ALL 未ソート表、ODO 空表検索、純粋 1:1 |
| JIN03RAN | (網羅度高。概ね充足) |
| JIN04PRT | LINAGE 境界(FOOTING/TOP/BOTTOM 最大行)、PAGE-COUNTER 値検証、DATE/TIME/ON OVERFLOW 実例 |
| JIN05UPD | SQLCODE≠0(3400DBERRSOR)、上限500件ガード(CNS-MAX-TRANS)、CONNECT 失敗分岐 |
| JIN09RPT | MST 0 件×R01 複数、境界 89/51/1、S=100/90 解釈 |
6. まとめ:全体評価と推奨対応
機能面:実装 6 本は全て GnuCOBOL でコンパイル・テスト PASS。DD/CALL/COPY/レコード長・DB 定義(ddl/schema_jin.sql)の整合は概ね健全。IBM COBOL 適合の基本要件(SOURCE-COMPUTER、カラム位置、88-level 引用符、コメント方式、>>SOURCE 混入なし)はほぼ全項目合格。
工程・整合面:以下が特に重要。
- JIN06SRT/07SUB/08TST の実装が未完了(基本設計上の予約語カバー対象もカバーできない)
- SKIP2 の◎主張が虚偽(統計・資源一覧・コミット記述の是正 or SKIP2 実装)
- JIN03RAN の
SET非インデックス利用は IBM 本番でエラー(最重要修正)
推奨アクション(対応優先順)
- JIN03RAN.cbl の
SET ... UP/DOWNをADD/SUBTRACTに修正(H-4) - SKIP2 の記載整合:実装 or 統計・資源一覧・コミットの修正(H-2)
- JIN04PRT・JIN05UPD の production 反映と詳細設計書作成(H-3, M-1)
- JIN06SRT/07SUB/08TST の実装(H-1)— 大規模、要計画立案
- カバレッジ統計・使用資源一覧・基本設計書の矛盾是正(M-2, M-7〜M-10)
- 不足テストケースの追加(Section 5)
- production カバレッジ統計の root 同期(H-5)