Actividad 1 de Aseguramiento de La Calidad de Software

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 7

INGENIERIA DE SOFTWARE

UNIVERSIDAD DE CARTAGENA

ASIGNATURA:
ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE

ACTIVIDAD: 1

PROGRAMA:
INGENIERA DE SOFTWARE
VIII SEMESTRE

INTEGRANTES:
GERVIS ANTONIO PAJARO PAJARO
JEINER LUIS MANGONES ANAYA
FIDEL HERNANDEZ ALTAMIRANDA

TUTOR:
FERNANDO DAZA ILLERA

CENTRO TUTORIAL LORICA

2020
INGENIERIA DE SOFTWARE

INTRODUCCION
Hoy en día son cada vez más las organizaciones que incorporan Tecnologías de
información como soporte a las actividades de sus unidades de negocio, en el
deseo que les permita crear valor y mejorar su competitividad (Laureano & Rocha,
2015). Por un lado, demandan productos software de calidad (Piattini et al., 2014)
y por otro exigen el uso de estándares internacionales que aseguren la entrega de
productos software de calidad. Para cumplir con estas exigencias las
organizaciones desarrolladoras de software no solo deben asegurar la calidad del
producto software, sino que además deben asegurar la calidad del producto
software (Rocha & Freixo, 2015).
Diversos organismos especializados como International Standarization
Organization (ISO), Software Engineering Institute (SEI) han desarrollado
estándares, buenas prácticas y metodologías. Podemos mencionar a ISO/IEC
9126 (ISO 9126, 1991) orientado al producto software, CMMI (Capability Maturity
Model Integration) (Chrissis, Konrad & Shrum, 2011), TSP (Team Software
Process) (Software Engineering Institute, 2010b) y PSP (Personal Software
Process) (Software Engineering Institute, 2010a). CMMI para desarrollo consiste
de las mejores prácticas que dirige las actividades de desarrollo aplicado a
productos y servicios (Chrissis, Konrad & Shrum, 2011), TSP se enfoca en
equipos de alto rendimiento para desarrollar software de calidad y PSP ayuda en
la gestión del tiempo y mejora de la productividad personal. Sin embargo, a pesar
de que se han desarrollado modelos, estándares y métodos para mejorar la
calidad del proceso software, los proyectos de desarrollo de software no alcanzan
los objetivos planificados respecto a su línea base de alcance, coste, tiempo,
calidad y satisfacción de los clientes. Según el informe Chaos (The Standish
Group Report, 2015) sobre proyectos software, solo un 29% de los proyectos
fueron exitosos, 52% de los proyectos fueron cuestionados o sufrieron cambios, y
el 19% de proyectos fracasaron (cancelados antes de su finalización o entregados
y nunca se usaron). Entre las causas mencionadas de la baja tasa de proyectos
software exitosos se encuentra en primer lugar el haber tratado a la programación
por su enfoque científico y a veces artístico, y en segundo lugar los cambios de los
requerimientos (Sommerville, 2010). Además, las propuestas de métodos,
metodologías y estándares solo se enfocan en una parte del negocio y no se
presenta como una propuesta integral.
Fundamentos de la calidad en la ingeniería de software
La calidad en la ingeniería del software, que depende en gran medida de la pericia
del equipo que lo desarrolla, puede definirse como un conjunto de características o
cualidades, tales como: eficiencia, fiabilidad, usabilidad, funcionalidad,
mantenibilidad, portabilidad, etc., variando la importancia de cada una de ellas de
un producto a otro. Dicho de otra manera, es el cumplimiento de los
INGENIERIA DE SOFTWARE

requerimientos contractuales por parte del producto software desarrollado, así


