Está en la página 1de 11

Evaluacion de la Calidad de Software en Sistemas de Informacion en

Internet
Leticia Davila Nicanor, Pedro Meja Alvarez
CINVESTAV-IPN. Seccion de Computacion
Av. I.P.N. 2508, Zacatenco. Mexico, DF. 07300
ldavila@computacion.cs.cinvestav.mx, pmejia@cs.cinvestav.mx

Resumen pos de investigacion, de los cuales uno de los mas


A pesar del gran numero de artculos de investigacion y destacados es el modelo de McCall [1]. Este modelo
normas existentes sobre el tema de validacion de calidad establece tres areas principales que intervienen en la
del producto de software, existen hoy en dia muy pocas In- calidad del software:
dustrias de Software que utilicen procesos de evaluacion y
analisis para este efecto. Actualmente, la gran mayora de 1. Calidad en la operacion del producto. Re-
estudios estan enfocados a las actividades de administra- quiere que el software pueda ser entendido
cion de los proyectos de desarrollo de software. En diversos facilmente, que opere eficientemente y que los
entornos industriales y academicos, la calidad del softwa- resultados obtenidos sean los requeridos inicial-
re ha sido evaluada (validada) mediante distintos estudios mente por el usuario.
analticos. De dichos entornos, la evaluacion de la calidad
del software ha evolucionado hacia modelos formales es- 2. Revision de la calidad del producto de softwa-
tadsticos que se basan en metricas como fundamento para re. Tiene como objetivo realizar revisiones du-
el aseguramiento, control y evaluacion de la calidad de un rante el proceso de desarrollo para detectar los
producto o proceso de software. Grandes companas co- errores que afecten a la operacion del producto.
mo IBM, Hewlett Packard, Motorola y Siemens, entre otras,
fundamentan su marco de produccion de software con este 3. Calidad en el proceso. Requiere de la definicion
enfoque estadstico, lo cual las ha convertido en pioneras de de estandares y procedimientos que sirvan como
este campo. base para el desarrollo del software.
La contribucion del presente trabajo esta dirigida al desa-
rrollo de una metodologa para la evaluacion y el analisis de Otro modelo que es importante resaltar es el de
los atributos de calidad en los productos de software para Boehm [1]. Este modelo, descrito en la Figura 1, des-
Internet. En este trabajo, empleamos la teora de modela- taca por ser uno de los mejor definidos. El modelo es
cion estadstica para el analisis y evaluacion de los atributos de naturaleza jerarquica y los criterios de calidad se
de calidad. Nuestro principal objetivo es lograr que esta me- presentan en tres grandes divisiones. La primer divi-
todologa sirva de modelo para cualquier organizacion que sion es hecha acorde a los servicios que el sistema
requiera llevar a cabo la validacion de los atributos de cali- ofrece (Portabilidad). La segunda se hace de acuerdo
dad en sus productos de software. a la operacion del producto (Usabilidad) y la tercera
Palabras Clave: division se hace de acuerdo a la Mantenibilidad del
Sistema de Informacion en Internet, Calidad, Confiabilidad, producto de software.
Metricas de Software, Evaluacion, Modelos Estadsticos, Indepenencia
de dispositivo
Portabilidad
PSP Ser contenedores

Presicin

Completitud

1 Introduccion Integridad /
Robustez

Confiabilidad Consistencia

Lograr un alto nivel de calidad de un producto o servi- Utilidad general Usabilidad Eficiencia
Compatibilidad

cio es el objetivo de la mayora de las organizaciones Ingeniera social


Eficiencia
del dispositivo

que desarrollan software. La administracion de la ca- Accesibilidad


Pruebas
lidad del software utiliza procedimientos y estandares Mantenibilidad
Comunicacin

durante el desarrollo del software, ademas del corres- Claridad

pondiente proceso que verifica que todo el personal Entendibilidad


Estructuracin.

Consistencia
siga estos estandares. En un esfuerzo por definir el Legalidad
concepto de calidad, algunos autores argumentan que Modificabilidad Crecimiento
un atributo de calidad puede contribuir a la obtencion
de mejoras en el funcionamiento y operacion del soft- Figura 1: Modelo de Boehm para Clasificar los Crite-
ware. rios de Calidad
De acuerdo a la terminologa de la IEEE [1], la cali- De acuerdo al estudio de Perry [1], descrito en la Fi-
dad de un sistema, componente o proceso de desarro- gura 2, es posible observar que la relacion que man-
llo de software, se obtiene en funcion del cumplimien- tienen los atributos de calidad vara. Cuando los atri-
to de los requerimientos iniciales especificados por el butos mantienen una relacion inversa, se asume que
cliente o usuario final. algunos atributos transgreden la operacion de otros.
Las especificaciones de la calidad de un producto Por otro lado, cuando los atributos mantienen una re-
de software han sido objeto de trabajo de varios gru- lacion directa se asume que es posible que estos se
puedan beneficiar entre s. Por ejemplo, si observa- Seguridad. Representa la capacidad de que el
mos el aspecto de Confiabilidad, veremos que la Reu- sistema no afecte su entorno y el de quien lo utili-
sabilidad le afecta; por el contrario la Mantenibilidad za.
le favorece. Esto es debido a que la Confiabilidad se
refiere a la seguridad de la operacion sin errores de Proteccion. Representa la capacidad del sistema
un sistema, modulo o funcion. Mientras que el obje- para protegerse a si mismo de intrusiones acci-
tivo de un codigo reusable es que un mismo codigo dentales o programadas.
pueda operar en distintos ambientes de desarrollo; lo
que aumenta la probabilidad de tener errores difciles Sin embargo la Disponibilidad, Seguridad y Protec-
de percibir dentro del codigo. Por el contrario la Mate- cion se ven afectadas por la Fiabilidad.
nibilidad se enfoca a reducir el numero de errores de Para evaluar la Fiabilidad debemos tomar en cuen-
un sistema, modulo o funcion. La conclusion del estu- ta que los sistemas de software no son entidades
dio es que los atributos de calidad que debe tener un estaticas. La Fiabilidad de un sistema se complica
producto de software dependen en gran medida del a medida que este crece. Es posible caracterizar el
objetivo del desarrollo del producto de software, de su comportamiento de la Fiabilidad estudiando el com-
proceso de desarrollo y de su contexto de operacion. portamiento de las fallas. Para lo cual podemos con-
En nuestro trabajo proponemos una metodologa siderar por ejemplo el tiempo de arribo de fallos, el
para la validacion de los atributos de calidad en los numero de fallos ocurrido en un tiempo determinado,
sistema de informacion en Internet. Este artculo esta la media del tiempo de ocurrencia de fallas. En to-
compuesto por las siguientes secciones. La Seccion dos estos casos estamos afectados por variables alea-
2 describe los atributos de calidad y la importancia de torias. Podemos realizar modelos subsecuentes del
los sistemas de informacion en internet. En la Sec- comportamiento de las fallas tratandolas como parte
cion 3 se describe la metodologa que proponemos de un proceso estocastico.
para evaluar el sistema de informacion. As mismo, Cuando el software falla es necesario localizar y re-
en esta seccion se describe el proceso de modelado parar las fallas que causan los errores del sistema.
estocastico y el proceso de evaluacion que seguire-
mos en la metodologa propuesta. En la Seccion 4 se 2 Sistemas de Informacion en In-
decribe un caso de estudio que nos permitira evaluar
nuestra metodologa. Finalmente en la Seccion 5 ex- ternet
pondremos las conclusiones de nuestro trabajo. Debido a la importancia que la calidad de software en
Correciones C
Internet ha despertado en los ultimos anos, la Confe-
rencia Internacional de la Ingeniera de Software del
Confiabilidad C
ano 2002 (ICSE 2002) se centro en los aspectos de
Eficiencia E Calidad para los Sistemas en Internet [4], [5]. En es-
Integridad I ta conferencia se concluyo que los criterios de calidad
Usabilidad U
mas importantes son los siguientes:
Mantenibilidad M
Fiablidad
Pruebas
P

