Sistema Automatizado para Calidad de Software



Resumen

A pesar del gran número de artículos de investigación y normas existentes sobre el tema de validación de calidad del producto de software existen hoy en día muy pocas industrias de software que utilicen procesos de evaluación y análisis para este efecto. La evaluación de la calidad del software ha evolucionado hacia modelos formales estadísticos que se basan en métricas como fundamento para el aseguramiento, control y evaluación de la calidad de un producto o proceso de software.

Mediante el presente trabajo se pretende crear una cultura en los estudiantes y profesores sobre la importancia que posee el tema de la calidad para el desarrollo de un producto software, siendo el objetivo principal determinar la calidad de un software de gestión a través de métricas y estándares que lo determinan, implementados en una aplicación informática.

Con la contribución de este proyecto se espera obtener un documento que permita el estudio del software de gestión, las diferentes clasificaciones y parámetros que definen su calidad, así como contar con una aplicación informática que permite la evaluación de los mismos.

Palabras Claves: Calidad, Evaluación, Software de Gestión.

SUMMARY

In spite of the great number of articles of investigation and existent norms on the topic of validity of quality of the product of software it exists nowadays very little industries of software that use processes of evaluation and analysis for this effect. The evaluation of the quality of the software has manoeuvred towards formal statistical models that base on metricses as foundation for the securing, control and evaluation of the quality of a product or prosecutes of software.

By means of the present work it tries to get create to him a culture in the students and teachers on the importance that possesses the topic of the quality for the development of a software product, being the main objective decide the quality of a software of step through metric and standard that decide it, implemented in a computer science application. With the contribution of this project wait obtain a document that permits the study of the software of step, the different classifications and parameters they define your quality, as well as counting on a computer science application that permits the evaluation of the same.

Keywords: Quality, Evaluation, Software of Step.

Introducción

El concepto tecnológico que se trabaja ahora de manera general es la integración de los procesos que realizan estas empresas a través de las soluciones de negocios o software de gestión que contemplen e interrelacionen las actividades.

En ese sentido, los desarrollos tecnológicos pueden ayudar a las empresas a lograr un mejoramiento de procesos, una clara reducción de costos y el siempre deseado incremento de la riqueza de los accionistas. Así, el software de gestión colabora en cada una de las actividades importantes del negocio.

Siendo la calidad del software un conjunto de cualidades que lo caracterizan y que determinan su utilidad y existencia, sinónimo de eficiencia, flexibilidad, corrección, confiabilidad, mantenibilidad, portabilidad, usabilidad, seguridad e integridad. Lograr un alto nivel de calidad de un producto o servicio es el objetivo de la mayoría de las organizaciones que desarrollan software.

La administración de la calidad del software utiliza procedimientos y estándares durante el desarrollo del mismo, además del correspondiente proceso que verifica que todo el personal siga estos estándares. En un esfuerzo por definir el concepto de calidad, algunos autores argumentan que un atributo de calidad puede contribuir a la obtención de mejoras en el funcionamiento y operación del software.

De acuerdo a la terminología de la IEEE, la calidad de un sistema, componente o proceso de desarrollo de software, se obtiene en función del cumplimiento de los requerimientos iniciales especificados por el cliente o usuario final.

Por otra parte los Centros de Enseñanza Superior (CES) no están exentos de las necesidades de la automatización, estando reflejadas las principales deficiencias y los objetivos a alcanzar para la Educación Superior, en lo que al desarrollo de la computación y Tecnologías de la Información respecta. Dadas las particularidades de la docencia superior y del equipamiento actual y perspectivo, se precisa de una estrategia en el proceder informático, utilizando las experiencias acumuladas y las nuevas herramientas que para la elaboración de software se disponen, permita lograr calidad en las actividades organizativas y de control relativas a la gestión y dirección de los CES. Incorporar elementos de Ingeniería de Software como 3 respuestas a la crisis actual en la elaboración de tales sistemas es una situación que comparte el colectivo de profesores de la carrera de Ingeniería Informática de la Universidad de Pinar del Río, siendo una necesidad que persigue como propósito aumentar la calidad de la gestión en cada instancia.

La utilización de la computación en le proceso de enseñanza - aprendizaje, como elemento auxiliar de la enseñanza, es una práctica generalizada en la sociedad moderna, motivado por su propio desarrollo tecnológico. La disyuntiva aparece ahora en la necesidad de crear una cultura en nuestros estudiantes y profesores de elaborar software con calidad, acreditados bajo ciertas métricas y estándares que rigen la calidad dentro de las tres clasificaciones generales de este tipo de software.

