임베디드시스템의개발환경구축사례

Similar documents
슬라이드 1

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

Introduction to CTIP

PowerPoint 프레젠테이션

PowerPoint Presentation

슬라이드 1

PowerPoint Presentation

슬라이드 1

슬라이드 1

PowerPoint Presentation

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

소프트웨어 검증 및 설계

Angry MOMO Presentation

Angry MOMO Presentation

Introduction to Junit, Eclipse, Build Environment

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

PowerPoint 프레젠테이션

슬라이드 1

블로그_별책부록

슬라이드 1

Windows 8에서 BioStar 1 설치하기

서현수

github_introduction.key

목차 Ⅰ. 개요 Ⅱ. 추진배경 Ⅲ. 개발환경구축 ( 도구연계 ) Ⅳ. 도구연계성과 page 2

슬라이드 1

PowerPoint 프레젠테이션

파워포인트


12 성능모니터링 allmon Apache License v 성능모니터링 nmon GPL v3 분산되어있는시스템에대한자원상태체크, 사용현황, 성능등을수집

Apache Ivy

Slide 1

ISP and CodeVisionAVR C Compiler.hwp

개발및운영 Eclipse 를이용한 ANT 활용방법

품질검증분야공개 SW 솔루션목록 ( ) 순번분류솔루션명라이선스기술지원홈페이지제품개요 1 BTS Bugzilla MPL community 웹기반의 bug tracking 및테스트도구 2 BTS Fossil 2-c

PowerPoint 프레젠테이션

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

PowerPoint 프레젠테이션

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

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

임베디드디바이스개발시커널로리눅스를많이사용하는데, 그때그커널과함께리눅스명령어도필요하게된다. 모든명령어를지원하기위해서는다수의개별적인패키지들이필요하다. 한프로젝트에서그많은명령어를한번에지원해준다면자원제약적인임베디드환경에서공간효율성이극대화될것이다. 상대적으로경량화된리눅스명령어세

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

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

슬라이드 1

슬라이드 1

[Brochure] KOR_TunA

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

歯MW-1000AP_Manual_Kor_HJS.PDF

2. 기능요약 Parallel 빌드지원등빌드자동화기능을지원하며다양한도구 ( 형상관리도구, Issue Tracker, Test 도구, IDE) 와의연동을지원함. 주요기능 Parallel 빌드지원 ( 다수프로젝트동시빌드 ) 분산빌드웹기반관리 알림형상관리도구지원

git CLI 로간단하게조작하기! by 윤선지

미친놈과 정상인

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

슬라이드 1

목차 I. CI 정의 II. CI 필요성 III. CI 기능및특징 IV. CI 제품 V. Hudson VI. 적용방안 VII. 결론 - 1 -

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

PowerPoint 프레젠테이션

슬라이드 1

Microsoft Word - src.doc

Çмú´ëȸ¿Ï¼º

2012³â8¿ùÈ£˙ȸš

2 PX-8000과 RM-8000/LM-8000등의 관련 제품은 시스템의 간편한 설치와 쉬운 운영에 대한 고급 기술을 제공합니다. 또한 뛰어난 확장성으로 사용자가 요구하는 시스템을 손쉽게 구현할 수 있습니다. 메인컨트롤러인 PX-8000의 BGM입력소스를 8개의 로컬지

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

Spring Boot/JDBC JdbcTemplate/CRUD 예제

슬라이드 1

JFeature & ANT Tools Summary

<B1D4B0DDBCAD202D20C4DAB5E520B1E2B9DD2E687770>

PowerPoint 프레젠테이션

슬라이드 1

Atlassian Solution Conference Seoul 2017

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

파워포인트

리눅스기초

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

Ä¡¿ì³»ÁöÃÖÁ¾

SAS9.2_SAS_Enterprise_Miner_install_guide_single_user_v2

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

Index

SANsymphony-V

SIGIL 완벽입문

PowerPoint 프레젠테이션

놀이동산미아찾기시스템

第 1 節 組 織 11 第 1 章 檢 察 의 組 織 人 事 制 度 등 第 1 項 大 檢 察 廳 第 1 節 組 대검찰청은 대법원에 대응하여 수도인 서울에 위치 한다(검찰청법 제2조,제3조,대검찰청의 위치와 각급 검찰청의명칭및위치에관한규정 제2조). 대검찰청에 검찰총장,대

Windows 10 General Announcement v1.0-KO

PPT 문서 가로양식

슬라이드 1

KARAAUTO_4¿ù.qxd-ÀÌÆå.ps, page Normalize

PowerPoint Presentation