Flexibilidad F Usabilidad
Portabilidad
P Seguridad
Reusabilidad R
Interoperabilidad Disponibilidad
I

Figura 2: Relacion entre los atributos de calidad para Escalabilidad


un producto de software. Las marcas obscuras impli- Mantenibilidad
can una relacion inversa, y las marcas claras expresan
una relacion directa Con lo descrito anteriormente, es posible darnos
cuenta que el estudio de los atributos de calidad pa-
1.1 Confiabilidad ra sistemas de software puede ser muy extenso. Por
lo tanto, en este trabajo nos centraremos en los siste-
La confiabilidad de un sistema de computo es una pro- mas de informacion en Internet, debido a la importan-
piedad que implica el grado de confianza esperado por cia que estos han adquirido en anos recientes.
parte del usuario en la operacion adecuada del siste- La red Internet fue originalmente disenada para
ma al utilizarlo. La Confiabilidad se ve afectada por transportar informacion de forma rapida y eficiente a
cuatro espectos fundamentales [2], [3]: cualquier parte del mundo. As mismo, la Internet fue
disenada para presentar informacion, mediante una
Disponibilidad. Define la probabilidad de que el apariencia sencilla, con sitios (o portales) sin una com-
sistema este funcionando en un tiempo determi- plejidad significativa, ya que su contenido era primor-
nado. dialmente de texto e hipervnculos. Sin embargo, a
medida que fue creciendo la Internet, las aplicaciones
Fiabilidad. Es la probabilidad de que el sistema se volvieron mas complejas y con mayores demandas
funcione correctamente durante un intervalo de de Confiabilidad. Algunos ejemplos de estas aplica-
tiempo. ciones son el comercio electronico, las aplicaciones
distribuidas, las Intranets, etc. Mucha de la comple- Es importante mencionar que los 3 pasos de esta
jidad asociada al desarrollo de aplicaciones en Inter- metodologa se utilizan actualmente en muchas indus-
net, tiene que ver con el proceso de desarrollo elegido trias de software. Sin embargo, hasta donde hemos
y tambien con la integracion de los elementos que las podido investigar, el primer paso no esta formalizado
conforman. Cada da, un mayor numero de organiza- en la literatura actual, y por otro lado, ha habido poca
ciones manejan su informacion por medio de sistemas divulgacion por parte de las industrias de software de
en Internet, por lo cual, se demanda una mayor cali- los procesos que siguen para conseguir calidad. Por
dad en todos los aspectos, para este tipo de sistemas esta razon, la contribucion de este artculo consiste en
de software. la formalizacion de la evaluacion de la calidad para los
productos de software.

3 Establecimiento de la Metodo- 3.1 Fases de la Metodologa


loga Las fases utilizadas en nuestra metodologa son las
siguientes:
El objetivo de este trabajo es el desarrollo de una me-
todologa para la evaluacion del comportamiento del 1. Evaluacion del atributo de calidad en el siste-
atributo de calidad Confiabilidad en los sistemas de ma ideal.
informacion en Internet. La meta en esta fase, es obtener un modelo que
Los objetivos particulares de la metodologa son los describa el comportamiento de los atributos de
siguientes: calidad para un sistema ideal. Para el funciona-
miento del sistema ideal se utilizaran tecnicas de
1. Evaluacion y Prediccion de la Calidad. simulacion. Con la simulacion operando aplica-
remos el proceso de evaluacion y el analisis que
En este objetivo se pretende evaluar y predecir
describiremos en la seccion 3.3. El modelo obte-
la calidad del producto de software mediante la
nido servira de gua durante el desarrollo del pro-
aplicacion de metricas de software y modelos es-
ducto (sistema real) de software.
tadsticos. Con el apoyo de las tecnicas de mo-
delacion estadstica [7] realizaremos un analisis Es importante destacar, que los productos de
del comportamiento del sistema y de sus atributos software en Internet tienen caractersticas y ne-
de software. Los resultados de nuestro analisis cesidades diversas, aunque el contexto de ope-
seran evaluados mediante un caso de estudio, en racion sea el mismo (la Internet). Utilizar un mo-
donde evaluaremos el comportamiento del siste- delo ya establecido que sirva de gua para todos
ma bajo condiciones ideales y las compararemos los productos resulta poco fiable; debido a que
contra la operacion del sistema en un contexto los requerimientos son distintos en cada produc-
real. Una vez hecha esta comparacion, seremos to. Por lo tanto, es necesario obtener el modelo
capaces de evaluar que tan lejos esta el compor- que mejor se ajuste a las necesidades particula-
tamiento de nuestro sistema del funcionamiento res de cada producto de software. Ademas, el
ideal. modelo obtenido no sera el mismo para todos los
atributos de calidad de software a evaluar, debido
2. Mejora de los Procesos. a que cada atributo evalua diferentes propiedades
del sistema.
En este objetivo se busca introducir el modelo
PSP (Proceso de Software Personal) [6] al pro- 2. Evaluacion del atributo de calidad en el siste-
ducto de software, en busca de mejoras del pro- ma real (inicial).
ceso y producto. La introduccion del Proceso de En esta fase nuestra meta es obtener el modelo
Software Personal en nuestra metodologa, nos que exprese la situacion cualitativa del producto
permitira mejorar el funcionamiento del producto de software. El sistema real, es un sistema de
de software, y con ello mejorar el comportamiento informacion en Internet para inscripciones en una
de los atributos de calidad. Universidad. Mediante la evaluacion del compor-
tamiento del sistema real y del analisis de los re-
3. Administracion de la Calidad. sultados conoceremos la situacion actual del atri-
En este objetivo se implementara un proceso de buto de calidad de interes.
administracion de calidad y las actividades clave El proceso de evaluacion y analisis de los resulta-
del proceso para el aseguramiento, la planeacion dos para el sistema ideal y real se describe en la
y el control de la calidad del producto. Seccion 3.4.