En la Universidad de Pinar del Río, dentro de la carrera de Ingeniería Informática, específicamente en la asignatura de Gestión de Software, una de las unidades didácticas es la de Calidad del Software, y viene dada precisamente por la importancia de que los estudiantes como futuros ingenieros informáticos, conozcan que la calidad del software afecta los costos de desarrollo, programación de entregas y satisfacción del usuario.

Para impartir este tema, se pretende crear un laboratorio de pruebas donde el estudiante sea capaz, mediante un software, de evaluar la calidad de diferentes softwares de gestión. Para esto es necesario el estudio de los diferentes tipos de pruebas, que determina el momento de puesta en marcha de un software en específico. Su estudio y evaluación necesita de un software que gestione los parámetros de calidad y además los evalúe. De ahí que, a partir de la situación problémica descrita con anterioridad surge un Problema: Cómo contribuir a la determinación del nivel de calidad de un software de gestión.

Definiéndose a partir de lo expresado como Objeto de Estudio: la calidad del software de gestión y como Objetivo General: Determinar el nivel de calidad de un software de gestión a través de una aplicación informática.

Desarrollo

Softwares de Gestión.

El término Software fue usado por primera vez en este sentido por John W. Tukey en 1957. En las ciencias de la computación y la ingeniería de software, el software es toda la información procesada por los sistemas informáticos: programas y datos. Existen diferentes tipos de software, que permite el manejo de los recursos y la realización de tareas especificas, estos pueden ser clasificados en 2 partes: Software de sistemas y software de aplicación

• Software de sistemas: Son aquellos programas que permiten la administración de la parte física o los recursos de la computadora, es la que interactúa entre el usuario y los componentes hardware del ordenador. Se clasifican en Sistemas Operativos Monousuarios y Multiusuarios.

• Software de aplicación: Son aquellos programas que nos ayudan a tareas específicas como edición de textos, imágenes, cálculos, etc. También conocidos como aplicaciones.

Algunas veces es difícil establecer categorías genéricas para las aplicaciones del software que sean significativas. Conforme aumenta la complejidad del software, es más difícil establecer compartimentos nítidamente separados, se presenta una caracterización de manera general de acuerdo a los tipos de softwares que existen:

• Software de Sistemas.

• Software de Tiempo Real.

• Software de Gestión.

• Software de Ingeniería y científico.

• Software empotrado.

• Software de computadoras personales. • Software basado en Web.

• Software de Inteligencia Artificial.

Siendo los Softwares de Gestión aquellos que sirven como herramienta desarrollada especialmente para educarse a los diferentes requerimientos de la empresa o institución, diseñado para buscar la eficiencia en sus procesos internos y en la gestión con los usuarios, siendo el objeto de esta investigación.

Existen características que diferencian a un software de otro, las principales y más generales son:

Complejidad, significado y forma de la información de entrada y salida, compartimiento de recursos, la interacción con el hardware y el objetivo para lo que fueron diseñados.

Por otra parte los softwares de gestión brindan eficientes ventajas en la entidad donde se implante, delimitando la importancia que poseen en de la misma, dentro de las cuales podemos citar:

Aumento de beneficios, aumento del número de clientes, motivación del personal, fidelidad de los clientes y organización del trabajo.

Clasificación de los Softwares de Gestión.

El procesamiento de información de gestión constituye, casi desde los inicios de la informática la mayor de las áreas de aplicación de los ordenadores. Estos programas utilizan grandes cantidades de información almacenadas en bases de datos con el objetivo de facilitar las transacciones comerciales o la toma de decisiones. Además de las tareas convencionales de procesamiento de datos, en las que el tiempo de procesamiento no es crítico y los errores pueden ser corregidos a posteriori, incluyen programas interactivos que sirven de soporte a transacciones comerciales.

Tipos:

• Software Gestión del conocimiento.

• Software Gestión de contenidos.

• Software Gestión empresarial.

• Software Gestión de archivos.

• Software Gestión documental.

• Software Gestión de bases de datos.

Cada uno de ellos tienen sus cualidades y limitaciones que se deben tener en cuenta a la hora de seleccionarlos, para entender mejor en qué consisten a continuación se analizan cada uno de ellos:

Software de Gestión del Conocimiento.

