본문 바로가기

학습 기록/정보처리기사

[1. 소프트웨어 설계] 요구분석 기법

요구분석(Requirement Analysis)란?

: 도출된 요구사항 간 상충을 해결하고 소프트웨어의 범위를 파악하여 외부 환경과의 상호 작용을 분석하는 과정

: 개발 대상에 대한 사용자의 요구사항 중 명확하지 않거나 모호하여 이해되지 않는 부분을 발견하고 이를 걸러내기 위한 과정

 

* 외부 환경 : 하드웨어, 소프트웨어, 네트워크 등 환경


요구분석 특징

- 소프트웨어 개발의 실제적인 첫 단계사용자의 요구에 대해 이해하는 과정

- 분석 결과 문서화를 통해 향후 유지보수에 유용하게 활용

- 보다 구체적인 명세를 위해 소단위 명세서가 활용될 수 있음

- 개발 비용이 가장 많이 소요되는 단계는 아님

- 도메인 분석은 요구에 대한 정보를 수집하고 배경을 분석해 이를 토대로 모델링 진행


요구사항 분석 단계 절차

  1. 요구사항 분류
  2. 개념 모델링 생성 및 분석
  3. 요구사항 할당
  4. 요구사항 협상
  5. 정형 분석

- 요구사항 확인, 요구사항 구현의 검증, 비용 추정이 가능하도록 충분하고 정확하게 기술 필요

- 요구사항 모델링은 주로 UML 사용

- 주요 UML 다이어그램에는 유스케이스 다이어그램, 시퀀스 다이어그램이 존재

- 애자일 방법론을 적용해 요구사항 모델링을 빠르고 효과적으로 만들 수 있음

 

요구사항 분석 기술

1) 청취 기술

2) 인터뷰와 질문 기술

3) 분석 기술 : 요구사항에 대한 충돌, 중복, 누락 등의 분석을 통해 완전성과 일관성을 확보하는 기술

4) 중재 기술 : 이해관계자들의 상반된 요구에 대한 중재

5) 관찰 기술

6) 작성 기술

7) 조직 기술 : 수집된 정보를 일관성 있는 정보로 구조화 하는 기술

8) 모델 작성 기술 : 수집 정보를 바탕으로 제어 흐름, 기능 처리, 동작 행위, 정보 내용 등을 위해하기 쉽도록 모델로 작성하는 기술


요구사항 분석에 사용하는 기능 모델링 기법

[데이터 흐름도; DFD; Data Flow Diagram]

1) 데이터 흐름도란?

: 데이터가 각 프로세스를 따라 흐르면서 변환되는 모습을 나타낸 그림

: 시스템 분석과 설계에서 유용하게 사용

: 시스템 모델링 도구로서 보편적으로 사용

: 자료 흐름 그래프 또는 버블 차트라고 함

 

2) 데이터 흐름도 특징

- 구조적 분석 기법에 이용

- 데이터 흐름에 중심

- 제어의 흐름은 중요하지 않음

- 시간의 흐름을 명확히 표현할 수 없음

 

3) 데이터 흐름도 구성요소

- 처리기 (Process) : 입력된 데이터를 원하는 형태로 변환하여 출력, 원 표시

- 데이터 흐름 (Data Flow) : DFD 구성요소(프로세스, 데이터 저장소, 외부 엔터티)들 간의 주고받는 데이터 흐름을 나타냄, 화살표 표시

- 데이터 저장소 (Data Store) : 데이터가 저장된 장소, 평행선 표시 (평행선 안에 데이터 장소 이름 표기)

- 단말 (Terminator) : 프로세스 처리 과정에서 데이터가 발생하는 시작과 종료를 나타냄, 사각형 표시 (사각형 안에 외부 엔터티 이름 표기)


[자료 사전]

1) 자료사전이란?

: 자료 요소, 자료 요소들의 집합. 자료 흐름, 자료 저장소의 의미와 그들 간의 관계, 관계 값, 범위, 단위들을 구체적으로 명시

 

2) 자료 사전 작성 목적

: 특정 자료 용어가 무엇을 의미하는지 알려주고, 용어의 정의를 조정 및 취합하고 문서로 명확히 함

 

3) 자료 사전 기호

  • = : ~로서 구성되어 있다는 것을 나타냄, 값이나 단위를 나타냄
  • + : 자료의 연결을 나타냄
  • () : 자료 생략 가능함을 나타냄
  • {} : 자료의 반복을 나타냄, 좌측에서는 최소 반복 횟수/우측에는 최대 반복 횟수 기록, 기본값은 최소는0/최대는 무한
  • [] : 자료의 선택을 나타냄, 택일 기호는 분리된 항목 중 하나가 선택됨을 표시
  • ** : 주석으로 자료의 설명을 나타냄

4) 자료 사전 작성 원칙

- 자료의 의미 기술 : 의미는 중복을 통해 기술, 중복되는 기술 회피

- 자료 구성항목의 기술 : 구성 항목들을 그룹으로 묶고, 각 그룹에 대해 의미 있는 이름 부여

- 동의어 규정 준수 : 동일한 문서나 자료에 대해 다른 이름을 가질 수 있으며, 용어 통일 보다는 사용하는 용어를 이용해 자료를 정의

- 자료 정의의 중복 제거 : 여러 사람이 독립적 분석을 시행할 경우 다른 이름 사용이 가능하기에 자료 저의의 중복 제거 필요


요구사항 분석이 어려운 이유

- 개발자와 사용자 간의 지식이나 표현의 차이가 커 상호 이해가 쉽지 않음

- 사용자 요구사항이 모호하고 불명확

- 개발 중 요구사항 변동 가능성 존재

- 요구에 예외가 많아 열거와 구조화가 어려움