[정보처리기사실기] 요구사항 분석 / 구조적 분석 / 객체 지향 분석 방법론

    반응형

    1과목. 소프트웨어 구축

    📒 04. 요구사항 분석

     

    계획 - 요구사항 분석 - 소프트웨어 설계 - 구현 - 테스트 - 유지보수


    1. 현행 시스템 분석

    (1) 플랫폼 기능 분석

    • 플랫폼은 연결 기능, 비용 감소 기능, 브랜드 신뢰 기능, 커뮤니티 형성할 수 있음
    • 내가 활동할 수 있는 공간
    • CPND(Contents Platform Network Device) : 콘텐츠를 플랫폼에 맞게 가공하고 네트워크를 통해 사용자의 단말기로 서비스가 이루어짐을 표현하는 무선 인터넷 서비스의 가치사슬 (ex. 유튜브)

    (2) 현행 시스템 분석

    • 운영체제, 네트워크,  DBMS 분석

    (3) 미들웨어(Middleware) 분석

    • 의미 : 중간에서 매개 역할을 하는 소프트웨어
    • 종류 : 원격 프로시저 호출(RPC), 메시지 지향 미들웨어(MOM), ORB, DB 접속 미들웨어, TP 모니터,
      웹 애플리케이션 서버(WAS), 엔터프라이즈 서비스 버스(ESB)

     

    2. 요구사항 개발 프로세스

    (1) 도출(Elicitation)

    • a) 의미 : 사용자와 이해 관계자들로부터 요구사항을 수집함

    (2) 분석(Analysis)

    • a) 의미 : 실제로 구현할 수 있는 요구사항인지 검토 후 우선순위 결정
    • b) 분석 도구 : DFD, Data Dictionary, Mini-Spec, ERD, STD
    • c) 객체지향 분석 도구 : UML(Unified Modeling Language)
    • d) 도메인 분석 : 요구사항의 배경으로 설계 모델링에 필요한 개념과 룰 파악

    (3) 명세(Specification)

    • a) 의미 : 분석된 요구사항을 명세서 형태로 정리
    • b) 기법 : 정형 명세 기법(수학, 논리학) / 비정형 명세 기법(자연어, 그림 중심)
    • c) 분류 : 기능 요구사항(어떤 기능 수행하는지) / 비기능 요구사항(어떻게 동작하는지, 성능 및 안전성)

    (4) 확인 및 검증(Validation & Verification)

    • a) 의미 : 요구사항을 이해했는지 확인하고 문서가 일관성 있고 완전한지 검증

     

    3. 요구사항 분석 도구

    (1) CASE(Computer Aided Software Engineering) 도구

    • a) 개념 : 소프트웨어 개발 전반에 걸쳐 컴퓨터가 도와주는 도구
    • b) 종류
      - 상위 CASE : 계획, 요구분석, 설계 단계 지원 / 오류검사, 자료 흐름도 작성 등의 기능 수행
      - 하위 CASE : 코드의 작성, 테스트, 문서화 과정 지원 / 구문 편집기, 코드 생성기 등의 기능 수행
      - 통합 CASE : 소프트웨어 생명주기에 포함되는 전체 과정 지원

    (2) HIPO(hierarchial Input Process Output)

    • a) 개념 : 하향식 소프트웨어 개발을 위한 문서화 도구(구조적 방법론)
    • b) Chart 종류
      - 가시적 도표 : 시스템의 전체적인 기능과 흐름을 보여주는 Tree 구조로 입, 출력이 없음
      - 총체적 도표 : 프로그램을 구성하는 기능을 기술한 것
      - 세부적 도표 : 총체적 도표에 표시된 기능을 상세히 기술한 도표

     

    4. 구조적 분석 도구

    (1) 자료 흐름도(DFD, Data Flow Diargram)

    • a) 개념 : 자료가 어떻게 이동하고 처리되는지 도형으로 나타내는 모델링 도구로 버블 차트라고도함
    • b) 구성요소
      - 처리 과정 : 자료를 변환시키는 처리 과정 / 기호 O
      - 자료 흐름 : 자료의 이동 / 기호 →
      자료 저장소 : 파일, 데이터베이스 등 자료가 저장되는 곳 / 기호 〓
      - 단말 : 데이터의 입출력 주체 / 기호 □

    (2) 자료 사전(DD, Data Dictionary)

    • a) 개념 : 자료 흐름도(DFD)에 기술된 모든 자료들에 대해 자세한 정의와 설명을 제공하는 도구
    • b) 사용 기호
       = : 자료의 정의 / 특정 자료가 어떤 구성요소로 이루어져 있는지 나타냄
       + : 자료의 연결 / 여러 자료가 순차적으로 결합되어 있는 상태 
       () : 자료의 생략 / 필요에 따라 생략할 수 있는 자료
      [ | ] : 자료의 선택 / 여러 대안 중 하나를 선택할 수 있는 자료
      {} : 자료의 반복 / 자료가 반복될 수 있음을 나타냄
      ** : 자료의 설명 / 해당 자료에 대한 추가적인 설명이나 주석

    (3) 소단위 명세서(Mini-Specification)

    • a) 개념 : 자료 흐름도(DFD)에서 각 처리가 수행하는 업무를 상세하게 작성하는 문서로, 프로세스 명세서라고도 함

    (4) 개체 관계도(ERD, Entity Relationship Diagram)

    • a) 개념 : 개체와 그 속성, 개체 간의 관계를 도식화하여 모델링하는 도구
    • b) 구성
      - 개체(Entity) : 업무의 중심이 되는 실체 / □
      - 속성(Attribute) : 업무에 속하는 구체적인 항목 / ○
      - 관계(Relationship) : 업무와 업무의 연관관계 / ◇

    (5) 상태 전이도(STD, State Transition Diagram)

    • a) 개념 : 시스템의 상태와 상태 간의 전이를 모델화하는 도구

     

    4. 객체 지향 분석 방법론

    (1) Rumbaugh(럼바우) 방법 ⭐

    • a) 개념 : 가장 일반적으로 사용되는 방법으로 객체, 동적, 기능 모델로 나누어 수행
    • b) 분석 절차
      - 객체 모델링 : 객체 다이어그램을 통해 시스템의 객체, 속성, 연산, 관계를 표현
      - 동적 모델링 : 상태 다이어그램을 사용하여 시간에 따른 객체의 행동과 상호작용을 표현
      - 기능 모델링 : DFD를 이용해 데이터 흐름과 처리 과정을 표현

    (2) Booch(부치) 방법

    • 미시적 및 거시적 개발 프로세스 모두 사용

    (3) Jacobson(자콥슨) 방법

    • Use case를 중심으로 한 분석 방법 사용

    (4) Coad와 Yourdon(코드와 야돈) 방법

    • E-R 다이어그램을 사용하여 객체의 행위를 모델링

    (5) Wirfs-Brock(위륵스-브룩) 방법

    • 분석과 설계의 구분 없이 연속적으로 작업을 수행

     

     

    참고자료

    흥달쌤,  '흥!나게 합격 달성! 2024 정보처리기사 실기 클래스'

     

    반응형

    댓글