lunes, 18 de marzo de 2013

4.22. ASEGURAMIENTO DE LA CALIDAD MEDIANTE INGENIERÍA DE SOFTWARE


           ¿Qué es la calidad del software?
El grado en que un cliente y/o usuario percibe que el producto software satisface sus necesidades, cumpliendo las normas y que tenga cero defectos.

¿Qué es la ingeniería del software?
Es una disciplina de la ingeniería que comprende todos los aspectos de la producción de software desde las etapas iniciales de la especificación del sistema hasta el mantenimiento de este después que se utiliza.
El establecimiento y uso de principios de ingeniería robustos orientados a obtener software económico que sea fiable y que funcione en máquinas reales.

Enfoques para el aseguramiento de la calidad mediante la ingeniería de software 


  • Garantizar el aseguramiento de la calidad total diseñando sistemas y software con un enfoque modular, descendente.
  •  Documentar el software con las herramientas adecuadas.
  • Probar, mantener y auditar el software.

 Principios que guían  hacia el aseguramiento de la calidad


  •  El usuario del sistema de información es el factor individual más importante en establecer y evaluar su calidad.
  •  Es mucho menos costoso corregir los problemas en sus fases iniciales que esperar hasta que un problema se manifieste a través de las quejas o crisis del usuario.
  • Forma de minimizar los riesgos, y ayudar a asegurar que el sistema es lo que se necesita y quiere, y que mejorará evidentemente algunos aspectos del desempeño del negocio 

Enfoque de administración de calidad total (TQM)

*      Responsabilidad de la administración de la calidad total

  • Gran parte de la responsabilidad por la calidad de los sistemas de información recae en los usuarios de estos y en los directivos.
  • Debe existir un apoyo incondicional por parte de los directivos.
  •   La administración y los usuarios deben desarrollar lineamientos para los estándares de calidad de los sistemas de información.
*      Repasos estructurados

  •  Una de las acciones más fuertes de la administración de calidad.
  •  Es una forma para monitorear el desarrollo general y de la programación del sistema, resaltar problemas y permitir al responsable de esa parte del sistema haga los cambios adecuados.
  •  Pueden ser realizados cada vez que se ha terminado una parte del código, un subsistema o un sistema.
*      Diseño y desarrollo de sistemas

  • Diseño Ascendente
  •  Se refiera a identificar los procesos que necesitan computarizarse conforme surgen.
  •  Analizarlos como sistemas y codificar los procesos o comprar software para resolver el problema.
  •  Los problemas que requieren computarizarse normalmente se encuentran en el nivel más bajo de la organización.
  • Cuando la programación interna se hace con un enfoque ascendente, es difícil interconectar los subsistemas de manera que se desempeñen fácilmente como un sistema
  • Diseño descendente
  • Ver una gran imagen del sistema y luego explotarla a partes o subsistemas más pequeños.
  • Determina los objetivos organizacionales globales.

*      Ventajas del diseño descendente

  •  Evita el caos de diseñar un sistema "todo a la vez“, dado que la planeación e implementación de un sistema de administración de información es complejo.
  • Nos da la habilidad de tener equipos de análisis de sistemas separados trabajando en paralelo en diferentes subsistemas, ahorrando tiempo.
  •  Se previene que los analistas de sistemas se enfoquen demasiado en los detalles y pierdan de vista lo que debe hacer el sistema.
  •  Ventajas
  • Módulos más sencillos de escribir y depurar debido a la independencia.
  • Los módulos son más fáciles de mantener.
  • Los módulos son más fáciles de entender, debido a que son subsistemas independientes.

*      Uso de Diagramas de Estructura para diseñar sistemas

  • Herramienta recomendada para diseñar un sistema modular descendente.
  •  Consiste de cuadros rectangulares, los cuales representan los módulos y de flechas de conexión.
  • A un lado de las líneas de conexión, se dibujan dos tipos de flechas.
  • Las flechas con círculos vacíos se denominan parejas de datos y las flechas con los círculos rellenados se denominan banderas de control o interruptores que están limitados por dos valores: si o no.
  •   Estas flechas indican que algo se pasa hacia al módulo inferior o al módulo superior.

Documentar el software con las herramientas adecuadas

*      Documentación

  • Permite al usuario, programadores y analistas “ver” el sistema, su software y procedimientos sin tener que interactuar con él.
  • Proporciona una apreciación global del propio sistema.
  •   La documentación de procedimiento detalla lo que se debe hacer para ejecutar el software en el sistema y;
  • La documentación del programa detalla el código del programa que se usa.

*      Pseudocódigo

  • No es un tipo particular de programar código, pero se puede usar como un paso intermedio para desarrollar el código de programa.
  • Con frecuencia se usa para representar la lógica de cada módulo en un diagrama de estructura.

*      Manual de procedimiento

  • Son documentos de apoyo al usuario, asistencia.
  •  También podrían contener códigos de programas, diagramas de flujo, etc.
  •  Podrían contener comentarios de fondo, los pasos requeridos para lograr diferentes transacciones, instrucciones de cómo solucionar problemas.
  • Soporte técnico, servicio de fax o manuales en línea.

*      Método Folklore

  •  Folklore = Tradición = Costumbre
  • Técnica de Documentación que sirve para complementar  otras técnicas
  • Sirve para recopilar las costumbres entre las personas.
  • Requiere de entrevistas, revisión de carteles, etc.
  • Tiene 4 categorías (Proverbios, Costumbres, Formas Artísticas y Anécdotas).

*      Selección de una técnica de diseño y documentación

  • Es compatible con la documentación existente
  •  Se entiende por otros en la organización.
  • Le permite regresar a trabajar en el sistema después de que ha estado fuera de el por un periodo.
  •  Sea conveniente para el tamaño del sistema en que esta trabajando.
  • Permita fácil modificación.

Prueba, Mantenimiento y Auditoría

*      Proceso de prueba

  • Las pruebas se realizan a lo largo del sistema y no simplemente al final.
  • Es una serie esencial de pasos que ayuda asegurar la calidad del sistema eventual
  • La prueba se realiza en subsistemas o módulos de programas conforme al trabajo avanza.
  • Revisa para ver si los módulos trabajan junto entre ellos, tal como se planeó.


*      Prácticas de mantenimiento

  • El mantenimiento se realiza para mejorar el software existente en lugar de responder a una crisis o falla del sistema.
  • Re codificar para mejorar la eficacia del programa.
  • Proporcionar a los usuarios acceso a un correo electrónico para el soporte técnico.

*      Cómo auditar

  • Es una forma de asegurar la calidad de la información contenida en el sistema.
  • Se pide un experto, que no esté involucrado en crear o usar el sistema, examinar la información para determinar su fiabilidad.




No hay comentarios:

Publicar un comentario