viernes, 28 de abril de 2017

Calidad en el Desarrollo de Software: tecnicas y herramientas de calidad de Software

Estandares de codificacion:

Nombres,
revelen la intencion a la cual han sido creados, pronunciables, buscables, uno por concepto, domonio de la solucion, domino del problema.

 En las rutinas:
que sean Pequeñas, hagan una cosa, cero, uno o dos argumentos, bloques y sangría, legible de arriba a abajo, no tener efectos colaterales

En los comentarios
Buenos comentarios, informan , explican intencion, clarifican, advierten consecuencias, tareas por realizar

Malos comentarios: requeridos, redundantes, confusos, codigo viejo.

Revisiones de codigo:
la inspecciosa puede reducir hasta en un 90% el mal codigo de un software

Pruebas:
pruebas de aceptacion comprueban que cumplen los requerimientos, pruebas de sistema comprueban el diseño planteado, pruebas unitarias

Refactorización:
reestructurar el codigo sin afectar el funcionamiento del codigo.

Es una tecnica disciplinada para la reestructuracion de codigo, alterando su estrucutra interna sin cambiar si comportamiento externo.

miércoles, 26 de abril de 2017

Calidad en el desarrollo del Software: Calidad de còdigo

Bjarne Stroustrup:
"Es elegante y eficiente... directo... tiene mìnimas dependencias... hace una cosa bien"

Grady Booch:
"Simple y directo... se lee como prosa bien escrita".

Qué atributos tiene el código de calidad?

Externos: Atributos de calidad
Eficiente, integro confiable, exacto, confiable, usable, adaptable, robusto

Internos: Reusable, legible, comprobable, comprensible.

Mantenible: Facil de modificar para corregir errores, mejorar su desempeño, cambiar o agregar capacidades o adaptarlos a cambios en el entorno.

Flexible: Facil de modificar para ser usado en aplicaciones o entornos diferentes para los que fue especificamente diseñado.

POrtable: Facil de transferir de un entorno de hardware o software a otro.

Reusable: Puede ser usado en mas de un sistema de software, sin copiarlo.

Legible: que se entendibe

Comprobable/Verificable: probado

COmprensible

como btenemos la buena calidad?
control de versiones, pruebas, revisiones de codigo, refactoring, programacion en parejas, integracion continua, analisid de codigo, conocer el lenguaje, principios de diseño, patrones de diseño.

SW Quality: THE ELUSIVE TARGET 

Vista Cómo mide la calidad?
Trascendental N/A
Usuario
(Cumplir necesidades del usuario)
Fiabilidad Usabilidad
Proceso de construcciòn
(Se enfoca en la calidad del producto durante la producción y después de la entrega.)
Cantidad defectos
Costo de reproceso (arreglar cosas)
Producto
Se basa en indicadores
caracteristicas del producto y proceso
Valor
La relaciòn costo beneficio


martes, 25 de abril de 2017

Calidad en el Desarrollo de Software: Qué es Calidad?

La calidad no ha cambiado mucho de la nuestra en siglos. Las estrategias para asumir la calidad pueden haber cambiado pero las expectativas son las mismas. Henry Ford aunque no tenia entrenamiento especial en la calidad, creció en un ambiente donde la calidad se tomaba por hecho. Por supuesto, ya hace casi mas de un siglo que el descubrió que podía obtener ventaja competitiva al enfocarse en la calidad. A continuación veremos las definiciones de calidad de 8 gurús para ver si tiene significado lo que estas palabras dicen.



Definición de Jurán:
Menciona que calidad es cumplir con los requisitos y satisfacer al cliente. Su definicion de calidad es: adecuamiento al uso.

Shewart
habla sobre calidad subjetivo de la calidad: que tan bueno es un producto o un servicio.

Qué es la calidad?
-Crosby "Cumplimiento de requesitos, no elegancia"
Se enfoca en cumplimiento de los requisitos.
Definición de la calidad.
Requisitos definidos y medibles.

Deming "uniformidad y fiabilidad a bajo costo y adecuado a las necesidades"
Satisfacción del cliente.
Es multidimiensional, no una sola características
Tiene diferentes grados.

Feigenbaum´s
Satisfacción del cliente
Dinámica
Multidimensional

Ishikawa
Satisfacción del cliente
Requisitos cambiante
Enfocarse en toda la organización.

Jurán "Adaptación al uso"
Relación entre la satisfacción y las especificaciones
Libre de defectos.

Shewhart "Conformidad con ls especificaciones"
Valor del producto para el cliente
Conformidad con ls especificaciones
Objetivos subjetivos
Dimensión Precio
Estandares medibles
Medición estadística

Taught
Pérdidas que el producto causa a la sociedad
El objetivo es minimizar la pérdidad.

Qué es la calidad?

La calidad no es absoluta: significa diferentes cosas en diferentes situaciones y es percibida de forma diferente por diferentes personas.

La calidad es multidimensional: tiene muchos aspectos que contribuyen a ella algunos de los cuales pueden medirse y otros no.

La calidad no está sujeta a restricciones: en muchos casos, no puede separarse de los costos, personas, herramientas, tiempo, los cuales casi siempre son limitados.

La calidad es acerca de compromisos aceptables: cuando hay restricciones algunos criterios de calidad deben ser sacrificados por otros.

Los criterios de calidad no son independientes: sino que se interrelacionan con otros causando conflictos.

Qué es la calidad del software?

Segun la ieee: la calidad
grado en que un conjutno de caracteristicas inherentes cumple con los requisitos.

Dimensiones de la calidad

Confiabilkidad de los reultados
Confirmidad o cumplimiento
Durabilidad
Servicio o facilidad de servicio
Estetica
Reputacion o calidad percibida

Perspectiva de la calidad

Del usuario
del proceso
del producto
del valor
transcendental

Segun la IEEE: cumplir con los requisitos especificados

cumplir con las necesidades o expectativas del cliente o usuairo
-caracteristicas deseados de los productos de software.
-Procesos y herramientas y técnicas de calidad.


Según Humphrey Watts
-Cumple con las necesidades del usuario
-No tiene defectos.

Porqué es importante?
Porque permite satisfacer las expectativas deñl cliente y una adelantarse a sus necesidades.