문) MDA
1. 설계모델의 재사용 극대화 MDA
가. MDA(Model Driven Architecture)의 정의
- 핵심 메타모델을 근간으로 구현환경에 독립적인 모델을
자동으로 구현환경 종속적 모델로 변환하는 컴포넌트 기반 구조
나. MDA의 필요성
- CBD의 기술 종속적인 모델의 재사용 욕구 증대
- 설계와 구현의 분리로 설계모델 재사용 극대화
2. MDA의 절차 및 구성요소
가. MDA의 절차
절 차 |
설 명 |
비즈니스모델선정 |
업무를 기술하는 영역 |
플랫폼에 독립적 기본모델 |
UML을 사용 PIM을 생성 |
특정 플랫폼에 매핑 |
PIM을 MOF에 저장 |
각종 컴포넌트(EJB,COM,CCM)
종속 상세모델 |
Mapping Tool이용 자동변환 |
컴포넌트 생성(EJB,COM,CCM) |
UML Profile이용 구현코드 생성 |
- PIM(Platform Independent Model) : 기술모델에 독립적모델
- PSM(Platform Specific Model) : 기술모델에 종속적모델
나. MDA 구성요소
UML
(Unified Modeling Language) |
객체 및 컴포넌트 시스템을 표현하기 위한 표준언어 |
MOF
(Meta Object Facility) |
모델 정보에 대한 표준적인 저장소를 제공하고 표준화된 방식으로 모델 정보를 접근하는 구조를 정의 |
CWM
(Common Warehouse Metamodel) |
데이터 저장소 통합에 대한 표준을 정의하고 데이터 베이스 모델과 스키마 변환 모델 표준화된 표현 방법을 제공
메타데이터의 상호교환을 위한 자료저장소 |
XMI
(XML Metadata Interchange) |
UML로 기술된 모델 정보의 XML 표현에 대한 표준
MOF의 기본모델을 XML모델로 매핑하기 위한 표현표준 |
다. 모델 변환의 종류
PIM to PIM |
PIM이 개발 단계에서 좀더 상세화 |
PIM to PSM |
기술 종속적인 정보를 추가하여 PSM으로 변환 |
PSM to PSM |
PIM to PIM 관계와 같이 상세화 관계,실제 구현과 관련된 정보가 포함 |
PSM to PIM |
기존의 시스템의 구현 상황을 추상화하여 PIM 모델을 얻어내는 과정 |
3. MDA의 고려사항 및 활용
가. PIM변환 명확화, 변환작업의 자동화/경량화 및 기술변화에 대한
구현환경의 지속적 UML Profile관리가 필요함
나. MDA기반 프로세스 정립을 위해 MOF호환을 위한 UML 2.0 지원이
필요하고 기술변화에 대한 유연적 대처및 유지보수비용절감이 가능함
● 주요특징
효율성 : 기술 변화 상황에 효율적으로 대처할 수 있다.
이식성 : MDA 방식으로 개발된 시스템은 PIM을 통해서 변경된 기술 플랫폼으로 이식이
쉽게 이루어질 수 있기 때문이다.
유연성 : 시스템 인프라 변화에 유연하게 대처할 수 있다.
유지보수성,투자비용 :MDA 방식으로 개발된 시스템은 그 시스템의 유지 보수
비용이 적으며 시스템의 수명이 길다.
따라서 투자 비용이 보존된다.
● UML Profile
MDA에서 UML 프로파일은 중요한 위치를 점하고 있다.
MDA에서 PSM은 UML로 표현되어야 한다. 하지만 특정 기술 플랫폼의 개념들이 UML로
어떤 식으로 표현되어야 하는지에 대한 것은 UML 자체에 포함되어 있지 않다. 예를 들면
이를 위해서 OMG에서는 해당 플랫폼에 따라서 UML 프로파일을 만드는 작업을 진행
-------------------------------------------------
문) MDA
1.디자인 패턴 활용 극대화 모델 MDA
가.MDA(Model Driven Architecure)의 개요
- 메타모델을 기반, 구현환경독립적 시스템(PIM)개발,
자동화 도구를 통해 구현환경종속모델(PSM) 변환 SW 방법론
나.MDA 주요 특징
- 구현자동화 : 메타모델 통한 CORBA, EJB, .NET, COM 구현
- 상호운영성 ; UML 표준 사용으로 이기종 플랫폼에 독립
2.MDA 핵심기술와 구축 절차 및 변환도구
가.MDA 핵심기술
1)) MOF(Meta-Object Facility) : 정보 모델의 저장소, 문법과 구조를 정의한 메타모델
2) UML 2.0 : MOF와의 호환성을 위한 메타모델
3) UML Profile : 사용자 정의 언어, UML 확장, 구현모델 자동 매핑
4) CWM : 메타 데이터 상호 교환을 위한 표준 저장소, DB 모델 변환
5) XMI : MoF를 XML로 매핑하기 위한 표준 사양
나. MDA 구축절차(MDD 개발)
1) CIM : 개념화 관점의 요구사항을 모델에 적용
2) PIM : 요구사항 분석,설계 내용을 가지는 플랫폼 독립적 모델
3) PSM : 구현을 위한 상세 설계내용을 가지는 플랫폼 종속적 모델
다.MDA의 변환 도구
1) UMT : 중간모델기반, XML,XMI,XSLT를 이용한 모델변환 및 코드 생성
2) MTL : 직접변환, 다중상속 지원,메타모델 저장소를 통한 메타모델 재사용
3) ATL : 직접변환, ATL 변환 규칙 정의 언어를 사용해 UML->XMI->JAVA 변환
3.MDA의 주요 현황과 고려사항
가.재사용 관점 진화 : 구현 모듈 재사용에서 설계 재사용으로 변화
나.Round Trip Engineering : SDLC 전과정의 자동화 지원
다.UML 2.0 : UML 1.X의 MOF 와의 호환 미흡 완벽 지원
=====================================================
CIM : Computation Independent Model), PIM(Platform Independent Mode)
PSM(Platform Specification Model), CWM(Common Warehouse Model)
-----------------------------------------------------------------------
I. MDA 기반의 PIM,PSM와 변환을 위한 도구의 개념
-PIM:요구사항 분석,설계 내용을 가지는 플랫폼 독립적 모델
-PSM:구현을 위한 상세 설계내용을 가지는 플랫폼 종속적 모델
-MDA는 PIM을 PSM 형태로의 변환을 통해 요구분석->설계 또는 설계->
구현 과정의 재사용성 향상,코드의 자동생성,개발속도 향상 개발 방법
-모델변환과정:PIM --> (Intermediate Model) --> PSM
--------------------
실체변환과정:UML --> XMI --> JAVA,C++ 등
II. PIM,PSM 변환 도구의 종류 및 선택 기준
가. PIM,PSM 변환 도구의 종류
--------------------------------------------------------------------
구분 변환도구 도구 특징 설명
--------------------------------------------------------------------
중간 UMT -XML,XMI,XSLT를 이용한 모델변환 및 코드 생성
모델 -UML->WSDL,XML Schema,Java Interface,EJB 등으로 변환
기반 -Source Model->Intermediate Model->Transformer 변환
-XMI Light Model 사용을 통한 양방향 모델 변환 매핑 지원
--------------------------------------------------------------------
직접 MTL -모델변환 엔진과 모델변환 정의 언어 기능
변환 -다중상속 지원,메타모델 저장소를 통한 메타모델 재사용
-쉽고 명확한 명세가 어렵고 복잡한 변환규칙 미지원
ATL -ATL 변환 규칙 정의 언어를 사용해 UML->XMI->JAVA 변환
-변환규칙 정의가 명확하고 이해하기 쉬움
-변환모델에 대한 재사용,합성 지원
-Header(목표모델정의),Helper(명세),Rule(변환규칙) 구성
--------------------------------------------------------------------
나. PIM,PSM 변환 도구 선택 기준
--------------------------------------------------------------------
ATL,MTL UMT
--------------------------------------------------------------------
-변환규칙 추상화레벨 제공 -명확한 변환 규칙 제공
-변환모델의 재사용,합성제공(ATL) -양방향 모델 변환 매핑 지원
-Repository 활용한 변환모델 재사용(MTL)
--------------------------------------------------------------------
-변환 방식에 따른 특징이 존재하며 재사용성과 양방향 모델 변환 매핑
측면에서 개발 조직에 보다 가치가 있는 방법을 선택 사용
III. MDA 효과성 향상 방안
-Embedded SW:동일한 Logic의 Target 형태에 따른 서로 다른 구현에
대한 개발 속도 및 품질 향상에 적용
-AOP(Aspect Oriendted Programming) 기법의 적용을 통한 핵심,횡단
관심사 구현 용이성,효율 향상 활용
================================================================
1.설계단위 재사용을 위한 MDA(Model Driven Architecture)의 개요
가. MDA의 정의
-SW 설계 모델을 명세하고 이를 상세설계 모델과 코드로 변환하여 프로그램을 자동으로 생성하는 새로운 기술 개발
나.MDA의 활용의 장점
1)재사용(reuse):시스템 분석,설계,구현,결과 관리등 프로젝트 전체 과정 재사용 가능
2)구현 자동화: 메타모델을 이용하여 구현 정의 대부분을 자동화할수 있는구조.
3)이식성(Portability):구현환경과 독립적으로 정의되므로 이식성 증가
2)소프트웨어 품질(Quality):설계모델 재사용으로 품질 향상.
-어플리케이션 개발비용,품질,생산성 향상을 가지고 옴
2.MDA 구성요소 및 활용분야
가.MDA 구성요소
1)MOF(Meta Object Facility):플랫폼에 독립적인
2)CWM(common warehouse Meta)
3)UML Profile:
4)XMI(XMLmetadata interchange)
나.mda적용시 기대효과 및 전망
1)프로젝트 진행 과정 전체를 재사용 할 수 있다
2)메타모델을 이용한 구현 공정 자동화 용이함
3)공공 콤포넌트 개발:
4)소프트웨어 아키텍처:
RECENT COMMENT