문제
다음은 비기능 요구사항에 대한 세 가지 설명이다. 각 설명 (1)~(3)에 해당하는 요구사항 유형을 아래 보기에서 골라 쓰시오.
- (1) 유닉스, 윈도우, 리눅스 등 여러 운영체제에서 프로그램을 사용할 수 있어야 한다.
- (2) 일정 메모리 이상을 확보해야 하며, 그래픽 카드 등 다양한 입력·출력 장치를 지원해야 한다.
- (3) 모든 요청은 1초 이내에 응답해야 하며, 트랜잭션이 즉시 반영되어 자유로운 쿼리가 가능해야 한다.
[보기] 이식성, 성능, 자원, 운영, 보안, 품질, 문화·정책적 요구사항
정답
- 이식성
- 자원
- 성능
해설
정답: (1) 이식성, (2) 자원, (3) 성능.
각 설명이 강조하는 관점을 요구사항 유형 정의와 맞춰 보면 된다.
- (1) 여러 운영체제에서 동작해야 한다 → 서로 다른 환경으로 옮겨도 쓸 수 있는 성질이므로 이식성(Portability)
- (2) 메모리 확보, 입출력 장치 지원 등 실행에 필요한 하드웨어 자원을 요구 → 자원(Resource) 요구사항
- (3) 1초 이내 응답, 즉시 반영 등 처리 속도·응답 시간을 규정 → 성능(Performance)
오답 풀이
- (1)을 운영으로 보면 오답. 운영 요구사항은 실제 사용 환경에서의 관리·유지·운용 조건을 다루며, "여러 OS에서 동작"은 환경 이동성이므로 이식성이다.
- (2)를 성능으로 보면 오답. 메모리·장치 확보는 속도가 아니라 실행에 필요한 자원 조건이다.
- (3)을 자원으로 보면 오답. 1초 응답·즉시 반영은 자원량이 아니라 처리 속도 지표이므로 성능이다.
- 보안·품질·문화 정책적 요구사항은 세 설명 어디에도 대응하지 않는다.
보충 개념 비기능 요구사항 유형: 성능(응답 시간·처리량), 자원(메모리·CPU·장치 등 자원 사용), 보안(접근 통제·암호화), 신뢰성, 이식성(다른 환경 이식), 사용성, 운영(운용·관리 조건), 문화·정책적 요구사항(법·규정·표준 준수). 유형별 정의를 서로 대비해 두면 헷갈리는 문항에서 구분이 빨라진다.