martes, 14 de abril de 2015

Calidad de software

Introducción

Tanto en el día a día como en la programación, hay ciertos parámetros para medir que tan bueno es algo o que tan bueno es su desempeño. En la programación aparecen los conceptos de calidad de software, estos conceptos forman parte de una norma (ISO/IEC 9126) que los plantea para medir la calidad del programa que se va a desarrollar, todo buen programador debe cumplir con todas la reglas. Pero en el mercado de ventas de la programación no porque un programa cumpla con exactitud cada una de las marcas significa que va a tener éxito, aquí juegan algunos factores externos como lo es la demanda de un producto de este tipo.


Desarrollo

La calidad del software son los parámetros que tenemos que seguir para considerar a nuestro software desarrollado como un software de alta calidad. Cada aspecto es muy importante al momento de programar, pero hay uno que destaca sobre los demás: la funcionalidad. Aquí definiré algunos de esos conceptos que nos ayudaran a medir la calidad de nuestro trabajo como programadores.

Exactitud : Es que la empresa tenga bien definidos sus requerimientos para generar un software que a la vez que cumpla con estos, no presente errores al ser empleado por el cliente sl cual se le esta entregando ese proyecto. Se debe de probar el software antes de entregarlo o sacarlo a la venta para asegurarse de que no presente errores mayores que impidan el buen uso de este.

Robustez:  Se puede explicar como la capacidad del software para lidiar con las acciones no planeadas que se presenten durante el uso final que le da el cliente. Un software no se puede validar en todos los aspectos, eso sería imposible, pero el programador debe pronosticar que algunos errores comunes ocurran, por lo tanto, debe de arreglar el software para que presente la menor cantidad de fallas ocasionadas por el usuario.

Extensibilidad: Este concepto se refiere a la facilidad con la cual se podrá cambiar el software con una actualización futura. .Este concepto es muy útil por si otro programador desea cambiar el código, para esto, el programador original debe tener una excelente sintaxis del código.

Reutilización: Una de las grandes ventajas de la programación de la nueva era, la Programación Orientada a Objetos, es que promueve este concepto básico. El programador debe pensar que el código que va a escribir, tal vez pueda servirle en otro proyecto similar que desarrolle después. L reutilización de código se usa principalmente para ahorrarnos tiempo al programar nuevos programas de los cuales ya tengamos una base similar.

Compatibilidad: Si un programador desea que el software o la página web que genere llegue a el mayor número de usuarios, lo que necesitaría hacer es buscar que su proyecto tenga un alto rango de compatibilidad. La compatibilidad se refiere a la habilidad del software para ser interpretado por diferentes dispositivos o sistemas operativos. Un ejemplo de un software con poca compatibilidad es Word, este programa solo puede ser usado en computadoras con el sistema operativo de Windows lo que restringe el uso de los usuarios de Mac o Linux.

Eficiencia:  La capacidad del software para realizar una tarea eficazmente en el menor proceso de tiempo que puede hacerse. Esto se debe buscar para no malgastar los procesos que usa el procesador para esa tarea, cuando bien se podrían usar para realizar trabajos más pesados.

Portabilidad: Este concepto va muy de la mano con el concepto de la compatibilidad, la portabilidad busca que el software puede cambiarse a diferentes plataformas con el menor número de cambios realizados. Un programa con excelente portabilidad también ayuda a que más usuarios usen este mismo sin ninguna complicación.

Fácil de Usar : El software que se desarrollara debe ser amigable con los usuarios que conformen su mercado de ventas. Mientras el software sea mas fácil de usar, mas personas se verán atraídos a este lo que causara un alto rango de uso y por consecuente, de ventas. Un ejemplo de este concepto es el iPhone, mucha gente lo usa por su interfaz de fácil uso ya que tiene mejores características visuales y es mas responsiva al tacto que la de un teléfono táctil común.
Funcionalidad : Es el punto vital de la calidad del software, todos los programadores buscan que su software tengan un alto grado de funcionalidad. Su definición es, el conjunto de características que posee un software que hace que sea practico. Los programadores trabajan en este punto más que en cualquier otro, ya que es la mayor parte del resultado final que se le entregara al cliente, y de esta funcionalidad dependerá si cumple con sus expectativas o no. Cada software que se cree tiene que tener un buen nivel de funcionalidad; el diseño, la portabilidad o la reutilización quedan a segundo plano, ya que es algo no vital para el agrado del usuario.  

Puntualidad : Se refiere a definirse desde antes de iniciar a programar, el rango de tiempo que tomara desarrollarlo y entregar el software ya terminado, y sin ningún fallo importante, en el tiempo y forma establecida. 

Conclusión:


Saber estos conceptos es muy importante para nosotros, si es que nos queremos meter más a fondo en nuestra carrera de programación o si vamos a continuar estudiando una carrera similar a esta. Pero algunos de estos puntos también se pueden aplicar a cualquier actividad o proyecto que realicemos en la escuela, ya que así ya nos definimos algunos requerimientos que necesitamos para presentar un trabajo de calidad, y para ello tendremos que superar los parámetros establecidos.

No hay comentarios.:

Publicar un comentario