본문 바로가기
국가 자격증

소프트웨어공학 '전통적 개발 방법론'에서 요구사항 분석 단계 정리

by JNLC 2024. 1. 31.

정보처리기사 필기시험을 공부하면서 내용을 정리하고 있습니다. 이번 시간에는 소프트웨어공학 '전통적 개발 방법론' 과목은 '요구사항 분석', '설계', '구현', '시험', '유지보수' 단계 순으로 이루어집니다. 이 과정 중 이번 시간에는 요구사항 분석에 대해 공부한 내용을 정리해 보겠습니다. 

 

정보통신기술자 수첩 자격 확인 바로 가기 링크
정보통신기술자 수첩 자격 확인 바로 가기 링크

 

정보처리기사 자격증을 획득하는 것은 정보통신기술자 수첩 중급을 획득하는 가장 빠른 방법이라 생각됩니다. 꼭 정보처리기사 자격증이여만 하는 것은 아니지만 제가 관심 있게 공부할 수 있는 기사 자격증 중에 하나라고 생각되어 시작하게 되었습니다.

 

썸네일

 

목차

     

    요구사항 분석

     

    반응형

     

    내용의 핵심 내용을 정리 한 이미지
    요구사항 분석에 관한 핵심 내용

     

    1. 요구사항 분석의 개념
      1. 프로젝트를 이해할 수 있는 개발의 실질적인 첫 단계
      2. 소프트웨어가 가져야 될 기능을 기술하는 단계
      3. 개발 대상에 대한 사용자의 요구사항을 이해하고 문서화(명세화)하는 단계
      4. 현재의 상태를 파악하고 문제를 정의한 후, 문제 해결과 목표를 명확히 도출하는 단계
    2. 요구사항 분석 작업
      1. 문제 인식 사용자 면접, 설문조사를 통한 의견 수렴, 현재 사용 중인 각종 문서 검토 등을 통해 사용자의 요구 분석을 함
      2. 평가와 종합추출된 요구사항에 대한 정보를 평가하고 여러 가지 해결책을 종합함
      3. 모델 제작 평가와 종합을 바탕으로 자료와 제어의 흐름, 기능 처리, 동작 행위, 정보 내용등을 이해하기 쉽도록 모델을 작성
      4. 문서화 검토요구사항 분석 명세서를 작성하고, 소프트웨어의 기능, 성능, 제약 조건 등에 대하여 기술하고 검토함
    3. 요구사항 분석의 어려움
      1. 사용자의 요구사항이 모호하고, 부정확하며, 불완전함
      2. 개발자와 사용자 간의 지식이나 표현의 차이가 커서 상호 이해가 쉽지 않음
      3. 개발하고자 하는 시스템 자체가 복잡함
    4. 요구사항 분석가의 자질
      1. 요구사항 분석가(Analyst)요구사항을 효율적으로 분석하고 정확한 명세화 작업을 하는 사람
      2. 요구사항 분석가가 갖추어야 할 능력
        • 추상적인 개념을 파악하여 논리적인 구성요소로 분해할 수 있는 능력
        • 서로 상반되고 모호한 정보로부터 필요한 사항을 수렴할 수 있는 능력
        • 관련된 하드웨어와 소프트웨어에 관한 최신 기술
        • 거시적 관점에서 세부적인 요소를 관찰할 수 있는 능력
    5. 구조적 분석 도구
      1. 구조적 분석 기법은 자료의 흐름과 처리를 중심으로 하는 요구사항 분석 방법
      2. 구조적 분석 도구 종류
        • 자료 흐름도, 자료 사전, 소단위 명세서, 개체 관계도
      3. 자료 흐름도 (DFD, Data Flow Diagram)
        • 자료 흐름도
          • 요구사항 분석에서 자료의 흐름 및 변환 과정과 기능을 도형 중심으로 기술하는 방법
        • 자료 흐름도의 구성 요소 표기법
          • 자료 흐름도의 구성 요소 : 프로세스(Process), 자료 흐름(Data Flow), 자료 저장소(Data Store), 단말(Terminator)
          • 표기법
    구성 요소 의미 표기법
    프로세스
    (Process, 처리 공정)
    _자료를 변환시키는 시스템의 한 부분(처리 공정)을 나타냄
    _버블이라고도 함

    자료 흐름
    (Data Flow)
    _자료의 이동(흐름)을 나타냄
    자료 저장소
    (Data Store)
    _시스템에서의 자료 저장소(파일, 데이터베이스)를 나타냄
    단말
    (Terminator, 종착지)
    _자료의 출처와 도착지를 나타냄
    _정보의 생산자와 소비자
    • 기본 DFD의 특성
      • 시스템 내의 모든 자료 흐름은 4가지의 기본 기호로 표시됨
      • 각각의 변환(처리)에 대하여 개별적인 상세화가 가능함
      • 변환(처리) 과정이 버블로 표현됨
    • 자료 흐름도를 작성하는데 지침이 되는 항목
      • 어떤 처리(Process)가 출력자료를 산출하기 위해서는 반드시 입력자료가 발생해야 함
      • 자료흐름은 처리(Process)를 거쳐 변환될 때마다 새로운 이름을 부여
      • 처리(Process)와 하위 자료흐름도의 자료 흐름은 서로 일치해야 함
    • 자료 흐름도의 예

    자료 흐름도의 예시
    함공시스템의 자료 흐름도 예시

    4. 자료 사전 (DD, Data Dictionary)

    • 자료 사전
      • 자료 흐름도에 있는 자료를 더 자세히 정의하고 기록한 것
      • 데이터를 데이터의 데이터 또는 메타 데이터(Meta Data)라고도 함
    • 표기법
    기호 의미 설명
    = 자료의 정의 ~로 구성되어 있다
    + 자료의 연결 그리고(and)
    ( ) 자료의 생략 생략 가능한 자료(Optional)
    [ | ] 자료의 선택 또는(or)
    하나 이상의 선택이 필요할 때 사용하는 기호
    { } 자료의 반복
    (interation of)


    * * 자료의 설명 주석(Comment)
    • 기출 문제 풀이 - 다음 내용을 자료 사전의 형태로 표기하시오.
      • 고객명세는 고객성명, 고객번호, 고객주소로 구성되어 있으며, 고객성명과 고객번호는 둘 중 하나만 선택이 가능함
      • 고객명세=[고객성명|고객번호]+고객주소

    5. 소단위 명세서 (Mini-Specification)

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

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

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

    * 여기까지 '5. 구조적 분석 도구 내용' 관련된 내용입니다.


     

    자동화 분석 도구 종류와 HIPO에 대해 핵심 내용을 정리한 이미지
    자동화 분석 도구 종류와 HIPO에 대해 핵심 내용을 정리

     

    6. 자동화 분석 도구

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

    7. HIPO

    • HIPO (Hierarchy Input Process Output) *Hierarchy : 계층
      • HIPO 다이어그램은 분석 및 설계 도구로서 사용됨
      • 시스템의 분석 및 설계나 문서화할 때 사용되는 기법이며, 기본 시스템 모델은 입력, 처리, 출력으로 구성
      • 기능과 자료의 의존 관계를 동시에 표현할 수 있음
      • 구조도, 개요 도표 집합, 상세 도표 집합으로 구성됨
      • 보기 쉽고 이해하기 쉬움
    • HIPO 의 종류
      • 가시적 도표 (Visual Table of Contents, 도식 목차)
        • 시스템의 전체적인 기능과 흐름을 보여주는 계층(Tree) 구조도
      • 총체적 다이어그램 (Overview Diagram, 총괄 도표·개요 도표)
        • 프로그램을 구성하는 기능을 기술한 것으로 입력, 처리, 출력을 기술
      • 세부적 다이어그램 (Detail Diagram, 상세 도표)
        • 총체적 도표에 표시된 기능을 구성하는 기본 요소들을 상세히 기술하는 도표

    유튜브 온라인 무료 강의 바로 가기

    정보처리기사 소프트웨어공학 요구사항 분석 강의

    댓글