5. 요구사항 분석에서 비기능적(Nonfunctional) 요구에 대한 설명으로 옳은 것은?
① 시스템의 처리량(Throughput), 반응 시간 등의 성능 요구나 품질 요구는 비기능적 요구에 해당하지 않는다.
② '차량 대여 시스템이 제공하는 모든 화면이 3초 이내에 사용자에게 보여야 한다'는 비기능적 요구이다.
③ 시스템 구축과 관련된 안전, 보안에 대한 요구사항들은 비기능적 요구에 해당하지 않는다.
④ '금융 시스템은 조회, 인출, 입금, 송금의 기능이 있어야 한다'는 비기능적 요구이다.
요구사항 분석: 비기능적(Nonfunctional) 요구에 대한 개념과 문제 분석
소프트웨어 개발에서 **요구사항 분석(Requirement Analysis)**은 시스템이 만족해야 하는 기능과 특성을 정의하는 과정입니다.
요구사항은 크게 **기능적 요구사항(Functional Requirements)**과 **비기능적 요구사항(Nonfunctional Requirements)**으로 나뉩니다.
이번 글에서는 비기능적 요구사항의 개념을 설명하고, 문제에서 제시된 선택지 중 옳은 것을 분석하겠습니다.
1. 요구사항의 종류
소프트웨어 개발에서 요구사항은 기능적 요구사항(Functional Requirements)과 비기능적 요구사항(Nonfunctional Requirements)으로 분류됩니다.
✅ (1) 기능적 요구사항(Functional Requirements)
- 시스템이 수행해야 하는 기능이나 서비스에 대한 요구사항을 의미합니다.
- 사용자가 수행할 수 있는 작업과 시스템의 동작을 정의합니다.
- 기능적 요구사항은 **"무엇(What)을 할 것인가?"**에 초점을 둡니다.
📌 기능적 요구사항 예시
- 사용자는 로그인할 수 있어야 한다.
- 사용자는 상품을 검색하고 장바구니에 추가할 수 있어야 한다.
- 금융 시스템은 계좌 조회, 입금, 인출, 송금 기능을 제공해야 한다.
✅ (2) 비기능적 요구사항(Nonfunctional Requirements)
- 시스템의 품질, 성능, 보안, 유지보수성 등의 특성과 관련된 요구사항입니다.
- 시스템이 어떻게 동작해야 하는지를 정의합니다.
- 비기능적 요구사항은 **"어떻게(How) 동작할 것인가?"**에 초점을 둡니다.
📌 비기능적 요구사항 예시
- 시스템은 초당 1000건 이상의 트랜잭션을 처리할 수 있어야 한다. (성능)
- 사용자는 3초 이내에 페이지 로딩을 완료할 수 있어야 한다. (응답 시간)
- 시스템은 비밀번호를 암호화하여 저장해야 한다. (보안)
- 시스템은 99.9% 이상의 가용성을 유지해야 한다. (신뢰성)
2. 문제에서 제시된 선택지 분석
✅ 옳은 선택지: ② '차량 대여 시스템이 제공하는 모든 화면이 3초 이내에 사용자에게 보여야 한다'는 비기능적 요구이다.
이 문장은 **시스템의 응답 시간(Response Time)**에 대한 요구사항을 나타내므로, 비기능적 요구사항에 해당합니다.
💡 비기능적 요구사항은 성능(Performance), 속도(Speed), 보안(Security) 등 시스템의 특성과 관련된 요구사항을 정의하는데, "모든 화면이 3초 이내에 사용자에게 보여야 한다"는 명확한 성능 요구사항에 해당합니다.
❌ 틀린 선택지 분석
① 시스템의 처리량(Throughput), 반응 시간 등의 성능 요구나 품질 요구는 비기능적 요구에 해당하지 않는다.
→ 틀림!
성능(Performance)과 품질(Quality) 요구사항은 대표적인 비기능적 요구사항입니다.
- 예를 들어, "시스템은 초당 1000건 이상의 트랜잭션을 처리해야 한다"는 비기능적 요구사항입니다.
③ 시스템 구축과 관련된 안전, 보안에 대한 요구사항들은 비기능적 요구에 해당하지 않는다.
→ 틀림!
안전(Safety)과 보안(Security)은 비기능적 요구사항의 중요한 부분입니다.
- 예를 들어, "사용자 비밀번호는 AES-256 암호화 방식으로 저장해야 한다"는 비기능적 요구사항입니다.
④ '금융 시스템은 조회, 인출, 입금, 송금의 기능이 있어야 한다'는 비기능적 요구이다.
→ 틀림!
이 문장은 금융 시스템이 제공해야 하는 기능을 정의하는 문장이므로, 기능적 요구사항입니다.
- 기능적 요구사항은 **시스템이 제공해야 하는 서비스(무엇을 할 것인가?)**를 정의합니다.
3. 비기능적 요구사항의 주요 유형
비기능적 요구사항은 다양한 품질 속성을 정의하는데, 대표적으로 다음과 같은 유형이 있습니다.
✅ (1) 성능(Performance)
- 시스템이 얼마나 빠르게 동작해야 하는지 정의합니다.
- 예시: "웹페이지는 2초 이내에 로딩되어야 한다."
✅ (2) 보안(Security)
- 데이터 보호 및 사용자 인증에 대한 요구사항을 정의합니다.
- 예시: "사용자 비밀번호는 반드시 해시 및 암호화되어 저장되어야 한다."
✅ (3) 신뢰성(Reliability)
- 시스템의 안정성과 장애 발생 시 복구 능력을 정의합니다.
- 예시: "시스템은 99.9% 이상의 가용성을 유지해야 한다."
✅ (4) 확장성(Scalability)
- 시스템이 증가하는 부하를 어떻게 처리할 것인지 정의합니다.
- 예시: "최대 10만 명의 동시 접속을 지원할 수 있어야 한다."
✅ (5) 유지보수성(Maintainability)
- 시스템이 얼마나 쉽게 유지보수될 수 있는지 정의합니다.
- 예시: "모듈화된 아키텍처를 사용하여 코드 변경이 쉽게 이루어져야 한다."
4. 결론
비기능적 요구사항(Nonfunctional Requirements)은 시스템의 품질, 성능, 보안, 안정성 등을 정의하는 요구사항입니다.
💡 문제에서 옳은 선택지는 "② 차량 대여 시스템이 제공하는 모든 화면이 3초 이내에 사용자에게 보여야 한다"이며, 이는 시스템의 응답 시간(성능 요구사항)에 해당하는 비기능적 요구사항입니다.
'기출문제 > 정보처리기사' 카테고리의 다른 글
2022년 2회 정보처리기사 기출문제 7번 (0) | 2025.02.07 |
---|---|
2022년 2회 정보처리기사 기출문제 6번 (0) | 2025.02.07 |
2022년 2회 정보처리기사 기출문제 4번 (0) | 2025.02.07 |
2022년 2회 정보처리기사 기출문제 3번 (0) | 2025.02.07 |
2022년 2회 정보처리기사 기출문제 2번 (0) | 2025.02.07 |