Los primeros 2 pasos de esta metodologa se reali- 3. Implementacion del Proceso de Mejora.
zan en forma iterativa hasta que los atributos de cali- El objetivo de esta fase es aplicar PSP (Proceso
dad esten tan cercanos al ideal como se requiera. de Software Personal) al desarrollo del producto
En este artculo, nos centraremos en la primera par- de software, con el fn de mejorar el desempeno
te de esta metodologa, que consiste en la evaluacion de los atributos de la calidad en el producto de
y prediccion de la calidad del producto de software. software. Las condiciones del ambiente de de-
La implementacion del modelo PSP y la administra- sarrollo y el tipo de producto de software influyen
cion de la calidad del producto de software estan ac- en la seleccion del proceso de mejora. Ademas,
tualmente en fase de desarrollo, por lo cual no seran es importante tomar en cuenta como entradas las
descritos en este artculo. necesidades de calidad de la organizacion.
4. Evaluacion del sistema final. Nuestro problema radica en estudiar el comporta-
Para cuantificar las mejoras obtenidas con la im- miento de la Fiabilidad en los sistemas de Informacion
plementacion del proceso de mejora (PSP) eva- en Internet. En la gran mayora de los casos este tipo
luaremos nuevamente el atributos de calidad del de sistemas estan conformados por un gran numero
producto de software. Esperamos que el modelo de modulos. La tendencia al crecimiento en cuanto al
resultante se acerque al comportamiento del mo- tamano del sistema se ve influenciada por el volumen
delo ideal. De cualquier forma, dependiendo de de informacion que normalmente manejan. En la ma-
los requerimientos de calidad esperados se deci- yora de los tipos de modelos, el tamano del sistema
dira el numero de iteraciones Evaluacion-Mejora a analizar viene a ser una restriccion. Por otro lado es
necesarias. importante contemplar que la metodologa se enfoca a
organizaciones, por lo cual el tipo de modelo seleccio-
5. Analisis de los resultados y conclusiones. nado no debe ser demasiado complicado. De acuerdo
al anterior analisis de tecnicas de modelado conclui-
Despues de aplicar el proceso de mejora un mos que la opcion que mejor se adapta a nuestro ob-
numero determinado de veces, llegaremos a ob- jetivo es la obtencion de Modelos Estadsticos, la cual
tener la calidad deseada en el producto de soft- describiremos a detalle y la aplicaremos a un caso de
ware. En esta fase, se llevara a cabo un analisis estudio.
de las evaluaciones obtenidas del producto de
software, as como la identificacion y la cuantifi-
cacion de la mejoras obtenidas durante el proce- 3.3 Empleo de Modelos Estadsticos
so. As mismo, se llevara a cabo una comparacion Los modelos estadsticos tienen su base en el estudio
de los objetivos planteados contra los objetivos de poblaciones. Una poblacion es un conjunto limi-
alcanzados. Este analisis debera registrarse en tado de individuos o elementos de la misma especie
bitacoras, ya que servira para mejorar la calidad sometidos a un estudio estocastico. Estos elementos
de productos de software futuros. tienen propiedades fundamentales en comun, que son
la base para clasificar a la poblacion.
En nuestro caso, el objeto de estudio (o la pobla-
3.2 Tecnicas de Modelado cion) son los atributos de calidad de software. Las
Existen diversas tecnicas de modelado como son las metricas de software permiten evaluar a la poblacion.
Cadenas de Markov, Redes de Petri, Verificacion de Nuestro interes consiste en estudiar la tendencia del
modelos (Model Checking), Modelos Estadsticos . comportamiento de los atributos de calidad (en par-
ticular la Confiabilidad) del producto de software. Para
Cadenas de Markov. Es una serie de eventos en lo cual nos proponemos evaluar y analizar el compor-
la cual la probabilidad de que ocurra un evento tamiento de los atributos de calidad asociados a un
depende del evento inmediato anterior. Sin em- producto de software mediante el estudio de su distri-
bargo no se recomiendan para modelar Fiabili- bucion estadstica. La evaluacion del comportamien-
dad, debido a que no distinguen entre los fallos to de estos atributos la realizaremos con metricas de
seguros y los no seguros, por otro lado no toman software, y sus resultados los describiremos median-
en cuenta el proceso de restauracion o reparacion te histogramas. El problema fundamental consiste en
en un sistema [8]. reemplazar el histograma por una curva teorica o mo-
delo que represente una ley de probabilidad. Esta ley
Redes de Petri. Son grafos orientados a la mode- de probabilidad sera la imagen definitiva de la pobla-
lacion mediante nodos llamados lugares que re- cion de las metricas de software estudiadas, y permi-
presentan estados o acciones y transiciones que tiran describir el comportamiento del atributo de cali-
representan eventos, normalmente este modela- dad.
do se representa por conjuntos de cuadruplas. A El procedimiento para obtener el modelo estadstico
medida que crece el sistema, el numero de nodos consiste de los siguientes pasos.
y de transiciones aumenta y como consecuencia
el numero de variables que maneja se va multipli- 1. Escoger el tipo de ley de probabilidad que nos
cando [9]. proponemos asociar a la poblacion. Esta ley
podra tener un origen puramente emprico; por
Verificacion de modelos (Model Checking). Es un ejemplo, el histograma de los errores que ocurren
modelo que se basa en la especificacion formal durante un lapso de tiempo en la operacion de un
de los modulos o programas que son representa- producto de software. Ejemplos de estas leyes
dos por sistemas de transicion con estados. Pero podran ser, la distribucion de Weibull, la Normal,
cuando el espacio de estados es demasido gran- la de Poisson, o la Gamma.
de, este enfoque resulta inapropiado [10].
2. Evaluar los parametros contenidos en la ley esco-
Modelos Estadsticos. Es un modelo orientado al gida. Una ley contiene parametros que dependen
estudio de poblaciones (por ejemplo metricas de de la poblacion estudiada. La modelacion nos
software). El cual se puede expresar como una proporciona las expresiones para obtener el va-
relacion entre entidades a las que se les repre- lor de estos parametros para todos los modelos.
senta mediante funciones de distribucion. Lo que
lleva a la obtencion de una ley de probabilidad 3. Comparar la ley escogida. Una vez escogido el
que representa el comportamiento de los atribu- tipo de ley y valorados los parametros numericos,
tos de dicha poblacion [11]. debemos verificar que la ley esta de acuerdo con
la poblacion estudiada. El resultado de la com- El presupuesto asignado al desarrollo del
paracion puede ser favorable o desfavorable. Si producto de software. El presupuesto tiene
es favorable, expresara que la ley escogida re- un impacto directo en la seleccion del per-
presenta fielmente a la poblacion estudiada. De sonal, de los componentes utilizados y del
lo contrario, sera necesario buscar otra ley que tiempo de desarrollo del producto de softwa-
represente mejor el comportamiento de la pobla- re.
cion.
Las condiciones de calidad impuestas por la
organizacion.