La gestión del conocimiento es aquel proceso mediante el cual se desarrolla, estructura y mantiene la información, con el objetivo de transformarla en un activo crítico y ponerla a disposición de una comunidad de usuarios, definida con la seguridad necesaria. Incluye el aprendizaje, la información, las aptitudes y la experiencia desarrollada durante la historia de la organización. Otros autores la definen como un conjunto de actividades y prácticas orientadas a la adquisición más eficiente de las habilidades asociadas con un conocimiento y su correcta utilización, con el propósito de obtener los mejores resultados en el desarrollo de las actividades de una determinada organización.

Software de Gestión de Contenidos.

La gestión de contenidos se define desde la perspectiva de su objetivo y actividades. Frente a la gestión de documentos, como su propio nombre indica, la gestión de contenidos está orientada a gestionar objetos que actúan como componentes de documentos virtuales, en el contexto de lo que llama segmentación. Los objetos son tratados mediante un conjunto de procesos estructurados con la finalidad de producir publicaciones digitales basadas en la metáfora del documento Los sistemas de gestión de contenidos (Content Management Systems o CMS) es un software que se utiliza principalmente para facilitar la gestión de Webs, ya sea en Internet o en una Intranet, y por eso también son conocidos como gestores de contenido Web (Web Content Management o WCM).

James Robertson (2003) propone una división de la funcionalidad de los sistemas de gestión de contenidos en cuatro categorías: Creación, gestión, publicación, presentación de de gestión de contenidos

Los gestores de contenido se pueden clasificar según diferentes criterios en diferentes tipos: Según el lenguaje de programación empleado, según la licencia código abierto o software privativo y por su uso y funcionalidad: Blogs; pensados para páginas personales, foros; pensados para compartir opiniones. Wikis; pensados para el desarrollo colaborativo, enseñanza y comercio electrónico, publicaciones digitales y difusión de contenido multimedia.

Algunas características:

Durante el estudio realizado para este tipo de software de gestión, se identificaron un total de 14 parámetros específicos, dentro de los que podemos señalar:

• Asignación de datos de forma automática • Posibilidad de realizar publicaciones

• Existencia de licencia en términos de uso

• Presencia de colores y estilos que pueden cambiar fácilmente

• Presencia de modificaciones y complementos que ayuden a la adaptación funcional

Software de Gestión Empresarial.

Los sistemas de gestión empresarial son sistemas de gestión de información que integran y automatizan muchas de las prácticas de negocio asociadas con los aspectos operativos o productivos de una empresa, busca mejorar la productividad y por ende la competitividad. Una optima gestión no busca sólo hacer las cosas mejor, lo más importante es hacer mejor las cosas correctas y en ese sentido es necesario identificar los factores que influyen en el éxito o mejor resultado de la gestión. Los programas empresariales están orientados a manejar áreas específicas de cada empresa, tomando en cuenta su tamaño y el sector de trabajo, entre ellos podemos citar: Programa Administrativo, Programa de Contabilidad, Programa de Nómina, Programa de Comercial, entre otros.

Durante el estudio realizado para este tipo de software de gestión, se identificaron un total de 14 parámetros, dentro de los que podemos señalar:

• Existencia de base de datos centralizada

• Reingeniería de procesos (modificar algunos procesos para alinearlos con los del sistema de la organización)

• Integridad de los datos (acceso a toda la información de forma confiable, precisa y oportuna)

• Posibilidad de compartir información entre todos los componentes de la organización

• Posibilidad de eliminación de datos y operaciones innecesarias de reingeniería

Software de Gestión de Archivos.

Un sistema de gestión de archivos es el software que proporciona a los usuarios y aplicaciones servicios para el uso, acceso y control de accesos, tanto de archivos como a directorios.

Los objetivos principales de la gestión de archivos por parte de los usuarios son:

• Deben poder crear, leer, borrar y cambiar ficheros.

• Pueden tener el control de los ficheros de otros usuarios.

• Controlan que tipo de acceso otorgan a otros usuarios.

• Pueden ordenar sus ficheros de acuerdo a su problema (directorios).

• Pueden mover información entre ficheros.

• Deben ser capaces de realizar una copia de respaldo y restaurarla en caso de un desastre.

• Pueden acceder a los ficheros con nombres simbólicos (en Windows accesos directos).

Software de Gestión Documental.

La gestión documental son todos aquellos programas de ordenador creados para la gestión de grandes cantidades de documentos, suele rastrear y almacenar documentos electrónicos o imágenes de documentos en papel.

