개발환경 교육교재

Size: px
Start display at page:

Download "개발환경 교육교재"

Transcription

1 개발환경

2 개발홖경목차 1. 개발환경개요 2. 구현도구 3. 개인빌드 (Maven) 4. 테스트도구 5. 형상관리 6. CI 서버 7. Deploy 8. 이슈관리 - 2 -

3 1. 개발홖경개요 1. 개발환경개요 2. 서비스도출 3. 개발환경구성요소 4. 적용오픈소스 5. 서비스별소개 6. 배포개발환경구성 - 3 -

4 1. 개발홖경개요 1. 개발홖경개요 개발환경은프레임워크이해관계자중응용 S/W 개발자를위한환경 전자정부개발프레임워크이해관계자주요관심사분석 응용 SW 개발자는전자정부개발프레임워크를기반으로어플리케이션을개발하며, 개발생산성향상을위해전자정부개발프레임워크로부터의개발지원기능이필요함 응용 SW 개발자 개발 실행 응용 SW 응용 SW 는전자정부개발프레임워크를기반으로개발되는어플리케이션으로써어플리케이션의효과적인동작을위한전자정부개발프레임워크의실행지원기능이필요함 전자정부개발프레임워크 개발프레임워크관리자는전자정부개발프레임워크의지속적인개선및유지보수를담당하며, 전자정부개발프레임워크의효과적인관리지원기능이필요함 관리 개발프레임워크관리자 운영 운영 SW 운영자 응용 SW 운영자는응용소프트웨어의운영과정에서어플리케이션의기반인전자정부개발프레임워크로부터의운영지원기능이필요함 - 4 -

5 2. 서비스도출 (1/2) 1. 개발홖경개요 응용 SW 개발자의역할인요구분석자, 분석설계자, 구현자, 테스터, 배포자, 형상및변경관리자, 프로젝트관리자등을지원하는사례분석결과는다음과같음개발환경서비스그룹사례분석 개발프레임워크기술구조사례연구 개발프레임워크 ( 사업자명 ) SYSTEMiER ( 삼성 SDS) Nexcore (SK C&C) LAF/J (LG CNS) Live Framework ( 현대정보기술 ) 한화프레임워크 ( 한화 S&C) ProFrame (TmaxSoft) 요구분석자지원서비스 N/A N/A N/A 분석설계자지원서비스 * N/A 모델링 모델링, MDSD 구현자지원서비스 Code/Conf. Generation, Debugging IDE, 템플릿및개발표준, 코드 Inspection 개발환경설치, IDE, Prototype, 코드 Inspection 테스터지원서비스 Test Automation, Test Reporting 단위테스트, 성능테스트 단위테스트, 성능테스트 배포자지원서비스 형상 / 변경관리자지원서비스 프로젝트관리자지원서비스 Deployment 형상관리 N/A 자동빌드형상관리 N/A 자동빌드형상관리 N/A N/A N/A Debugging Testing Deployment Version Control N/A N/S N/A N/A N/A 빌드 N/A RSD/RSA Transformation 디버깅, EMB Designer, ProMapper, DBIO Editor Service Tester Deploy Management 소스형상관리, 버그추적관리 버전관리, 개발자권한관리 N/A N/A - 5 -

6 2. 서비스도출 (2/2) 1. 개발홖경개요 전자정부개발프레임워크개발환경의서비스그룹은 Implementation Tool, Test Tool, Deployment Tool, 그리고 Configuration & Change Management Tool 등으로구성됨 개발환경서비스그룹도출 서비스그룹 설명 개발환경 Implementation Tool 업무프로그램구현을지원하는도구임 Implementation Tool Test Tool Deployment Tool Configuration & Change Management Tool Test Tool Deployment Tool Configuration & Change Management Tool 구현된업무프로그램의테스트를지원하는도구임 구현완료된업무프로그램을실행환경에배포가능한형태로패키징하고, 패키징된업무프로그램을실행환경에배포하는도구임 형상및변경관리지원도구임 환경 서비스그룹 - 6 -

7 3. 개발홖경구성요소 1. 개발홖경개요 개발환경은개발자 PC 에서개발서버, 운영서버로연결되는개발흐름을지원함 Implementation Tool Test Tool Deployment Tool Conf. & Change Mgt. Tool Debug Test Reporting Build Configuration Mgt. Editor Unit Test Deployment Change Management Methodology & Template 개발자 PC 개발서버 예 Coding Build 정상 Commit 여부 Source Compile TestCase Test Packaging Inspection 아니오 형상관리 CheckOut Build Compile Test Packaging Inspection Debugging 운영서버 WAS 재기동 Deploy - 7 -

8 4. 개발홖경선정오픈소스 1. 개발홖경개요 개발환경오픈소스 SW 1,2 차평가를통해선정된 14 개의오픈소스 SW 는다음과같음 No 서비스그룹서비스오픈소스라이선스 1 Source Editor Eclipse EPL & EDL 2 Editor UML Editor AmaterasUML EPL 1.0 구현도구 개발환경오픈소스 SW 평가결과 3 ERD Editor AmaterasERD EPL Debug Eclipse EPL & EDL 5 6 Test Reporting Ant Apache License 2.0 Test Automation Ant Apache License TestCase Junit CPL 테스트도구 8 Unit Test Mock Support EasyMock MIT 9 DB Support DbUnit LGPL Test Coverage EMMA CPL 11 배포도구 Build Tool Maven Apache License CI Server Hudson MIT 13 형상관리도구 Configuration Management Subversion Apache License, BSD-style 14 Change Management jtrac Apache License

9 5. 서비스별소개 - 구현도구 1. 개발홖경개요 개발자의코드작성및디버깅을지원하는도구로 Eclipse 기반하에추가 Plug-in 을제공 주요메커니즘 구성요소별상세 프로젝트팀 정책적용 구현도구 방법론 Plug-in 템플릿 구성요소 에디터 설명 편리한소스코드작성환경제공 UML, ERD 에디터제공 DBIO 에디터를통해 SQL 작성및수행결과확인가능 Included 디버거 에디터내에서편집모드와디버깅모드의전환을통한작업의편리성 Remote 디버깅제공 Plug-in 에디터 디버거 방법론 ( 개발절차 ) 어플리케이션을개발하기위한가이드제공 실행환경 템플릿 유형별템플릿제공 템플릿기반의코드제너레이션기능 (2 차사업수행예정 ) - 9 -

10 5. 서비스별소개 테스트도구 1. 개발홖경개요 개발자가자신의코드를테스트하기위해 JUnit 기반으로 TestCase 의작성및수행을지원하고, 자동 으로테스트하고리포팅하도록지원하는도구 주요메커니즘 구성요소별상세 구성요소 설명 구현도구 테스트도구 작성 테스트클래스 실행 테스트기반환경 테스트기반환경 Junit 기반의 Unit Test 작성지원 Mock 및 DB Support 작성 분석 Coverage 분석 Test Reporting Test Reporting Eclipse 기반의 Green Bar GUI HTML/XML/Excel 형식의 Reporting 지원 테스트대상모듈 Coverage 리포트 결과리포트 Coverage 분석 TestCase 가커버하는정도를수치및코드영역을통해확인

11 5. 서비스별소개 배포도구 1. 개발홖경개요 Maven 기반의개발자빌드와 CI 서버를통한지속적인통합을지향 주요메커니즘 구성요소별상세 구현도구 정책적용 배포도구 프로젝트팀 구성요소 설명 결과알림 리포트 결과확인 배포정책 빌드도구 Maven 기반의빌드수행 3 rd Party 라이브러리관리편의성을위한 Nexus Repository 제공 테스트도구 빌드자동화도구 빌드도구 저장소 서버 형상관리도 구 PM, QM 등 개발자 빌드자동화도구 형상관리도구와연계하여소스가변경된경우에만빌드를수행 배포정책에따라설정된주기에자동수행 빌드결과에대한리포트및피드백기능제공 서버이관및 WAS 기동 / 중지

12 5. 서비스별소개 형상관리 1. 개발홖경개요 형상요소의식별, 이력관리를지원하는형상도구와 JAVA 기반의이슈관리시스템제공 주요메커니즘 구성요소별상세 프로젝트팀형상관리배포도구 개발자 Check in/out Configuration Management 배포 빌드자동화도구 구성요소 Config. Mgmt 설명 Suversion 을그대로활용 이슈 ID 등록을통한이슈연계 백업 PL 이슈관리 Change Management 백업 저장소 Change Mgmt JAVA 기반의이슈관리시스템 이슈등록, 검색, 처리기능제공 CMO

13 7. 배포개발홖경구성 (1/10) 1. 개발홖경개요 설치 egovframeworksample.zip 파일을 C:\ 드라이브에서압축을푼다. 디렉토리정보디렉토리설명 bin 실행파일디렉토리 apache-tomcat Apache Tomcat 6 jdk1.5.0 eclipse maven/repository workspace egovframework.guideprogram. basicsample egovframework-guideprogramtestcase JDK_HOME 개발환경이포함된 Eclipse JEE Ganymede (3.4.2) Local Maven Repository Eclipse Workspace 실습용프로젝트테스트도구용샘플프로젝트

14 7. 배포개발홖경구성 (2/10) 1. 개발홖경개요 실행 C:\egovframeworkSample\eclipse 시작 를더블클릭하여 Eclipse 를실행한다

15 7. 배포개발홖경구성 (3/10) 1. 개발홖경개요 설정 Maven Installations 설정확인

16 7. 배포개발홖경구성 (4/10) 1. 개발홖경개요 설정 Maven Installations 설정확인

17 7. 배포개발홖경구성 (5/10) 1. 개발홖경개요 설정 Apache Tomcat 6 설정

18 7. 배포개발홖경구성 (6/10) 1. 개발홖경개요 설정 C:\egovframeworkSample\basicSampleDB.cmd 를더블클릭하여 basicsample 용 DB 를띄운다

19 7. 배포개발홖경구성 (7/10) 1. 개발홖경개요 설정 Eclipse의 Data Source Explorer View에서 basicsample HSQLDB 에서오른쪽버튼의 connect 를선택하여다음과같이테이블이설정되어있는지확인한다

20 7. 배포개발홖경구성 (8/10) 1. 개발홖경개요 설정 Eclipse 에서 Build Automatically 가선택되어있다

21 7. 배포개발홖경구성 (9/10) 1. 개발홖경개요 설정 프로젝트앞에빨간아이콘이있어오류가있다면 Update Maven Configuration 을실행해본다

22 7. 배포개발홖경구성 (10/10) 1. 개발홖경개요 테스트도구에서제공하는샘플프로젝트 실습에서사용할프로젝트

23 2. 구현도구 1. 개요 2. egovframework IDE 3. Source Code Editor 4. UML 작성 5. ERD 작성 6. DBIO 작성 7. DEBUG - 로컬디버깅 8. DEBUG - 리모트디버깅 9. egovframework Update 10. 참고자료

24 1. 개요 2. 구현도구 구현도구는 UML, ERD, Source Code, DBIO Editor 와 DEBUG 로구성 전자정부개발프레임워크구현도구 서비스그룹 설명 UML Editor ERD Editor Source Code Editor DBIO Editor DEBUG UML ERD Source Code Editor UseCase Diagram, Class Diagram 작성기능을제공 AmaterasUML 선정 ER 논리모델과물리모델작성을지원하며 DDL 생성, 테이블명세서생성, Reverse engineering 기능 AmaterasERD 선정 egovframe 기반의어플리케이션개발지원을위한프로젝트생성마법사, Perspective 및 Menu 등기능 Eclipse 선정 Eclipse platform (JEE package) DBIO Editor ibatis 실행환경을지원하기위한 SQL Map 기반의 DBIO 작성 Editor DEBUG 실행로컬또는원격으로실행중인프로그램에서오류를발견하고진단할수있는디버거기능 Eclipse 선정

