> For the complete documentation index, see [llms.txt](https://leeans-dev-book.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://leeans-dev-book.gitbook.io/docs/undefined/undefined-3.md).

# 개발문서(산출물)

개발 프로젝트를 진행하다보면 많은 개발문서를 다루게 된다.&#x20;

하지만 우리는 짧은 프로젝트 기간 동안에 모든 문서를 작성하기에는 리소스에 한계가 있다.&#x20;

산출물을 크게 두 분류로 나누면 관리 산출물, 수행 산출물로 나눌 수 있다.

## 1. 관리 산출물

관리산출물은 실무자 보다는 관리 역할을 담당하는 PM(Project Manager)이 작성해야 하는 문서다.

* 착수 : 프로젝트 착수 전 + 착수시점에 작성하는 문서
* 계획 : 프로젝트를 수행하기 전 일정, 인력 등의 계획을 수립할 때 작성하는 문서
* 수행 : 실제로 프로젝트를 수행할 때 작성하는 문서
* 종료 : 프로젝트를 마무리할 때 작성하는 문서

<figure><img src="https://3814826491-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJyHOwztPxBT3bLpisjCt%2Fuploads%2Fn1nWZpcDLhNpBGG7eCsR%2FScreenshot_5.png?alt=media&amp;token=4d53c2c1-c0ee-4d7b-83bb-8ac2fdf04143" alt=""><figcaption></figcaption></figure>

## 2. 수행 산출물

수행 산출물은 기획자/ 개발자/ 디자이너 등의 실무자가 작성하는 문서다.

* 분석 : 설계를 진행하기 전에 현행 시스템이나 요구사항들을 분석하여 작성하는 문서
* 설계 : 요구사항이 정의된 상태에서 메뉴/ 화면 / DB / 테스트 등을 설계할 때 작성하는 문서
* 구현 : 화면설계서 등을 바탕으로 프로젝트를  진행하며 작성하는 소스코드 및 기타 산출물
* 테스트 : 시스템 개발 중 \~ 개발 이후에 테스트를 하는 과정에서 작성하는 문서
* 이행 : 테스트까지 모두 완료된 상태에서 시스템 설명 및 소스 등의 인수인계를 할 때 작성하는 문서

<figure><img src="https://3814826491-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJyHOwztPxBT3bLpisjCt%2Fuploads%2FvMAOSNBHCl0Wn94HhwDh%2FScreenshot_6.png?alt=media&amp;token=3a72efb4-c5c6-4649-bbe2-10f70e0d6101" alt=""><figcaption></figcaption></figure>

여기서 중요하거나 자주 작성하는 문서들은 다음과 같다.

* 요구사항 정의서 : 고객의 니즈를 담고있는 문서&#x20;

<figure><img src="https://3814826491-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJyHOwztPxBT3bLpisjCt%2Fuploads%2F3S0MFnhbcF4bOlMpzMPi%2FScreenshot_7.png?alt=media&amp;token=30083061-2cd6-420d-a9f3-04defd1b7bea" alt=""><figcaption></figcaption></figure>

* 기능차트 : 니즈를 베이스로 큰 카테로리를 만들어서 프로젝트의 역할을 보여준다.(UML로 대체가능)

보통 문서 양식이 딱딱 나뉘어져 있는 프로젝트의 경우에는 현행업무분석서(AS -IS) , 개선업무설계서 (TO -BE) 이런 형식으로 나누어서 작성하기도 하고 양식이 정해져 있지 않은 프로젝트는 AS - IS / TO- BE 를 함께 작성하고 프로젝트의 역할을 한 장의 UML로 표시하기도 한다.&#x20;

<figure><img src="https://3814826491-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJyHOwztPxBT3bLpisjCt%2Fuploads%2FGBhAPm3we24priXQTMkb%2FScreenshot_8.png?alt=media&amp;token=e7694fad-f537-4284-a253-76fbdf464b75" alt=""><figcaption><p>UML 예시</p></figcaption></figure>

{% embed url="<https://boardmix.com/kr/skills/what-is-a-sequence-diagram/>" %}
UML 작성법 참고자료
{% endembed %}

* 프로세스 정의서 : 기능 차트를 기준으로 각각의 프로세스를 보여준다. (시퀀스 다이어그램)

<figure><img src="https://3814826491-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJyHOwztPxBT3bLpisjCt%2Fuploads%2FEY4YqpfKAt10dlUUFHGB%2FScreenshot_9.png?alt=media&amp;token=e47fb8e2-b363-4805-963a-8829b9b1fe9a" alt=""><figcaption><p>시퀀스 다이어그램 예시</p></figcaption></figure>

* 화면 설계서 : 웹 애플리케이션에서 고객이 사용하고자 하는 샘플 화면 문서

<figure><img src="https://3814826491-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJyHOwztPxBT3bLpisjCt%2Fuploads%2FIXjQxH8fqtez6QOaTq24%2FScreenshot_10.png?alt=media&amp;token=33e3360f-522e-4f94-a00e-a2a1ef28f26a" alt=""><figcaption><p>화면 설계서 예시</p></figcaption></figure>

{% embed url="<https://yslab.kr/148>" %}
화면 설계서 작성방법
{% endembed %}

{% embed url="<https://www.kakaocorp.com/page/detail/7678>" %}
화면설계 시 주로 사용하는 툴
{% endembed %}

* 테이블 정의서 : 각 테이블의 필드명 값, 바이트등의 정보 표시&#x20;
* 테이블 목록 : 한눈에 데이터베이스 구조를 볼 수 있는 목록
* ERD :  데이터 베이스 테이블 간의 관계를 나타내는 문서

엄밀히 나누면 ERD , 테이블 목록, 테이블정의서를 따로 나누지만 보통은 데이터베이스 설계서 한 문서에 작성하기도 하고 ERD 만으로 갈음하기도 한다.

{% embed url="<https://www.erdcloud.com/>" %}
ERD 작성 무료 툴
{% endembed %}

<figure><img src="https://3814826491-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJyHOwztPxBT3bLpisjCt%2Fuploads%2F7mboDAgcFko0vewufTli%2FScreenshot_11.png?alt=media&amp;token=e3a8310b-f769-4d2a-a9fb-a0f77dd93e78" alt=""><figcaption><p>ERD 작성 예시</p></figcaption></figure>

* 개발 표준 정의서 : 변수명, 클래스명, 파일명의 규칙 등 코딩컨벤션을 담은 문서
* 단위 테스트 시나리오 : 프로세스별 단위 테스트를 위한 문서
* 통합 테스트 시나리오 :  개별적으로 동작하는 모듈이나 컴포넌트들을 결합하여 시스템 전체의 동작을 테스트하기 위한 문서

{% embed url="<https://rinfo.tistory.com/entry/15%ED%8E%B8-%EA%B5%AC%EC%B6%95-%EC%82%B0%EC%B6%9C%EB%AC%BC2-%EB%8B%A8%EC%9C%84%ED%86%B5%ED%95%A9%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%8B%9C%EB%82%98%EB%A6%AC%EC%98%A4-%EC%9E%91%EC%84%B1%EB%B2%95-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0>" %}
단위 테스트와 통합테스트 작성법 및 비교&#x20;
{% endembed %}

이외에도 시스템 이행 계획서, 사용자 메뉴얼, 운영자 메뉴얼, 완료보고서 등이 있지만 우리가 주로 다룰 것은 위 문서들이기에 넘어가기로 하자.

이 중에서 우리가 작성할 것은 시퀀스 다이어그램 , ERD, 화면설계서이다. 만약 시간이 허락한다면

단위 테스트 시나리오와 테스트 결과서 정도를 추가로 작성해보자.
