소개
[NBG01]에 정의된 것과 같이 개념적 데이터 모델링은 시스템의 지속적인 데이터 및 지속적인 데이터
저장영역 디자인의 개발에서 초기 단계를 나타냅니다. 많은 경우, 시스템의 지속적인 데이터는 관계형 데이터베이스 관리 시스템(RDBMS)이 관리합니다. 비즈니스 모델과 시스템 요구사항의 개념적 레벨에서
식별되는 비즈니스 및 시스템 엔티티는 유스 케이스 분석, 유스 케이스 디자인 및 데이터베이스 디자인 타스크를 통해 RDBMS에서 구현될 세부적인 실제 테이블 디자인으로 전개됩니다. 이 개념 문서에서 논의될 개념적
데이터 모델은 별도의 중간 산출물이 아닙니다. 대신에 데이터
모델 개발과 관계가 있는 기존 비즈니스 모델링, 요구사항, 분석 및 디자인 원칙 중간 산출물에 포함되어 있는 정보의 컴포지트 보기로 구성됩니다.
보통 데이터 모델은 다음 세 가지 일반적인 단계를 통해 전개됩니다.
-
개념-이 단계는 시스템이 처리해야 하는 문제점의 범위를 정의하는 상위 레벨의 핵심 비즈니스, 시스템 엔티티 및 그들의 관계에 대한 식별을 다룹니다. 이러한 주요 비즈니스 및 시스템 엔티티는
비즈니스 분석 모델 및 분석 모델의 분석 클래스 모델 요소에 포함되어 있는 비즈니스 모델용 UML 모델링 요소를 사용하여 정의합니다.
-
논리-이 단계는 개념적인 상위 레벨의 비즈니스 및 시스템 엔티티를 세부적인 논리 엔티티로 정제하는 작업을 다룹니다. 이러한 논리 엔티티 및 그들의 관계는 가이드라인: 데이터모델에 설명되어 있는 데이터베이스용 UML 프로파일의 모델링 요소를 사용하여 논리 데이터 모델에서 선택적으로 정의할 수
있습니다. 이러한 선택적인 논리 데이터 모델은 중간
산출물: 데이터 모델의 파트이며 별도의 RUP 중간 산출물은 아닙니다.
-
실제-이 단계는 논리 클래스 디자인을 세부적이고 최적화된 실제 데이터베이스 테이블 디자인으로 변환하는 작업을 다룹니다. 실제 단계는 또한 데이터베이스 테이블 디자인을 데이터베이스
저장영역 디자인에서 테이블 공간이나 데이터베이스 컴포넌트로 맵핑하는 작업도 포함합니다.
데이터베이스 디자인과 관련된 타스크는 전체 소프트웨어 개발 라이프사이클을 측정하고 초기 데이터베이스 디자인 타스크는 도입/인식(Inception) 단계에서
시작합니다. 응용프로그램의 비즈니스 컨텍스트를 설명하는 데 비즈니스 모델링을 사용하는 프로젝트의 경우, 데이터베이스 디자인은 비즈니스 유스 케이스 모델의 비즈니스 액터 및 비즈니스 유스 케이스의 식별 또는 비즈니스
분석 모델의 비즈니스 작업자 및 비즈니스 엔티티의 식별이라는 개념 레벨에서 시작합니다. 비즈니스 모델링을 사용하지 않는 프로젝트의 경우, 데이터베이스 디자인은 유스 케이스 모델에서 시스템 액터 및 시스템 유스
케이스의 식별 또는 유스 케이스 실현의 분석
모델에서 분석 클래스의 식별이라는 개념 레벨에서 시작합니다.
아래 그림은 비즈니스 모델, 요구사항 모델 및 분석 모델에 있는 개념적 데이터 모델 요소 세트를 표시합니다.
다음 섹션은 시스템에서 지속적인 데이터에 대한 초기 개념적 데이터 모델을 정의하는 데 사용할 수 있는 비즈니스 모델, 유스 케이스 모델 및 분석 모델의 요소를 설명합니다.
개념적 데이터 모델링 요소
비즈니스 모델
비즈니스 유스 케이스 모델
비즈니스 유스 케이스 모델은 비즈니스 액터와 비즈니스 유스 케이스로 구성됩니다. 비즈니스 유스 케이스는 개발될 시스템의 컨텍스트를 정의하는 데 사용되는 주요 비즈니스 프로세스를
나타냅니다. 비즈니스 액터는 비즈니스 유스 케이스를 통해 비즈니스와 상호작용을 하는 주요 외부 엔티티를 나타냅니다. 아래 그림은 온라인 경매 응용프로그램의 아주 간단한 예제 비즈니스 유스 케이스
모델을 표시합니다.
시스템의 간격 문제에 대한 중용한 엔티티로서 비즈니스 액터는 개념적 데이터 모델의 후보 엔티티입니다. 위 예제에서 구매자와 판매자 비즈니스 액터는 정보를 저장해야 하는 온라인 경매 응용프로그램에 대한 후보
엔티티입니다.
비즈니스 분석 모델
비즈니스 분석 모델은 비즈니스 유스 케이스의 워크플로우 분석에서 식별되는 비즈니스 작업자 및 비즈니스 엔티티의 모델이 되는 클래스를 포함합니다. 비즈니스 작업자는 해당 워크플로우를 수행하는 데 사용되는 조치를
실행하는 데 참여하는 작업자를 나타냅니다. 비즈니스 엔티티는 비즈니스 작업자가 사용하거나 워크플로우 중 생산되는 "내용"을 나타냅니다. 많은 경우, 비즈니스 엔티티는 시스템이 지속적으로 저장해야 하는 정보 유형을
나타냅니다.
아래에 있는 그림은 경매를 관리하는 "온라인 경매 제공"이라는 이름의 비즈니스 유스 케이스의 한 시나리오에서 비즈니스 작업자 및 비즈니스 엔티티를 나타내는 예제 시퀀스 다이어그램을 표시합니다.
이 간단한 예제에서 경매 관리자 오브젝트는 온라인 경매 관리 시스템 자체가 수행하는 것 같은 비즈니스 작업자 역할을 나타냅니다. 경매 및 경매 항목 오브젝트는 판매자 및 구매자 비즈니스 액터에 대한 에이전트처럼
동작하는 경매 관리자 작업자가 사용하거나 생산하는 비즈니스 엔티티입니다. 데이터베이스 디자인 관점에서 경매 및 경매 항목 비즈니스 엔티티는 개념적 데이터 모델의 후보 엔티티입니다.
요구사항 및 분석 모델
비즈니스 모델링을 수행하지 않는 프로젝트의 경우 요구사항(시스템 유스 케이스) 및 분석 모델은 초기 개념적 데이터 모델을 개발하는 데 사용할 수 있는 모델 요소를 포함합니다. 비즈니스 모델링을 사용하는 프로젝트의
경우, 비즈니스 분석 모델에서 식별되는 비즈니스 엔티티 및 관계는 분석 모델에서 엔티티 클래스로 정제되어 자세히 열거됩니다.
시스템 유스 케이스 모델
시스템 유스 케이스 모델은 시스템으로 사용자와의 기본적인 상호작용을 정의하는 시스템 액터와 시스템 유스 케이스를 포함합니다. 시스템 유스 케이스는 시스템의 기능적 요구사항을 정의합니다.
개념적 데이터 모델링 관점에서 시스템 액터는 지속적인 정보를 저장해야 하는 시스템에 대한 엔티티 외부를 나타냅니다. 이것은 시스템 액터가 개발 중인 시스템에 데이터를 제공 및/또는 수신하는 외부 시스템인 경우에
중요합니다. 시스템 액터는 비즈니스 유스 케이스 모델의 비즈니스 액터나 비즈니스 분석 모델의 비즈니스 작업자에서 파생될 수 있습니다.
아래에 있는 그림은 온라인 경매 시스템의 비즈니스 유스 케이스 모델을 표시합니다. 이 모델에서 이제 구매자 및 판매자 비즈니스 액터가 일반 사용자 비즈니스에서 파생됩니다. 신용 서비스 부서라는 이름의 새 시스템
액터가 외부 엔티티를 통한 지불 프로세스의 필요를 반영하기 위해 추가되었습니다. 이 새로운 시스템 액터는 개념적 데이터 모델의 다른 후보 엔티티입니다.
분석 모델
분석 모델은 시스템 유스 케이스의 유스 케이스 실현(realization)에서 식별된 분석 클래스를 포함합니다. 개념적 데이터 모델링 관점의 기본적인 관심 요소인 분석 클래스의 유형은 엔티티 분석 클래스입니다.
가이드라인: 분석 클래스에 정의된 것과 같이 엔티티 분석 클래스는 지속적인 방식으로 저장되어야 하는 시스템이 관리하는 정보를 나타냅니다. 엔티티 분석
클래스 및 해당 관계는 응용프로그램에 대한 초기 데이터 모델의 기초가 됩니다.
분석 모델의 개념 엔티티 분석 클래스는 디자인 모델의 논리 지속 디자인 클래스로 정제되어 자세히 열거됩니다. 이러한 디자인 클래스는 데이터 모델의 후보 테이블을 나타냅니다. 클래스의 속성은
테이블의 후보 열이며 이들의 후보 키도 나타냅니다. 디자인 모델 요소의 설명에 대한 가이드라인: 포워드 엔지니어링 관계형 데이터베이스는 데이터 모델 요소로 맵핑될 수 있습니다.
|