자동 소프트웨어 프로세스 구축을 위한 공개 소프트웨어 툴 체인 연구

Slides:



Advertisements
Similar presentations
팀 명 : 커 피 팀 원 : 정수현 외 4 명 ( 다른 학교분들 ). 목차목차 결과물 시현 및 설명 DB 설계 서비스 흐름도 개발 환경 개발 개요 개발 과정의 기술 개발 동기.
Advertisements

작성자조성웅 작성일자 기본환경 1. Java : Eclipse : Tomcat : 6.0 이상 4. DB : MySQL File System : DFS 6. Framework - Spring : JPA 및 CXF.
지리산 둘레길지리산 둘레길 사천 비토섬 (30m) 광양 매화마을 (40m) 사천 와룡산 철쭉 (1h) 사천 한려수도 (1h) 순천 순천만 갈대밭 (1h) 순천 삼보사찰 송광사 (1h20m) 구례 산수유마을 (1h30m) 산청 웅석계곡 (1h30m) 거제 외도 (1h50m)
© 2012 생능출판사 All rights reserved 매니페스트 파일 적재목록 ( 적하목록 )
1 ‘ 우리나라의 주요공업 ’ - 정도웅, 주민혁, 안수진, 백경민, 엄다운, 박경찬 -.
수유부의 약물복용 시 주의점 발표자 조기성. 모유 수유의 장점 모유 수유의 장점은 ? 위장관 질환 발생감소 영아 돌연사 발생감소 아토피 질환 발생감소 정서적 안정.
Page 1 Android Programming November 04 / 2009 S/W Junhyuk Jang.
Couple Tetris 제안서 맨땅에해딩 (GNU-A3) 06 안대웅, 06 박순응. CONTENTS 1. 프로젝트 정의 및 목적 2. 프로젝트 결과물의 개요 2.1. 프로젝트 결과물의 구조도 2.2. 프로젝트 결과물의 흐름도 2.3. 프로젝트 결과물의 그림 2.4.
미국의 미디어교육 신문방송학과 강진구 한인수 곽모란 이명현.
Linux Seminar #1 리눅스 이해하기.
JDBC 연결 Oracle.
프랜차이즈 본사 인트라넷 구축 제안서 제출처 : ㈜마세다린 제출사 : ㈜데이타캠프 제출일 :
자기소개 김지수 blog.naver.com/1merry1.
Redmine 사용법 Saeasoft 임광규.
공부할 내용 조상들이 살던 곳 자연과 잘 어울리는 한옥 지방에 따라 서로 다른 집의 모양 섬 지방의 집
오늘 뭐하(조) Software Engineering Team Project APP만들기 팀장 팀원 심중섭
사랑, 데이트와 성적 자율성 :데이트 성폭력!!! 성폭력예방교육 전문강사 / 여성학 전공 신 순 옥.
2012사회복지현장실습 고윤지.
퇴계와 율곡의 사회사상 비교 남 일 재 동서대학교 교수/ 정치학 박사 1. 퇴계 이황과 율곡 이이의 약전(略傳)
Safecode® 3.0 ㈜코드원 웹 애플리케이션 취약점 제거 및 관리 솔루션
A n d r o i d Android 2010 년 5월 19일 작성자 : 백 선 재.
501. 군인들의 세상 502. 민정 이양과 한일회담 이선용.
쌓지 말고 해소하자 이 주휘 이 진영 전 민석 전 혜림.
2015년 하반기 소방교육 자 유 전 공 학 부 (금) 안녕하십니까 자유전공학부 행정실 입니다.
Web Programming 강의 소개
손노리 / 서 관희 A Game Business Division of Plenus Entertainment
크로스 컴파일 환경 구축.
어서와 Java는 처음이지! 제1장 기초 사항 IT응용시스템공학과 김형진 교수.
Toad for SQL Server 제품 소개서 – 프로넷소프트㈜.
동호회 구축 제안서 인터넷전문가그룹 4biz.
제1강 안드로이드 특징과 개발환경 구축 안드로이드 앱 개발 강좌.
APM (Apache+PHP+MySQL)
소개: Unix란 무엇인가? 숙명여대 창병모 2009/09.
SPARCS 2012 boolgom 빨간 금광과 이슈 트래커
오픈소스 기반 소프트웨어 프로세스 자동화 개선 방안
가속도 감지센서를 이용한 안드로이드 게임 지도교수님 : 전진우 이동훈.
제3장 이클립스 사용하기.
Double O to the I to the A+ 문무활, 유용승, 홍민정
Socket & Plug 기반의 u-Banking Platform
Android를 이용한 Snake Game
PHP + Eclipse + Google Code를 이용한 개발환경
Android 개발환경 설치 및 Hello World
멀티미디어 신기술 자기 소개서 윤성필 멀티미디어 전공 자기 소개서.
XML XSLT.
SOAP 클라이언트 개발 Guide
JSP를 이용한 프로젝트관리 홈페이지 양진현 지 도 : 이형원 교수님.
Premiere의 개요 Adobe사에서 제작한 동영상 편집 소트프웨어로 비디오와 오디오 편집뿐만 아니라 애니매이션, 사진 및 그래픽 등을 동영상에 첨가하여 결합된 형태인 디지털 무비(Digital Movie)를 제작하는 프로그램 Premiere는 원래 매킨토시용으로 개발된.
고품질 소프트웨어를 위한 군인력 자원관리 개발 프로세스 가시화 구축 사례
요구사항 추적성을 위한 소프트웨어 프로세스 가시화 구축 자동화 (Automatic Construction of Software Process Visualization for Requirement Traceability) 홍익대학교 소프트웨어공학.
정치학원론 5주차 제 4장 정치체계론 행정학과 구경완, 김정은, 박하륜, 양민지, 이환규.
프로젝트 학습 -프로젝트의 운영- 초등교육학과B 정예은.
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
개인정보처리와 개인정보보호 2017년 2월.
패시브하우스 신안산대학교 l 건축과 l 박효동, 박창준, 지예림.
정치개혁의 가능성 논의 권력구조 개편을 통하여 본 -개헌을 통한 정부형태의 변화를 중심으로 [한국정치론] 윤성이 교수님
나는 땅에서 키는 작지만 하늘로부터 재는 키는 이 세상 어느 누구보다도 크다
운영체제의 종류 장승빈.
치료 레크레이션 프로그램 (지적 장애 대상) 과 목: 학 과: 학 번: 이 름: 제 출 일 자 담 당 교 수:
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
POS System(Point-Of-Sales System)
노년기 발달 장안대 행정법률과 세류반 정 오 손
정보 INFRA 구축 RF카드를 이용한 고객관리시스템 구축 에클라트소프트.
태국 문학 욜라다 왓짜니 싸란차나 팟차라와라이 끼따야펀 르앙다우 타니다.
계피(CINNAMON) MADE By 김소연 안미소 조은비.
주간 콜센터 운영현황 보고 주간 인입콜 동향 주간 주요 Focus 고객민원 (콜+게시판) 요청사항 금주 진행 사항 차주 계획
워밍업 실뭉치 전달게임.
Web Server Install.
USN기반의 원예 모니터링 시스템 임균섭.
음파성명학 최종욱.
Presentation transcript:

