DOI QR코드

DOI QR Code

Practical Architectural Patterns and Guidelines for Designing Complex Mobile Applications

복잡도가 높은 모바일 어플리케이션 설계를 위한 아키텍처 패턴과 적용지침

  • 장정란 (숭실대학교 컴퓨터학과) ;
  • 라현정 (숭실대학교 모바일 서비스 소프트웨어공학센터) ;
  • 김수동 (숭실대학교 컴퓨터학부)
  • Received : 2011.08.30
  • Accepted : 2011.12.13
  • Published : 2012.02.29

Abstract

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.

안드로이드 OS, iOS 등 여러 모바일 디바이스 운영체제를 통해서 모바일 디바이스는 다양한 소프트웨어 어플리케이션을 설치 운영하는 모바일 컴퓨팅 기능을 제공하고 있다. 나아가 개인용 컴퓨팅 용도뿐 아니라 엔터프라이즈를 위한 어플리케이션 클라이언트 단말기로도 사용될 것으로 예상한다. 그러나 모바일 디바이스는 자원의 제한성, 모바일 무선 네트워크 지원 능력 등 이전의 피처폰이나 개인용 컴퓨터에는 없는 특징이 있다. 따라서, 모바일 어플리케이션을 개발하기 위해서는 어플리케이션의 설계 시에 모바일 디바이스가 가진 속성을 반영하는 방법이 필요하다. 아키텍처는 소프트웨어의 특성을 반영하는 비기능적 요구사항을 충족시켜 소프트웨어의 품질을 향상시키는 설계 방법이다. 아키텍처 설계를 하기 위해서 모바일 어플리케이션의 특징으로부터 아키텍처 비기능적 요구사항인 아키텍처 드라이버를 추출한다. 기존의 소프트웨어 아키텍처 설계는 여러 패턴 제공하고 있지만, 모바일 어플리케이션의 특징을 반영하지 않았기 때문에 적용하기가 어렵다. 본 논문에서는 모바일 어플리케이션의 주요 특징을 반영한 어플리케이션 개발을 위해, 모바일 어플리케이션에 적합한 아키텍처 패턴을 정의하고, 각 패턴을 설계하는 지침을 제안한다. 먼저, 모바일 디바이스 및 어플리케이션의 특징을 정의하고, 이 특징으로부터 아키텍처 드라이버를 추출한다. 그리고 모바일 어플리케이션 개발을 위한 아키텍처 패턴을 정적 뷰와 동적 뷰 관점으로 설명하고, 각 아키텍처 패턴을 적용하여 모바일 어플리케이션 아키텍처를 설계하기 위한 적용 지침을 제공한다. 그리고 제시된 아키텍처 패턴의 사례 연구를 통해 적용 가능성을 보여준다. 마지막으로 제시된 아키텍처 패턴을 아키텍처 드라이버 별로 평가하고 또한 기존 연구와의 비교를 통해 본 논문에서 제시하는 아키텍처 패턴을 평가한다.

Keywords

References

  1. Taylor, R.N., Medvidovic, N., and Dashofy, E.M., Software Architecture: Foundations, Theory, and Practice, Wiley, January, 2009.
  2. Lee, V., Schneider, H., and Schell, R., Mobile Applications: Architecture, Design, and Development, Prentice Hall, April, 2004.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. Aaratee Chrestha, "MobileSOA framework for Context- Aware Mobile Applications," In Proceedings of 11th Mobile Data Management (MDM 2010) , pp.297-298, 2010
  8. Forman, G.H and Zahorjan, J, "The Challenges of Mobile Computing," IEEE Computer Society, Vol.27, No.4, pp.38-47, 1994.
  9. Nick Rozanski and Eoin Woods, Software Systems Architecture: working with stakeholders using viewpoints and perspectives, Addison-Wesley, 2005, pp.146
  10. Pressman, R., Software Engineering: A Practitioner's Approach, 7th Edition, McGraw-Hill Science, 2009.
  11. Frank B, Regine M, Hans R, Peter S and Michael S, Pattern-Oriented Software Architecture, Wiley, 1996.
  12. 김수동, 라현정, "안드로이드 기반 모바일 서비스 어플리케이션의 아키텍처," 정보과학회지, 제 28권, 제 6호, pp.25-34, 2010년 6월.
  13. Erl, T., Service-Oriented Architecture (SOA): Concepts, Technology, and Design, Prentice Hall, 2005.
  14. 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.
  15. ISO/IEC 9126-1, Software Engineering-Product Quality-Part 1: Quality Model, ISO/IEC, June 15, 2001.
  16. 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.
  17. Smith, C. U. and Williams, L., G., Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software, Addison-Wesley, 2002.
  18. 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.