Rational Copyright 1999 Rational Software all rights reserved

  • Slides: 38
Download presentation

Rational의 사명 “소프트웨어를 개발하거나 운용하는 고객의 성공을 보장. ” Copyright Ó 1999 Rational Software,

Rational의 사명 “소프트웨어를 개발하거나 운용하는 고객의 성공을 보장. ” Copyright Ó 1999 Rational Software, all rights reserved

현실 “ 26%의 소프트웨어 프 로젝트만이 성공한다. ” Standish Group, CHAOS Report, 1998 Copyright

현실 “ 26%의 소프트웨어 프 로젝트만이 성공한다. ” Standish Group, CHAOS Report, 1998 Copyright Ó 1999 Rational Software, all rights reserved

전략적 미래 : 컴포넌트 기반 개발 "Component-based software development is exploding. ” Software Technology

전략적 미래 : 컴포넌트 기반 개발 "Component-based software development is exploding. ” Software Technology Meta Group “By 1999, component software will be the dominant method of new application development. ” Gartner Group Component-Based Development Object technology (early 90 s) “Component-based software represents one of the most important phenomena in the area of 3 GLs, 4 GLs (70 s and 80 s) software development in the decade. ” IDC Assembly language (1960 s) Copyright Ó 1999 Rational Software, all rights reserved

모든 종류의 어플리케이션에 컴포넌트들이 존재 Internet applications N-Tier applications Packaged applications Microsoft SAP Sun

모든 종류의 어플리케이션에 컴포넌트들이 존재 Internet applications N-Tier applications Packaged applications Microsoft SAP Sun IBM Oracle People. Soft Netscape Power. Builder Baan Componentized frameworks and interfaces Legacy Applications Copyright Ó 1999 Rational Software, all rights reserved

컴포넌트 내부와 외부적 측면 Executable, DLL, binaries Interface A Models: Interface B Use case

컴포넌트 내부와 외부적 측면 Executable, DLL, binaries Interface A Models: Interface B Use case Design Implementation Source code Test Usage patterns Architecture Variation points Copyright Ó 1999 Rational Software, all rights reserved

컴포넌트를 이용한 시스템 개발의 업계 표준화 현황 w 주요 소프트웨어 업체의 지원: Microsoft, Oracle,

컴포넌트를 이용한 시스템 개발의 업계 표준화 현황 w 주요 소프트웨어 업체의 지원: Microsoft, Oracle, IBM, etc. w 컴포넌트 시장 예측: 69% CAGR to $3 B by 2001 (Giga) w 컴포넌트 모델링과 UML의 표준화 작업 w Rational 소프트웨어의 세 과학자 Booch, Jacobson, Rumbaugh에 의해 처음으로 만들어짐(1995~1997) w 주요 소프트웨어 업체들의 Rational 진영 참여(1997) w UML의 OMG 등록(1997) w OMG의 표준 모델링 언어 UML 로 등록(1997. 11) e av t. W x s e nt e e N one Mov Th p re m a Co ftw he am So to t stre in ain M vid Da pell y B hap www. rational. com C Copyright Ó 1999 Rational Software, all rights reserved

컴포넌트 기반 개발의 비합리성 1. 컴포넌트 요소들 획득 Built Bought “Left-over” Copyright Ó 1999

컴포넌트 기반 개발의 비합리성 1. 컴포넌트 요소들 획득 Built Bought “Left-over” Copyright Ó 1999 Rational Software, all rights reserved 2. 컴포넌트들간의 관 계 짜집기 #1

반복적 개발 프로세스와 효과적인 컴포넌트 테스팅 t Iterative Refinement Process s e t d

반복적 개발 프로세스와 효과적인 컴포넌트 테스팅 t Iterative Refinement Process s e t d te a om ing Iterative t Au ann refinement pl with user Model & Reqs Build 1 Test Plan Test Build 2 Test Build 3 Test Build 4 Testing needs to happen sooner “Ideally the plan for an effective QA testing regimen begins when application design begins. ” Data Base Advisor, June 1996 Copyright Ó 1999 Rational Software, all rights reserved #2

컴포넌트 기반 개발 자동화 효과 One Manual Test Cycle 13, 000 Tests 2 Weeks

