From Scenarios to Requirements in Mobile Client-Server Systems

From Scenarios to Requirements in Mobile Client-Server Systems

Alf Inge Wang (Norwegian University of Science and Technology, Norway), Carl-Fredrik Sørensen (Norwegian University of Science and Technology, Norway), Hien Nam Le (Norwegian University of Science and Technology, Norway), Heri Ramampiaro (Norwegian University of Science and Technology, Norway), Mads Nygård (Norwegian University of Science and Technology, Norway) and Reidar Conradi (Norwegian University of Science and Technology, Norway)
Copyright: © 2009 |Pages: 22
DOI: 10.4018/978-1-59904-699-0.ch004
OnDemand PDF Download:


This chapter describes a requirement analysis framework that may be used as a tool for developing client-server systems for mobile workers. The framework concerns the initial analysis process for the development of a mobile system starting by describing scenarios of the work of mobile workers and resulting in a description of priorities both nonfunctional and functional requirements of the end-system. The framework describes a three step requirement process that includes 1) Elicit scenarios, 2) Scenario analysis, and 3) Requirement analysis. These steps will produce outputs that will be used to assess the requirements of the system. The requirement analysis process is described in detail through templates used to produce output and illustrating examples from the analysis of the development of mobile ITsupport system.
Chapter Preview


The development in mobile computing has changed the way we communicate and work. Mobile phones, smart phones, and PDAs, whose computing capacities become more and more powerful in terms of processing speed, storage capacity and operating time, have become necessary tools through functionality such as SMS, calendars, and WAP-browsers. The more powerful mobile devices have made it possible to create software systems for mobile workers that can better support and also improve their work processes. Such systems typically consist of various mobile clients connected to a server. They provide the mobile worker with information related to the running of planned tasks, and opportunities for filling in forms and reports on various locations, while being on the move.

At the same time, many wireless network technologies are also developed and deployed, for example, Bluetooth, wireless USB, wireless LAN or Universal Mobile Telecommunications System (UMTS). Many mobile devices can communicate with other electronic devices in the working environment, making it possible to make measurements and take advantage of services in the work environment through wireless communication. The environment for accessing and processing information is rapidly changing from stationary to mobile and location independent. This new work environment, called the mobile work environment, allows people to work in flexible and efficient ways.

A mobile environment is different from traditional distributed environments due to its unique characteristics such as the mobility of users or computers, the limitation of computing capacity of mobile devices, and the frequent and unpredictable disconnection of wireless networks (Forman & Zahorjan, 1994; Satyanarayanan, 1996). Therefore, development of mobile systems is different from development of distributed systems. In other words, when designing a mobile system, we have to overcome challenges due to physical mobility of the clients, the portability features of mobile devices and the fact that the communication is wireless. Thus, it is important that these issues are examined carefully when considering the system requirements, in terms of both functional and nonfunctional requirements. As defined in Sindhgatta and Thonse (2005), (IEEE), functional requirements include all the logical and specific behaviours of a system, while nonfunctional requirements concern the overall characteristics of the system-like performance, reliability and security. Note that, in mobile systems, the nonfunctional requirements play vital roles in system development.

We have developed a requirement analysis framework that examines important issues to be considered when designing and developing such mobile systems. The framework concerns the initial analysis process in the development of a mobile system starting by describing scenarios of the work of the mobile workers1, and resulting in a description of priority, nonfunctional and functional requirements of the end-system.

In this chapter, we will describe the MOWAHS analysis framework consisting of a process, the characterisation of scenarios, computation of complexity indicators, and determination of nonfunctional and functional requirements. One important goal of this framework is to identify the parts that are most complex and perhaps hardest to implement in a mobile support system. The framework has previously been successfully used to analyse mobile scenarios such as mobile journalists, mobile researchers and m-learning (Ramampiaro, Wang, et al., 2003) to compare their characteristics. The framework has also been used to develop a mobile IT-support system (Wang, Sørensen, et al., 2005).

Our framework is aimed at development of systems for supporting any kind of mobile workers, like craftsmen, salesmen, emergency staff, police, public transportation drivers, and service staff. For system developers, we expect that they have a basic knowledge of software engineeringsoftware engineering for he/she to be able to use our MOWAHS framework to derive the requirements. This includes knowledge of all relevant phases in a software development life cycle (e.g., the waterfall model and the like). Knowledge of UML would also be useful.

Complete Chapter List

