Journal of the Korea Institute of Information and Communication Engineering 한국정보통신학회논문지(J. Korea Inst. Inf. Commun. Eng.) Vol. 18, No. 11 : 2593~2599 Nov. 2014 오픈소스 모바일 UI컴포넌트 선정 절차 프레임워크 손효정 1 이민규 2 성백민 3 김종배 4* The Framework of Selection Process for Open Source Mobile UI Component Hyo-jung Sohn 1 Min-gyu Lee 2 Baek-min Seong 3 Jong-bae Kim 4* 1 Graduate School of Software, Soongsil University, Seoul 156-743, Korea 2 Graduate School of Software, Soongsil University, Seoul 156-743, Korea 3 Graduate School of Software, Soongsil University, Seoul 156-743, Korea 4* Graduate School of Software, Soongsil University, Seoul 156-743, Korea 요 약 최근 모바일 앱에서도 오픈소스 소프트웨어를 이용한 개발이 활발하게 이루어지고 있다. 오픈소스 모바일 컴포넌 트의 경우 사용자 인터페이스 구현을 위한 컴포넌트의 재사용성이 용이하다는 이유로 기능적 역할의 컴포넌트보다 더욱 많이 사용되는 경향이 있다. 이런 특징으로 인해 기존의 오픈소스 소프트웨어 선정절차나 상용 컴포넌트 선정 절차 두 가지 연구 모두 오픈소스 모바일 컴포넌트 선정에 그대로 적용하기에는 무리가 있다. 본 논문에서는 기존에 연구된 오픈소스 소프트웨어 선정절차를 모바일 컴포넌트 선정에 적합하도록 수정, 보완하였다. 본 연구는 모바일 앱을 개발할 경우, 요구되는 기능을 충족하는 오픈소스 컴포넌트를 쉽게 검색하고 선정할 수 있는 효율적인 절차를 제시함으로써 모바일 앱 개발의 생산성을 높여줄 수 있다. ABSTRACT The way of mobile apps development using open source software have been becoming increasingly popular recently. In opensource mobile User Interface components case, there is tends to much more be used than mobile functional components. Because it is more easier that the reusability for implementation of User Interface. The problem is to apply as an open source mobile components selected for this reason all of the existing two studies. It is an open source software selection process and selection procedures shelf components. We revise to conform to existing mobile components selected for the study on open source software selection process in this paper. Can help increase the productivity of the mobile app development by the open source components to meet the functional requirements when developing mobile apps that can be easily retrieved and presented the selection process of this study is effective. 키워드 : 오픈소스 소프트웨어, 모바일 애플리케이션, 컴포넌트 선정, 선정절차, UI 컴포넌트 Key word : Open Source Software, Mobile Application, Component Selection, Selection Process, UI Component 접수일자 : 2014. 10. 01 심사완료일자 : 2014. 10. 31 게재확정일자 : 2014. 11. 05 * Corresponding Author Jong-bae Kim(E-mail:kjb123@ssu.ac.kr, Tel:+82-10-9027-3148) Graduate School of Software, Soongsil University, Seoul 156-743, Korea Open Access http://dx.doi.org/10.6109/jkiice.2014.18.11.2593 print ISSN: 2234-4772 online ISSN: 2288-4165 This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/li-censes/ by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited. Copyright C The Korea Institute of Information and Communication Engineering.
한국정보통신학회논문지(J. Korea Inst. Inf. Commun. Eng.) Vol. 18, No. 11 : 2593~2599 Nov. 2014 Ⅰ. 서 론 최근에는 애플리케이션 혹은 웹(Web)을 개발한다고 하면 기능과 화면을 직접 구현하는 경우보다 이미 잘 만들어진 컴포넌트를 재사용[1]하여 개발하는 방법이 증가하고 있다. 특히 thin-client인 모바일 프로그래밍에 서는 화면구현에 많은 노력을 기울여야하는 특징으로 이 현상이 두드러지게 나타나고 있다. 이러한 현상과 맞물려 모바일용 오픈소스 컴포넌트의 성장은 주목할 만 하다. 많은 개인 개발자들이 자신이 개발한 소스를 공개하는 경우 외에도, 기업 내부용 모바일 컴포넌트를 오픈소스로 공개하거나 상용 컴포넌트를 오픈소스로 제공하는 사례가 발견되고 있는 이유이다. 이같이 수많은 오픈소스 모바일 컴포넌트 가운데 개발하고자 하는 애플리케이션에 가장 적절한 컴포넌 트를 선정하는 일은 매우 까다롭고 많은 시간을 요구 한다[2]. 이 문제를 해결하고자 지금까지 선정절차와 평가기준을 마련하는 등의 많은 연구들이 있어왔다 [3]. 기존 연구 가운데 오픈소스 프로젝트를 선하는 절 차와 기준을 정립한 모델[4]와 오픈소스 컴포넌트의 선정절차를 제시한 연구[5], 그리고 상용 컴포넌트 선 정 프로세스를 제시한 연구[6]을 참고할 수 있다. 그러 나 첫 번째 모델은 프로젝트 단위의 선정절차로 그 범 위가 상당히 커 모바일 컴포넌트를 선정하고자 하는 본 연구에 적용하기 어렵고, 두 번째 연구는 오픈소스 컴포넌트 가운데 UI 컴포넌트 위주의 모바일용 컴포넌 트에 적용하기에는 모바일의 특성과 UI컴포넌트의 특 성을 반영하지 못하는 한계가 있으며, 마지막 연구는 컴포넌트 특징이 잘 반영된 선정절차를 제시하였지만 오픈소스 소프트웨어의 특징을 반영하지 못하는 한계 가 있다. 본 연구에서는 기존 연구 중 Y.M Lee의 오픈소스 소 프트웨어 선정절차[7]을 모바일 컴포넌트 선정에 적합 하도록 수정, 보완하고자 한다. 요구사항 분석 단계에서 개발자는 모바일 앱의 기 능과 목표를 사용자의 입장에서 정의한다. 이 때 개발 자의 이해도에 따라 프로젝트의 성패가 좌우된다. 이 후 적절한 아키텍처를 설계하는 아키텍처 설계 단계 를 지나 내비게이션 설계 단계에서는 각 페이지간의 링크 관계 혹은 데이터 전송 등의 흐름을 정의하게 된 다. 페이지 설계 단계는 UI를 설계하는 단계로 모든 페이지에 대해 스크린 레이아웃과 기능을 정의한다. 마지막으로 구현 및 테스팅 단계에서 실제 구현과 테 스트하는 과정을 개발 프로세스를 제안하였다. 그림 1. 모바일 애플리케이션 개발 프로세스 모델 Fig. 1 A development Process Model of Mobile Application 2.2. QSOS QSOS(Qualification and Selection of OpenSource software) 모델[9]는 오픈소스 소프트웨어 선정 절차와 평가기준을 제시하고 있으며 적절한 프로젝트를 선택 할 때까지 총 4단계를 반복하여 실행한다. Ⅱ. 관련연구 2.1. 모바일 앱 개발 프로세스 모델 B.D Kang이 제안하는 모바일 앱 개발모델[8]은 총 5 가지의 단계를 이루고 있다. 그림 2. QSOS의 4단계 Fig. 2 The 4 steps of QSOS 2594
오픈소스 모바일 UI컴포넌트 선정 절차 프레임워크 정의(Definition)단계에서는 이후의 단계들에서 사용 할 프레임을 농축, 정립하고 평가(Evaluation)에서는 소 프트웨어를 기능적인 적용, 사용자관점의 위험, 서비스 제공자 관점의 위험 등 3가지 축에서 평가해 점수를 도 출한다. 자격부여(Qualification)단계는 사용자의 컨텍 스트에 따라 가중치를 부여하며, 요구사항이나 제약사 항을 결정한다. 마지막 선택(Selection)단계에서는 최종 선택하는 단계이다. 2.3. 오픈소스 컴포넌트 선정 절차 기존 오픈소스 컴포넌트 선정 절차에 관한 연구로 는 J.B. Kim의 오픈소스 컴포넌트 활용 [5]가 있다. 이 연구에서는 오픈소스 활용전략수립, 소요자원 산정, 라이선스 정책수립 후 수집, 배양, 개정의 오픈소스 선 정과정을 거처 변경 명세화와 획득, 변경, 검증의 절차 를 제시하였다. 드를 통해 1차 후보 OSS를 수집한다[단계2]. 1차 후보 들 가운데 비기능적 요구사항을 만족하는 2차 후보 OSS를 식별한다[단계3]. 식별된 OSS 컴포넌트을 대상 으로 평가기준 수립 후, 프로토타입을 제작하여 최초 요구사항을 기준으로 선정여부를 결정한다[단계4]. 각 산출물을 비교, 분석하여 해당 컴포넌트를 선택할 것인 지를 결정하고, 만약 후보 OSS 중 좋은 평가를 받은 컴 포넌트 중에서도 적절한 컴포넌트가 없는 경우, 기능중 심적 키워드를 통해 수집한 1차 후보 OSS 가운데 비기 능적 조건을 수정하며 적절한 컴포넌트를 찾는 과정을 순환적으로 진행한다. 2.4. 상용컴포넌트 선정 프로세스 상용컴포넌트 선정 프로세스에 관한 연구로는 K.S. Oh의 상용컴포넌트 선정 프로세스 및 품질평가기 법 [6]이 있으며, 품질명세화의 1단계, 평가 명세화의 2 단계, 품질 특정의 3단계를 거처 컴포넌트 선정의 4단 계를 제시하였다. 동시에 품질측정을 위한 테스팅 기법 및 기능성, 효율성, 사용성의 품질측정 기법을 제안하 였다. 본 연구에서는 Y.M Lee의 오픈소스 소프트웨어 선 정 절차에 관한 연구 [7]에서 제시한 절차를 바탕으로 각 단계의 활동내용을 수정, 보완하고 J.B Kim의 오픈 소스 컴포넌트 활용 연구[4,10]에서 기반으로 한 마르 미III 공정 모델[11]을 참조한다. Ⅲ. 오픈소스 모바일 컴포넌트 선정절차 3.1. 선정 절차의 개요 오픈소스 모바일 컴포넌트의 전체 선정 절차 과정은 아래 그림으로 표현할 수 있다. 먼저 개발계획이 세워지면, 개발하고자 하는 애플리 케이션의 요구사항을 수집/식별하는 과정을 거친다[단 계1]. 이 과정에서 요구사항을 반영한 기능중심적 키워 그림 3. 오픈소스 모바일 UI컴포넌트 선정절차 Fig. 3 The Selection process of Open Source Mobile UI Component 3.2. 세부 선정 절차 각 단계의 세부 선정절차에 대한 내용은 다음과 같다. 3.2.1. 요구사항 식별 개발 계획을 위해 요구사항 식별단계이다. 기존에 연 구되었던 내용에 모바일 특성을 추가하여 모바일 애플 리케이션 아키텍처를 설계한다. 모바일 애플리케이션 개발에서는 UI 구현시에 많은 시간과 노력을 필요로 하며, 완성된 결과물의 평가에 도 큰 영향을 미치게 된다. 본 연구에서는 UI 설계시 2595
한국정보통신학회논문지(J. Korea Inst. Inf. Commun. Eng.) Vol. 18, No. 11 : 2593~2599 Nov. 2014 더 많은 요구사항 수집 및 구현방식을 반영하기 위해 모바일앱 아키텍처를 설계하여 기능적 부분과 UI 부분 을 나누어 설계하도록 하였다. UI/UX 설계는 별도로 설계서를 작성하여 추후 컴포넌트 후보군 선정이나 최 종 결과물의 요구사항이 반영되었는지를 추적할 수 있 도록 한다. 3.2.2. 1차 OSS 후보 식별 단계1을 거쳐 사용하고자 하는 모바일용 컴포넌트의 기능 키워드를 도출하면, 이 키워드로 오픈소스를 검색 해 1차 후보군을 선정한다. UI 구현에서 핵심적인 기능, 예를들면 Listview, imageview, gridview등 기능적인 특성을 반영한 키워드 로 검색하여 사용이 가능한 후보들을 선정하게 되며 이 는 비기능적 특성이 아닌 아키텍처와 UI/UX 구현에 기 능적인 부분임이 다르다. 그림 4. 요구사항 식별 단계 Fig. 4 Requirements identification phase 그림 5. 1차 OSS후보 식별 단계 Fig. 5 Primary OSS candidate identification phase 기존 연구에서 마르미III 4.0를 기반으로 제시하고 있는 산출물중 해당 단계에 필요한 입출력 양식은 다음 표1과 같다. 표 1. 요구사항 식별단계 입력물 및 출력물 Table. 1 Input and Output of the requirements identification phase 기존 연구에서는 단계2에서 개념모형을 작성하는데 본 연구에서는 1차 OSS후보군의 수가 상당히 많게 되 고, 비기능적 특성을 통해 만족도가 높아지는 특성을 반영해 단계3에서 작성하는 것으로 수정하였다. 3.2.3. 2차 OSS 후보 식별 활동 입력물 출력물 비전기술서 요구사항기술서 객체모형기술서 시스템환경정의서 소프트웨어 아키텍처정의서 App 아키 텍처 설계 비전기술서 요구사항기술서 객체모형기술서 소프트웨어아키텍처정의서 소프트웨어 아키텍처평가서 그림 6. 2차 OSS후보 식별 단계 Fig. 6 Second OSS candidate identification phase UI/UX 설계 요구사항기술서 소프트웨어아키텍처정의서 소프트웨어아키텍처평가서 UI 프로토타입 소프트웨어 아키텍처기술서 UI설계서 UI흐름정의서 화면정의서 단계3에서는 비기능 검색키워드로 2차 후보군을 선 정하게 된다. 일관된 UX를 지원하기 위한 기능이나 사 용만족도를 높일 수 있는 기능들, 예를 들어 listview 후 보군 중, swipe button을 지원하거나 slide loading이 가 능하도록 하는 컴포넌트를 선정하기 위한 키워드를 이 용할 수 있다. 2596
오픈소스 모바일 UI컴포넌트 선정 절차 프레임워크 기존 연구에서는 단계2에서 작성한 개념모형도를 단 계3에서 정제/할당하게 되지만 본 연구에서는 2차 후보 군만을 대상으로 개념모형도를 작성하도록 한다. 3.2.4. 평가기준 수립 컴포넌트들을 대상으로 프로토타입을 제작해 구현 시 인터페이스 연결 수준을 추측하고 최초 계획한 애플 리케이션 아키텍처 및 UI/UX설계도와의 비교를 통해 컴포넌트 활용정도를 확인할 수 있다. Ⅳ. 결 론 표 2에서 보는 바와 같이, 기존의 연구들에서 제시한 절차들은 각 단계를 거치면서 요구사항 정의 및 제한사 항 정립 등 점차 오픈소스 프로젝트를 명확히 정의한 뒤, 최종단계에서 선택하고 있다. 그에 반해, 본 연구에 서 제시한 절차는 각 단계별 기준에 따라 후보 컴포넌 트를 제거하여 비교, 분석해야하는 컴포넌트의 양을 상 당히 줄여 효율을 높였다. 표 2. 컴포넌트 선정절차 비교 Table. 2 Comparison of the selection process 그림 7. 평가기준 수립 단계 Fig. 7 Criteria established phase 구분 핵심절차 특징 QSOS [4] JB Kim 연구 [5] Definition Evaluation Qualification Selection 오픈소스 전략수립 소 요자원 산정 라이센스 정책수립 수집,배양,개 정 변경 명세화획득 변경 검증 각 단계가 상호의존적 이고 반복 수행됨 컴포넌트 수준에서의 활용절차를 제시함 프로젝트 도입부터 인 도까지 전체적인 절차 를 다룸 오픈소스의 평가를 위해 산출물을 식별/정제하여 선 정시 기준으로 삼는다. OSS산출물에는 라이선스정보, 시스템요구사항, 데이터정보 등의 소프트웨어에 대한 내용을 확인할 수 있는 항목들을 가진다. 3.2.5. OSS 평가 및 선정 KS Oh 연구 [6] 본 연구 품질특성 정의 측정기준 제시 품질특성 결과값 분석 상용컴포넌트 선정 요구사항 식별 기능키워드 후보식별 비기능키워드 후보식별 평가기준 수립 OSS 평가 및 선정 상업용 컴포넌트 선정 절차로 구매자 관점에 서 절차를 제시함 요구사항을 기능적. 비 기능적 요소로 구분함 부분적 반복수행(3~5단 계)으로 시간과 노력이 적게 소요됨 그림 8. OSS평가 및 선정 단계 Fig. 8 OSS evaluation and selection phase 마지막 단계5에서는 최종 선정의 단계이며, 이 단계 에서도 적절한 컴포넌트를 선정하기 어렵다고 판단되 면 단계3인 비기능 키워드를 수정하며 2차 후보군을 재 선정하는 과정을 반복한다. 또한, 선정 절차가 전체적으로 반복되어야 하는 기존 연구에 비해, 본 연구는 비기능 요구사항만을 수정하여 반복수행하도록 설계해 비교적 짧은 반복주기를 가지 고 있다. 본 연구는 기존에 연구된 오픈소스 소프트웨어 선정 절차보다 반복 주기를 줄임으로서 비교적 빠르게 선정 절차를 수행할 수 있다. 또 기존 연구를 모바일 컴포넌 트 선정에 적합하도록 확장, 개정하여 요구사항에 적합 한 모바일 UI 컴포넌트를 선정하면서도 효율적인 절차 를 제시하였다. 본 연구의 결과는 모바일 UI컴포넌트 선정시 주먹구 구식의 모호한 절차에서 벗어나 기능/비기능 검색어로 2597
한국정보통신학회논문지(J. Korea Inst. Inf. Commun. Eng.) Vol. 18, No. 11 : 2593~2599 Nov. 2014 후보군을 이원화해 선정함으로써 일정수준 이상의 컴 포넌트를 채택하여 요구사항을 더욱 정확히 반영한 컴 포넌트 선정을 가능하게 하여 신뢰성과 생산성을 높여 줄 수 있다. 향후 연구에서는 제시한 절차를 활용해 개발 프로젝 트를 수행하고 이 과정에서 각 단계별로 필요한 평가기 준도 함께 제시하여 실제 사용이 가능한 모델로 정립하 고자 한다. REFERENCES [ 1 ] Kim, J.B., A Model for Reusing Requirements Using Examples from Open Source Software, Journal of information and communication convergence engineering, vol.10, no.3, pp.284-294, Sep. 2012. [ 2 ] Hauge, Ø., Osterlie, T., Sorensen, C.-F., and Gerea, M.: An Empirical Study on Selection of Open Source Software-Preliminary Results, in Proceeding of ICSE Workshop on Emerging Trends in FLOSS Research (FLOSS '09), Vancouver, Canada, pp. 42-47, May. 2009. [ 3 ] Stol, K. J., & Babar, M. A. A comparison framework for open source software evaluation methods. Open Source Software: New Horizons, Springer Berlin Heidelberg, pp. 389-394, 2010. [ 4 ] Origin, Atos. (2006, April) Method for Qualification and Selection of Open Source software (QSOS), version1. 6. Available: http://www. qsos. org/download/qsos-1.6-en. pdf [ 5 ] E. H. Choi, H. S. Hwang, and C. S. Kim, A Study on Applying the Software Development Methodology as utilize Open-Source Components:A Case of Development a Reporting Tool using MARMI III, Journal of the Korea society of IT services, vol. 5, no. 1, pp. 149-164, May. 2006. [ 6 ] K.S Oh, A selection process of COTS component and quality evaluation technique, Journal of the Korea society of IT services, vol. 2, no. 1, pp. 123-133, May. 2003. [ 7 ] Y.M. Lee, A Study on Selection Process of Open Source Software Ph. D. dissertation, Soongsil University, Seoul, Korea, 2007. [ 8 ] Do, K. B., SeungWeon, Y., & Seok, L. J. A Software Development Process for Mobile Applications. Journal of Internet Computing and Services(JICS), vol. 15, no. 4, pp. 135-140, Aug. 2014. [ 9 ] Deprez, J.C., and Alexandre, S.: Comparing assessment methodologies for free/open source software: OpenBRR and QSOS, iin Proceeding of 9th International Conference on Product Focused Software Process Improvement (PROFES), Monte Porzio Catone, Italy, pp. 189-203, 2008. [10] Lee, Y.M., Kim, J.B., Choi, I.W., and Rhew, S.Y. A Study on Selection Process of Open Source Software, in Proceeding of Sixth International Conference on Advanced Language Processing and Web Information Technology (ALPIT), Luoyang, Henan, China, pp. 568-571, 2007. [11] ETRI(Electtronics and Telecommunications Research Institue), Magic and Robust Methodology Intergrated (MaRMI) III Ver 4.0, Seoul, Korea, 2003. 손효정(Hyo-jung Sohn) 2006년 2월 숭실대학교 경영학과 학사 2014년~현재 숭실대학교 SW특성화대학원 석사과정 관심분야 : 오픈소스 소프트웨어, 소프트웨어 공학, 모바일 프로그래밍 이민규(Min-gyu Lee) 2013년 2월 동국대학교 정보통신학과 학사 2014년~현재 숭실대학교 SW특성화대학원 석사과정 관심분야 : 오픈소스 소프트웨어, 소프트웨어 공학, 모바일 프로그래밍 2598
오픈소스 모바일 UI컴포넌트 선정 절차 프레임워크 성백민(Baek-min Seong) 2014년 2월 숭실대학교 컴퓨터학부 학사 2014년~현재 숭실대학교 SW특성화대학원 석사과정 관심분야 : 오픈소스 소프트웨어, 클라우드, 빅데이터, 소프트웨어 공학 김종배(Jong-Bae Kim) 2002년 8월 숭실대학교 정보과학대학원 석사 2006년 8월 숭실대학교 대학원 컴퓨터학과 박사 2001년~2012년 (주)이엔터프라이즈 대표이사 2012년~현재 숭실대학교 SW특성화대학원 교수 관심분야 : 소프트웨어공학, 정보보호, 오픈소스소프트웨어 2599