SciELO - Scientific Electronic Library Online

 
vol.28 número3Guía Metodológica para el Mejoramiento del Desarrollo de Software a través de la Aplicación de la Técnica Árboles de ProblemasInstrumentos para la Evaluación del Aprendizaje Basado en Competencias: Estudio de caso índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Journal

Artigo

Indicadores

Links relacionados

  • Em processo de indexaçãoCitado por Google
  • Não possue artigos similaresSimilares em SciELO
  • Em processo de indexaçãoSimilares em Google

Compartilhar


Información tecnológica

versão On-line ISSN 0718-0764

Inf. tecnol. vol.28 no.3 La Serena  2017

http://dx.doi.org/10.4067/S0718-07642017000300011 

 

Estudio Piloto de la Importancia del Rendimiento, Seguridad y Fiabilidad en el Proceso de Desarrollo de Software en Chile

 

Pilot Study about the Importance of Performance, Security and Reliability in Software Development Processes in Chile

 

Cristian L. Vidal-Silva, Erika A. Madariaga* y Ricardo A. Solís

Vscuela de Ingeniería Informática, Facultad de Ingeniería y Administración, Universidad Bernardo O’Higgins, Av. Viel 1497, Santiago-Chile (e-mail: ricardosolis@docente.ubo.clcriftianvidal@docente.ubo.cl; erika.madariaga@ubo.cl; rsolis@ciclo2.cl)

* Autor a quien debe ser dirigida la correspondencia.


Resumen

Vste trabajo presenta un estudio piloto realizado en empresas de desarrollo de software en Chile para establecer la valoración, presencia y validación de las variables rendimiento, seguridad, y fiabilidad en la producción de software de calidad en Chile. Primero, se dan a conocer enfoques de ingeniería de software relativos a la producción de software de calidad, así como algunas dimensiones a considerar en el estudio. Luego, se revelan detalles de las empresas en estudio, junto con una descripción de los elementos del medio evaluador, y las respuestas obtenidas. Así, se determina la importancia de estas variables en el proceso de desarrollo y producción de software de calidad en Chile. Así, este estudio presenta resultados extrapolables a otras empresas de desarrollo de software en Chile con características similares. Vntonces se demuestra que rendimiento, seguridad, y fiabilidad tienen una alta importancia durante el ciclo de desarrollo de software. Se observan diferencias solo en un caso bien definido: la post-entrega.

Palabras clave: estudio piloto; calidad; software; rendimiento; seguridad; fiabilidad


Abstract

This paper presents a pilot study carried out in software development companies in Chile to establish the value, presence and validation of performance, security, and reliability as variables in the production of quality software in Chile. First, the article reports software engineering approaches about the production of quality software and then, it describes the dimensions considered in the study. After that, the paper reveals details of the companies under study. It also presents a description of the elements included in the instrument used to assess the variables and the responses. This study determines that these variables are important in the development and production processes of quality software. Thus, this study presents extrapolated results to other software development companies in Chile with similar features. The results show that performance, security, and reliability are highly important during the software development cycle. Differences are observed in just one well-defined case, the post-sale.

Keywords: pilot study; quality; software; performance; security; reliability


 

INTRODUCCIÓN

En ingeniería de software tradicional, la calidad de aplicaciones de software se puede visualizar en dos aspectos principales: calidad estructural o caja blanca, y calidad funcional o caja negra. Justamente, para las pruebas de caja negra, los casos de prueba se usan para demonstrar que las salidas concuerdan con las esperadas; mientras que, para las pruebas de caja blanca, los casos de prueba se basan sobre como el software ha sido diseñado y codificado (Pressman, 2005). La Figura 1 ilustra estos tipos de prueba.

Justamente, en ingeniería de software tradicional o clásica, tal y como mencionan (McCabe, 1976; Halstead, 1977; Park, 1992; Chidamber y Kemerer, 1994), muchas de las medidas de la calidad de productos software se basan en la revisión de elementos estructurales de la aplicación lo que resulta en analizar instrucciones en el código fuente de manera individual (tokens), estructuras de control y objetos asociados.

