sábado, 14 de diciembre de 2019

Mediciones en Producto y Proceso de Software


La medición del software es una tecnología con características y limitaciones similares a una nueva e inmadura tecnología

¿Por qué medir?
 “Medimos para mejorar” Las mejoras en el proceso de desarrollo de software y sistemas de calidad no pueden ser evaluadas sin un esfuerzo efectivo de medición. Cada organización desea mejorar sus procesos de desarrollo de software debido a que existe un tangible beneficio con la construcción de un mejor software. 

Aqui se muestran unas necesidades de porque debemos medir el software que utilizamos

  • Mejoras en la calidad y productividad.  
  • Planificación y estimación de proyectos con alguna precisión.  
  • Disposición del personal adecuado, bien utilizado y motivado.  
  • Existencia de una adecuada estructura organizacional.  
  • Uso de técnicas y herramientas efectivas para el proceso. 
  •  Obtención de un espacio físico y ambiente de trabajo óptimo. 
Los aspectos esenciales de la medición son:  
  • Datos duros, son cuantificables con poca o sin subjetividad (esfuerzo, volumen documentación, errores detectados, etc.  
  • Datos blandos, presentan un grado de subjetividad (habilidad y experiencia, presiones de tiempo, satisfacción del cliente, cooperación del cliente, etc.  
  • Datos normalizados, son usados con propósito comparativo (LOC, PF, CC, PO) 
Atributos internos y externos

Cada una de estas entidades puede ser medida definiendo sus atributos internos o externos. Un atributo interno es medido directamente desde la entidad. Por ejemplo, una medida interna del código fuente es el tamaño medido por las líneas de código. Un atributo externo es una medida de la entidad con relación a una necesidad externa definida por el ambiente en el cual es desarrollada o utilizada. 

FACTOR
DEFINICIÓN
Corrección
Grado en el que un programa satisface las especificaciones y cumple los objetivos del usuario.
Fiabilidad
Grado en el que un programa se espera que realice su función con una precisión requerida.
Eficiencia
Cantidad de recursos y código requeridos por un programa para realizar una función.
Integridad
Grado en el que se controla el acceso al programa o los datos por usuarios no autorizados.
Usabilidad
Esfuerzo necesario para aprender, operar, preparar entradas e interpretar la salida de un programa.
Mantenibilidad
Esfuerzo requerido para localizar y corregir un error en un programa en funcionamiento.
Facilidad de prueba
Esfuerzo requerido para probar un programa (para garantizar que realiza la función deseada).
Flexibilidad
Esfuerzo requerido para modificar un programa en funcionamiento.
Portabilidad
Esfuerzo requerido para trasferir un programa de una configuración hardware o entorno software a otro.
Reusabilidad
Grado en el que un programa se puede utilizar en otras aplicaciones
Interoperatividad
Esfuerzo requerido para acoplar un sistema con otro.

Fuentes


viernes, 13 de diciembre de 2019

Costo de calidad de los sistemas de información.


El costo de la calidad incluye todos los costos en los que se incurre al buscar la calidad o al realizar actividades relacionadas con ella y los costos posteriores de la falta de calidad. Para entender estos costos, una organización debe contar con unidades de medición que provean el fundamento del costo actual de la calidad, que identifiquen las oportunidades para reducir dichos costos y que den una base normalizada de comparación. El costo de la calidad puede dividirse en los costos que están asociados con la prevención, la evaluación y la falla. 


Los costos de prevención incluyen lo siguiente:  
1) el costo de las actividades de administración requeridas para planear y coordinar todas las actividades de control y aseguramiento de la calidad,  
2) el costo de las actividades técnicas agregadas para desarrollar modelos completos de los requerimientos y del diseño,  
3) los costos de planear las pruebas y  
4) el costo de toda la capacitación asociada con estas actividades. 

Los costos de evaluación incluyen las actividades de investigación de la condición del producto la "primera vez" que pasa por cada proceso. Algunos ejemplos de costos de evaluación incluyen los siguientes: 
  • El costo de efectuar revisiones técnicas de los productos del trabajo de la ingeniería de software. 
  • El costo de recabar datos y unidades de medida para la evaluación. 
  • El costo de hacer las pruebas y depurar. 
Los costos internos de falla incluyen los siguientes: 
  • El costo requerido por efectuar repeticiones (reparaciones para corregir un error). 
  • El costo en el que se incurre cuando una repetición genera inadvertidamente efectos colaterales que deban mitigarse. 
  • Los costos asociados con la colección de las unidades de medida de la calidad que permitan que una organización evalúe los modos de la falla. 


Cálculo del costo de la calidad 

El costo promedio de la industria por corregir un defecto durante la generación de código es aproximadamente de US$977 por error. El promedio del costo en el que incurre la industria por corregir el mismo error si se descubre durante las pruebas 
del sistema es de US $7,136. Cigital, lnc. [Cig07] tome en cuenta que una aplicación grande contiene 200 errores introducidos durante la codificación. 
De acuerdo con datos promedio, el costo de encontrar y corregir defectos durante la fase de codificación es de US $977 por defecto. Entonces, el costo total por corregir los 200 errores "críticos" durante esta fase es de (200 x US $977) US$195 400, aproximadamente. 


Defectos y errores de calidad en los sistemas de información



Defecto: Un defecto se encuentra en un artefacto y puede definirse como una diferencia entre la versión correcta del artefacto y una versión incorrecta. Coincide con la definición de diccionario, "imperfección".

Falla: En terminología IEEE, una falla es la discrepancia visible que se produce al ejecutar un programa con un defecto, el cual es incapaz de funcionar correctamente (no sigue su curso normal).

Error: Es una equivocación cometida por el desarrollador. Algunos ejemplos de errores son: un error de digitación, una malinterpretación de un requerimiento o de la funcionalidad de un método. 

Bug: Un bug es el término común usado para describir un defecto, en un programa, esto debido a que una vez durante un informe de errores se encontró una polilla muerta con cinta de aislar en el mismo

Calidad en los sistemas de información

Aplicadas las definiciones de calidad al ámbito de la información podría decirse que la calidad de la información de un sistema de información, vendrá determinada por su capacidad para satisfacer las necesidades de información de la persona o personas que lo utilicen.

En la Sociedad de la Información y del Conocimiento cada vez se hace más necesario el conocimiento y el aprendizaje para desarrollar cualquier actividad bien sea esta empresarial, recreativa, investigadora, o de otra índole, y además estos conocimientos deben actualizarse regularmente, pues con frecuencia quedan desfasados, y el proceso de aprendizaje debe ser continuo para que sea eficaz. 

Según lo que plantea la norma ISO 9000:2000, calidad: “Es el grado en el que un conjunto de características (rango diferenciador) inherentes cumple con los requisitos (necesidad o expectativa establecida, generalmente implícita u obligatoria)”.  
Según la norma ISO 8402 define calidad como: “La totalidad de las características de una entidad que le confieren la aptitud para satisfacer las necesidades establecidas e implícitas”.  
Diferenciar el concepto de información y datos, reviste gran importancia para el desarrollo de Sistemas de información en función de la dirección. Frecuentemente los términos datos e información se intercambian, confundiendo su significado.  
Datos: Es la colección desorganizada de hechos que no han sido procesados en información, dato es el hecho crudo cuyas conclusiones pudieran ser  desentrañadas. Estos hechos pueden describir personas, lugares, cosas, ideas, procesos o eventos

Información: Es el conocimiento adquirido por causa del procesamiento de datos.