요구사항의 개념 및 특징
요구사항은 소프트웨어가 어떤 문제를 해결하기 위해 전공하는 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건 등을 나타낸다.
1. 요구사항의 유형
일반적으로 기능적, 비기능적 요구사항으로 구분하며, 기술 관점과 대상 범위에 따라 시스템 요구사항, 사용자 요구사항으로 나뉜다.
1) 기능적 요구사항
시스템이 무엇을 하는지, 어떤 기능을 하는지에 대한 사항이며 시스템이 반드시 수행해야 하는 기능이다.
ex) 사용자는 회원ID와 비밀번호를 입력하여 로그인할 수 있다.
2) 비기능적 요구사항
성능, 인터페이스, 장비 구성 등 대부분 품질이나 제약사항과 관련이 있는 요구사항들이다.
ex) 시스템은 1년 365일, 하루 24시간 운용이 가능해야 한다.
3) 사용자 요구사항
사용자 관점에서 본 시스템이 제공해야 할 요구사항. 사용자를 위한 것이므로 친숙한 표현과 이해하기 쉽게 작성한 다.
4) 시스템 요구사항
개발자 관점에서 본 시스템 전체가 사용자와 다른 시스템에 제공해야 할 요구사항. 개발저 입장으로 쓰여진 것이기
때문에 전문적이고 기술적인 용어로 구성되어 있다.SW 요구사항이라고도 한다.
2. 요구사항 개발 프로세스
요구사항 개발 프로세스는 개발 대상에 대한 요구사항을 체계적으로 도출하고 이를 분석한 후 분석 결과를 명세서에 정리한 다음 마지막으로 이를 확인 및 검증하는 일련의 구조화된 활동이다.
3. 요구사항 도출(요구사항 수집)
요구사항 도출은 시스템, 사용자, 그리고 시스템 개발에 관련된 사람들이 서로 의견을 교환하여 요구사항이 어디에 있는지, 어떻게 수집할 것인지를 식별하고 이해하는 과정이다. 이해관계자(Stakeholder)가 식별되고 개발자와 고객의 관계가 만들어진다. 요구사항 도출은 SW 개발 생명 주기 동안 지속적으로 반복된다.
4. 요구사항 분석
요구사항 분석은 개발 대상에 대한 사용자의 요구사항 중 명확하지 않거나 모호하여 이해되지 않는 부분을 발견하고 이를 걸러내기 위한 과정이다. 사용자 요구사항의 타당성을 조사하고 비용과 일정에 대한 제약을 설정한다. 도출된 요구사항을 토대로 SW와 주변 환경이 상호 작용하는 방법을 이해한다.
5. 요구사항 명세
요구사항을 체계적으로 분석한 후 승인될 수 있도록 문서화하는 것을 의미한다. 기능적 요구사항은 빠짐없이 명확하게 기술해야하고 비기능적 요구사항은 필요한 것만 명확하게 기술한다. 사용자 측면에서는 이해하기 쉽고, 개발자 입장에서는 효과적으로 설계할 수 있도록 작성해야 한다.
6. 요구사항 확인
요구사항 명세서가 정확하고 완전하게 작성되었는지를 검토하는 활동이다. 이해하기 쉬운지, 일관성이 있는지, 회사의 기준이 맞는지, 누락된 여부가 없는지 등을 검토한다. 이해관계자들이 함께 모여서 검토해야 한다.
'정보처리기사' 카테고리의 다른 글
소프트웨어 생명 주기 (0) | 2020.07.31 |
---|