요구사항 정의, 파악 및 아키텍처 설계

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

사용자의 요구사항을 파악하는 단계에서 생산자가 가장 중요하게 고려해야 할 요소는 무엇인가?

  • 사용자가 원하는 품질과 가격 충족 (correct)
  • 가장 빠른 생산 속도 달성
  • 최고 품질의 재료 사용
  • 최저 가격으로 제품 생산

소프트웨어 개발에서 '무엇(what)'과 '어떻게(how)'를 구분하는 이유는 무엇인가?

  • 개발 비용을 절감하기 위해
  • 사용자의 요구사항을 명확히 정의하고 구현 방법을 결정하기 위해 (correct)
  • 개발자 간의 의사소통을 원활하게 하기 위해
  • 개발 일정을 단축하기 위해

요구사항 분석가가 다양한 분야의 전문성을 갖추어야 하는 가장 적절한 이유는?

  • 회사 내에서의 승진 기회를 높이기 위해
  • 분석가의 개인적인 역량 강화를 위해
  • 더 많은 프로젝트에 참여하기 위해
  • 사용자의 다양한 요구사항을 정확하게 이해하고 분석하기 위해 (correct)

요구사항 분석가가 사용자와의 잦은 소통을 통해 얻을 수 있는 가장 중요한 이점은 무엇인가?

<p>사용자의 숨겨진 요구사항을 발견하고 오해를 줄임 (D)</p> Signup and view all the answers

요구사항 분석 단계에서 '조율'이 중요한 이유는 무엇인가?

<p>사용자, 개발자, 이해관계자 간의 의견 차이를 좁히고 합의점을 찾기 위해 (C)</p> Signup and view all the answers

다음 중 요구사항 분석 절차에 해당하지 않는 것은?

<p>코드 구현 (D)</p> Signup and view all the answers

소프트웨어 요구사항을 기능 요구사항과 비기능 요구사항으로 분류하는 이유는?

<p>요구사항의 특성에 따라 개발 및 테스트 전략을 효율적으로 수립하기 위해 (C)</p> Signup and view all the answers

소프트웨어 시스템의 '품질' 요구사항에 해당하는 것은?

<p>응답 시간 3초 이내 (C)</p> Signup and view all the answers

소프트웨어 시스템의 신뢰도를 높이기 위한 지표로 사용되는 것은?

<p>MTBF (Mean Time Between Failures) (B)</p> Signup and view all the answers

소프트웨어 개발에서 모델링을 사용하는 주된 이유는?

<p>개발자 간의 의사소통을 원활하게 하고 시스템을 시각적으로 표현하기 위해 (B)</p> Signup and view all the answers

UML (Unified Modeling Language)을 사용하는 이유는 무엇인가?

<p>소프트웨어 시스템을 시각적으로 모델링하기 위한 표준화된 방법 제공 (D)</p> Signup and view all the answers

데이터 흐름도(DFD)에서 프로세스를 나타내는 기호는 무엇인가?

<p>원 또는 타원 (B)</p> Signup and view all the answers

자료 사전(Data Dictionary)의 주요 목적은 무엇인가?

<p>데이터 요소에 대한 정의, 속성, 관계 등을 명확하게 기술 (C)</p> Signup and view all the answers

E-R 다이어그램에서 엔티티(Entity) 간의 관계를 표현하는 방법은?

<p>마름모 (C)</p> Signup and view all the answers

유스케이스(Use Case) 다이어그램에서 액터(Actor)가 의미하는 것은?

<p>시스템과 상호작용하는 사용자 또는 외부 시스템 (A)</p> Signup and view all the answers

유스케이스 명세서에서 '선행 조건(Precondition)'은 무엇을 의미하는가?

<p>유스케이스 실행 전에 반드시 만족되어야 하는 조건 (C)</p> Signup and view all the answers

유스케이스 다이어그램을 검토할 때, 기능을 잘못 묶은 유스케이스의 예는?

<p>성적 등록, 성적 수정, 성적 조회 (B)</p> Signup and view all the answers

요구사항 명세서에서 '비기능 요구사항'을 기술하는 올바른 예는?

<p>시스템은 3초 이내에 검색 결과를 표시해야 한다. (B)</p> Signup and view all the answers

다음 중 요구사항 추적 가능성(Traceability)을 확보함으로써 얻을 수 있는 이점은?

<p>요구사항 변경이 시스템에 미치는 영향 분석 용이 (C)</p> Signup and view all the answers

요구사항 검증 시 '완전성(Completeness)'을 평가하는 기준은?