25 1. 개요 - Package 구성 2. 구현도구 구현도구는 Eclipse JEE 를기반으로 Package 하고, UML, ERD, DBIO Editor 플러그인으로구성됨 구현도구가 Eclipse JEE 를기반으로하고있으므로아래와같은패키지가포함되어있다. - CVS(Concurrent Versions System) - EMF(Eclipse Modeling Framework) - GEF(Graphical Editing Framework) - JDT(Eclipse Java development tools) - Mylyn - UDC(Usage Data Collector) - WTP (Web Tools Platform ) : Web Tools, Jee Tools, XML Tools - RSE(RSE, Target Management - PDE(The Plug-in Development Environment) - Datatools(DTP, Data Tools Platform )

26 1. 개요 Eclipse 기본화면구성 2. 구현도구 Eclipse 기본화면은메뉴바, 툴바, 퍼스펙티브바, 4 개의 View 영역으로크게구분된다. 이 4 개의뷰를포함하는전체 영역을퍼스펙티브 (Perspective) 라고하고, 이 Eclipse Window 전체를워크벤치 (Workbench) 라부른다. 메뉴바 툴바 워크벤치 (Workbench) 퍼스펙티브바 중앙 View 영역 우측 View 영역 퍼스펙티브 (Perspective) 퍼스펙티브에따라사용자에게적합한뷰와메뉴가배치된다. 좌측 View 영역 하단 View 영역 Fast 뷰 : 잘사용하지않는화면들을최소화시켜놓고필요한시점에만잠깐홗성화시킬때사용된다

27 1. 개요 화면구성 2. 구현도구 구현도구는개발자가실행환경을쉽고편리하게개발할수있도록특성화된퍼스펙티브, 통합메뉴, 뷰, 에디터등을제공한다. egovframework 통합메뉴 egovframework 퍼스펙티브젂홖 DBIO, UML, ERD 등의다양한 Editor 제공 Package View, DataSource Explorer 등의뷰제공 OutlineView 등의홗용 DBIO Search, Query Result 등의뷰기능제공

28 2. egovframework IDE (1/3) 2. 구현도구 구현도구는실행환경기반의어플리케이션을개발하는개발자의편의성을위하여 Eclipse 기반의 Perspective, Menu, 프로젝트생성마법사등을제공한다. 프로젝트생성마법사 egovframework Core Project : 일반적인 JAVA Project 생성 egovframework Web Project : Web 기반프로젝트생성 egovfrmaework 기반의어플리케이션개발에적합한프로젝트홖경구성

29 2. egovframework IDE (2/3) 2. 구현도구 egovframework Perspective egovframework 기반의어플리케이션개발을위한최적의 View 초기세트와레이아웃을제공 egovframework 통합메뉴 egovframework 퍼스펙티브젂홖 DBIO, UML, ERD 등의다양한 Editor 제공 Package View, DataSource Explorer 등의뷰제공 OutlineView 등의홗용 DBIO Search, Query Result 등의뷰기능제공

30 2. egovframework IDE (3/3) 2. 구현도구 egovframework Menu egovframe Perspective 에서만활성화되는메뉴로 eclipse 내에서분산되어있는플러그인들의기능 (egovframework 에서필히사용되어지는기능 ) 을빠르게접근할수있는통합메뉴를제공 * 세부메뉴항목별설명 Start - New Core Project : egovframework Core Project 생성 - New Web Project : egovframework Web Project 생성 Analysis - New Usecase Diagram : Usecase Diagram 생성 Design - New ER Diagram : ER Diagram 생성 - New Class Diagram : Class Diagram 생성 Implementation - New SQL Map Config : SQL Map Config 파일의생성 - New SQL Map : SQL Map 파일의생성 - Show DBIO Search View : DBIO Search View 를나타나게함

31 3. Source Code Editor 2. 구현도구 Source Code Editor 는 Eclipse 내 Eclipse Java development tools(jdt) 를통해지원 Code Assist : Code 도움말기능 Quick Fix : Code 에러빠른수정가능 코드스타일적용 코드템플릿처리 Quick Type Hierarchy : 상속구조표시 Quick Outline : 코드개요표시 소스코드네비게이션 Mark Occurrences - 커서가위치한지역변수, 상수, 필드, 메소드, 클래스등의코드요소가나타나는곳이모두하이라이트된다 로컬히스토리 : file 수정이력비교 / 복구

32 4. UML 작성 2. 구현도구 오픈소스중선정된 UML 작성도구는 AmaterasUML로써 UseCase Diagram, Class Diagram 작성기능을제공 UseCase Diagram 작성 Use Case Diagram 작성할수있는기능을제공 Class Diagram 작성 Class Diagram 작성할수있는기능을제공 UseCase Diagram 작성 제약사항 UML 1.4 기반으로설계작업가능 UML 2.0 지원하지않음 Class Diagram 작성

33 5. ERD 작성 2. 구현도구 오픈소스중선정된 ERD 작성도구는 AmaterasERD 로서논리모델과물리모델작성을지원 ERD 생성 Entity 정의와 Entity 간의관계를표현할수있는작업창 DDL 작성 도구를이용해작성된 ER Diagram으로 Oracle, PostgreSQL, MySQL, hsqldb 등에맞게 DDL 스크립트를생성 Reverse Engineering 지원 Oracle, PostgreSQL, MySQL, hsqldb 등의 Database로부터테이블 Import가가능 테이블명세서 Export - 도구를이용해작성된 Table 들의명세서를 HTML 형식 Export 제약사항 ERWIN 모델링도구와호환불가

34 6. DBIO 작성 2. 구현도구 DBIO Editor 는 ibatis SQL Map API 를통해 DBIO 를개발하고자할때이를쉽고편리하게작성할 수있도록다음과같은 Editor 기능을제공한다. SQL Map Config Editor - SQL Maps 설정파일을 UI 형태로편집가능하도록지원 SQL Map Editor - SQL Maps 파일을 UI 형태로편집가능하도록지원 * ibatis SQL Map API 에서는기본적으로 SQL Map 파일과 SQL Map 설정파일이요구된다

35 6. DBIO 작성 - SqlMap Config Editor 2. 구현도구 SqlMap Config Editor는 ibatis SQL Maps 설정파일을 UI 형태로편집가능하도록지원하는도구 Transaction Manager 주요트랜잭션 Type과 DataSource Type 에필요한 Properties 항목을정의한다. SqlMap 목록 SqlMap 항목을추가, 삭제, 신규생성하고 SQLMapConfig 파일내등록을지원한다. Transaction Manager SQL Map 목록

36 6. DBIO 작성 - SqlMap Editor 화면구성 2. 구현도구 SqlMap Editor 는 ibatis SQL Maps 파일을 UI 형태로편집가능하도록지원하는도구임 그룹별구성요소 Tree 구성요소생성, 삭제, 검색, 바로가기기능 사용자 Layout 조정 수평, 수직레이아웃선택기능 In/out Section Parameter, Result 설정 (class, map 선택 ) Query Section SQL 쿼리작성시 Query Builder 기능제공 Test Section 쿼리에따른 Parameter Name 자동설정 Row Limit ( 쿼리테스트결과행길이제한 ) 쿼리 Test 결과에따른 VO 자동생성기능 Query Result : 쿼리수행결과확인 Source Tab : SqlMap XML 편집기능지원 SqlMap Outline View 구성요소바로가기기능지원 Source Tab 그룹별구성요소 Tree 사용자 Layout 조정 In/Out Section Query Section Test Section Query Result SQL Map Outline 뷰

37 6. DBIO 작성 - 쿼리작성 2. 구현도구 SqlMap Editor 에서는쿼리작성을용이하게하기위해 Query Builder 기능을제공함

38 6. DBIO 작성 - 쿼리 Test 및결과확인 2. 구현도구 SqlMap Editor 는 Test Section 과 Result View 를통해쿼리테스트기능을지원함 1 DB Info 를선택 쿼리 Test 절차 1 Query Section 에서 DB Info 를선택한다. 2 Query 작성 2 Query Section 에서 Query 를작성한다. 3 Test Section 에서 Parameter 값을입력한다. 3 Parameter 값입력 4 결과값을확인한다 Test Section 버튼설명 4 Query Result 확인 - Set Param : Parameter Name 을자동세팅한다. - Query Test : 쿼리테스트를수행한다. - Create VO : 쿼리결과에따른 VO 를생성한다. - Row Limit : 쿼리결과행길이제한 ( 기본값 =100)

39 6. DBIO 작성 - VO 자동생성 2. 구현도구 SqlMap Editor 는개발자편이성을위해 VO(Value Object) 를자동생성하는기능을제공함 1 Create VO 클릭 3 쿼리수행결과에따른 VO Class 가생성됨 2 VO Class 명입력

40 7. DEBUG - 로컬디버깅 2. 구현도구 구현도구에는로컬또는원격으로실행중인프로그램에서오류를발견하고진단할수있는디버거를제공함 중단점설정 디버깅중프로그램의의심되는부분을집중적으로분석하기위해 Break point 를설정해디버깅포인트를지정한부분을하이라이트 스텝단위진행 프로그램을한스텝씩진행하면서프로그램의실행흐름과 내부상태를확인 스텝필터링 필터링대상프로그램의경우 Step Over 와같이동작하고, 필터링대상이아니면 Step Into 와같이동작한다. Debug View 의 Use Step Filters 버튼을눌러활성화 Evaluating Expressions 수행중인프로그램을중지시키지않고 상태를확인할수있는기능을제공 Variables View Variables View 를통해메소드에서 사용중인변수값의상태를확인할수있는기능지원

41 8. DEBUG - 리모트디버깅 2. 구현도구 원격컴퓨터의 WAS(Jboss, JEUS, WebLogic) 에서실행되는어플리케이션을디버깅 디버깅환경설정 WAS 환경설정파일에 -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n server 를정의 (Jeus 서버기준 ) 절차 1. 먼저위의환경설정으로원격지서버를가동하고해당 Java 프로그램을원격서버에 Deploy한것을전제로한다. 2. 메뉴 >Run > Debug Configurations 클릭. 3. Remote Java Application 에서마우스오른쪽버튼을클릭하여 NEW 를실행 4. Connection Properties 를입력하고적용 ( Apply ) 한뒤 Debug 버튼클릭 5. 웹브라우저에서해당프로그램을실행하면디버깅이진행된다. * 디버그방법 (BreakPoint 등 ) 은 로컬디버깅과동일하다

42 9. egovframework Update 2. 구현도구 사용자의개발환경에 egovframework 을설치하거나업데이트함 절차 1. eclipse 개발환경에서메뉴 > Help > Software Updates 를클릭한다. 2. Available Software 목록우측에있는 Add Site 버튼을클릭한다. 3. Location 입력항목에 를입력하고 OK 버튼을클릭한다. 4. 입력항목또는모든하위트리항목을선택하고 Install 버튼을클릭한다

43 10. 참고자료 2. 구현도구 Eclipse Home Amateras UML Amateras ERD

44 3. 개인빌드 1. Maven 개요 2. Maven 디렉터리구조 3. 빌드 Lifecycle 4. Maven 플러그인 5. 의존성관리메커니즘 6. Maven 저장소 7. 프로젝트객체모델 (Project Object Model) 8. Maven 이클립스통합 : m2eclipse 9. 참고자료

45 1. Maven 개요 (1/2) 3. 개인빌드 불필요한설정을최소화한다는개념아래 Ant 와같은빌드기능을제공할뿐아니라구조화된빌드기 능을통해 learning curve 및재사용성을향상시킴 Maven 특징 Maven 장점 Maven 단점 뛰어난의존성관리의존성자동업데이트저장소를통한라이브러리일괄관리 모든프로젝트에걸쳐쉽게적용가능한일관적인사용법 라이브러리및메타데이터저장을위한지속적으로확장되고있는저장소 쉽게작성가능한플러그인을통한확장성 동시에다수의프로젝트핸들링할수있는쉬운설정기반의메커니즘 repository 관리의불편함 - Maven 프로젝트의급속한발전으로 central repository 가제공하는라이브러리들이급속히증가하고있으나아직 3 rd 파티라이브러등미제공라이브러리들이있음 pom.xml 파일관리 - 메이븐프로젝트관리에대한모든내용이 pom.xml 파일에담기게되므로길고장황하게될수있음 프로젝트에특화된복잡한빌드기능제약 - 메이븐프로젝트특성상소프트웨어빌드에통용되는라이프사이클을제공하고있어세부항목또는특화된빌드환경에대한지원이미약함 간단한설정을통한배포관리 Java, C++ 등다수의프로그래밍언어지원

46 1. Maven 개요 (2/2) 3. 개인빌드 의존성관리, 라이브러리관리, 빌드생명주기및단계객체모델을갖는프로젝트관리도구로표준화 된빌드기능뿐만아니라리포팅및 documentation 생성기능등을제공 Maven 아키텍처 POM.XML Project Object Model Dependency Management Model Repositories (local and remote) Project life cycle and phases Plugins Source files Generated files Resources Binaries Packaged libraries 프로젝트객체모델 (POM): 메이븐엔진내장 + POM.XML 파일에서선언적으로제공 의존성관리모델 : 로컬및리모트저장소를이용하여관리 빌드생명주기와각단계 : 잘정의된단계들과빌드사이클에따라플러그인들을조율

47 2. Maven 디렉터리구조 3. 개인빌드 Best practices 을기반으로정규화된디렉터리구조를제공하고있으며모든소스파일들은 /src 디렉터리밑에빌드된 output 은 /target 디렉터리밑에위치함 Maven 표준디렉터리구조디렉터리 / 파일설명 /pom.xml 프로젝트객체모델. 해당프로젝트에대한전반적인정보를갖는다. /src/main/java Java 소스파일위치 /src/main/resources 배포할리소스, XML, properties, /src/main/webapp 웹어플리케이션관련파일위치 (WEB-INF, css 등 ) /src/test/java 테스트케이스 java 소스 /src/test/resources 테스트케이스리소스 /target 빌드된 output 이위치하는디렉터리

48 3. 빌드 Lifecycle (1/2) 3. 개인빌드 메이븐빌드는소프트웨어프로젝트의핵심적인빌드라이프사이클개념을따르고있으며빌드부터 artifact 의배포까지의라이프사이클을정의하고있음 빌드생명주기설명 Maven2 라이프사이클단계 (phase) 생명주기단계 validate generate-sources 설명 현재설정과 POM 의내용이유효한지확인 코드생성기가이다음의단계들에서컴파일되고처리할소스코드를생성하기시작하는순간 compile test package 소스코드를컴파일한다. 컴파일된클래스들은타깃디렉터리트리구조에저장된다. 컴파일된단위테스트를실행하고그결과를표시한다. 실행가능한바이너리파일들을 WAR 나 JAR 같은배포용압축파일로묶는다. install 압축파일을로컬메이븐저장소에추가한다. deploy 압축파일을원격메이븐저장소에추가한다. $mvn compile

49 3. 빌드 Lifecycle (2/2) 3. 개인빌드 이클립스에서빌드라이프사이클에서정의한각단계들실행하기 메이븐프로젝트 -> Run As -> Maven build.. Goals: clean install

50 4. Maven 플러그인 (1/2) 3. 개인빌드 메이븐은대부분의빌드작업시에플러그인을활용하며메이븐엔진이생명주기단계들과플러그인을 바인딩시켜빌드작업을컨트롤함 Maven Plugins 플러그인플랫폼으로써의메이븐 확장용이 자주사용하는플러그인들을모아패키징한상태로배포 대부분의개발작업시에추가플러그인불필요 단계 Plugin 설명 compile test 소스코드컴파일 단위테스트실행 package maven-jar-plugin 컴파일된바이너리파일들 로부터 jar 패키지생성 emma maven-compilerplugin maven-surefireplugin maven-emmaplugin Code coverage report 생성 가용한 Maven 플러그인매트릭스

51 4. Maven 플러그인 (2/2) 3. 개인빌드 pom.xml 에서의메이븐플러그인선언예제

52 5. 의존성관리메커니즘 (1/2) 3. 개인빌드 POM 에서선언적인 dependency 설정으로빌드및배포시에필요한라이브러리들을관리하고로컬 및원격저장소에서선언된라이브러리들을다운로드받아사용함 의존성설정 의존성분석순서 1. 로컬저장소에서의존성확인 2. 원격저장소리스트에서의존성확인 3. 1 과 2 가실패하면의존성에러보고 의존성 scope compile: 기본값으로모든클래스패스에서사용가능 provided: 컴파일과유사하나패키지에는포함되지않는다. 컨테이너나 JDK에서제공. 예 ) Servlet API for web apps runtime: 컴파일러가아닌런타임시에만사용됨예 ) JDBC dirvers test: 테스트단계에서만유용함예 )Junit system: provided와유사하나개발자가직접 JAR 파일을제공해야함. 저장소에서지정한 dependency를찾지않는다. 의존성선언항목 1. <groupid>: 부분적인프로젝트나조직에서의라이브러리집합을식별하기위해제공 2. <artifactid>: 프로젝트의실제이름으로 groupid 와합쳐져프로젝트식별에쓰임 3. <version>: 선언한의존성 artifact 의버전으로프로젝트내에서사용하는 artifcat 의일관성을추구할수있음

