포스트

03. 분석모델 확인

03. 분석모델 확인

모델링기법

개념

  • 복잡한 시스템을 쉽게 이해하기 위해 불필요한 부분을 생략하고 추상화하여 간단한 모델로 표현하는 것을 의미

  • 소프트웨어를 구성하는 모듈들을 식별하고, 이것들의 연결을 그림으로 표현

  • 요구분석 과정에 의해 수집된 개념과 정보를 분석하여 UML과 같은 방법을 이용하여 모델로 비주얼화

주는 도움

  • 소프트웨어를 이해하는 데 도움

  • 이해관계자들 사이에서 문제를 해결할 수 있도록 해줌

  • 파악한 개념을 사용자와 고객에게 전달할 때 도움을 줌

  • 설계, 구현, 테스팅, 유지보수에 개념적인 기준을 제공

구분

기능적 모델링

  • 시스템의 기능 사용자 관점에서 나타냄

정적 모델링

  • 객체 간의 관계를 나타냄

  • 클래스 다이어그램을 주로 이용

동적 모델링

  • 시간의 흐름에 따라 객체들을 모델링

  • 상태 다이어그램(상태도)을 주로 이용

분석 모델의 종류

구조적 분석 모델

구조적 분석 방법론

  • 도형화된 도구를 이용해 정형화된 분석 절차에 따라 사용자 요구사항을 파악하고 문서화하는 분석 기법
  • 사용하는 도구 : 자료흐름도(DFD), 자료사전(DD), 소단위 명세서(Mini-spec)
  • 하향식 기능 분해 기법 등을 사용하는 특성

구조적 분석 도구

자료 흐름도 | Data Flow Diagram

  • 가장 보편적으로 사용되는 시스템 모델링 도구로서, 기능 중심의 시스템을 모델링하는데 적합
  • 자료의 흐름과 처리 과정을 도형 중심으로 기술
  • 자료 흐름 그래프 또는 버블 차트라고도 함
구성요소설명기호
처리 과정
Process
자료를 변환시키는 처리 과정을 나타냄
자료 흐름
Data Flow
자료의 이동을 나타냄     >
자료 저장소
Data Store
파일, 데이터베이스 등 자료가 저장되는 곳을 나타냄     
     
단말
Terminator
데이터의 입출력 주체(사용자)를 나타냄

자료 사전 | Data Dictionary

  • 자료흐름도에 기술된 모든 자료들에 대한 사항을 자세히 정의
기호의미설명
=정의~로 구성
+연결and, 순차
( )생략생략 가능한 자료
[ l ]선택여러 대안 중 하나 선택
{ }반복자료의 반복
**설명주석
  • ex) 정보는 번호, 이름, 집번호, 휴대폰번호로 구성되어 있고, 집번호와 휴대폰번호는 둘 중 하나만 선택이 가능
    정보 = 번호 + 이름 + [ 집번호 | 휴대폰번호 }

소단위 명세서 | Mini Specification

  • 자료흐름도에서 어떤 일이 수행되는지를 정의하기 위해 각 처리들이 수행하는 업무를 상세하게 작성
  • 프로세스 명세서라고도 함
  • 구조적 언어이며 서술문장, 그래프, 선후 조건문, 의사결정표 등이 사용

개체 관계도 | Entity Relationship Diagram

  • 시스템에서 처리되는 개체(자료)와 개체의 구성과 속성, 개체간의 관계를 표현하여 자료를 모델화하는 데 사용
  • 데이터베이스 설계의 표현으로 사용
속성설명기호
개체Entity업무의 중심이 되는 실체
속성Attribute업무에 속하는 구체적인 항목
관계Relationship업무와 업무의 연관관계

상태 전이도 | State Transition Diagram

  • 시스템에 어떤 일이 발생할 경우 시스템의 상태와 상태 간의 전이를 모델화
  • 상태 전이도를 통해 개발자는 시스템의 행위를 정의

객체지향 분석 모델

객체 지향 분석 모델

  • 사용자의 요구사항을 분석하여 구조(클래스), 연산(행위), 속성, 그들 간의 관계 등을 정의하여 모델링하는 작업
  • 상향식 방식

객체지향 분석 방법론

Rumbaugh

  • 가장 일반적으로 사용되는 방법
  • 분석 활동을 객체 모델, 동적 모델, 기능 모델로 나누어 수행
종류설명
객체 모델링
Object Modeling
- 시스템에서 요구되는 객체를 찾아내어속성과 연산 식별 및 객체들 간의 관계를 규정해 객체 다이어그램으로 표현
- 세 가지 모델 중 가장 선행되어야 함
동적 모델링
Dynamic Modeling
- 상태 다이어그램을 이용하여 시간의 흐름에 따라 제어 흐름, 동작 순서 등 동적인 행위 표현
- 객체나 클래스의 상태, 사건을 중심으로 표현
기능 모델링
Functional Modeling
- 자료 흐름도를 이용해 다수의 프로세스들 간의 자료 흐름을 중심으로 처리 과정 표현
- 어떤 데이터를 입력하여 어떤 결과를 구할 것인지를 표현