3.4 Proceso de Evaluacion y Modelacion Tiempo de evaluacion. En la seleccion de las


metricas tambien influyen las unidades de tiem-
El proceso para realizar la evaluacion del producto de po necesarias para realizar las mediciones. Estas
software, el analisis de los resultados y la modelacion pueden unidades pueden ser unidades de tiempo
se compone de los siguiente pasos. de CPU, das, semanas, meses o incluso anos.

1. Determinacion de las condiciones iniciales. 3. Proceso de Medicion.


Cada fase tiene su enfoque para valorar las condi- La medicion del software se refiere a derivar un
ciones del ambiente de operacion del producto de valor numerico para algun atributo de un produc-
software. Tomar en cuenta estas condiciones es to de software. El proceso de medicion es una
basico para el proceso de evaluacion. Por ejem- actividad clave, ya que de este depende que los
plo, algunas de estas condiciones podran ser: (a) resultados puedan ser fiables y faciles de evaluar.
las entradas del sistema, (b) sus restricciones, y
Los pasos a seguir en este proceso son los si-
(c) los servicios que proporciona el sistema.
guientes.
2. Seleccion del atributo de calidad y de sus
metricas de software. a. Seleccionar los componentes a evaluar.

Es fundamental definir el atributo de calidad de b. Medir las caractersticas de los componen-


software que pretendemos estudiar. En la selec- tes con las metricas de software.
cion del atributo influyen las necesidades priorita- c. Identificar las mediciones anomalas.
rias de cada organizacion en sus productos de
d. Analizar los componentes anomalos.
software. Una vez seleccionado el atributo de
calidad es necesario verificar su correspondiente
metrica. En la seleccion de las metricas influyen 4. Evaluacion de los resultados y seleccion del
los siguientes factores: modelo.