En la actualidad, considerando una producción masiva de software, de acuerdo a Felferning et al. (2014), la producción de software en masa o producción eficiente de un alto número de productos idénticos no es un inconveniente, tomando en cuenta la naturaleza del software; sin embargo, lograr una personalización en masa de los productos software representa un área actual de investigación. Dado que, tal y como señalan Sabin y Weigel (1998), la configuración de productos software es "un caso especial de actividad de diseño donde los artefactos han sido configurados y ensamblados de acuerdo a un conjunto fijo de componentes bien definidos los cuales pueden ser compuestos conforme a un conjunto de restricciones"; entonces, lo ideal es lograr una configuración de los productos software para la producción de software de calidad.

En un contexto de calidad de software, Dr. Tom DeMarco (2002) propuso que "un producto de calidad es una función de cuanto este cambia el mundo para ser mejor". Esto implica que la calidad funcional y la satisfacción del usuario son más importantes que la calidad estructural de un producto software para determinar un software de calidad, aun cuando, tal y como indica (Mendoza et al., 2005), "sin un buen proceso de desarrollo es casi imposible obtener un buen producto".

De acuerdo a Marcos et al., 2008, existen dos dimensiones de calidad de software: producto y proceso, donde mejoras en el producto pueden causar mejoras en el proceso, y mejoras en el proceso, implica mejoras en el producto. De acuerdo a esto, se deben buscar mejoras en los procesos para una producción de software de calidad. Sin embargo, tal y como indica (Kitchenham y Pfleeger, 1996), la estandarización de los procesos garantiza la uniformidad en la salida de los mismos, lo que puede incluso institucionalizar la creación de malos productos. Además, según Callejas et al. (2004), para la obtención de una calificación de calidad de productos software, es necesaria la medición de la percepción del usuario. Así, como una forma de integración de los modelos de calidad tanto del proceso y producto, Mendoza et al. (2005) proponen un Modelo Sistémico de Calidad (MOSCA).

Si para construir productos de software de calidad se requiere calidad en el proceso de desarrollo; tal y como lo señala (MITRE, 2016), es necesaria la definición de atributos de diseño de sistemas, y verificar su cumplimiento durante el ciclo de desarrollo de software. Así, el principal objetivo de este trabajo es estudiar el estado actual mediante la aplicación de un cuestionario que permita indagar sobre la importancia de las variables rendimiento (performance), seguridad (security), y fiabilidad (fiability) en el proceso de desarrollo de software en Chile a partir de un estudio aplicado a un conjunto de empresas de desarrollo de software en Chile, para con los resultados obtenidos, conocer la consideración de estas variables, y dilucidar razones en casos de baja consideración, junto con definir un patrón respecto a la producción de software de calidad en Chile, y establecer estudios futuros acerca de la percepción del usuario para con estas variables.

Fig. 1: Estructura Funcional de Casos de Prueba para Pruebas Funcionales y Estructurales (Tomada de Pressman, 2005)

METODOLOGIA

La Tabla 1 presenta detalles del estudio producción de software de calidad en Chile. Cabe destacar que, este estudio fue aplicado a 35 profesionales de 19 empresas que presentan la actividad de desarrollo de aplicaciones software como una de sus principales actividades.

Tabla 1: Detalles de empresas de desarrollo de software de estudio.

Para llevar a cabo este estudio, el instrumento utilizado corresponde a un cuestionario de 50 preguntas formato encuesta online. El cuestionario fue diseñado en conjunto por la Escuela de Computación e Informática de la Universidad Bernardo O’Higgins (UBO, 2016), SPIN-Chile (SPIN, 2016) y la unidad de Estadística del Departamento de Matemáticas y Física de la Universidad Bernardo O’Higgins (MAT-UBO, 2016). Este estudio, como busca medir la producción de software de calidad en empresas de desarrollo de software en Chile, cuantifica las siguientes variables: rendimiento, seguridad y fiabilidad. Cabe señalar que estas variables representan elementos característicos de pruebas de caja blanca para medir la calidad estructural de productos software (ISO, 2010; Pressman, 2005). Las Tabla 2 y Tabla 3 presentan las preguntas asociadas a las variables rendimiento y seguridad, respectivamente; mientras que las Tabla 4 y Tabla 5 detallan las preguntas de la variable fiabilidad; variables consideradas para medir la calidad en el proceso de producción de software en Chile.

