DAT06 실습가이드 - 월간 정산·보고·취합 One-click 자동화
구 분 실습가이드 [교육용가상자료]
1. 실습 개요
본 실습은 교육용 가상 부대 24개의 월간 결산 자료를 메모리 안의 가상 문서와 표로 만들어, 취합부터 검증, 집계, 보고서 생성, 결재까지 한 번에 처리하는 월간 정산 자동화 도구를 미션 단위로 구현하는 과정이다. 미션마다 정답 코드(DAT06_정답코드.md)의 해당 코드를 웹 파이썬 실행기에 붙여 넣어 실행하고, 출력 수치가 평가 기준을 충족하는지 확인한 뒤 파라미터를 바꾸는 도전 과제를 수행한다. 미션별 코드는 서로 독립적이어서 어느 미션부터 실행해도 동작한다.
| 과제 |
DAT06 월간 정산·보고·취합 One-click 자동화 |
| 준비물 |
DAT06_정답코드.md, 웹 파이썬 실행기(numpy·pandas·scipy·scikit-learn·matplotlib 사용 가능), 결과 기록용 문서 |
2. 진행 방법
-
정답코드 md에서 해당 미션의 코드 블록 전체를 복사해 실행기에 붙여 넣고 실행한다(부분 복사 시 가상 원장 생성 함수가 빠져 오류가 난다).
-
실행 결과를 md의 '실행 결과 예시'와 비교한다. 난수 시드가 고정되어 있어 같은 값이 나와야 한다(실행 시간 수치는 환경에 따라 다르다).
-
도전 과제는 코드 상단의 파라미터(룰 조건식, 임계값, 부대 수 등)를 바꿔 다시 실행하고 변화와 이유를 기록한다.
-
이 실습은 파일을 읽거나 쓰지 않고 모든 문서·표를 메모리 안에서 만든다. 결과는 출력 표와 텍스트로 확인하며 그래프 글자는 영문이다.
-
실제 부대 이름·보유 수량·예산은 입력하지 않는다. 결산 수치의 확정과 보고서 발간은 담당 결재권자의 결재에 따르며 본 도구는 판단 보조이다.
3. 미션 진행 요약
| 미션 |
난이도·시간 |
핵심 확인 결과 |
| M1. 군수 월간 결산 항목(물자 불출, 수리부속 소모, 탄약 정산, 장비 가동률) 데이터 구조 분석 |
초급 |
|
| 1.5시간 |
업무 단계 12단계, 병목 3개소 도출 |
|
| M2. 다양한 양식의 엑셀/CSV 데이터 자동 파싱, 정합성 검증 및 전처리 파이프라인 구축 |
초급~중급 |
|
| 2시간 |
파싱 성공률 100%(4개 형식), 정상 반영 132건 |
|
| M3. 표준 정산 규칙 기반 1차 월간 결산 집계 및 통계 산출 Baseline 엔진 구현 |
중급 |
|
| 2.5시간 |
검증 룰 15종, 위반 13건 검출, 행당 최대 지연 약 0.05ms(목표 50ms 이하, 환경에 따라 다름) |
|
| M4. 데이터 이상치(전월 대비 급증 항목) 자동 감지 및 이상 원인 요약 추천 모듈 고도화 |
중급~고급 |
|
| 3시간 |
감지 정확도 99.6%(재현율 97.2%, 정밀도 100%) |
|
| M5. 정산 결과의 회계적 일관성 검증 및 신뢰도 검증 엔진 개발 |
중급 |
|
| 3시간 |
화면 4종 구현, 불일치 9건(산식 4, 연속성 4, 가동률 1) |
|
| M6. 군수 결산 보고서 생성 및 승인/반려 관리 대화형 웹 대시보드 구현 |
중급~고급 |
|
| 2.5시간 |
보고서 12건: 승인 8 / 반려 2 / 제출 2 |
|
| M7. 결산 보고서 최종 발간 전 군수과장/보급관 3단계 HITL 전자 결재선 연계 설계 |
고급 |
|
| 3시간 |
우회 시도 10건 중 10건 차단(100%) |
|
| M8. 수십 개 예하 부대 월간 결산 보고서 원클릭 일괄 생성 배치(Batch) 스트레스 테스트 |
고급 |
|
| 3.5시간 |
생성 477건, 격리 3건, 재시도 9회, 자동화 성공률 99.4% |
|
| M9. AAR 기반 결산 수치 오집계 사례 분석 및 집계 룰셋/템플릿 보정 |
고급 |
|
| 3시간 |
v1 오집계 24건 -> v2 0건 |
|
| M10. 군수 월간 결산 및 보급 현황 보고서 원클릭 자동 생성 도구 최종 완성 |
최고급 |
|
| 3시간 |
자체 점검 8/8 PASS, 보고서 24건 결재 대기(자동 발간 0건) |
|
미션 1. 군수 월간 결산 항목(물자 불출, 수리부속 소모, 탄약 정산, 장비 가동률) 데이터 구조 분석
| 진행 순서 | 1) M1 코드를 실행해 4개 결산 항목의 필드와 재고 산식 정의를 확인한다.
2) AS-IS 업무 단계표에서 소요시간이 긴 병목 단계를 표시한다.
| 3) TO-BE 절차의 단축 시간과 근거를 정리한다. |
|
| 확인할 결과 | 업무 단계 12단계, 병목 3개소 도출
| 1회 결산 AS-IS 610분 -> TO-BE 58분(90% 단축 예상, 가정값) |
|
| 도전 과제 |
AS-IS 단계에 '부대별 재제출 요청' 단계(40분)를 추가해 병목 판정과 단축률이 어떻게 달라지는지 확인한다. |
| 제출물 |
데이터 구조 정리표, AS-IS/TO-BE 비교표, 병목 구간 목록 |
미션 2. 다양한 양식의 엑셀/CSV 데이터 자동 파싱, 정합성 검증 및 전처리 파이프라인 구축
| 진행 순서 | 1) M2 코드를 실행해 형식별(CSV·엑셀·JSON·공문) 파싱 성공 여부를 확인한다.
2) 보류된 레코드와 사유(없는 부대 코드, 숫자 변환 실패)를 확인한다.
| 3) 머리글 별칭 사전(ALIAS)이 어떻게 양식 변경에 대응하는지 확인한다. |
|
| 확인할 결과 | 파싱 성공률 100%(4개 형식), 정상 반영 132건
| 반영 보류 2건(부대 코드 오류, 숫자 변환 실패) |
|
| 도전 과제 |
ALIAS에 '출고'를 불출의 별칭으로 추가하고, 엑셀 머리글 하나를 '출고'로 바꿔 파싱되는지 확인한다. |
| 제출물 |
파싱 코드, 형식별 결과표, 보류 레코드 목록 |
미션 3. 표준 정산 규칙 기반 1차 월간 결산 집계 및 통계 산출 Baseline 엔진 구현
| 진행 순서 | 1) M3 코드를 실행해 룰 15종 적용 결과와 위반 건수를 확인한다.
2) 행당 처리 지연시간을 기록한다.
| 3) 경계 조건 단위 테스트 결과(PASS/FAIL)를 표로 정리한다. |
|
| 확인할 결과 | 검증 룰 15종, 위반 13건 검출, 행당 최대 지연 약 0.05ms(목표 50ms 이하, 환경에 따라 다름)
| 경계 조건 단위 테스트 9/9(100%) 통과 |
|
| 도전 과제 |
RULES의 V13 한도(5000)를 3000으로 바꾸고, 새 경계 테스트 두 개(3000, 3001)를 추가해 통과 여부를 확인한다. |
| 제출물 |
룰 설정표, 위반 목록, 단위 테스트 결과표 |
미션 4. 데이터 이상치(전월 대비 급증 항목) 자동 감지 및 이상 원인 요약 추천 모듈 고도화
| 진행 순서 | 1) M4 코드를 실행해 급증 품목 감지 결과와 정확도를 확인한다.
2) 원인별 혼동표에서 잘못 분류된 항목이 있는지 확인한다.
| 3) 원인 추천 예시와 조치 문구가 실무에 쓸 만한지 검토한다. |
|
| 확인할 결과 | 감지 정확도 99.6%(재현율 97.2%, 정밀도 100%)
| 원인 분류 정확도 100%(감지된 실제 급증 36건 중 35건), 목표 85% 이상 달성 |
|
| 도전 과제 |
z 임계값(2.0)을 3.5로 올려 재현율이 어떻게 떨어지는지 확인하고, 오탐과 미탐 사이의 균형을 기록한다. |
| 제출물 |
이상 감지 코드, 정확도 표, 원인 추천 예시 |
미션 5. 정산 결과의 회계적 일관성 검증 및 신뢰도 검증 엔진 개발
| 진행 순서 | 1) M5 코드를 실행해 화면 1(입력)~화면 4(결과) 출력을 확인한다.
2) 일관성 검사 유형별 불일치 건수를 확인한다.
| 3) 신뢰도 점수가 낮은 부대의 감점 원인을 확인한다. |
|
| 확인할 결과 | 화면 4종 구현, 불일치 9건(산식 4, 연속성 4, 가동률 1)
| 주입 오류 8건 100% 검출, 평균 신뢰도 96.0점(A 20 / B 4 / C 0) |
|
| 도전 과제 |
검사별 감점(W)을 C1 20점으로 바꿔 부대 등급 분포가 어떻게 변하는지 확인한다. |
| 제출물 |
일관성 검증 코드, 화면 4종 출력, 신뢰도 점수표 |
미션 6. 군수 결산 보고서 생성 및 승인/반려 관리 대화형 웹 대시보드 구현
| 진행 순서 | 1) M6 코드를 실행해 보고서 현황판과 상태별 건수를 확인한다.
2) 예외 10종 주입 결과의 오류 코드, 메시지, 조치 안내를 확인한다.
| 3) 그래프(보고서 상태, 부대별 불출량)를 확인한다. |
|
| 확인할 결과 | 보고서 12건: 승인 8 / 반려 2 / 제출 2
| 예외 10종 크래시 0건, 에러 로그 기록률 100% |
|
| 도전 과제 |
예외 케이스 하나(예: 소수점 수량)를 추가하고, 핸들러가 크래시 없이 안내하는지 확인한다. |
| 제출물 |
대시보드 코드, 현황판 출력, 예외 처리 결과표 |
미션 7. 결산 보고서 최종 발간 전 군수과장/보급관 3단계 HITL 전자 결재선 연계 설계
| 진행 순서 | 1) M7 코드를 실행해 정상 결재 2건과 우회 시도 10건의 결과를 확인한다.
2) 해시 체인 검증 결과와 위조 시험 결과를 확인한다.
| 3) 자동 발간이 없고 발간이 수동 실행으로만 일어남을 확인한다. |
|
| 확인할 결과 | 우회 시도 10건 중 10건 차단(100%)
| 이력 21건 무결성 21/21, 변조 시험에서 변조 탐지 성공 |
|
| 도전 과제 |
새 우회 시도(예: 승인 후 코멘트 수정)를 하나 추가하고 차단되는지 확인한다. |
| 제출물 |
결재 흐름 코드, 우회 시도 결과표, 감사 이력 검증 결과 |
미션 8. 수십 개 예하 부대 월간 결산 보고서 원클릭 일괄 생성 배치(Batch) 스트레스 테스트
| 진행 순서 | 1) M8 코드를 실행해 480건 배치 결과와 격리 건을 확인한다.
2) 재시도 횟수와 자동화 성공률을 확인한다.
| 3) 수작업 대비 절감률 계산의 가정값(25분/건 등)을 확인한다. |
|
| 확인할 결과 | 생성 477건, 격리 3건, 재시도 9회, 자동화 성공률 99.4%
| 수작업 12000분 vs 자동화 1005분(절감 91.6%, 가정값), 목표 달성 |
|
| 도전 과제 |
손상 자료를 3건에서 8건으로 늘려 성공률이 99%보다 낮아지는 지점을 확인하고 대응 방안을 기록한다. |
| 제출물 |
배치 실행 코드, 성공률·절감률 표, 격리 목록 |
미션 9. AAR 기반 결산 수치 오집계 사례 분석 및 집계 룰셋/템플릿 보정
| 진행 순서 | 1) M9 코드를 실행해 룰셋 v1의 오집계 5유형과 건수를 확인한다.
2) 원인-패치 대응표를 확인하고 v2 재집계 결과를 비교한다.
| 3) UAT 체크리스트 통과 항목과 개선 요구 반영 현황을 확인한다. |
|
| 확인할 결과 | v1 오집계 24건 -> v2 0건
| UAT 20/20항목 통과(100점), 개선 요구 5건 반영 완료 |
|
| 도전 과제 |
새 오집계 유형(예: 일자 형식 혼용)을 하나 만들어 v1에서 재현하고 v2 패치를 추가한다. |
| 제출물 |
AAR 분석 결과, 룰셋 패치 내역, UAT 체크리스트 |
미션 10. 군수 월간 결산 및 보급 현황 보고서 원클릭 자동 생성 도구 최종 완성
| 진행 순서 | 1) M10 코드를 실행해 환경 점검과 단계별 실행 로그를 확인한다.
2) 24개 부대 보고서가 모두 결재 대기 상태인지 확인한다.
| 3) 자체 점검표와 브리핑 요약 수치가 출력과 일치하는지 대조한다. |
|
| 확인할 결과 | 자체 점검 8/8 PASS, 보고서 24건 결재 대기(자동 발간 0건)
| 이상 급증 후보 9건, 수작업 610분 -> 58분(90% 절감 가정값) |
|
| 도전 과제 |
FAIL이 나오도록 한 단계(예: 검증 룰)를 일부러 오류로 바꾸고 도구가 중단되지 않고 로그를 남기는지 확인한다. |
| 제출물 |
통합 실행 코드, 자체 점검표, 매뉴얼 목차, 브리핑 요약 |
4. 최종 점검표
| 점검 항목 |
확인 |
| 미션 1~10 코드가 모두 오류 없이 실행되었다 |
( ) |
| 각 미션의 확인할 결과를 기록했다 |
( ) |
| 도전 과제 결과와 이유를 기록했다 |
( ) |
| 정량 목표 달성 여부를 출력 문구로 확인했다 |
( ) |
| 실제 부대·수량·예산 정보를 사용하지 않았다 |
( ) |
| 자동 발간 없이 사람 결재를 거친다는 점을 확인했다 |
( ) |