DevGang

[SE-12] 전통적 개발 방법론 - 요구사항 분석 본문

정보처리/SE

[SE-12] 전통적 개발 방법론 - 요구사항 분석

별천랑 2021. 2. 8. 17:05

1. 전통적 소프트웨어 개발 단계

2. 요구사항 분석의 개념

  • 프로젝트를 이해할 수 있는 개발의 실질적인 첫 단계
  • 소프트웨어가 가져야 될 기능을 기술하는 단계
  • 개발 대상에 대한 사용자의 요구사항을 이해하고 문서화(명세화)하는 단계
  • 현재의 상태를 파악하고 문제를 정의한 후, 문제 해결과 목표를 명확히 도출하는 단계

3. 요구사항 분석 작업

  • 문제 인식 사용자 면접, 설문조사를 통한 의견 수렴, 현재 사용 중인 각종 문서 검토 등을 통해 사용자의 요구 분석을 함
  • 평가와 종합 추출된 요구사항에 대한 정보를 평가하고 여러 가지 해결책을 종합함
  • 모델 제작 평가와 종합을 바탕으로 자료와 제어의 흐름, 기능 처리, 동작 행위, 정보 내용 등을 이해하기 쉽도록 모델을 작성
  • 문서화 검토 요구사항 분석 명세서를 작성하고, 소프트웨어의 기능, 성능, 제약 조건 등에 대하여 기술하고 검토함

4. 요구사항 분석의 어려움

  • 사용자의 요구사항이 모호하고, 부정확하며, 불완전함
  • 개발자와 사용자 간의 지식이나 표현의 차이가 커서 상호 이해가 쉽지 않음
  • 개발하고자 하는 시스템 자체가 복잡함

5. 요구사항 분석가의 자질

  • 요구사항 분석가(Analyst) 요구사항을 효율적으로 분석하고 정확한 명세화 작업을 하는 사람

- 요구사항 분석가가 갖추어야 할 능력

  • 추상적인 개념을 파악하여 논리적인 구성요소로 분해할 수 있는 능력
  • 서로 상반되고 모호한 정보로부터 필요한 사항을 수렴할 수 있는 능력
  • 관련된 하드웨어와 소프트웨어에 관한 최신 기술
  • 거시적 관점에서 세부적인 요소를 관찰할 수 있는 능력

6. 구조적 분석 도구

  • 구조적 분석 기법은 자료의 흐름과 처리를 중심으로 하는 요구사항 분석 방법
  • 구조적 분석 도구 종류 : 자료 흐름도, 자료 사전, 소단위 명세서, 개체 관계도 등

7. 구조적 분석 도구 - 자료 흐름도 (DFD, Data Flow Diagram)

  • 자료 흐름도 : 요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법
  • 자료 흐름도의 구성 요소 표기법 : 자료 흐름도의 구성 요소 프로세스(Process), 자료 흐름(Data Flow), 자료 저장소(Data Store), 단말(Terminator)

- 기본 DFD의 특성

  • 시스템 내의 모든 자료 흐름은 4가지의 기본 기호로 표시됨
  • 각각의 변환(처리)에 대하여 개별적인 상세화가 가능함
  • 변환(처리) 과정이 버블로 표현됨

- 자료 흐름도를 작성하는데 지침이 되는 항목

  • 어떤 처리(Process)가 출력자료를 산출하기 위해서는 반드시 입력자료가 발생해야 함
  • 자료 흐름은 처리(Process)를 거쳐 변환될 때마다 새로운 이름을 부여함
  • 처리(Process)와 하위 자료 흐름도의 자료 흐름은 서로 일치해야 함 

- 자료 흐름도의 예

항공시스템의 자료 흐름도

8. 구조적 분석 도구 - 자료 사전 (DD, Data Dictionary)

- 자료 사전

  • 자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것
  • 데이터를 데이터의 데이터 또는 메타 데이터(Meta Data)라고도 함 