자동 소프트웨어 프로세스 구축을 위한 공개 소프트웨어 툴 체인 연구 A study on Open Software Tool-Chain for Automatic Software Process Construction 2017. 12. 22. 홍익대학교 소프트웨어공학 연구실 이진협 지도교수 : 김영철

목차 1 연구 배경 2 관련 연구 3 소프트웨어 프로세스 자동구축 툴 체인화 4 적용 사례 5 결론 및 향후 연구 목차는 다음과 같습니다 4 적용 사례 5 결론 및 향후 연구

1 연구 배경

연구 배경 ▶ 소프트웨어 프로세스 구축 자동화 필요성 - 기업에서 프로젝트 진행 중 소스코드 버전관리, 일정관리, 이슈해결 등 문제 - 이를 해결하기 위한 소프트웨어 프로세스 시스템 구축과 적용 필요 - 하지만, 도구 선택, 도구 설치 방법, 버전에 따른 호환성 문제 등으로 구축이 어려움 - 많은 시간과 노력 소모로 프로젝트 수행 시간/비용 낭비 기업에서 프로젝트 진행할 때 소스코드 버전관리와 일정관리, 이슈해결 등 다양한 문제에 부딪히게 됩니다. 이를 해결하기 위해서는 소프트웨어 프로세스 시스템 구축과 적용이 필요합니다. 하지만 도구 선택, 버전에 따른 호환성 문제 등으로 인해 구축이 어렵습니다. 또한 많은 시간과 노력이 소모되므로 프로젝트 수행 시간과 비용이 낭비됩니다. 저희 연구실에서 중소기업을 대상으로 컨설팅한 결과 한 회사를 예를 들면 이러한 프로세스를 구축하는데 일주일이 걸렸습니다. 따라서 소프트웨어 프로세스 구축을 자동화한다면, 비교적 쉽게 해결될 것이라 생각하였습니다.

