안녕하십니까? 씨앤텍시스템즈 유가현 선임연구원입니다. 이번 포스팅 주제는 "요구사항 정의와 필요성"입니다.
소프트웨어 개발의 궁극적인 목적은 개발된 소프트웨어를 사용하는 고객이 만족하는 것이며,
고객 만족을 위해서는 원하는 품질의 제품을 정해진 개발 기간과 주어진 예산 범위 안에서 개발을 해야합니다.
따라서, 계획 단계 때 사용자의 요구사항을 정확히 파악하고 분석하는 작업이 선행되어야 소프트웨어 개발의 궁극적인 목표 달성을 할 수 있습니다.
IEEE 610.12-1990 - IEEE Standard Glossary of Software Engineering Terminology에서
요구사항이란, 문제를 해결하거나 목표를 달성하기 위해 이해관계자가 필요로 하는 조건 또는 능력으로 정의하고 있습니다.
요구사항은 분류 방법에 따라 2가지로 분류할 수 있습니다.
ㅇ 사용자 요구사항 및 시스템 요구사항
ㅇ 기능 요구사항 및 비기능 요구사항
사용자는 소프트웨어를 개발하는데 필요한 기술적인 부분까지는 모르는 경우가 많기 때문에, 이해하기 쉽도록 작성된 문서가 필요합니다.
반대로 개발자는 사용자의 요구사항을 기반으로 시스템 기능, 서비스, 제약사항 등을 고려하여 어떻게 (How) 개발할지 상세하게 정의된 문서가 필요합니다.
이처럼 사용자과 개발자는 요구사항을 바라보는 관점의 차이가 있기 때문에, '사용자 요구사항'과 '시스템 요구사항'으로 구분하여 요구사항을 관리할 수 있습니다.
하지만 실제 프로젝트 환경에서는 관리 편의성을 위하여 두 개의 요구사항을 구분하지 않고, 사용자와 개발자가 함께 요구사항을 분석하여 하나의 요구사항정의서로 요구사항을 관리하는 것을 많이 볼 수 있습니다.
기능 요구사항은 기능 관점에서 정의한 요구사항을 말하며, 비기능 요구사항은 기능 요구사항 외 요구사항을 말합니다.
다음은 요구사항 분류에 따른 요구사항 종류와 설명입니다.
요구사항 분류 | 요구사항 종류 | 코드 | 설명 |
기능 요구사항 | 시스템 기능 (System Function Requirement) | SFR | 소프트웨어 기능 등 시스템 개발에 필요한 요구사항 |
비기능 요구사항 | 시스템 성능 (Performenace Requirement) | PER | 다수의 사용자들이 사용 중에 발생될 수 있는 성능 저하 현상을 향상시킬 수 있는 방안 |
인터페이스 (Interface Requirement) | INR | 사용자 인터페이스의 구현과 웹 접근성 고려 방안 | |
시스템 인터페이스 (System Interface Requirement) | SIR | 시스템 인터페이스의 구현 방안 | |
테스트 (Test Requirement) | TER | 테스트 방법 및 결과 처리 방안 | |
유지보수 (Maintenance Requirement) | MAR | 시스템의 안정적 운영을 위해 필요한 기술 | |
운영관리 (Operational Requirement) | OPR | 시스템의 원활한 운영 및 관리를 지원하고, 문제 발생 시 신속한 해결을 위해 효율적인 유지관리 운영인력 체계와 관리방안 | |
시스템 운영 (System Management Requirement) | SMR | 시스템의 원활한 운영 및 관리에 필요한 요구사항 | |
투입인력 (Maintence Human Resource Requirement) | MHR | 목표시스템의 정상 운영을 위한 조직 및 인력투입 방안 | |
보안 (Security Requirement) | SER | 정보자산의 기밀성과 무결성을 위해 목표시스템의 데이터 및 기능, 운영 접근을 통제하기 위한 요건 | |
품질 (Quality Requirement) | QUR | 목표시스템이 가져야 하는 품질 항목, 품질 평가 대상 및 목표값에 대한 요구사항 | |
제약사항 (Constraint Requirement) | COR | 목표시스템 설계, 구축, 운영과 관련하여 사전에 파악된 기술, 표준, 업무, 법, 제도 등의 제약조건 | |
사업관리 (Project Management Requirement) | PMR | 시스템의 원활한 수행을 위한 사업관리 방법론 및 추진 단계별 수행 방안에 대한 요구사항. 사업을 수행하기 위한 계약방식과 조건, 프로젝트 추진 기간 등에 대한 요구사항 | |
사업지원 (Project Support Requirement) | PSR | 프로젝트 수행 및 향후 지원을 위해 필요한 요구사항. 표준화, 교육지원, 기술지원, 하자보수, 유지보수, 프로젝트 팀원 요구사항 등 |
위 그림은 요구사항이 왜 중요한지를 보여주고 있습니다.
소프트웨어는 개발이 완료되기 전까지 눈에 보이지 않는 성질을 가지고 있기 때문에
다양한 이해관계자의 충분한 의사소통을 통해 요구사항을 도출하는 것이 중요합니다.
'Software > 소프트웨어 공학' 카테고리의 다른 글
형상 관리 개요 (0) | 2021.11.02 |
---|---|
WBS 소개 (0) | 2021.09.28 |
소프트웨어 제품 품질 지표 소개 (0) | 2021.08.25 |
소프트웨어 개발 생명주기 모델 소개 (0) | 2021.06.28 |
소프트웨어 공학 소개 (0) | 2021.05.17 |