53 5. 의존성관리메커니즘 (2/2) 3. 개인빌드 pom.xml 파일에서의의존성설정및의존성분석

54 6. Maven Repository 3. 개인빌드 artifact 들의저장소로로컬및리모트 repository 로구성되며프로젝트는 pom.xml 에서선언한 dependency 들을저장소로부터불러와서사용함 메이븐저장소구조 Nexus 연동 로컬 repository 는 artifact 들을로컬파일시스템에 cache 하는기능으로리모트 repository 에서다운로드받아 artifact 들을저장하고관리한다. 리모트 repository 는주로 HTTP 서버로 3rd 파티에서제공하는 artifact 들을제외한거의모든 artifact 들을제공한다. Nexus는메이븐 repository 관리툴로리모트 repository의단점을보완하고 maven 프로젝트의사용편의성을높이기위해사용된다. 각개발자들은리모트 repository가아닌 Nexus 에서 dependency을다운받아사용함으로써프로젝트내의 artifact 버전등의일관성을유지하고 3rd 파티 artifact 등라이브러리를효과적으로공유할수있다

55 7. 프로젝트객체모델 (POM) (1/2) 3. 개인빌드 프로젝트의구조와내용을설명하고있으며 pom.xml 파일에프로젝트관리및빌드에필요한환경설 정, 의존성관리등의정보들을기술함 pom.xml POM Relationships Build Settings Coordinates groupid artifactid version Inheritance parent dependency management Project Information name description url inception year Aggregation modules Dependencies dependencies licenses developers contributors organization properties build Build Environment Environment Information issuemanagement cimanagement Maven Environment prerequisites profiles profile (activation, ) distributionmanagement packaging reporting mailinglists scm Repositories repositories pluginrepositories 프로젝트의세부메타데이터정보를포함 버전및설정관리, 빌드환경, 라이브러리저장소및의존성

56 7. 프로젝트객체모델 (POM) (2/2) 3. 개인빌드 프로젝트의 pom.xml 파일에빌드정보들을기술함 <project xmlns=" xmlns:xsi=" xsi:schemalocation=" <modelversion>4.0.0</modelversion> <groupid>egovframework.dev.com</groupid> <artifactid>egovframework-dev-com</artifactid> <version>1.0</version> Artifact 정보 <packaging>war</packaging> <name>egovframework-dev-com Maven Webapp</name> <dependencies> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>4.4</version> <scope>test</scope> 의존성관리 </dependency> </dependencies> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-compiler-plugin</artifactid> <configuration> 플러그인선언 <source>1.5</source> <target>1.5</target> </configuration> </plugin> </plugins> </project>

57 8. Maven 이클립스통합 : m2eclipse 3. 개인빌드 m2eclipse 는 Eclipse IDE 에서 Maven 을사용하기위한플러그인으로 Maven 프로젝트생성뿐아니 라 Maven 빌드와 WTP(Web Tools Project) 의통합등다양한기능을제공함 m2eclipse 특징 메이븐프로젝트생성및불러오기 의존성관리및의존성통합 dependency 자동다운로드및업데이트 리모트 repository 탐색기능제공 POM 파일관리화면제공및 dependency list 에대한자동업데이트 다양한 SCM 저장소로부터메이븐프로젝트 check out 이클립스에서메이븐멀티모듈프로젝트생성기능제공 Web Tools Project (WTP) 와의연동 aspectj Development Tools (AJDT) 과의연동 Subversion 플러그인과의연동

58 8. Maven 이클립스통합 : m2eclipse 프로젝트생성 (1/2) 3. 개인빌드 배포된 egovframework Archetype 을이용한메이븐프로젝트생성예 Maven 프로젝트생성 Maven 프로젝트의 archetype 선택 egovframework 에서는메이븐프로젝트생성을위해두가지방식을제공하고있음 1. 구현도구에서제공하는 Perspective 를이용한 Maven 프로젝트생성 2. Maven archetype 을이용한프로젝트생성 : Archetype is a Maven project templating toolkit. - 프로젝트에특화된 pom.xml 및 resource 들을포함한 Maven 프로젝트생성 Maven Archetype 종류 1. 표준 Archetype maven-archetype-j2ee-simple maven-archetype-quickstart maven-archetype-portlet 2. egovframework Archetype egovframework-maven-webapp * Maven 제공 Archetype 종류 : configure.. 버튼클릭으로제공된 archetype 을선택

59 8. Maven 이클립스통합 : m2eclipse 프로젝트생성 (2/2) 3. 개인빌드 egovframework Archetype 을이용한 Maven 프로젝트 egovframework-webapp Archetype 은 Spring 2.5 기반의 dependency 들을기본으로제공함

60 8. m2eclipse Maven 기본기능 3. 개인빌드 m2eclipse 에서제공하는메뉴에서메이븐설정및연동기능을호출할수있음 m2eclipse Maven 기능 Update Dependencies 기능 pom.xml 에 dependency 를추가하고 update dependencies 메뉴를선택하면저장소에서해당 artifact 를찾아프로젝트에 Cache 함

61 8. m2eclipse Maven 기본빌드기능 3. 개인빌드 (Maven) m2eclipse 는이클립스의 Run As 메뉴에 Maven 기본생명주기단계를추가하여빌드편의성을제공함 m2eclipse Maven 빌드기능 Maven install 기능 Maven install 메뉴를선택하요생명주기의각단계를실행하고프로젝트를패키징하여로컬 repository 에저장함

62 9. 참고자료 Apache Maven Maven Central Repository M2eclipse Nexus

63 4. 테스트도구 1. 테스트 2. 개요 3. 오픈소스 4. 테스트종류 5. Unit Test 6. Mock 7. DB Test 8. Test Automation 9. Test Reporting 10. Test Coverage 11. 참고자료

64 1. 테스트 (1/2) 4. 테스트도구 테스트 (Test) 테스트대상에입력값을넣었을때그결과가성공혹은실패의결과를내는것이다. 성공 입력 대상 결과 실패 수동테스트 vs. 자동테스트 Here! Here!

65 1. 테스트 (2/2) 4. 테스트도구 장점 쉽다. 간편하다. 수동테스트 테스트불가능한상황이별로없다. 자동테스트 언제든지같은테스트를여러번수행가능 기존테스트는새테스트를작성하는발판이된다. ( 지식축적 ) 빠르므로자주돌려볼수있다. 개발자가코드개선활동을수행할때에도회귀테스트 (Regression Test) 를자주할수있다. 단점 휘발성 테스트항목이늘어난다면? 다른사람에게테스트내용을설명하기어려움 재현하기어려움 코드로작성해야한다. 기술, 노하우가필요하다 코드로테스트를작성할수없는상황이있다. ( 수동테스트와공조 ) 테스트도관리대상이다. 모듈화가잘되어있어야한다. 디자인의개선필요 Legacy Code의어려움

66 2. 개요 (1/2) 4. 테스트도구 테스트도구는 Unit Test, Mock, DB Test Framework 을통해 TestCase 작성을지원하고, Test Automation, Test Coverage, Test Reporting 등의기능을제공함 구현도구 TestCase 작성 테스트도구 Test 수행 작성 테스트클래스 실행 OOServiceTest Unit Test Framework 테스트대상모듈 MockDao 분석 Test Coverage OOService OODao 작성 <<Dataset>> DaoTest Mock Framework DB Test Framework 자동화 Test Automation 리포팅 DB DB Test Reporting 결과리포트

67 2. 개요 (2/2) 4. 테스트도구 테스트도구사용프로세스 write TestCases run TestCases analyze Test Coverage run automatically TestCases report Test results

68 3. 오픈소스 4. 테스트도구 테스트도구에채택한오픈소스 구분오픈소스버전비고 write & run TestCases JUnit 4.4, 4.3 Test Framework EasyMock 2.4 Mock Framework Spring test Spring Test Module DBUnit DB Test Framework Unitils 2.2 JUnit, EasyMock, DbUnit, Spring Test, ibatis, Hibernate 등을유연 한구조로엮어서테스트할수있는기능제공 Test Coverage EMMA 2.0 Free Java code coverage tool EclEmma EMMA Eclipse plugin run automatically & report Ant Java-based build tool Maven 2.0 S/W project management & comprehension tool

69 4. 테스트종류 4. 테스트도구 테스트도구는개발자가코드로작성하고도구를통해자동화할수있는테스트중단위테스트에해당하 며이후 Integration Test, Acceptance Test 까지범위를확장할수있는토대를마련함 MockDao IETest OOServiceTest OODao DB Unit Test File Integration Test Acceptance Test

70 5. Unit Test (1/3) 4. 테스트도구 Unit Test 란대상코드에대해테스트하고자개발자가작성한코드로서, 주로특정메소드를실행해서 그결과가기대값과일치하는지확인하는형태이며, Unit Test 는서로독립적으로수행되어야함. 효과 작성한코드의설계개선작업시, 코드품질에대한확신 코드수정시버그를쉽게찾을수있게해줌 자동화된회귀테스트 (Regression Test) 를가능하게해주는 Source가됨 작성범위 주요흐름에대한테스트 (the happy path) 또다른주요흐름에대한테스트 (the main alternative path) 경계조건에대한테스트 (null 인자체크등 ) Exception 테스트 (Exception 발생하는조건에대한테스트 )