미디어 및 엔터테인먼트 업계를 위한 Adobe Experience Manager Mobile

PowerPoint 프레젠테이션

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

슬라이드 1

2. 기능요약 자바프로그래밍언어에서사용하는자동화된소프트웨어빌드도구 주요기능 IDE 통합및도구지원 원격코드 Build 자동화 지원여부 대부분의도구지원 (Eclipse, NetBeans 등 ) 지원 (FTP, SCP, SFTP, SVN) 자동화 Build 중 Unit Te

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

52 l /08

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

Microsoft PowerPoint - Chapter_02-1_DevEnv.pptx

공개 SW 기술지원센터

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

MySQL-Ch05

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Transcription:

임베디드시스템의개발환경구축사례 2012. 12.

목차 Ⅰ. 개요 Ⅱ. 추진배경 Ⅲ. 개발환경구축 ( 도구연계 ) Ⅳ. 도구연계성과 page 2

Ⅰ. 개요 : 1. 조사대상소개 H사 I프로젝트개요 안드로이드플랫폼기반자동차인포테인먼트 (information+entertainment) 시스템개발 도메인 : 자동차 개발형태 : 임베디드시스템개발 개발언어 : Java 개발인력 : 약 80 명 개발기간 : 약 24 개월 프로젝트상세 Key Features 자동차 Audio, Video, Navigation을통합한종합인포테인먼트환경지원 안드로이드플랫폼기반의스마트폰어플리케이션을차량내부시스템을통해다운로드및실행가능 page 3

Ⅱ. 추진배경 : 1. 기존개발환경 개발및프로젝트관리 기존 C 언어계열의프로그래밍언어를사용한개발에서안드로이드플랫폼기반 Java 언어로개발플랫폼및프로그래밍언어변경 내부조직구성원인력부족 다수의협력업체직원상주및협업 이슈및결함관리 이슈및결함등록의창구가다양하여이슈및결함의분석 ( 중복여부, 영향력분석 ) 에많은공수할애 코드리뷰 협력업체직원이개발한일부분의코드에대해서만내부구성원들이형식적으로코드리뷰수행 형상관리및통합빌드 별도의시스템없이공유서버를두어개발된소스코드에대해공유만하는형태 빌드담당자가주기적으로공유서버의소스코드들에대하여통합빌드를수행하는형태 page 4

Ⅱ. 추진배경 : 2. 문제점분석 1. 통합이슈및결함관리미흡 다양한이슈및결함수집창구존재 중복된이슈및결함에대한재확인공수발생 각개발자별별도문서를이용하여이슈및결함관리 이슈및결함진척및해결여부확인이어려움 팀수준에서해결되어야할이슈및결함에대한공유부족기존이슈및결함관리방식 이슈 List page 5 개발자 이슈및결함리스트가전화, 이메일, 시스템등여러경로를통해개발자에게전달 이슈및결함의분석에많은공수사용 개발자각각이슈및결함관리를수행해이슈및결함상태확인어려움 이슈및결함에대한공유부족

Ⅱ. 추진배경 : 2. 문제점분석, 계속 2. 개발산출물에대한검증부족 내부조직구성원수에비해상당히많은수의협력업체직원이상주하여개발하는형태 협력업체직원이개발한코드에대한검증활동미흡 협력업체개발코드에대한내부조직구성원의코드리뷰활동수행이요구되나해당활동에상당히많은공수투입필요 기존협력업체산출물검증방식 협력업체 A 개발및저장 소스코드공유서버 조직구성원 ( 내부직원 ) 협력업체 B 개발및저장 일부산출물에대해서만형식적리뷰수행 협력업체 C 개발및저장 내부직원, 협력업체직원구분없이소스코드개발후직접공유서버에업로드 협력업체개발산출물에대한검증수행에있어내부직원의업무로드증가 프로젝트소스코드에대한보안불투명 개발산출물의품질저하 page 6

Ⅱ. 추진배경 : 2. 문제점분석, 계속 3. 형상관리시스템및통합빌드환경부재 기존프로젝트에서는공유서버의형태로소스코드저장및공유 보안이슈및관리편의적인측면에서신규형상관리시스템도입요구증대 통합빌드의경우전담담당자를두어주기적으로소스코드통합및빌드수행 담당자의업무에대한불만사항증가 통합빌드환경의도입요구증대 기존형상관리및통합빌드방식 소스코드공유서버 개발및저장 주기적다운로드후통합빌드수행 개발자 통합담당자 프로젝트소스코드에대한보안이슈증대 잘못된버전의소스코드가릴리즈되는경우발생 소스코드의변경히스토리정보누락 통합담당자의업무에대한불만사항증가 ( 반복되는수작업에많은공수투입 ) page 7

