品質管理/サブシステムE整合性レビュー報告書.mdを削除(production/git反映対象外)

This commit is contained in:
qiuqiuqiu
2026-08-05 07:59:08 +08:00
parent a918489f93
commit b6c493e15c
@@ -1,114 +0,0 @@
# サブシステム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 の ODOOCCURS 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. 使用資源一覧の誤記**JIN01KNSVALID-ERROR-REC 帰属、JIN01REC 内と誤記載)、JIN02SKLSUB02MSG CALL箇所 4000→6000、JIN01REC 誤使用)、JIN09RPTSKIP2 誤記載)
- **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≠03400DBERRSOR)、上限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` 混入なし)はほぼ全項目合格。
**工程・整合面**:以下が特に重要。
1. **JIN06SRT/07SUB/08TST の実装が未完了**(基本設計上の予約語カバー対象もカバーできない)
2. **SKIP2 の◎主張が虚偽**(統計・資源一覧・コミット記述の是正 or SKIP2 実装)
3. **JIN03RAN の `SET` 非インデックス利用は IBM 本番でエラー**(最重要修正)
**推奨アクション(対応優先順)**
1. JIN03RAN.cbl の `SET ... UP/DOWN``ADD/SUBTRACT` に修正(H-4
2. SKIP2 の記載整合:実装 or 統計・資源一覧・コミットの修正(H-2)
3. JIN04PRT・JIN05UPD の production 反映と詳細設計書作成(H-3, M-1)
4. JIN06SRT/07SUB/08TST の実装(H-1)— 大規模、要計画立案
5. カバレッジ統計・使用資源一覧・基本設計書の矛盾是正(M-2, M-7〜M-10
6. 不足テストケースの追加(Section 5)
7. production カバレッジ統計の root 同期(H-5)