Abstract

안드로이드 OS, iOS 등 여러 모바일 디바이스 운영체제를 통해서 모바일 디바이스는 다양한 소프트웨어 어플리케이션을 설치 운영하는 모바일 컴퓨팅 기능을 제공하고 있다. 나아가 개인용 컴퓨팅 용도뿐 아니라 엔터프라이즈를 위한 어플리케이션 클라이언트 단말기로도 사용될 것으로 예상한다. 그러나 모바일 디바이스는 자원의 제한성, 모바일 무선 네트워크 지원 능력 등 이전의 피처폰이나 개인용 컴퓨터에는 없는 특징이 있다. 따라서, 모바일 어플리케이션을 개발하기 위해서는 어플리케이션의 설계 시에 모바일 디바이스가 가진 속성을 반영하는 방법이 필요하다. 아키텍처는 소프트웨어의 특성을 반영하는 비기능적 요구사항을 충족시켜 소프트웨어의 품질을 향상시키는 설계 방법이다. 아키텍처 설계를 하기 위해서 모바일 어플리케이션의 특징으로부터 아키텍처 비기능적 요구사항인 아키텍처 드라이버를 추출한다. 기존의 소프트웨어 아키텍처 설계는 여러 패턴 제공하고 있지만, 모바일 어플리케이션의 특징을 반영하지 않았기 때문에 적용하기가 어렵다. 본 논문에서는 모바일 어플리케이션의 주요 특징을 반영한 어플리케이션 개발을 위해, 모바일 어플리케이션에 적합한 아키텍처 패턴을 정의하고, 각 패턴을 설계하는 지침을 제안한다. 먼저, 모바일 디바이스 및 어플리케이션의 특징을 정의하고, 이 특징으로부터 아키텍처 드라이버를 추출한다. 그리고 모바일 어플리케이션 개발을 위한 아키텍처 패턴을 정적 뷰와 동적 뷰 관점으로 설명하고, 각 아키텍처 패턴을 적용하여 모바일 어플리케이션 아키텍처를 설계하기 위한 적용 지침을 제공한다. 그리고 제시된 아키텍처 패턴의 사례 연구를 통해 적용 가능성을 보여준다. 마지막으로 제시된 아키텍처 패턴을 아키텍처 드라이버 별로 평가하고 또한 기존 연구와의 비교를 통해 본 논문에서 제시하는 아키텍처 패턴을 평가한다. Mobile devices with Android OS and iOS have been emerged as mobile computing devices where various software applications are deployed. Furthermore, they are anticipated to be used not only for traditional personal computing but also for enterprise computing. However, such mobile devices have their intrinsic characteristics such as limited resources and flexible network capabilities, which are not revealed in traditional computers. Hence, there is high demand for methods to develop mobile applications with reflecting their intrinsic characteristics. Since those characteristics belong to non-functional requirements, they should be reflected in architecture design while designing mobile applications. To design architecture, the architecture drivers that are architecture non-functional requirements are decided from mobile application characteristics. Conventional architecture design methods do not consider those characteristics so that the methods cannot be straightforwardly applied to mobile applications. In this paper, to efficiently develop mobile applications reflecting those characteristics, we propose a set of architecture patterns and define a guideline to apply those patterns. First, we define the characteristics of mobile applications distinguished and derive architectural drivers from them. Then, we propose architecture patterns in terms of static and dynamic views and define an architectural guideline to apply the patterns to designing architecture for mobile application. And, we perform case studies to verify the applicability of proposed patterns. Finally, we assess the proposed architecture patterns by proving how the patterns can fulfill identified architecture drivers and by comparing our approach with previous works.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call