강승준 SW공학센터 SW공학기술팀 책임연구원


▲ 강승준 SW공학센터 SW공학기술팀 책임연구원



요구사항 분석 (analyzing the requirements)


• 오늘날 소프트웨어가 들어가지 않는 시스템이 거의 없고, 개발되는 소프트웨어의 크기와 복잡도가 상상을 불허하게 되면서 개발 초기에 가능한 많은 요구사항을 도출해낼 필요성이 대두되었다. 이러한 여러 이해관계자들의 요구사항을 이해하고 분석하여 소프트웨어 설계에 적당한 품질 요구사항으로 작성하여야 한다.

• 소프트웨어 품질 요구사항은 목표 시스템 개발과 관련된 기능적 요구사항, 비기능적 요구사항, 품질속성, 설계 및 개발의 제약사항(Constraint) 등을 이해하고, 소프트웨어 아키텍처와 관련된 기능/비기능적 요구사항, 품질속성 및 제약사항을 도출하여야 한다. 따라서 품질 요구사항은 중요한 품질속성으로 도출되고, 이를시나리오 형식으로 표현하여 모든 이해관계자가 쉽게 이해할 수 있도록 작성한다.

• 이러한 작업을 수행하기 위하여 개발 초반에 품질 요구사항을 명확히 정의하여 시스템의 품질속성을 도출하고, 이를 시나리오의 형식으로 표현한다. 시스템 요구사항을 추출하고, 선택하고, 구성하여 소프트웨어 품질속성으로 정의하고, 기능요구사항과 품질속성을 기반으로 목표를 설정하고, 시나리오를 작성하며, 이를 우선 순위화하여 정제하는 활동을 수행한다.

• 요구사항 분석의 과정은 관련된 담당자 및 이해관계자들이 모여서 토론하며 분석을 하는 워크샵(Workshop)형태로 진행되며, 개발 초기에 요구사항을 명확히 정의하기 위하여 수행된다. 기본적으로 2일의 일정으로 구성되어 있으나 과제의 특성에 따라 조절하여 진행하도록 한다. 다양한 이해관계자 및 담당자들이 함께 모여 수행하는 방식이므로 시간(일정)의 제약이 존재한다. 본 지침에서는 시나리오 작성을 위하여 이해관계자 및 담당자가 모여서 토론하는 방법을 정리하였다.

3.1 요구사항 분석 절차

요구사항분석절차를 요약하면 아래의 그림1과 같다.


▲ <그림 1> 요구사항 분석 과정 요약





이해관계자들의 다양한 요구사항을 담당자들이 소프트웨어 아키텍처 설계에 적합하게 분석하여 중요한 품질속성을 도출하고 이를 시나리오로 표현하는 작업을 수행한다.



<이하 상세 내용은 컴퓨터월드 6월 호 참조>

저작권자 © 아이티데일리 무단전재 및 재배포 금지