La información relevante de los actores participantes de las empresas de la muestra de este estudio se presenta en las Figura 2 y Figura 3, respectivamente. A continuación, se presentan detalles de dichas empresas y de los actores participantes de este estudio:

i)    Como detalle de las empresas de la muestra, el 60% de las empresas tiene orientación al desarrollo de software a terceros por proyecto, el restante lo hace por Productos. Además, el 45,7% de la empresas se desempeña en un área que no fue especificada en el estudio (Otros), mientras un 25,7% de éstas se desempeña en el área de la Banca y un 20% en el área de las telecomunicaciones. Adicionalmente, el 60% de las empresas se dedica al mercado masivo.

ii)    Respecto a los actores de las empresas de la muestra, quienes respondieron las preguntas del estudio, prácticamente la mitad de ellos indica que su rol principal en la empresa es de desarrollador (48,6%), en comparación al 22,9% que representa a jefe de proyecto, el 20% en cambio corresponde a gerente de área, mientras el resto (8,6%) se define como arquitecto de software. En términos de antigüedad en el cargo, el 65,7% de los actores de las empresas de la muestra de estudio y lleva más de 4 años desempeñando el rol especificado en el punto anterior. Además, respecto a la permanencia habitual de dichos actores, esta es por contrato (74,3%) y por proyecto (20%).

RESULTADOS Y DISCUSION

En este punto del estudio se describe la valoración promedio (puntaje promedio) obtenidos de los 35 encuestados respecto a los tres factores asociados a la calidad de software en Chile: performance, seguridad y fiabilidad.

Tabla 2: Preguntas asociadas al estudio de rendimiento (performance) en la producción de software de calidad en Chile.

Tabla 3: Preguntas asociadas al estudio de seguridad en la producción de software de calidad - parte 1.

Tabla 4: Preguntas (P) asociadas al estudio de seguridad en la producción de software de calidad - parte 2.

Tabla 5: Preguntas (P) asociadas al estudio de fiabilidad en la producción de software de calidad - parte 1.

Tabla 6: Preguntas (P) asociadas al estudio de fiabilidad en la producción de software de calidad - parte 2.

Fig. 2: Orientación, área de actividad económica, y mercado de empresas en estudio.

Según las Tablas 2, 3, 4, 5 a 6, para cada uno de los factores a considerar, las preguntas de este estudio son relativas al entendimiento (Qué), de qué manera se aborda (Cómo), y cuánto se aplica para su logro (Cuánto) con una escala tipo Likert (Likert, 1932) con valores posibles de respuesta entre 1 y 5 para las preguntas de las primeras 2 categorías (Qué y Cómo), y con valores entre 1 a 4 para la última categoría (Cuánto), donde 1 se corresponden con un total desentendimiento de la pregunta y 4 ó 5 representa una total consideración de la misma.

La Figura 4 y la Tabla 7 muestran los resultados de las preguntas de la variable rendimiento; la Figura 5 y la tabla 8 presentan los resultados de las preguntas de la variable seguridad; mientras que la Figura 6 y la Tabla 9 detallan los resultados de las preguntas de la variable fiabilidad. De las Tabla 7, 8 y 9, se puede discutir una serie de aspectos, como se detalla en lo que sigue:

Las empresas cuya área de desempeño es Otros (45,7% del total de la variable área) poseen una división equitativa respecto a su orientación, es decir, el 50% de ellas tiene orientación "A terceros por proyecto" y la otra mitad se orienta a "Productos". En las áreas de Retail y Transporte no se observó la opción orientación a productos (0%). El 40% de las empresas con orientación a terceros por proyecto se desenvuelve en mercado de tipo "Masivo", el 60% restante se divide equitativamente en todas las otras opciones. También, de los individuos que indican como rol principal la opción "Desarrollador" (48,6% del total de la variable Rol Principal) se observa una división equitativa respecto a la orientación de la empresa, es decir, el 50% de ellos está en empresas con orientación "A terceros por proyecto" y la otra mitad en empresas orientadas a "Productos". Por otro lado, sobre el 57% de los individuos que tiene más de 4 años de experiencia trabaja en empresas con orientación a terceros "por proyecto", dentro del grupo, corresponden al 61,9% con tal categoría de años de experiencia. De los individuos con menos de 4 años de experiencia, se tiene que el 67% de ellos se desempeña en este tipo de empresas.

