Your SlideShare is downloading. ×
Talk IT_ IBM_최정일_110824
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Talk IT_ IBM_최정일_110824

982
views

Published on

Published in: Education, Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
982
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 모델중심 개발을 통한 IT 프로젝트혁싞 사례최정일책임연구원LG CNS 정보기술 연구원
  • 2. 소프트웨어 개발 방식의 혁싞 첫 번째 혁싞 두 번째 혁싞 Next FORTRAN COBOL Binary Assembly C Java소프트웨어 개발의 혁신은 추상화의 혁신이다 • 인간이 작업하기 쉽도록. • 필요 없는 부분을 제거.
  • 3. 모델 중심 소프트웨어 개발1. 모델 – 차세대 혁싞 도구 • Code (Programming language) Syntax + Semantic • Model (Modeling language) Notation + Semantic
  • 4. 모델 중심 소프트웨어 개발2. 소프트웨어 모델• Model (UML Modeling language) • Code (Java Programming language) package finast.insur.bk.cst.cstMgr; import devonframework.persistent.autodao.LCommonDao; public class CstMgr { /** * @logicalName 고객조회 * @version 1.0.0 * @description * @param LData cstInqrCndt 고객조회조건 * @return LMultiData 고객Ent */ public LMultiData retrieveCst (LData cstInqrCndt) throws LException { //return 파라미터 초기화 LMultiData cstEnt = new LMultiData(); LCommonDao commonDao; commonDao = new LCommonDao("bk/cst/Cst/retrieveCst"); cstEnt = commonDao.executeQuery(); cstEntsetNullToInitialize (true); return cstEnt; } }
  • 5. 모델 중심 소프트웨어 개발3. 모델 중심 소프트웨어 개발 • Code Centric • Model Driven Code 모델 * MDD : Model Driven Development
  • 6. 모델 중심 소프트웨어 개발4. 일하는 방식의 변화 • 현재의 일하는 모습 • 모델 중심 개발 방식공수 공수 구현/테스트 자동화 기간 짧음, 요구사항/논리설 설계품질 재 작업 발생 계 집중, 조기 검토부족 변경비용 과다 테스트 수행 요구분석 -> 설계 -> 구현 -> 테스트 요구분석 -> 설계 -> 구현 -> 테스트
  • 7. 모델 중심 소프트웨어 개발5. MDA (Model Driven Architecture) 모델중심 개발을 실현하기 위한 기술표준 및 기술기반의 총체. [출처]IBM
  • 8. 모델 중심 소프트웨어 개발6. Metamodel Transformation The MDA Guide v1.0.1 by OMG
  • 9. 모델 중심 소프트웨어 개발 7. Metamodels by OMG XML MOF Meta Metamodel XMI (Language) GenerationMetamodels are rulesMOF-compliant models(or languages) XMI files Business Business Common Web UML Process Rules Warehouse Services Metamodel Metamodel Metamodel Metamodel * ** **Profiles are UML compliant, andthus, also MOF-compliantmetamodels(or languages) .NET CORBA EJB EAI EDOC Scheduling Profile Profile Profile Profile Profile Profile *
  • 10. 모델 중심 소프트웨어 개발 사례1. MDA 도구 개발 및 활용 – 주요 기능 PIM PSM 코드 public class OrderRegistBiz { <<link>> public OrderRegistBiz() { <<link>> super(); 주문결제Bnd 쿠폰적용Bnd (from CP_쿠폰) } 상품상세조회Bnd /** 주문상세Bnd * <pre> 상품주문Ctr * 주문 상세정보를 조회한다. * </pre> 1 0..* */ 1 1..* 0..* 1 public LData retrieveGoodsDetail(String goodsSerno) throws LException { 주문Ent 상품Ent Connection conn = null; 회원Ent 주문항목Ent 회원보유쿠폰Ent (from MM_회원관리) (from PC_상품구매) (from CP_쿠폰) LData goods = null; try { : : : OrderRegis tBiz : OrderDao : : GoodsDao conn = LConnectionManager.getConnection(); : 회원 createOrderForm.js p CreateOrderCmd OrderItemDao : 회원 : 주문결제Bnd : 상품주문Ctr : 주문Ent : 주문항목Ent : 상품Ent 1. //주문 등록 요청 1. //주문 등록 요청 GoodsDao goodsDao = new GoodsDao( conn ); 1.1. execute( ) 1.1. 주문등록(주문 : 주문Ent) goods = goodsDao.retrieveGoodsDetail( goodsSerno ); 1.1.1. 주문가능검사(상품일련번호 : Str ing, 주문수량 : Integer ) 1.1.1. regis tOrder(order : LData) 4.1.1.1. checkOrderPossible(goodsSerno : String, orderQty : Integer) } catch ( SQLException se ) { 1.1.2. 주문번호채번( ) 4.1.1.2. getOrdNo( ) throw new LSysException( se ); } finally { 코드 생성 1.1.3. 주문생성(주문정보 : 주문Ent) 4.1.1.3. createOrder(order : LData) LConnectionManager.closeConnection( conn ); 모델 변환 1.1.4. 주문항목생성(주문항목 : 주문항목Ent) 4.1.1.4. createOrderItem(orderItem : LData) } return goods; } } 모델 품질 검증 문서 생성
  • 11. 모델 중심 소프트웨어 개발 사례2. MDA 도구 개발 및 활용 – 구현 아키텍처 Model Code Model Document .properties Transformer Generator validator Generator (text) Model Model *POI **Velocity Transformation Parser Writer Rules (Excel) RSA와 연동하는 Eclipse UML2 API Eclipse Plug-in 으로 구현 Code RSA Template (velocity) Eclipse *Apache POI - Java API for Microsoft Documents **The Apache Velocity Project
  • 12. 모델 중심 소프트웨어 개발 사례3. MDA 도구 개발 및 활용 – RSA에 플러그인 설치
  • 13. 모델중심 소프트웨어 개발 혁싞 사례4. MDA 도구 개발 및 활용 – 기능 시연 모델링 모델 영향도 표준 검증 분석 변환규칙 코드 메타 (excel) 템플릿 모델 코드 PIM 변환 PSM 생성 다국어 모델 일본어 모델 변환 코드 산출물 생성
  • 14. 모델 중심 개발 사례5. 적용 효과 : 코드 생성률 분석 * 2005 년 이후 50여 개 프로젝트 적용. 물류 회계 평균 110% (단위 : %)120 100% 90% 99 98 96100 94 80% 90 91 85 86 85 85 70% 코드 생성률 80 71 71 60% 68 50% 60 40% 38 30% 40 34 20% 20 10% 0% 0 5 10 15 20 25 30 35 40 45 50 0 제어문 개수 Command Business Process Entity 총계 Delegate Component Component Process Component Entity Component Business Process Entity Process Component Entity Component구분 Command 총계 구분 Delegate Component Component 코드 생성률 제어문 개수 코드 생성률 제어문 개수물류 84.71 98.97 34.03 90.27 68.18 물류 34.03 4729 90.27 641회계 86.18 93.5 70.67 95.92 85.4 회계 70.67 356 95.92 65평균 85.01 97.69 37.95 90.97 70.89 총계 37.95 5085 90.97 706 * D (물류) 프로젝트통계
  • 15. 모델중심 소프트웨어 개발 혁싞 사례6. 적용 효과 : 모델, 문서 생성률 모델 생성률 분석  문서 생성률 분석 - 자동화율 68%, 총 123,825 모델요소 - 자동화율 76%, 총 3,573 페이지 자동 생성 자동 생성 - 대상 문서 : 컴포넌트 명세서/설계서 등 총 10종 32% 68% 구분 요구사항 분석 설계 계 수작업 253 510 392 1155 자동생성 0 1171 2402 3573 자동화율 0% 70% 86% 76% 123,825 모델링 자동화율 * B(국방) 프로젝트 통계 수작업 110,599 자동생성 59,132  모델 품질검증 자동화 57,641 - 요구사항/분석 모델에서 5,711 개의 결점 발견 13,226 1,491 - 총 7차에 걸친 모델 자동 검증으로 오류율 0 % 화 0 0 CIM PIM PSM 총계
  • 16. 모델중심 소프트웨어 개발 혁싞 사례7. Lesson Learned  메타 모델링은 MDA 기술의 핵심이다.  모델변환규칙 및 코드생성규칙이 효율적으로 구현이 되어야 한다.  업무규칙을 모델에 표현할 수 있으면 MDA 기술 적용의 효과는 극대화된다. (UML 2.0 에서 가능)  CIM(비즈니스모델, 요구사항모델)에서 PIM으로의 모델변환도 부분적으로 가능하다.  MDA 기술을 효율적으로 적용하기 위하여 관련 재사용 자산의 축적이 필요하다.  MDA 기술을 적용하기 위한 절차가 개발방법롞과 적절히 통합되어야 한다.  가장 중요한 것은 모델링을 수행하는 사람의 모델링 역량이다.
  • 17. www.ibm/software/rational