Project brief
프로젝트 내용
[프로젝트 개요]
- 공공기관 부서에서 자체 제작한 업무 프로그램 프로토타입(Python·PySide6 데스크톱)을 인수해 안정화, 실행파일 패키징, 팀 PC 배포, 하자보수까지 진행하고, 예산 범위 안에서 추가 기능(A1~A6)을 선택해 개발합니다.
- 분기(차수)별 시설물 평가대상을 평가자에게 배분하고 진행상황·결과·시정조치 기한·사실관계조사·소송을 관리하는 부서 내부 프로그램입니다.
- 신규 구축이 아니라 동작하는 프로토타입 위에 이어서 개발하는 작업입니다. 신규 기능은 A1~A6로 한정하며, DB 저장 위치 변경은 이번 범위에 포함하지 않습니다.
[클라이언트 소개]
- 시설물 평가 업무를 수행하는 공공기관의 한 부서입니다. 이번 프로그램은 부서 내부에서 쓰는 업무 프로그램이며 사용자는 약 20명입니다.
- 개발 지식: 프로토타입은 부서에서 자체 제작했으며, 전체 소스코드와 요구사항 문서, 개발 진행 기록을 제공합니다.
[프로젝트 배경 및 목표]
- 지금 상황: 전체 기능이 구현되어 있고 담당자 1인이 주요 흐름을 확인한 프로토타입 단계입니다. 팀 단위 시범 운영과 다중 PC 배포 테스트는 아직 하지 않았습니다. 인수 후 요구사항 확인과 수정·보완이 일정량 필요하며, 그 범위는 아래에 공수 상한으로 명시했습니다.
- 끝나면 이렇게 되기를 바랍니다: 설치 매뉴얼대로 팀 PC에 설치해 약 20명이 여러 PC에서 동시에 사용할 수 있는 배포판이 되는 것입니다.
[필수 과업 범위와 결과물]
1. 수행 범위
- 코드 인수·점검: 기존 소스(약 15개 모듈, 검증 스크립트 포함) 구조 파악과 점검 결과 보고
- SW 개발: 안정화와 수정·보완, 계약에 포함된 추가 과업 개발. 요구사항 문서를 제공하므로 신규 기획은 없습니다.
- UI·UX 디자인: 추가 과업 A6을 계약에 포함하는 경우에만 해당합니다.
- 테스트·QA: 다중 PC 동시 사용 테스트
- 패키징·배포: exe 패키징, 설정파일·설치 매뉴얼 작성, 팀 PC 배포 지원
- 유지보수: 검수 후 6개월 하자보수(버그 수정 범위)
2. 상세 기능 요구 사항
2-1. 필수 과업 (인수·안정화·배포)
- 코드 인수: 구조 파악 및 점검 결과 보고
- 요구사항 확인: 발주처 제공 문서 기준 회의 1회 및 확인 결과 반영
- 안정화: 버그·예외 처리 보완, 다중 PC 동시 사용 테스트
- 수정·보완 요청 반영: 공수 상한 15 M/D, 초과분은 별도 협의
- 패키징: exe 패키징, 설정파일·설치 매뉴얼 작성
- 배포 지원: 팀 PC 배포 지원 (원격 가능, 필요 시 진주 방문 1회)
- 하자보수: 검수 후 6개월, 버그 수정 범위
- 검수 기준: 요구사항 문서의 각 기능과 계약에 포함된 추가 과업의 배포판 동작, 3대 이상 PC 동시 사용 테스트 통과, 설치 매뉴얼에 따른 신규 PC 설치·실행
2-2. 추가 과업 — 평가결과 데이터
- A1 평가결과 엑셀 등록·DB화: IREMS에서 출력되는 차수별 평가결과 엑셀(평가점수 포함)을 평가 마감 후 등록해 DB 저장. 기존 임포트 기능과 같은 방식(헤더 검증, 차수 지정), 현황·통계 화면에서 활용
- A2 과거 자료 적재: A1 방식으로 최근 1~3년치 과거 평가결과를 차수별 등록, 전체 현황·통계에 과거 차수 포함 반영
- A3 시설물 평가 이력 조회: 평가 화면에서 해당 시설물(시설물번호 기준)의 과거 평가 이력(연도·차수, 점검/진단, 평가자, 점수, 등급, 결과)을 보는 패널 또는 팝업. A1·A2 데이터 연계, 기존 차수 횡단 검색 기능의 확장
2-3. 추가 과업 — 지표·분배·화면 개선
- A4 지표 관리 탭: 경영평가·BSC 지표를 관리자가 화면에서 정의(지표명, 적용 연도, 대상 조건, 분자·분모 산식, 목표치)하고 현황 탭에서 달성률 표시. 지표가 매년 바뀌므로 코드 수정 없이 추가·변경 (예: 특정 조건 시설물 중 사실관계조사 완료 건 비율)
- A5 임시 분배안 자동 생성: 조별 분배 기준(우선순위, 실시업체 분산, 직급별 기준 수량, 전 차수 담당자 등)을 설정 화면에서 정의하고 이를 반영한 임시 분배안 생성, 조장의 화면 조정 후 확정. 분배 기준은 조(분야)별 개별 설정
- A6 UI/UX 개선: 화면 간 디자인 통일(색상·폰트·간격·버튼 위치), 표 가독성(열 너비·정렬·강조색), 필터·검색 조작 일관성, 자주 쓰는 기능의 클릭 수 축소, 오류·확인 메시지 문구 정리. 화면별 개선안 협의·확정 후 적용, 기능 변경 제외
3. 결과물
- 실행파일
- 설치·설정 매뉴얼
- 수정된 전체 소스코드와 빌드 절차서 (소유권은 발주기관 귀속)
- 점검·테스트 결과 보고서
- 추가 기능 설계·화면 정의서
[기술 스택]
- 언어·UI: Python 3.13, PySide6 (데스크톱 앱)
- DB: SQLite 단일 파일
- 실행 환경: 인터넷 미접속 폐쇄망, 별도 서버 없음, 여러 PC 동시 사용
- 입력 자료: IREMS(시설물통합정보관리시스템)에서 내려받은 엑셀 (양식 고정)
[클라이언트 준비 사항]
- 준비된 것: 전체 소스코드(실데이터 제외, 테스트 데이터 DB 포함), 요구사항 문서, 개발 진행 기록, IREMS 평가결과 엑셀 양식(헤더). 프로토타입 시연도 가능합니다(원격 가능).
[오픈 시점과 예산]
- 개발 기간: 계약 후 약 8주 (협의 가능)
- 예산: 2,000만원 (부가세 별도)
- 계약 방식: 공공기관 수의계약이며, 계약 금액은 부가세 제외 2,000만원 한도입니다.
- 필수 과업 견적을 먼저 보고, 예산이 남으면 추가 과업 중 우선순위에 따라 선택해 반영합니다.
[지원 조건]
- 사업자등록이 되어 있고 세금계산서 발행이 가능해야 합니다. (공공기관 계약 필수)
- Python 데스크톱(PySide/PyQt) 유지보수 경험이 필요합니다.
- 공공기관 거래 경험이 있으면 우대합니다.
[제안 포함 필수 사항]
- 지원 내용은 아래 기준으로 검토합니다.
1. 기존 스택(Python·PySide6·SQLite)을 유지하는 전제에서 패키징 도구 등 추가로 쓰실 기술과 그 선택 이유를 제안에 포함해 주세요.
2. 파트너님께서 판단하시기에 어떤 부분이 완료되어야 이 프로젝트가 성공적으로 마무리되었다고 보시는지 제안에 포함해 주세요. 전문가로서 이 프로젝트의 결과물에 대한 의견 부탁드립니다.
3. 필수 과업 항목별, 추가 과업 A1~A6 항목별 예상 공수와 금액을 각각 구분해 제안에 포함해 주세요.