# 개발문서(산출물)

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

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

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

## 1. 관리 산출물

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

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

<figure><img src="/files/UYRYhj4GitzWyLPlqFdW" alt=""><figcaption></figcaption></figure>

## 2. 수행 산출물

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

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

<figure><img src="/files/ao4Ohn4I5V3nOgcRwao0" alt=""><figcaption></figcaption></figure>

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

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

<figure><img src="/files/XKaXoWOWVWM1y8YlczIk" alt=""><figcaption></figcaption></figure>

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

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

<figure><img src="/files/gMKYXSR7KPfAeivX6cI3" alt=""><figcaption><p>UML 예시</p></figcaption></figure>

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

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

<figure><img src="/files/TAPR3ipRETHRR25yIMPR" alt=""><figcaption><p>시퀀스 다이어그램 예시</p></figcaption></figure>

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

<figure><img src="/files/iUVRpNHBd5XlcaVnsvSi" 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="/files/f7RhWwmLR7xuYjjVU9E1" 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, 화면설계서이다. 만약 시간이 허락한다면

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://leeans-dev-book.gitbook.io/docs/undefined/undefined-3.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
