본문 바로가기
휴지통/정보처리기사

007. 요구사항 분석

by 신재권 2022. 1. 1.

요구사항 분석의 개요

요구사항 분석은 소프트웨어 개발의 실제적인 첫단계로 개발 대상에 대한 사용자의 요구사항을 이해하고 문서화(명세화)하는 활동을 의미

  • 사용자 요구의 타당성을 조사하고 비용과 일정에 대한 제약을 설정
  • 사용자의 요구를 정확하게 추출하여 목표를 정하고, 어떤 방식으로 해결할 것인지를 결정
  • 요구사항 분석을 통한 결과는 소프트웨어 설계 단계에서 필요한 기본적인 자료가 되므로 사용자의 요구사항을 정확하고 일관성 있게 분석하여 문서화
  • 소프트웨어 분석가에 의해 요구사항 분석이 수행되며, 이 작업 단계를 요구사항 분석 단계라고 함

구조적 분석 기법

구조적 분석 기법은 자료의 흐름과 처리를 중심으로 하는 요구사항 분석 방법이다.

  • 도형 중심의 분석용 도구와 분석 절차를 이용하여 사용자의 요구사항을 파악하고 문서화
  • 도형 중심의 도구를 사용하므로 분석가와 사용자 간의 대화가 용이
  • 하향식 방법을 사용하여 시스템을 세분화 할 수 있고, 분석의 중복을 배제할 수 있음
  • 사용자의 요구사항을 논리적으로 표현하여, 시스템 개발의 모든 단계에서 필요한 명세서 작성이 가능
  • 구조적 분석 기법에는 자료 흐름도(DFD), 자료 사전(DD), 소단위 명세서(Mini-Spec), 개체 관계도(ERD), 상태 전이도(STD), 제어 명세서 등의 도구를 이용하여 모델링

하향식 방법 : 한 장의 종이에 소프트웨어의 모든 기능을 모델링 할 수 없으므로 소프트웨어의 기능을 전체적인 수준에서 상세 수준까지 위에서 아래로 단계별로 분리하여 모델링하는 방법

자료 흐름도(DFD)

자료 흐름도(DFD: Data Flow Diagram)는 요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법 → 자료 흐름 그래프, 버블 차트라고도 함

  • 시스템 안의 프로세스와 자료 저장소 사이에 자료의 흐름을 나타내는 그래프로 자료 흐름과 처리를 중심으로 하는 구조적 분석 기법에 이용
  • 자료 흐름도는 자료 흐름과 기능을 자세히 표현하기 위해 단계적으로 세분화
  • 자료는 처리(Process)를 거쳐 변환될때마다 새로운 이름이 부여, 처리는 입력 자료가 발생하면 기능을 수행한 후 출력 자료를 산출
  • 자료 흐름도에서는 자료의 흐름과 기능을 프로세스(Proccess), 자료 흐름(Flow), 자료 저장소(Data Store), 단말(Terminator)의 네가지 기본 기호로 표시
  • 프로세스(Process)
    • 자료를 변환 시키는 시스템의 한 부분(처리 과정)을 나타내며 처리, 기능, 변환, 버블이라고도 함
    • 원이나 둥근 사각형으로 표시하고, 그 안에 프로세스 이름을 기입
    • Yourdon/DeMacro 표기법
    • Gane/Sarson 표기법
  • 자료 흐름(Data Flow)
    • 자료의 이동(흐름)이나 연관관계를 나타냄
    • 화살표 위에 자료의 이름을 기입
  • 자료 저장소(Data Store)
    • 시스템에서의 자료 저장소(파일, 데이터베이스)를 나타냄
    • 도형 안에 자료 저장소 이름을 기입
    • Yourdon/DeMacro 표기법
    • Gane/Sarson 표기법
  • 단말(Terminator)
    • 시스템과 교신하는 외부 개체로, 입력 데이터가 만들어지고 출력 데이터를 받는다(정보의 생산자와 소비자)
    • 도형 안에 이름을 기입
    • Yourdon/DeMacro 표기법
    • Gane/Sarson 표기법

자료 사전

자료 사전(DD: Data Dictionary)은 자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것이며, 이처럼 데이터를 설명하는 데이터를 데이터의 데이터 또는 메타 데이터(Meta Data)라고 한다.

  • 자료 흐름도에 시각적으로 표시된 자료에 대한 정보를 체계적이고 조직적으로 모아 개발자나 사용자가 편리하게 사용
  • =
    • 자료의 정의 : ~로 구성되어 있다.(is compossed of)
      • 자료의 연결 : 그리고 (and)
  • ( )
    • 자료의 생략 : 생략 가능한 자료 (Optional)
  • [ | ]
    • 자료의 선택 : 또는(or)
  • { }
    • 자료의 반복 : Iteration of
    • n번이상 반복
    • 최대로 n번 반복
    • m이상 n이하로 반복
    •  
    • 자료의 설명 : 주석(Comment)

