목차 1 2 아키텍처의개요와배경 1.1 Overview, 1.2 SW Visualization 의배경, 1.3 관련기술및사례, 1.4 Model 통합 MDA Visualization Platform 의특징 2.1 특징, 2.2 메타정의, 2.3 모델저장소, 2.4 모델변환, 2.5 Executable Model, 2.6 Visualization 3 4 MDA Visualization Platform 의아키텍처구성 3.1 MDA Platform 아키텍처의구성, 3.2 MDA Platform 아키텍처에코시스템, 3.3 확장아키텍처 아키텍처의적용방안 4.1 아키텍처의적용방안, 4.2 아키텍처의적용사례, 4.3 아키텍처의발전방향 5 기대효과와결론 5.1 기대효과, 5.2 결론 2
1 1 Overview SW 의모든정보는모델저장소를통하여디지털화된데이터로관리및확장가능 SW 개발인프라환경에서추적성과가시성이확보된개발전부문의 Application 생명주기관리 MDD 에최적화된공개 SW 기반의모델주도적 SW 개발도구 개발방법론, 개발언어, 개발환경등에독립적인공개 SW 모델링 Tool 로써 Round Trip Plug-in 방식으로 SW 프로젝트관리의추적성과가시성을확보하여생명주기를관리하는모델링체계지원 모델저장소를기반으로메타정보를관리하여표준을선도하는상호운영성제공도구 UML 모델링분야의데이터표준화를선도하여다양한도구들과의호환성을확보하고, 메타정보를사용자환경에맞게재가공하여상호운영성및사용성에최적화된설계도구의제공 MDD 기반모델링설계도구 모델기반통합프로젝트 모델저장소기반의설계도구 배경 / 필요성 자동화도구를통한생산성향상 SW 개발시생산성및품질향상 프로젝트관리도구와의연계 90% 이상활용 중소기업이납품하는결과물의품질및생산성향상필요 MDD 개발생산성 SW 품질혁신성 MDD 프로젝트관리 30% 이상 30% 이상 30% 이상 3
disableuseraccount logaccountdata alarm resetalarm [ScFailCount==3] [BsFailCount==3] Admin Admin [else] flagsecuritycardfailure [else] flagbiometricscanfailure User readsecuritycard validatesecuritycard [else] displaycardstatus User scanbiometricdata [CardStatus Valid] [else] authenticatebiometricdata displayauthenticationstatus [else] AccessPoint AccessPoint logentrydata [else] «MessageAction» unlockaccesspoint «MessageAction» lockaccesspoint [First Request] [Timeout BiometricScan] [BiometricData Authenticated] [Timeout Unlocked] «MessageAction» takepicture Camera 1 2 SW Visualization 을위한배경 (1) 급속도로빠르게변화하는 IT 환경에서 Time-to-market 을위한 SW 가시성확보는必수 모델링을통하여 SW Information 을모델기반으로디지털화 Past Digitization Future Security System Specifications User Uc1Control Entry Camera Uc2Control Exit Interface requirements Admin Uc3ConfigureSecurity System AccessPoint User Uc_Uc1ControlEntry AccessPoint Camera System design message_0() message_2() readsecuritycard() message_1() validatesecuritycard(cardstatus) displaycardstatus(cardstatus) scanbiometricdata() authenticatebiometricdata(authenticationstatus) displayauthenticationstatus(authenticationstatus) Analysis & trade-off logentrydata() message_4() message_6() message_3() Uc1ControlEntryCtrl WaitForEntryRequest reqreadsecuritycard/ readsecuritycard(); A message_5() reqtakesnapshot to pcamera ProcessingSecurityCardData Test plans Fail3Times [CardStatus=="Valid"] ProcessingBiometricData Authenticated BsTimeout Failed3Times A /disableuseraccount(); logaccountdata(); UnlockingAndLockingAccessPoint reqprocessalert("user Access Disabled") to padmin evaccesspointlocked WaitForResetAlarm reqresetalarm/ resetalarm(); A Moving from manual methods to an automated, visual approach 4
1 2 SW Visualization 을위한배경 (2) SW Life Cycle 전주기를지원하는멀티모델링 (Multi-Modeling) 도구의필요 개발프로젝트에즉시적으로적용할수있는방법론, 가이드, 템플릿등통합체계지원필요 SW 비가시성 SW 복잡도증가 SW 개발에서가장먼저개선되어야할영역중의한분야인요구사항분석에서설계단계의모델화 모델기반의코드작성, 디버깅, SW 통합, 개발자테스팅등의활동 다양한개발환경 DESIGN DEVELOP 실행결과와예상결과의비교 Quality CONFIGURAION TEST Traceability 변경사항을통제하기위한관리방법 EA Asset SW Visualization 은 IT 개발환경의핵심운영전략 Standard 5
1 3 관련기술및사례 MDD(Model Driven Development) 는플랫폼에독립적인 SW 모델로부터플랫폼종속적인 SW 모델로자동변환즉, 소스코드를자동으로생성하는방법으로플랫폼에맞는 SW 를쉽고빠르게개발하여호환성및시스템간자동성을보장하고자하는소프트웨어개발기술 MDD 모델구조 - 플랫폼독립모델 (PIM) : 구현기술과무관하게비즈니스기능과행위를정의하고 UML 로모델링 - 플랫폼종속모델 (PSM) : 기술플랫폼의특성을반영한모델로 MOF 로정의된 PIM 을 UML Profile 로자동매핑하여생성 Executable Model - EA 환경에서모델링을통한비즈니스프로세스의자동화 국내 - 물류통합시스템구축프로젝트물류통합시스템구축한 SI 프로젝트에서물류 / 회계업무 MDD/MDA 기술을적용 ) - 서비스시스템별로개발생산성은물류시스템 37.55 FP/MM, 회계시스템 55.72FP/MM 등으로측정되었으며이는 2006 년 ISBSG 의 32FP/MM 보다월등히높게측정 해외 - 제조부문 : 미국록히드마틴 (Lockheed Martin) 사에서는전투용소프트웨어시스템 (Modular Mission Computer Application Software) 개발에서 UML 설계툴을사용하여프로그램코드를자동생성하는기법으로개발자의실수로발생할수있는오류를줄임으로써 SW 의품질을향상시키는것은물론물리적인소스코드의 40~60% 를자동으로생성해개발기간의 20% 를감축 - 금융부문 : 미국 Wells Fargo 은행의업무처리시스템의통합을위해 UML 설계도구를활용하여타시스템과의통합을위한프로그램소스코드를자동생성하여최상의 ROI 를달성 6
1 4 Model 의통합 기존모델링제품에서개별적으로관리되는산출물및 S/W 모델정보를통합적으로하나의저장소를기반으로유지관리함으로서관리효율성을높이고이에따른정보의재사용성극대화 기존모델링도구 통합모델링 BPMS SW Architectures Business Entities Data Warehouse Data Models Software Application 모델정보의통합 KMS Enterprise Architecture Policies Data Models SW Architectures Data Models Business Entities Business Metadata Processes Any other Models EDMS Data Warehouse Enterprise Architecture Business Processes Etc App. 분산된모델, 관리되지않음 통합된모델, 지속적관리 7
2 1 MDA Visualization 의특징 모델의자산화및지식화, 재사용및자동화를통한생산성향상 통합된모델링플렛폼에서다양한프로젝트적용가능 Modeling UML 2.x 다이어그램완벽지원 프로세스모델링 (BPML 등 ) 지원 데이터모델링지원 모델의자산화및지식화 하나의모델링도구로다양한프로젝트에적용가능 Repository MDD 요구 / 기능변화에따른모델영향도분석 모델저장소기반의협업작업가능 자체형상관리 Model to Model, Model to Code 다양한변환규칙제공 웹및전자정부프레임워크지원 모델재사용및자동화를통한생산성향성 8
2 1 MDA Visualization 의특징 (1) Meta-Model 을기반으로 SW Life Cycle 전주기를지원하는멀티모델링 (Multi-Modeling) 개발프로젝트에즉시적으로적용할수있는방법론, 가이드, 템플릿등통합체계지원 Meta-Model MDA 기반 SW 통합개발도구 Software Visualization 공개 SW 기반모델주도적 SW 개발지원도구 R2M(Requirement to Model) ( 요구사항분석 / 정의 / 관리 ) M2M & M2C ( Model to Model & Model to Code) 모델검증 / 시뮬레이션 모델링과프레임워크동기화 통합프로젝트관리지원 모델링과프레임워크동기화 (Integration) Meta-Model 기반의요구사항에서코드테스트및산출물관리까지의통합관리 UML 모델링영역과프로젝트분석 / 설계 / 개발영역과의긴밀한연계 RDBMS 요구사항추적및프로젝트가시성확보 모델정보저장소 (Model Repository) 9
2 1 MDA Visualization 의특징 (2) 공개 SW 기반의모델링도구로써최신및표준화된기술기반을보유하여유연한확장성제공 SW 공학의통합모델링도구이며, UML/MDA 플랫폼및 Essence 등다양한개발방법론지원 모든 SW 정보는모델링을기반으로디지털化 SW 통합모델링도구 저장소기반의모델링관리 SW Visualization 의혁신 Digitization 강력한자동화엔진 유연한확장프레임워크 10
2 2 메타정의 - Meta Information 모델링도구를활용하여 Star Platform 의기반이되는메타정의 기존 UML 도구에서작업된 UML Spec 과관련된표준 Profile 을모델링하고, Meta Repository 에 UML Meta 를생성한후 Modelling API 를자동생성하여사용 기존 UML 도구 Repository-Based Modelling API Meta Generate Information Repository Server Meta Interface Information Interface UML Standard Profile Meta Repository Information Repository 11
2 3 모델저장소 - Information Repository Server Meta 기반의모델정보관리체계의구축 3 가지 (Object, Relation, Property) 의 Meta 요소를기반으로정보를구성하고관리하는확장가능한체계 Information Repository Server Meta Interface Information Interface Meta-Object Object Meta- Relation Meta-Object Instance Relation Object Meta- Meta- Property Meta- Property Property Meta- Meta- Property Property Meta Repository Information Repository 12
2 4 모델변환 -External API, DSL Engine 플랫폼독립모델을플랫폼종속모델로변환하기위한맵핑룰을정의하고소스코드자동생성을위한 DSL(Domain Specification Language) 작성 External API DSL Engine Application Web Model Repository DSL Engine java.net Web Service REST Excel Report Power Point Transport JDBC HTTP API Layer Word Custom Output JMS SOAP XML Text Model Repository 모든모델링프레임워크를지원할수있는 Modeling Framework 의내장스크립트엔진및 API 구성을통한개발의편의성제공과리포팅엔진과의통합을통해서사용자가원하는형태의다양한정보제공 모델을기준으로정의한맵핑룰에따라공통컴포넌트를활용할수있도록환경설정프로젝트관련산출물자동생성 13
2 5 Executable Model 개발프로세스의효율화를위하여 Executable Model 을적용 Use of executable Models in MDD 조기검증 (early verification) quality Software engineers iteratively execute, test and update the models Software engineers create fully executable models Code generation Model interpretation The models are V&V in a development/test environment The models are deployed in a production environment UML executable model Structural Model UML Class Diagram + integrity constraints Detailed Behavioral Model UML Behavioral Diagram precisely defined 14
2 6 MDA Visualization MDA 기반의모델링을통한영향도분석 SW, 데이터, 프로세스모델링 영향도분석 UML 2.x 기반의 13 개다이어그램지원 E-R(Entity-Relationship) 다이어그래지원 프로세스모델링기능지원 요구사항 / 기능, 모델상호간변경영향도분석 3D 기반의변경영향도시각화 SW 모델링 프로세스모델링 요구 / 기능변경에따른모델변경사항분석 데이터모델링 15
3 1 MDA Platform 의아키텍처구성 공개 SW 기반 Model Driven Architecture Model Driven Architecture of StarPlatform 1 2 3 13 UMLViews Project Configuration Approach Framework UML Profile Meta Model MOF Extension Module Core Elements Application Objects UML Models Meta-modeling 4 Requirement Analysis Requirement Analysis Configuration Management UML Extension Use Case Mapping PMS Requirement Mgt. Document Elements 7 Integration Interface Modelling Platform PIM Analysis & Design Development Test & Deploy Executable UML 5 6 PIM PSM Repository (Architecture Model) Design Model Trace Data Project Management 14 Version PSM External API DSL Engine Round Trip Engine PSM Source 8 Project Management System Source Code Eclipse Based Plug-in Language Extension(Java, C#, Delphi, PHP etc) 9 Common Component 10 11 Compliance & Verify 12 Code Test Code Inspection Deploy Documents Other Artifacts 1 Approach 2 3 4 5 6 7 8 9 10 11 12 13 Framework UML Profile Use Case Mapping PIM PSM PSM Source Repository External API DSL Engine Eclipse Based Plug-In Code Test Documentation Extension Module Requirement Mgt. Issues Mgt. Risk Mgt. Statement Mgt. Model Repository 14 Project Management System 16
3 2 MDA Platform 의 ECO-System Model 기반의 Best Practice 를활용하여 IT 거버넌스환경에서최적화된 Collaboration Ecosystem 구성 Model Driven Architecture Assets Transform Information Technology Deliver Smarter Products Enterprise Architecture portal Portfolio Management Business Planning & Alignment Product Management Project Management Product & Project Management Compliance Management Compliance & Verify Verify Management Requirements Management Configuration Management Build & Deploy Management Asset Management Quality Management Collaborative Lifecycle Management Requirement Tools Modeling Tools Development Tools Testing Tools Model Driven Design & Development Integrated Model Driven Software Engineering Platform for Ecosystem 17
3 3 MDA Platform 의확장아키텍처 다양한도구들을탑재할수있는표준프레임워크를위한 MDA Platform 의확장 Model 을기반으로하는도구의사용자는 Notation 의확장, 기능의확장, 정보접근의 API 를하나로묶어서확장할수있음 Model Driven Architecture Assets SW Information Transformation Technology Development Smarter Products IT Information Portal Modeling Pack Requirement Spec Pack UML Pack Business Process Pack Integrated ㅑPlatform Modeling Framework Extension Framework Meta Interface Engine Documentation Engine Meta Relation Engine Transformation Engine Object Interface Engine Customize Engine Extension Pack Asset Management Pack MDD Pack Enterprise Architecture Meta Configuration Model Repository Server Database 18
OUTPUT 4 1 아키텍처의적용방안 MDA 기반아키텍처의효과적인적용방안 (Verification & Validation) MDD 방법론을적용하여모델링한후, Implementation 하고 Verify 하여모델을검증 Executable Model 비즈니스모델링 Project Configuration Requirem ent Analysis MDD 적용프로세스 Analysis & Design Development Test & Deploy Computing execution paths Analyzing Discarding 요구사항과 Use Case 매핑을통한분석 / 설계 모델링방법론을통한프로세스최적화 산출물관리를통한품질관리확보 Classifying the operation 개발품질의추적성확보 ( 시험 / 성과평가 ) 19
4 2 아키텍처의적용사례 모델을통한정보들을효과적으로관리하고동기화할수있는 SW Life Cycle 아키텍처적용 모델의매핑모델정보저장소와의연계및협업모델의 SW Life-Cycle 모델링도구통해분석 / 설계와연관된모델을작성하고매핑하여 Wizard 를통해요구사항목록을연계하여 UseCase Diagram 을작성 Meta-Model 을기반으로모델링정보들을저장하면자동으로모델정보저장소와연계되어저장되고아키텍트들과의협업을지원 SW 개발과정의 Full Life cycle 을지원하여전공정의추적성과가시성제공 20
4 3 아키텍처의발전방향 Meta-Repository 와 Reverse Engineering 을통한다양한 Legacy 기술들과의호환 통합모델링도구의 Future Legacy Technologies Source code Databases Configuration files Scenarios Project Management Quality Analysis Code Refactoring Technical Migration Etc Outputs Metrics Models New system Other sources Information Repository MDA Platform Documentation 21
5 1 기대효과 통합모델링환경으로모델주도적SW 개발을수행할수있는환경을통하여고품질의결과물을생성모델의디지털화와지속적인관리를통해원활한고객과의소통제공 디지털화된모델링정보를기반으로영향도분석제공및고도화된 IT 거버넌스체계의구축 단순반복작업에의투입최소화로예산절감및생산성극대화 모델주도적 SW 개발로안정성과개발확장성을동시에달성 시각적코드자동생성엔진으로인한개발속도상승효과 체계적인유지보수방법론을통하여운영리스크최소화 서비스플랫폼의개발로인한관련사업환경조성및지원에기여 22
5 2 결론 Model Driven Architecture 를기반으로 SW Visualization 을극대화하여혁신적인 IT 환경제공 Analysis Design Implementation Deploy Model Driven Architecture (MDA) Executable Model Code Generation better software at less cost Advanced Model Driven Architecture Platform for SW VIsualization 23
24