안드로이드OS, iOS 등 여러 모바일 디바이스 운영체제를 통해서 모바일 디바이스는 다양한 소프트웨어 어플리케이션을 설치 운영하는 모바일 컴퓨팅 기능을 제공하고 있다. 나아가 개인용 컴퓨팅 용도뿐 아니라 엔터프라이즈를 위한 어플리케이션 클라이언트 단말기로도 사용될 것으로 예상한다. 그러나 모바일 디바이스는 자원의 제한성, 모바일 무선 네트워크 지원 능력 등 이전의 피처폰이나 개인용 컴퓨터에는 없는 특징이 있다. 따라서, 모바일 어플리케이션을 개발하기 위해서는 어플리케이션의 설계 시에 모바일 디바이스가 가진 속성을 반영하는 방법이 필요하다. 아키텍처는 소프트웨어의 특성을 반영하는 비기능적 요구사항을 충족시켜 소프트웨어의 품질을 향상시키는 설계 방법이다. 아키텍처 설계를 하기 위해서 모바일 어플리케이션의 특징으로부터 아키텍처 비기능적 요구사항인 아키텍처 드라이버를 추출한다. 기존의 소프트웨어 아키텍처 설계는 여러 패턴 제공하고 있지만, 모바일 어플리케이션의 특징을 반영하지 않았기 때문에 적용하기가 어렵다. 본 논문에서는 모바일 어플리케이션의 주요 특징을 반영한 어플리케이션 개발을 위해, 모바일 어플리케이션에 적합한 아키텍처 패턴을 정의하고, 각 패턴을 설계하는 지침을 제안한다. 먼저, 모바일 디바이스 및 어플리케이션의 특징을 정의하고, 이 특징으로부터 아키텍처 드라이버를 추출한다. 그리고 모바일 어플리케이션 개발을 위한 아키텍처 패턴을 정적 뷰와 동적 뷰 관점으로 설명하고, 각 아키텍처 패턴을 적용하여 모바일 어플리케이션 아키텍처를 설계하기 위한 적용 지침을 제공한다. 그리고 제시된 아키텍처 패턴의 사례 연구를 통해 적용 가능성을 보여준다. 마지막으로 제시된 아키텍처 패턴을 아키텍처 드라이버 별로 평가하고 또한 기존 연구와의 비교를 통해 본 논문에서 제시하는 아키텍처 패턴을 평가한다.
안드로이드 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 i...
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.
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.
최근 들어 아이폰과 안드로이드폰 등의 다양한 스마트폰을 비롯하여 아이패드와 같은 태블릿 PC도 출시되면서, 다양한 형태의 모바일 디바이스가 주목을 받고 있다. 모바일 디바이스는 무선 인터넷 접속 기능을 제공하는 휴대 가능한 모든 종류의 장비들을 총칭하는 용어로서, 유연한 무선 인터넷 접속성과 높은 이동성을 제공한다는 장점을 가지고 있다. 이런 이유로, 미국뿐 아니라 한국에서도 스마트폰 이용자가 급증하고 있으며, 일부에서는 데스크톱 컴퓨터를 대체할 클라이언트 장비가 될 것이라고 예상하고 있다.
아키텍처 패턴은 무엇인가?
아키텍처 패턴은 소프트웨어 개발시 반복적으로 발생하는 설계 문제에 대한 아키텍처 설계 결정사항의 집합이다[1]. 따라서, 복잡한 기능성을 가지고 있는 모바일 어플리케이션의 아키텍처 설계시 모바일 어플리케이션이 가지고 있는 제약 사항을 해결하고 활용하기 위해서는 모바일 어플리케이션에 대한 아키텍처 패턴 및 설계 기법이 필요하다.
모바일 디바이스의 특징인 높은 이동성이 가지는 문제점은 무엇인가?
높은 이동성은 사용자의 환경 및 상황 정보에 대한 변화를 가져온다. 이것은 풍부한 상황 정보를 활용한 어플리케이션의 개발할 수 있음을 의미하지만, 기존에는 존재하지 않았던 네트워크 끊김, 기기 이상 현상, 잡음 등이 문제가 발생할 수 있다.
참고문헌 (18)
Taylor, R.N., Medvidovic, N., and Dashofy, E.M., Software Architecture: Foundations, Theory, and Practice, Wiley, January, 2009.
Lee, V., Schneider, H., and Schell, R., Mobile Applications: Architecture, Design, and Development, Prentice Hall, April, 2004.
Gruhn, V. and Kohler, A., "Aligning Software Architectures of Mobile Applications on Business Requirements," In Proceedings of Workshop on Web Information Systems Modeling (WISM 2006) in conjunction with the 8th International Conference on Advanced Information Systems Engineering (CAISE 2006) , pp.1113-1123, 2006.
Dagtas, S. Natchetoi, Y., Wu, H., and Hamdi, L., "An Integrated Lightweight Software Architecture for Mobile Business Applications," In Proceedings of the 7th Working IEEE/ IFIP Conference on Software Architecture (WICSA 2008) , pp.41-50, 2008.
Natchetoi, Y., Kaufman, V., and Shapiro, A., "Service-Oriented Architecture for Mobile Applications," In Proceedings of the 1st international workshop on Software architectures and mobility (SAM '08) , pp.27-32, 2008.
Ennai A and Bose S, "MobileSOA: A Service Oriented Web 2.0 Framework for Context-Aware, Lightweight and Flexible Mobile Applications," In Proceedings of the 2009 12th Enterprise Distributed Object Computing Conference Workshop (EDOCW 2008) , pp.348-382, 2008.
Aaratee Chrestha, "MobileSOA framework for Context- Aware Mobile Applications," In Proceedings of 11th Mobile Data Management (MDM 2010) , pp.297-298, 2010
Forman, G.H and Zahorjan, J, "The Challenges of Mobile Computing," IEEE Computer Society, Vol.27, No.4, pp.38-47, 1994.
Nick Rozanski and Eoin Woods, Software Systems Architecture: working with stakeholders using viewpoints and perspectives, Addison-Wesley, 2005, pp.146
Pressman, R., Software Engineering: A Practitioner's Approach, 7th Edition, McGraw-Hill Science, 2009.
Frank B, Regine M, Hans R, Peter S and Michael S, Pattern-Oriented Software Architecture, Wiley, 1996.
김수동, 라현정, "안드로이드 기반 모바일 서비스 어플리케이션의 아키텍처," 정보과학회지, 제 28권, 제 6호, pp.25-34, 2010년 6월.
La, H.J. and Kim, S.D., "Adapter Patterns for Resolving Mismatches in Service Discovery," In Proceedings of the 5th International Workshop on Engineering Service Oriented Applications (WESOA 2009) , pp.498-508, Nov. 23, 2009.
Ryan, C. and Rossi, P., "Software, Performance, and Resource Utilization Metrics for Context-Aware Mobile Applications," In Proceedings of the 11th IEEE International Software Metrics Symposium (METRICS 2005) , pp.12, 2005.
Smith, C. U. and Williams, L., G., Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software, Addison-Wesley, 2002.
Kumar, K. and Lu, Y.H., "Cloud Computing For Mobile Users: Can Offloading Computation Save Energy?," IEEE Computer, Vol.43, No.4, pp.51-56, April, 2010.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.