models, such as AndroMDA; code, as in OpenXava;
or in existing databases such as Ruby On Rails.
Despite their reported benefits, we believe that all
these tools share a number of disadvantages derived
from the use of RDB: the need for modelling from
the start, that prevents users without development
skills to implement their own solutions (thus their
fail on overcoming "pragmatic" solutions as
spreadsheets); lack of flexibility in the
implementation of the scheme; and the difficulty of
evolution, since the process of generating the
application is unidirectional.
3 CASE STUDY
For illustration purposes, we present a simplified
version of a real project developed by Agilogy, an
application that manages the information of anthro-
pometric data and the visits of customers to a small
dietetics organization, Lalinia. Given this small size,
Lalinia couldn’t afford the development and exploit-
tation of an DBIS due to the high cost of this type of
solution. But on the other hand, Lalinia wouldn’t
accept the spreadsheet option due to the risks related
to the low level of data integrity. The most
fundamental factors for choosing MicroIS were:
Reduced information. The volume of data to
manage is limited enough as not to require a data
base with rich functionality.
Low development cost. Given the skeleton of the
MicroIS solution type, creating a new MicroIS as
the one for Lalinia becomes basically a
customization/adaptation process.
Flexibility. Since Lalinia didn’t have a similar
system before, the main stakeholders (basically,
the dietist and the secretary) were not sure of
knowing the appropriate system requirements in
advance. Even more, the stability of data
requirements along time was not guaranteed. As
a result, it was considered mandatory to be able
to add new structure to the information once new
requirements are gradually discovered.
Easy of use. It was a requirement that the
application didn’t interfere with the natural flow
of a client’s visit, so Lalinia accepted to allow
incorrect data entry during the visit that would be
correct at some later moment, or even could
eventually remain incorrect.
Data entry support. The system should be aware
of the data semantics so as to make possible their
input (choosing the values of an association from
a combo box, help fulfilling the constraints
bound to an attribute, etc.).
In Fig. 2, we show a possible scenario that
illustrates the factors above mentioned. The two
main types of information to store are represented in
a tabular form: the personal information and the
anthropometric data; in the second sheet each visit is
represented using a row (item). It may be observed
some of the situations that are typical in these
MicroIS related to data structuring:
Attributes which are specific to an item. For
instance, there is an item (Luisa Fernández) that
has a datum (the vacation home address) that, for
the rest of clients, is rarely known. These data
are not known in advance, i.e. each client may
provide some particular data and Lalinia wants to
be able to classify the information that is
considered useful instead of simply maintaining
it in a generic comment field. Also, it may
happen that at some future moment, one of this
datum becomes standard, either because a lot of
clients provide it, or because Lalinia discovers
some unexpected utility that increases its
criticality.
Document that has some potential errors. The
client Juan Pérez has not given his telephone
number but nevertheless Lalinia wants to keep
the rest of data of this item whilst the missing
information does not arrive.
Lack of structure. Whilst the weight is a data that
is sampled in each single visit, the height may be
just measured the first time, except for the case
of children and teenagers. But nevertheless, if the
dietist decides to measure the height beyond the
first visit, it must be possible to record the new
measure.
High variability. We may observe the different
forms in which the clients provide their contact
telephone number. Any attempt to anticipate to
all the possible cases and determine a structure in
advance is condemned to failure.
The proposed solution allows these situations to
exist but at the same time provokes some
vulnerability bound to the possible existence of
inconsistencies. These inconsistencies may appear at
the intra-sheet level (for instance, in the
Anthropometric Data sheet we may observe a
typographic mistake in the second client row, first
name, that should be the same than the row above)
or at the inter-sheet level (e.g., in this very sheet the
first and last names of the client are copied and
pasted manually from the contents written in the
Personal Data sheet, therefore if some data is
INFORMATION MICROSYSTEMS
59