Estos documentos no tienen una organización clara de sus contenidos, al contrario de lo que suele suceder con la información almacenada en una base de datos. La combinación de este tipo de bibliotecas de documentos con índices almacenados en una base de datos permite el acceso rápido mediante diversos métodos a la información contenida en los documentos. Estos generalmente se encuentran comprimidos y además de texto pueden contener cualquier otro tipo de documentos: multimedia, imágenes o vídeos.

Durante el estudio realizado para este tipo de software de gestión, se identificaron 14 parámetros, dentro de los que podemos señalar:

• Cumplimiento de los estándares para la autentificación

• Capacidad de ofrecer documentos relacionados

• Posibilidad de enviar los documentos desde el archivo a través de correo electrónico con información adjunta

• Posibilidad de copiar y pegar los documentos a otras aplicaciones Windows, Word, entre otras.

Software Gestión de Bases de Datos.

Un Sistema Gestión de Bases de Datos –SGBD- (Data Base Management System DBMS) consiste en una colección de datos interrelacionados y un conjunto de programas para acceder a esos datos. El Objetivo primordial de un SGBD es proporcionar un entorno que sea a la vez conveniente y eficiente para ser utilizado al extraer y almacenar información de la base de datos.

Teniendo en cuenta cada uno de estos criterios, el presente trabajo centrará su atención en los tres tipos de softwares que resumen las características principales de los softwares de gestión, ellos son: los Softwares de Gestión de Contenidos, de Gestión Documental y de Gestión Empresarial.

En estos softwares se gestiona el conocimiento y la información de forma general, además existe la posibilidad de gestionar archivos y todos requieren de bases de datos.

Llegando a la conclusión que no es necesario un desglose más minucioso de los software de gestión, porque las características de los Software de gestión del conocimiento, de gestión de archivos y de bases de datos están asimiladas dentro de las características generales y específicas de los Software de Gestión de Contenidos, de Gestión Documental y de Gestión Empresarial.

Como se pudo apreciar hasta aquí, los sistemas desarrollados en el mundo con este fin no logran determinar el nivel de calidad de un software de gestión cualquiera, sin importar su clasificación dentro del proceso de enseñanza-aprendizaje, sino que se elaboran estrategias y modelos para proyectos específicos de sus empresas. De ahí que SAGeCa hace un aporte significativo para la determinación de este factor en el proceso de prueba de cualquier software de gestión.

Metodología de Evaluación para la Aplicación.

Se usó la metodología de evaluación de la calidad de los softwares creada en el Departamento de Informática de la Universidad de Pinar del Río, que se basa fundamentalmente en determinar el nivel de calidad de un software de gestión en este caso con los pasos siguientes:

1. Determinar cada uno de los indicadores que se utilizarán para medir la calidad de los softwares de gestión.

El primer paso consiste en determinar con claridad y precisión cada uno de los indicadores que se utilizarán para

medir la calidad de los softwares, ya sean indicadores generales como específicos. Estos indicadores pueden estar agrupados por categorías para su mejor ubicación y los mismos deben ser enumerados. Por ejemplo: Para el caso de los parámetros generales identificados para cualquier tipo de software de gestión, se usó una clasificación general, de modo que sirviera para organizar la información que se evaluaba.

2. Otorgar un peso o nivel de importancia a cada uno de los indicadores seleccionados.

En este paso lo que se realiza es una ponderación de cada uno de los indicadores con los que se calificarán los softwares de gestión, es decir, ponderar un indicador es otorgar un valor numérico dentro de una escala seleccionada, el cual representa el peso o nivel de importancia que se le concede a cada indicador. Se recomienda que el menor peso que se otorgue a un indicador sea 1, lo cual indica que ese indicador tiene una importancia normal, otorgar un peso de 2 para aquel indicador que se considere que tiene doble importancia en relación con el que se le otorga un peso de 1, un 3 para el que tiene el triple de importancia y así sucesivamente.

En este paso se definió evaluar los indicadores en una escala de 1-5, en dependencia del nivel de calidad con que cuenten.

3. Definir la escala con que se calificarán cada uno de los indicadores.

Una vez definido los indicadores que se utilizarán, hay que seleccionar las categorías con que se calificarán los mismos. Estas categorías deben definirse con claridad. Las categorías deben estar definidas en una escala ordinal.

4. Obtener la suma del producto de los pesos otorgados a cada indicador por los valores o calificaciones dadas a cada uno de los indicadores.

Aquí es donde comienza el proceso de cálculo, en este caso se obtiene la cantidad de puntos obtenidos por el software a partir de las evaluaciones dadas a cada uno de los indicadores y el nivel de importancia que tienen (pesos). Para realizar el cálculo:

