Software Engineering Issues
in Developing a Context-aware Exhibition Guide System
Jongmyung Choi
1
, Hyun-Joo Moon
2
1
School of Information Eng., Mokpo National University,
61 Cheonggye, Muan-gun, Jeonnam, 534-729, Korea
jmchoi@mokpo.ac.kr
2
Dept. of Cultural Contents, Hankuk University of Foreign Studies,
270 Imun 2-dong, Dongdaemun-gu, Seoul, 130-082, Korea
hyunjoomoon@gmail.com
Abstract
Context-awareness is a key feature of ubiquitous
computing, but it is difficult to develop context-aware
systems because they are complex and because
developers are not familiar with the development
methodology for the systems. In this paper, we
introduce a method to apply software engineering
techniques when developing a context-aware system.
Based on our experience in developing a context-
aware exhibition guide system, we show how to elicit
requirements, how to model context, how to determine
system architecture, how to design the system, and how
to implement the system. Our study will help
developers to efficiently develop context-aware systems
according to software engineering principles.
1. Introduction
Recently context-aware systems have attracted
attention from academia and industry because of their
usefulness and user friendliness. However, these
systems cost much more than traditional systems
because of their features including context-awareness,
heterogeneousness, and intelligence. In addition, there
have been only a few research projects that have
showed how to apply software engineering principles
to context-aware systems. Even though there has been
much research on software engineering topics such as
requirement elicitation [1,2], context modeling [3,4],
programming [5], and testing for context-aware
systems [6], they have not provided enough
information to develop a system in practice.
The stakeholders, especially developers, need
integrated and practical guides which are applicable
during the development process. The guides should be
able to answer the questions that occur during the
development stage. Some examples of the questions
are as follows. “Is the traditional development process
OK?” “How do the requirements affect context and
context-aware services?” “How and when do we
model context?” “How is the context model
transformed into class diagram and source program?”
In this paper, we introduce context related software
engineering issues that developers face while
developing a context-aware system. We show how to
apply software engineering techniques by
demonstrating our context-aware exhibition guide
system [19]. We show how we elicit requirements for
context-aware systems, how functional and non-
functional requirements affect the context, and how
context modeling affects system design and
implementation.
Our contributions are three fold. First, we show the
whole process of context-aware system development.
To the best of our knowledge, there are only few
studies that describe how to apply software
engineering techniques to a real context-aware system.
Second, we show how non-functional requirements
affect context and context attributes. Third, we show
how to model context from context attributes and how
to design classes.
The remainder of the paper is organized as follows.
In Section 2, we discuss other works that are closely
related to our work. Then we introduce some
background and motivation for our context-aware
Ninth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing
978-0-7695-3263-9/08 $25.00 © 2008 IEEE
DOI 10.1109/SNPD.2008.92
834
Ninth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing
978-0-7695-3263-9/08 $25.00 © 2008 IEEE
DOI 10.1109/SNPD.2008.92
840