컴포넌트 기반 개발 자동화 효과 One Manual Test Cycle 13, 000 Tests 2 Weeks Test Automation 13, 000 Tests 6 hours 1 Person Copyright Ó 1999 Rational Software, all rights reserved Run More Tests More Often #3 6 People

UML 역사 UML 1. 2, 1. 3 OMG passed, Nov ‘ 97 UML 1.

UML 역사 UML 1. 2, 1. 3 OMG passed, Nov ‘ 97 UML 1. 1 Submission to OMG, Sept ‘ 97 Submission to OMG, Jan ´ 97 public feedback UML 1. 0 Beta version OOPSLA ´ 96 WWW - June ´ 96 Three books -- User Guide -- Reference Manual -- Process Book WWW Spec from Rational Software UML 0. 9 http: //www. rational. com Documentation Set OOPSLA ´ 95 Unified Method 0. 8 Booch ´ 93 OMT - 2 Other methods Booch ´ 91 Copyright Ó 1999 Rational Software, all rights reserved OMT - 1 OOSE

UML 정의 w UML 은 Unified Modeling Language의 약자이다 w UML 은 다음과 같은

UML 정의 w UML 은 Unified Modeling Language의 약자이다 w UML 은 다음과 같은 업계 최고의 기술을 포괄한다: § § Data Modeling concepts (Entity Relationship Diagrams) Business Modeling (work flow) Object Modeling Component Modeling w UML 은 시스템의 산출물을 위해 § § 가시화 구체화 구축화 문서화 할 수 있도록 표준화된 모델링 언어이다. w Rational Unified Process와 같은 개발 프로세스와는 상호 필 연적 관계에 있다. Copyright Ó 1999 Rational Software, all rights reserved

UML 지원 다이어그램 w w w Use Case Diagram Sequence Diagram Collaboration Diagram Class

UML 지원 다이어그램 w w w Use Case Diagram Sequence Diagram Collaboration Diagram Class Diagram State Transition Diagram Component Diagram w Deployment Diagram w Activity Diagram Copyright Ó 1999 Rational Software, all rights reserved

UML 과 컴포넌트 w UML은 논리적 클래스 설계, 물리적 컴포넌트 설계 그리 고 동적

UML 과 컴포넌트 w UML은 논리적 클래스 설계, 물리적 컴포넌트 설계 그리 고 동적 모델링을 지원 w 요구 사항 모델링 § Actor/Use Case w 논리적 클래스 설계 § Classes/Interface Classes § Realizes relationship § Packages w 물리적 컴포넌트 설계 § Components/Interfaces § Dependency w 컴포넌트 구현 § Active. X/COM, CORBA, EJB Copyright Ó 1999 Rational Software, all rights reserved

컴포넌트 개발 프로세스 Person: : Prepare Beverage Use Case 1 Actor A Find Beverage

컴포넌트 개발 프로세스 Person: : Prepare Beverage Use Case 1 Actor A Find Beverage Actor B Put Coffee in Filter Use Case 2 Domain Expert Use Case 3 <<entity>> Customer name addr receive() withdraw() fetch() send() [No Cola] [No Coffee] [found Coffee] Get Cups [found Cola] Get Cans of Cola Put Filter in Machine Turn on Machine Pour Coffee ^Cofee. Pot. turn. On light goes out. Pour Coffee Repository User Interface Definition Add Water to Reservoir Prepare to Drink Document. List File. Manager Document Graphic. File. List Forward Engineering(Code Generation) and Reverse Engineering Source Code edit, compile, debug, link Executable Processes Copyright Ó 1999 Rational Software, all rights reserved

요구 사항 모델링 Register Order Flow of Events - The use case starts then

요구 사항 모델링 Register Order Flow of Events - The use case starts then a Salesrep wants to Register an Order - The Customer decides on one ore more Products and the Salesrep registers the order. - A control is conducted if each Product is in stock for the desired delivery date. - If a Product is not in stock the Order might be set to pending or be canceled. - Before an Order is confirmed must the Salesrep conduct a Credit control to check the Customers Credit. - If the Customer is accepted then the Salesrep sends a confirmation of the registration of the Customer to the Customer and confirms the Order. - If the Order is not accepted then the Customer is notified in a Letter and any order is canceled in Cancel order. Copyright Ó 1999 Rational Software, all rights reserved