연구 배경 – 개발 프로세스 시스템 구축 체인화 소스코드 자동 빌드도구 프로젝트 관리도구 이 외 도구들 버전관리 도구 따라서 본 논문에서는 이를 해결하기 위해 오픈소스인 … 등을 체인화 하였습니다. 소프트웨어 프로세스 구축 자동화를 통해 쉽게 구축하여 개발 성숙도를 높이고자 하였습니다. 추가적으로 문서 자동화를 위한 PAL, 잘못된 코드 패턴을 추출하기 위한 PMD, 소스코드 가시화를 위한 Zoom in/out 기능 추가하였습니다. Redmine, Jenkins, MySQL, Apache, PHP 등 체인화 소프트웨어 프로세스 구축 자동화를 통해 쉽게 구축하여 개발 성숙도를 높이고자 함 추가적으로 문서 자동화를 위한 PAL, 잘못된 코드 패턴을 추출하기 위한 PMD, 소스코드 가시화를 위한 Zoom in/out 기능 추가

2 관련 연구

관련 연구 - Redmine 웹 기반 오픈 소스 프로젝트 관리 도구 레드마인은 웹 기반 오픈소스 프로젝트 관리 도구로, 기본적으로 게시판 형태를 갖추고 있으며, 일감 관리, 저장소, 간트차트 등의 기능을 제공합니다. 또한 자유로운 커스터마이징과 플러그인을 통해 원하는 형태의 프로젝트 관리를 가능하게 합니다. 웹 기반 오픈 소스 프로젝트 관리 도구 프로젝트 관리, 요구사항 관리, 이슈/변경/테스트 관리 등의 기능을 제공 Customizing과 plug-in을 통해 원하는 형태의 프로젝트 관리 가능

관련 연구 - Jenkins 오픈 소스 지속적 통합 도구 1100개 이상의 플러그인 제공 젠킨스 또한 오픈소스로 지속적 통합 도구 입니다. 1100여개 이상의 플러그인을 제공합니다. 자동 빌드가 가능하고, 빌드 시 배치커맨드를 통해 특정 프로그램 실행이 가능합니다. 오픈 소스 지속적 통합 도구 1100개 이상의 플러그인 제공 빌드 시 batch command 수행 가능 -> 특정 프로그램 실행

관련 연구 - Subversion(SVN) & Subclipse 서브버전은 소스코드 버전 관리 도구 입니다. 서브클립스는 개발자가 이클립스 상에서 서브버전을 사용할 수 있도록 지원해 주는 플러그인 입니다. Update를 이용해 서브버전 서버에 저장된 소스코드를 불러와 개발자의 코드를 최신화하고, Commit을 통해 수정한 소스코드를 서버에 저장합니다. Subclipse 소스코드 버전 관리 Eclipse에서 Subversion을 사용할 수 있도록 지원

3 소프트웨어 프로세스 자동구축 툴 체인화

소프트웨어 프로세스 자동구축 툴 체인화 구축 자동화 프로세스 기존에는 레드마인 젠킨스 서브버전을 개별적으로 구축하였습니다. 위 그림과 같은 순서로 구축을 자동화하고, 추가적으로 PAL, PMD, Zoom in/out기능을 추가하였습니다.

소프트웨어 프로세스 자동구축 툴 체인화 실제 구축 과정 JDK Subclipse Subversion Setting 이 그림들은 실제 자동구축 과정을 나타낸 것 입니다. 프로그램을 실행하고 앞서 말씀 드린 프로세스대로 설치를 진행합니다. Subclipse Subversion Setting Jenkins Subversion Redmine User Interface PAL PMD Zoom In/Out 완료

소프트웨어 프로세스 자동구축 툴 체인화 완료 후 초기화면 이 화면은 구축이 완료된 후 초기화면 입니다. 위의 메뉴를 이용해 여러 페이지를 띄울 필요 없이 쉽게 이동이 가능합니다.

소프트웨어 프로세스 자동구축 툴 체인화 Zoom in/out 이 그림은 줌인 줌아웃 입니다. 소스코드를 패키지 레벨부터 메소드 레벨까지 나타내줍니다. 만약 메소드 레벨로 확대하여, 디테일한 관계를 보고싶으면 플러스 버튼을 이용해 확대하여 확인할 수 있습니다.