- 표기법

- 기출문제 풀이 : 다음 내용을 자료 사전의 형태로 표기하시오.

고객 명세 = [고객 성명고객 번호] + 고객 주소

9. 구조적 분석 도구 - 소단위 명세서 (Mini-Specification) 

- 소단위 명세서

  • 세분화된 자료 흐름도에서 최하위 단계 버블(프로세스)의 처리 절차를 기술한 것
  • 프로세스 명세서라고도 함

- 특징

  • 반 페이지나 한 페이지 정도의 크기로 세분된 모듈을 작성할 때 사용
  • DFD에서는 한 개의 처리 공정이 그 대상이 되지만, 한 공정의 기능이 두 가지 이상 이거나 세분화함으로써 소단위 명세서를 이해하기가 쉬워진다면 더욱 세분화될 수 도 있음
  • 소단위 명세서는 구조적 언어를 사용하고, 작성하는 도구에는 서술 문장, 의사 결정 나무, 의사 결정표, 표, 그래프 등이 있음

10. 구조적 분석 도구 - 개체 관계도 (ERD, Entity Relationship Diagram)

  • 개체 관계도(ERD) 데이터 구조들과 그들 간의 관계들을 표현하기 위해 사용됨

- 개체 관계도의 작성 순서

  • 주요 키를 포함하여 개체(Entity)의 속성을 모두 찾아냄
  • 기본적인 개체(Entity)와 주요 키를 정의하며, 개체(Entity) 사이의 관계를 정의함
  • 1:M 관계를 단순화하기 위해 속성 개체(Entity)를 추가하며, 연관 관계를 정의하여 M:N 관계를 표현함
  • 각 개체(Entity)를 정규화, 누락된 개체(Entity) 점검 및 클래스 구조가 필요한지 결정함

11. 자동화 분석 도구

  • 자동화 분석 도구 요구사항을 자동으로 분석하고, 요구사항 분석 명세서를 기술하도록 개발된 도구

- 자동화 분석 도구 종류

  • SREM : TRW사가 우주 국방 시스템 그룹에 의해 실시간 처리 소프트웨어 시스템에서 요구사항을 명확히 기술하도록 할 목적으로 개발
  • PSL/PSA : 미시간 대학에서 개발한 것으로 PSL과 PSA를 사용하는 자동화 도구
  • EPOS

12. HIPO (Hierarchy Input Process Output) 

  • HIPO 다이어그램은 분석 및 설계 도구로서 사용됨
  • 시스템의 분석 및 설계나 문서화할 때 사용되는 기법이며, 기본 시스템 모델은 입력, 처리, 출력으로 구성됨
  • 기능과 자료의 의존 관계를 동시에 표현할 수 있음
  • 구조도, 개요 도표 집합, 상세 도표 집합으로 구성됨
  • 보기 쉽고 이해하기 쉬움

- HIPO의 종류

  • 가시적 도표 (Visual Table of Contents, 도식 목차) - 시스템의 전체적인 기능과 흐름을 보여주는 계층(Tree) 구조도
  • 총체적 다이어그램 (Overview Diagram, 총괄 도표ㆍ개요 도표) - 프로그램을 구성하는 기능을 기술한 것으로 입력, 처리, 출력을 기술
  • 세부적 다이어그램 (Detail Diagram, 상세 도표) - 총체적 도표에 표시된 기능을 구성하는 기본 요소들을 상세히 기술하는 도표

'정보처리 > SE' 카테고리의 다른 글

[SE-14] 전통적 개발 방법론 - 설계 방법  (0) 2021.02.08
[SE-13] 전통적 개발 방법론 - 설계  (0) 2021.02.08
[SE-11] 형상 관리  (0) 2021.02.08
[SE-10] 위험관리  (0) 2021.02.08
[SE-09] 소프트웨어 품질 보증  (0) 2021.02.08
Comments