본문 바로가기

더 괜찮은 개발자가 되기위한/요구사항 분석하기

요구사항 분석

□ 요구사항 분석


○ 요구사항 분석


요구사항 분석 개념


상위 수준 요구사항을 찾아내는 요구사항 도출 과정이 끝났다면 이제 세부 요구사항을 도출하고 다양한 각도에서 검토하는 요구사항 분석을 해야 한다. 요구사항 분석 과정에서는 요구사항들 간 상충되는 내용이나 중복되는 것들을 정리하고 개발 범위를 명확히 해 업무환경, 개발환경 그리고 개발 범위가 어떻게 상호작용하는지 이해해야 한다. 또한 어떤 요구사항이 중요하고 어떤 요구사항이 보다 절 중요한지 요구사항에 대한 우선순위를 정해야 한다.

요구사항 분석 과정에서도 고객과의 커뮤니케이션은 필수적인 과정이다. 분석과 인터뷰를 반복해 가면서 요구사항을 보다 구체적이고 완전하게 파악할 수 있다. 인터뷰 계획서를 만들고 인터뷰 후에 반드시 결과를 기록해 다음 인터뷰 때 고객에게 같은 질문을 하지 않도록 주의하자. 고객은 인터뷰 과정에서 설계자를 평가하며 설계자의 잦은 실수는 신뢰도를 떨어뜨릴 수 있다. 고객에게 신뢰 받지 못하는 설계자는 앞으로 있을 많은 의사 결정 과정에서 고객을 설득하기 위해 굉장히 많은 시간을 소비해야 한다.

요구사항 분석을 위한 다양한 기법이 있지만 대표적으로 많이 사용되는 손 그림, 유즈케이스 다이어그램, 프로토타입에 대해서 알아보자.

 

○ 손 그림을 사용한 분석


손 그림을 사용한 요구 분석

(출처: https://medium.com/side-project-lovers-unite/poczone-1-platform-concept-6849253c9d53)


요구사항을 분석하기 위해 가장 필요한 것은 고객과 커뮤니케이션하는 것이다. 설계자는 IT 엔지니어이고 고객은 업무 전문가이기 때문에 서로 사용하는 용어와 이해 방식이 다르다. 따라서 이러한 간극을 메워줄 수단이 필요한데 가장 간단하면서도 많이 사용되는 것이 손 그림이다. 손으로 그림을 그리는 것은 간단하고 단순한 방법이지만 개념을 시각화하고 생각을 입체적으로 표현할 수 있는 아주 효과적인 방법이다.  설계자는 자신이 이해한 내용을 그림으로 표현해 고객과 발생할 수 있는 오해의 소지를 사전에 줄일 수 있다.

 

○ 유즈케이스 다이어그램을 사용한 분석


유즈케이스 다이어그램


요구사항이 도출됐다면 설계자는 이해한 내용을 스스로 정리해보는 과정이 필요하다. 이 때 필요한 도구가 유즈케이스 다이어그램이다. 유즈케이스 다이어그램은 액터로 표현되는 사용자가 시스템에 요구하는 기능을 도식화한 그림으로써 기능을 구조화할 때 유용하게 사용된다. 또한 유즈케이스 다이어그램은 그림이 단순하고 이해하기 쉬워 IT를 잘 모르는 고객도 쉽게 이해할 수 있다.


잘 만들어진 유즈케이스 다이어그램은 프로세스 설계에 활용될 수 있다. 유즈케이스는 DFD(Data Flow Diagram)의 프로세스로 표현될 수 있으며 액터는 외부엔티티 그리고 릴레이션은 데이터 흐름으로 표현될 수 있다. 11로 정확히 매핑되는 것은 아니지만 유즈케이스 다이어그램을 바탕으로 프로세스 설계서를 보다 쉽게 만들 수 있다.


유즈케이스 다이어그램 작성법


유즈케이스 다이어그램을 효과적을 만드는 방법을 알아보자. 가장 먼저 시스템 경계를 정의해야 한다. 구축하고자 하는 스마트영업지원시스템의 범위를 정하는 것이다. 그 안에 서비스를 제공하는 유즈케이스를 그려 넣는다. 다음으로 액터를 식별해야 한다. 액터는 시스템을 사용하는 주체를 말한다. 스마트 영업지원시스템을 사용하는 영업사원과 재무시스템 그리고 인사시스템이 액터에 해당한다. 이제 시스템이 정의하는 기능인 유즈케이스를 찾아야 한다. 영업정보 관리, 영업비용 정산 등이 유즈케이스에 해당한다. 다음으로 관계를 정의해야 한다. 액터와 액터, 액터와 유즈케이스, 유즈케이스와 유즈케이스 상호 간에 어떤 관계가 있는지 정의한다. 마지막으로 유즈케이스를 상세화한다. 유즈케이스는 처음에는 추상적으로 만들고 업무 분석이 구체화 됨에 따라 좀 더 상세화할 수 있다. 영업정보 관리 유즈케이스를 고객사 정보조회, 일지작성 등의 기능으로 세분화 할 수 있다.


○ 프로토타입을 사용한 분석


프로토타입

(출처: http://www.welshgeek.com/services/prototyping/)


마지막으로 소개할 요구 분석 도구는 프로토타입이다. 프로토타입은 시스템의 개략적인 기능을 조작인 간단한 언어(HTML, 4GL)로 개발한 일종의 시제품이다. 아무리 손 그림이나 유즈케이스 다이어그램으로 설계자가 고객에게 친절하게 설명해도 고객은 동작하는 프로그램을 봐야 이것이 내가 원하는 것인지 아닌지 알 수 있다. 이 때 사용하는 것이 바로 프로토타입이다. 코딩을 하지 않고 드래그 앤 드랍(Drag and Drop) 방식으로 개발할 수 있는 HTML이나 4GL 툴을 사용해 프로토타입을 만들어 고객에게 보여준다면 좀 더 명확하게 요구사항을 분석할 수 있다


프로토타입 설계 원칙


프로토타입은 요구 분석 마지막 단계에 만들어야 한다. 설계자가 분석한 요구사항이 고객이 생각하는 것과 동일한지 최종 확인하기 위해 프로토타입을 사용하기 때문이다. 요구 분석이 끝나면 프로토타입은 폐기해야 한다. 화면을 만들기 위해 프로토타입을 재사용한다면 불필요한 코드가 들어갈 수 있고 코딩 표준에 위배되는 코드가 만들어질 수 있기 때문이다. 프로토타입에 들어가있는 링크를 클릭하면 다음 화면으로 이동하거나 불가능할 경우에는 최소한 메시지 창이라도 띄워야 한다. 또한 이동된 화면에서는 다른 기능을 보여주지 않아도 된다. 링크를 누르면 화면이 이동된다 정도만 보여주면 된다. 프로토타입을 만들 때는 디자인을 신경 쓰지 않아도 된다. 너무 디자인을 화려하게 하면 고객에게 프로그램 개발이 완료되었다는 잘못된 메시지를 줄 수 있기 때문이다. 프로토타입의 주된 목적은 기능의 확인이다.


반응형

'더 괜찮은 개발자가 되기위한 > 요구사항 분석하기' 카테고리의 다른 글

요구사항 검증  (0) 2018.11.19
요구사항 명세  (0) 2018.11.19
요구사항 도출  (0) 2018.11.19
요구사항 분석 개념  (0) 2018.11.19