뭐든 즐기면서 ;)

분석모델 확인 본문

IT정리/정보처리기사

분석모델 확인

Tada.*+ 2023. 11. 19. 00:05
728x90

계획 > 분석 > 설계 > 구현 > 테스트 > 유지운영

분석 > 설계 단계에서 모델링 진행

모델링 기법

개념

  • 복잡한 시스템의 불필요한 부분을 생략하고 추상화하여 간단한 모델로 표현
  • 모듈들의 연관 관계를 그림으로 표현
  • UML과 같은 방법을 이용하여 모델로 비주얼화

모델링이 주는 도움

  • 소프트웨어 이해
  • 이해관계자들 사이에서의 문제 해결
  • 사용자와 고객에게 전달할 때 편함
  • 설계, 구현, 테스트, 유지보수에 개념적인 기준 제공

모델링 구분

  1. 기능적 모델링
    • 시스템의 기능을 사용자 관점에서 나타낸다
  2. 정적 모델링
    • 객체 간의 관계 표현
    • 클래스 다이어그램을 주로 이용
  3. 동적 모델링
    • 시간의 흐름에 따라 객체들을 모델링
    • 상태 다이어그램(상태도)을 주로 이용

분석 모델의 종류

구조적 분석 모델

객체 지향 분석 모델

정보 공학 분석 모델

정형화 분석 모델

구조적 분석 모델

구조적 분석 방법론

  • 하향식 ( <> 객체지향 분석은 상향식)
  • 절차지향

분석 도구

  • 자료흐름도(=DFD/ 버블차트 / 자료 흐름 그래프)
    • 기능 중심의 시스템을 모델링하는 데 적합
    • 자료의 흐름과 처리 과정을 도형 중심으로 표현
  • 자료사전(DD)
  • 소단위 명세서(= Mini-specification / 프로세스 명세서)
    • 자료 흐름도에서 어떤 일이 수행되는 지를 정의하기 위해 각 처리들이 수행하는 업무를 상세하게 작성
    • 구조적 언어이고, 선후 조건문, 의사결정표 등이 사용됨
  • 개체 관계도(ERD)
    • 개체와 개체의 구성과 속성, 개체 간의 관계를 표현
  • 상태 전이도(STD)
    • 시스템의 상태와 상태 간의 전이
    • 상태 전이도를 통해 개발자는 시스템의 행위를 정의

객체 지향 분석 모델

객체 지향 분석 방법론 (5개)

  1. Rumbaugh(럼바우) 방법
    • 객체 모델
      • 객체 다이어그램
      • 세 가지 모델 중 가장 선행되어야 함
    • 동적 모델
      • 상태 다이어그램을 이용하여 시간의 흐름에 따라 제어 흐름, 동작 순서 등 동적인 행위 표현
      • 객체나 클래스의 상태, 사건을 중심으로 표현
    • 기능 모델
      • 자료흐름도
      • 어떤 데이터를 입력하여 어떤 결과를 구할 것인지를 표현
  2. Booch(부치) 방법
    • 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 분석 방법
  3. Jacopson 방법
    • Use case 
  4. Coad(코드)와 Yourdon(요돈) 방법
    • E-R
  5. Wirfs-Brock(워프-브록)방법
    • 분석과 설계 간의 구분 없음
    • 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행

분석 자동화 도구

  1. CASE(Computer Aided Software Engineering)
    • 소프트웨어 개발과정 일부 또는 전체를 자동화하기 위한 도구
    • 소프트웨어 개발과정을 컴퓨터와 전용 소프트웨어가 도움을 주는 것
    • 주요 기능
      • S/W 라이프사이클 전 단계의 연결
      • 모델들 사이의 모순 검사
      • 모델의 오류 검증
      • DFD 등 다이어그램 작성
      • 다양한 소프트웨어 개발 모형 지원
      • 시스템 문서화 및 명세화를 위한 그래픽 지원
    • 원천 기술
      • 구조적 기법
      • 프로토타이핑 기술
      • 자동 프로그래밍 기술
      • 정보 저장소 기술
      • 분산 처리 기술
    • 도구의 분류
      • 상위 CASE (분석 > 설계에서 쓰임)
        • 모순검사, 오류검사, DFD 작성 등의 기능 수행
      • 하위 CASE(구현 > 테스트에서 쓰임)
        • 구문 편집기, 코드 생성기 등의 기능 지원
      • 통합 CASE(Software Development Life Cycle 전체 과정을 지원) - Software Development Life Cycle = 계획>분석>설계>구현>테스트>유지운영
    • 종류
      • 비용 측정 도구
        • SLIM(Putnam 모형의 근거)
      • 요구 분석용 도구 : 여기부터 밑에는 생략
      • 설계 도구 : 
      • 통합 도구 : 
  2. HIPO(Hierarchical Input Process Output)
    • 하향식 소프트웨어 개발을 위한 문서화 도구
    • 시스템의 기능을 여러 개의 고유 모듈들로 분할하려 이들 간의 계층구조를 표현한 도표
    • 종류
      • 가시적 도표(Visual Table of Content) : 전체적 구조
        • 시스템의 전체 기능과 흐름을 보여주는 계층(Tree) 구조
        • 입력, 처리, 출력 없음
      • 총체적 도표(Overview Diagram) : 전체적인 것에서 세분화
        • 프로그램을 구성하는 기능을 기술
        • 입력, 처리, 출력에 대한 전반적인 정보 제공
      • 세부적 도표(Detail Diagram) : 총체적 도표에서 좀 더 세분화/상세화
        • 입력, 처리, 출력에 대한 정보 제공
  3. 요구사항 관리 도구(게시판 식의 도구)
    • 해당 도구 선정 시 고려사항
      • 다중 언어 지원
      • 요구사항 정의와 식별
      • 요구사항 검증 및 그래픽적 표현
      • 요구사항 형상과 변경관리 ( 히스토리 )
      • 요구사항의 재사용
      • 문서화
      • 보고서와 대시보드
      • 다른 도구와의 인터페이스
    • 종류
      • JIRA 등등등등등
728x90
Comments