Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

공부해보잠

요구사항 분석 본문

자격증/정보처리

요구사항 분석

heejk 2025. 1. 27. 00:16
요구사항 분석의 개요

소프트웨어 개발의 첫 단계로, 개발 대상에 대한 사용자의 요구사항을 이해하고 이를 명확히 문서화(명세화)하는 활동을 의미합니다.

 

특징 :

  • 사용자 요구 타당성 조사: 요구사항의 현실성, 비용 및 일정 제약 검토.
  • 정확한 요구 추출: 사용자 요구를 기반으로 목표를 설정하고 해결 방식을 결정.
  • 문서화: 설계 단계에 필요한 기본 자료로 사용되므로, 요구사항을 정확하고 일관성 있게 분석 및 문서화해야 함.
  • 전문가 수행: 요구사항 분석은 소프트웨어 분석가에 의해 수행되며, 이 작업 단계를 요구사항 분석 단계라고 함.
  • 분석 도구 활용: UML(Unified Modeling Language), 자료흐름도(DFD), 자료사전(DD), 소단위 명세서(Mini-Spec), 개체관계도(ERD), 상태전이도(State Transition Diagram), 제어 명세서(CS) 등의 도구를 이용.

구조적 분석 기법

자료의 흐름과 처리를 중심으로 하는 요구사항 분석 방법입니다.

 

특징

  • 도형 중심의 분석용 도구와 분석절차를 이용하여 사용자의 요구사항을 파악하고 문서화
  • 도형 중심의 도구를 사용하므로 분석가와 사용자 간의 대화가 용이
  • 하향식 방법을 사용하여 시스템을 세분화
  • 분석의 중복을 배제할 수 있다.
  • 사용자의 요구사항을 논리적으로 표현하여 전체 시스템을 일관성 있게 이해할 수 있다.
  • 시스템 분석의 질이 향상되고, 시스템 개발의 모든 단계에서 필요한 명세서 작성이 가능

부가설명:
하향식 방법(Top-Down Approach): 시스템의 전체 구조를 정의한 후, 이를 점차 세분화하여 설계 및 개발하는 방법으로, 논리적 일관성을 유지하고 분석의 누락을 줄이는 데 효과적입니다.


자료 흐름도(DFD : Data Flow Digram)

자료 흐름도는 요구사항 분석 단계에서 자료의 흐름, 변환 과정, 및 기능을 도식적으로 표현하는 도구로, 자료 흐름 그래프 또는 버블 차트라고도 불립니다.

 

특징:

  • 시각화: 시스템 내 프로세스와 자료 저장소 간의 자료 흐름을 명확히 표현.
  • 구조적 분석: 자료의 흐름과 처리를 중심으로 하는 구조적 분석 기법에 활용.
  • 도형 중심: 분석과 사용자 간의 의사소통을 돕는 도구.

기호 표시

자료 흐름도는 시스템 내 자료의 흐름과 변환 과정을 시각적으로 표현하는 도구로, 프로세스, 자료 흐름, 자료 저장소, 단말의 네 가지 기호를 사용하여 분석 내용을 체계적으로 나타냅니다.

  • 프로세스 (Process): 자료를 변환하는 처리 과정.
  • 자료 흐름 (Data Flow): 자료의 이동 경로나 연관 관계.
  • 자료 저장소 (Data Store): 시스템 내 자료가 저장되는 공간.
  • 단말 (Terminator): 외부 개체로 데이터 생산 및 소비를 담당.

자료 흐름도는 분석가와 사용자가 효율적인 의사소통을 할 수 있도록 돕고, 요구사항 분석 및 시스템 설계의 기초 자료로 사용

자료흐름도


자료 사전(DD : Data Dictionary)

 

자료 흐름도(DFD)에 나타난 자료를 더 자세히 정의하고 기록한 것.
데이터를 설명하는 데이터로, 이를 메타데이터(Meta Data)라고도 함.

 

역할:

  • 자료 흐름도에 표시된 자료에 대한 정보를 체계적으로 수집.
  • 개발자와 사용자가 자료를 쉽게 이해하고 활용하도록 도움.

특징:

  • 자료의 구성 요소, 데이터의 흐름, 반복 여부 등을 기술.
  • 시스템 분석과 설계에서 정확성과 일관성을 유지하는 데 유용.

 