Search this Book:
Table of Contents
Pierre F. Tiako
Chapter 1
Alf Inge Wang, Carl-Fredrik Sørensen
This chapter presents a framework for differentiated process support in large software projects. Process support can be differentiated in different... Sample PDF
Differentiated Process Support for Large Software Projects
Chapter 2
Holger Giese, Stefan Henkler, Martin Hirsch, Vladimir Rubin, Matthias Tichy
Software has become the driving force in the evolution of many systems, such as embedded systems (especially automotive applications)... Sample PDF
Modeling Techniques for Software-Intensive Systems
Chapter 3
Jaroslav Král, Michal Žemlicka
Software intensive systems are systems strongly depending on supporting software. The software is typically large, complex, and it as a rule... Sample PDF
Service Orientation and Software-Intensive Systems
Chapter 4
Alf Inge Wang, Carl-Fredrik Sørensen, Hien Nam Le, Heri Ramampiaro, Mads Nygård, Reidar Conradi
This chapter describes a requirement analysis framework that may be used as a tool for developing client-server systems for mobile workers. The... Sample PDF
From Scenarios to Requirements in Mobile Client-Server Systems
Chapter 5
Gan Deng, Douglas C. Schmidt, Aniruddha Gokhale, Jeff Gray, Yuehua Lin, Gunther Lenz
This chapter describes our approach to model-driven engineering (MDE)-based product line architectures (PLAs) and presents a solution to address the... Sample PDF
Evolution in Model-Driven Software Product-Line Architectures
Chapter 6
Ståle Walderhaug, Erlend Stav, Ulrik Johansen, Gøran K. Olsen
This chapter introduces a tracability solution for use in a model-driven software development approach. It argues that a trace model based on a... Sample PDF
Traceability in Model-Driven Software Development
Chapter 7
Gerhard Chroust, Erwin Schoitsch
When designing a complex software-intensive system it is unavoidable to make some a-priori basic assumptions about its architecture. We introduce... Sample PDF
Choosing Basic Architectural Alternatives
Chapter 8
Rafael Capilla, Margarita Martínez, Francisco Nava, Cristina Muñoz
Virtual reality systems are a kind of complex software systems that need a lot of effort and resources during its development phase. Because rigid... Sample PDF
Architecting Virtual Reality Systems
Chapter 9
Kendra M.L. Cooper, Lirong Dai, Renee Steiner, Rym Zalila Mili
This chapter presents a survey of software architecture approaches. It is intended for a broad audience of students, practitioners, and researchers... Sample PDF
A Survey of Software Architecture Approaches
Chapter 10
Daniel G. Waddington, Nilabja Roy, Douglas C. Schmidt
As software-intensive systems become larger, more parallel, and more unpredictable the ability to analyze their behavior is increasingly important.... Sample PDF
Dynamic Analysis and Profiling of Multithreaded Systems
Chapter 11
James H. Hill, Douglas C. Schmidt, John M. Slaby
This chapter introduces the next generation of system execution modeling tools designed around modeldriven engineering (MDE) coupled with... Sample PDF
Evaluating Quality of Service for Enterprise Distributed Systems
Chapter 12
Jules White, Douglas C. Schmidt, Andrey Nechypurenko, Egon Wuchner
Model-driven development is one approach to combating the complexity of designing software intensive systems. A model-driven approach allows... Sample PDF
Reducing the Complexity of Modeling Large Software Systems
Chapter 13
Enis Afgan, Purushotham Bangalore, Jeff Gray
Grid computing environments are dynamic and heterogeneous in nature. In order to realize applicationspecific Quality of Service agreements within a... Sample PDF
A Domain-Specific Language for Describing Grid Applications
Chapter 14
Jeff Elpern, Sergiu Dascalu
Traditional software engineering methodologies have mostly evolved from the environment of proprietary, large-scale software systems. Here, software... Sample PDF
A Framework for Understanding the Open Source Revolution
Chapter 15
Syed Ahsan, Abad Shah
With the proliferation of Web, a tremendous amount of data is available to researchers and scientists in computational sciences, business... Sample PDF
Quality Metrics for Evaluating Data Provenance
Chapter 16
Krishnakumar Balasubramanian, Douglas C. Schmidt, Zoltán Molnár, Ákos Lédeczi
With the emergence of commercial-off-the-shelf (COTS) component middleware technologies software system integrators are increasing faced with the... Sample PDF
System Integration Using Model-Driven Engineering
About the Contributors