RAD Studio 2010: UML과 Audits & Metrics

Similar documents
소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

This is a title of the whitepaper

UML

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

uml.hwp

슬라이드 1

Delphi 7 ~ Delphi 2010 VCL의 새로운 기능들

[Brochure] KOR_TunA

게임 기획서 표준양식 연구보고서

View Licenses and Services (customer)

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

MVVM 패턴의 이해

Microsoft PowerPoint - 1주차 UML의 구성과 도구

PowerPoint Presentation

Studuino소프트웨어 설치

Delphi 7 ~ Delphi 2010 IDE의 새로운 기능들

MF3010 MF Driver Installation Guide

vRealize Automation용 VMware Remote Console - VMware

Windows 8에서 BioStar 1 설치하기

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

이 드리는 혜택 완벽 을 위한 발환경 : Team Foundation Server 200 & CAL 제공 최저의 비용으로 구현을 위해 Visual Studio Team Foundation Server 200 서버 라이센스와 CAL이 에 포함되어 있습니다 을 모든 팀원이

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme

제8장 자바 GUI 프로그래밍 II

Microsoft PowerPoint - chap01-C언어개요.pptx

1

슬라이드 1

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

This is a title of the whitepaper

PowerPoint Presentation

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Inclusion Polymorphism과 UML 클래스 다이어그램 구조에 의거한 디자인패턴 해석

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

CA AllFusion ERwin® DataModeler에서 Embarcadero® ER/Studio®로의 마이그레이션 가이드

메뉴얼41페이지-2

Convenience Timetable Design

SH100_V1.4

gnu-lee-oop-kor-lec06-3-chap7

This is a title of the whitepaper

서현수

슬라이드 1

Microsoft PowerPoint _UML

슬라이드 1

SBR-100S User Manual

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

arcplan Enterprise 6 Charting Facelifts

슬라이드 1

JAVA PROGRAMMING 실습 08.다형성

오버라이딩 (Overriding)

PowerPoint Presentation

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

Microsoft Word - Armjtag_문서1.doc

Endpoint Protector - Active Directory Deployment Guide

2Q SWG Teleweb Business Plan & 1Q Recovery Plan April 2, 2003

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

쉽게 풀어쓴 C 프로그래밍

CODESYS 런타임 설치과정

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

소프트웨어개발방법론

슬라이드 제목 없음

슬라이드 1

PowerPoint 프레젠테이션

ISP and CodeVisionAVR C Compiler.hwp

UML의 구성과 도구

consulting

PowerPoint Presentation

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

Microsoft Word - PLC제어응용-2차시.doc

Operating Instructions

소프트웨어공학개론 강의 7: 시퀀스다이어그램 최은만동국대학교컴퓨터공학과

*Revision History 날짜 내용 최초작성 Tel Fax [2] page

IRISCard Anywhere 5

Install stm32cubemx and st-link utility

810 & 는 소기업 및 지사 애 플리케이션용으로 설계되었으며, 독립 실행형 장치로 구성하거 나 HA(고가용성)로 구성할 수 있습니다. 810은 표준 운영 체제를 실행하는 범용 서버에 비해 가격 프리미엄이 거의 또는 전혀 없기 때문에 화이트박스 장벽 을

제목

© Rohde & Schwarz; R&S®CDS Campus Dashboard Software

<5B DB1B3C0B0C0DAB8A65FC0A7C7D15FB5F0C0DAC0CEBBE7B0ED5FC5F8C5B62E706466>

