1. 사전적 정의
> 시스템이 반드시 갖추어야 할 기능적, 비기능적 사항들을 정의하는 수단으로서, 시스템의 서비스 및 기능을 정의하고, 서비스/기능영역의 경계와 참여주체를 정의하고 표현하며, 사업계획, 사업범위 설정 및 통합의 틀을 제공하는 작업
2. 실무적 관점
> 시스템 전체의 구조를 사전에 정리하고 이를 기반으로 체계적인 개발이 진행될 수 있도록 틀을 제공하는 작업으로 시스템 구성의 목적에 기반하여 기획의 요구사항을 효율적으로 반영 할 수 있도록 설계& 문서화 한다.
3. 체계적인 개발진행이 주는 이점
> 비즈니스적인 요구사항을 신속, 정확하게 시스템에 적용할 수 있다.
> 체계적으로 문서화 하게 되면 IT기업의 자산이 된다.
> 문서화 함으로써 프로젝트 참여자들끼리의 소통이 원활해 진다.
4. 설계시 필수 정의사항
> FLOW Diagram : 프로세스, 프로그램, 데이터의 요소들의 구성 및 흐름도를 작성한다.
> DATA IN / OUT : 데이터의 입출력방식/ 통신방식 / 프로토콜을 정의한다.
> DB schema : 데이터 저장에 대한 구조를 정의한다.
> Data Mapping : 서버간 통신시에 데이터를 효과적으로 맵핑시키기 위한 정의서
> API 정의서 : 클라이언트에서 서버의 api를 활용하는 방식이라면 문서화하고 공유한다.