Respecto a la permanencia habitual, el 67% de los individuos cuya empresa tiene orientación a terceros por proyecto indica desempeñarse por contrato, el resto lo hace por proyecto. No se observaron casos en el ítem permanencia "por producto". En cambio, más del 85% de los encuestados cuya empresa tiene orientación a productos indica que su permanencia habitual es por contrato, el resto lo hace por producto. No se observaron casos en el ítem "por proyecto". Además, el 28,6% de las empresas cuya área de el ítem "otros" tiene un mercado "Masivo" a diferencia del 17,1% cuyo mercado es "Nicho", este porcentaje es similar a la empresas del área "Banca" que se desempeña en el mismo mercado. Se encuentra también que en el 20% de las empresas del área "Otro" el rol principal del encuestado es "DesarroNador", esto representa el 41,18% dentro de la variable Rol principal y el 43,75% dentro del área "Otro". En las áreas "Banca", Transp/logística y Telecomunicaciones no hubo selección del Rol principal "Arquitecto de Software". Los roles "Gerente de área" y "Jefe de proyecto" no se observaron en las áreas "Retail" y "Transp/logística".

En todas las áreas se observa que la mayoría de los encuestados tiene más de "4 años de experiencia" (al menos un 50% de ellos se encuentran en esta categoría). El detalle por área es el siguiente: 55,6% en el área Banca, 50% en el área Retail, 100% en el área Transp/logística, 57,14% en Telecomunicaciones y finalmente un 75% del área Otro. Adicionalmente, en todas las áreas se observa que la mayoría de los encuestados tiene permanencia habitual "por contrato" (al menos un 50% de ellos se encuentran en esta categoría). El detalle por área es el siguiente: 67% en el área Banca, 50% en el área Retail, 100% en el área Transp/logística, 85,71% en Telecomunicaciones y finalmente un 75% del área Otro.

Se encuentra que el 34,3% de los encuestados es "Desarrollador" y pertenece al Mercado "Masivo", esto representa el 79,59% del total de desarrolladores y el 57,14% del mercado Masivo. El 42,9% de los individuos tiene "más de 4 años de experiencia" y además el mercado de la empresa es de tipo "Masivo", esto representa el 71,43% dentro de este mercado y el 65,23% de los individuos con "más 4 años de experiencia". Y prácticamente el 50% de los de los individuos que se dedican al mercado "Masivo" tiene permanencia habitual "por contrato", seguido por el 25,7% que declaran el tipo de mercado "Nicho" y su permanencia habitual también es "por contrato".

Fig. 3: Rol principal, años de experiencia y permanencia habitual de participantes de empresas del estudio.

Del cruce del "Rol principal" en que se desempeña el encuestado y los "Años de experiencia" se obtuvieron los siguientes resultados relevantes: el 25,7% son Desarrolladores con más de 4 años de experiencia, el 17,1% son jefes de proyecto con igual categoría de años de experiencia al igual que el 14,3% de los gerentes de área. No se observan individuos con menos de 4 años de experiencia en el rol "Arquitecto de software". También, del cruce de las variables: "Rol principal" en que se desempeña el encuestado y la "Permanencia habitual" se obtuvieron los siguientes resultados relevantes: el 40% son desarrolladores con permanencia habitual "por contrato", el 17,1% son jefes de proyecto con igual tipo de permanencia. El 100% de los "Arquitectos de software" tienen permanencia habitual por contrato. El 54,3% de los encuestados tiene "más de 4 años de experiencia" y su permanencia habitual es por contrato en comparación al 5,7% de igual permanencia pero con "menos de 2 años de experiencia". No se observó individuos en el nivel "más de 4 años" y "por producto". El 8,6% "tiene menos de dos años de experiencia" y su permanencia habitual es "por proyecto". Además, según los resultados de estas encuestas, para cada uno de los factores del estudio, las preguntas con un resultado bajo son aquellas relativas a la pregunta Cuánto. A continuación se identifican estas preguntas y detallan posibles razones para sus resultados:

