소프트웨어 분석설계 - WikiDocs
소프트웨어 분석설계는 요구사항 수집·명세, 현행 시스템 파악, 문서화, 테스트와 코드 품질을 소개하는 한국어 자료다. 이 노트는 목차를 따라 읽은 내용을 개인·프로젝트 Vault의 기존 주장과 대조해 증류한 기록이다. 저자의 설명을 보편적 표준이나 프로젝트의 확정 계약으로 채택하지 않는다.
요구를 검증 가능한 조건으로 잇기
책의 유용한 흐름은 사용자의 필요를 수집하고, 실제 업무와 제약을 확인한 다음 명세·설계·검증으로 이어 가는 것이다. 인터뷰는 질문에 대한 답뿐 아니라 답이 나온 업무 배경을 확인하는 데 쓰고, 설문은 목적에 맞는 질문과 응답 해석을 먼저 정한다.
명확한 요구사항에는 적용 조건과 관찰할 결과가 있어야 한다. 구체화 과정에서 사용자의 목적이 바뀌거나 미정인 수치가 확정값처럼 들어가지 않도록 한다. 책의 주문 속도 요구를 배송 현황 조회로 바꾸는 예와, 응답시간의 본문·비고가 서로 다른 기준을 제시하는 예는 좋은 명세의 완성본으로 복제하지 않았다.
현행 분석에서는 담당자·업무 순서·판단·데이터·연계뿐 아니라 실제 예외와 수작업을 확인한다. 개선된 미래 흐름을 현재 기능과 구분하고, 사용자 여정의 감정·불편은 관찰·진술·가설의 근거를 구별한다. 순서도·데이터 구조도·데이터 흐름도는 서로 다른 질문에 답한다.
문서화는 산출물의 양보다 요구의 근거와 설계·구현·검증 사이를 따라갈 수 있을 때 유용하다. 검토·승인·변경 기록과 실제 구현·테스트 결과는 다른 상태다. 이 연결은 기존 Golden 기대값의 독립성과도 이어진다.
기존 지식과 처리 대조
중복 여부는 제목 유사도가 아니라 주장·적용 범위·보장 수준으로 판단했다. 개인 Vault는 조회 commit b9b1863d768842886962e098a42883dab39fd115을 기준으로 비교했다.
| 책의 논점 | 기존 개인·프로젝트 지식 | 차이와 처리 |
|---|---|---|
| 요구를 명확하고 검증 가능하게 표현 | 에이전트 문서 작성 Map의 행동 지침; Vigilantis 기능별 요구사항·열린 품질 기준 | 대상이 제품 요구의 도출로 다르다. 요구사항을 구체화할 때 사용자 목적과 판정 조건을 함께 보존한다 신설. 에이전트 지침이나 품질 평가의 모든 기준을 대체하지 않는다. |
| 인터뷰·현행 업무·예외·우회 | 기존 다이어그램 노트는 표현과 축약을 다룸 | 관찰할 대상을 정하는 별도 주장으로 현행 업무 분석에는 예외와 임시 처리까지 포함한다 신설. |
| 요구·문서·테스트 연결과 변경 | 프로젝트 요구사항에는 근거·책임·검증 방법이 존재 | 범용 변경 영향 판단을 요구사항의 변경 영향은 설계·구현·검증 연결로 추적한다으로 정리. 프로젝트 기존 표를 새로 복제하지 않는다. |
| 순서도·ERD·DFD의 선택 | 다이어그램 유형은 보여줄 관계에 맞춰 고른다 | 기존 Atomic에 이 자료의 기여를 추가. 새 유형별 Atomic은 만들지 않음. |
| 순서도에서 역할·분기·예외 보존 | 다이어그램을 축약할 때는 핵심 관계를 보존하고 생략을 기록한다 | 기존 주장에 원천을 연결. 현행 사실을 확인하는 일은 별도 Atomic으로 구분. |
| 테스트 수준·기법·위험·입력 선택 | 테스트 설계는 시나리오 오라클 범위와 위험을 별도 축으로 다룬다 | 입력 선택 기법과 커버리지의 보장 한계를 보강. 기존 분류를 종류별 새 노트로 쪼개지 않음. |
| 단위·통합·Mock과 실제 의존성 | 규칙은 소유한 가장 좁고 안정적인 공개 경계에서 깊게 테스트한다; Vigilantis 테스트 대역 Atomic | 실제 실행한 경계와 대체한 경계를 명시하는 보강. 이미 있는 로컬 주장 재사용. |
| 기대 결과·정상·오류·장애 사례 | Golden 기대값은 구현과 독립적으로 도출하고 계약상 의미만 고정한다; Vigilantis Test Strategy | 기존 노트가 더 구체적이다. 책의 금융·보험 예제는 학습 사례로만 남김. |
| 자동화·CI/CD·도구 | 기존 테스트 수행과 통과 판정, 프로젝트 검증 절차 | 도구 분류를 이해하는 배경 자료. 특정 제품·파이프라인이나 전수 조합을 요구하지 않음. |
| 복잡도·응집도·결합도·정적 분석 | 기존 책임 경계 원칙과 인접 | 유지보수 위험을 찾는 관점으로 참고. 수치 하나나 도구 통과를 전체 품질 보장으로 승격하지 않음. |
| 리팩토링 이름으로 인증·응답 동작 변경 | Vigilantis 변경 검증 Reference에 동작 보존·생성 입력 대조 원칙이 이미 있음 | 기존 로컬 원칙을 외부 동작을 바꾸는 개선은 리팩토링과 구분한다에 승격하고 책의 예제와 대조. |
| 화면·인터페이스 분석 | 기존 UI Atomic들 | 해당 두 절은 열람 당시 본문이 마침표 하나였다. 제목만 보고 UI 원칙을 증류하지 않음. |
원문에서 교정하거나 채택을 보류한 부분
| 원문 부분 | 증류 시 판단·확인 근거 |
|---|---|
| 요구사항 예제·작성 가이드 | 수치의 구체성과 요구의 타당성은 다르다. NASA 요구사항 점검표의 근거·가정·필요성·검증 가능성과 대조했다. |
| 테스트 케이스·구조 기반 테스트 | 모든 조합을 채우거나 커버리지로 결함 부재를 보장하지 않는다. ISTQB CTFL v4.0.1 §1.3·4.3과 대조했다. |
| 경험 기반 테스트 | 탐색적 테스트를 문서화할 수 없는 비체계적 활동으로 고정하지 않는다. 같은 ISTQB §4.4.2에는 목표·시간 범위·기록을 두는 세션 방식이 있다. |
| 통합 테스트 | MockMvc와 RestTemplate의 역할을 같은 테스트 방식으로 취급하지 않는다. Spring 6.2 공식 문서는 MockMvc의 서버 측 테스트와 MockRestServiceServer를 이용한 클라이언트 테스트를 구분한다. |
| OWASP 설명 | 일반 웹 애플리케이션 Top 10 소개에 스마트 계약 순위가 이어진다. 웹 Top 10:2025와 Smart Contract Top 10:2025는 적용 대상이 다르다. 순위 변화의 원인 추정·발표 주기를 일반 사실로 옮기지 않았다. |
| 로그인 개선 | 응답 형식과 인증 방식이 바뀌어 관찰 가능한 동작 보존의 예가 아니다. Fowler의 정의로 구분했다. 코드의 보안 완결성·테스트 충족 주장은 실행 확인하지 않았다. |
| 3계층·ERP·응집도·결합도·복잡도 | 교육용 설명과 프로젝트 설계 결정을 구분한다. 복잡도 10 같은 기준이나 특정 계층 변경의 무파급을 보편적 보장으로 채택하지 않았다. |
추가 보조 원천은 NASA 요구사항 관리와 GOV.UK 맥락 관찰이다. 이 원천의 조직별 절차 전체를 개인 프로젝트의 필수 과정으로 옮기지 않았다.
로컬 프로젝트 대조와 적용
- Vigilantis: Home → Knowledge → Engineering Knowledge·Test Strategy → 관련 Atomic·요구사항·변경 검증 Reference를 읽었다. 요구사항 초안의 채택 상태와 검증 상태, 최신 로컬 평가 Atomic의 후속 정정도 비교했다. 추가할 판단은 측정 조건, 요구와 테스트의 변경 추적, 커버리지·오라클의 구분이다. 리팩토링의 행동 경계는 기존 변경 검증 Reference를 재사용·승격했다. Engineering Knowledge와 Test Strategy에 프로젝트용 표현으로 연결한다. 팀 SSOT·ADR·Schema의 계약과 채택 권한은 유지한다.
- 개인사이트: README·Current에서 DecisionGuide·References의 원천·관찰·선호·채택 분리와 기존 UI 증류를 확인했다. 책에서 추가로 확정할 화면 요구나 독립 Atomic을 찾지 못했다. 기존 기록을 재사용하며 글 전개·UI 선택을 새로 확정하지 않는다.
이 대조는 각 문서가 제공하는 지식의 범위를 확인한 것이다. 프로젝트 전체 파일·원격 최신 이력·실환경 동작을 전수 검증한 결과는 아니다.
읽은 목차와 처리 범위
공개 목차에 나온 다음 48개 페이지의 본문 텍스트를 2026-09-19에 확인했다. 목차에 없는 장을 추측해서 추가하지 않았다. 그림 속 수치·코드 실행·접힌 문제 정답은 독립 검증 범위에서 제외했다.
| 묶음 | 확인한 페이지 |
|---|---|
| 개요·방법론·문제 4개 | 1 개요, 분석과 설계, 방법론, 문제 |
| 요구사항 10개 | 2 요구사항, 수집, 인터뷰, 설문, 수집 실습, 명세·검토, 명세 예제, 작성 가이드, 명세 실습, 문제 |
| 현행 시스템·문서화 14개 | 3 현행 시스템, 업무 프로세스, 순서도, 순서도 주의, 순서도 실습, 사용자 여정, 화면, 인터페이스, 3계층, ERP 사례, 데이터, 문서화, 검토·승인, 협업 도구 |
| 테스트·품질 20개 | 7 테스트·품질, 개요, 케이스, 예제, 자동화, CI/CD, 유형, 단위, 통합, 보험 사례, 기법, 명세 기반, 구조 기반, 경험 기반, 코드 품질, 복잡도, 응집도·결합도, 보안, 정적 분석, 리팩토링 |
요구사항에서 검증까지에서 새 주장과 재사용한 기존 노트를 함께 읽는다.