<p>사용자의 요구사항이 빠짐없이 완전하게 반영되었는지 (D)</p> Signup and view all the answers

요구사항 분석 단계에서 이해관계자 간의 상충 관계를 해결하기 위한 가장 효과적인 방법은?

<p>각 요구사항의 우선순위를 명확히 정의하고 조정 (A)</p> Signup and view all the answers

요구사항 분석 시, ‘추적 가능성’을 확보하기 위한 가장 적절한 방법은 무엇인가?

<p>요구사항에 고유한 식별자를 부여하고, 관련 문서와의 연관성을 기록한다. (C)</p> Signup and view all the answers

소프트웨어 개발에서 '모델링'의 주요 장점은 무엇인가??

<p>개발 과정에서 발생하는 오류를 사전에 방지하고, 시스템 구조를 쉽게 이해할 수 있도록 돕는다. (D)</p> Signup and view all the answers

소프트웨어 개발 시, 요구사항 정의 단계에서 가장 중요한 것은?

<p>사용자의 요구사항을 정확하게 파악하고 문서화하는 것 (A)</p> Signup and view all the answers

다이어그램을 사용하여 시스템의 구조와 동작 방식을 설명하는 이유는 무엇인가?

<p>시스템을 시각적으로 표현하여 이해도를 높이고, 의사소통을 원활하게 하기 위해 (C)</p> Signup and view all the answers

요구사항 분석가가 사용자의 요구사항을 분석할 때 가장 중요하게 고려해야 할 점은 무엇인가?

<p>사용자의 실제 필요와 목표 (A)</p> Signup and view all the answers

소프트웨어 개발에서 요구사항 분석의 주요 목표는?

<p>사용자의 필요를 충족시키는 시스템을 구축하기 위한 명확하고 완전한 명세서를 작성하는 것 (A)</p> Signup and view all the answers

유스케이스 다이어그램에서 '확장 관계(extend relationship)'는 언제 사용하는가?

<p>기본 유스케이스의 예외적인 흐름 또는 추가적인 기능을 나타낼 때 (D)</p> Signup and view all the answers

소프트웨어 개발 프로젝트에서 '요구사항 검증'의 목적은?

<p>요구사항 명세서가 완전하고 일관성이 있는지 확인하기 위해 (C)</p> Signup and view all the answers

다음 중 '비기능적 요구사항'에 해당하지 않는 것은?

<p>시스템은 사용자의 주문을 처리해야 한다. (B)</p> Signup and view all the answers

소프트웨어 개발 프로세스에서 요구사항 분석 단계의 결과물로 가장 적절한 것은?

<p>요구사항 명세서 (C)</p> Signup and view all the answers

애자일(Agile) 개발 방법론에서 요구사항 변화에 대한 대응 방식으로 가장 적절한 것은?

<p>요구사항 변경을 수용하고, 반복적인 개발 주기를 통해 반영한다. (D)</p> Signup and view all the answers

유스케이스 모델에서 '포함 관계(include relationship)'는 언제 사용하는가?

<p>하나의 유스케이스가 다른 유스케이스에 필수적으로 포함될 때 (C)</p> Signup and view all the answers

요구사항 분석 단계에서 '프로토타입'을 사용하는 주된 이유는?

<p>사용자의 피드백을 빠르게 수집하고 요구사항을 명확히 하기 위해 (C)</p> Signup and view all the answers

다음 중 데이터 흐름도(DFD)의 구성 요소가 아닌 것은?

<p>클래스(Class) (C)</p> Signup and view all the answers

소프트웨어 개발에서 요구사항 분석 단계의 주요 활동은 무엇인가?

<p>사용자 인터뷰, 문서 검토, 시스템 모델링 (A)</p> Signup and view all the answers

Flashcards

요구사항 분석이란?

사용자의 요구사항을 파악하고 문서화하는 과정.

요구사항 정의 능력

사용자의 요구를 명확히 정의하고 이해하는 능력.

요구사항 연결 능력

A요구사항과 B요구사항 사이의 연관성을 파악하는 능력

요구사항 조율 능력

다양한 이해관계자들의 의견을 조율하는 능력

Signup and view all the flashcards

요구분석 절차

자료 수집, 요구사항 도출, 문서화, 검증으로 구성됨.

Signup and view all the flashcards

요구사항 종류

기능 요구사항과 비기능 요구사항으로 나뉨.

Signup and view all the flashcards

기능 요구사항

시스템이 제공해야 하는 기능에 대한 요구사항.

