Download presentation
Presentation is loading. Please wait.
1
[17]UML의 미래 소프트웨어공학과 이성운
2
17. UML의 미래 1. UML 2.0 UML의 진화과정 UML 2.0에서의 변화 UML 2.0에서 추가된 Diagram
UML Diagram 분류 및 Spec
3
17. UML의 미래 MDA MDA 배경 MDA 개요 MDA 핵심 기술 MDA 모델변환
4 Layer metamodeling hierarchy UML Profiles 결론
4
1. UML 2.0 UML의 진화과정 UML 2.0 feedback UML 1.x UML 1.1 UML 1.0
Superstructure Infrastructure Diagram Interchange OCL UML의 진화과정 UML 2.0 feedback UML 1.x OMG제안 ’97년11월 표준채택 UML 1.1 OMG제안 ’97년1월 UML 1.0 Other method UML 0.9 Unified Method 0.8 Booch Rumbaugh Jacobson
5
<<component>>
1. UML 2.0 UML 2.0에서 변화 Collaboration Diagram -> Communication Diagram State chart Diagram -> State machine Diagram Component Diagram 표기법 변경 Sequence Diagram while문이나 if-else문, switch-case문과 같은 반복문, 조건문, 선택문 등으로 나타나는 것은 Interaction Frame (상호연동프레임)으로 표현한다 전체 다이어그램을 Frame으로 묶을 수 있고, 다이어그램에 Interaction Frame을 이용할 수도 있다 Interaction Frame를 여러 형태로 결합이 가능하며 Frame의 operator를 통하여 결합형태를 표시한다 A Component <<component>>
6
1. UML 2.0 :Customer :Front :Register :Dispenser par 동시진행사건을 표현
Accept(cash,selection) getCustomerInput(cash,selection) [cash>price] checkForChange(cash,price) [no change] returnCash(cash) <<transaction over>>[no change] displayPrompt(“Use Corrent Change”) checkAvailability(selection) 동시진행사건을 표현 [sold out]displayPrompt(“Sold out”) <<transaction over>>[sold out] returnCash(cash) par Update(cash,price) [cash>price] receiveChange(cash,price) releaseSoda(selection) <<transaction over>>
7
1. UML 2.0 :Customer :Front :Register :Dispenser alt [sold out] [else]
Accept(cash,selection) getCustomerInput(cash,selection) [cash>price] checkForChange(cash,price) [no change] returnCash(cash) 조건에 따른 분기를 표시 <<transaction over>>[no change] displayPrompt(“Use Corrent Change”) checkAvailability(selection) alt [sold out]displayPrompt(“Sold out”) <<transaction over>>[sold out] [sold out] returnCash(cash) [else] Update(cash,price) [cash>price] receiveChange(cash,price) releaseSoda(selection) <<transaction over>>
8
1. UML 2.0 UML 2.0에서 변화 Activity Diagram … … 시간표시(time signal) 가능
Exception handler 처리 Object node를 활용하여 활동(action)에 input/output부분을 지정 간단한 전송신호(send signal), 수신신호(accept signal)를 표시할 수 있다. 활동(action)을 세밀하게 분해가 가능 Activity name 1sec input … output … input
9
1. UML 2.0 UML 2.0에서 추가된 diagram Composit structure Diagram car
UML 2.0의 복합체 구조 다이어그램(composite structure diagram)에는 각 컴포넌트 클래스를 전체 클래스 안에 위치시킴으로써 클래스의 내부 구조가 어떤 것으로 이루어져 있는지 살펴보는 데에 매우 유용하다. car Wheel tire : String size : String leftfront: wheel frontaxle rightfront: wheel leftrear: wheel rearaxle righttrear: wheel
10
1. UML 2.0 UML 2.0에서 추가된 Diagram Interaction overview Diagram
각 활동마다 객체 사이에 시간의 흐름을 갖는 메시지가 존재한다면 몇몇 활동 부분은 Sequence diagram이나 Communication diagram(혹은 두 다이어그램의 조합)으로 표현할 수 있다 Interaction overview diagram은 전체로 보면 하나의 Activity diagram이지만 각각의 활동 내부를 보면 Interaction diagram으로 이루어져 있다 즉, Interaction overview diagram은 Activity diagram과 Interaction diagram을 Frame 단위로 묶어서 Activity diagram처럼 사용한다
11
1. UML 2.0
12
1. UML 2.0 UML 2.0에서 추가된 diagram Timing Diagram :WashingMachine
시간 제약의 기술에 초점을 맞추고 있다 하나의 객체 또는 여러 객체를 한꺼번에 기술할 수 있다 서로 다른 객체 사이에 시간 제약 조건이 있는 경우 유용하게 사용할 수 있다 {>5m} 입수단계 세탁단계 헹굼단계 탈수단계 :WashingMachine state Timing constraint
13
1. UML 2.0 UML Diagram 분류 new new new
14
1. UML 2.0 UML Specification UML Superstructure UML Infrastructure
Meta-model을 기반으로 사용자 수준에서 모델을 활용하여 시스템 구조(structure)와 행위(behavior)를 정의하고 있는 14개 Diagram을 명세 UML Infrastructure UML 뿐만 아니라 OMG가 주관하는 각종 표준의 통합과 정의에 활용되는 메타모델 수준의 기본 구조체(constructs)를 명세 UML Diagram Interchange Case 도구 벤더들간의 모델 호환성 문제를 명세 UML OCL(Object Contraint Language) 모델 수준에서 요소(elements)제어 및 제약 문제를 명세
15
2. MDA MDA 배경 다양한 미들웨어 플랫폼의 등장 다양한 컴포넌트 아키텍쳐의 등장
ex) CORBA, .NET, JE22 다양한 컴포넌트 아키텍쳐의 등장 ex) ActiveX, COM, COM+, CCM, EJB Interoperability, portability 문제로 시스템 통합의 어려움 다양한 컴포넌트를 지원하는 표준모델의 정의가 필요 플랫폼이나 특정 벤더의 제품에 독립적인 UML로 중심축이 이동 2001년 3월에 MDA 소개 2003년 6월 MDA Guide 공개
16
2. MDA MDA 개요 설계모델과 구현모델의 분리
소프트웨어의 설계모델을 명세하고, 이를 상세설계모델과 코드로 변환하여 프로그램을 자동 생성하는 새로운 개발 기술 PIM (platform independent model) : 플랫폼에 독립적인 설계모델(기능중심) PSM (platform Specific model) : mapping을 통해 PIM을 PSM으로 변환 UML을 이용하여 PIM, PSM을 기술한다 PIM과 PSM간의 MAPPING방법을 OMG의 핵심표준인 MOF, UML, CWM, XMI로 기술되는 메타모델을 기반으로 하고 있다.
17
2. MDA MDA 개요 Mapping tool Platform- Independent Model CORBA
Java / EJB XML / SOAP Other Mapping tool
18
2. MDA MDA 핵심 기술 UML (Unified modeling language)
객체 및 컴포넌트 시스템을 표현하기 위한 표준언어 Infrastructure, OCL, Diagram Interchange, Executable UML MOF (Meta object facility) 메타모델 또는 모델의 공통 기반 모델 메타모델의 필수요소와 문법, 구조 등을 정의하는 메타메타모델 메타모델의 구축 및 검색,갱신을 지원하는 Repository 서비스를 정의 모델정의를 위한 기본구성요소와 구성요소를 IDL로 mapping하는 MOF-IDL로 구성 CWM (Common warehouse metamodel) Data repository 통합을 위한 산업표준
19
2. MDA MDA 핵심 기술 CWM (Common warehouse metamodel)
데이터베이스모델, 스키마 변형 모델,OLAP,데이터마이닝 모델들의 표현방법을 표준화 다양한 벤더들 사이에 메타데이터의 인스턴스를 교환하는 기반을 제공 XMI (XML metadata interchange) MOF 기반 모델들을 XML형태로 mapping하기 위한 표준 사양 MOF 기반 데이터베이스에 저장할 수 있도록 하는 표준 사양 다양한 도구들이나 Repository 사이에 호환성을 제공 모델을 저장하고 교환하기 위한 표준 사양 XML tag가 MOF 기반의 모델을 XML로 표현하는데 어떻게 사용되는지 정의 XMI는 XML DTD와 Schema를 통해서 XML 메타모델과 모델의 표현을 표준화(MOF기반의 메타모델은 XML DTD로 번역되고 모델은 XML 문서로 변환)
20
2. MDA MDA 모델 변환 OMG의 핵심표준인 MOF,UML,CWM,XMI로 기술되는 메타모델을 기반으로 이루어진다
PIM PSM Platform Independent Model Transformation Specification Specific PIM작성 UML을 이용하여 비즈니스 기능과 행위를 모델링 기본서비스 및 도메인 특성에 대한 내용도 포함 MOF 기반 repository에 저장 PSM작성 Repository에 저장된 내용이 input UML profile은 PSM의 세부적인 표현을 제공, 매핑규칙을 제공 자동화 도구에 의해 구현종속적인 UML model로 변환 Application 생성 Code generator에 의해 PSM으로부터 Application 생성
21
2. MDA 4 Layer metamodel hierarchy MDA기반 시스템 모델링의 기본구조이다.
Meta-Metamodel : 메타모델링을 위한 infrastructure 제공 메타모델을 정의하는 언어를 정의 MOF Metamodel : 메타메타모델의 instance 모델을 정의하는 언어를 정의 UML 2.0 Infrastructure Model : 메타모델의 instance 도메인 영역을 모델링 하는 언어를 정의 User Object(User data) : 모델의 instance 특정 도메인 영역의 실제 구현 객체레벨
22
2. MDA UML Profiles UML Infrastructure Profile 패키지
메타모델을 지식 영역의 특정 부분에 적용할 수 있도록 하는 메커니즘을 제공 Stereotype, constraints, tagged value를 사용하여 정의 PIM에서 PSM으로, PSM에서 코드를 생성하기 위한 변환규칙을 제공한다 표준 프로파일들 UML Profile for CORBA UML Profile for EJB UML Profile for .NET UML Profile for EAI UML Profile for EDOC UML Profile for Schedulability, Performance and Time UML Profile for SOAP UML Profile for QoS and Fault Tolerance
23
2. MDA 결론 MDA 방식의 이점 해결해야 할 과제 Portability 향상 Reusability 향상
Interoperability 향상 Productivity 향상 해결해야 할 과제 기술 변화 상황에 맞게 UML Profile을 제때 표준화해야 한다 기존의 legacy 시스템에 대한 PIM변환이 좀 더 명확해야 한다 MDA표준이 좀더 개발자에 이해하기 쉬워야 한다
24
참고자료 UML 객체지향설계, 곽용재 외, 정보문화사 UML과 객체지향 시스템 분석설계, 이우용 외, 그린
전자통신동향분석 제17권 제6호 2002년 12월 “MDA기술소개” 정보처리 제9권 제2호(2002.3) “MDA기반 소프트웨어 컴포넌트 아키텍쳐” TTA 저널 제80호 “ MDA기반 소프트웨어 컴포넌트 OMG, “UML 2.0 Specification”, OMG, “MDA Guide Version 1.0.1”, OMG, “Meta Object Facility Specification Version 2.0”, OMG, “XML Metadata Interchange(XMI)”, OMG, “Common Warehouse Metamodel”,
Similar presentations