(i) En la variable rendimiento, hay un promedio bajo de los resultados de las preguntas P14 y P15. Para P14 se puede asumir que las empresas consideran el rendimiento o performance de sus productos como un factor intrínseco o propio de ellos, por lo cual el tiempo adicional requerido no es determinante, posición que podría ser aclarada con un estudio a los usuarios de los productos finales. Pata P15, sus resultados son bajos ya que se evalúa la realización de trabajo post-entrega de productos software al usuario. (ii) En la variable seguridad, hay un promedio bajo de los resultados de las preguntas S18 y S19. Así, es posible afirmar que, aun cuando los participantes de las empresas de desarrollo declaran tener conocimiento de la relevancia de la seguridad de sus productos software, dados los resultados de bajo valor para dichas preguntas, se puede asumir que la seguridad es propia de los productos finales de las empresas en estudio. (iii) En la variable fiabilidad, hay un promedio bajo de los resultados de las preguntas F15 y F16. Nuevamente, se puede asumir que la fiabilidad es una característica propia de los productos software finales de las empresas de este estudio.

Fig. 4: Resultados de Estudio de Rendimiento (Performance) en la Producción de Software de Calidad en Chile.

Fig. 5: Resultados de Estudio de Seguridad en la Producción de Software de Calidad en Chile.

Fig. 6: Resultados de Estudio de Fiabilidad en la Producción de Software de Calidad en Chile.

Tabla 7: Resultados de estudio de rendimiento (performance) en la producción de software de calidad en Chile.

Tabla 8: Resultados de estudio de seguridad en la producción de software de calidad en Chile

Tabla 9: Resultados de estudio de fiabilidad en la producción de software de calidad en Chile.

Como antes se explicó, globalmente, las empresas en estudio declaran conocer y fundamentar las variables a medir. Sin embargo. dados los resultados obtenidos. al parecer estas empresas dedican un tiempo de trabajo a dichas variables no consecuente con el tiempo real necesario, dada la relevancia de las mismas para la producción de software de calidad. Así, se destaca que, tras los resultados de este estudio, los autores trabajarán en la definición de un instrumento para la realización de un estudio de calidad de software, desde una perspectiva de usuario, para así contrastar los resultados obtenidos en el presente estudio. La idea así es entrevistar a usuarios de software de empresas de retail y de venta de sistemas computacionales; así como también a usuarios de productos software desarrollados por empresas que son parte de este estudio; y, de esta forma, visualizar las tendencias y diferencias, principalmente, en las visiones de los usuarios de productos software y de las empresas que producen dichos productos. Como un estudio de calidad de software en Chile, Vega et al. (2012) presenta una comparativa de 4 modelos de calidad en un contexto software, y define un catálogo de actividades que estos modelos sugieren. Sin embargo, no presenta resultados de aplicación.

CONCLUSIONES

Este estudio fue realizado por medio de una encuesta realizada a empresas de desarrollo de software en Chile, para medir el conocimiento y uso de rendimiento, seguridad y fiabilidad como variables de calidad de software durante el proceso de desarrollo de software; y así, poder obtener resultados de la calidad en el proceso de producción de software. Según las preguntas y su escala de valores, junto con los resultados obtenidos que bordean un valor de 4, entonces, de acuerdo a la naturaleza de cada una de las preguntas, se puede señalar que, desde una visión de las empresas de desarrollo de software en Chile las que fueron parte de este estudio piloto, la producción de software de calidad en Chile es una realidad y estos resultados serían potencialmente extrapolables.

La sección de Resultados y Discusión resalta un dominio y consideración de las variables rendimiento, seguridad y fiabilidad en las empresas de desarrollo de software en Chile de este estudio; y también se destaca, la contradicción del poco tiempo dedicado a su concepción en los productos de software que ya fueron implementados y entregados, esos que ya están en funcionamiento. Dado lo anterior, se puede señalar que estas variables son factores de calidad de software que están presentes de forma implícita en las empresas de desarrollo de software de este estudio en Chile. Considerando esto último, los autores de este trabajo afirman que el tiempo dedicado a la consideración de la fiabilidad, rendimiento y seguridad en un contexto de post-entrega de productos software debe ser considerado para potenciales ajustes.