Signup and view all the flashcards

비기능 요구사항

성능, 보안, 신뢰도 등 품질에 대한 요구사항.

Signup and view all the flashcards

신뢰도란?

시스템이 얼마나 믿을 만한지를 나타내는 지표.

Signup and view all the flashcards

모델링이란?

다양한 방법으로 시스템을 표현하고 설명하는 것.

Signup and view all the flashcards

UML이란?

시스템의 구조와 동작을 시각적으로 표현하는 데 사용되는 표준화된 모델링 언어.

Signup and view all the flashcards

자료 흐름도 (DFD)

자료 흐름을 중심으로 시스템을 모델링하는 방법.

Signup and view all the flashcards

E-R 다이어그램

데이터의 구조와 관계를 표현하는 데 사용되는 모델.

Signup and view all the flashcards

유스케이스 모델링

사용자의 시각에서 시스템의 기능적인 요구사항을 설명하는 방법.

Signup and view all the flashcards

유스케이스 명세서

유스케이스를 사용하여 시스템의 기능을 명세화한 문서.

Signup and view all the flashcards

유스케이스

시스템이 제공하는 기능을 액터와 상호작용을 통해 기술.

Signup and view all the flashcards

요구사항 검증

기능과 비기능 요구사항 충족 여부를 검증하는 과정

Signup and view all the flashcards

요구사항 추적

개발 과정에서 요구사항 변경 사항을 추적하고 관리하는 능력

Signup and view all the flashcards

상충 관계

서로 다른 목표나 이해관계를 가진 요소들 간의 관계.

Signup and view all the flashcards

비기능 요구사항의 예

사용 용이성, 효율성, 신뢰성, 보안, 성능, 확장성과 같은 품질 속성.

Signup and view all the flashcards

추적 가능성

개발 과정에서 요구사항의 출처와 변경 이력을 추적하는 능력

Signup and view all the flashcards

Study Notes

요구사항 정의

  • 특정 요구를 충족하는 솔루션이나 제품에 필요한 조건 또는 능력

요구사항 파악

  • 사용자의 요구사항을 제대로 파악하는 것이 중요
  • 요구사항 파악에 실패하면 제품 개발이 완전히 다른 방향으로 흘러갈 수 있음

아키텍처 설계

  • 요구사항 명세의 '무엇(what)'에 대한 대답을 찾음
  • 상세 설계는 명세의 '어떻게(how)'에 대한 대답을 찾음

요구사항 유형

  • 사용자 요구사항: 사용자가 시스템을 통해 무엇을 하고 싶어하는지에 초점을 맞춤
  • 시스템 요구사항: 개발자가 시스템 구현 방법에 초점을 맞춤

요구사항 분석 과정

  • 정보 수집 후 검증을 위해 요구사항을 도출하고 문서화하는 과정

요구분석 절차

  • 자료 수집: 프로젝트 관련 자료 및 정보 획득
  • 요구사항 도출: 인터뷰, 설문 조사 등을 통해 요구사항 식별 및 수집
  • 문서화: 요구사항 명확하고 이해하기 쉬운 형식으로 기록
  • 검증: 문서화된 요구사항이 완전하고 정확한지 확인

요구사항 분류

  • 기능적 요구사항: 시스템이 수행해야 하는 특정 기능이나 작업을 정의
  • 비기능적 요구사항: 성능, 보안, 사용 편의성 등 시스템의 품질 속성을 정의

성능 요구사항

  • 시스템의 속도, 처리량, 응답 시간, 리소스 사용률과 같은 성능 측면을 명시
  • 예: "웹 페이지는 3초 이내에 로드되어야 한다"

가용성 요구사항

  • 시스템의 안정성과 오류 없이 운영될 수 있는 정도를 나타냄
  • 측정 지표에는 평균 고장 간격(MTBF), 평균 수리 시간(MTTR), 가동률 등이 포함

표현 방법

  • 텍스트 기반: 자연어, 다이어그램, 표 등을 사용
  • 형식 기반: 수학적 모델, 프로그래밍 언어 등을 사용

모델링

  • 복잡한 시스템의 구조와 동작 방식을 시각적으로 표현하는 방법
  • 모델링을 통해 이해관계자 간의 의사소통을 원활하게 하고 시스템의 문제를 사전에 발견 가능

모델링 종류

  • 유스케이스 다이어그램: 사용자 관점에서 시스템의 기능을 표현
  • 클래스 다이어그램: 시스템의 구조와 클래스 간의 관계를 표현
  • 상태 다이어그램: 객체의 상태 변화를 표현

