기출문제/정보처리기사

2022년 2회 정보처리기사 기출문제 5번

엉클지니 2025. 2. 7. 08:47

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초 이내에 사용자에게 보여야 한다"이며, 이는 시스템의 응답 시간(성능 요구사항)에 해당하는 비기능적 요구사항입니다.

반응형