Tipos de metricas. Las metricas que se van a La evaluacion del proceso de medicion la reali-
emplear dependen del atributo de calidad a eva- zamos mediante el estudio de su distribucio es-
luar y de las condiciones de desarrollo y opera- tadstica. Los resultados de esta evaluacion per-
cion del sistema. Los atributos de software mas miten analizar el conjunto de datos obtenidos me-
comunes son los mostrados en las Figuras 1 y diante graficas conocidas como histogramas (los
2. Para cada atributo es posible que existan va- cuales pueden obtenerse mediante herramientas
rios tipos de metricas de software que se pueden como Arena). Los histogramas permiten repre-
aplicar. En algunos casos las metricas de soft- sentar los valores de la metrica contra su frecuen-
ware existentes no son aplicables al ambiente de cia. Estos histogramas nos daran una aproxima-
operacion del proyecto, o estas son difciles de cion al tipo de modelo que mejor se ajusta al com-
obtener. En estos casos es posible implementar portamiento de los resultados obtenidos. Nos in-
nuevas metricas que estan de acuerdo a las nor- teresa reemplazar el histograma por una ley de
mas de calidad de la organizacion. Companas probabilidad que mejor represente este compor-
como Motorola, IBM y Hewlett Packard han desa- tamiento. Esta ley de probabilidad sera el reflejo
rrollado metricas que se adecuan a su marco de del comportamiento de la poblacion de metricas
produccion [12]. estudiadas. La ley escogida nos podra indicar si
nuestra evaluacion fue correctamente realizada.
Condiciones de desarrollo. Las condiciones de
desarrollo del sistema permiten describir: 5. Estimacion de los parametros del modelo.
De acuerdo a la seccion 3.3, esta actividad es
Proceso de desarrollo de software utilizado.
parte fundamental en la obtencion del modelo.
Existen distintos procesos de desarrollo co-
Para la obtencion del modelo se usan diversas
mo son: (a) Proceso de desarrollo en cas-
tecnicas de metodos numericos, como el metodo
cada, (b) Proceso evolutivo, (c) Proceso en
de los MLEs (maximun - likelihood estimators), el
espiral, (d) Prototipado o (e) Reutilizacion de
metodo de los mnimos cuadrados, regresion po-
componentes.
linomial, entre otras. En ocasiones, es necesario
El personal involucrado en el desarrollo. De- aplicar varios metodos para llegar a resultados
pendiendo del dominio de la aplicacion es confiables, y dependiendo del parametro a esti-
necesario verificar que el personal sea es- mar algunos metodos son mas adecuados que
pecialista en el area de dominio. otros.
6. Sustitucion de los parametros obtenidos y principales: (a). Investigadores/Profesores, (b) Alum-
graficacion del modelo resultante. nos, (c) Publico en general. El acceso al sistema es
Una vez obtenidos los parametros resultantes, con usuario y password. Cada usuario del sistema
estos son graficados a fn de observar su tenden- tendra acceso a distintos servicios que proporciona el
cia. La grafica obtenida representa el comporta- sistema. En general se pretende que el sistema pro-
miento del atributo de calidad. vea los servicios de altas de cursos calificaciones y
alumnos, con sus respectivas bajas y modificaciones.
7. Validacion del modelo escogido.
Con los parametros obtenidos debemos verificar 4.2 Fase 1: Determinacion del comporta-
que el modelo, tal y como fue construido esta de miento ideal de la Fiabilidad
acuerdo con la poblacion de metricas estudiada. En esta fase, se evaluara y modelara el comporta-
Por lo tanto en este proceso, se realiza una com- miento del sistema bajo condiciones ideales, aplican-
paracion de los valores que se obtienen con el do el proceso definido en la Seccion 3.3.
histograma contra los resultados que se obtienen
con el modelo. 1. Determinacion de las condiciones iniciales
para el caso ideal.
8. Realizacion de las predicciones del atributo de
calidad. Las condiciones para la simulacion son las si-
guientes:
En este proceso, las predicciones del atributo de
calidad se realizan mediante la observacion del El tiempo entre arribos de los usuarios al sistema
modelo (o ley de probabilidad) obtenido. Con es- se presenta siguiendo una distribucion exponen-
te modelo, ademas de representar el comporta- cial con una media = 5 unidades de tiempo.
miento de los atributos de calidad, es posible tam- El tiempo que permanece cada usuario utilizando
bien predecir el comportamiento a futuro de estos el sistema posee una distribucion normal con una
atributos. media = 5 unidades de tiempo y una varian-
za = 3. La modelacion del arribo de usuarios
se hace mediante colas, para lo cual se utilizo un
servidor de colas del tipo M/M/1 en el pool del
4 Caso de Estudio servidor web 1 con una probabilidad de (n + 1)1 ,
En esta seccion describiremos mediante un caso de donde n representa el tamano actual de la cola
estudio las dos primeras fases de la metodologa. (numero de usuarios en el sistema). La condicion
En nuestro caso de estudio, evaluaremos un siste- de salida del sistema para cualquier usuario se
ma de inscripciones va Internet (SIV) para una Uni- presenta, (a) cuando se genera un error del usua-
versidad. La arquitectura del sistema consiste en una rio durante la operacion del sistema, y (b) cuando
plataforma Linux (Redhat v.8), un manejador de ba- el usuario solicita su salida del sistema.
ses de datos (MySQL [13]), un servidor Web (Apache Por razones de fiabilidad, en cuanto a la capaci-
[14]). El lenguaje utilizado para las interfaces de usua- dad del servidor Web y la del manejador de la Ba-
rio fue (PHP [15]). El numero de lneas de codigo utili- se de Datos, el sistema puede trabajar adecuada-
zadas en la implementacion del sistema fue de 1200. mente hasta con k usuarios (donde k = 100). De-
El tiempo empleado para el desarrollo del sistema y pendiendo de su vista, los usuarios pueden reali-
de su documentacion ha sido de 6 meses aproxima- zar solo x tipos de transacciones, con t unidades
damente. El diagrama a bloques de sistema se puede de tiempo para realizar cada transaccion. Don-
observar el la Figura 3. de x depende de la vista, y t sigue una distribu-
cion normal con una media = 5 y una varian-
Acceso al sistema Alta de claves de
acceso al sistema
za = 3. El problema consiste en determinar el
Vista del pblico en general
numero de errores que se generan en el sistema
Establecimiento
Vista de los alumnos en un lapso de tiempo determinado. El acceso de
Vista de los investigadores
del perfil
los usuarios y las vistas de informacion corres-
Informacin Informacin de Informacin
personal
pondiente a cada perfil.
de cursos cursos de alumnos de los alumnos
El lenguaje de programacion empleado para la si-
Consultas mulacion fue Java.
En la simulacion se emplea un modelo
Altas productor consumidor, en donde la infor-
Control del
macion se maneja mediante una cola de recursos
Bajas periodo
de cambios compartidos. La sincronizacion del productor-
consumidor se realizo mediante la sincronizacion
Cambios
de hilos. El productor tienen la funcion de generar
los datos de salida para el consumidor, de acuer-
Figura 3: Modulos que conforman el Sistema de Infor- do al funcionamiento del modelo logico descrito
macion via Internet (SIV) en la Figura 4. La funcion del consumidor es
1 De acuerdo a la Notacion de Kendal [7], en la notacion A/B/s,

4.1 Planteamiento del Problema A se refiere a la distribucion de los tiempos entre arribos, B es la
distribucion de los tiempos de servicio y s representa el numero
Se trata de un Sistema de Inscripciones va Internet de servidores. Las distribuciones mas comunes son M (Markov, o
para una Universidad, en donde existen tres vistas exponencial), G (general), y D (determinista, o constante).
2. Rutina de Incializacin 1. Proceso_SIV
Establece el nmero de sesiones 3. arrive()
para cualquier tipo de usuario
Llama a la rutina de inicializacin. Calcula el tiempo del siguiente arribo
Inicializa las estructuras, variables del
sistema y los contadores estadisticos Establece el hilo de ejecucin

Calcula el tiempo de arribo y el perfil Hay peticiones en Si


del primer usuario el pool?
5. departure() No
Calcula la probabilidad
Disminuye el tiempo de todos los usuarios Existe algn arribo? de que se quede
Verifica quin finaliz su tiempo y tiene No Si Asigna la
que salir de la seccin estructura
del usuario
No Si acorde a Se queda en la
Acab el tiempo Llama a la
del usuario? funcin arrive() su perfil cola del pool? Si
No
No Es la ultima Si Aumenta el Aumenta
seccion?
nmero de el tamao
Sale abandonos de la cola
Envia los datos a la cola
del de recursos compartidos
Hay espacio en la sistema
sig. seccin? Si
No
Es la primera
seccin? Si
No El tiempo de simulacin lleg No El servidor tiene
a su fin? capacidad para
Disminuye en 1 Si
Si No otro usuario?
la cola del pool
Fin

Aumenta la cola Llama a la funcin


Regresa a la funcin 4. AddDeparture() en el pool del AddDeparture()
AddDepature() servidor WEB
Llama a la funcion departure()

