docs: add project docs and test updates

This commit is contained in:
taekyoungc
2026-04-08 00:23:55 +09:00
parent 06fedc866a
commit 06aa401048
238 changed files with 8373 additions and 148 deletions

View File

@@ -0,0 +1,173 @@
# 종량제 웹 버전 개발 기간 산정
**웹 기능만** (Phase 1~10, 모바일앱 Phase 11 제외) 기준으로, **얼마나 걸릴지** 단계별·인원별로 계산한 개요입니다.
실제 일정은 인력·요구 변경·테스트 기간에 따라 달라질 수 있으므로 참고용으로 사용합니다.
---
## 1. 범위 (웹만)
- **01-web-features.md** 기준 **63건** 기능.
- **06-development-plan.md** Phase **1~10** (Phase 11 모바일앱 제외).
- 공통·인증 → 관리자·메뉴 → 기본정보 → 발주/입고 → 불출 → 재고/실사 → 주문·판매 → 판매현황 → 수불 → 스캔 조회 순으로 의존 관계 있음.
---
## 2. Phase별 공수 가정 (1인 기준)
| Phase | 내용 | 예상 공수 (1인) | 비고 |
|-------|------|-----------------|------|
| **1** | 공통·인증 (로그인/로그아웃/로그/비식별화) | **2~3주** | auth 참고, CI4 재구현. 2차인증·5회 lock은 2단계에서 |
| **2** | 관리자·메뉴 (메뉴·권한·사용자·로그인이력·승인) | **4~5주** | auth admin 이식, 레이아웃·권한별 메뉴 |
| **3** | 기본정보 (코드·단가·포장단위·대행소·담당자·업체·무료대상자·지정판매소·비밀번호변경) | **6~8주** | CRUD 다수. 지정판매소(지도·바코드·엑셀) 비중 큼 |
| **4** | 발주·입고 (발주 등록/변경/삭제, LOT·바코드, 스캐너 입고, 일괄입고, 현황) | **6~8주** | LOT·PDF417·암호화·스캐너 연동 등 복잡 |
| **5** | 불출 (무료용 불출 현황·처리·취소) | **2~3주** | 재고·판매 연동 |
| **6** | 재고·실사 (재고 조회, 실사 선별·조회) | **2~3주** | Phase 4·5 데이터 기반 |
| **7** | 주문·판매 (전화접수·지정판매소 판매/취소/반품) | **5~6주** | 가상계좌·주문플로우. PG/Webhook은 고도화 시 별도 |
| **8** | 판매 현황 (대장·일계표·기간별·년도별·판매소별·홈택스) | **4~5주** | 리포트·엑셀·인쇄 |
| **9** | 봉투 수불 (기타 입출고·수불현황·반품파기·수급계획·LOT 수불) | **3~4주** | 수불 이력·조회 |
| **10** | 봉투 스캔 (스캔 횟수/위치 조회) | **1~2주** | 앱 스캔 데이터 조회, 지도 옵션 |
**Phase 1~10 합계 (1인)**
- 낙관: 2+4+6+6+2+2+5+4+3+1 = **35주**
- 보수: 3+5+8+8+3+3+6+5+4+2 = **47주**
- **중간값**: 약 **40~42주 (10~11개월)**.
---
## 3. 버퍼·통합·테스트
- **요구 확정·변경**: Phase 진행 중 스펙 정리·변경 반영 — **+10~15%**.
- **통합 테스트·버그 수정**: Phase 7~8 완료 후 전체 플로우 검증 — **+2~3주**.
- **검수·설치 테스트**: 06·25.11.24 기준 “약 1개월” 전제 — **+4주** (병행 가능).
반영 시 **1인 기준 순수 개발 40주 + 버퍼 4~6주 + 통합/검수 4~6주****약 48~52주 (12~13개월)**.
---
## 4. 인원별 예상 기간 (웹만, 달력 기준)
| 인원 | 순수 개발 (Phase 1~10) | 버퍼·통합·검수 포함 | 비고 |
|------|------------------------|----------------------|------|
| **1인** | 약 10~11개월 | **약 12~13개월** | Phase 순차 진행. 병목 없음. |
| **2인** | 약 5~6개월 | **약 7~8개월** | Phase 1·2 후 역할 분담(예: 1명 기본정보·발주, 1명 판매·현황). 의존 관계상 완전 병렬은 어려움. |
| **3인** | 약 4~5개월 | **약 6~7개월** | Phase 3 이후 모듈 분할. 통합·테스트 기간 필요. |
- **“웹 버전만 만드는데 얼마나 걸리나”** → **1인 기준 약 12~13개월**, **2인 기준 약 7~8개월** 정도로 보면 됩니다.
- 이미 문서에 있던 “2026년 말 기능 완료·2027년 초 오픈”과 맞추려면 **2인 이상**이면 2026년 2~3월 전후 착수 시 가능한 구간에 들어갑니다.
---
## 5. 전제·가정
- **요구사항**: 01-web-features, 04-menu-structure, 03-basic-codes 등 현재 문서 기준. 대규모 추가/삭제 시 공수 재산정 필요.
- **참조**: auth(메뉴·회원)·기존 레거시 동작 참고. 전부 신규 설계가 아님.
- **복잡 기능**: LOT·바코드(PDF417)·스캐너 연동·가상계좌·홈택스는 “1차 수준” 구현 가정. API·외부 연동 고도화는 별도 기간.
- **블록체인/불변 원장**: v1에서는 RDBMS 이력만. 블록체인 확장은 별도 Phase.
- **PDA 동기화·오프라인**: 25.11.24 메모에 있으나, 웹 1차 범위에서 “동기화 로직” 수준만 반영 가능하다고 보면, 상세 설계에 따라 공수 추가 가능.
---
## 6. AI를 적극 사용한다고 가정할 때
**전제**: 개발자가 Cursor·GitHub Copilot·ChatGPT 등으로 **코드 생성·리팩터·문서 작성·단위 테스트 초안**을 꾸준히 활용하고, 생성 결과를 검토·수정하면서 진행한다고 가정.
**AI로 단축되기 쉬운 부분**
- CRUD·폼·리스트·마이그레이션·시더: 템플릿·패턴이 명확해 **20~35%** 단축 가능.
- auth 이식(로그인·메뉴·권한): 문서·기존 코드 참고 시 **초안 작성·보일러플레이트** 단축.
- 공통 로직·헬퍼·검증 규칙: 반복 작업 감소.
- 문서·주석·테스트 케이스 초안: 작성 시간 감소.
**AI로 단축되기 어려운 부분**
- **요구사항 확정·의사결정**: 사람이 해야 함.
- **복잡 비즈니스 로직**(LOT·바코드 규칙, 수불·재고 계산, 주문 플로우): 검증·디버깅은 개발자 부담.
- **스캐너·하드웨어 연동**, **외부 API**(PG·홈택스): 연동·테스트는 그대로.
- **통합 테스트·버그 수정·검수**: 자동화되지 않으면 공수 유사.
**공수 감소 가정**
- **순수 개발(Phase 1~10)**: 위 구간에 한해 **약 25~30%** 단축 가능하다고 보면,
- 1인: 40~42주 → **약 28~32주 (7~8개월)**
- 2인: 20~24주 → **약 14~18주 (3.5~4.5개월)**
- **버퍼·통합·검수**는 AI 영향이 제한적이라 **기존과 비슷**하게 둠 (+4~6주).
- **AI 적극 사용 시 총 기간**
- **1인**: 28~32주 + 4~6주 ≈ **32~38주 (약 8~10개월)**
- **2인**: 14~18주 + 4~6주 ≈ **18~24주 (약 4.5~6개월)**
| 인원 | 기존 (AI 없음) | AI 적극 사용 시 |
|------|----------------|-----------------|
| **1인** | 약 12~13개월 | **약 8~10개월** |
| **2인** | 약 7~8개월 | **약 4.5~6개월** |
**정리**: AI를 적극 쓰면 **1인 기준 약 3~4개월, 2인 기준 약 2~2.5개월** 정도 단축될 수 있다고 보는 수준. 실제는 툴 숙련도·요구 변경·검수 강도에 따라 달라짐.
---
## 7. Electron 데스크톱 추가 시 기간
**전제**: 웹(CI4) 완성 후 **Electron**으로 설치형 데스크톱을 만든다. (Electron이 로컬에서 PHP 서버를 띄우고, 창으로 CI4 웹을 띄우는 방식. `17-desktop-packaging-options.md` §2.3 참고.)
**Electron 추가 공수 (웹 완료 이후)**
| 작업 | 예상 (1인) | 비고 |
|------|-------------|------|
| Electron 프로젝트 구성, 메인 프로세스(PHP 서버 기동·종료, BrowserWindow) | 1~2주 | Node.js·child_process로 PHP 실행, localhost 대기 후 로드 |
| PHP 런타임 + CI4 앱 번들링, (선택) MariaDB 포터블/SQLite | 1~2주 | 경로·환경변수·DB 연결 설정 |
| 패키징(electron-builder 등)·설치 프로그램(NSIS 등) | 0.5~1주 | exe/설치형 산출물 |
| 타깃 OS 테스트(Windows, 필요 시 Mac) | 1~2주 | 실제 PC에서 기동·종료·재설치 시나리오 |
**합계**: **약 3.5~7주 (약 1~1.5개월)**. 2인이면 2~4주로 단축 가능.
웹 개발과 **일부 병렬** 가능(예: 웹 Phase 8~9 진행 중 1명이 Electron 셋업 착수)하면, **달력상 추가는 약 0.5~1개월** 정도로 볼 수 있음.
**웹 + Electron 총 기간**
| 인원 | 웹만 | 웹 + Electron (순차) | 웹 + Electron (병렬 시) |
|------|------|----------------------|-------------------------|
| **1인** | 12~13개월 | **약 13~14.5개월** | **약 12.5~14개월** |
| **2인** | 7~8개월 | **약 7.5~9개월** | **약 7.5~8.5개월** |
| **1인 (AI 사용)** | 8~10개월 | **약 9~11개월** | **약 8.5~10.5개월** |
| **2인 (AI 사용)** | 4.5~6개월 | **약 5~6.5개월** | **약 5~6개월** |
Electron을 쓰기로 했으면 **웹 기간 + 약 1~1.5개월**(순차) 또는 **+0.5~1개월**(병렬) 정도로 보면 됨.
---
## 8. 공휴일·주말·휴가 제외 시 달력 기준 (착수 3월 3일 가정)
**전제**: 공휴일·주말·**월 1일 휴가**·**여름휴가 1주(5일)** 를 제외하고만 작업. 착수일 **2025년 3월 3일** 기준.
**가용 작업일**
- 1년 기준: 365 104(주말) 15(공휴일) 12(월 1일 휴가) 5(여름휴가) ≈ **229일**.
- 월평균: **약 19일** (일반적인 20~21일/월 가정보다 적음).
**기간 환산**
- 기존 "12개월" = 12 × 20 = 240 인·일 가정 시 → **달력상 240 ÷ 19 ≈ 12.6개월**.
- 기존 "8개월"(AI 사용) = 8 × 20 = 160 인·일 → **달력상 160 ÷ 19 ≈ 8.4개월**.
**착수 3월 3일 기준 예상 완료 시점**
| 시나리오 | 기존 기간 | 공휴·휴가 제외 반영 | 완료 시점 (대략) |
|----------|-----------|----------------------|-------------------|
| 1인, 웹만 | 12~13개월 | **약 13~14개월** | **2026년 4월~5월** |
| 1인, 웹만, AI 사용 | 8~10개월 | **약 8.5~10.5개월** | **2025년 11월~2026년 1월** |
| 2인, 웹만 | 7~8개월 | **약 7.5~8.5개월** | **2025년 10월~11월** |
| 2인, 웹만, AI 사용 | 4.5~6개월 | **약 5~6.5개월** | **2025년 8월~9월** |
| 1인, 웹+Electron | 13~14.5개월 | **약 14~15개월** | **2026년 5월~6월** |
| 1인, 웹+Electron, AI | 9~11개월 | **약 9.5~11.5개월** | **2025년 12월~2026년 2월** |
- 위 완료 시점은 **시작일 3월 3일**부터의 달력 일수로 환산한 것이며, 공휴일·휴가가 예상대로만 있을 때의 참고치입니다.
- 여름휴가·공휴일이 더 많거나, 월 1일 휴가가 늘어나면 가용 일수가 줄어 **완료는 더 늦어질 수** 있습니다.
---
## 9. 요약
| 질문 | 답 |
|------|----|
| 웹만 만들면 얼마나 걸리나? | **1인 약 12~13개월, 2인 약 7~8개월** (버퍼·통합·검수 포함). |
| AI 적극 사용하면? | **1인 약 8~10개월, 2인 약 4.5~6개월** (순수 개발 25~30% 단축 가정). |
| Electron 데스크톱까지? | **웹 기간 + 약 1~1.5개월** (순차). 병렬 시 **+0.5~1개월**. |
| 순수 개발만? | 1인 약 10~11개월, 2인 약 5~6개월. (AI 사용 시 1인 7~8개월, 2인 3.5~4.5개월) |
| 2026년 말 완료 가능? | 2인 이상·2026년 초 착수 시 가능 구간. 1인만이면 2026년 말은 촉박. **AI 적극 사용 시 1인도 2026년 초 착수면 2026년 말 완료 가능 구간.** |
| 3/3 착수, 공휴·주말·월1휴가·여름1주 제외 시? | 1인 웹만 **약 13~14개월** → 2026년 4~5월. 1인+AI **약 8.5~10.5개월** → 2025년 11월~2026년 1월. 2인+AI **약 5~6.5개월** → 2025년 8~9월. (§8 참고) |
이 문서는 회의·예산·일정 논의 시 참고용으로 사용하면 됩니다.