동적, 논리적 모델링 : Transaction Client : Order 1: save() : Order. Stock :

동적, 논리적 모델링 : Transaction Client : Order 1: save() : Order. Stock : Save. Order : Products. In. Stock 2: initialize ( ) 3: save. Order ( ) 4: lock. Products. For. Order ( ) 5: lock. Products. For. Order ( ) 6: terminate ( ) 7: order. Updated ( ) 8: update. Order. List ( ) Copyright Ó 1999 Rational Software, all rights reserved : Order Folder

동적, 논리적 모델링(cont’) 8: update. Order. List ( ) : Order. Folder : Order.

동적, 논리적 모델링(cont’) 8: update. Order. List ( ) : Order. Folder : Order. Stock 6: terminate ( ) 7: order. Updated ( ) 2: initialize ( ) 3: save. Order ( ) : Order 1: save (Order) : Transaction Client : Save. Order 4: lock. Products. For. Order ( ) : Product 5: lock. Products. For. Order ( ) : Products. In. Stock Copyright Ó 1999 Rational Software, all rights reserved

동적, 논리적 모델링 (cont’) Order Package Context View <<Layer>> Business Logic <<Service Package>> Customer

동적, 논리적 모델링 (cont’) Order Package Context View <<Layer>> Business Logic <<Service Package>> Customer <<Service Package>> Sales <<Service Package>> Address <<Service Package>> Order <<Service Package>> Product <<Layer>> Application Infrastructure <<Service Package>> Attribute Types Copyright Ó 1999 Rational Software, all rights reserved <<Service Package>> Error Handling <<Service Package>> Application Fundamental

동적, 논리적 모델링(cont’) Order Context View <<Service Package>> Order. Stock Order Stock 1 0.

동적, 논리적 모델링(cont’) Order Context View <<Service Package>> Order. Stock Order Stock 1 0. . * Order 1 0. . * Save. Order 0. . 1 Product. On. Order Save Order Copyright Ó 1999 Rational Software, all rights reserved

동적, 논리적 모델링(cont’) State Diagram for the Order Class new Main H* Making Order

동적, 논리적 모델링(cont’) State Diagram for the Order Class new Main H* Making Order ready for delivery H* New Order set. Pending set. Credit. Control set. Ready. For. Delivery Checking Credit set. Pending set. Ready. For. Delivery set. Pending Ready for delivery cancel. Order stop. Order set. Packing. Order Packing Order set. Delivered Order Delivered set. Invoice. Sent Invoice sent set. No. Payment Recover Order set. Payment. Recieved set. Payment. Received Order Payed Order Canceled file. Order Copyright Ó 1999 Rational Software, all rights reserved file. Order set. No. Recovery Bad Debts loss file. Order

물리적 컴포넌트 설계 Order Stock realize Order and Order. Stock classes <<Active. X>> Order

물리적 컴포넌트 설계 Order Stock realize Order and Order. Stock classes <<Active. X>> Order realizes Save. Order class Save Order <<Active. X>> Save. Order Copyright Ó 1999 Rational Software, all rights reserved

컴포넌트 구현 w 컴포넌트 구현 기술 § 프로그래밍 언어 C++, Java, VB, PB, etc

컴포넌트 구현 w 컴포넌트 구현 기술 § 프로그래밍 언어 C++, Java, VB, PB, etc § 분산 객체 미들웨어 CORBA, Active. X/COM, Java. Beans w 플랫폼 § Windows § UNIX § Legacy such as VMS, MVS, Mainframe, etc Copyright Ó 1999 Rational Software, all rights reserved

컴포넌트 기반 어플리케이션의 개발 실례 Key: - Purchased - Existing - New Lead Tracking

컴포넌트 기반 어플리케이션의 개발 실례 Key: - Purchased - Existing - New Lead Tracking User Interface Order User Interface Key Mechanisms RDB Copyright Ó 1999 Rational Software, all rights reserved Order Product License DB