Abstract
Mobile Devices, which are developed with the fast growing of the Internet, have flexible internet accessibility and can access the network anywere so that they can execute software applications. However, it is very challenging to deploy highly complex applications on mobile devices since they have limited resources. To overcome the limitation, researches on applying a concept of services to mobile applications have been proposed. Android is one of the popular mobile platforms and is designed to effectively execute mobile applications on the mobile devices having limited resources. Since service-based Android applications, which adopt a concept of services and Android platform, invoke remote services and are built with Android-specific components, they are much different from traditional software applications. Consequently, it is not straightforward to apply object-oriented (OO) analysis and design methods to developing service-based Android applications, although they have been frequently applied to developing traditional applications. In this paper, we present a process to develop service-based Android mobile applications, which extends a traditional OO development process. First, we raise design issues to be considered in developing service-based Android applications. Then, to solve the issues, we present detailed guidelines for essential phases of OO-based development process that are customized to service-based Android applications. Finally, to show applicability of the process, we perform a case study. The proposed design process is effectively utilized as a set of guidelines to develop service-based Android applications more systematically and effectively.
인터넷의 빠른 보급과 함께 발전한 모바일 디바이스는 유연한 이동성과 함께 언제 어디서나 네트워크에 연결되는 특성을 가지고 있고, 어플리케이션들을 실행할 수 있다. 그러나, 모바일 디바이스의 특성인 자원 제약성에 영향을 받기 때문에 복잡한 기능을 하는 어플리케이션을 실행시킬 수가 없다. 그러므로, 일부 기능을 외부에 위치하거나 외부 서비스를 이용하는 접근 방법에 대해 연구가 진행되고 있다. 안드로이드는 대표적인 모바일 플랫폼 중 하나로, 제한된 자원을 가지는 모바일 디바이스 상에서 여러 모바일 어플리케이션들을 실행시킬 수 있도록 설계되었다. 서비스 개념과 안드로이드 플랫폼을 이용한 서비스 기반 안드로이드 어플리케이션은 어플리케이션 기능이 분산되었다는 점과 안드로이드에 특화된 컴포넌트를 포함하고 있다는 점에서 전형적인 소프트웨어와 차이점을 가지고 있다. 그러므로, 일반적으로 널리 적용된 객체지향 분석 및 설계 기법은 서비스 기반의 안드로이드 모바일 어플리케이션 개발에는 그대로 적용되기가 어렵다. 본 논문은 기존 개발 프로세스를 확장하여 서비스 기반 안드로이드 어플리케이션의 개발 프로세스를 제안한다. 우선 서비스 기반 안드로이드 어플리케이션을 개발함에 있어서 발생되는 설계 이슈를 도출한다. 그리고, 각 도출된 이슈를 해결하기 위하여 기존의 객체지향 개발 프로세스를 확장한다. 확장된 프로세스는 이슈를 구체적으로 해결하기 위한 상세 지침과 설계 결과 양식을 포함한다. 마지막으로, 사례연구를 통해 확장된 프로세스의 적용 결과를 보여준다. 본 논문에서 제안된 설계 프로세스는 서비스 기반 안드로이드 어플리케이션 개발을 보다 체계적이고 효과적으로 수행하는데 기본적인 방법론 지침으로 활용될 수 있다.