프로그램 아키텍쳐/소프트웨어공학

요구 사항 분석

본클라쓰 2010. 6. 26. 18:42

요구 사항 분석은 개발할 소프트웨어가 무엇을 수행할 것인지를 명확하게 정의하는 단계이다. 시스템 설계자들에게 데이터, 인터페이스, 아키텍처를 설계하는 데 필요한 정보를 제공한다.

 

요구 사항 분석시 업무를 분석하는 데 업무 분석을 통해 업무를 명확히 정의한 후 최종 결과물이 사용 부서의 용도와 의도에 적합하게 개발/구축 되도록 도움을 준다. 따라서 업무 분석은 현재 이루어지고 있는 업무 처리 내용을 기술하거나 도식화하는 것을 말하여 이 때 기존의 데이터를 분석하고 설문조사 등을 실시한다.

 

요구 사항을 정의할 때는 사용자(기능적) 요구 사항과 시스템(비기능적)요구 사항으로 나눌 수 있다.

 

기능적 요구 사항은 업무를 정보화로 전환한 후 현업 사용자가 이용하는 세부 기능을 포함하는 명세서 형태이며, 비기능적 요구 사항은 목표 시스템의 성능 및 용량, 활용 컴퓨터 및 통신망의 성능, 시스템 자체 또는 외부 인터페이스를 위해 적용되는 표준, 시스템 구축 및 설치 환경, 시스템 시험 방법, 시스템 보안, 시스템 운영 및 유지보수 대책 및 시스템 교육 훈련에 대한 요구사항을 포함한다.

 

요구사항 분석 단계에서는 많은 정보를 수집해서 정리해야 한다. 이 때 사용자와 개발자 간의 의사 소통의 원활해야 한다. 또한 수집된 정보로 업무 흐름도를 작성하는 데 업무 흐름도는 순서도와 같이 업무의 순서를 나열하여 처리하는 방법을 명시한 순서도이다.

 

요구사항 분석에 사용되는 구조적 분석 기법은 데마르코(demarco)가 고안한 기법으로 시스템을 구성하는 프로세스들 사이의 데이터 흐름에 맞추어 개발될 시스템의 모형을 만드는 것이다.

 

이 때 사용되는 도구는 자료 흐름도(data flow diagram), 자료 사전(data dictionary), 소단위 명세서(mini-specification) 이 있다.

 

이와 함게 기능명세서를 작성한다. 기능명세서는 구현해야 할 기능의 알고리즘을 간단하게 기술하는 것으로 기능 명세서가 작성되면 개체-관계 도표(ERD)를 작성한다.