Booch

  • 미시적 개발 프로세스와 거시적 개발 프로세스를 모두 사용하는 분석 방법

Jacobson

  • Use case를 강조하여 사용하는 분석 방법

Coad & Yourdon

  • E-R Diagram을 사용하여 객체의 행위를 모델링

Wirfs-Brock

  • 분석과 설계 간의 구분 없음
  • 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행

정보공학 분석 모델

  • 자료에 중점을 두어 자료와 프로세스를 별개의 작업으로 병행 진행한 뒤에는 서로간의 오류를 상관분석을 통해 검증

  • 기업 전체 또는 기업의 주요부분을 계획, 분석, 설계 및 구축에 정형화된 기법들을 상호 연관성 있게 통합, 적용하는 데이터 중심 방법론

정형화 분석 모델


분석자동화 도구

CASE | Computer Aided Software Engineering

개념

  • 소프트웨어 개발과정 일부 또는 전체를 자동화하기 위한 도구

  • 소프트웨어 개발과정을 컴퓨터와 전용 소프트웨어가 도움을 주는 것

  • 작업 과정 및 데이터 공유를 통해 작업자 간의 커뮤니케이션 증대

주요 기능

  • S/W 라이프사이클 전 단계의 연결

  • 모델들 사이의 모순 검사

  • 모델의 오류 검증

  • 자료 흐름도 등 다이어그램 작성

  • 다양한 소프트웨어 개발 모형 지원

  • 시스템 문서화 및 명세화를 위한 그래픽 지원

  • 표준화된 개발 환경 구축 및 문서 자동화 기능 제공

원천 기술

  • 구조적 기법(객체지향 시스템에도 활용)

  • 프로토타이핑 기술

  • 자동 프로그래밍 기술

  • 정보 저장소 기술

  • 분산 처리 기술

분류

  • 상위 CASE 생명주기 전반부에 사용되며, 소프트웨어의 계획와 요구분석, 설계 단계를 지원

  • 모순검사, 오류검사, 자료흐름도 작성 등의 기능을 수행

하위 CASE

  • 생명주기 후반부에 사용되며, 코드의 작성과 테스트, 문서화 하는 과정을 지원

  • 구문 편집기, 코드 생성기 등의 기능을 수행

통합 CASE

  • 소프트웨어 생명주기에 포함되는 전체 과정을 지원

종류

  • 비용 측정 도구
    • SLIM (Putnam 모형의 근거)
  • 요구 분석용 도구
    • PSL/PSA
    • SREM
    • SYSREM
  • 설계 도구
    • DARTS
    • StateMATE
    • SSD
    • STP
    • ARTFIX
  • 통합 도구
    • TAGS
    • PROMOD

HIPO | Hierarchical Input Process Output

개념

  • 하향식 소프트웨어 개발을 위한 문서화 도구

  • 시스템의 기능을 여러 개의 고유 모듈들로 분할하여 이들 간의 계층구조를 표현한 도표

기능

  • 분석 및 설계 도구로 사용

  • 하향식 개발에 적합

  • 체계적인 문서관리에 효율적

  • 기능과 자료의 의존관계를 명시

종류

  • 가시적 도표Visual Table of Content
    • 시스템의 전체 기능과 흐름을 보여주는 계층(Tree) 구조
    • 입력, 처리, 출력 없음
  • 총체적 도표Overview Diagram
    • 프로그램을 구성하는 기능을 기술한 것
    • 입력, 처리, 출력에 대한 전반적인 정보 제공
  • 세부적 도표Detail Diagram
    • 총체적 도표에 표시된 기능을 구성하는 기본 요소들을 상세히 기술하는 도표
    • 총체적 도표와 같은 모양이지만 내용만 좀 더 복잡하게 들어간 형태

요구사항 관리 도구

개념

  • 고객의 요구사항을 파악하여, 우선순위를 부여하여 적용하고, 추적하고, 보고할 수 있도록 도움을 주는 도구

  • 협업, 히스토리 추적, 우선순위 책정 및 적용, 상태 보고, 보고 요약, 요구사항 추적성 등의 기능을 제공

선정 시 고려사항

  • 다중 언어 지원

  • 요구사항 정의와 식별

  • 요구사항 검증 및 그래픽적 표현

  • 요구사항 형상과 변경관리

  • 요구사항의 재사용

  • 문서화

  • 보고서와 대시보드

  • 다른 도구와의 인터페이스

종류

  • Helix RM

  • Jira

  • Orcanos

  • ReQtest

  • Visure Requirements

  • Redmine

이 기사는 저작권자의 CC BY-NC 4.0 라이센스를 따릅니다.