CONTRIBUTION TO THE REQUIREMENTS ENGINEERING OF
VIRTUAL ENVIRONMENTS
Tereza G. Kirner
1
, Valéria F.M. Salvador
2
and Claudio Kirner
1
1
Methodist University of Piracicaba, Rodovia do Açúcar, Km 156, Piracicaba, SP, Brazil
2
University of São Camilo, Av. Nazaré, 1.501 – Ipiranga, São Paulo, SP, Brazil
Keywords: Requirements engineering, Virtual environments.
Abstract: This paper aims at contributing to the requirements engineering of virtual environments. Requirements
engineering is characterized by a process composed of the phases of elicitation, specification, and
evaluation, based on concepts from the software engineering area and on experience obtained through the
development of virtual environments. The requirements engineering process is described and exemplified
and the main conclusions are pointed out.
1 INTRODUCTION
Virtual Reality (VR) is an advanced interface
technology that enables the user to use the software
system as well as to perceive himself/herself inside
of the three-dimensional computer generated
environment. In this context, the user can explore
the virtual environment, what is made possible
through navigation, interaction and immersion
techniques (Vince, 2004).
Like for any software system, it is necessary to
define the virtual environment requirements
appropriately. However, the VR area is still very
recent, and does not count on enough studies on
requirements engineering for virtual environments
and applications. (Kim, 1999). The need to better
understand and specify the requirements of such
applications motivated this work.
This article intends to contribute for the
requirements engineering of virtual environments. A
process is presented, defined with basis on concepts
from software engineering and complemented by
contributions from experiences obtained through the
development of several virtual environments.
Section 2 summarizes virtual reality and
requirements engineering concepts; section 3 details
the requirements engineering process, applied to the
development of virtual environments; and the
conclusions are presented in section 4.
2 CONCEPTUAL FOUNDATIONS
2.1 Virtual Reality and Virtual
Environments
Virtual reality is a strong tendency in human-
computer interfaces (Myers, 1996). It is a
technology able to provide to the user immersion,
navigation and interaction in a three-dimensional
computer generated environment, using, for that,
multi-sensorial channels as vision, touch and
audition (Stuart, 1996; Vince, 2004). Besides the
keyboard and mouse, the user can use special
devices as gloves, head mounted displays, space
balls, joysticks, etc., that generate a "presence"
sense, which is a very important requirement of
virtual environments. Those devices, associated to
techniques and computer languages, make possible
the user to interact with the application, allowing the
exploration of the virtual environment and the
modification of objects in an easy and fast way - for
instance, showing, dragging, rotating and visualizing
objects under different view points.
An environment represents a certain space and
situation, including all its components, conditions
and objects. A virtual environment is an interactive
environment, generated by computer in a VR system
(Kirner; 1999; Kirner 2001).
142
G. Kirner T., F. M. Salvador V. and Kirner C. (2007).
CONTRIBUTION TO THE REQUIREMENTS ENGINEERING OF VIRTUAL ENVIRONMENTS.
In Proceedings of the Ninth International Conference on Enterprise Information Systems - HCI, pages 142-147
DOI: 10.5220/0002351701420147
Copyright
c
SciTePress
2.2 Requirements Engineering
Requirements represent the software system needs
and the constraints imposed on it. A requirement is a
condition or necessary capacity for a user to solve a
problem or reach an objective, concerning the
problem domain. Requirements engineering involves
the universe of information that compose the system
and all its stakeholders (Sommerville, 1997).
Requirements engineering is an essential phase
of the software system development process, that
comprises a complete definition of the external
behavior of the system, in terms of functional and
nonfunctional requirements. Several studies have
been pointed out that the inadequate definition of
requirements is responsible for a significant part of
defects in the software. The elimination of these
defects becomes more and more difficult and costly
as the software development process goes to its
subsequent phases of project and implementation
(Kirner, 1996).
The main phases of requirements engineering
are: elicitation, specification, and validation (Castro,
1995; Kirner, 1999). Such phases will be
summarized in the next section.
3 REQUIREMENTS
ENGINEERING PROCESS FOR
VIRTUAL ENVIRONMENTS
The process here described is based on software
engineering concepts (Sommerville, 1997), which
were adapted and complemented from a series of
lessons learned through the development of various
virtual environments, including those presented next.
VE-Museum (Virtual Environment of
Museum). It was developed to represent a
Historical Museum, which is a cultural place
for public visitation. This place has
collections of objects and historical
information (Kirner, 1999). Figure 1 presents
a view of that museum.
VE-Capoeira (Virtual Environment of
Capoeira). It was developed as part of a
collaborative virtual environment for
educational purposes, implemented as a
distributed, multi-user system (Kirner, 2001).
Figure 2 shows a scene modeled for the VE-
Capoeira.
VE-Engineerig (Virtual Environment for
Engineering). It was developed to give
support to the remote use of a Coordinate
Measuring Machine (CMM), used in the
construction of high precision mechanical
parts (Calonego, 2004). Figure 3 illustrates
the MMC, in a virtual reality scenery.
Figure 1: Virtual Museum.
Figure 2: Capoeira Scene.
Figure 3: Coordinate Measuring Machine.
Z axis
X axis
B axis
A axis
Touch
probe
Y axis
CONTRIBUTION TO THE REQUIREMENTS ENGINEERING OF VIRTUAL ENVIRONMENTS
143
3.1 Requirements Elicitation
The elicitation phase involves actions that aim to
capture and register information that will help in the
complete and correct understanding of the user
needs and expectations (Castro, 1995; Sommerville,
1997). The requested tasks can become complex,
since the stakeholders have experiences, knowledge,
previous concepts and different terminologies.
For the three considered virtual environments,
requirements elicitation applied techniques
traditionally used in the development of other types
of applications, such as: observation, interviews,
meetings, besides the identification and analysis of
pertinent documentation. In this context, three
elements were focused: the potential system users,
the tasks to be performed, and the system
environment.
3.1.1 System Users
There are several considerations regarding a system
user, among which it can be mentioned: if the
application will be mono-user or multi-user; if the
users will stand at their place or remotely; and if the
users will be experts or novices, in terms of use of
virtual reality applications.
For the VE-Museum, the users were any people
interested to know the place. Therefore, the system
should be user-friendly to allow the user not to get
lost in the system actions. The actions and the
people's interactions were observed in the real
environment of the Museum, along with interviews
that were performed with employees and the
studying of the history of the city. The virtual
environment was built as a mono-user system.
The VE-Capoeira theme was selected by the
users, children and teenagers. Besides, as the
objective was to create a collaborative environment,
to work in a distributed platform, it was necessary to
identify types of avatars (virtual objects that
represent the users) representative of the theme and
also attractive to the users.
For the VE-Engineering, the users were students,
teachers, and engineering researchers, working in
projects for production of specific mechanical parts.
Given the specificity of the subject, it was identified
the need to train the users for an appropriate and
efficient use of the virtual environment.
In the three mentioned environments, the
requirements elicitation involved a meticulous
exploration and observation of the real environment.
For the VE-Museum, there were taken pictures and
measurements of the whole environment and of
objects that composed it; for the VE-Capoeira,
besides pictures, there were developed texts, films,
music, etc.; for the VE-Engineering, the
configuration and operation manuals were studied.
That explained the location of the objects in the real
world and also showed details of the floors, walls
and illumination, which would help the future
construction of the virtual environment objects.
3.1.2 System Tasks
In the requirements engineering phase, it is essential
to define the goals of the application, the necessary
tasks to reach those goals, and how the tasks will be
accomplished in the system.
For the VE-Museum, it was defined that it would
be a replica of the real museum. Therefore, it was
modeled with the higher level of realism possible.
The tasks that should be accomplished by the users
are to "walk" around the environment, visit the
rooms of the Museum, sign the visitors' book,
consult data regarding the collection of available
objects, etc. Those tasks should be performed
through a workstation, in a mono-user platform.
For the VE-Capoeira, the theme “Capoeira” was
chosen and approved by most of the users.
Consequently, it was necessary to identify the main
tasks that the users could accomplish, besides simply
to "walk" in the environment. For this, there were
identified and studied the main Capoeira poses that
would be implemented later through graphic
modeling and animation techniques.
For the VE-Engineering, the level of realism of
the Coordinate Measuring Machine was fundamental
so that the users could accomplish the foreseen tasks
of modeling the parts. It was also essential to
understand the correct operation of the machine,
including the complete domain of all movements
and the commands for triggering those movements.
3.1.3 Application Environment
The application environment can be defined by
several ways, as the physical environment, the
working environment and the social environment.
For virtual environments, the definition of the
physical environment in which the system will work
deserves special attention. It is important to
highlight that the physical environment can
represent the real environment with realism or create
an imaginary representation of the reality.
For the VE-Museum, the physical environment
constituted a replica of the museum, based on the
modeling of the rooms, the representation of the
ICEIS 2007 - International Conference on Enterprise Information Systems
144
objects, and the drawing of the floor plan of the
building.
For the VE-Capoeira, there were identified
typical places of Capoeira games, as streets and
squares of Bahia, that were represented as sceneries
in the virtual environment.
For the VE-Engineering, it was created a scenery
representing a laboratory, not necessarily similar to
the real laboratory in which the machine was put.
3.2 Requirements Specification
3.2.1 General Functional Requirements
This specification aims to represent the requirements
by conceptual models (textual or in a graphic
notation) which describe the components and the
behavior of the intended software system.
The functional specification of the three
considered virtual environments were prepared in
Unified Modelling Language (Rational, 2006),
supported by the Rational Rose software (Fowler,
1997). Figure 4 shows a use case diagram prepared
for the VE Museum.
Figure 4: Use Case Diagram for the VE Museum.
3.2.2 Specific Functional Requirements
When a virtual environment is being developed, it is
important to consider three possible alternatives,
which interfere on the functional specification
(Stuart, 1996):
Alternative 1. When the virtual environment
will reproduce tasks performed by users in a
real environment and the intention is to show
this situation the way it is.
Alternative 2. When the users carry out
certain tasks in the real world, but the virtual
environment will reproduce such tasks
differently that they happen.
Alternative 3. When the intended virtual
environment will comprise the
accomplishment of tasks and interactions that
are not carried out in the real world.
In the VE-Museum, there was observed the
occurrence of the three situations indicated above.
Through the elicitation process, there were verified
the tasks that should be accomplished in the same
way that the real environment, such as to walk in the
environment, open and close doors, turn on and turn
off lights, visualize pictures and objects, sign the
Visitors’ Book, etc. Besides, it was defined the
inclusion of some tasks in the virtual environment
that could not be executed in the real world, such as
to change rooms without moving through the floor
plan of the museum. In addition, other tasks of the
real environment were also executed in the virtual
world, but in a different way, such as to visualize
information through graphs placed in a walk-through
environment.
In the other two considered virtual environments,
there were also defined similar requirements to those
defined for the VE-Museum, for subsequent project
and implementation.
3.3 Nonfunctional Requirements
3.3.1 General Nonfunctional Requirements
Nonfunctional requirements are related to software
aspects, hardware characteristics or external factors,
which determine conditions or constraints to the
behavior of the intended system. Among these
requirements, it is important to point out the
following ones (Kirner, 1996; Sommerville, 1997):
Performance. It is usually related to the
fulfillment of processing demands, response
time, resource utilization, throughput and
efficiency of system processes.
Usability. It comprises the fulfillment of
criteria related to understanding and easiness
of use of the system and level of the user
satisfaction with the system.
Security. It concerns the probability of the
system in defending itself from accidental or
intentional attacks, that can occur through
Guest
Interact
Interact with
the system
Visualize objects
Open/close door
Visualize graphics
Turn off/off
the light
Go to the visualization room
Give opinion about the
system
Visualize information
on the objects
Answer
extends
extends
extends
extends
Start/stop music
extends
Select room
extends
Access the chat
extends
extends
extends
extends
extends
Walk
through the environment
CONTRIBUTION TO THE REQUIREMENTS ENGINEERING OF VIRTUAL ENVIRONMENTS
145
improper access, denied use, and partial or
total destruction.
Reliability. It is associated to the ability of
the system to behave in accordance with what
was previously specified, during a certain
period of time and with the foreseen
resources.
Other requirements, as portability,
maintainability, accessibility, etc. (Kirner,
1996; Sommerville, 1997).
Virtual environments need to fulfill
nonfunctional requirements, which should be clearly
specified.
In the three focused virtual environments, special
attention was given to usability issues. The
increment of usability was seek, from the
requirements engineering phase, by the
identification of ways to make the navigation and
interaction easy and fast, such as: forecast of
previously defined routes to optimize the exploration
and walk-through in the environment; easiness of
alteration of view points by the user; inclusion of
explanatory texts; definition of clear metaphors;
identification of techniques and software for editing
images and modeling objects, aiming to build
graphic scenes that do not interfere on the system
response time to the user interactions.
The explanation of other nonfunctional
requirements, specified for the three considered
virtual environments, can be obtained in (Calonego,
2004; Kirner, 1999, Kirner, 2001).
3.3.2 Specific Nonfunctional Requirements
Besides the quality aspects stressed in the previous
sub-section, virtual environments have peculiarities
that demand the accomplishment of additional
nonfunctional requirements (Stuart, 1996; Vince,
2004). In this sense, it is expected that a virtual
environment can be:
Synthetic. It means that the virtual
environment should be generated in real-time
by the computer system, which does not
happen with multimedia systems, in which
the presentations are previously recorded
before they are executed.
Tri-dimensional. It means that the physical
environment that surrounds the user should
be modeled in three dimensions, and that the
user can walk around that environment.
Multi-sensorial. It means that the
environment should include resources to
stimulate different human senses, as vision,
audition, touch, space sense, depth, etc.
Immersive. It means that, besides visualizing
the scenes and hearing the sounds, the user
should have the impression that he/she is
really inside the virtual environment.
Interactive. Such a requirement makes
possible the detection of stimulus sent by the
user and, instantly, the promotion of actions
capable to modify scenes and objects in the
virtual environment.
Realistic. It refers to the level of precision
and conformity that the virtual environment
presents compared to the representation of
the real world.
With presence. It is characterized by a
subjective sense that the user is physically
inside the virtual environment and, many
times, participating actively of this
environment.
4 REQUIREMENTS
EVALUATION
The objective of the evaluation is to assure that the
specification really represents the problem domain
and the user needs. It is important, in this phase, that
the stakeholders that participated in the previous
phases are also involved, so that it is possible to
make the validation and verification of the
requirements described (Castro, 1995).
A series of techniques exists for evaluation of the
quality of the requirements, including those that are
associated directly to virtual reality applications.
For the three considered virtual environments,
the requirements evaluation, in general, was
performed in an informal way, through consultations
to several people. Such approach of continuous
evaluation was facilitated because the systems had
been developed following a prototyping approach.
Among the three analyzed virtual environments,
the only one which was systematically evaluated
concerning its usability characteristics was the VE-
ICEIS 2007 - International Conference on Enterprise Information Systems
146
Capoeira. For this, an heuristic evaluation was
performed, involving two usability specialists and
including the participation of students. This
evaluation identified some deficiencies, such as:
difficulty on operating some navigation commands;
use of technical language, in certain screens;
inadequate organization of graphic objects that
compose the user libraries.
Based on the evaluation results, a plan of
usability improvement for the VE-Capoeira was
prepared.
5 CONCLUSION
This work focused on requirements engineering, a
critical phase of software development, aiming to
contribute specifically for the elicitation,
specification and evaluation of virtual environments
requirements. The requirements engineering process
for virtual environments was outlined, taking into
account the concepts originating from the software
engineering, complemented by the experience
obtained through the development of three virtual
environments: VE-Museum, VE-Capoeira, and VE-
Engineering.
Several improvements would be necessary in the
considered virtual environments, mainly relating to
the evaluation of these systems.
The experience in the development of these
virtual environments made possible to identify a
series of needs, that could be fulfilled through the
investment in research related to topics as those
related as follow.
Definition of taxonomies for the
categorization of virtual environments, that
could be adopted in studies of existing and
potential environments.
Use of methods for elicitation, specification
and evaluation of requirements, that were
compatible with the peculiarities of the
different types of virtual environments. New
techniques and languages of specific purpose,
that could facilitate the identification and
representation of characteristics related to the
tri-dimensional representations (including
requirements of color, light, scale, point of
view, animation, etc.), would be very useful.
Empirical studies for the investigation of
nonfunctional requirements for virtual
environments, with emphasis on usability
aspects, mainly those related to aspects of use
of browsers and special devices, as gloves,
glasses and head mounted displays.
Empirical studies that investigate the
characteristics of potentials users of virtual
environments and behavior issues of these
users when using the environments.
Experience with virtual environments has
shown that people behave differently to the
interaction, navigation and immersion
propitiated by virtual reality applications.
New research will contribute to the progress of
the area, offering effective subsidies for the
professionals and final users involved in virtual
reality environments.
REFERENCES
Calonego Jr, N.; Kirner, C.; Kirner, T.G.; Abackerli, A.J.,
2004. Implementation of a virtual environment for
interacting with a numeric command machine. In
Proceedings of the 3rd IEEE VECIMS Int.
Conference, Boston, MA, USA, pp. 125-130.
Castro J.F.B., 1995. Introduction to Requirements
Engineering. Tutorial, JAI/SBC, Canela, RS, Brazil.
Fowler, M.; Scott, K., 1997. UML Distilled – Applying
the Standard Object Modeling Language. Addison-
Wesley, Reading, MA, USA.
Kim, G.J. et all., 1999. Software engineering of virtual
worlds. In Proceedings of the ACM VRST Symposium,
Taipei, Taiwan, pp. 131-138.
Kirner, T.G., Davis, A.M., 1996. Nonfunctional
requirements of real-time systems. In Advances in
Computers (Zelkowitz, M., Ed.). Volume 42,
Academic Press, pp. 1-37.
Kirner, T.G., Martins, V.F., 1999. A model of software
development process for virtual environments. In
Proceedings of the 2nd IEEE ASSET International
Symposium. Richardson, USA, pp. 155-161.
Kirner, T.G., Kirner, C., Kawamoto, A.L., Wazlawick,
R.S., 2001. Development of a collaborative virtual
environment for educational applications. In
Proceedings of the ACM WEB3D International
Conference, Paderborn, Germany, pp. 61-68.
Myers, B.A.; Hollan, J.; Cruz, I., 1996. Strategic directions
in human-computer interaction. ACM Computing Surveys, v.
28, n. 4, pp. 794-809.
Stuart, R., 1996. The Design of Virtual Environments.
McGraw-Hill, Fairfield, PA, USA.
Sommerville, I; Sawer, P., 1997. Requirements
Engineering: A Good Practice Guide. John Wiley &
Sons, England.
Vince, J., 2004. Introduction to Virtual Reality. Springer-
Verlag, Germany.
RATIONAL, 2006. UML. www.rational.com/uml.
CONTRIBUTION TO THE REQUIREMENTS ENGINEERING OF VIRTUAL ENVIRONMENTS
147