martes, 7 de abril de 2015

LA CALIDAD DEL SOFTWARE

Alumno: Victor Cuauhtemoc Vargas Ramírez

Especialidad: Programación   

Grupo: 4IM8  

Profesor: Juan Manuel Cruz Mendoza
TÉCNICAS DE PROGRAMACIÓN PERSONAL CON CALIDAD

Introducción


Actualmente, la tecnología es fundamental en nuestra vida cotidiana, ya que mediante aplicaciones (software) se satisfacen ciertas necesidades que  actualmente las personas tienen. Por ejemplo los mensajes del WhatsApp son muy útiles para comunicarse sin costo alguno, de forma rápida y eficiente con la persona que deseamos,  a través de la red 3G que nos brinde nuestra compañía telefónica. Es ahí donde nos damos cuenta que utilizamos algo llamado "software" que es aquella parte intangible de nuestra computadora o aparato, que nos ayuda a satisfacer una necesidad.

Entonces nos cuestionamos, ¿Existe la calidad dentro del software? -Por supuesto que sí, reflexionemos.

Para comenzar a desarrollar aspectos básicos referentes a la calidad de software, retomemos el concepto de calidad.

Según Cuauhtemoc Vargas, la calidad: "Es el grado de satisfacción que ofrecen las características de un producto de acuerdo a las exigencias planteadas por el que lo consume".


Entonces analicemos: ¿Cómo podríamos observar la calidad dentro de un software?; utilizando nuestra lógica y el concepto anteriormente citado, podríamos decir que un software de calidad es aquel en el que su contenido y funcionalidad están basados en las exigencias planteadas por la persona o empresa que lo requiere, y a su vez les provoca satisfacción, ya que ofrecen las características que en principio planteó la persona que lo consume.


Desarrollo


En la introducción elaboramos una pequeña definición acerca de la calidad del software, sin embargo la calidad en el software es un concepto diferente que no podríamos compararlo directamente con la calidad de un producto. En la actualidad, el software se ha convertido en uno de los principales objetivos estratégicos de las organizaciones debido a que, cada día, los procesos mas importantes de las organizaciones y su supervivencia dependen del funcionamiento del software.


Para entender y medir con eficacia la calidad, debe ser expresada por términos que tengan sentido para el usuario. En el caso del software estos factores son el medio por el cual la calidad se traduce al lenguaje de las personas que manejan la tecnología.

Los factores que afectan a la calidad se dividen en 2 grupos:

1. Los que MIDEN directamente (defectos hallados en las pruebas).
2. Los que SE MIDEN directamente (facilidad de uso)

Para tener un indicio sobre la calidad debemos comparar al software con algún conjunto de datos, presentando una medición.

En 1977 McCall, Richards & Walters, propusieron una clasificación de los factores que afectan directamente a la calidad del software, concentrándolos en 3 aspectos importantes que debe cubrir un software:

  • Características operativas.
  • Capacidad para sufrir cambios.
  • Capacidad de adaptarse en nuevos entornos.

Entonces, describiremos brevemente algunos de los factores fundamentales para medir la calidad en un software:

  1. Exactitud.

    Es la forma en la que el software cumple con los requerimientos del sistema, que trabaje correctamente, la eficacia de su trabajo.


  2. Robustez.

    Es la capacidad que tiene un software para reaccionar de manera correcta ante condiciones que se encuentren fuera del alcance del software, condiciones excepciones.

    Al terminar de realizar un software de alta calidad siempre se presentaran situaciones que no contemplarás y la robustez nos asegura que éstas no causarán eventos catastróficos, si se presentan errores en tu software, la robustez hará un despliegue de mensajes de error apropiados, en donde pueda terminarse la ejecución de manera limpia y mantenga los datos seguros.


  3. Reutilización.

    Es la capacidad que tiene un programa o las partes de éste para poder volverse a emplear en otras aplicaciones.


  4. Extensibilidad.

    Es la facilidad de adaptar los productos del software a los cambios que el cliente especifique.


  5. Compatibilidad.

    Es la capacidad que tiene los elementos software para combinarse con otros, que logren comprenderse e interpretarse correctamente para no causar errores inesperados en la ejecución del sistema.


  6. Eficiencia.

    Es la cantidad de recursos informáticos y de código que se necesitan para que el programa pueda realizar sus funciones, reflejándose en la manera como el software cumple su trabajo.
    Es el grado en el que el software hace óptimo el uso de los recursos del sistema.


  7. Portabilidad.

    El esfuerzo necesario para transferir el programa de un entorno de hardware o software a otro.

  8. Usabilidad.

    Es la facilidad de manejo de un programa, es el esfuerzo que necesitamos para aprender a manejar los datos de entrada y reconocer las salidas de un programa.


  9. Funcionalidad.

    La podemos valorar a través de las características y las capacidades que posee el sistema, la generalidad de las funciones que realiza y la seguridad global que posee el programa. Podríamos decir que es el grado en el que el software satisface las necesidades como la conformidad, interoperatividad, seguridad, etc.


  10. Puntualidad.

    Es el cumplimiento de los tiempos que se acordaron con el cliente, normalmente se plantean fechas por cada módulo del sistema, de esta manera se cumple con el compromiso y se obtiene una mayor satisfacción del usuario.

  11. Corrección.

    Es hasta donde satisface un programa su especificación y logra los objetivos del cliente.



Conclusión

Creo que al trabajar en la Programación es fundamental tomar en cuenta todos estos aspectos anteriormente mencionados, por que considero que es importante trabajar un software con alta calidad, ya que estos sistemas presentan muchos errores y excepciones , de tal manera que al no trabajar cuidadosamente con éstos, nuestro programa sería un fracaso.

Pienso que es importante realizar un análisis detallado, y un diseño previo antes de comenzar con el código, ya que sabiendo los módulos, los requerimientos y teniendo los casos de uso nos será mas fácil codificar, ya que tenemos un referente y un objetivo establecido para elaborar un software de calidad.

Me parece que un software de calidad nos exige mucho esfuerzo y trabajo, ya que al trabajar con calidad en la programación podremos hacer sistemas aún más complejos y a futuro lograr destacar en el campo laboral por la excelencia de nuestros proyectos.




Referencias Bibliográficas y Electrónicas


  • José Luis Cendejas Valdéz (2014) "Modelo de Desarrollo de Software Integral Colaborativo" 07/04/15. Sitio web:http://www.eumed.net/tesis-doctorales/2014/jlcv/calidad-software.htm
  • Pressman S. Roger, Ingeniería de Software: Un enfoque práctico. 5ta. Edición, MacGraw Hill, 2002.

No hay comentarios:

Publicar un comentario