como durante el proceso de desarrollo.
En las empresas de Ingeniería de software, la calidad se obtiene mejorando día a
día el proceso de producción, mantenimiento y gestión del software. Para
optimizar la calidad de los productos y/o servicios es preciso conocer al cliente y
sus necesidades, conocer a la competencia y poseer un modelo de calidad. Esto
último permitirá incrementar la fiabilidad, reducir el mantenimiento, aumentar la
satisfacción del cliente, mejorar la dirección del proyecto, detectar errores pronto /
rápido e incrementar el beneficio. Pero también la madurez de los procesos de
desarrollo y las técnicas adecuadas para mejorarlos y tener una gestión adecuada
de las mejoras de dichos procesos.
Hay que saber en qué nivel de madurez, en cuanto a la calidad, se encuentra la
organización, para poder determinar qué tipo de acciones son las más adecuadas
en cada momento. Una organización inmadura se caracteriza por:
- Realizar procesos improvisados; incluso procesos especificados no son seguidos
ni se exige su cumplimiento.
- Son organizaciones que "reaccionan"; los directivos "apagafuegos" se centran en
resolver las crisis momentáneas.
- Sobrepasan presupuestos y calendarios, pues no se basan en estimaciones
reales.
- Suelen disminuir la calidad y la funcionalidad para cumplir fechas.
- Carecen de bases objetivas para juzgar la calidad o para resolver problemas.
- Reducen o eliminan actividades de mejora de la calidad (revisiones, pruebas,
etc.) cuando los proyectos se retrasan.
Crosby propone un modelo de 5 etapas de madurez de la gestión de calidad en la
empresa:
1 incertidumbre: realidad confusa y sin compromiso.
2 despertar: reconocimiento de la importancia de la gestión de la calidad, pero sin
un compromiso de invertir en ella.
3 ilustración: compromiso de mejora, enfrentando los problemas sin desviar la
acción a otros.
4 sabiduría: participación, medición precisa e intentos de hacer permanentes las
mejoras logradas.
5 certeza: gestión de la calidad como parte esencial de los sistemas de la
empresa.
INGENIERIA DE SOFTWARE

El "Software Engineering Intitute" de la Universidad de Carnegie - Mellon, se basó


en el modelo de "madurez" de Phillip Crosby para crear un método para valorar el
proceso de desarrollo de software: Modelo de Madurez de la Capacidad para
Crear Software, CMM (Capability Maturity Model)
El CMM: Es un método. Por una parte, se centra en el estudio de los procesos de
software, en contraposición al interés por los productos software. Ejemplo:
definición y desarrollo de los requisitos del software; generación de datos de
prueba; planificación de la instalación del software. Por otra, se fundamenta en
que la "madurez" del proceso es un indicador para construir software de calidad.
El método tiene 5 niveles de "madurez" y 18 áreas clave, cada una de éstas
incluyen prácticas clave, que a su vez encierran preguntas concretas.
El modelo, basado en sondeos, permite que las empresas puedan conocer en qué
nivel se encuentra actualmente su proceso de producción de software, qué tipo de
mejoras prioritarias se deben realizar y en qué aspectos o actividades críticas del
proceso de desarrollo pueden intervenir con cierta garantía de éxito (estrategia de
mejora del proceso)
Finalmente es recomendable tener en cuenta las siguientes "medidas" a aplicar
para asegurar la calidad de los productos software:
- En el contrato de software: formular claramente y de forma precisa las
responsabilidades, productos a entregar, etc. del proveedor; usar cláusulas
estándar y listas de comprobación; revisar los borradores del contrato (comprador
económico, auditor, abogado, etc.); negociar el borrador del contrato con el
proveedor; obtener la orden del contrato firmada; modificar el contrato en caso de
"problemas" serios.
- En el producto software: definir los requerimientos de calidad del producto;
utilizar herramientas apropiadas para describir los requerimientos; evaluar la
viabilidad; guías de programación; guías de documentación; documentación
técnica consistente; gestión de la configuración; revisión de la documentación
técnica; revisión de código; pasos de test; predicción del rendimiento; formación
técnica del miembro del equipo
- En el proceso de software: proveer con antelación suficiente los recursos
necesarios: personas, hardware, software, herramientas, etc.; estructurar el
proceso de software por fases; descripción clara del trabajo de cada miembro del
equipo; reuniones del proyecto planificadas; reuniones de decisión de fase
planificadas; control periódico de las tendencias y costes de los hitos; control de
resultados e información de los hitos; monitorización periódica del riesgo y su
prevención; información y motivación de los miembros del equipo; formación de
los miembros del equipo.
INGENIERIA DE SOFTWARE

- En la documentación de software: estándares de contenido: estructura, sumario,


