Calidad En El Software Por Roy Corella
Enviado por corellasanchez • 5 de Noviembre de 2013 • 3.731 Palabras (15 Páginas) • 181 Visitas
INTRODUCCIÓN
La calidad se puede definir genéricamente como a un conjunto de características que permiten establecer un juicio de valor sobre un objeto o servicio, y que permitirá hacer comparaciones entre distintas variedades de dicho producto o servicio (Marín, 2013). Al hablar de emitir un juicio, se entiende que existe un espectador externo que observa y califica, y que de acuerdo a lo que percibe sobre un bien se formará un criterio positivo o negativo.
A partir de la idea anterior, se entiende un punto clave de la calidad: le otorga un valor agregado a un producto. Se puede observar este comportamiento cuando que las personas realizan cualquier compra, buscan una relación calidad – precio que no sólo sea conveniente con sus finanzas, sino que también sea una inversión que garantice durabilidad y confianza. Un producto famoso por su calidad será más escogido y más recomendado que uno con mala o ninguna calidad.
Sin embargo, una percepción de este tipo sobre la calidad está sometida a subjetividades, que a la larga resultan ser inconvenientes: la falta de conocimiento y de experiencia puede llevar a malas decisiones que resulten en una inversión poco fiable o en un fracaso. Al aplicar el concepto de calidad en el software, se multiplican las variables, como que el costo de los sistemas que suele rondar los miles o los millones, la percepción que los usuarios finales tengan sobre la funcionalidad del sistema, la seguridad del software y los datos, la portabilidad, la configuración, las redes e interoperabilidad y una lista que no hace más que crecer a medida que las tendencias y la tecnología crecen.
El presente trabajo dará una visión general sobre el concepto de calidad aplicado sobre el software, además de que dará detalles sobre dos modelos para normalizar la producción de software. Finalmente, se enfocará en los conceptos de Calidad del producto y Calidad del proceso, para dar una visión general en su aplicación al desarrollo de sistemas.
CALIDAD EN EL SOFTWARE
El concepto de calidad viene a definir un patrón que une distintos puntos de vista: especificaciones (diseño de producto), funcionalidad (expectativa de producto), precio (conformidad al mercado), soporte y servicios (procesos relacionados), ambiente psicológico (criticidad del consumidor). Es decir, la calidad involucra más de una sola cualidad sobre la percepción de un producto o servicio, incluso, Deming resumió estos puntos en tres grandes áreas: gente, proceso, sistemas (Department of Trade and Industry, 2005).
Al ser el desarrollo de software un proceso en sí mismo, necesita la aplicación de métricas de calidad que garanticen cada uno de los aspectos sociales, de proceso y sistémicos de la misma. Es decir, debe poseer una estructura normalizada que prevea las interacciones entre los miembros del equipo de desarrollo, los procesos para el control de la calidad del software, y los sistemas involucrados en las labores. A partir de esta aproximación, se desarrolla un Plan de Gestión de la Calidad, ya que no sólo se trata de las actividades específicas ni de las herramientas, sino de todos los procedimientos que los involucrados en la calidad deben seguir.
Además, la calidad en el desarrollo de software enfatiza tres principales aspectos (Chappell, 2011):
- Calidad funcional: Cuando el software ejecuta correctamente las tareas para las cuales fue diseñado. Esto involucra requerimientos, control de defectos, desempeño y facilidad de uso.
- Calidad estructural: Se refiere a la estructura interna del código del software. Siendo difícil de probar, los atributos de este “tipo de calidad” involucra la organización del código, el mantenimiento, el entendimiento, la eficiencia y la seguridad.
- Calidad de procesos: Esta parte involucra el correcto planeamiento de un sistema de calidad, que permite entregas a tiempo, dentro del presupuesto estimado y que además sea un proceso estable, fiable y repetible.
EVOLUCIÓN HISTÓRICA DE LA CALIDAD DE SOFTWARE
La calidad de software es un concepto que tiene más de cincuenta años de ser concebido como parte esencial del proceso de ingeniería de sistemas. Sin embargo, apenas en las últimas dos décadas se han incrementado los esfuerzos por normar los procesos y alcanzar consenso entre los desarrolladores, esto motivado por el crecimiento exponencial de los proyectos de software y la complejidad de los sistemas.
En la Tabla 1 se muestra un resumen con las principales características e hitos de cada época
Tabla 1. Resumen de la evolución de la calidad
Época Lenguajes Tecnologías Modelos Usos
1950-1960 Ensamblador
Fortran
LISP
COBOL UNIVAC, tarjetas perforadas, tubos al vacío, 1MB de almacenamiento PDCA
Contratos individuales Censos, guerra, NASA, Misil ATLAS
1960-1970 BASIC
C IBM 1620, transistor NATO (definición del rol de SQA)
Independent verification and Validation, Censos, NASA
1970-1980 PASCAL
C Circuitos integrados, procesadores 75MHz, teclado, ratón, disco de 3.5 pulgadas, computadoras personales IEEE 730
McCall
Boëhm Censos, aplicaciones comerciales, gobiernos, universidades, NASA
1980-1990 C++
PERL
ADA GUI, LSI, expansión de la PC, WWW, portátiles Murine & Carpenter Ejército, primeras redes, aplicaciones comerciales, NASA
1990-2000 HTML, Python
RUBY
Java
PHP
Javascript
Visual Basic Windows 3.1, crecimiento de Linux, Internet e ISP, PDA, Guilles LOQUM
ISO 9126
ISO 9000
ISO/IEC 12207 Internet, aplicaciones comerciales, bases de datos a gran escala, estudios espaciales
2000-Presente SCALA
C#
Familia .Net Computación cuántica, equipos ultra portátiles, teléfonos inteligentes ISO 20001
ISO 27000
ISO 25000 Movilidad, granjas de datos, minería, estudios científicos y comerciales, estudio de fenómenos atómicos y espaciales, predicciones, redes sociales
Referencias: (Chapman, 2010) (DuPaul, 2013) (Montecino, 2010)
COMPARATIVA ENTRE MCCALL E ISO 20001
El modelo de McCall se originó en 1977 a pedido del Departamento de Defensa de los Estados Unidos, para el control de los sistemas orientados a la milicia de este país (Blekinge Engineering Software Qualities, 2004). Consta de 11 factores divididos en 11 criterios de calidad.
El Estándar ISO 20001 nació en el 2005, como adopción al estándar BSI 15000. En su última versión de abril de 2011 incorpora nueve factores distribuidos en 22 factores (IT Process Maps, 2013).
En la Tabla 2 se muestra una comparativa con los elementos que posee cada uno de estos modelos de calidad.
Tabla 2. Comparación
...