**월간 정산·보고·취합 One-click 자동화** 난 이 도 **고급** | **프로젝트 목표** | 미국 국방재무회계국(DFAS)은 반복적인 재무·정산 업무에 업무 자동화(RPA)를 도입해 사람이 하던 취합과 점검을 줄이는 사업을 추진해 왔다. 이 공개 사례의 학습 초점은 반복 업무 분해, 입력과 트리거, 자동 처리 순서, 오류 복구, 실행 로그, 시간 절감이다. 본 프로젝트는 이를 바탕으로 교육용 가상 부대 24개의 월간 결산 자료(물자 불출, 수리부속 소모, 탄약 정산, 장비 가동률)를 코드로 만들고, 파일 대신 메모리 안의 가상 문서와 표로 모의한다. 학습자는 업무 분해, 다형식 파싱, 검증 룰 엔진, 이상 원인 추천, 일관성 검증, 승인·반려 대시보드, 3단계 사람 결재선, 대량 배치 시험, AAR 보정, 최종 통합을 차례로 수행한다. 최종 목표는 월간 정산·보고·취합을 한 번에 실행하되 발간은 반드시 사람이 결재하도록 하는 원클릭 자동화 도구를 완성하는 것이다. | | --- | --- | | **유의사항** | 모든 부대 이름, 품목, 수량, 재고, 결재선은 코드 안에서 만든 교육용 가상 자료이며 실제 부대명, 보유 수량, 소요, 예산, 작전 정보는 사용하지 않는다. 부대 내 촬영이나 부대 자료의 외부 AI 서비스 입력은 금지한다. 자동화 결과는 판단 보조이며 결산 수치의 확정과 보고서 발간은 보급관·군수과장 등 담당 결재권자의 결재에 따른다. 수작업 소요시간과 절감률은 교육용 가정값이다. 미션별 정답 코드는 각각 한 파일로 독립 실행된다. | | --- | --- | **1단계. 결산 데이터 구조 분석 및 다형식 자료 전처리** | **미션 1. 군수 월간 결산 항목(물자 불출, 수리부속 소모, 탄약 정산, 장비 가동률) 데이터 구조 분석** [초급 · 1.5시간] | **미션 1. 군수 월간 결산 항목(물자 불출, 수리부속 소모, 탄약 정산, 장비 가동률) 데이터 구조 분석** [초급 · 1.5시간] | | --- | --- | | **목표** | 월간 결산 4개 항목(물자 불출, 수리부속 소모, 탄약 정산, 장비 가동률)의 데이터 구조를 분석해 필드와 산식을 정의하고, 현행 결산 업무를 AS-IS/TO-BE로 비교한다. | | **수행** | 가상 부대 24개의 월간 원장(기초·수령·불출·반납·기말)과 장비 가동 현황을 만들어 항목별 필드와 재고 산식(기말 = 기초 + 수령 + 반납 - 불출)을 정리한다. 자료 수신부터 최종본 배포까지 현행 결산 업무를 10단계 이상으로 분해해 단계별 소요시간을 적고, 평균보다 오래 걸리는 병목 구간을 표시한다. 자동화 후 TO-BE 절차와 단축 시간을 비교표로 정리한다. | | **산출물** | docs/dat06_as_is_to_be_spec.md, 입출력 데이터 명세 | | **평가** | **[필수] 업무 분해·데이터 구조 정의** — 업무 단계 10단계 이상, 병목 구간 3개소 이상을 도출하고, AS-IS/TO-BE 비교와 입출력 데이터 명세(필드·산식)가 명확하게 작성되었는가. | | **미션 2. 다양한 양식의 엑셀/CSV 데이터 자동 파싱, 정합성 검증 및 전처리 파이프라인 구축** [초급~중급 · 2시간] | **미션 2. 다양한 양식의 엑셀/CSV 데이터 자동 파싱, 정합성 검증 및 전처리 파이프라인 구축** [초급~중급 · 2시간] | | --- | --- | | **목표** | CSV, 엑셀 내보내기(탭 구분), JSON, 공문 텍스트 형식의 결산 자료를 자동 파싱하고 정합성을 검증하는 전처리 파이프라인을 구축한다. | | **수행** | 서로 다른 서식의 가상 결산 자료 4종을 메모리 안의 문자열로 만들고 형식별 파서로 표준 레코드로 바꾼다. 양식 개정으로 머리글이 바뀐 경우를 별칭 사전으로 대응하고, 숫자 변환·부대 코드·품목·재고 산식을 검증해 오류 레코드는 반영을 보류한다. 원본과 파싱 결과가 같은지 대조한다. | | **산출물** | src/connectors/dat06_data_loader.py 및 스키마 정의서 | | **평가** | **[필수] 다형식 파싱·정합성 검증** — 지원 형식(CSV, 엑셀 내보내기, JSON, 공문 텍스트) 파싱 성공률 100%, 머리글 변경 대응, 오류 레코드 반영 보류가 확인되었는가. | **2단계. 정산 룰 엔진 Baseline 및 이상 원인 추천** | **미션 3. 표준 정산 규칙 기반 1차 월간 결산 집계 및 통계 산출 Baseline 엔진 구현** [중급 · 2.5시간] | **미션 3. 표준 정산 규칙 기반 1차 월간 결산 집계 및 통계 산출 Baseline 엔진 구현** [중급 · 2.5시간] | | --- | --- | | **목표** | 표준 정산 규칙을 설정 문자열 룰 15종으로 분리하고, 이를 적용한 1차 월간 결산 집계 Baseline 엔진을 구현한다. | | **수행** | 룰마다 가상 조항 번호, 조건식, 오류 메시지를 설정으로 두어 코드 수정 없이 바꿀 수 있게 한다. 원장 전체에 룰을 적용해 위반 건수와 행당 처리 지연시간을 측정하고, 부대 x 구분 집계표와 구분별 통계를 만든다. 경계 조건(불출이 가용량과 정확히 같음, 탄약 한도 경계 등) 단위 테스트를 작성한다. | | **산출물** | src/engine/dat06_rule_engine.py | | **평가** | **[필수] 룰 엔진·Baseline 집계** — 검증 룰 15종 이상, 룰 처리 지연 50ms 이하, 경계 조건 단위 테스트 100% 통과, 조항별 위반 사유가 정확히 출력되는가. | | **미션 4. 데이터 이상치(전월 대비 급증 항목) 자동 감지 및 이상 원인 요약 추천 모듈 고도화** [중급~고급 · 3시간] | **미션 4. 데이터 이상치(전월 대비 급증 항목) 자동 감지 및 이상 원인 요약 추천 모듈 고도화** [중급~고급 · 3시간] | | --- | --- | | **목표** | 전월 대비 급증한 품목을 자동 감지하고 이상 원인을 요약해 추천하는 모듈을 고도화한다. | | **수행** | 품목별 증가율의 로그 값에 중앙값과 MAD 기반 점수를 적용해 급증 품목을 찾는다. 훈련 일수, 정비 지시서 건수, 특별 지급 승인 여부 같은 맥락 정보를 대조해 훈련 증가, 정비 집중, 입력 자릿수 오류, 일회성 특별 지급, 원인 불명 중 하나를 후보로 제시하고 조치를 붙인다. 가상 정답과 비교해 감지·분류 정확도를 계산한다. | | **산출물** | src/ai/dat06_intelligence_module.py | | **평가** | **[선택] 이상치 감지·원인 추천** — 추천·분류 정확도 85% 이상이며, 추정 원인과 조치 안내가 실무자가 수용할 수 있게 합리적으로 제시되는가. | **3단계. 일관성 검증과 승인·반려 대시보드** | **미션 5. 정산 결과의 회계적 일관성 검증 및 신뢰도 검증 엔진 개발** [중급 · 3시간] | **미션 5. 정산 결과의 회계적 일관성 검증 및 신뢰도 검증 엔진 개발** [중급 · 3시간] | | --- | --- | | **목표** | 정산 결과의 회계적 일관성을 검증하고 부대별 신뢰도 점수를 산출하는 엔진을 입력-분석-검토-결과 4개 화면으로 구현한다. | | **수행** | 재고 산식, 전월 기말과 당월 기초의 연속성, 부대 합계와 분류 합계의 교차 대조, 장비 가동률 범위를 검사하고 오류 8건을 주입해 검출 여부를 확인한다. 검사 유형별 감점으로 부대 신뢰도 점수와 등급을 계산한다. 입력, 분석, 검토, 결과의 4개 화면을 텍스트 화면으로 출력한다. | | **산출물** | src/ui/dat06_app.py | | **평가** | **[필수] 일관성 검증·4개 화면** — 핵심 화면 4종(입력-분석-검토-결과) 구현을 완료하고, 주입 오류 검출률과 부대별 신뢰도 점수가 근거와 함께 표시되어 실무자가 이해하기 쉬운가. | | **미션 6. 군수 결산 보고서 생성 및 승인/반려 관리 대화형 웹 대시보드 구현** [중급~고급 · 2.5시간] | **미션 6. 군수 결산 보고서 생성 및 승인/반려 관리 대화형 웹 대시보드 구현** [중급~고급 · 2.5시간] | | --- | --- | | **목표** | 결산 보고서 생성과 승인·반려 상태를 관리하는 대시보드를 구현하고, 예외 상황에서도 중단되지 않는 입력 검증기와 에러 핸들러를 갖춘다. | | **수행** | 부대별 보고서를 생성해 작성-제출-승인-반려 상태 전이를 관리하고 현황판과 그래프로 보여 준다. 입력 검증기와 에러 핸들러를 만들어 부대명 오류, 빈 자료, 음수, 중복 생성, 상태 위반 등 예외 10종을 주입하고, 크래시 없이 로그에 기록하며 사용자에게 조치 안내를 출력하게 한다. | | **산출물** | src/utils/dat06_validator.py 및 에러 핸들러 | | **평가** | **[선택] 보고서 대시보드·에러 처리** — 예외 상황 10종에서 크래시 0건, 에러 로그 기록률 100%이며, 오류 메시지가 원인과 조치를 알기 쉽게 안내하는가. | **4단계. 3단계 결재선 설계 및 대량 배치 스트레스 시험** | **미션 7. 결산 보고서 최종 발간 전 군수과장/보급관 3단계 HITL 전자 결재선 연계 설계** [고급 · 3시간] | **미션 7. 결산 보고서 최종 발간 전 군수과장/보급관 3단계 HITL 전자 결재선 연계 설계** [고급 · 3시간] | | --- | --- | | **목표** | 결산 보고서 발간 전 담당자 기안, 보급관 검토, 군수과장 승인의 3단계 사람 결재선을 설계하고 이력의 무결성과 권한 통제를 검증한다. | | **수행** | 결재 단계별 역할과 순서를 설정으로 고정하고, 순서 위반, 본인 결재, 근거 미기재, 미등록 사용자를 차단한다. 모든 처리는 이전 기록의 해시를 이어 붙인 감사 이력에 남기고, 기록을 변조하면 탐지되는지 시험한다. 자동 발간은 허용하지 않고 결재 완료 후 담당자가 수동으로 발간하게 한다. | | **산출물** | src/workflow/dat06_approval_system.py | | **평가** | **[필수] 3단계 결재선·감사 이력** — 이력 기록 무결성 100%, 승인 권한 우회 시도 차단율 100%이며 자동 확정 없이 군 행정 절차와 부합하는 결재 흐름이 구현되었는가. | | **미션 8. 수십 개 예하 부대 월간 결산 보고서 원클릭 일괄 생성 배치(Batch) 스트레스 테스트** [고급 · 3.5시간] | **미션 8. 수십 개 예하 부대 월간 결산 보고서 원클릭 일괄 생성 배치(Batch) 스트레스 테스트** [고급 · 3.5시간] | | --- | --- | | **목표** | 수십 개 예하 부대의 월간 결산 보고서를 원클릭으로 일괄 생성하는 배치를 만들고 장애·손상 자료를 주입해 스트레스 시험을 수행한다. | | **수행** | 가상 부대 40개 x 12개월, 480건 보고서를 한 번에 생성한다. 일시 장애는 재시도로 복구하고 손상 자료는 격리해 보고하게 만들며, 부하를 3배로 올려 처리량을 측정한다. 수작업 소요시간 가정값과 비교해 절감률을 계산한다. | | **산출물** | src/pipeline/dat06_batch_runner.py | | **평가** | **[선택] 일괄 배치·스트레스 시험** — 전체 배치 실행 시간 5분 이내, 자동화 성공률 99% 이상, 수작업 대비 업무 소요 시간 80% 이상 절감(가정값 명시)이 확인되는가. | **5단계. AAR 룰 보정 및 원클릭 최종 통합** | **미션 9. AAR 기반 결산 수치 오집계 사례 분석 및 집계 룰셋/템플릿 보정** [고급 · 3시간] | **미션 9. AAR 기반 결산 수치 오집계 사례 분석 및 집계 룰셋/템플릿 보정** [고급 · 3시간] | | --- | --- | | **목표** | AAR 사례의 결산 수치 오집계 5유형을 재현·분석하고 집계 룰셋과 템플릿을 보정한다. | | **수행** | 중복 제출, 단위 혼용(kL), 정정 문서 누락, 박스·발 혼용, 품목 별칭 누락의 5유형을 가상 제출 자료에 심어 룰셋 v1의 오집계를 재현한다. 원인을 분석해 중복 제거, 단위 환산표, 정정 반영, 별칭 사전, 미등록 품목 보류를 담은 v2로 보정하고, 정답 대조와 20항목 UAT 체크리스트로 재검증한다. | | **산출물** | docs/dat06_uat_feedback_report.md 및 패치 내역 | | **평가** | **[필수] AAR 오집계 분석·룰 보정** — UAT 체크리스트 90점 이상, 개선 요구 5건 반영 완료이며 보정 후 오집계가 정답 대비 0건으로 확인되는가. | | **미션 10. 군수 월간 결산 및 보급 현황 보고서 원클릭 자동 생성 도구 최종 완성** [최고급 · 3시간] | **미션 10. 군수 월간 결산 및 보급 현황 보고서 원클릭 자동 생성 도구 최종 완성** [최고급 · 3시간] | | --- | --- | | **목표** | 수집부터 검증, 집계, 이상 점검, 보고서 생성, 결재 대기 분리까지 한 번에 실행되는 월간 결산 원클릭 도구를 완성한다. | | **수행** | 환경 점검 후 CSV·JSON 혼합 자료를 수집하고 검증 룰과 집계, 이상 점검, 신뢰도 점수를 거쳐 24개 부대 보고서를 만든다. 모든 보고서는 결재 대기 상태로 두고 자동 발간하지 않는다. 설치 스크립트 개요, 9장 매뉴얼 목차, 자체 점검표, 브리핑 요약을 출력한다. | | **산출물** | dist/dat06_package/, README.md, docs/dat06_final_manual.md | | **평가** | **[필수] 원클릭 통합·자체 점검** — 설치부터 실행까지 원클릭 절차가 완비되고 매뉴얼 작성률 100%이며, 자체 점검 전 항목 PASS와 수작업 대비 절감 효과가 브리핑으로 정리되었는가. | **최종 판정** **판정 기준 :** 모든 필수 항목([필수])에서 PASS를 받아야 최종 PASS로 인정한다. 최종 판정 결과 : ( PASS / FAIL ) 평가 의견 : (필수 항목 중 하나라도 FAIL인 경우 사유를 기재한다.)