glosario, índice, etc.; estándar de presentación: formato de la hoja, identificación,
clasificación, paginación, estado, etc.; instrucciones al equipo: guías de estilo de
formulación, visualización, ejemplos; suministro de herramientas; administración
de los documentos de forma profesional; revisiones / versiones.
La calidad es hoy una de las mayores ventajas competitivas para las empresas
desarrolladoras de software
La calidad es un concepto vacío si no se tienen en cuenta las necesidades reales
de los clientes. Así pues, algunas definiciones de calidad serían: calidad es el
cumplimiento de los requisitos del cliente; calidad es satisfacer al cliente; o calidad
es lo que el cliente dice o piensa que debe ser.
TIEMPO, COSTOS Y RECURSOS
La estimación del tiempo forma parte del proceso de Gestión del Tiempo de la
Administración de Proyectos.   
La Gestión del Tiempo del Proyecto incluye los procesos necesarios para lograr la
conclusión del proyecto a tiempo. Los procesos de Gestión del Tiempo del
Proyecto incluyen lo siguiente:   
 Definición de las Actividades: identifica las actividades específicas del
cronograma que deben ser realizadas para producir los diferentes
productos entregables del proyecto.  
 Establecimiento de la Secuencia de las Actividades: identifica y
documenta las dependencias entre las actividades del cronograma.  
 Estimación de Recursos de las Actividades: estima el tipo y las
cantidades de recursos necesarios para realizar cada actividad del
cronograma.  
 Estimación de la Duración de las Actividades: estima la cantidad de
períodos laborables que serán necesarios para completar cada actividad
del cronograma.  
 Desarrollo del Cronograma: analiza las secuencias de las actividades, la
duración de las actividades, los requisitos de recursos y las restricciones
del cronograma para crear el cronograma del proyecto.  
 Control del Cronograma: controla los cambios del cronograma del
proyecto. 
COSTOS
 La estimación de costos de una actividad es una evaluación cuantitativa
de los costes probables de los recursos necesarios para completar las
actividades del cronograma del proyecto. Este tipo de estimación puede
presentarse en forma de resumen o en detalle. 
INGENIERIA DE SOFTWARE

 Los costos se estiman para todos los recursos que se aplican a la


estimación de costos de la actividad. Esto incluye, entre otros, la mano
de obra, los materiales, los equipos, los servicios, las instalaciones, la
tecnología de la información, y categorías especiales como una
asignación por inflación o una reserva para contingencias de costo.  
RECURSOS
 La estimación de recursos y costes es una actividad importante que
debe llevarse a cabo con el mayor detalle posible, porque permite al
comprador establecer una aproximación al coste total y plazos del
desarrollo del sistema. 
 Para ello se requiere experiencia, acceso a una buena información
histórica y determinación para confiar en medidas cuantitativas cuando
todo lo que existe son datos cualitativos.  
1. Factores que afectan a esta estimación:  
 La complejidad del proyecto, cuantificando la misma en función de:  
 Número de módulos y nivel de interrelación entre los mismos.  
 Número y tipo de las interfaces externas con otros sistemas, programas
o datos.  
 Grado de distribución y heterogeneidad del entorno de implantación.  
 Grado de sofisticación de las herramientas de desarrollo.  
 Naturaleza de los algoritmos que se deben diseñar y programar.  
CONCLUSIÓN
Las organizaciones invierten dinero para incorporar TI como soporte a sus
unidades de negocio. Cuando requieren de un producto software, calidad del
producto software y uso de los estándares internacionales en el desarrollo del
producto, son exigencias que la empresa desarrolladora de software debe tomar
en cuenta. Existen diversas propuestas de metodologías como PSP, TSP y
modelos como CMMI orientadas a obtener productos de calidad, pero estas no
están integradas. En este artículo se presenta un caso de estudio de la propuesta
y aplicación de un modelo de aseguramiento de calidad que integra CMMI, TSP y
PSP. El modelo integra las buenas prácticas, procedimientos, formularios con el
propósito de obtener productos de calidad. El modelo ha sido implementado en
una empresa desarrolladora de software peruana. Un total de 22 proyectos fueron
seleccionados, 11 corresponden al pre-test y 11 al post-test. Los resultados fueron
evaluados en cuatro dimensiones: costo de calidad, defectos, rentabilidad y
satisfacción del cliente. Con la implementación del modelo de aseguramiento de la
calidad se logra reducir el coste de calidad, reducir los defectos, la desviación de
coste y se incrementa la satisfacción del usuario. Como resultado de la reducción
significativa en la desviación de costo de los proyectos se incrementa la
INGENIERIA DE SOFTWARE

rentabilidad en cada uno de los proyectos. En este artículo se ha revisado el


impacto en los proyectos y como trabajo futuro se plantea evaluar la mejora en los
miembros de los equipos de proyectos en aspectos relacionados a la
comunicación, participación, trabajo en equipo, conocimientos entre otros.

También podría gustarte