정리

요구사항 분석 : 첫단계이며 요구사항을 이해 → 문서화, 타당성 조사, 제약 설정, 소프트웨어 분석가가 분석

구조적 분석 기법 : 자료의 흐름과 처리를 중심, 도형 중심으로 요구사항 파악→ 문서화, 일관성, 자료 흐름도, 자료사전, 소단위 명세서, 개체 관계도, 상태 전이도, 제어 명세서

자료 흐름도 : 자료의 흐름 및 변환 과정과 기능 → 도형중심 , 자료 흐름 그래프, 버플 차트, 프로세스 ←→ 자료저장소 사이에 자료의 흐름 → 흐름과 처리를 중심으로 하는 구조적 분석 기법, 단계적으로 세분화, 처리(Process)를 거치면 새로운 이름 부여 → 새로운 출력 자료 산출, 프로세스(Process), 자료 흐름(Flow), 자료 저장소(Data Store), 단말(Terminator)

프로세스 : 자료를 변호나 시킴, 처리, 기능, 변환, 버플 → 원, 둥근 사각형(안에 프로세스 이름)

자료 흐름 : 자료의 이동이나 연관관계, 화살표 위에 자료의 이름을 기입

자료 저장소 : 시스템에서의 자료 저장소, 도형 안에 자료 저장소 이름 기입

단말 : 시스템과 교신하는 외부 개체, 입력데이터 + 출력데이터 (정보의 생산자 + 소비자), 도형안에 이름 기입

자료 사전 : 자료 사전은 자료 흐름도에 있는 자료를 더 자세히 정의한 것, 데이터의 데이터(메타 데이터), 자료 흐름도를 토대로 정보를 체계적이고 조직적으로 표현, = (자료의정의), +(자료의 연결, and), ( ) (자료의 생략), [ ](자료의 선택, or), { } (자료의 반복 m~n), * * (자료의 설명)

요구사항 분석의 개요

요구사항 분석은 소프트웨어 개발의 실제적인 첫단계로 개발 대상에 대한 사용자의 요구사항을 이해하고 문서화(명세화)하는 활동을 의미

  • 사용자 요구의 타당성을 조사하고 비용과 일정에 대한 제약을 설정
  • 사용자의 요구를 정확하게 추출하여 목표를 정하고, 어떤 방식으로 해결할 것인지를 결정
  • 요구사항 분석을 통한 결과는 소프트웨어 설계 단계에서 필요한 기본적인 자료가 되므로 사용자의 요구사항을 정확하고 일관성 있게 분석하여 문서화
  • 소프트웨어 분석가에 의해 요구사항 분석이 수행되며, 이 작업 단계를 요구사항 분석 단계라고 함

구조적 분석 기법

구조적 분석 기법은 자료의 흐름과 처리를 중심으로 하는 요구사항 분석 방법이다.

  • 도형 중심의 분석용 도구와 분석 절차를 이용하여 사용자의 요구사항을 파악하고 문서화
  • 도형 중심의 도구를 사용하므로 분석가와 사용자 간의 대화가 용이
  • 하향식 방법을 사용하여 시스템을 세분화 할 수 있고, 분석의 중복을 배제할 수 있음
  • 사용자의 요구사항을 논리적으로 표현하여, 시스템 개발의 모든 단계에서 필요한 명세서 작성이 가능
  • 구조적 분석 기법에는 자료 흐름도(DFD), 자료 사전(DD), 소단위 명세서(Mini-Spec), 개체 관계도(ERD), 상태 전이도(STD), 제어 명세서 등의 도구를 이용하여 모델링

하향식 방법 : 한 장의 종이에 소프트웨어의 모든 기능을 모델링 할 수 없으므로 소프트웨어의 기능을 전체적인 수준에서 상세 수준까지 위에서 아래로 단계별로 분리하여 모델링하는 방법

자료 흐름도(DFD)