2 단계 : 추상화 class 오리 { class 청둥오리 extends 오리 { class 물오리 extends 오리 { 청둥오리 mallardduck = new 청둥오리 (); 물오리 redheadduck = new 물오리 (); mallardduck.swim();

Microsoft Outlook G Suite 가이드

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

목차 전략적 우위 달성... 3 비즈니스 응용 프로그램 프레임워크의 중요성... 3 비즈니스 응용 프로그램의 가치 측정... 3 xrm의 기능... 4 xrm은 어떻게 가치를 제공하는가... 4 위험의 완화... 4 고객 사례... 5 개발 기간의 단축... 5 고객

Introduction to UML 소프트웨어모델링 유준범교수님 황정아 김성민 이한빈

Microsoft PowerPoint - 06-Chapter09-Event.ppt

1. 파일 명명규칙

PowerPoint Presentation

PowerPoint Presentation

윈도우시스템프로그래밍

gcloud storage 사용자가이드 1 / 17

슬라이드 1

PowerPoint 프레젠테이션

Microsoft PowerPoint App Fundamentals[Part1].pptx

소프트웨어공학개론 강의 11: UML 코드매핑 최은만동국대학교컴퓨터공학과

KARAAUTO_12¿ù.qxd.ps, page Normalize

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

대학생 델파이 취업 교육

PowerPoint Presentation

< B0B3C0CEC1A4BAB8BAD0C0EFC1B6C1A4BBE7B7CAC1FD2E687770>

Transcription:

기술문서 Embarcadero RAD Studio 2010 UML 과 Audits & Metrics : 이전의 UML 이아닙니다! Delphi 2010과 C++Builder 2010의 UML 과 Audits&Metrics 기능이해하기작성자 : Michael Rozlog 2009 년 9 월 11 일금요일 Corporate Headquarters Asia-Pacific Headquarters DEVGEAR 100 California Street, 12th Floor San Francisco, California 94111 L7. 313 La Trobe Street Melbourne VIC 3000 Australia 서울특별시서초구반포동 743-14 데브기어 4층

RAD Studio2010 의 UML 과정적분석기능은? 대부분의개발자들은 RAD Studio 에 C++Builder 와 Delphi 가같이포함된것을알고있습니다. 이제품군에는 UML 과정적분석기능들이추가되어있습니다. 따라서 Delphi 2010 또는 C++Builder 2010 에서는 Professional, Enterprise, Architect 에서각레벨수준에맞는 UML 기능들을사용할수있습니다. Delphi 2010 에는감사 (audit) 와메트릭스기능이추가되어있습니다. 심지어프로페셔널레벨의제품을사용하는사용자들도 UML 고급기능중일부를사용할수있습니다. 아래의표는어떠한기능이 RAD Studio2010 에들어있는지간단히정리한것입니다 : Personality: D=Delphi C=C++Builder P=Delphi Prism Architect Enterprise Pro UML 모델링 UML 을통한코드시각화 - 소스코드를즉시 UML 모델형태로볼수있습니다. C D >> >> >> 업데이트된다이어그램의시각적룩앤필 C D >> >> >> 씨퀀스다이어그램 (Sequence diagram) C D >> >> 협업다이어그램 (Collaboration diagram) C D >> >> 스테이트차트 (State chart) C D >> >> 배포다이어그램 (Deployment diagram) C D >> >> 유스케이스다이어그램 (Use case diagram) C D >> >> 액티비티다이어그램 (Activity diagram) C D >> >> 컴포넌트다이어그램 (Component diagram) C D >> >> 문서산출물생성 C D >> >> 객체도메인에대한깊이있는이해와정적분석, 건전성확인을위한 80 여개의코드메트릭스 D >> >> 2010 델파이프로페셔널에서도입! 객체다이어그램의건전성확인을위한 10 여개의입문수준메트릭스 코드를보다심도깊게분석하고, 코딩스타일을보다쉽게이해할수있는 200 여개의코드감사 D >> D >> >> 2

Personality: D=Delphi C=C++Builder P=Delphi Prism Architect Enterprise Pro 2010 델파이프로페셔널에서도입! 코드를보다쉽게이해할수있는 10 개의입문수준코드감사 D >> Rational R Rose (mdl import) 로부터모델임포트 C D >> 언어중립적인 UML 1.5 와 2.0 모델링 C D >> UML 1.5 와 UML 2.0 프로젝트에서소스코드프로젝트로의변환 C D >> GOF 패턴등디자인패턴지원 C D >> >> 디자인패턴사용자정의 C D >> >> 다이어그램인쇄 C D >> >> >> XMl 1.1 임포트 / 익스포트 C D >> >> OCL 2.0 지원 C D >> >> >> UML in Color 프로파일 C D >> >> >> 다이어그램하이퍼링크와주석 C D >> >> >> 3

과거몇년전의 UML 기능과같은가요? 결론부터말하자면, 아닙니다. 같은기술에기반을두지만, 너무나많은업그레이드가있었습니다. 불러오기, 리버스엔지니어링과포워드엔지니어링이훨씬빨라졌고, 시각적효과가크게향상되었습니다. 이런도구들은개발자들이단시간에보다많은작업을끝낼수있도록돕기때문에오늘날에도여전히매력적입니다. 이제 Delphi 와 C++Builder 사용자들은클래스다이어그램을역공학 (reverse engineering) 으로언제든지생성할수있습니다. 엔터프라이즈이상의버전에서는코드또는모델어느쪽에서도수정할수있고, 상호간에는바로자동동기화됩니다. 예를들어개발자가위의다이어그램에서오른쪽마우스버튼을클릭하여클래스하나를추가하면, 해당유닛의소스코드에클래스코드가생성됩니다. 이기능은 LiveSource 라불리는양방향동기화기능입니다. 아래와같이오른쪽마우스버튼만클릭하면클래스다이어그램에필요한것이무엇이든쉽게추가할수있습니다. 4

패턴을어떻게사용하나요? 이미앞서살펴본것처럼, UML 통합에따라, 패턴 (Pattern) 이지원됩니다. 예를들어 GOF Singleton 패턴과같은것을생성하고자한다면, 메뉴항목에서 Create by Pattern 을클릭하고원하는패턴을선택하면됩니다 : OK 버튼을클릭하면모델에패턴이추가되고해당되는코드가자동생성됩니다. 5

UML 을완전하게지원하는에디션 엔터프라이즈에디션이상의버전에서는, 모든표준 UML 다이어그램을지원합니다. 각각의다이어그램에익숙하지않은분들은아래목록을참고하세요 : UML Activity Diagram 이란시스템내의각컴포넌트사이의단계별워크플로우를표현. UML Class Diagram 이란시스템내의각클래스와클래스간의정적인관계를보여주는다이어그램. UML Use Case Diagram 이란기능구현요구사항을상위수준에서시각적으로표현. UML Component Diagram 이란물리적인각컴포넌트와컴포넌트간의의존관계를보여주는다이어그램. UML Collaboration Structure Diagram 이란클래스의내부구조와클래스간의협업사항을표현. UML Deployment Diagram 이란하드웨어장비와배포된컴포넌트를보여주는다이어그램. UML State Machine Diagram 이란객체의상태와상태의전이를보여주는다이어그램. UML Interaction (Sequence and Communication) Diagrams 객체사이의메시지흐름을순차적으로표시그리고객체와일련의메시지사이의정보교류사항을다이어그램으로표시. RAD Studio 가 UML 을제공하게되면서이제개발자는이주요기술들을활용할수있습니다. 좀더빠른의사소통, 좀더빠른디자인, 코딩표준셋팅, Delphi 애플리케이션의건강도체크는물론이고, 모든개발자들이좋아하는자동화문서생성또한제공됩니다. 6

RAD Studio 2010 아키텍트는소스코드기반의유형과설계디자인기반의유형의두가지유형각각에대해추가기능이제공됩니다. 소스코드에기반한다이어그램의사례로클래스다이어그램은 LiveSource 엔진에의해자동으로소스코드와모델이항상동기화되어일치하게됩니다. 반면에언어와는관계없이설계디자인을하는경우에는 UML 스펙만있으면되기때문에소스코드생성등이필요없습니다. 이와같이 RAD Studio 2010 는언어중립적인설계디자인기능과소스코드생성기능을모두가지고있으므로멋진객체모델을생성할수도있고코드가필요할경우에도매우쉽게활용할수있습니다. 이와같은기능은시간을크게절약해줄뿐만아니라소스코드나모델어느한쪽에서변경이발생될경우양쪽모두가업데이트될수있도록의미있는정보를제공합니다. 설계디자인다이어그램 ( 소스코드에의존적이지않은 ) 의사례로 UseCase 다이어그램은기능구현요구사항을상위수준에서시각적으로의사소통할때활용됩니다 RAD Studio 2010 의사용하기쉬운 UML RAD Studio 2010 는 UML 을매우쉽게사용할수있도록하는고급툴입니다. 평상시처럼새프로젝트를만들거나이미존재하는프로젝트를오픈한다음, 프로텍트메니저하단의 Model- View 탭을클릭하거나 ProJect Model Support 메뉴항목을클릭합니다.. 7

둘중하나를클릭하면 UML 통합이활성화되면서다음과같은대화상자가표시됩니다 : YES 버튼만클릭하면됩니다. 디자인화면이열리고 LiveSource 를통해프로젝트가리버스되어위에서본것과같은클래스다이어그램이표시됩니다. 이미언급된바와같이, 모델과소스코드는자동동기화됩니다. 예를들어모델에서어트리뷰트 ( 속성 ) 의이름을변경하면, 소스코드에도변경된이름이반영됩니다. 디자인화면이열리고나면이제더많은객체를추가하고, 관계를만들고, 집합할수있습니다. 이모두가 객체지향 으로됩니다. 그리고개발자는유스케이스다이어그램, 클래스다이어그램, 시퀀스다이어그램등과같은산업표준다이어그램들통해 UML 로의사소통할수있습니다. 메트릭스 (Metrics) 소개 RAD Studio 중 Delphi 2010 에서는모델링수준이상이지원됩니다. Delphi 2010 을사용하여여러분의기존프로젝트를분석하고, 메트릭스와감사 (audit) 보고서를생성하여여러분의애플리케이션이가진잠재적인문제를찾아낼수있습니다. 예를들어, 아래의화면과같은 Kiviat 차트가생성됩니다. Kiviat 차트에표시되는원은가이드라인 ( 베스트프랙티스의기준 ) 을나타냅니다. 기준에부합하는영역은원의안쪽에, 주의를기울일필요가있는영역은바깥쪽에표시됩니다. 아래그래프를잠깐살펴보면, DOIH (depth of inheritance hierarchy: 상속중첩도 ) 라는 Metric 항목이원의바깥쪽에표시되어있습니다. 이메트릭스는권장되는클래스상속단계를넘어서서비정상적으로많은단계로상속된클래스가존재한다는것을지적하고있는것입니다. 8

메트릭스에의해사용되는각메트릭의임계값은여러분이설정할수도있습니다. 아래그림은이러한메트릭값을설정하는 QA Metrix 대화상자입니다. 9

Delphi 2010 은주요메트릭영역을커버합니다. 프로페셔널에디션에 10 개이상, 엔터프라이즈이상의에디션에서는 80 개이상의메트릭이들어있습니다. 크게다음과같은것들이포함됩니다 : 기본메트릭 상속 (inheritance) 메트릭 결합 (Cohesion) 메트릭 상속 - 기본커플링메트릭 복잡도 (Complexity) 메트릭 최대값 (Maximum) 메트릭 캡슐화 (Encapsulation) 메트릭 다형성 (Polymorphism) 메트릭 헬스테드 (Halstead) 메트릭 비율값 (Ratio) 메트릭 코드감사 (Audit) 감사 (Audit) 를사용하고구성하는것은메트릭과유사합니다. 아래그림은감사 (audit) 을설정하는 QA Audits 대화상자입니다 (QA Metrics 대화상자와유사합니다 ). 10

Delphi 2010 은주요감사 (audit) 영역을커버합니다. 프로페셔널에디션에 10 개이상, 엔터프라이즈이상의에디션에서는 200 개이상의감사가들어있습니다. 크게다음과같은것들이포함됩니다 : 배열과참조 (Arrays and References) 설계결함 (Design flaws) 분기와루프 (Branches and Loops) 표현식 (Expressions) 코딩스타일 네이밍 (naming) 스타일 선언스타일 (Declaration Style) 성능 (Performace) 중복코드 (Duplication Code) 이식가능함 (Portability) 불필요한내용 (Superfluous Content) 발생가능한오류들 (Possible Errors) 코드감사 (Audits) 을사용한정적분석은클래스나네임스페이스를대상으로각각의모든메소드의전체라인을검사하여여러분이정의한결함의목록을생성합니다. 이것은코드의부족한부분을찾아내어리팩토링하는것을도와줍니다. 자동문서산출물생성 UML 통합에따른또하나의중요기능은자동문서산출물생성입니다. 아래웹브라우저화면과같은하나의완전한개발문서가메뉴클릭한번으로만들어집니다. 11

아키텍트에서부터처음 RAD Studio2010 를접하는개발자까지이도구는쉽게사용할수있습니다. LiveSource 을통해소스코드와모델이항상일치할수있도록보장하고, 개발자가모델을통해보다원활한의사소통을할수있도록하는고급기능들은개발자에게크게도움이됩니다. 수많은코드를인수받게되었다거나, 우리팀의코드가표준을잘지키고있고건강하게작성되었는지, 그수준이어느정도인지를파악할필요가있다면 Code Audit 과 Metric 과같은고급기능이유용하게사용될수있습니다. 마지막으로, 다양한모델들이서로연결된하이퍼링크가포함된문서가자동생성되면, 시간을절약하고한번의클릭으로문서산출물을최신의상태로유지할수있게됩니다 필자에대하여 Mike Rozlog 는 Embarcadero Technologies 의 Delphi 솔루션담당상무입니다. Embarcadero 의개발자제품이전세계의개발자들의기대를충족시키도록하는역할을맡고있습니다. 현재전세계의애널리스트들, 독자, 청중들과 Embarcadero 의제품및서비스와관련된기술적, 비즈니스적관점을토의하고설명하는데에많은시간을할애하고있습니다. Mike 는 Embarcadero 가 2008 년에인수한개발툴그룹인 CodeGear 에서근무했습니다. 그이전에는 8 년간 Borland 에서 Chief Technical Architect 를비롯한다양한직책으로일해왔습니다. Mike 는여러책을집필한저명한필자이기도합니다. 그의가장최근의저서는 Mastering JBuilder 이며 John Wiley & Sons, Inc. 에서출간되었습니다. Mike 의블로그는 http://blogs.embarcadero.com/michaelrozlog/ 입니다. 12

Embarcadero Technologies Inc. 는애플리케이션개발자및데이터베이스전문가가자신이선택한환경에서소프트웨어애플리케이션을설계, 빌드및실행하는도구를사용할수있도록합니다. 전세계 3 백만이상의커뮤니티와포츈지선정 100 대기업중 90 개기업이 Embarcadero 의 CodeGear 및 DatabaseGear 제품군을기반으로하여생산성을향상시키고개방적인협업및자유로운혁신을추구하고있습니다. Embarcadero 는 1993 년에설립되어캘리포니아샌프란시스코에본사가있으며전세계에사무소를두고있습니다. Embarcadero 의온라인주소는 www.embarcadero.com 입니다. Embarcadero 의주요제품인 DatabaseGear 의도구에는 ER/Studio, DBArtisan, Rapid SQL 및 Embarcadero Change Manager 가있습니다. 데브기어는미국 Embarcadero Technologies Inc. 와기존의코드기어한국지사의협력으로전략적으로설립된엠바카데로솔루션전문공급기업입니다. 데브기어는 Delphi, C++Builder, JBuilder, Delphi Prism 등개발툴제품들과 ER/Studio, PowerSQL, DB Artisan, EA/Studio 등의데이터베이스툴제품들에대한한국시장에공급은물론기술지원및교육을제공합니다. 데브기어웹사이트는 http://www.devgear.co.kr/ 이며제품에대한문의는 ask@embarcadero.kr 로하시면됩니다. 13