조달청에 올라온 RFP 문구를 기반으로 React + eGovFrame 프로토타입을 생성해봤습니다
이번에는 실제 조달청에 올라온 RFP의 문구를 기반으로 프로젝트를 만들 봤습니다.
제가 만들고 있는 APG를 이용해서, 실제 조달청에 올라온 제안요청서의 기능 요구사항 문구 일부를 기준으로 공공 업무시스템 프로토타입을 생성해봤습니다.
이 글은 완성품 납품 사례가 아니라, “RFP 문구를 기반으로 프로토타입을 먼저 만들어보고 업무량과 기본 프로세스를 확인할 수 있는가”에 대한 부분입니다.
항목 | 내용 |
발주기관 | 헌법재판소사무처 |
사업명 | 재판소원 관련 정보시스템 개편사업 |
프레임워크 | 전자정부프레임워크 기반 Spring Boot |
프론트엔드 | React |
기준 문서 | 실제 조달청에 올라온 제안요청서 내용 중 기능요구사항 일부 |
이번에 사용한 요구사항 문구는 제안요청서의 기능요구사항 중 SFR-002의 두 번째 단락에 있는 다음 내용입니다.
재판소원 관련 전자헌법재판시스템 분석
- 재판소원 관련 업무별 담당자 요구사항 수집 및 분석
- 재판소원에 따른 사건 처리 프로세스를 분석하고 시스템에 반영하기 위한 업무 프로세스 정의서 작성
문구만 보면 굉장히 추상적입니다. 하지만 실제 시스템으로 풀어보면 요구사항 수집, 담당자별 분석, 처리상태, 승인/반려, 이력관리, 첨부파일, 공통코드, 회원/권한 관리 같은 구조가 필요할 수 있습니다.
작업 방식
1. 제안요청서의 해당 문구를 기준으로 AI에게 상세 요구사항을 정리하도록 요청했습니다.
2. 정리된 요구사항을 제가 만든 APG에 프롬프트로 입력했습니다.
3. APG에서 전자정부프레임워크 기반 Spring Boot 백엔드와 React 프론트엔드 프로젝트를 생성했습니다.
4. 생성된 프로젝트를 실행해 화면, DB, 백엔드/프론트엔드 구조를 확인했습니다.
핵심은 “AI가 최종 시스템을 완성했다”가 아닙니다. 제안요청서 문구를 바탕으로 시스템 초안을 빠르게 만들어보고, 초기에 업무량과 기본 프로세스를 확인할 수 있는지 검토하는 것이 목적입니다.
생성화면















생성된 프로젝트 구조



한계와 주의할 점
이 부분은 중요합니다. APG로 생성된 결과물은 최종 납품물이 아닙니다. 프로토타입과 초기 개발 초안에 가깝습니다.
· 기관별 개발 표준과 보안 정책은 개발자가 반드시 검토해야 한다.
· 전자정부프레임워크 세부 규칙, 배포 환경, 운영 환경 설정은 별도 검증이 필요하다.
· 복잡한 업무 로직, 외부 시스템 연계, 인증/인가, 성능 최적화는 자동 생성만으로 해결되지 않는다.
· 생성된 화면과 DB 구조는 초안이므로 실제 업무 담당자 검토 후 보완해야 한다.
· 자동 생성 결과는 compile, startup, endpoint, 화면 동작 검증을 거쳐야 한다.
정부사업이나 공공 SI 프로젝트에서는 초기에 업무량을 잘못 산정하면 일정과 인력 계획이 흔들리기 쉽습니다.
APG는 개발자를 대체하는 도구가 아니라, 제안/착수/분석설계 단계에서 RFP를 시스템 구조로 빠르게 풀어보고 업무량과 기본 프로세스를 확인하기 위한 개발 생산성 도구를 목표로 하고 있습니다.
개인적으로는 “RFP만 보고 바로 견적과 투입 인력을 잡는 방식”에서 벗어나, 프로토타입을 먼저 만들어보고 화면 수, 기능 수, DB 구조, CRUD 범위, 승인/이력 흐름을 기준으로 개발 범위를 검토하는 방식이 필요하다고 생각합니다.
아직 개선해야 할 부분이 많지만, 공공 SI 프로젝트의 초기 분석설계와 프로토타입 생성 시간을 줄이는 방향으로 계속 고도화하고 있습니다. 비슷한 경험이 있는 분들의 의견이나 피드백도 궁금합니다.
다음에는 vue 로 생성된 프로젝트를 올려보겠습니다.
APG는 정부사업 및 공공 SI 프로젝트의 RFP를 기반으로 업무 프로세스, 화면, DB, CRUD, 권한/승인/이력 구조를 빠르게 프로토타입화하여 초기 분석설계와 업무량 산정을 지원하는 개발 생산성 도구입니다.
위 내용은
https://blog.naver.com/aiprogen/224334084942
이곳에서도 확인이 가능합니다.
생성된 프로젝트 파일이 궁금하시다면 위 블로그에 있습니다.
다운 받으실수 있습니다.
