
요구사항 정의 요약
기능 요구사항
기능 요구사항은 시스템이 실제로 수행해야 할 작업이나 서비스와 관련된 내용입니다. 시스템의 입력과 출력, 수행해야 할 연산, 특정 조건에서의 동작 방식 등을 정의합니다. 다음과 같은 내용이 포함됩니다.
-
시스템이 무엇을 하는지, 어떤 기능을 갖는지에 대한 설명
-
시스템의 입력/출력, 데이터 처리 방식, 업무 절차
-
사용자가 시스템에서 무엇을 기대하는지에 대한 요구
비기능 요구사항
비기능 요구사항은 시스템의 기능 외적인 속성이나 품질과 관련된 요구입니다. 시스템이 기능을 어떻게 수행해야 하는지를 정의하며, 다음이 포함됩니다.
-
데이터 저장, 보안, 데이터 일관성 유지 등 품질 중심 요소
-
성능 요구사항: 속도, 안정성, 처리량, 복구 능력 등
-
운영 및 유지보수와 관련된 요구
-
인터페이스 설계, 사용 편의성, 이식성, 확장성
-
법적/규제적 요구 및 장애 대응, 백업 전략 등 운영 환경 조건
요구사항 정의 기출 문제
2024년 1회
15. 요구사항 분석에서 비기능적(Nonfunctional) 요구에 대한 설명으로 옳은 것은?해설 보기
정답: ② 비기능적 요구사항은 성능, 보안, 신뢰성, 응답 시간 등 시스템의 ‘동작 방식’에 대한 요구사항을 의미합니다. – ① 처리량, 반응 시간은 성능 요구로서 비기능 요구에 포함됩니다. (보기는 틀림) – ② 사용자가 화면을 3초 이내에 볼 수 있어야 한다는 응답 시간 요구는 비기능 요구입니다. (정답) – ③ 안전/보안 요구사항도 비기능적 요구입니다. (보기는 틀림) – ④ ‘조회, 입금, 송금 기능’ 등은 명백한 **기능적 요구**입니다. (보기는 틀림) |
요구사항 정의 부가 설명
소프트웨어가 제공해야 할 서비스와 그 운영 조건을 명확히 정의하는 것이 바로 요구사항 정의입니다. 즉, 시스템이 해결해야 할 문제와 이를 위한 기능, 성능, 품질, 보안 등 다양한 조건을 구체적으로 기술하는 과정이죠. 이 과정을 통해 개발자, 기획자, 사용자 간의 오해를 줄이고, 실제 사용자 요구에 부합하는 소프트웨어를 개발할 수 있습니다.
기능 요구사항은 시스템의 ‘무엇을’ 말하는가?
기능 요구사항은 소프트웨어가 실제로 수행해야 할 기능과 서비스에 대한 설명을 담고 있습니다. 예를 들어 사용자가 시스템을 통해 로그인하거나 데이터를 검색하고, 특정 명령을 수행하도록 하는 것이 바로 기능 요구사항에 해당합니다.
시스템 구성과 동작 중심의 정의
시스템이 어떤 기능을 하는지, 어떤 입력과 출력을 처리하는지를 설명하며, 이는 하드웨어, 소프트웨어, 네트워크 등의 시스템 구성과 밀접하게 연관되어 있습니다.
특정 예: 성능 중심의 정량적 요구
기능 요구사항은 단순히 ‘무엇을 한다’에 그치지 않고, ‘어떻게 얼마나 빠르게’ 같은 정량적 기준도 포함합니다. 예를 들어, 처리 속도
, 사용자 동시 접속 수
, 응답 시간
등은 정량적으로 측정할 수 있는 중요한 요구입니다.
인터페이스 관련 요구
기능 요구사항에는 시스템이 외부와 어떻게 상호작용해야 하는지도 포함됩니다. 예를 들어, 다른 시스템과 데이터를 주고받는 인터페이스의 방식, 형식, 오류 처리 방식 등이 이에 해당합니다.
비기능 요구사항은 ‘어떻게’를 설명합니다
반면, 비기능 요구사항은 기능이 ‘어떻게’ 제공되어야 하는지를 설명합니다. 이에는 성능, 보안, 유지보수, 사용자 경험 등 시스템의 품질 속성이 포함되며, 시스템의 전반적인 운영 방식과 관련이 깊습니다.
성능과 신뢰성, 보안성 요구
비기능 요구사항은 데이터 처리 속도, 메모리 사용량, 시스템 가동률, 장애 복구 시간 등과 같은 성능 관련 항목들을 포함합니다. 또한, 시스템이 얼마나 안전하고 신뢰할 수 있는지도 비기능 요구사항으로 명시됩니다.
테스트 가능성과 유지보수 용이성
시스템이 얼마나 쉽게 테스트될 수 있는가, 오류 발생 시 얼마나 신속하게 수정할 수 있는가도 중요한 비기능 요소입니다. 이는 장기적인 시스템 유지보수와도 직결되므로 특히 중요하게 다뤄집니다.
사용성, 이식성, 확장성
사용자의 입장에서 얼마나 쉽게 사용할 수 있는지(사용성), 다양한 환경에서 시스템이 잘 작동하는지(이식성), 향후 기능 추가나 시스템 확장에 얼마나 유연하게 대응할 수 있는지(확장성) 등도 대표적인 비기능 요구사항입니다.