Ⅱ. 추진배경 : 3. 개선방향 1. 통합이슈및결함관리미흡 2. 개발산출물에대한검증부족 3. 형상관리시스템및통합빌드환경부재 통합이슈및결함관리, 코드리뷰, 형상관리및통합빌드를위한 개발환경구축필요 page 8

Ⅲ. 개발환경구축 : 1. 구축시고려사항 ( 구축제약사항 ) 개발환경구축목적확인 신규프로젝트의특성에맞는형상관리, 이슈및결함관리, 통합빌드, 코드리뷰를아울러수행할수있는통합개발환경필요 자동화대상기능선정 형상관리시스템및이슈관리시스템신규구축 형상관리시스템에서관리중인소스코드들을자동으로빌드하는환경구축 개발된코드에대한검증활동을손쉽게수행할수있는코드리뷰시스템구축 개별도구선정 선정조건 1: 개발언어에특화된도구선정 - Java 선정조건 2: 오픈소스도구로만구성 page 9

Ⅲ. 개발환경구축 : 2. 통합개발환경구성및개발흐름도 개발자 1 2 3 소스코드 Repository (with GIT) 7 8 이슈관리시스템 (with Mantis) 6 빌드서버 (with Jenkins+ANT) 배포산출물 4 5 이슈 List 코드리뷰시스템 (with Gerrit) 모듈관리자 (Code Reviewer) 1 이슈등록 ( 고객 / 내부테스트결과, 내부개발이슈등 ) 2 이슈할당 3 소스코드체크아웃 ( 업데이트 ) 4 소스코드체크인 ( 체크인보류상태 ) 5 소스코드검토 6 ( 검토완료된 ) 소스코드자동체크인 7 소스코드자동체크아웃 ( 업데이트 ) 8 정해진시간에자동빌드수행 page 10

Ⅲ. 개발환경구축 : 3. 개별도구상세 (Mantis) Mantis: 웹기반의이슈관리를위한오픈소스도구 1. Mantis 개요 Mantis 개요 웹기반의이슈관리를위한오픈소스도구 (GNU GPL 라이선스 ) PHP 스크립트언어를사용하여개발됨 MySQL, MS SQL, PostgreSQL 과같은다양한 DB 와연동하여작동 2. Mantis 장점 각각의이슈 ( 작업 ) 와전체프로젝트이슈에대한진행상태도식화가능 이슈추적및관리, 이슈우선순위설정, 프로젝트별이슈관리, 타포멧 ( 엑셀등 ) 으로의출력지원 이슈알림메일서비스지원 스마트폰서비스 ( 유료 ) 지원 * http://www.mantisbt.org 담당자변경 ( 개발담당자 ) Mantis 이슈상태관리프로세스예시 이슈등록 ( 고객, 내부평가팀, 내부개발팀 ) 새로운이슈 (New) 할당된이슈 (Assigned) 이슈해결 ( 개발담당자 ) 이슈해결내용확인 ( 설계 PM) 이슈해결확인 (SQA) 해결된이슈 (Resolved) 검증된이슈 (Verified) 폐쇄된이슈 (Closed) 이슈할당 ( 설계 PM) 이슈재할당 ( 설계 PM) 버그정보부족 ( 개발담당자 ) 미개선이슈 (SQA) 미개선이슈 ( 설계 PM) 정보부족 (Feedback) page 11

Ⅲ. 개발환경구축 : 3. 개별도구상세 (GIT) GIT: 소프트웨어형상관리를위한분산형버전관리시스템 1. GIT 개요 GIT 개요 소프트웨어형상관리를위해분산형버전관리개념을사용한오픈소스도구 (GNU GPL 라이선스 ) GIT 분산형버전관리시스템개념 Remote Repository 2. GIT 장점 타형상관리시스템에비해전반적인퍼포먼스향상 서버접근없이로컬에서대부분의작업가능 손쉬운 Branch 및 Merge 가능 변경히스토리관리를통한작업복구가능 Pull Fetch Push Local Repository Commit Index (cache) Checkout HEAD Add Working directory * http://git-scm.com page 12

