Files
cobol-tna-system/詳細設計書/設計レビューサインオフ_KYU.md
T
qiuqiuqiu 75475b3fa1 Add Subsystem C (KYU01-09): all 9 programs, design docs, resource lists, DDL, COPY, coverage stats
KYU programs for payroll calculation:
  KYU01CVT - CSV conversion
  KYU02REG - attendance registration
  KYU03AGG - aggregation
  KYU04CAL - salary calculation
  KYU05DED - deduction calculation
  KYU06UPD - DB update
  KYU07DIV - division/pay-slip
  KYU08PRI - print output
  KYU09MRG - merge output

Includes:
  - Source programs (9 .cbl)
  - Compiled executables (9 .exe)
  - Detailed design docs (9 + sign-off)
  - Basic design doc (subsystem C overview)
  - Resource lists (9)
  - DDL schema (schema_kyu.sql)
  - COPY book (KYU99REC.cpy)
  - Coverage statistics update
  - DB definition update (STATUS values)
  - Overall system design document
2026-07-09 08:09:59 +08:00

149 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 設計レビューサインオフ(サブシステムC / KYU)
> レビュー日: 2026-07-09
> レビュー対象: サブシステムCKYU01CVT〜KYU09MRG)全9プログラム
> 状態: ✅ サインオフ
---
## 1. JCL vs SELECT/ASSIGN 整合性
### 判定: ✅ 合格
| JCL | DD名 | プログラム | ASSIGN先 | 一致 |
|-----|------|-----------|---------|:---:|
| KYUJ010 STEP010 | KYU01R01 | KYU01CVT | KYU01R01 | ✅ |
| KYUJ010 STEP010 | KYU01W01 | KYU01CVT | KYU01W01 | ✅ |
| KYUJ010 STEP010 | KYU01W02 | KYU01CVT | KYU01W02 | ✅ |
| KYUJ010 STEP020 | KYU02R02 | KYU02REG | KYU02R02 | ✅ |
| KYUJ010 STEP020 | KYU02W03 | KYU02REG | KYU02W03 | ✅ |
| KYUJ020 STEP021 | KYU03R01 | KYU03AGG | KYU03R01 | ✅ |
| KYUJ020 STEP021 | KYU03W01 | KYU03AGG | KYU03W01 | ✅ |
| KYUJ020 STEP021 | KYU03W02 | KYU03AGG | KYU03W02 | ✅ |
| KYUJ020 STEP022 | KYU04R02 | KYU04CAL | KYU04R02 | ✅ |
| KYUJ020 STEP022 | KYU04R03 | KYU04CAL | KYU04R03 | ✅ |
| KYUJ020 STEP022 | KYU04W03 | KYU04CAL | KYU04W03 | ✅ |
| KYUJ020 STEP022 | KYU04W04 | KYU04CAL | KYU04W04 | ✅ |
| KYUJ030 STEP030 | KYU05R01 | KYU05DED | KYU05R01 | ✅ |
| KYUJ030 STEP030 | KYU05W01 | KYU05DED | KYU05W01 | ✅ |
| KYUJ030 STEP030 | KYU05W02 | KYU05DED | KYU05W02 | ✅ |
| KYUJ030 STEP031 | KYU06R02 | KYU06UPD | KYU06R02 | ✅ |
| KYUJ030 STEP031 | KYU06W03 | KYU06UPD | KYU06W03 | ✅ |
| KYUJ040 STEP040 | KYU07R01 | KYU07DIV | KYU07R01 | ✅ |
| KYUJ040 STEP040 | KYU07D01〜D50 | KYU07DIV | KYU07D01〜D50 | ✅ |
| KYUJ040 STEP040 | KYU07SYS | KYU07DIV | KYU07SYS | ✅ |
| KYUJ040 STEP040 | KYU07W99 | KYU07DIV | KYU07W99 | ✅ |
| KYUJ050 STEP050 | KYU08R01 | KYU08PRI | KYU08R01 | ✅ |
| KYUJ050 STEP050 | KYU08W01 | KYU08PRI | KYU08W01 | ✅ |
| KYUJ050 STEP050 | KYU08W02 | KYU08PRI | KYU08W02 | ✅ |
| KYUJ060 STEP060 | KYU09M01 | KYU09MRG | KYU09M01 | ✅ |
| KYUJ060 STEP060 | KYU09M02 | KYU09MRG | KYU09M02 | ✅ |
| KYUJ060 STEP060 | KYU09M99 | KYU09MRG | KYU09M99 | ✅ |
| KYUJ060 STEP060 | KYU09W01 | KYU09MRG | KYU09W01 | ✅ |
| KYUJ060 STEP060 | KYU09W02 | KYU09MRG | KYU09W02 | ✅ |
全29 DD名がJCLとASSIGNで一致。前回修正済み。
---
## 2. Sort-key 条件整合性
### 判定: ✅ 合格
| プログラム | JCL SORT条件 | 設計書記載 | 一致 |
|-----------|-------------|-----------|:---:|
| KYU03AGG | SORT FIELDS=(1,8,CH,A) | 社員番号(1-8桁)昇順 | ✅ |
| KYU07DIV | SORT FIELDS=(50,2,CH,A) | 部署コード(50-51桁)昇順 | ✅ |
| KYU08PRI | SORT FIELDS=(1,8,CH,A) | 社員番号(1-8桁)昇順 | ✅ |
| KYU09MRG | MERGE ON ASCENDING KEY EMP-ID | 社員番号昇順(MERGE文内部) | ✅ |
JCL SORTステップ(STEP020S/STEP040S/STEP050S)とプログラム前提条件の一致を確認。
---
## 3. COPY-book 整合性
### 判定: ⚠️ 条件付き合格(軽微な問題1件)
#### 3.1 レコード長検算
| COPY書式 | 用途 | 計算長 | 設計書記載 | 一致 |
|---------|------|:-----:|:---------:|:---:|
| KYU01REC | EMP-RECORD (W01) | 80B | 80B | ✅ |
| KYU02REC | ABSENCE-AGGREGATE (W01) | 80B | 80B | ✅ |
| KYU03REC | SALARY-DETAIL (W03) | 240B | 240B | ✅ |
| KYU04REC | SALARY-NET (W01/D01〜50/M01/M02) | 200B | 200B | ✅ |
| KYU05REC | PAYSLIP (W01) | 200B | 200B | ✅ |
| KYU06REC | PAYMENT-DATA (W01) | 200B | 200B | ✅ |
| KYU99REC | ERROR-LOG (W02/W03/W04/W99) | 200B(VB) | 200B | ✅ |
#### 3.2 ファイル連携レイアウト一致
| 出力元 | 出力COPY | 入力先 | 入力COPY | 一致 |
|--------|---------|--------|---------|:---:|
| KYU01CVT(W01) | KYU01REC | KYU02REG(R02) | KYU01REC | ✅ |
| KYU03AGG(W01) | KYU02REC | KYU04CAL(R02) | KYU02REC | ✅ |
| KYU04CAL(W03) | KYU03REC | KYU05DED(R01) | KYU03REC | ✅ |
| KYU05DED(W01) | KYU04REC | KYU06UPD(R02) / KYU07DIV(R01) / KYU08PRI(R01) / KYU09MRG(M01) | KYU04REC | ✅ |
| KYU08PRI(W01) | KYU05REC | —(印刷出力) | — | ✅ |
| KYU09MRG(W01) | KYU06REC | —(銀行データ出力) | — | ✅ |
#### 3.3 軽微な問題
| # | 内容 | 対象 | 対処 |
|---|------|------|------|
| 1 | KYU02REC.cpy 7行目: `03`の前に余分なスペース(インデント不整合) | cpy/KYU02REC.cpy:7 | 後日修正推奨(コンパイル・動作に影響なし) |
---
## 4. CALL/プログラム間インターフェース
### 判定: ⚠️ 条件付き合格(設計上の不整合1件)
#### 4.1 CALL先一覧
| CALL元 | CALL先 | 設計書記載 | コード存在 | 一致 |
|--------|--------|:---------:|:---------:|:---:|
| KYU01CVT | SUB02MSG | ✅ | ✅ | ✅ |
| KYU01CVT | SUB03END | ✅ | ✅ | ✅ |
| KYU01CVT | SUB04CHK | ✅ | ✅ | ✅ |
| KYU02REG | SUB02MSG | ✅ | ✅ | ✅ |
| KYU02REG | SUB03END | ✅ | ✅ | ✅ |
| KYU03AGG | SUB02MSG | ✅ | ✅ | ✅ |
| KYU03AGG | SUB03END | ✅ | ✅ | ✅ |
| KYU04CAL | SUB01DAT | ✅ | ✅ | ✅ |
| KYU04CAL | SUB02MSG | ✅ | ✅ | ✅ |
| KYU04CAL | SUB03END | ✅ | ✅ | ✅ |
| KYU04CAL | SUB05TIM | ✅ | ✅ | ✅ |
| KYU05DED | SUB02MSG | ✅ | ✅ | ✅ |
| KYU05DED | SUB03END | ✅ | ✅ | ✅ |
| KYU06UPD | SUB02MSG | ✅ | ✅ | ✅ |
| KYU06UPD | SUB03END | ✅ | ✅ | ✅ |
| KYU07DIV | SUB02MSG | ✅ | ✅ | ✅ |
| KYU07DIV | SUB03END | ✅ | ✅ | ✅ |
| KYU08PRI | SUB01DAT | ✅ | ✅ | ✅ |
| KYU08PRI | SUB02MSG | ✅ | ✅ | ✅ |
| KYU08PRI | SUB03END | ✅ | ✅ | ✅ |
| KYU09MRG | SUB01DAT | ✅ | ✅ | ✅ |
| KYU09MRG | SUB02MSG | ✅ | ✅ | ✅ |
| KYU09MRG | SUB03END | ✅ | ✅ | ✅ |
#### 4.2 設計上の不整合
| # | 内容 | プログラム | 設計書 | コード | 対処 |
|---|------|-----------|-------|-------|------|
| 1 | SUB01DAT呼出しの記載有無 | KYU01CVT | 1-4にSUB01DAT呼出し記載あり(運用日付取得) | SUB01DAT呼出しなし(CSV変換に運用日不要) | 設計書の方がテンプレートから過剰に記載。SUB01DATの呼出しは実際不要。**設計書を削除修正すべき** |
---
## 5. サインオフ
上記レビューの結果、全プログラムの設計とコードの整合性は確認されました。
軽微な問題2件(COPYインデント・設計書過剰記載)は後日修正対象とし、本設計レビューはサインオフします。
| 判定 | 日付 | レビュー担当 |
|:---:|:---:|:-----------:|
| ✅ サインオフ | 2026-07-09 | AI (自動レビュー) |
---