백성현 정보통신산업진흥원 SW공학센터 공학기술팀 팀장

SW 개발 관리의 첫걸음 (요구공학 및 도구)

SW 비주얼라이제이션(Visualization)은 SW의 비가시성을 극복함으로써 SW 개발 전체 과정을 파악할 수 있도록 하는 것을 목적으로 한다. 그리고 이를 통해 개발 중인 SW의 품질 중 가장 취약한 부분을 파악해 관련된 품질 활동을 수행할 수 있도록 하는 시스템이다. 이를 위해 SW 비주얼라이제이션에서는 ①지표 설정에 따른 명확한 목표수립과 ②시스템 기반의 효율적인 개발 활동 및 ③시각화를 통한 지속적 모니터링 및 통제를 제공하고 있다. SW 비주얼라이제이션에서요구사항 개발과 관리도 3가지 요소를 그대로 따르고 있다. SW 비주얼라이제이션은 명확한 목표 수립을 위해 요구사항 관련 지표를 설정하고 있다. 또, 효율적인 개발 활동을 수행하기 위해서도 요구공학 가이드를 제공하고, 지속적인 모니터링 및 통제를 위해 요구사항 관리 도구를 지원하고 있다. 이번 호에서는 요구공학 개념에 근거하여 SW 비주얼라이제이션에서 요구사항 관련 지표, 요구공학 가이드 그리고 요구공학 관리 도구에 대하여 소개하고 앞으로 SW 비주얼라이제이션의 요구사항 관리가 나가야할 방향에 대해 소개한다.


요구공학 개요
요구공학은 SW 개발에 있어 고객이 원하는 요구사항의 개발과 관리를 체계적이고 공학적으로 접근하는 것이다. 요구사항의 개발은 도출/분석/명세화/검증 및 확인의 순서로 진행해 개발자의 바람을 이끌어 내는 것이다. 요구사항 관리는 요구사항을 개발 후에 명세 된 요구사항의 변경이력을 관리해 이해관계자들이 동일한 요구사항을 공유할 수 있도록 하여 다른 공학영역과의 연계를 통한 품질향상을 실현하는 것이다.

요구사항의 개발에서 요구사항 추출 단계는 이해관계자들이 제시하는 추상적 요구에 대한 관련 정보를 수집하여 식별하고, 구체화하는 단계이다. 프로젝트 관리자는 다양한 요구사항 도출 방법을 프로젝트의 특성에 맞추어 적절하게 선정해야 한다. 그리고 요구사항의 누락을 방지하기 위해서는 관련법규를 포함한 다양한 소스를 빠짐없이 식별해야 한다.

그리고 관련된 이해관계자들이 모두 참여하여 기술적인 구현 가능성, 예산, 범위 등에 구애받지 않고 다양한 요구사항을 수집하는 단계이다.

요구사항 분석 단계에서는 도출된 요구사항들을 중요도, 구현가능성, 상호연관성 등을 고려하여 정제한다. 정제된 요구사항들은 구현 가능한 요구사항과 불가능한 요구사항으로 구분하고, 해당영역에 따라 분류한다. 분류된 요구사항은 중요도에 따라 우선 순위화 하고 프로젝트에 반영 여부를 결정한다.

요구사항 명세화 단계에서는 정제된 요구사항들을 최종 요구사항으로 확정하기 위해서 범위와 기술을 객관화하여 명세서를 작성한다. 그리고 요구사항 명세서는 어느 누가 읽어도 오해의 소지가 없도록 명확하고 일관성 있게 작성되어야 한다. 구현 방법은 일반적으로 설계의 영역이기에 기술하지 않는다.

요구사항 검증 및 확인 단계에서는 작성된 요구사항 명세서가 오류 없이 작성되었는지 검증하고, 고객의 요구사항이 요구사항 명세서에 빠짐없이 반영이 되었는지 확인하는 과정을 거치게 된다. 검증 후 고객과의 협의를 통해서 요구사항을 최종확정하게 되며, 이를 베이스 라인이라 한다.

프로젝트를 진행하다 보면 환경 및 조직의 변화, 혹은 기술, 시간, 비용적 문제 등 여러 요인으로 인해 확정된 요구사항일지라도 수시로 변경이 발생하는데, 프로젝트 참여자들이 동일한 요구사항을 보고 프로젝트를 수행하기 위해서는 이러한 변경에 대한 체계적인 관리가 필요하다.

<이하 상세 내용은 컴퓨터월드 5월 호 참조>
저작권자 © 아이티데일리 무단전재 및 재배포 금지