Ⅲ. 개발환경구축 : 3. 개별도구상세 (Gerrit) Gerrit: 웹기반의코드리뷰를위한오픈소스도구 Gerrit 개요 Gerrit 을활용한코드리뷰 1. Gerrit 개요 Git 전용웹기반소스코드리뷰도구 구글에서안드로이드플랫폼개발시코드리뷰를위해개발 개발자가 Git 형상관리시스템에 commit 을수행할경우, 수정된코드내용이소스코드 Repository 에바로반영되지않고코드리뷰어의코드리뷰를통과해야만실제로소스코드 Repository 에반영되는방식 2. Gerrit 장점 자체소스코드비교기능을지원하여변경된소스코드부분에대한확인가능 코드리뷰어가해당코드에대한검토의견기술가능 소스코드작성자가코드리뷰어의검토의견을손쉽게확인가능 개발자 코드리뷰어검토의견확인및반영 코드수정후 Commit 요청 코드리뷰시스템 (with Gerrit) 모듈관리자 (Code Reviewer) N 승인완료? 개발자등록코드에대한리뷰수행 Y 반영 소스코드 Repository (with GIT) * http://code.google.com/p/gerrit page 13

Ⅲ. 개발환경구축 : 3. 개별도구상세 (Jenkins) Jenkins: 프로젝트의빌드스케줄링및빌드내역관리를위한오픈소스 CI 도구 Jenkins 개요 Jenkins Dash Board 1. Jenkins 개요 Continuous Integration 환경세팅을지원하는오픈소스도구 프로젝트의빌드스케줄링및빌드내역관리수행 소스코드의변경또는스케줄링에의해자동빌드요청수행가능 관리화면을통한명시적인요청에의해수행가능 2. Jenkins 장점 대쉬보드를통해그래피컬하게빌드결과및이력관리가능 형상관리시스템, 빌드스크립트도구, 테스트지원도구등의연동을 Plug-in 형태로지원하여손쉬운 Continuous Integration 환경세팅지원 사용자관리, 빌드내역관리, 빌드스케줄링관리, 작업결과관리등지원 * http://jenkins-ci.org page 14

Ⅲ. 개발환경구축 : 3. 개별도구상세 (Ant) ANT: 지속적인프로젝트빌드및통합을위한자바기반의자동빌드도구 Ant 개요 샘플빌드파일 (build.xml) 1. Ant 개요 자바기반의자동빌드도구 XML 형식으로빌드스크립트파일작성 <project name= sample" default="compile"> <property name="outputdir" value="/ant/output/sample1" /> 2. Ant 장점 대부분의자바 IDE 에서지원 (de facto standard) 대부분의테스트도구 (Junit, Caltus 등 ) 에서지원 Core 태스크이외에도빌드파일작성에쉽게사용될수있는많은 Optional 태스크제공 뛰어난확장성제공 3. Ant 빌드파일구조 (XML 형식 ) <project>, <property>, <target>, <task> 등의항목으로구성 다양한 <task> 항목기본제공 필요에따라 <task> 항목추가확장가능 http://ant.apache.org/manual/index.html 참조 <target name= init" > <tstamp/> <mkdir dir="${outputdir}/classes" /> </target> <target name="compile" depends= init" > <javac srcdir="./xptoolkit" destdir="${outputdir}/classes" /> </target> </project> * http://ant.apache.org page 15

Ⅳ. 도구연계성과 주요성과 [ 도입전 ] [ 도입후 ] 1. 통합이슈및결함관리미흡 이슈및결함분석에많은공수투입 이슈및결함상태확인어려움 이슈및결함에대한공유부족 2. 개발산출물에대한검증부족 협력업체개발산출물에대한검증에대해내부직원업무로드증가 개발산출물품질저하 1. 통합이슈및결함관리시스템구축 이슈및결함등록창구일원화를통해이슈및결함분석 ( 중복이슈, 영향력파악 ) 이이전에비해적은공수로수행가능 이슈및결함의상태확인이수월해짐으로써프로젝트일정관리에도움을줌 이슈및결함에대한팀차원공유를통해함께해결해야할이슈및결함에대한다각적협의및해결이가능해짐 2. 코드리뷰시스템구축 협력업체개발자들이작성및수정한소스코드에대한내부구성원들의리뷰수행이수월해짐 내부구성원의업무로드감소로인해다른품질활동에추가공수투입이가능해지면서소스코드를포함한전반적인개발산출물품질이향상됨 3. 형상관리시스템및통합빌드환경부재 프로젝트소스코드에대한보안이슈증대 잘못된버전의소스코드가릴리즈되는경우발생 소스코드의변경히스토리정보누락 통합담당자의업무에대한불만사항증가 ( 반복되는수작업에많은공수투입 ) 3. 형상관리시스템및통합빌드환경구축 형상관리시스템의권한관리기능을활용하여프로젝트소스코드에대한보안수준이강화됨 소스코드버전관리및변경히스토리관리가수월해짐 통합담당자의업무로드감소및통합시간단축 page 16

END of DOCUMENT