No Si
Se genera algn
error?
Aumenta en 1 la
Densidad de defectos

Sale del sistema

Figura 4: Diagrama a bloques del funcionamiento del Productor

actualizar y graficar el comportamiento de la


simulacion cada unidad de tiempo, de acuerdo a
los datos que el productor le enva a traves de la
cola de recursos compartidos. La interfaz grafica
que se muestra en la Figura 5 se desarrollo
con el fin de visualizar el comportamiento del
productor-comsumidor.

El diagrama a bloques de la operacion del pro-


ductor se muestra en la Figura 4. En este diagra-
ma se pueden apreciar 5 modulos. En el modulo
principal, Proceso del SIV, se ejecuta el ciclo de
ejecuciones de la simulacion. El segundo modulo
Rutina de Inicializacion tiene la funcion de iniciali- Figura 5: Interface grafica de la simulacion del Siste-
zar las estructuras, los contadores estadsticos y ma de Informacion via Internet
de programar el primer arribo. El tercer modulo,
arrive(), calcula el tiempo de arribo de los usua- 2. Seleccion del atributo de calidad y de sus
rios, verifica si los usuarios se quedan en la cola metricas de software.
del pool del servidor Web y verifica si el sistema El atributo que nos interesa medir es la Fiabili-
tiene capacidad para mas usuarios. En el caso dad. Como se menciona anteriormente, la Fiabili-
de que el sistema tenga suficiente capacidad, se dad nos permite evaluar que tan libre de fallos se
le permite el acceso al usuario y se realiza una encuentra un sistema.
llamada a la funcion Addeparture(). En el cuarto
modulo, AddDeparture(), se realiza un llamada al Tipos de metricas.
la funcion departure() y se verifica la generacion En nuestro caso nos interesa medir el atributo de
de errores durante la operacion simulada. En el Fiabilidad en la operacion del producto de softwa-
caso de que hallan existido errores, se aumenta la re. Las metricas que son posibles utilizar para la
densidad de defectos y se le programa al usuario fiabilidad son[12]:
su salida del sistema. El quinto modulo, depar-
ture(), se encarga de programar los tiempos de densidad de defectos. La densidad de de-
salida para cada usuario para la seccion o parte fectos es una metrica de calidad que se de-
del sistema que esta utilizando. fine como el numero de errores que ocurren
durante un lapso de tiempo determinado. D. Defec Frec x Den. Prob. Dist. Acum.
0 27 0.00 0.0402 0.0402
media de ocurrencia de fallos. Se refiere 1 47 1.00 0.122 0.163
al promedio del tiempo que tarda en produ- 2 84 2.00 0.179 0.341
cirse un fallo durante la operacion de un pro- 3 107 3.00 0.194 0.535
4 86 4.00 0.172 0.707
ducto de software. 5 73 5.00 0.128 0.835
6 40 6.00 0.0824 0.918
En nuestro caso utilizaremos la metrica de densi- 7 20 7.00 0.0439 0.963
dad de defectos. 8 7 8.00 0.0222 0.986
9 6 9.00 0.00938 0.995
Condiciones de desarrollo. Para el caso ideal, 10 3 10.00 0.00347 0.998
como se comenta anteriormente, se desarrollo un
simulador del sistema de Inscripciones por Inter- Tabla 1: Resumen de los resultados obtenidos durante
net en lenguaje Java. Las condiciones de opera- las evaluaciones del caso ideal
cion del simulador se describen en la primera par-
te de esta fase (determinacion de las condiciones
iniciales para el caso ideal). 120

Tiempo de evaluacion. 100


El tiempo para cada evaluacion es el tiempo que
80
tarda cada simulacion. Cada evaluacion se lle-

Frecuencia
vo a cabo en 100 unidades de tiempo (lo cual se 60
llevo a cabo en aproximadamente 30 segundos
de tiempo de ejecucion). Se llevaron a cabo 500 40
evaluaciones.
20
3. Proceso de medicion.
0
a. Seleccion de los componentes a evaluar. 0 2 4 6 8 10
Densidad de Defectos
La simulacion se diseno para medir todos los
componentes que forman al sistema.
Figura 6: Histograma para 500 simulaciones.
b. Medir las caractersticas de los compo-
nentes con las metricas de software.
En este punto como la metrica fue la den- es un metamodelo [7], en donde y son sus
sidad de defectos, la simulacion se preparo parametros.
para que en un marco de tiempo de 100 uni-
dades se contabilizara en numero de defec- 5. Estimacion de los parametros del modelo.
tos que aparecieron en la simulacion del sis- Los parametros del modelo se obtienen siguiendo
tema. el procedimiento descrito en la seccion 3.2), de la
c. Identificar las mediciones anomalas. Por siguiente forma.
el hecho de tratarse de una simulacion que Escoger el tipo de ley de probabilidad que nos
trabaja con condiciones ideales las medicio- proponemos asociar al histograma.
nes anomalas fueron pocas. Se desecharon