소프트웨어 프로세스 자동구축 툴 체인화 PAL 이 그림은 프로세스 어셋 라이브러리입니다. 웹 상에서 문서화를 위해 XML로 저장된 데이터에 XSLT를 적용하여 위와 같은 형태로 문서화 합니다. XSLT(Extensible Stylesheet Language Transformations) : 원본 문서는 변경되지 않으며, 원본 문서를 기반으로 새로운 문서를 생성

소프트웨어 프로세스 자동구축 툴 체인화 구축 자동화를 위해 사용된 소프트웨어 NSIS(Nullsoft Scriptable Install System) : 스크립트 기반의 윈도우용 설치 프로그램 HM NIS Edit : 스크립트 작성 마법사를 제공하여 NSIS용 스크립트를 쉽게 작성하고 편집하도록 도와주는 프로그램 JSmooth : Java Jar 파일을 EXE 파일에 래핑 Bat To Exe Converter : NSIS에서 Batch 파일 실행이 어려워 EXE로 변환 다음은 구축 자동화를 위해 사용되었던 소프트웨어들 입니다. NSIS는 스크립트 기반의 윈도우용 설치 프로그램으로 오픈소스입니다. HM NIS Edit은 스크립트 작성 마법사를 제공해주며, 이를 이용해 NSIS용 스크립트를 쉽게 작성 및 편집을 할 수 있도록 보조해주는 도구입니다. 배치투이엑스이 컨버터는 배치파일을 exe파일로 변환해주는 도구이며, 오픈소스 입니다. 이것은 배치파일 실행 시 관리자 권한이 필요하면 변환중에 자동으로 관리자 권한을 얻어오는 기능도 제공하고 있어, 원인파악은 못했지만 구축 중 관리자 권한이 필요한 배치파일을 실행시키지 못할 때가 있어, 사용하게 되었습니다.

소프트웨어 프로세스 자동구축 툴 체인화 NSIS 소스코드 Installer 정보 입력 및 설정 기존 JDK 설치여부 확인, 없으면 window bit 확인 후 자동설치 다음은 NSIS 소스코드 일부입니다. 위에는 인스톨러의 기본적 정보이고, 아래에는 기존 J아 설치 여부를 확인하고 없으면 윈도우 비트를 확인하여 자동으로 설치됩니다.

소프트웨어 프로세스 자동구축 툴 체인화 NSIS 소스코드 이 다음부터는 순서대로 진행되며, 제 PC에서 설치 프로그램이 위치한 경로와 설치 진행 시 실행시킬 프로그램의 위치정보를 갖고 있습니다.

4 적용 사례

Coupling/Maintainability 적용 사례 – 소스코드 가시화 Dash Board Apache php MySQL Bitnami(Redmine) Redmine Apache Tomcat(jsp) File (설정파일 및 로그) Jenkins Bitnami(Jenkins) PAL Batch Toolchain XML XSLT 계획서 Process Asset Library PMD Rule Checker Source Code Coupling/Maintainability SQLite Subversion Zoom In/Out Zoom In / Zoom Out User Action 다음은 이 소프트웨어 프로세스 구축자동화 도구를 이용하여 구축한 사례입니다. 추가적으로 소스코드 가시화 툴체인이 적용되어있습니다. 젠킨스에서 빌드 시 추가적으로 수행한 결과들을 대시보드를 통해 보여줍니다. +

적용 사례 – 일감 추적(관련 일감) 요구사항 분석 설계 구현 이 것은 레드마인의 일감 추적 기능을 이용하여 요구사항으로부터 구현, 구현으로부터 요구사항의 추적성을 보여줍니다. 일감을 등록할 때, 하위 일감과 관련 일감 등록을 통해 링크로 추적이 가능합니다.

5 결론 및 향후 연구

결론 및 향후 연구 결론 향후 연구 소스코드 버전관리, 일정관리, 이슈해결을 위한 소프트웨어 프로세스 시스템 구축이 필요 하지만, 도구 선택, 도구 설치 방법, 버전에 따른 호환성 문제 등으로 인해 구축이 어려움 소프트웨어 프로세스 구축 자동화를 통해 쉽게 시스템 구축 가능 PMD를 통해 나쁜 코드패턴 추출, PAL를 통해 문서자동화 , Zoom in/out을 통한 소스코드 가시화 향후 연구 Bitnami를 이용하지 않고 Redmine, Jenkins 설치와 통합 DB -> plug&play LDAP 인증 사용 -> Redmine, Jenkins 등 통합 로그인 링크가 아닌 Dash Board 형태 -> 추적에 더 용이

Q&A Thank You