카테고리 없음

요구사항의 분석 및 계획

BUST 2018. 6. 10. 21:37

요구사항의 분석 및 계획

프로그래밍 개발에 필요한 능력 

1. 커뮤니케이션 능력 (요구사항을 유도하는 능력)

2. 좋은 시스템 만드는 능력 (기능 추가가 쉬운, 기능 수정이 쉬운 시스템)

3. 개발 능력 (기능을 개발하는 능력)


요구사항을 분석을 하는 방법에 대해 생각을 해보자.

예를 들어 아래와 같은 요구사항은 있다고 가정을 하자.


1. 요구사항

1. 사용자는 To-do List를 통해 자신의 할일을 입력/삭제/추가를 할수가 있다.

2. 반복적인 할일은 주기설정을 통해 알람이 간다.

2. 요구사항의 분석을 하는 기능 리스트업

1. 사용자가 할일을 추가 할수 있다.

2. 사용자가 할일을 삭제 할수 있다.

3. 사용자가 주기설정을 할수가 있다.


3. 기능 통해 도메인을 정의를 한다.

- User

- Task

- Schdule


4. Todo 서비스 런칭의 마일스톤 계획

M0. 개발 환경을 셋팅을 한다.

M1. 사용자가 할일을 입력/삭제/추가를 할수가 있다.

M2. 사용자가 주기 설정을 통해주기적인 알람을 받을수가 있다.


마일스톤(milestone)이란 프로젝트 진행 과정에서 특기할 만한 사건이나 이정표를 말한다. 예를 들어, 프로젝트 계약, 착수, 인력투입, 선금 수령, 중간보고, 감리, 종료, 잔금 수령 등 프로젝트 성공을 위해 반드시 거쳐야 하는 중요한 지점을 말한다.

마일스톤은 프로젝트 일정관리를 위해 반드시 필요한 지점을 체크하기 위해 사용한다. 프로젝트 성공을 위해 필수적인 사항들을 각 단계별로 체크함으로써 전체적인 일정이 늦춰지지 않고 제 시간 안에 과업이 종료될 수 있도록 관리하는데 도움을 준다. 다만, 마일스톤은 프로젝트 진행 과정에서 결정적으로 중요한 핵심적인 사항들만 체크하기 때문에, 그다지 중요하지는 않더라도 프로젝트 진행에 꼭 필요한 다양한 요소들을 상세하게 파악하기 힘들다는 단점이 있다.

  • 마일스톤을 사용하는 이유는 프로젝트의 목표를 향해 여러개의 목표를 나누는 것이다.

  • 일정을 계산을 할때에도 하나의 milestone 단위로 계산을 한다.

  • milestone이 끝난다면 하나의 기능이 오픈을 해서 사용을 할수 있어야 된다는 개념이 가져야 한다.

  • 서비스 안정화 같은 것은 사실 milestone 하나의 과정이 아닌듯 하다.

5. 개발 진행 및 문서화

  • 1-2주 단위의 짧은 단위로 개발이후 데모
  • 요구사항은 중간에 바뀔수가 있다.
  • 시스템의 구조, 배포 방법, 운영 가이드를 문서화한다.


추가) 18.12.21

  • 탑 다운 (Top-down)과 바텀 업 (Bottom-up) 방식을 혼용해서 사용한다.
  • 요구사항도 언제나 바뀔수가 있고, 도메인 모델을 언제나 바꿀수가 있다. 즉 기획, 설계, 개발의 순서가 보장이 안되고 역으로 나갈수도 있다.