UML (Unified Modeling Language)

  • 소프트웨어 공학에서 사용되는 표준화된 모델링 언어
  • 시스템 아키텍처, 설계, 구현 과정을 시각적으로 표현하는 데 사용

구조적 분석 기법

  • 시스템의 데이터 흐름과 처리 과정을 중심으로 분석하는 방법
  • 데이터 흐름 다이어그램(DFD), 자료 사전(DD) 등을 활용

자료 흐름도 (Data Flow Diagram, DFD)

  • 시스템 내 데이터 흐름을 그림으로 표현
  • 프로세스, 데이터 저장소, 외부 엔티티 사이의 데이터 이동을 나타냅

자료 사전(Data Dictionary)

  • DFD에 사용된 데이터 요소들에 대한 정의를 명확하게 기술
  • 데이터 이름, 데이터 타입, 값의 범위 등을 포함

E-R 다이어그램 (Entity-Relationship Diagram)

  • 데이터베이스 설계를 위해 개체(Entity)와 관계(Relationship)를 시각적으로 표현
  • 개체, 속성, 관계 유형 등을 포함

유스케이스 모델링

  • 사용자 관점에서 시스템의 기능적인 요구사항을 명확하게 정의하고 시각화하는 방법
  • 유스케이스 다이어그램, 유스케이스 명세서 등을 활용

유스케이스 다이어그램

  • 시스템과 사용자 간의 상호작용을 나타내는 다이어그램
  • 액터(Actor)와 유스케이스(Use Case) 간의 관계를 그림

유스케이스 명세서

  • 각 유스케이스에 대한 상세 설명을 기술한 문서
  • 액터, 선행 조건, 후행 조건, 이벤트 흐름 등을 포함

좋은 유스케이스

  • 기능을 명확하게 정의하고 기술
  • 이름이 명확하고 이해하기 쉬움
  • 액터와의 상호 작용을 명확하게 표현

비기능 요구사항 명세

  • 시스템의 품질 속성인 성능, 사용성, 보안 등을 명확하게 정의
  • 측정 가능한 지표를 사용하여 검증 가능하게 작성

요구사항 검증

  • 소프트웨어 개발 과정에서 만들어진 요구사항 문서가 완전하고 정확한지 확인

요구사항 검증 항목

  • 완전성: 요구사항이 빠짐없이 명확하게 기술되었는지 확인
  • 일관성: 요구사항 간 모순이 없는지 확인
  • 명확성: 모든 참여자가 요구사항을 명확하게 이해할 수 있는지 확인
  • 기능성: 요구사항이 시스템의 기능적인 측면을 잘 반영하는지 확인
  • 검증 가능성: 요구사항을 테스트하고 검증할 수 있는지 확인
  • 추적 가능성: 요구사항이 설계, 구현, 테스트 단계에서 추적 가능한지 확인
  • 변경 용이성: 요구사항 변경이 시스템에 미치는 영향을 최소화할 수 있는지 확인

품질 확보

  • 완전성, 정확성, 명확성을 확보하여 개발 과정에서 발생할 수 있는 오류를 최소화하고 효율성을 높임

공학적 검토

  • 산출물이 고객의 요구사항을 만족하는지 공식적으로 확인하는 활동
  • 잠재적인 문제점을 조기에 발견하고 해결

테스트

  • 시스템이 예상대로 동작하는지 확인하고 결함을 찾는 과정
  • 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트 등 다양한 수준에서 수행

요구사항 변경 관리

  • 요구사항이 변경될 때 체계적으로 관리하고 추적하는 과정
  • 변경 요청, 분석, 승인, 구현, 검증 단계를 거침

상충 관계 해결

  • 요구사항 간에 충돌이 발생할 경우 우선순위를 결정하고 해결 방안을 찾는 과정
  • 이해관계자들과의 협의를 통해 합의점을 도출

추적 가능성

  • 요구사항이 소프트웨어 개발 생명주기 전체에 걸쳐 연결되어 있음을 의미
  • 요구사항, 설계, 코드, 테스트 케이스 간의 연관성을 유지

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Chapter 04 PDF

More Like This

Software Development Lifecycle Quiz
16 questions
Requirements Analysis in IT Projects
24 questions
Software Requirements Analysis Quiz
48 questions

Software Requirements Analysis Quiz

DashingSocialRealism9938 avatar
DashingSocialRealism9938
Use Quizgecko on...
Browser
Browser