자료 사전에서 사용되는 표기 기호

 

  • =: 자료가 구성되어 있음을 나타냅니다. 예: A = B + C (A는 B와 C로 구성됨).
  • +: 자료의 연결을 나타냅니다. 예: A + B (A와 B가 연결됨).
  • (): 생략 가능한 자료를 표현합니다. 예: (Optional).
  • []: 선택 가능한 자료를 의미합니다. 예: [Option1 | Option2] (Option1 또는 Option2).
  • {}: 반복 가능한 자료를 나타냅니다. 예: {n} 이상 반복, {n_m} m 이상 n 이하 반복.
  • **: **주석(Comment)**을 나타냅니다. 자료나 흐름에 대한 추가 설명을 제공합니다.

 


소단위 명세서(Mini-Spec : Mini-Specification)

자료 흐름도 상의 최하위 처리 절차를 상세하게 기술하는 도구로, 프로세스 명세서라고도 합니다.

 

목적:

  • 자료 흐름도를 지원하기 위해 작성하며, 수작업 부분과 자동화 부분을 구분하지 않고 처리 절차를 명확히 기술.

유의사항:

  • 설계 내용이나 수작업과 자동화의 분리를 포함하지 않으며, 최종 설계 단계에서 판단되어야 할 내용은 제외.

작성 도구:

  • 의사결정표: 복잡한 조건과 그에 따른 처리를 명확히 표현하는 도구로, 조건과 동작을 표 형식으로 나타냄.
  • 의사결정도: 조건의 흐름과 판단 과정을 시각적으로 표현하는 도구로, 명확한 의사 결정을 지원.
  • 구조적 언어: 자연어와 프로그래밍 언어의 중간 단계로, 처리 절차를 간단하고 명확하게 표현하는 언어. 

부가설명 :

 

최하위 처리 절차

  • 최하위 처리 절차란 자료 흐름도에서 더 이상 세분화할 수 없는 기본 작업 단위를 의미합니다.
  • 이 절차는 시스템의 구체적인 작동 과정을 정의하고, 개발자가 설계 단계에서 쉽게 이해하고 구현할 수 있도록 상세하게 명세.

개체 관계도(ERD : Entity Relationship Diagram)

시스템에서 처리되는 개체(Entity)와 관계(Relationship), 속성(Attribute) 등을 정의하여 데이터를 체계적으로 모델링하는 도구.

 

역할:

  • 자료 흐름도의 자료 저장소(Data Store)를 기반으로, 이를 더 구체적이고 종합적으로 표현.

특징:

  • 시스템 내 데이터를 이해하기 쉽게 시각화.
  • 데이터 간 상호 작용 및 속성을 명확히 정의.
  • 데이터베이스 설계 및 구조화를 위한 기초 자료로 활용.

구성 요소:

  • 개체(Entity): 소프트웨어 내에서 관리되고 인식되는 주요 데이터 단위.
  • 관계(Relationship): 개체 간의 상호 작용을 표현.
  • 속성(Attribute): 개체가 가지는 세부 정보나 특성.

개체 관계도


상태 전이도(STD : State Transition Diagram)

시스템에서 특정 사건이 발생할 경우 시스템의 상태와 상태 간의 변화를 시각적으로 모델링하는 도구.

 

목적:
시스템이 **어떤 상태(State)**에서 **어떤 조건(Event)**에 의해 **다른 상태로 전이(Transition)**되는지 표현하여 개발자가 시스템의 동작과 행위를 정의하는 데 도움을 줌.

 

구성 요소:

  • 상태(State): 시스템이 특정 시점에 수행 중인 상태를 나타냄. 직사각형으로 표시.
  • 상태 변화(Transition): 특정 조건에 의해 한 상태에서 다른 상태로 전환되는 과정. 화살표로 표현.
  • 사건(Event): 상태 변화의 원인이나 조건을 나타냄. 화살표의 시작점에서 표시.
  • 행동(Action): 상태 변화가 일어날 때 시스템이 수행하는 작업. 화살표의 끝점에서 표시.

특징:

  • 시스템의 동작을 명확하고 간결하게 표현.
  • 다양한 상태와 조건을 고려하여 복잡한 동작을 구조적으로 정리.
  • 상태 전이도는 시스템 설계 및 테스트 단계에서 유용하게 활용됨.

상태전이도


 

출저 및 참고

정보처리 산업기사 기본서(시나공)

728x90

'자격증 > 정보처리' 카테고리의 다른 글

UML(Unified Modeling Language)  (0) 2025.01.28
요구사항 분석 CASE와 HIPO  (0) 2025.01.27
요구사항 정의  (0) 2025.01.26
XP(eXterme Programming)기법  (0) 2025.01.26
스크럼(Scrum) 기법  (0) 2025.01.26