반응형

 프로젝트를 진행하기 전에 고객의 요구사항을 인식하고, 이를 설계하는 과정이 필요합니다. 이를 흔히 요구사항 분석 설계라고 하는데, 고객이 원하는 내용이 무엇이고, 어느 정도까지 구현할 것인가에 대한 프로젝트의 범위를 정하는 것을 목적으로 합니다.

 

  요구사항은 실제로 상당히 방대해질 수 있으므로, 프로젝트에서는 단계를 정확히 구분해 주는 것이 좋습니다. 만일 팀원들이 경험이 풍부하다면 초기 버전을 상당히 많은 기능을 포함시켜 개발을 진행할 수 있지만, 그렇지 못하다면 최대한 단순하고 눈에 보이는 결과를 만들어 내는 형태로 진행하는 것이 좋습니다.

 

  요구사항은 온전한 문장으로 정리하는 것이 좋습니다. 주어는 '고객'이고 목적어는 '대상'이 됩니다. 여기서의 '대상'은 결국 데이터의 베이스 설계와 시스템 설계에서 가장중요한 용어가 됩니다(다른 용어로는 도메인(Domain)이라는 단어를 사용하는 경우도 많습니다.). 예를 들어, 게시판의 경우 다음과 같이 요구사항을 정리할 수 있습니다.

 

  • 고객은 새로운 게시물을 등록할 수 있어야 한다.
  • 고객은 특정한 게시물을 조회할 수 있어야 한다.
  • 고객은 작성한 게시물을 삭제할 수 있어야 한다.
  • 기타 등등

  이 경우 '대상'은 '게시물'이 되므로, 게시물이라는 용어가 필요하게 되고, 게시물의 구조를 판단해서 데이터베이스 테이블을 설계하게 됩니다. 예를 들어, 게시물의 경우 'tbl_board'라는 테이블을 설계하고 되고, 테이블과 관련된 VO클래스 역시 BoardVO와 같은 이름으로 설계 될 수 있습니다. 게시물과 관련된 로직은 org.zerock.service.BoardService가 될 수 있고, org.zerock.controller.BoarController라는 이름의 클래스를 생성하는 연속적인 과정을 거치게 됩니다.

 

출처: 코드로 배우는 스프링 웹 프로젝트

반응형
블로그 이미지

꽃꽂이하는개발자

,