본문에 오류가 있을 수 있음을 감안하고 봐주시길 바랍니다.
# 문제 풀이 중 오답노트 하면서 나온 내용을 정리한 것
요구사항: 소프트웨어가 어떤 문제를 해결하기 위해 제공하는 서비스에 대한 설명과 정상적으로 운영되는데 필요한 제약조건이다. 소프트웨어 개발이나 유지보수 과정에서 필요한 기준과 근거를 제공하고 이해관계자들 간의 의사소통을 원활하게 하는 데 도움을 준다.
- 기능 요구사항: 시스템이 무엇을 하는지, 어떤 기능을 하는지 등의 기능이나 수행과 관련된 요구사항이다. 입력과 출력, 데이터 저장과 연산 등에 대한 사항이다. 시스템이 반드시 수행해야 하는 기능이며 사용자가 시스템을 통해 제공받기를 원하는 기능이다.
- 비기능 요구사항: 품질이나 제약사항과 관련된 요구사항이다. 시스템 장비 구성·성능·인터페이스·테스트·보안·품질·프로젝트 관리·프로젝트 자원 요구사항 등이 있다.
- 사용자 요구사항: 사용자 관점에서 본 시스템이 제공해야 할 요구사항이다. 사용자를 위한 것으로 쉽게 작성된다.
- 시스템 요구사항: 개발자 관점에서 본 시스템 전체가 사용자와 다른 시스템에 제공해야 할 요구사항이다. 소프트웨어 요구사항이라고도 한다.
- 소프트웨어 품질 측정을 위해 개발자 관점에서 고려해야 할 항목: 정확성, 무결성, 사용성 등
요구사항 개발 프로세스: 개발 대상에 대한 요구사항을 체계적으로 도출하고 분석한 후 명세서에 정리한 다음 확인 및 검증하는 일련의 구조화된 활동이다. 타당성 조사(개발 프로세스가 비즈니스에 적합한지)를 수행해야 한다. 요구공학의 한 요소이다.
- 요구사항 개발 순서(출석명확): 도출(Elicitation) → 분석(Analysis) → 명세(Specification) → 확인(Validation, 검증)
- 요구사항 도출: 시스템, 사용자, 개발자 등 시스템 개발에 관련된 사람들이 서로 의견을 교환하여 요구사항을 어떻게 수집할 것인지를 식별하고 이해하는 과정이다. # SDLC 동안 지속적으로 반복된다.
- 요구사항 도출 기법: 청취와 인터뷰, 설문, 분석과 중재, 관찰 및 모델 작성, 브레인스토밍, 워크숍, 프로토타입, 유스케이스, 라피도 프로토타이핑 등
- 요구사항 분석: 개발 대상에 대한 사용자의 요구사항 중 명확하지 않거나 모호하여 이해되지 않는 부분을 발견하고 이를 걸러내기 위한 과정이다. 서로 상충되는 요구사항을 중재한다. # 사용자의 요구사항을 이해하고 문서화하는 활동을 의미
- 요구사항 분석 도구: 자료 흐름도(DFD), 자료 사전(DD)
- 페르소나(Persona): 어떤 제품이나 서비스를 사용할 만한 대상 영역에 속한 다양한 사용자 유형들을 대표하는 가상의 인물
- 요구사항 명세: 분석된 요구사항을 바탕으로 모델을 작성하고 문서화하는 것을 의미한다. 기능 요구사항을 빠짐없이 기술한다. 비기능 요구사항을 필요한 것만 기술한다. 구체적인 명세를 위해 소단위 명세서가 사용될 수 있다.
- 요구사항 명세 기법: 정형 명세 기법(수학적 기호, 정형화된 표기법), 비정형 명세 기법(자연어 기반)
- 요구사항 확인(검증): 개발 자원을 요구사항에 할당하기 전에 요구사항 명세서가 정확하고 완전하게 작성되었는지를 검토하는 활동이다. 요구사항 관리 도구를 이용해 요구사항 정의 문서들에 대한 형상 관리(SCM, 변경 사항 관리)를 수행한다.
- 요구사항 도출: 시스템, 사용자, 개발자 등 시스템 개발에 관련된 사람들이 서로 의견을 교환하여 요구사항을 어떻게 수집할 것인지를 식별하고 이해하는 과정이다. # SDLC 동안 지속적으로 반복된다.
요구공학: 무엇을 개발해야 하는지 요구사항을 정의하고 분석 및 관리하는 프로세스를 연구하는 학문이다.
구조적 분석 기법: 자료의 흐름과 처리를 중심으로 하는 요구사항 분석 방법이다. 하향식 방법(소프트웨어 기능을 전체적인 수준에서 상세 수준까지 위에서 아래로 모델링)을 사용하여 시스템을 세분화할 수 있다. 분석의 중복을 배제할 수 있다.
- 주요 구조적 분석 기법 도구: 자료 흐름도(DFD), 자료 사전(DD), 소단 명세서(Mini-Spec.), 개체 관계도(ERD), 상태 전도(STD), 제어 명세서 등
자료 흐름도(DFD): 요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법이다. 자료 흐름 그래프·버블 차트라고도한다.
| 기호 | 의미 | 표기법 | |
| Yourdon/DeMacro | Gane/Sarson | ||
| 프로세스(Process) | 자료를 변환시키는 시스템의 한 부분(처리 과정)을 나타내며 처리, 기능, 변환, 버블이라고도 함 # 반드시 입력이 필요, but 출력은 아님.. | ![]() |
|
| 자료 흐름(Data Flow) | 자료의 이동(흐름)이나 연관관계를 나타냄 # 처리(Process)를 거쳐 변환될 때마다 새로운 이름을 부여 | ||
| 자료 저장소(Data Store) | 시스템에서의 자료 저장소(파일, 데이터베이스)를 나타냄 | ||
| 단말(Terminator) | 시스템과 상호작용하는 외부 개체로 입력 데이터가 만들어지고 출력 데이터를 받음 | ![]() |
|
자료 사전(DD): 자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것이다. 시스템 테이블로 구성되어 있어 일반 사용자도 SQL을 이용하여 내용을 검색해 볼 수 있지만 이용자가 갱신할 수 없다. DBMS가 스스로 생성하고 유지한다. 데이터를 설명하는 데이터로 메타 데이터(Meta Data)라고도 한다.
| 기호 | 의미 |
| = | 자료의 정의: ~로 구성되어 있다.(is composed of) |
| + | 자료의 연결: 그리고(and) |
| ( ) | 자료의 생략: 생략 가능한 자료(Optional) |
| [ ] | 자료의 선택: 또는(or) |
| { } | 자료의 반복: Iteration of |
| * * | 자료의 설명: 주석(Comment) |
요구사항 분석용 CASE(자동화 도구): 요구사항을 자동으로 분석하고 요구사항 분석 명세서를 기술하도록 개발된 도구를 의미한다.
- SADT: SoftTech 사에서 개발, 구조적 요구 분석을 하기 위해 블록 다이어그램을 채택한 자동화 도구
- SREM=PSL/REVS: TRW사가 실시간 처리 소프트웨어 시스템에서 요구사항을 명확히 기술하도록 할 목적으로 개발한 도구, RSL(요구사항 기술언어)과 REVS(요구사항 자동 분석기)를 사용하는 자동화 도구
- PSL/PSA: PSL과 PSA를 사용하는 자동화 도구, 미시간 대학에서 개발함
- TAGS: 시스템 공학 방법 응용에 대한 자동 접근 방법, 개발 주기의 전 과정에 이용할 수 있는 통합 자동화 도구
- 요구사항 관리 도구의 필요성: 요구사항 변경으로 인한 비용 편익 분석, 요구사항 변경의 추적, 요구사항 변경에 따른 영향 평가
HIPO: 시스템의 분석 및 설계, 또는 문서화에 사용된 기법으로 시스템의 실행 과정인 입력·처리 ·출력의 기능을 표현한 것이다. 하향식 소프트웨어 개발을 위한 문서화 도구이다. 기능과 자료의 의존 관계를 동시에 표현하고 기호 ·도표 등을 사용해 보기 쉽고 이해하기 쉽다.
- HIPO Chart: 시스템의 기능을 여러 개의 고유 모듈로 분할하여 이들 간의 인페이스 계층 구조로 표현한 것
- 가시적 도표(Visual Table of Contents): 도식 목차
- 총체적 도표(Overview Diagram): 총괄 도표, 개요 도표
- 세부적 도표(Detail Diagram): 상세 도표
'정보처리기사' 카테고리의 다른 글
| [정보처리기사 요약 1-5] 개발 방법론부터 재공학까지 (0) | 2026.02.23 |
|---|---|
| [정보처리기사 요약 1-4] UML 모델링 가이드 (기능/정적/동적 다이어그램 비교) (1) | 2026.02.23 |
| [정보처리기사 요약 1-3] UML 다이어그램의 모든 것 (구조적/행위 다이어그램, 스테레오 타입) (0) | 2026.02.20 |
| [정보처리기사 요약 1-1] 스크럼(Scrum)과 XP 방법론 핵심 가이드 (0) | 2026.02.19 |
| 정보처리기사 취득(2025.06.13) (0) | 2026.02.19 |






