설계라는 것은 그림을 그리는 것이다. 건축물로 치면 설계도를 그리는 것이다. 설계도는 건축물을 만들기 위한 모든 것이 담겨져 있다. 그림으로 표시도 되어 있고, 수치로도 표시가 되어 있다. 어떤 건축물을 만들지를 알 수가 있다.
건축물에도 조망도가 있고, 상세하게 층마다 어떻게 지어질지가 나타나있는 세부 설계도가 있다. 건물을 보면 우리는 계단을 올라가서 보이는 공간이 다이지만, 사실 건물을 건축할 때 고려되어야 할 것은 대단히 많다. 전기 설비가 어떻게 될지, 선은 어떻게 들어갈지, 수도는 어떻게 배관되어야 할지, 공기는 어떤식으로 흘러가는지, 각 구역들은 어떤 식으로 사용이 될지 세부적으로 1mm까지 표시가 되어 있는 설계도 필요하다.
소프트웨서 설계에도 대략적으로 컨셉을 보여줄 수 있는 기획 문서가 있고, 설계서가 있고, 상세 화면 설계, 인터페이스 설계, 데이터베이스 설계등이 있다. 설계는 매우 정확해야 한다. 물론 설계를 하다보면 변경이 될 수도 있다. 하지만 설계도 상에서는 흐름이 완전해야 하고, 어떤 프로그램이 만들어질지가 명확해야 한다. 건축물의 전기나 물이 흘러가듯이 프로그램내에서도 내용이 어떻게 저장이 되어야 하는지, 외부와 어떤 방법으로 통신할지가 명확해야 한다.
사실은 프로그래머의 대부분은 이 단계를 싫어한다. 이 단계를 단순 문서 작업이라고 치부해버리기도 한다. 프로젝트 산출물을 만들기 위한 문서 작업이라고 생각한다면 그리고 그렇게 만들어진다면 정말 의미 없는 시간이 될 수도 있다. 하지만 프로그램을 정교하게 만들기 위한 구상의 단계를 실현화 하는 것이라면
의미가 있고, 중요하다. 개발자들이 싫어하지만, 이 단계를 즐길 수 있고, 좋아한다면 훌륭한 개발자가 될 수 있다. 개발자들이 싫어하는 것, 문서 만드는 것, 회의 하는 것, 정리하는 것, 대부분 개발자들은 만드는 것 자체를 재밌어 한다. 하지만 일로써 접근하고, 큰 프로젝트일수록, 표준화하고 정의 하는 것이 중요하다. 1인개발자를 꿈꾼다면 얘기는 달라질 수 있다. 하지만, 어느 순간에는 펜과 종이를 들고 무언가 자기 구성을 적고 있는 것을 발견할 수 있다. 이것이 설계이다. 이때 고민할 때 좀더 정교하게 잘 해둔다면 나중에 좋을 것이다.
책처럼 전체를 보기를 원하시면 아래 링크를 클릭하시고 북마크 하셔서 보시면 편리합니다.
'쉽게 풀어본 IT 기술 ' 카테고리의 다른 글
소프트웨어 아키텍쳐는 정답이 없다? (0) | 2018.08.31 |
---|---|
개발방법론 그리고 요구공학 (0) | 2018.08.31 |
앱 개발 어떻게 하지? (0) | 2018.08.31 |