Es relevante destacar que las empresas participantes en este estudio fueron informadas de los resultados obtenidos, y junto a ellas, se establecerán contacto con los usuarios de sus sistemas, para que sean parte de la muestra de un estudio futuro acerca de la percepción usuario de las variables seguridad, rendimiento y fiabilidad en los productos de software en Chile, y así determinar la calidad de los productos software desarrollados en Chile para sus usuarios.

REFERENCIAS

Callejas, M., H. A. Valladares y A. C. Alarcón, Agentes de Software como Herramienta para medir la Calidad de Servicio Prestado en un Sistema de Transporte Público Colectivo Urbano, Información Tecnológica, 25(5), 147-154 (2004)        [ Links ]

Chidamber, S. y C. Kemerer, A Metrics Suite for Object Oriented Design, IEEE Transactions on Software Engineering, 20(6), 476-493, USA (1994)        [ Links ]

DeMarco, T., Structured Analysis: Beginnings of a new Discipline, In Software pioneers, Manfred Broy and Ernst Denert (Eds.), Springer-Verlag New York, Inc., New York, USA, 520-527 (2002)        [ Links ]

Felfernig, A., L. Hotz, C. Bagley and J. Tiihonen, Knowledge-Based Configuration: From Research to Business Cases, 1st Ed., Morgan Kaufmann Publishers Inc., San Francisco, CA, USA (2014)        [ Links ]

Halstead, M.E., Elements of Software Science, Elsevier North-Holland, Holland (1977)        [ Links ]

ISO, International Organization for Standardization, ISO/IEC 24765: Systems and software Engineering -Vocabulary (2010)        [ Links ]

Kitchenham, B. and S. L. Pfleeger, Software Quality: The Elusive Target, IEEE Software, 13(1), USA, 12-21 (Enero 1996)        [ Links ]

Likert, R., A Technique for the Measurement of Attitudes, Archives of Psychology, 140, 1-55 (1932)        [ Links ]

Marcos, J., A. Arroyo y J. Garzás, Calidad del producto software, modelos ISO relacionados y su automatización con software libre, X Jornadas de Innovación y Calidad del Software, Madrid, España (2008)        [ Links ]

MAT-UBO, Departamento de Matemáticas y Físicas, Universidad Bernardo O’Higgins (en línea: http://www.ubo.cl/, acceso: 07 de Junio 2016), Chile (2016)

McCabe, T., A complexity measure, IEEE Transactions on Software Engineering, Diciembre (1976)        [ Links ]

Mendoza, L., E., M. A. Pérez y A. C. Grimán, Prototipo de Modelo Sistémico de Calidad (MOSCA) del Software, Computación y Sistemas, 8 (3) 196-217, México (2005)        [ Links ]

MITRE, System Engineering Guide (en línea: https://goo.gl/Juy5wB, acceso: 21 de Noviembre 2016), Copyright © 1997-2017, The MITRE Corporation, USA (2016)        [ Links ]

Park, R.E., Software Size Measurement: A Framework for Counting Source Statements, CMU/SEI-92-TR-020, (en línea: https://goo.gl/cx1o7T, acceso: 07 de Junio 2016), Software Engineering Institute, Carnegie Mellon University, USA (1992)        [ Links ]

Pressman, R., Ingeniería de Software: Un Enfoque Práctico, 6a Ed., McGraw-Hill (2005)        [ Links ]

Sabin, B. J., Product configuration frameworks - a survey, IEEE Intelligent Systems, 13(4), 42-49, USA (1998)        [ Links ]

SPIN-Chile, Spin Chile (en línea: http://www.spin-chile.cl/, acceso: 07 de Junio 2016), Chile (2016)        [ Links ]

UBO, Universidad Bernardo O’Higgins (en línea: http://www.ubo.cl/, acceso: 07 de Junio 2016), Chile (2016)

Vega, V., G. Gasca y J. Etcheverría, Análisis Comparativa de Modelos de Calidad: Identificación de Mejores Prácticas para la Gestión de Calidad en Pequeños Entornos, III Congreso Internacional de Informática del Norte de Chile, INFONOR-CHILE, Arica, Chile, Agosto (2012)        [ Links ]

Recibido Sep. 13, 2016; Aceptado Nov. 8, 2016; Versión final Dic. 11, 2016, Publicado Jun. 2017

Creative Commons License Todo o conteúdo deste periódico, exceto onde está identificado, está licenciado sob uma Licença Creative Commons