solo 5 de 500 ejecuciones de la simulacion. f (x) = x1 e(x/) (1)
d. Identificar los componentes anomalos.
Para el caso ideal no se presentaron com- Evaluar los parametros contenidos en la ley
ponentes anomalos. Esto fue debido a que escogida.
el numero de mediciones anomalas (que fue Del analisis de la Ecuacion 1 se obtuvo en [7]
de 0.99% del 100% del total de las medicio- mediante estimadores de maxima verosimilitud
nes), y no se centro en algun componente (maximum-likelihood estimators MLEs), las si-
en particular. guientes ecuaciones que permiten calcular los va-
lores de y .
4. Evaluacion de los resultados y seleccion del
Pn
Pn
modelo. i=1 X lnXi 1 i=1 lnXi
P n
= (2)
El resumen de los resultados para nuestro proce- i=1 X n
so de evaluacion y seleccion del modelo se mues-
Pn 1/
tra en la Tabla 1. Los elementos que integran el i=1 Xi
resumen son los siguientes: Densidad de defec- = (3)
n
tos (D.Defec), frecuencia (Frec), valor asignado
en el eje x (x),la densidad de la probabilidad (Den. La Ecuacion 2 se resuelve mediante el metodo
Prob) y los valores de la distribucion acumulativa de Newton-Rapson, mientras que la Ecuacion 3
(Dist. Acum). El histograma que corresponde a se obtiene de manera directa conociendo el valor
estos datos se muestra en la Figura 6. de . Los valores obtenidos de los parametros a
Mediante el histograma apreciamos que la ten- partir de las Ecuaciones 2 y 3 son:
dencia de los resultados se aproxima a una distri-
bucion (o curva) de Weibull. La curva de Weibull = 2.11 y = 4.54.
6. Sustitucion de los parametros obtenidos gra- Dependiendo de su vista, los usuarios solo
ficacion del modelo ideal fi . pueden realizar un numero limitado de tran-
De acuerdo a los valores de y antes descritos sacciones.
la funcion de probabilidad se calcula de la siguien-
te forma. Los resultados obtenidos en cada evaluacion se
2.11
almacenaron en bitacoras, y se promediaron con
fi (x) = 5.127x1.11 e(x/4.54) Si x 0 el fn de graficar los histogramas.
0 En otro caso
2. Seleccion de los atributos a medir y de sus
La grafica del Comportamiento de la Fiabilidad de metricas.
acuerdo al modelo ideal fi se presenta en la Fi-
gura 8. Tipos de metricas. Al igual que en caso ideal,
el atributo a evaluar es la Fiabilidad y la metrica
7. Validacion del modelo obtenido. para dicho atributo sera la densidad de defectos.
De acuerdo a la modelacion estadstica, la curva Condiciones de desarrollo. En el Sistema de
de Weibull permite representar el tiempo de ocu- Inscripciones por Internet seguimos el modelo de
rrencia de fallos de alguna pieza de un sistema o desarrollo en cascada. En el desarrollo de este
equipo. Por lo cual, el hecho de que el modelo sistema intervinieron dos personas especialistas
obtenido siga una curva de Weibull nos permite en el desarrollo de sistemas en Internet y el tiem-
validar nuestro proceso. En otras palabras, pode- po de desarrollo fue de 6 meses.
mos decir que la metrica Densidad de Defectos es
Tiempo de evaluacion.
la adecuada para representar el comportamiento
de la Fiabilidad del producto de software . El tiempo para la evaluacion de cada experimento
fue de 100 unidades de tiempo (lo cual se llevo a
8. Realizacion de las predicciones de la fiabili- cabo en un lapso de 100 minutos). El numero de
dad. experimentos para el caso ideal fue de 500 mien-
De acuerdo a la informacion proporcionada por tras que para el caso real fue de 70. Esto se debio
el Histograma de la Figura 6, es posible obser- a que los 70 experimentos fueron llevados a cabo
var que la tendencia de la curva describe que la en 3 semanas. Para lograr realizar 500 evalua-
densidad de defectos presenta valores bajos con ciones hubieran sido necesarios varios meses de
un alta frecuencia. Esta conclusion se obtiene del ejecucion del proceso de evaluacion.
hecho de que en la mayora de las evaluaciones
se obtuvo un bajo numero de errores. 3. Proceso de medicion.

a. Seleccion de los componentes a medir.


4.3 Fase 2:Evaluacion de la fiabilidad en Durante la operacion del sistema real se mi-
el sistema real siguiendo Proceso de dieron todos los componentes que forman al
evaluacion y modelacion sistema.
1. Determinacion de las condiciones iniciales b. Medir las caractersticas de los compo-
para el caso real. nentes con las metricas de software.
Las condiciones del proceso fueron las siguien- En este punto la metrica utilizada fue la den-
tes. Las evaluaciones fueron hechas por un solo sidad de defectos. Durante cada experimen-
usuario, el cual tomo el rol de tres tipos de vistas: to se contabilizo el numero de defectos ocu-
alumnos, investigadores y publico en general. La rridos.
forma de realizar las transacciones sobre el Sis- c. Identificar las mediciones anomalas. Du-
tema de Informacion en Internet fue de manera rante la ejecucion del sistema no ocurrieron
aleatoria para cada rol, mediante una matriz de mediciones anomalas.
pruebas. La matriz de pruebas contena los dis-
tintos servicios y los datos requeridos a accesar d. Identificar los componentes anomalos.
del sistema. Esta matriz estuvo compuesta de op- Los errores que encontramos con mayor fre-
ciones validas y opciones no-validas. Los datos cuencia en los componentes seleccionados
de prueba fueron tomados de manera aleatoria durante la operacion del sistema son los si-
de la matriz de pruebas, para cada evaluacion. guientes:
Las condiciones de operacion en el sistema fue- Periodo de Inscripciones:
ron las siguientes: No se actualiza automaticamente la fe-
cha.
El tiempo entre arribos (de cada usuario) fue
de 100 minutos. Alta de CURSOS:
El servidor Web opero con un solo procesa- No reconoce automaticamente la sec-
dor de 500 Mhz. cion a la que pertenece la persona que
da de alta el curso.
La capacidad del servidor Web y la del ma-
nejador de la Base de Datos con la cual pue- No valida totalmente la informacion an-
den operar adecuadamente el sistema (de tes del proceso de insercion en la Base
acuerdo a los estandares del proveedor red- de Datos.
hat) es de hasta 100 usuarios. Alta de cursos por alumno:
D. Defec Frec x Den. Prob. Dist. Acum. = 1.32 y = 4.1
0 5 1.00 0.234 0.234
1 20 2.00 0.179 0.414
2 15 3.00 0.137 0.551 Al igual que en caso ideal, los valores de y se
3 8 4.00 0.105 0.657 resuelven de acuerdo a las Ecuaciones 2 y 3.
4 9 5.00 0.0805 0.737
5 1 6.00 0.0616 0.799 6. Sustitucion de los parametros obtenidos fr y
6 1 7.00 0.0472 0.846
7 2 8.00 0.0361 0.882 graficacion del modelo real.
8 1 9.00 0.0277 0.910 Sustituyendo los valores de y en la funcion
9 1 10.00 0.0212 0.931
10 2 11.00 0.0162 0.947 del modelo real fr nos da la siguiente expresion.
11 5 12.00 0.0124 0.959 1.32

fr (x) = 3.67x0.32 e(x/4.1) Si x 0


