by-nc-sa     개발자, DBA가 함께 만들어가는 구루비 지식창고!

5장. 상관 모델링




  • 상관 모델링이란 정보화 시스템을 구축하기 위해 그 업무에 존재하는 무엇에 대해 무슨일이 행해지고 있는지를 또는 무슨일에 의해 무엇이 영향을 받는지를 분석하는 방법이다.
  • 업무를 분석하는 동안 준비된 업무 모델은 업무적 요구사항에 세 가지 중요한 관점을 통합하는 것
    1. 업무가 하고 있는(또는 해야만 하는)것을 기록하는 업무 기능에 대한 프로세스 관점의 모델
    2. 업무가 필요로 하는 것을 기술하거나 필요로 하는 것을 기술하거나 필요로 하는 것들간의 관계를 기술하는 데이터
    3. 프로세스 관점의 업무와 데이터 관점의 업무가 필요로 하는 것이 어떻게 영향을 주는가에 대한 영향 분석 관점의 상관 모델
  • 상관 모델링은 데이터 모델링 작업에서 도출한 엔티티타입과 프로세스 모델링에서 도출한 단위 프로세스를 이용하여 작업을 진행한다.
  • 상관 모델링 작업을 함으로써 데이터 모델과 프로세스 모델에 대한 품질을 향상시킬 수 있으며 업무 규칙에 좀더 정확하고 상세하게 접근 할 수 있다.
  • 상관 모델링 단계에서 검증해야 할 대상은 데이터 모델의 엔티티타입, 속성, 관계이며, 프로세스 모델의 각 업무 기능들과 단위 프로세스들이다.
  • 상관 모델링의 검증 내용
    1. 하나의 프로세스가 엔티티타입과 속성, 관계에 대해어떠한 영향을 미치는가 검증
    2. 어떤 프로세스가 엔티티타입을 이용하는지 검증해 보아야 한다.
    3. 엔티티타입이 상호 연관되는 관계에 대해 연결되어야 하는지 끊어야 하는지를 검증해야 한다.

1. CRUD MATRIX 상관 모델링

  • CREATE의 "C", READ의 "R", UPDATE의 "U", DELETE의 "D"를 의미

  • 업무에 모든 단위 프로세스들과 엔티티타입을 배열하고, CRUD를 표기한 이후 다음 사항을 점검하여야 한다.
    1. 모든 엔티티 타입은 CRUD가 한 번 이상 표기되었는가?
    2. 모든 엔티티타입에 "C"가 한 번 이상 존재하는가?
    3. 모든 엔티티타입에 "R"이 한 번 이상 존재하는가?
    4. 모든 단위 프로세스는 하나 이상의 엔티티타입에 표기가 되었는가?
    5. 두 개 이상의 단위 프로세스가 하나의 엔티티타입을 생성하는가?
  • CRUD MATRIX를 이용하여 프로젝트에서 여러가지 장점을 얻을 수 있다.
    • 분석 단계의 데이터 모델과 프로세스 모델에 대한 작업을 검증하는 역할을 한다
    • 시스템 구축 단계에서 애플리케이션을 개발하는 데 필요한 주요한 산출물이 된다. 각 단위 프로세스가 수행되기 위한 사전 조건(Pre-Condition), 사후 조건(Post-Condition) 정보를 구체적으로 제공한다
    • 테스트 단계에서 개발한 애플리케이션을 객관적인 자료를 사용하여 테스트하는 데도 중요한 역할을 한다.
    • 전체 업무의 인터페이스를 파악할 수 있다.

엔티티타입 생명주기 분석

  • 엔티티타입을 중심으로 엔티티타입과 관계된 프로세스만을 표기하여, 엔티티타입 내에 엔티티들이 어떠한 생명주기를 가지고 있는지 검증하는 방법
  • 엔티티는 한 시점에 하나의 상태만을 가지며, 반드시 프로세스에 의해 변경되고, 똑같은 상태로 유지될 수도 있다.
  • 이전 상태로 되돌아갈 수도 있으며, 속성값이나 관계를 통해 상태 정보가 저장된다.
  • 모든 엔티티의 상태는 뎅터가 하나도 존재하지 않는 Null상태에서 업무적인 규칙에 따라 데이터가 채워지거나 변형되고, 데이터가 더 이상 활용되지 않는 상태까지 변경된다.
  • 엔티티의 생명주기 분석은 그 업무에서 가장 중요한 업무 흐름을 가지면서 업무 흐름에 따라 각각 최종적인 상태를 알아야 하는 업무에 적용한다.
  • 상태에 대한 데이터값은 코드화 하거나 별도의 엔티티타타입으로 분리하여 저장하기도 한다
  • 각 업무를 코드화 하여 속성값으로 상태 정보를 가지는 경우 상태 정보르 시간에 따라 보관하기를 원한다면 이력 관리가 필요하다.

문서정보

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.