71 5. Unit Test (2/3) 구성 테스트프레임웍을사용하는 Class 공용으로사용하는테스트데이터 (test fixture) 테스트데이터준비 (Setup of test data) 테스트메소드 (testxxx) ( 테스트별준비 ) 테스트대상메소드실행 assert 문을이용한결과확인 (asserttrue, assertequals etc.) ( 내부메소드 ) 성공입력대상결과실패 4. 테스트도구 1: public class UserAdminTest { 2: 3: 4: /* Class under test */ private UserAdmin useradmin; 5: 6: 7: /* A simple test user */ private User user; // Test Data (Fixture) 8: /* An administrator role */ // 9: private Role adminrole; // 10: 11: 12: 13: 14: /** * Initializes the test fixture. 15: 16: 17: public void setup() throws Exception { useradmin = new UserAdmin(); user = new User("John", "Doe"); // Test Data Setup 18: adminrole = new Role("Administrator"); // 19: } 20: 21: 22: 23: 24: 25: 26: /** * Test for method with... public void testadduser() { user.setage(18); // Extra Test Setup 27: useradmin.adduser("jdoe", user, adminrole); // Use 28: Test Data 29: 30: 31: 32: User result = useradmin.getuser("jdoe"); assertequals("john", result.getfirstname()); assertequals("doe", result.getlastname()); 33: } 34: }

72 5. Unit Test JUnit (3/3) 4. 테스트도구 JUnit 은자바프로그래밍언어를위한 Unit Test Framework 로, Unit Test 코드를작성하고자동화된 테스트를수행할수있는기능을제공함

73 6. Mock (1/3) 4. 테스트도구 Mock 객체는 Unit Test 의독립성 (isolation) 을높여주기위해사용하며, 테스트하고자코드와관련이 있는객체 (collaborator) 를흉내내어 Unit Test 를수행할수있도록도와주는객체임 Mock 객체를사용하는경우 진짜객체를준비, 설정하기어렵다 진짜객체가느리다. 진짜객체가사용자인터페이스를갖거나그자체이다. 진짜객체가아직없다. Mock 사용종류 이미구현된 Mock 객체사용 : Spring test (web, jndi), mockrunner EasyMock, JMock, Mockito 등의 Mock 라이브러리사용 Mock으로사용할가짜클래스직접구현 참고 :

74 6. Mock (2/3) 4. 테스트도구 Spring Test web 사용샘플 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: } 32: public class SessionMockTest { /** mock object of the HttpServletRequest */ private MockHttpServletRequest request; /** mock object of the HttpServletResponse */ private MockHttpServletResponse response; /** mock object of the HttpSession */ private MockHttpSession session; /** Target Class */ private Servlet public void setup() throws Exception { servlet = new Servlet(); request = new MockHttpServletRequest(); session = new MockHttpSession(); public void testconfirmadmin() throws Exception { session.setattribute("userid", "administrator"); session.setattribute("password", "1234"); } request.setsession(session); servlet.confirmadmin(request, response); asserttrue(servlet.isadmin()); Spring Test 의 MockHttpServletResponse/Request MockHttpSession 등사용 테스트대상클래스 테스트데이터설정 실제 session 처럼사용하여테스트하고자하는메소드확인

75 6. Mock (3/3) 4. 테스트도구 Easymock + Unitils 샘플 2: public class EgovControllerTest { 3: 6: private EgovService mockservice; 7: 9: private EgovController egovcontroller = new EgovController(); 10: 12: public void testselectlist() throws Exception { 13: assertnotnull(egovcontroller); 14: expect(mockservice.selectlist()).andreturn( 15: Arrays.asList(new Message(101), new Message(102))); 16: EasyMockUnitils.replay(); 17: 18: List<Message> resultlist = egovcontroller.selectlist(); 19: assertnotnull(resultlist); 20: assertequals(2, resultlist.size()); 21: } 22: 24: public void testinsert() throws Exception { 25: mockservice.insert(makevo()); 26: EasyMockUnitils.replay(); 27: 28: SessionStatus status = new SimpleSessionStatus(); 29: String view = egovcontroller.add(makevo(), status); 30: } 31: } Mock 으로생성할인터페이스에대한정의한뒤, 테스트대상클래스에 Mock 으로정의한클래스를세팅한다. 리턴값을갖는메소드를 Mock 클래스에정의하고리턴값을설정한뒤, 진짜객체처럼사용한다. 리턴하지않는메소드를 Mock 객체에정의후진짜객체처럼사용한다

76 7. DB Test (1/3) 4. 테스트도구 DB Test는 DAO와 DB 모두를통틀어 Persistence layer를테스트하는것을말하며, 테스트DB와테스트데이터를준비하여실제로 DB를이용한단위테스트를수행함 DB Test Framework DbUnit DbUnit 기능 DB 데이터를 XML 파일형태로 import/export DB 연결, DB 초기화 DB의데이터가기대값과같은지확인 빌드도구를통한테스트자동화기능제공 효율적인 DB Test를위해 DB 구조만갖고있는단위테스트용 DB 준비 각개발자마다별도의단위테스트용 DB 공간 Unitils, Spring Test 활용

77 7. DB Test (2/3) 4. 테스트도구 TestCase 작성 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: { "/META-INF/persistence/connection/datasource-spring-with-unitils.xml", "/META-INF/spring/context-common.xml", "/META-INF/spring/context-sqlmap.xml" }) public class DaoOperationTest_noticeDao private DataSource datasource; /** Target Dao private NoticeDao noticedao; private public void testinsert() { assertnotnull(noticevo); noticedao.insert(noticevo); int count = noticedao.selectcount(); assertequals(4, count); } 3: 클래스시작할때같은위치에있는 DaoOperationTest_noticeDao.xml 파일을읽어 DB 를초기화 5: Datasource 연결정보 (Unitils 를사용함 ) 9 : 5 라인에서설정한파일에설정된 datasource 객체를설정함. Unitils 의 Datasource 정보사용 13 : Unitils 의 Injection of Spring beans - noticedao 라는이름으로정의된 Bean 을 Spring Application Context 로부터가져옴 19 : 지정된위치의 Dataset 파일을읽어들여, 메소드처리후반에서결과를비교함. assert 기능

78 7. DB Test (2/3) 4. 테스트도구 DataSet (AutoInsertionTestDataTest_DataSet.xml) <?xml version="1.0" encoding="utf-8"?> <dataset> <NOTICE NOTICE_ID="101" NOTICE_TITLE="101 번공지 " NOTICE_FILE_CNT="0" NOTICE_RETRIEVED_CNT="0" /> <NOTICE NOTICE_ID="102" NOTICE_TITLE="102 번공지 " NOTICE_FILE_CNT="0" NOTICE_RETRIEVED_CNT="0" /> <NOTICE NOTICE_ID="103" NOTICE_TITLE="103 번공지 " NOTICE_FILE_CNT="0" NOTICE_RETRIEVED_CNT="0" /> </dataset> DataSet 구조 <dataset> <TABLE_NAME COLUMN_NAME1= VALUE" COLUMN_NAME2= VALUE" /> </dataset> Expected DataSet (AutoVerifyTestResultsTest_ExpectedDataSet.xml) <?xml version="1.0" encoding="utf-8"?> <dataset> <NOTICE NOTICE_ID="201" NOTICE_TITLE="201 번공지 " NOTICE_CONTENTS=" 테스트용으로자동입력된공지사항 201 번입니다." NOTICE_LAST_MODIFIER="OracleDataSetTest.class" /> </dataset>

79 8. Test Automation (1/2) 4. 테스트도구 작성된다수의 TestCase 를자동으로수행하여소스단위의품질을높이고자함. CI 서버와연계될때, 주기적인테스트수행으로인해목표시스템의품질을향상할수있음 Test Suite TestCase 모음 1. Test Suite Class 작성 Test Suite 설정방법 Test Suite Class 작성 빌드도구의 { HttpRequestMockTest.class, SessionMockTest.class, FileUploadMockTest.class, MockTest.class, JDBCMockTest.class }) public class MockTestSuite { } 2. batchtest 로묶음 <junit...> <batchtest fork="yes" todir="${testreports.dir}"> <fileset dir="${testbuild.dir}"> <include name="**/*test.class" /> <exclude name="**/abstract*test.class" /> </fileset> </batchtest> </junit>

80 8. Test Automation (2/2) 4. 테스트도구 Ant (build.xml) <junit forkmode="perbatch" printsummary="true" haltonfailure="yes" haltonerror="yes"> <classpath refid="master-classpath" /> <classpath refid="test-classpath" /> <classpath path="${testbuild.dir}" /> <formatter type="xml" /> <batchtest fork="yes" todir="${testreports.dir}"> <fileset dir="${testbuild.dir}"> <include name="**/*test.class" /> <exclude name="**/abstract*test.class" /> </fileset> </batchtest> </junit> Maven (pom.xml) goal : test <build> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-surefire-plugin</artifactid> <configuration> <reportformat>xml</reportformat> <excludes> <exclude>**/abstract*.java</exclude> </excludes> <includes> <include>**/*test.java</include> </includes> </configuration> </plugin> </plugins> </build>

81 9. Test Reporting - HTML (1/4) 4. 테스트도구 Ant (build.xml) Maven (pom.xml) <!-- Junit Test Result Report --> <target name="junitreport" depends="tests"> <junitreport todir="${testhtml.dir}"> <fileset dir="${testreports.dir}"> <include name="test-*.xml" /> </fileset> <report format="frames" todir="${testhtml.dir}" /> </junitreport> </target> <reporting> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-surefire-report-plugin</artifactid> <version>2.4.2</version> </plugin> </plugins> </reporting>

82 9. Test Reporting - Excel (2/4) 4. 테스트도구 Ant Default 로사용한예 <path id="egov.lib"> <path refid="master-classpath" /> <path location="${antlib.dir}/egovtest/egovframework-dev-tst-ant.jar" /> </path> Excel Reporting Ant Task 설정 <taskdef resource="egovtest.properties classpathref="egov.lib /> <!-- JUnit Excel Report --> <target name="egovtest" depends="tests"> <egov-junitreport todir="${testxls.dir}"> <fileset dir="${testreports.dir}" includes="**/test-*.xml" /> </egov-junitreport> </target> Default 사용예 Ant 템플릿엑셀파일을별도로사용한예 <target name="egovtest-full" depends="tests"> <egov-junitreport todir="${testxls.dir}" outputname="egovtest-junit-full.xls" templatepath="${basedir}/build/template-kr.xls" summary="0,b,6" packages="0,b,11" lists="1,a,5"> <fileset dir="${testreports.dir}" includes="**/test-*.xml" /> </egov-junitreport> </target>

83 9. Test Reporting - Excel (3/4) 4. 테스트도구 Ant 템플릿엑셀파일을별도로사용한예 property 설명 todir outputname templatepath summary, packages, lists fileset 엑셀파일생성디렉토리엑셀파일명템플릿엑셀파일정보각엑셀테이블의헤더위치정보 (sheet, column, row) 테스트결과 XML 파일위치 summary:0,b,6 lists 위치 : 1,A,5 packages:0,b,

84 9. Test Reporting - Excel (4/4) 4. 테스트도구 Maven (goal : egovtest:junit-xls) <build> <plugins> <!-- Egovframework JUnit Excel Reporting --> <plugin> <groupid>egovframework.dev</groupid> <artifactid>egovtest-maven-plugin</artifactid> <version>1.0.0-snapshot</version> </plugin> </plugins> </build>

85 10. Test Coverage 4. 테스트도구 테스트코드가대상소스코드에대해테스트하는코드를작성했는지그커버하는정도를수치나코드 라인을통해알려줌 EMMA HTML 리포팅화면 EclEmma 화면

86 11. 참고자료 4. 테스트도구 Unitils Guildelines Mock Object를사용해서쉽게테스트하기 mock object Effective Unit Testing with DbUnit What is a mock objects An early look at JUnit4 JUnit FAQ

87 5. 형상관리 1. 개요 2. Subversion 개요 3. 소스공유 4. Checkout 5. Update 6. Commit 7. History 조회 8. 충돌해결 (merge) 9. 참고자료

88 1. 개요 5. 형상관리 소스버전관리도구는시스템형상요소 ( 소스및데이터 ) 를문서화하고변경을소스버전관리절차에따라관리하고, 효율적으로처리하기위한통제환경을의미 소스버전관리도구의특징및기능 형상요소 ( 소스및데이터 ) 에대한변경사항을관리 버전관리를수행하고, 배포도구를통해변경사항을배포 일정주기에백업도구를통해백업을수행 소스버전관리도구의구성요소및관계도 프로젝트팀소스관리도구배포도구 개발자 PL Check in/out Configuration Management 배포 백업 저장소 CMO

89 2. Subversion 개요 (1/5) 5. 형상관리 Subversion(SVN) 의배경 CVS 의단점을개선하고 CVS 를대체할목적으로개발되었음 오픈소스기반의소스버전관리도구 ( CVS 대비 Subversion의특장점 CVS와거의동일한사용법. CVS 사용자는누구나쉽게사용할수있음 Commit 단위 : CVS는개별파일별로리비전관리, SVN은변경이발생하는체인지셋 (Change Set) 별로리비전관리 Atomic Commit: 여러파일커밋시, 어느하나의파일에서커밋이실패할경우, CVS는해당파일앞의경우는커밋되고, 뒷파일은그대로남아있지만, SVN은모두이전상태로롤백 트리별, 파일별접근제어리스트지원 파일에대한이름변경 / 이동, 디렉터리버전관리도지원 CVS에비해빠른동작속도 (Update/Branching/Tagging Time)

90 2. Subversion 개요 (2/5) 5. 형상관리 SVN 클라이언트 - Eclipse 플러그인 Subversive Polarion 커뮤니티그룹에서개발 Eclipse Ganymede 버전부터 SVN 클라이언트로공식채택 빠른 update, 안정적인동작 공식웹페이지 : Subclipse Tigris 커뮤니티그룹 (Subversion 개발커뮤니티 ) 에서개발 Subversion 초창기폭넓은사용자확보 Subversive 대비느린 update, 다수의버그로불안정 공식웹페이지 :

91 2. Subversion 개요 (3/5) 5. 형상관리 SVN 클라이언트 Eclipse 플러그인설치 / 확인 1 Eclipse 메뉴, Help > Software Update... 3 설치후확인 Eclipse 메뉴, Help > About 2 플러그인 Update Sites 추가, Install 진행

92 2. Subversion 개요 (4/5) 5. 형상관리 저장소 (Repository) 모든프로젝트의프로그램소스들과소스에대한변경사항이저장됨 네트워크를통해서여러사람이접근 SVN에서는 Berkeley DB(Default) 또는파일시스템 (Optional) 을저장소로사용 저장소접근 1 Eclipse 메뉴, Window > Open Perspective > Other... > SVN Repository Exploring 2 Eclipse 메뉴, File > New > Repository Location 3 마법사에서, URL 과 Authentication 항목을입력

93 2. Subversion 개요 (5/5) 5. 형상관리 Revisions 소스파일등을수정하여커밋하게되면일정한규칙에의해숫자가증가 저장소에저장된각각의파일버전이라할수있음 SVN의경우파일별로리비전이매겨지지않고변경발생단위로전체리비전이매겨짐 리비전을보고프로젝트진행상황을알수있음 저장소를통해본리비전이해 커밋의단위 젂체리비젂번호증가 저장소의파일시스템 개별소스들의리비젂

94 3. 소스공유 (1/2) 5. 형상관리 프로젝트공유 새로운프로젝트를저장소에추가 1 Eclipse 패키지 / 네비게이션뷰, 프로젝트오른쪽클릭 > Team > Share Project... 2 Share Project 마법사, SVN 선택 3 Share Project 마법사, 저장소위치선택 > Finish

95 3. 소스공유 (2/2) 5. 형상관리 소스단위공유 공유중인프로젝트내에서해당소스를저장소에추가 2 팝업창에서내용확인 > OK 1 Eclipse 패키지 / 네비게이션뷰, 대상소스오른쪽클릭 > Team > Add to Version Control

96 4. Checkout 초기 checkout 5. 형상관리 저장소에서전체소스의최종리비전을받아오는것 저장소인증정책에따라 ID, Password 입력여부가결정 3 패키지 / 네비게이션뷰에서체크아웃한프로젝트소스확인 2 SVN Repositories 뷰, 저장소를확장하여 trunk 아래의프로젝트선택 > Check Out 1 Eclipse 메뉴, Window > Open Perspective > Other... > SVN Repository Exploring

97 5. Update 5. 형상관리 저장소에소스업데이트 체크아웃을한이후의타인에의한소스변경사항을확인 저장소에있는소스중로컬과비교하여변경된항목의최신버전의소스를가져옴 변경된항목의최신버전은로컬본에통합됨 Eclipse 패키지 / 네비게이션뷰, 업데이트대상소스들 / 패키지 / 프로젝트에서오른쪽클릭 > Team > Update

98 6. Commit 5. 형상관리 Commit 로컬에체크아웃한소스를수정, 파일추가, 삭제등을한뒤저장소에저장하여갱신하는것 커밋을하면전체리비전이 1 증가 (CVS 의경우수정한각각파일의리비전이증가 ) 2 팝업창에서반영내용확인및 Comment 입력 1 Eclipse 패키지 / 네비게이션뷰, 커밋대상소스들 / 패키지 / 프로젝트에서오른쪽클릭 > Team > Commit

99 7. History 조회 5. 형상관리 History SVN에의해관리되는특정소스와관련된과거모든리비전의내역 History 조회 Eclipse의기본카테고리인 Team 의 History 뷰를통해조회할수있음 리비젂로그목록 1 Eclipse 패키지 / 네비게이션뷰, 대상소스오른쪽클릭 > Team > Show History 선택된리비젂의 Comment 선택된리비젂의구조와변경파일들 2 History 뷰에서대상소스의 History 목록과리비젂상세내역조회

100 8. 충돌해결 (1/2) 5. 형상관리 충돌 (Conflict) 로컬에체크아웃이후수정한소스를저장소에커밋할때, 저장소의리비전이더높을경우충돌발생 ( 타인에 의해수정되고커밋된상태 ) 충돌발생상황예 : 로컬리비젂 = 597 < 저장소리비젂 = 634 충돌해결방안 postpone: 즉시반영없이, 소스코드를계속수정. 수정이완료된시점에다시시도 ( 충돌해결안함 ) diff: 충돌된상황을비교. 로컬과저장소의소스의차이를비교 edit: 로컬의파일을다시열어수정 mine-full: 저장소의리비전내용을무시하고, 로컬의내용으로커밋. theirs-full: 로컬의수정내역을무시하고, 저장소의리비전으로대체하여업데이트

101 8. 충돌해결 (2/2) 5. 형상관리 충돌해결방안예 diff/edit: 로컬과저장소의소스를모두열어비교 / 편집 mine-full: 충돌이발생한파일에서오른쪽클릭 > Override and Commit... 선택 theirs-full: 충돌이발생한파일에서오른쪽클릭 > Override and Update... 선택

102 9. 참고자료 5. 형상관리 Subversion Project Home Page CVS Project Home Page Subversive Eclipse Plug-in Subversive SVN Connectors Eclipse Plug-in Subclipse Eclipse Plug-in

103 6.CI 서버 1. CI 정의 2. CI 효과와특징 3. CI 구성요소 4. Hudson 개요 5. Hudson 특징및주요기능 6. Hudson 대시보드 7. Hudson 프로젝트메뉴 8. Hudson JUnit 테스트연동 9. Hudson 코드인스펙션도구연동 10. 참고자료

104 1. CI(Continuous Integration) 정의 6.CI 서버 여러명으로구성된팀이작업한것을자주 - 각팀원이하루에한번이상, 매일여러번 - 통합하는것을가 리키는소프트웨어개발 Practice 임 검토 변경사항을커밋한다 개발자 A 개인빌드실행 변경사항을커밋한다 버전관리저장소 (Subversion) 통합빌드머신 CI Server 개발자 B 개인빌드실행

105 2. CI(Continuous Integration) 효과와특징 6.CI 서버 효과 흔히발생하는일반적인위험을줄여준다. 에러를초기에발견할수있다. 자주통합할수록에러가발생하는범위가좁아에러를잡는것이수월해진다. 잘동작하고에러가거의없는 S/W를유지할수있다. 언제어느때라도배포할수있는 S/W를생성해낸다. 반복적인수작업을줄여준다. 프로젝트가시성을좋게해준다. 개발팀이 S/W 제품에대해보다큰자신감을갖게해준다. 특징 -소스코드일관성유지 : 소스관리시스템이필요하다. -자동빌드 : 빌드는 CI 툴에의해자동으로이루어져야한다. -자동테스트 : 소스검증과함께기능 / 비기능테스팅을매번검증함으로써코드의품질을높일수있다. -일일체크아웃과빌드 : 빌드주기가길어질수록개발자소스의오류발생확률이높아지고그만큼시간을낭비하게된다

106 3. CI 구성요소 6.CI 서버 CI(Continuous Integration) 는개발자, 버전관리저장소, CI 시스템, 빌드스크립트, 의사소통장치, 통 합빌드머신등으로구성됨 피드백메커니즘 ( 웹, 이메일, 위젯, RSS 등 ) 개발자 A 개발자 B 개인빌드변경사항커밋 버전관리저장소 (Subversion) watches 통합빌드머신 CI Server (Hudson) deploys uses merges Build Script (Maven) 정리소스코드컴파일데이터베이스통합테스트수행검사수행소트프웨어배포 개발서버 (Linux) DB Reports (Code Inspection Unit Test Test Coverage)

107 4. Hudson 개요 6.CI 서버 Hudson 은오픈소스 CI 서버로소스빌드스크립트를사용한자동빌드및빌드결과를개발자에게피 드백하는메커니즘을제공함 초기화면 : 프로젝트리스트와빌드상태및빌드성공여부를보여줌

108 5. Hudson 특징및주요기능 6.CI 서버 Hudson 특징 쉬운 Installation : hudson.war형태로 servlet container에배포 웹기반 UI를통한쉬운설정및즉각적인피드백 플러그인기반의확장성제공 깔끔하고잘정의된문서및 API Hudson 주요기능 소프트웨어자동빌드 빌드주기에따른일일빌드또는주간빌드기능제공 지속적이고자동화된빌드검증 SCM 폴링 (polling) 기능을통한최신코드기반의빌드수행 지속적이고자동화된빌드테스트 태스트슈트실행을통한코드품질검증 빌드후속절차자동화 컴파일된코드의패키징및테스트리포팅기능제공

109 6. Hudson 대시보드 (dashboard) 6.CI 서버 Hudson 은빌드결과및테스트결과등을보여주는대시보드기능을제공함

110 7. Hudson 프로젝트메뉴 6.CI 서버 Hudson 은등록된프로젝트의소스코드변경내용추적을위한메뉴와수동빌드메뉴그리고프로젝 트빌드상태를보여주는메뉴등을제공함 기본메뉴 Changes : 빌드버젂별로 SCM 에서지난버젂에비해서변경된내용에대해변경자와커밋시에개발자가추가한 comment 를확인할수있음 Workspace : 프로젝트의빌드디렉터리로브라우저를통해빌드에사용된파일등을확인할수있음 Build Now : 스케줄에상관없이지금강제적으로빌드 Build History : 빌드수행시기와빌드상태및성공여부를보여줌

111 8. Hudson JUnit 테스트연동 6.CI 서버 Hudson 은 JUnit 테스트리포트를출력해주는기능을제공하며테스트의 Progress 누적그래프를프 로젝트초기화면에출력함 JUnit 테스트리포트 테스트 Progress 누적그래프 프로젝트의단위테스트결과및테스트소요시간등에관한리포트를보여줌 프로젝트빌드에따른 JUnit 테스트누적그래프로빌드번호화테스트 method 개수로빌드결과를보여줌

112 9. Hudson 코드인스펙션도구연동 6.CI 서버 Hudson 은코드인스펙션도구인 PMD 플러그인을제공하며연동을통한코드인스펙션결과리포트를 제공함 * 프로젝트의 Configure; 메뉴에서 PMD 결과생성설정 *PMD 인스펙션결과리포트

113 10. 참고자료 CI 정의 Continuous Integration (Martin Fowler) Hudson Home

114 7.Deploy 1. 개요 2. 환경설정 3. 주요기능

115 1. 개요 7.Deploy 개발완료된 war 파일에대해 WAS 서버로의 FTP 이관, WAS Deploy 및해당 WAS 서버의기동 / 중지 기능을제공함 서버이관프로세스 서버이관시나리오 관리자로그인 서버정보등록 WAS 정보등록 WAS 기동및중지 1. 관리자로그인 2. 서버정보등록 : 프로젝트에서관리할서버정보 (IP) 를등록한다 3. WAS 정보등록 : 프로젝트에서사용하는 WAS 정보 ( 종류, 기동 / 중지스크립트 ) 를등록한다. 4. 배포작업등록 : 배포작업정보 ( 이관모듈, WAS 정보, FTP 경로, deploy 대상 ) 를등록한다. 5. WAS 기동및중지 : WAS 정보에따른서버의기동및중지를수행한다. 6. FTP 및 Deploy : 등록되어있는배포작업정보를참조하여 FTP 및 Deploy 를수행한다. 제약사항 배포작업등록 FTP 및 Deploy 지원가능 WAS: - Jeus, WebLogic, jboss

116 2. 홖경설정 7.Deploy WAS 구동시환경변수로 deploy.script.home 과 deploy.path 를설정하고제공된 common.properties 파일의내용을 WAS 환경에맞게수정 WAS 구동시환경변수 Ddeploy.script.home=" 배포스크립트및로그파일이저장될디렉토리 Ddeploy.path="war 파일이존재하는루트디렉토리 " Hudson 주요기능 was.deploy.script.path=" 배포스크립트및로그파일이저장될디렉토리 " 배포대상 WAS 서버가 weblogic 인경우 - weblogic.deploy.jar.path="weblogic 설치하위의 weblogic.jar 파일의위치 " - weblogic.adm.id="weblogic admin id" - weblogic.adm.pwd="weblogic admin password"

117 3. 주요기능 - 관리자로그인 7.Deploy 서버이관도구는 Admin 관리자계정하나만을두고있음

118 3. 주요기능 - 서버정보등록 7.Deploy 모듈배포를위한대상서버의정보를등록 서버정보등록순서 1. 서버이름, 서버 IP, 사용자아이디, 비밀번호를입력 2. 저장 버튼을클릭 3. 서버정보가등록된후서버목록화면으로이동 4. 목록 버튼을클릭하여서버목록화면으로이동 5. 취소 버튼을클릭하여작성한내용을초기화

119 3. 주요기능 - WAS 정보등록 7.Deploy 모듈배포를위한대상 WAS 의정보를등록 WAS 정보등록순서 1. WAS 명, 실행경로, 실행유저 ID, 실행유저 PWD, 기동스크립트, 중지스크립트, WAS 홈경로를입력 2. 서버명을선택한후등록했던서버명중해당 WAS 가설치된서버를선택 3. WAS 서버를선택 weblogic, jeus, jboss 4. 저장 버튼을클릭 5. WAS 정보가등록된후 WAS 목록화면으로이동 6. 목록 버튼을클릭하여 WAS 목록화면으로이동 7. 취소 버튼을클릭하여작성한내용을초기화

120 3. 주요기능 - 배포작업등록 7.Deploy 모듈배포를위한 FTP 경로등배포작업정보를등록 배포작업등록순서 1. 작업명, FTP 경로를입력 2. 대상 WAS 명을선택 3. 모듈선택 버튼을클릭하여배포대상모듈을선택 4. Deploy 대상을입력 jeus 인경우컨테이너명, weblogic 인경우 server 명을입력 5. Admin URL 을입력 weblogic 인경우입력 6. 저장 버튼을클릭 7. 배포작업정보가등록된후배포작업목록화면으로이동 8. 목록 버튼을클릭하여배포작업목록화면으로이동 9. 취소 버튼을클릭하여작성한내용을초기화

121 3. 주요기능 - FTP 로이관 7.Deploy 모듈배포를위한 FTP 로이관하는기능제공 FTP 순서 1. 배포작업목록을조회 2. 대상작업의 FTP 버튼을클릭하여대상모듈을해당 WAS 로젂송 3. FTP 가진행되는도중 작업중입니다 메시지출력 4. 젂송이완료되면 FTP 작업로그를화면에출력

122 3. 주요기능 - Deploy 7.Deploy 모듈배포를위한 Deploy 기능제공 Deploy 작업순서 1. 배포작업목록을조회 2. 대상작업의 Deploy 버튼을클릭하여 WAS 에 Deploy 3. Deploy 가진행되는도중 작업중입니다 메시지출력 4. Deploy 가완료되면 Deploy 작업로그를화면에출력

123 3. 주요기능 - WAS 기동 7.Deploy 모듈배포를위한 WAS 기동기능을제공 1. WAS 목록을조회 WAS 기동순서 2. 대상 WAS 의 기동 버튼을클릭하여 WAS 를기동 3. WAS 기동작업이진행되는도중 작업중입니다 메시지출력 4. WAS 기동작업이완료되면 WAS 기동작업로그를화면에출력

124 3. 주요기능 - WAS 중지 7.Deploy 모듈배포를위한 WAS 중지기능을제공 1. WAS 목록을조회 WAS 중지순서 2. 대상 WAS 의 중지 버튼을클릭하여 WAS 를중지 3. WAS 중지작업이진행되는도중 작업중입니다 메시지출력 4. WAS 중지작업이완료되면 WAS 중지작업로그를화면에출력

125 3. 주요기능 - 작업로그조회 7.Deploy 서버이관작업과관련된로그조회기능을제공 작업로그순서 1. 검색조건 ( 로그구분및검색기간 ) 을입력하고 검색 버튼을클릭 2. 검색조건에해당하는작업로그정보를출력 3. 상세조회할 작업로그 를클릭하면해당작업의작업로그조회화면으로이동하여상세정보출력 4. 목록 버튼을클릭하면작업로그목록화면으로이동

126 8. 이슈관리 1. 개요 2. Feature 3. Process 4. 주요기능 5. 참고자료

127 1. 개요 8. 이슈관리 프로젝트 ( 또는복수의프로젝트 ) 에서개발자간의커뮤니케이션을돕고체계적인이슈 ( 버그 ) 를 관리하는시스템을의미함

128 2. Feature 8. 이슈관리 이슈를체계적으로관리하기위해스페이스관리, 이슈관리, 통계, 대시보드등다양한기능을제공함 Feature 상세내용 Easy to Install 별도의 Customizing 이필요없이제공된 war 의디플로이를통한간단한설치메커니즘제공 Eclipse Integraton 이클립스의형상연계 Plug-in 과의연계를통해커밋시이슈와연계할수있고, 이슈를조회할수있다. Integration 사용자등록, 이슈등록및상태수정시에할당된담당자에게해당내용을 로전송할수있다. Cross Referencing of Items 등록된 Item 간의상호참조를할수있으며, 이를통해연관된이슈와의통합이가능하다. Custom Fields / Status 스페이스의효율적인관리를위해스페이스의 Field 와 Item 의 Status 를정의할수있다. Detailed History View 등록된 Item 의등록, 담당자, 상태, 과거변경내역을조회할수있다. Statistics 등록된스페이스와사용자별통계를통해전체이슈와사용자의진행상황을파악할수있다. Search 다양한검색조건 ( 삭제된이슈거색포함 ) 을제공하여빠른시간에원하는 Item 을검색할수있다. Dashboard 해당사용자별로자신에게등록된스페이스, 등록한이슈, 할당된이슈등을파악할수있다. Administration Management 사용자관리, 스페이스관리, 설정관리, 통계, 이슈관리등강력한관리기능을제공한다

129 3. Process 8. 이슈관리 이슈관리는관리자기능인스페이스관리 ( 필드, 상태 ) 와사용자관리등을통해이슈관리환경을 구성하고, 일반사용자는설정된환경에서이슈를관리하는프로세스로구성 로그인 권한체크 사용자 Process 관리자 Process 이슈등록사용자할당이슈상태변경관련이슈등록 대시보드 이슈등록 대시보드 스페이스관리 스페이스등록 Field관리 Status관리 Role관리 이슈검색 사용자관리 사용자등록비밀번호변경 사용자정보수정 통계 스페이스별통계 사용자별통계

130 4. 주요기능 - 대시보드 8. 이슈관리 해당사용자별로자신에게등록된스페이스, 이슈상태별등록한이슈및할당된이슈들을체계적으로 파악할수있다

131 4. 주요기능 - 통계 8. 이슈관리 스페이스또는사용자별로카테고리화하고이를시각화하여, 이슈관리시스템을다양한시각에서분석하고제어할수있는통계자료를제공한다

132 4. 주요기능 - 사용자관리 8. 이슈관리 사용자를등록하고정보를수정하는기본적인사용자관리기능과, 사용자에게스페이스와롤을 등록하고삭제하는롤관리기능을제공한다

133 4. 주요기능 - 스페이스관리 8. 이슈관리 스페이스를등록하고정보를수정하는스페이스관리기능과, 스페이스에롤을부여한사용자를등록 하고삭제하는사용자관리기능을제공한다

134 4. 주요기능 - 이슈관리 8. 이슈관리 이슈등록, 메일 /SMS 발송, 수정, 삭제등의이슈관리기능과등록된이슈의처리결과에따른상태를 변경하고이를이력 (History) 으로관리하는기능을제공한다

135 5. 참고자료 8. 이슈관리 jtrac Home

개발환경 교육교재

개발환경 교육교재 1. 테스트 (1/2) 1. 테스트도구 테스트 (Test) 테스트대상에입력값을넣었을때그결과가성공혹은실패의결과를내는것이다. 성공 입력 대상 결과 실패 수동테스트 vs. 자동테스트 Here! Here! Page l 3 3 1. 테스트 (2/2) 1. 테스트도구 장점 쉽다. 간편하다. 수동테스트 테스트불가능한상황이별로없다. 자동테스트 언제든지같은테스트를여러번수행가능

More information

슬라이드 1

슬라이드 1 전자정부개발프레임워크 1 일차실습 LAB 개발환경 - 1 - 실습목차 LAB 1-1 프로젝트생성실습 LAB 1-2 Code Generation 실습 LAB 1-3 DBIO 실습 ( 별첨 ) LAB 1-4 공통컴포넌트생성및조립도구실습 LAB 1-5 템플릿프로젝트생성실습 - 2 - LAB 1-1 프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new

More information

개발환경 교육교재

개발환경 교육교재 1. 개발환경개요 1. 개발환경개요 개발환경은프레임워크이해관계자중응용 S/W 개발자를위한환경 전자정부개발프레임워크이해관계자주요관심사분석 응용 SW 개발자는전자정부개발프레임워크를기반으로어플리케이션을개발하며, 개발생산성향상을위해전자정부개발프레임워크로부터의개발지원기능이필요함 응용 SW 개발자 개발 실행 응용 SW 응용 SW 는젂자정부개발프레임워크를기반으로개발되는어플리케이션으로써어플리케이션의효과적인동작을위한젂자정부개발프레임워크의실행지원기능이필요함

More information

슬라이드 1

슬라이드 1 - 1 - 전자정부모바일표준프레임워크실습 LAB 개발환경 실습목차 LAB 1-1 모바일프로젝트생성실습 LAB 1-2 모바일사이트템플릿프로젝트생성실습 LAB 1-3 모바일공통컴포넌트생성및조립도구실습 - 2 - LAB 1-1 모바일프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new Mobile Project 메뉴를선택한다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Software Verification Junit, Eclipse 및빌드환경 Team : T3 목차 Eclipse JUnit 빌드환경 1 Eclipse e 소개 JAVA 를개발하기위한통합개발환경 주요기능 Overall 빌드환경 Code edit / Compile / Build Unit Test, Debug 특징 JAVA Code를작성하고이에대한 debugging

More information

슬라이드 1

슬라이드 1 Gradle 1. 도구개요 2. 설치및실행 3. 주요기능 4. 활용예제 1. 도구개요 1.1 도구정보요약 도구명 소개 특징 Gradle (http://www.gradle.org) 소프트웨어빌드자동화도구 라이선스 Apache License v2.0 Gradle 을통해소프트웨어패키지나프로젝트의빌드, 테스팅, 퍼블리슁, 배포등을자동화할수있다. Ant 의유연성과기능을

More information

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1 표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1 Index 1. 표준프레임워크 EGOVCI 팩키지설치... 3 1.1 개요... 3 1.2 EGOVCI 압축풀기... 3 1.3 EGOVCI 시스템구성... 3 1.4 CI 시스템구동 (START/STOP)... 4 2. NEXUS 설정정보... 6 2.1 NEXUS 서버구동

More information

슬라이드 1

슬라이드 1 Continuous Integration Part 2 Continuous Integration Servers 조영호카페PJT팀 2008.09.01 youngho.cho@nhncorp.com 목차 1. Continuous Integration Servers 2. CruiseControl 3. Bamboo 1. Continuous Integration Severs

More information

슬라이드 1

슬라이드 1 Subclipse 1. 도구개요 2. 설치및실행 3. 주요기능 4. 활용예제 1. 도구개요 도구명 Subclipse (http://subclipse.tigris.org/) 라이선스 Eclipse Public License v1.0 소개 Subversion( 이하 svn) 용 Eclipse 플러그인 SVN 을만든 Tigris.org 에서만든클라이언트툴 Java

More information

슬라이드 1

슬라이드 1 SW 개발도구연계 Jenkins - Redmine - Mylyn 목차 Intro Mylyn - Redmine 연계 Mylyn - Jenkins 연계및빌드실행 Mylyn에서 Redmine 일감처리 Intro 연계도구 웹기반의프로젝트관리도구 한글화가잘되어있어사용저변이넓음 플러그인을통해다양한도구와연계가능 Eclipse 용 ALM(Application Lifecycle

More information

Social Media and Social Computing

Social Media and Social Computing Maven 2015 Web Service Computing Maven 이란? Apache 프로젝트 소스코드로부터배포가능한산출물 (artifact) 을빌드 (build) 하는 ' 빌드툴 (build tool)' 조금더편리한 ' 프로젝트관리툴 Maven 이없다면? 라이브러리를직접다운로드해서등록하고 path 를지정해줘야한다. Build 소스코드를컴파일한다. 테스트코드를컴파일한다.

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

Apache Ivy

Apache Ivy JBoss User Group The Agile Dependency Manager 김병곤 fharenheit@gmail.com 20100911 v1.0 소개 JBoss User Group 대표 통신사에서분산컴퓨팅기반개인화시스템구축 Process Designer ETL, Input/Output, Mining Algorithm, 통계 Apache Hadoop/Pig/HBase/Cassandra

More information

문서의 제목 나눔고딕B, 54pt

문서의 제목 나눔고딕B, 54pt Maven 1. 도구개요 2. 설치및실행 4. 활용예제 1. 도구개요 1.1 도구정보요약 도구명 Maven (http://maven.apache.org/) 라이선스 Apache License, Version 2.0 소개 자바기반프로젝트를빌드하고, 구성요소및라이브러리의존성을관리하는도구 특징 주요기능 프로젝트에필요한라이브러리를 POM 파일만으로쉽게구성가능 Convention

More information

PowerPoint Presentation

PowerPoint Presentation Software Verification T4 고수창전소영이세라하지윤 Index 1 CI 2 IntelliJ IDEA 3 JUnit 4 Build Environment 5 Git 1 Continuous Integration What is CI? 소프트웨어개발에서 Build/Test 의프로세스를지속적으로수행하는것 개발자생산성향상 버그의빠른발견및해결 더빠른업데이트제공

More information

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

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

Intro to Servlet, EJB, JSP, WS

Intro to Servlet, EJB, JSP, WS ! Introduction to J2EE (2) - EJB, Web Services J2EE iseminar.. 1544-3355 ( ) iseminar Chat. 1 Who Are We? Business Solutions Consultant Oracle Application Server 10g Business Solutions Consultant Oracle10g

More information

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인 표준프레임워크로구성된컨텐츠를솔루션에적용하는것에문제가없는지확인 ( S next -> generate example -> finish). 2. 표준프레임워크개발환경에솔루션프로젝트추가. ( File -> Import -> Existring Projects into

More information

Spring Boot

Spring Boot 스프링부트 (Spring Boot) 1. 스프링부트 (Spring Boot)... 2 1-1. Spring Boot 소개... 2 1-2. Spring Boot & Maven... 2 1-3. Spring Boot & Gradle... 3 1-4. Writing the code(spring Boot main)... 4 1-5. Writing the code(commandlinerunner)...

More information

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

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi 소프트웨어공학 Tutorial #2: StarUML Eun Man Choi emchoi@dgu.ac.kr Contents l StarUML 개요 l StarUML 소개및특징 l 주요기능 l StarUML 화면소개 l StarUML 설치 l StarUML 다운 & 설치하기 l 연습 l 사용사례다이어그램그리기 l 클래스다이어그램그리기 l 순서다이어그램그리기 2

More information

파워포인트

파워포인트 S O F T WA R E V E R I F I CAT I O N Junit & Eclipse 및빌드환경 TEAM 1 컴퓨터공학부 201011314 김민재 201011356 이종찬 201011376 한지승 201111329 강성길 2015.03.18 I N D E X 1 Purpose & CI 2 Eclipse 3 JUnit 4 Build Environment

More information

블로그_별책부록

블로그_별책부록 Mac Windows http //java sun com/javase/downloads Java SE Development Kit JDK 1 Windows cmd C:\>java -version java version "1.6.0_XX" Java(TM) SE Runtime Environment (build 1.6.0_XX-b03) Java HotSpot(TM)

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

슬라이드 1

슬라이드 1 Software Verification #3 정적분석도구, 단위 / 시스템테스트도구 Software Verification Team 4 강 정 모 송 상 연 신 승 화 1 Software Verification #3 정적분석도구, 단위 / 시스템테스트도구 CONTENTS 01 Overall Structure 02 Static analyzer SonarQube

More information

슬라이드 1

슬라이드 1 Tadpole for DB 1. 도구개요 2. 설치및실행 4. 활용예제 1. 도구개요 도구명 소개 Tadpole for DB Tools (sites.google.com/site/tadpolefordb/) 웹기반의데이터베이스를관리하는도구 Database 스키마및데이터관리 라이선스 LGPL (Lesser General Public License) 특징 주요기능

More information

문서의 제목 나눔고딕B, 54pt

문서의 제목 나눔고딕B, 54pt Software Verification Introduction to Software Testing & Static Analysis 2조이상혁왕홍강김태영 2016-03-18 1.1 Overview 2 / 87 Overview 1.1 Overview 3 / 87 Overview 1.2 Install JDK 4 / 87 Install JDK JDK 8 다운로드페이지

More information

슬라이드 1

슬라이드 1 Continuous Integration 변경될때마다소프트웨어를빌드하기 조영호카페PJT팀 2008.09.08 youngho.cho@nhncorp.com 목차 1. 빌드자동화 2. Maven 3. 빌드유형과메커니즘 4. 빌드시간을짧게만들기 1. 빌드자동화 빌드자동화 소프트웨어의개발은복잡할지몰라도소프트웨어의전달 (Delivery) 은버튼하나만누르면되는일이되어야합니다

More information

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse

More information

Interstage5 SOAP서비스 설정 가이드

Interstage5 SOAP서비스 설정 가이드 Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service

More information

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 개발환경구조및설치순서 JDK 설치 Eclipse 설치 안드로이드 SDK 설치 ADT(Androd Development Tools) 설치 AVD(Android Virtual Device) 생성 Hello Android! 2 Eclipse (IDE) JDK Android SDK with

More information

제목을 입력하세요.

제목을 입력하세요. 1. 4 1.1. SQLGate for Oracle? 4 1.2. 4 1.3. 5 1.4. 7 2. SQLGate for Oracle 9 2.1. 9 2.2. 10 2.3. 10 2.4. 13 3. SQLGate for Oracle 15 3.1. Connection 15 Connect 15 Multi Connect 17 Disconnect 18 3.2. Query

More information

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java(  혹은   에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을 안드로이드설치및첫번째예제 안드로이드설치 안드로이드개발킷은안드로이드개발자사이트 (http://developer.android.com/) 에서다운로드받을수있으며현재 1.5 버전으로윈도우즈, 맥 OS X( 인텔 ), 리눅스플랫폼패키지가링크되어져있다. 안드로이드개발킷을설치하기위해서는다음과같은시스템환경이갖추어져있어야한다. 플랫폼 Windows Mac Linux 지원환경

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

서현수

서현수 Introduction to TIZEN SDK UI Builder S-Core 서현수 2015.10.28 CONTENTS TIZEN APP 이란? TIZEN SDK UI Builder 소개 TIZEN APP 개발방법 UI Builder 기능 UI Builder 사용방법 실전, TIZEN APP 개발시작하기 마침 TIZEN APP? TIZEN APP 이란? Mobile,

More information

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일 Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae

More information

Introduction to CTIP

Introduction to CTIP Introduction to CTIP 김의섭 2019-03-08 목차 CI & CTIP CTIP 장단점 CTIP 구성도 Tools Team Projects 2 CI - Continuous Integration Continuous Integration 소프트웨어개발에서 Build(Test-CTIP) 의프로세스를지속적으로수행하는것. 지속적으로개발된 Unit 코드에대한

More information

소프트웨어 검증 및 설계

소프트웨어 검증 및 설계 1 : 2018-03-21 Junit & IntelliJ 및빌드환경 Software Verification T1 [2018SV][T1] 201311263 김민환 201311308 전세진 201411278 서희진 201411317 조민규 1 INDEX 1. 2. 3. IDE IntelliJ Unit Test JUnit Build Configuration & CI

More information

슬라이드 1

슬라이드 1 Delino EVM 용처음시작하기 - 프로젝트만들기 (85) Delfino EVM 처음시작하기앞서 이예제는타겟보드와개발홖경이반드시갖추어져있어야실습이가능합니다. 타겟보드 : Delfino EVM + TMS0F85 초소형모듈 개발소프트웨어 : Code Composer Studio 4 ( 이자료에서사용된버전은 v4..입니다. ) 하드웨어장비 : TI 정식 JTAG

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

PowerPoint Presentation

PowerPoint Presentation Mantis, SVN & CTIP Team 2 200910793 임민우 200911388 박미관 200911412 이영준 2014 Software Verification 2014.04.18 Index Mantis SVN CTIP 2 Mantis 3 Mantis_what is Mantis? Bug Tracking System 오픈소스 APM 환경기반 4 Mantis_Advantage

More information

Microsoft PowerPoint - jfeature장범석서재원박동현.pptm

Microsoft PowerPoint - jfeature장범석서재원박동현.pptm 소프트웨어검증 J F JFeature REQUIREMENT COVERAGE TOOL 장범석서재원박동현 순서 1. JFeature 소개 2. JFeature 사용 3. JFeature VS OSRMT 4. 프로젝트적용방안 1. JFeature 소개 1. JFeature 소개 JFeature Feature/requirement coverage tool 개발하는코드에해당하는요구사항에초점

More information

Google SVN 계정만들기 Site : 1. 사이트접속후프로젝트호스팅선택 2. 오픈소스프로젝트검색선택

Google SVN 계정만들기 Site :   1. 사이트접속후프로젝트호스팅선택 2. 오픈소스프로젝트검색선택 Google SVN 계정만들기 Site : http://code.google.com/ 1. 사이트접속후프로젝트호스팅선택 2. 오픈소스프로젝트검색선택 3. 새로운프로젝트생성을위해서는 Sign in to create a project 링크를클릭한다. 4. 로그인이안되있으면로그인을한다. 5. 다음화면에서프로젝트관련정보를입력한뒤생성한다. 주의 : 1. Project

More information

4S 1차년도 평가 발표자료

4S 1차년도 평가 발표자료 모바일 S/W 프로그래밍 안드로이드개발환경설치 2012.09.05. 오병우 모바일공학과 JDK (Java Development Kit) SE (Standard Edition) 설치순서 Eclipse ADT (Android Development Tool) Plug-in Android SDK (Software Development Kit) SDK Components

More information

DE1-SoC Board

DE1-SoC Board 실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically

More information

Business Agility () Dynamic ebusiness, RTE (Real-Time Enterprise) IT Web Services c c WE-SDS (Web Services Enabled SDS) SDS SDS Service-riented Architecture Web Services ( ) ( ) ( ) / c IT / Service- Service-

More information

슬라이드 1

슬라이드 1 TortoiseSVN 1. 도구개요 2. 설치및실행 3. 주요기능 4. 활용예제 1. 도구개요 1.1 도구정보요약 도구명 Tortoise SVN (http://tortoisesvn.net) 라이선스 GNU GPL v2.0 소개 Subversion 를통해서소스버전관리를할수있게하는클라이언트도구 특징 Windows Explorer 에서곧바로 Subversion 를사용하여버전컨트롤가능

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

문서의 제목 나눔명조R, 40pt

문서의 제목  나눔명조R, 40pt SOFTWARE VERIFICATION JUnit & IntelliJ IDEA 및빌드환경 TEAM _5 201313250 서지혁 201214262 라가영 2016. 03. 18 목차 1. CI 2. IntelliJ IDEA 3. JUnit 4. Build Enviroment 1. CI What is CI? 프로젝트에참여주인개발자들의결과물을지속적으로통합하고,

More information

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

슬라이드 1

슬라이드 1 CCS v4 사용자안내서 CCSv4 사용자용예제따라하기안내 0. CCS v4.x 사용자 - 준비사항 예제에사용된 CCS 버전은 V4..3 버전이며, CCS 버전에따라메뉴화면이조금다를수있습니다. 예제실습전준비하기 처음시작하기예제모음집 CD 를 PC 의 CD-ROM 드라이브에삽입합니다. 아래안내에따라, 예제소스와헤더파일들을 PC 에설치합니다. CD 드라이브 \SW\TIDCS\TIDCS_DSP80x.exe

More information

슬라이드 1

슬라이드 1 Qt Creator 1. 도구개요 2. 설치및실행 3. 주요기능 4. 활용예제 1. 도구개요 도구명 소개 Qt Creator (http://qt-project.org/wiki/category:tools::qtcreator) 라이선스 LGPL v2.1 GUI 프로그램을쉽게만들수있는 Cross-platform 프레임워크인 Qt 를통해애플리케이션을개발할수있게해주는

More information

슬라이드 1

슬라이드 1 NeoDeveloper 설치가이드 차례 1. 환경 3 2. 설치 3 2.1 웹서버설치 3 Tomcat 7 3 JDK 1.6 3 2.2 NeoDeveloper 설치 3 Neo Developer 서버구성 3 Demo용 User Application 구성 4 Neo Developer 서버 Data File 4 Client 개발 Tool 설치 4 3. 설정 5 3.1

More information

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V Mobile Service > IAP > Android SDK IAP SDK TOAST SDK. IAP SDK. Android Studio IDE 2.3.3 Android SDK Version 2.3.3 (API Level 10). Name Reference Version License okhttp http://square.github.io/okhttp/ 1.5.4

More information

ETL_project_best_practice1.ppt

ETL_project_best_practice1.ppt ETL ETL Data,., Data Warehouse DataData Warehouse ETL tool/system: ETL, ETL Process Data Warehouse Platform Database, Access Method Data Source Data Operational Data Near Real-Time Data Modeling Refresh/Replication

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 1 Tizen 실습예제 : Remote Key Framework 시스템소프트웨어특론 (2014 년 2 학기 ) Sungkyunkwan University Contents 2 Motivation and Concept Requirements Design Implementation Virtual Input Device Driver 제작 Tizen Service 개발절차

More information

chapter1,2.doc

chapter1,2.doc JavaServer Pages Version 08-alpha copyright2001 B l u e N o t e all rights reserved http://jspboolpaecom vesion08-alpha, UML (?) part1part2 Part1 part2 part1 JSP Chapter2 ( ) Part 1 chapter 1 JavaServer

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_20160320.pptx

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_20160320.pptx (보험TM) 소개서 2015.12 대표전화 : 070 ) 7405 1700 팩스 : 02 ) 6012 1784 홈 페이지 : http://www.itfact.co.kr 목 차 01. Framework 02. Application 03. 회사 소개 01. Framework 1) Architecture Server Framework Client Framework

More information

슬라이드 1

슬라이드 1 IntelliJ IDEA 1. 도구개요 2. 설치및실행 3. 주요기능 1. 도구개요 도구명 IntelliJ IDEA (http://www.jetbrains.com/idea/) 라이선스 Apache 2 소개 Java 용통합개발도구 요구사항을정의하고전체개발과정에서요구사항을추적할수있도록지원. 특징 Java IDE 환경제공 모바일및엔터프라이저개발을위한프레임워크제공

More information

Software Requirements Specification Template

Software Requirements Specification Template Maven Chapter3 Page 1 Table of Contents Table of Contents... 1 Revision History... 2 1. 내가꿈꾸는개발환경... 3 2. 메이븐설치및템플릿프로젝트생성... 3 3. 메이븐설정파일... 3 3.1 settings.xml 설정파일... 4 3.2 pom.xml 설정파일... 5 3.3 최상위 POM

More information

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아 LG U+ SMS/MMS 통합클라이언트 LG U+ SMS/MMS Client Simple Install Manual LG U+ SMS/MMS 통합클라이언트 - 1 - 간단설치매뉴얼 1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml

More information

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

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

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

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드] Google Map View 구현 학습목표 교육목표 Google Map View 구현 Google Map 지원 Emulator 생성 Google Map API Key 위도 / 경도구하기 위도 / 경도에따른 Google Map View 구현 Zoom Controller 구현 Google Map View (1) () Google g Map View 기능 Google

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

Microsoft PowerPoint - 2번째발표(최종).pptx

Microsoft PowerPoint - 2번째발표(최종).pptx Eclipse Subclipse (Team Presentation #2) 3조 Software Verification ( 소프트웨어검증 ) Team members : 200714170 모진종 200714173 심상문 200714179 황규원 Contents Subversion 과 Subclipse 정의 Subversion 동작과실행 Subversion 장점

More information

Software Verification Team 오준 임국현 주영진 김슬기

Software Verification Team 오준 임국현 주영진 김슬기 Software Verification Team 2 200611490 오준 201011358 임국현 200913988 주영진 201011318 김슬기 Contents CTIP Mantis Additional info Q&A CTIP Continuous Test & Integration Platform CI 개념을바탕으로소스검토 ( 테스트및정적분석 ), 빌드,

More information

Cloud Friendly System Architecture

Cloud Friendly System Architecture -Service Clients Administrator 1. -Service 구성도 : ( 좌측참고 ) LB(LoadBlancer) 2. -Service 개요 ucloud Virtual Router F/W Monitoring 개념 특징 적용가능분야 Server, WAS, DB 로구성되어 web service 를클라우드환경에서제공하기위한 service architecture

More information

JUNIT 실습및발표

JUNIT 실습및발표 JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected

More information

Introduction to Junit, Eclipse, Build Environment

Introduction to  Junit, Eclipse, Build Environment Introduction to Mantis, SVN & CTIP 200611494 원스타 200810047 김성원 200811466 허태경 Index 1. CTIP 1. Junit 연동및 Mail 보고 2. SVN 3. Mantis 1. Source Integration 4. Trouble Shooting 1. CTIP Continuous Test & Integration

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

JDK이클립스

JDK이클립스 JDK 와이클립스설치 A. JDK 다운로드, 설치및환경설정 지금부터 JDK를다운로드받아설치하고 JDK를윈도우에서활용할수있도록환경을설정하는전과정을소개한다. 다운로드 www.oracle.com 사이트에접속하여 Downloads 메뉴를선택한후 [ 그림 1] 과같이 "Java for Developers" 를클릭한다. [ 그림 1] www.oracle.com 사이트

More information

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer Domino, Portal & Workplace WPLC FTSS Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer ? Lotus Notes Clients

More information

No Slide Title

No Slide Title J2EE J2EE(Java 2 Enterprise Edition) (Web Services) :,, SOAP: Simple Object Access Protocol WSDL: Web Service Description Language UDDI: Universal Discovery, Description & Integration 4. (XML Protocol

More information

슬라이드 1

슬라이드 1 Jenkins 1. 도구개요 2. 설치및실행 3. 주요기능 1. 도구개요 1.1 도구정보요약 도구명 Jenkins (http://jenkins-ci.org/) 라이선스 MIT License 소개 CI ( 연속적통합 ) 도구 빌드, 배포등반복되는작업을모니터링하는도구. 특징 쉬운설치및웹기반으로된쉬운 UI 제공 여러 project 동시 Build 제공 다양한언어

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

DocsPin_Korean.pages

DocsPin_Korean.pages Unity Localize Script Service, Page 1 Unity Localize Script Service Introduction Application Game. Unity. Google Drive Unity.. Application Game. -? ( ) -? -?.. 준비사항 Google Drive. Google Drive.,.. - Google

More information

Software Requirements Specification Template

Software Requirements Specification Template Maven Chapter4 Page 1 Table of Contents Table of Contents... 1 Revision History... 2 1. 내가꿈꾸는개발환경... 3 2. 메이븐설치및템플릿프로젝트생성... 3 3. 메이븐설정파일... 3 4. 메이븐라이프사이클 lifecycle... 3 4.1 메이븐의라이프사이클과페이즈... 4 4.2 메이븐페이즈와플러그인...

More information

슬라이드 1

슬라이드 1 EGit 1. 도구개요 2. 설치및실행 3. 주요기능 4. 활용예제 1. 도구개요 1.1 도구정보요약 도구명소개특징주요기능 EGit (http://www.eclipse.org/egit/) Eclipse 용 Git 플러그인 라이선스 Eclipse Public License v1.0 Eclipse IDE 내에서 DVCS(Distributed Version Control

More information

슬라이드 1

슬라이드 1 Visual 2008 과신속한애플리케이션 개발 Smart Client 정병찬 ( 주 ) 프리엠컨설팅개발팀장 johnharu@solutionbuilder.co.kr http://www.solutionbuilder.co.kr 목차 Visual Studio 2008 소개 닷넷프레임워크 3.5 소개 Language Integrated Query (LINQ) 어플리케이션개발홖경

More information

Microsoft Word - Armjtag_문서1.doc

Microsoft Word - Armjtag_문서1.doc ARM JTAG (wiggler 호환 ) 사용방법 ( IAR EWARM 에서 ARM-JTAG 로 Debugging 하기 ) Test Board : AT91SAM7S256 IAR EWARM : Kickstart for ARM ARM-JTAG : ver 1.0 ( 씨링크테크 ) 1. IAR EWARM (Kickstart for ARM) 설치 2. Macraigor

More information

J2EE & Web Services iSeminar

J2EE & Web Services iSeminar 9iAS :, 2002 8 21 OC4J Oracle J2EE (ECperf) JDeveloper : OLTP : Oracle : SMS (Short Message Service) Collaboration Suite Platform Email Developer Suite Portal Java BI XML Forms Reports Collaboration Suite

More information

품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ]

품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ] 품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ] 2014. 10. 목 차 I. Stack 통합테스트개요 1 1. 목적 1 II. 테스트대상소개 2 1. The Bug Genie 소개 2 2. The Bug Genie 주요기능 3 3. The Bug Genie 시스템요구사항및주의사항 5 III. Stack 통합테스트 7 1. 테스트환경

More information

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id=entitymanagerfactory class=org.springframework.orm.jpa.localentitymanagerfactorybean p:persistenceunitname= JPA 와 Hibernate - 스프링의 JDBC 대신에 JPA를이용한 DB 데이터검색작업 - JPA(Java Persistence API) 는자바의 O/R 매핑에대한표준지침이며, 이지침에따라설계된소프트웨어를 O/R 매핑프레임워크 라고한다. - O/R 매핑 : 객체지향개념인자바와관계개념인 DB 테이블간에상호대응을시켜준다. 즉, 객체지향언어의인스턴스와관계데이터베이스의레코드를상호대응시킨다.

More information

Portal_9iAS.ppt [읽기 전용]

Portal_9iAS.ppt [읽기 전용] Application Server iplatform Oracle9 A P P L I C A T I O N S E R V E R i Oracle9i Application Server e-business Portal Client Database Server e-business Portals B2C, B2B, B2E, WebsiteX B2Me GUI ID B2C

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

소프트웨어개발방법론

소프트웨어개발방법론 사용사례 (Use Case) Objectives 2 소개? (story) vs. 3 UC 와 UP 산출물과의관계 Sample UP Artifact Relationships Domain Model Business Modeling date... Sale 1 1..* Sales... LineItem... quantity Use-Case Model objects,

More information

교육2 ? 그림

교육2 ? 그림 Interstage 5 Apworks EJB Application Internet Revision History Edition Date Author Reviewed by Remarks 1 2002/10/11 2 2003/05/19 3 2003/06/18 EJB 4 2003/09/25 Apworks5.1 [ Stateless Session Bean ] ApworksJava,

More information

Orcad Capture 9.x

Orcad Capture 9.x OrCAD Capture Workbook (Ver 10.xx) 0 Capture 1 2 3 Capture for window 4.opj ( OrCAD Project file) Design file Programe link file..dsn (OrCAD Design file) Design file..olb (OrCAD Library file) file..upd

More information

문서의 제목 나눔고딕B, 54pt

문서의 제목 나눔고딕B, 54pt 1. 도구개요 2. 기능요약 3. 도구실행환경 4. 도구설치방법 5. 도구기능소개 6. 도구활용예제 7. FQA 8. 도구평가 9. 용어집 1. 도구개요 소개 Continuous Integration ( 지속적통합 ) 을위한 Build 지원도구 주요기능 쉬운설치및웹기반으로된쉬운 UI 제공 여러 project 동시 Build 제공 카테고리 세부카테고리배포관리

More information

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E > 6. ASP.NET ASP.NET 소개 ASP.NET 페이지및응용프로그램구조 Server Controls 데이터베이스와연동 8 장. 데이터베이스응용개발 (Page 20) 6.1 ASP.NET 소개 ASP.NET 동적웹응용프로그램을개발하기위한 MS 의웹기술 현재 ASP.NET 4.5까지출시.Net Framework 4.5 에포함 Visual Studio 2012

More information

UML

UML Introduction to UML Team. 5 2014/03/14 원스타 200611494 김성원 200810047 허태경 200811466 - Index - 1. UML이란? - 3 2. UML Diagram - 4 3. UML 표기법 - 17 4. GRAPPLE에 따른 UML 작성 과정 - 21 5. UML Tool Star UML - 32 6. 참조문헌

More information

Software Requirements Specification Template

Software Requirements Specification Template Maven Chapter2 Page 1 Table of Contents Table of Contents... 1 Revision History... 2 1. 내가꿈꾸는개발환경... 3 2. 메이븐설치및템플릿프로젝트생성... 3 2.1 메이븐설치... 4 2.2 메이븐기반의템플릿프로젝트생성... 5 2.3 메이븐기본명령어... 8 2.4 위키북템플릿프로젝트생성...10

More information

슬라이드 1

슬라이드 1 SW 개발도구연계 Git - Selenium - Maven - Jenkins 목차 Intro Git Selenium Maven Jenkins Intro 연계도구 분산형형상관리시스템 가벼운브랜치를활용한개발생산성향상 GitHub 등다양한웹기반저장소서비스 웹브라우저상의테스팅자동화 Selenium IDE 를통한브라우저액션녹화 다양한언어및테스팅프레임워크지원 자바기반의빌드자동화

More information

Web Application을 구성하는 패턴과 Spring ROO의 사례

Web Application을 구성하는 패턴과 Spring ROO의 사례 Spring Roo 와함께하는 쾌속웹개발 정상혁, KSUG (www.ksug.org) 목차 1. Tool 2. Demo 3. Application 1. Tool 1.1 개요 1.2 Command line shell 1.3 Round-trip 1.4 익숙한도우미들 1.1 개요 Text Based RAD Tool for Java Real Object Oriented의첫글자들

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager are trademarks or registered trademarks of Ari System, Inc. 1 Table of Contents Chapter1

More information

Secure Programming Lecture1 : Introduction

Secure Programming Lecture1 : Introduction Malware and Vulnerability Analysis Lecture3-2 Malware Analysis #3-2 Agenda 안드로이드악성코드분석 악성코드분석 안드로이드악성코드정적분석 APK 추출 #1 adb 명령 안드로이드에설치된패키지리스트추출 adb shell pm list packages v0nui-macbook-pro-2:lecture3 v0n$

More information

JUnit & Eclipse

JUnit & Eclipse JUnit & Eclipse 201260053 Abbos Shomurodov 201260058 채숭흠 TEAM 1 200711437 성하진 200511355 정용구 200911436 조성완 Contents 1. Software Testing Theory 2. Eclipse Plug-in 3. JUnit Practice Software Testing Theory

More information

Open Cloud Engine Open Source Big Data Platform Flamingo Project Open Cloud Engine Flamingo Project Leader 김병곤

Open Cloud Engine Open Source Big Data Platform Flamingo Project Open Cloud Engine Flamingo Project Leader 김병곤 Open Cloud Engine Open Source Big Data Platform Flamingo Project Open Cloud Engine Flamingo Project Leader 김병곤 (byounggon.kim@opence.org) 빅데이터분석및서비스플랫폼 모바일 Browser 인포메이션카탈로그 Search 인포메이션유형 보안등급 생성주기 형식

More information