자료 흐름도(DFD: Data Flow Diagram)는 요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법 → 자료 흐름 그래프, 버블 차트라고도 함

  • 시스템 안의 프로세스와 자료 저장소 사이에 자료의 흐름을 나타내는 그래프로 자료 흐름과 처리를 중심으로 하는 구조적 분석 기법에 이용
  • 자료 흐름도는 자료 흐름과 기능을 자세히 표현하기 위해 단계적으로 세분화
  • 자료는 처리(Process)를 거쳐 변환될때마다 새로운 이름이 부여, 처리는 입력 자료가 발생하면 기능을 수행한 후 출력 자료를 산출
  • 자료 흐름도에서는 자료의 흐름과 기능을 프로세스(Proccess), 자료 흐름(Flow), 자료 저장소(Data Store), 단말(Terminator)의 네가지 기본 기호로 표시
  • 프로세스(Process)
    • 자료를 변환 시키는 시스템의 한 부분(처리 과정)을 나타내며 처리, 기능, 변환, 버블이라고도 함
    • 원이나 둥근 사각형으로 표시하고, 그 안에 프로세스 이름을 기입
    • Yourdon/DeMacro 표기법
    • Gane/Sarson 표기법
  • 자료 흐름(Data Flow)
    • 자료의 이동(흐름)이나 연관관계를 나타냄
    • 화살표 위에 자료의 이름을 기입
  • 자료 저장소(Data Store)
    • 시스템에서의 자료 저장소(파일, 데이터베이스)를 나타냄
    • 도형 안에 자료 저장소 이름을 기입
    • Yourdon/DeMacro 표기법
    • Gane/Sarson 표기법
  • 단말(Terminator)
    • 시스템과 교신하는 외부 개체로, 입력 데이터가 만들어지고 출력 데이터를 받는다(정보의 생산자와 소비자)
    • 도형 안에 이름을 기입
    • Yourdon/DeMacro 표기법
    • Gane/Sarson 표기법

자료 사전

자료 사전(DD: Data Dictionary)은 자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것이며, 이처럼 데이터를 설명하는 데이터를 데이터의 데이터 또는 메타 데이터(Meta Data)라고 한다.

  • 자료 흐름도에 시각적으로 표시된 자료에 대한 정보를 체계적이고 조직적으로 모아 개발자나 사용자가 편리하게 사용
  • =
    • 자료의 정의 : ~로 구성되어 있다.(is compossed of)
      • 자료의 연결 : 그리고 (and)
  • ( )
    • 자료의 생략 : 생략 가능한 자료 (Optional)
  • [ | ]
    • 자료의 선택 : 또는(or)
  • { }
    • 자료의 반복 : Iteration of
    • n번이상 반복
    • 최대로 n번 반복
    • m이상 n이하로 반복
    •  
    • 자료의 설명 : 주석(Comment)

정리

요구사항 분석 : 첫단계이며 요구사항을 이해 → 문서화, 타당성 조사, 제약 설정, 소프트웨어 분석가가 분석

구조적 분석 기법 : 자료의 흐름과 처리를 중심, 도형 중심으로 요구사항 파악→ 문서화, 일관성, 자료 흐름도, 자료사전, 소단위 명세서, 개체 관계도, 상태 전이도, 제어 명세서

자료 흐름도 : 자료의 흐름 및 변환 과정과 기능 → 도형중심 , 자료 흐름 그래프, 버플 차트, 프로세스 ←→ 자료저장소 사이에 자료의 흐름 → 흐름과 처리를 중심으로 하는 구조적 분석 기법, 단계적으로 세분화, 처리(Process)를 거치면 새로운 이름 부여 → 새로운 출력 자료 산출, 프로세스(Process), 자료 흐름(Flow), 자료 저장소(Data Store), 단말(Terminator)

프로세스 : 자료를 변호나 시킴, 처리, 기능, 변환, 버플 → 원, 둥근 사각형(안에 프로세스 이름)

자료 흐름 : 자료의 이동이나 연관관계, 화살표 위에 자료의 이름을 기입

자료 저장소 : 시스템에서의 자료 저장소, 도형 안에 자료 저장소 이름 기입

단말 : 시스템과 교신하는 외부 개체, 입력데이터 + 출력데이터 (정보의 생산자 + 소비자), 도형안에 이름 기입

자료 사전 : 자료 사전은 자료 흐름도에 있는 자료를 더 자세히 정의한 것, 데이터의 데이터(메타 데이터), 자료 흐름도를 토대로 정보를 체계적이고 조직적으로 표현, = (자료의정의), +(자료의 연결, and), ( ) (자료의 생략), [ ](자료의 선택, or), { } (자료의 반복 m~n), * * (자료의 설명)

'휴지통 > 정보처리기사' 카테고리의 다른 글

009.UML(Unified Modeling Language)  (0) 2022.01.01
008. 요구사항 분석 CASE와 HIPO  (0) 2022.01.01
006. 요구사항 정의  (0) 2022.01.01
005. 개발 기술 환경 파악  (0) 2021.12.31
04. 현행 시스템 파악  (0) 2021.12.31