Puntos = 1 x 1 + 1 x 2 + 2 x 2 + 4 x 3 +…. + 3 x 2 + 5 x 1

5. Obtener la suma del producto de los pesos otorgados a cada indicador y el valor de la máxima categoría que se puede obtener en un indicador.

En este paso se determina el número de puntos totales que podría alcanzar la evaluación del software si todos los indicadores fueran evaluados con la máxima categoría. Para realizar este paso hay que determinar la máxima categoría que se utiliza para calificar cada uno de los indicadores. En este caso, como en el software propuesto se trabajará con el inciso c) entonces la Máxima categoría es 5 (Maxcat = 5). Los puntos totales en este caso se calcularían de la siguiente forma:

Puntos Totales = 1 x 5 + 1 x 5 + 2 x 5 + 4 x 5 +…. + 3 x 5 + 5 x 5

6. Obtener el Índice Integral de Calidad Software de Gestión (IICSG) dividiendo lo obtenido en el paso 4 por lo del paso 5.

Para el software en particular el IICSG = Puntos obtenidos / Puntos totales posibles.

El resultado que se obtiene al aplicar el procedimiento anterior y que se ha identificado como IICSG, es siempre un número que va a estar entre 0 y 1 debido a que el valor que se obtiene en el numerador es siempre menor o igual al del denominador. Este número puede ser utilizado para medir la calidad integral de la calidad de los softwares de gestión. Interpretación del Resultado Obtenido.

El IICSG se puede interpretar de varias formas. Por ejemplo, si el valor del IICSG de un software de gestión es de 0.21 indica que la calidad es baja y se podrá interpretar lo siguiente:

1. La calidad del software de gestión es baja pues de un valor de puntuación posible de 1 en el cálculo del IICSG, se ha obtenido sólo 0.21.

2. De un total de 100 puntos posibles a obtener en la calificación de la calidad sólo ha obtenido 21.

3. El % de calidad del S. de gestión es del 21 %, al multiplicar el IICSG por 100, expresado en por ciento (%).

El cálculo del índice es muy importante para poder comparar la calidad de los S. de gestión y analizar si el trabajo desarrollado en una entidad, se ha logrado transformar los resultados hacia mayores niveles de calidad.

En la figura 1 se muestra la Interfaz Principal de SAGeCa con el Menú Principal de la aplicación:

Monografias.com

Figura 2. Interfaz Principal de SAGeCa

En la figura 2 se muestra un ejemplo de entrada de datos Generales con diferentes criterios establecidos en este trabajo.

Monografias.com

Figura 2. Adicionar datos generales

Conclusiones

Se investigó sobre los distintos tipos de softwares de gestión y se estudiaron los parámetros de evaluación de calidad de software, los modelos internacionales aplicados a los softwares de gestión para medir la calidad de ellos y su repercusión dentro del proceso de enseñanza-aprendizaje.

Se aplicó la metodología para la evaluación de la calidad de los softwares de gestión y permitiendo analizar la efectividad de los mismos.

Se implemento una Base de Datos para registrar la información relacionada con los softwares que se evalúen. ? Se desarrolló una aplicación que contribuye a la determinación del nivel de calidad de un software de gestión.

Bibliografía

1. IEEE STD. (1993). IEEE Software Engineering Standard: Glossary of Software Engineering Terminology. IEEE Computer Society Press.

2. ISO 9004-2000. Sistema de gestión de la calidad. Directrices para la mejora del desempeño. Ginebra.

3. McCall (1977), disponible en: http://issegunfll.blogspot.com/2007/04/el-modelo-de-calidad-de-mccall.html. 4. Pressuman Roger, Ingeniería del Software: Un enfoque práctico, Editorial 1998.

5. Pressuman Roger, Ingeniería del Software: Un enfoque práctico, Editorial Mc Graw Hill 2002. 6. Ruiz, F. (1999) COCOMO v2. Modelo de estimación de Costes para proyectos software.

7. Taylor y Deming disponible en: http://www.efdeportes.com/efd76/calidad.htm.

(Ponente) Ing. Saray Alvarez Hidalgo.

Ms C. Caridad Salazar Alea. (Tutor)

Universidad de Pinar del Río "Hermanos Saiz Montes de Oca",

CUBA

Temática: Sistemas Educativos.

 

 

 

Autor:

Ing. Saray Alvarez Hidalgo.