Tabla 2: Resumen de los resultados obtenidos durante 0 En otro caso
las evaluaciones del caso real
La grafica del comportamiento de la Fiabilidad de
acuerdo al modelo real fr se presenta en la Figura
Permite registrar mas de 4 cursos por
alumno. 8.
Consulta de cursos por alumno: 7. Comparacion del modelo obtenido.
No se presenta la lista completa de Es posible observar que el modelo obtenido pa-
los alumnos que asesora un investiga- ra el caso real sigue una distribucion de Weibull.
dor/profesor. El modelo obtenido sigue en contexto con el con-
Alta de alumnos: cepto de Densidad de Defectos, por lo que no se
opone a representar el comportamiento de la Fia-
No valida totalmente la informacion an-
bilidad real.
tes del proceso de insercion en la Base
de Datos. 8. Realizacion de las predicciones de la fiabili-
4. Evaluacion de los resultados y seleccion del dad.
modelo. En la Figura 8 se observa la comparacion de los
El resumen de los datos obtenidos durante las modelos resultantes (ideal y real) de las evalua-
70 evaluaciones se presenta en la Tabla 2. Al ciones del caso de estudio. Los parametros y
igual que en el caso ideal en la tabla se regis- representan el grado de aproximacion que existe
tran los siguientes valores: Densidad de defectos entre los modelos ideal y real. Para obtener un
(D.Defec), frecuencia de ocurrencia (Frec), la re- producto de software con un buen nivel de fiabili-
presentacion en x (x), la densidad de probabilidad dad se debe cumplir lo siguiente.
(Den. Prob.) y la distribucion acumulativa (Dist. r i y r i
Acum.). El histograma resultante se presenta en
la Figura 7. Es posible observar en la Figura 8 que el com-
portamiento obtenido del modelo real esta aleja-
do del comportamiento del modelo ideal. Esto se
20 puede derivar de la observacion de que:

r 6= i y r 6= i fr (x) 6= fi (x).
15
Frecuencia

Por lo tanto, concluimos que son necesarias me-


10 joras en el producto de software, para lo cual sera
necesaria la ejecucion de la segunda parte de la
metodologa, que consiste en el proceso de me-
5
jora PSP.

0
0 2 4 6 8 10 12 Modelo ideal fi(x)
14 Modelo real fr(x)
Densidad de Defectos
12

Figura 7: Histograma para 70 mediciones de errores 10

Mediante el histograma apreciamos que la ten- 8


f(x)

dencia que presentan los datos describe una cur-


va de Weibull. 6

4
5. Estimacion de los parametros del modelo.
2
La funcion de densidad utilizada para modelar el
caso real es la siguiente. 0
0 2 4 6 8 10 12 14

f (x) = x1 e(x/) (4) x

Figura 8: Grafica del modelo ideal y real para el caso


en donde, los parametros y obtenidos son los de estudio
siguientes.
5 Conclusiones [16] J. Raj. The Art of Computer Systems Performance Ana-
lisys. ISBN 0-471-50336-3. John Wiley and Sons, 1991.
En este trabajo se formulo una metodologa para la
validacion de sistemas de informacion en internet. EL
atributo de calidad que se analizo fue la fiabilidad. Se
pretende que esta metodologa pueda ser aplicada a
cualquier sistemas de software, y no solo a los siste-
mas de software en Internet. Es claro que un buen
analisis de calidad es una de las bases mas impor-
tantes para la toma desiciones dentro de una orga-
nizacion que desarrolla software de calidad. Por tal
razon, la evaluacion de un producto de software per-
mitira mejorar el control de la calidad de un producto
de software.
En nuestro trabajo hemos aplicado la modelacion
estadstica para predecir del comportamiento de los
atributos de calidad de un sistema de software. Me-
diante la evaluacion de un caso de estudio, hemos
concluido que la metodologa desarrollada es una he-
rramienta eficiente dentro del proceso de desarrollo de
software. Esta herramienta permite controlar la cali-
dad del proceso y del producto de software resultante.
El uso de esta metodologa permitira tambien lograr
una reduccion de costos en el sistema de software y
tambien de su proceso de su desarrollo.
La metodologa propuesta solo fue ejecutada en su
primer fase de evaluacion y prediccion de la calidad
del producto de software. Como trabajo futuro nos
proponemos ejecutar completa nuestra metodologa
incluyendo el proceso de mejora PSP y su evaluacion
iterativa, con el fn de mejorar los objetivos de calidad.
Adicionalmente, nos proponemos estudiar otros crite-
rios de calidad como son la usabilidad y la seguridad
utilizando nuestra metodologa.

Referencias
[1] A.C. Gillies. Software Quality, Theory and Management.
Thomson Computer Press. 1999.
[2] H. Van Vliet. Software Engineering, Principles and Practice
, Second Edition. John Wiley and Sons, 2001.
[3] I. Somerville. Software Engineering, Sixth Edition. Pearson
Education Limited, Harlow England, 2001.
[4] J. Offutt. Quality Attributes of Web Software Applications.
IEEE Software, 0740-7459/02. March/April 2002.
[5] Becker and F.E. Mottay. A Global Perspective on Web Site
Usability. IEEE Software, 0740-7459/00, January/February
2001.
[6] D. J. Paulish, Siemens Corporation Research and Anita D.
Carleton, Software Engineering Institute. Case Studies of
Software Process-Improvement Measurement. Computer
IEEE 0018-9162/94, pp.50 1994.
[7] A. M. Law, W. David Kelton. Simulation Modeling and
Analysis. Third Edition McGraw - Hill , 2000.
[8] B. Tombuyses, 1999. Reduction of the Markovian system
by the influence graph method - error bound and reliability
computation. Reliability Engineering and System Safety,
vol. 63, No. 1, pp 1-11. 1999.
[9] S. Donatelli, 1994. Suporposed Generalized Stochastic
Petri Nets:Definition and Efficient Solution. Aplication and
Theory of Petri Nets , pp. 258-277, 1994.
[10] E. Clarke, O. Grumberg, and D. Long, Software Enginee-
ring Institute. Model checking and abstraction. ACM Tran-
sactions on Programing Languajes and Systems, vol. 16,
No. 5, pp. 1512-1542, January 1994.
[11] Alberto Moreno Bonett, Francisco Javier Jauffred M.
1997 Elementos de probabilidad y estadstica. ISBN:
9701502574. McGraw - Hill , 1997.
[12] S. H. Kan. Metrics and Models in Software Quality Engi-
neering, Second Edition. Addison - Wesley, 2003.
[13] http:// www.mysql.com
[14] http:// www.apache.org
[15] http:// www.php.com

También podría gustarte