Si quieres mejorar la calidad de software y hacerlo más vendible, estos son los 5 atributos de calidad que tu aplicación debe tener.

POST

Más sobre el tema.

Osvaldo Galván

Osvaldo Galván

Monitor-Displaying-Computer-Application

Hoy hablaremos sobre calidad de software. Pero, antes de entrar en materia, quiero contarte, qué es calidad.

Según el diccionario. La calidad es una característica o conjunto de características inherentes a algo que permite juzgar su valor.

La calidad es una característica o conjunto de características inherentes a algo que permite juzgar su valor.

Qué tan subjetiva es la calidad.

La calidad percibida depende, en gran medida, del punto de vista de cada individuo, de sus creencias, habilidades y costumbres.

Por ejemplo. Para un tenista profesional, Una pelota de tenis de buena calidad debe ser ligera y resistente, esto para permitir un juego ágil.

En cambio, para el dueño de un perro. Una pelota de calidad tendría que resistir las mordidas del animal.

A simple vista, hablamos de la misma pelota. Sin embargo, cada una está diseñada y elaborada con materiales diferentes para resistir cada uso especifico.

La calidad de software también es subjetiva.

El software está diseña para resolver un problema o cubrir cierta necesidad

La calidad del software será evaluada desde el punto de vista de cada usuario.

Para cierta persona una aplicación puede ser una excelente herramienta, mientras que otro la considera la peor aplicación del mundo.

Con los ingenieros de software, debemos saber cómo crear soluciones que resuelvan problemas y tengan la calidad suficiente que el usuario requiere.

Es por eso que continuación te comparto los 5 atributos de calidad que tus aplicaciones requieren.

Los 5 atributos de calidad de software que requieren tus productos para ser más vendible.

Como ya te habida mencionado, la calidad es una característica o conjunto de características inherentes a algo que permite juzgar su valor.

En desarrollo de software, para poder conseguir los atributos que este requiere para considerarse de calidad, podemos seguir ciertos lineamientos.

En este caso, tomaremos como base los que especifica el ISO/IEC 9126 sobre calidad de software.

Los 5 atributos que todo software debe tener para considerarse con cierta calidad son:

  • Funcionalidad.
  • Confiabilidad.
  • Usabilidad.
  • Rendimiento.
  • Mantenimiento.

1.- Funcionalidad

El software debe cumplir con las funciones implícitas y explicitas para la cual fue diseñado.

Si alguna vez desarrollaste una calculadora. El resultado implícito que estarías esperando es que este al menos puedas sumar, restar, multiplicar y dividir números.

Y como resultado explicito es el manejo de excepciones. Por ejemplo, que la división entre cero no haga que la aplicación truene, y en su lugar, regrese un error amistoso.

Desafortunadamente nuestra urgencia de querer a escribir código , en muchas ocasiones nos lleva a obviar ciertas partes.

Un buen programador entiende los problemas del usuario y construye soluciones que ayuden a resolverlos.

En sistemas de información productivos, es frecuente encontrar funcionalidades que no se usan y otras tantas que el usuario requiere, pero que no existen.

La falta o excesos de funciones en estos sistemas, puede ser producto de un mal levantamiento de requerimientos, mala especificación por parte del cliente o una deficiente interpretación del requerimiento por parte del equipo de desarrollo.

Los ingenieros de software tenemos la tarea de construir aplicaciones Adecuadas que soporten las necesidades que el usuario requiere.

El software tiene que ser Exacto, libre de errores.

Debe ser seguro para garantizar la protección de información, evitar accesos no autorizados y las modificaciones arbitrarias.

Contar con la capacidad suficiente de ser Interoperable. Es decir, con capacidad suficiente para poder comunicarse con otros sistemas.

2.- Confiabilidad.

Un sistema de información debe ser confiable y sobre todo responder en momentos críticos.

Si bien. la tarea de probar el rendimiento del sistema no es trabajo exclusivo del programador, si es nuestra responsabilidad desarrollar soluciones que operen de forma optima con cualquier nivel de demanda.

Nunca debemos usar la frase En mi local si funciona. Es momento de borrar esta nefasta expresión de nuestra cabeza.

Nuestra responsabilidad es desarrollar soluciones que operen de forma óptima con cualquier nivel de demanda.

Desarrolla aplicaciones con rutinas sencillas, fácil de entender. Usa algoritmos existentes. No intentes reinventar la rueda.

Entre más robusta sea la aplicación, mayor grado de Madurez tendrá.

Permite que tu aplicación evolucione con el tiempo. Si algo ya funciona, no significa que no puedas mejorarlo.

Pierde el miedo a optimizar tu código. Automatiza tus pruebas, esto disminuye la posibilidad de generar errores de código.

Construye software Tolerantes a errores. Aprende el maneo de las excepciones. Con estas podrás generar código capaz de seguir funcionado a pesar de existir un error.

Usa expresiones regulares para validar campos de entrada. SI tienes un campo de correo, verifica que el dato ingresado por el usuario, al menos parezca ser un correo.

Si el sistema falla, genera rutinas que permitan recupéralo. Repito, aprende el manejo de excepciones. Este es un camino fácil para recupera el sistema en caso de falla.

Procura generar respaldos de la base de datos y del código fuente. Usa un sistema de control de versiones.

Desarrolla aplicaciones que manejen Logs de Errores, con ellos podrás rastrearlos y corregirlos.

El sistema tiene que ser fiable. Funcionar de forma correcta, no presentar errores. Debe ser una herramienta más de trabajo

3.- Usabilidad.

Fácil de decir, pero difícil de lograr.

Cuando hablamos de usabilidad nos referimos a sistemas intuitivos, fáciles de aprender y sencillos de usar.

La usabilidad de un sistema quedar reducida a la facilidad que tiene un usuario de aprender y usar el software.

Como desarrollador de software estamos acostumbrados a usar computadoras. Esta habilidad nos coloca en un nivel de expertos tecnológicos.

Contar con esta ventaja competitiva, al momento de desarrollar software, provoca que en ocasiones no somos capaces de construir aplicaciones intuitivas y fáciles de usar.

Debemos se capaces de construir aplicaciones con cierto nivel de Entendimiento. fáciles de usar, aprender y operar.

Entre más sencillo sea el sistema, mayor será la aceptación por parte del usuario.

Cada vez que desarrollos una aplicación, no olvides incluir un manual de usuario. Este documento facilita el aprendizaje y resuelve dudas.

La usabilidad está ligada con el diseño gráfico de la aplicación. No somos expertos en diseño, pero si podemos acércanos a un diseñador gráfico que trabaje en este punto.

4.- Rendimiento.

El eterno olvidado. Siempre que escribes código fuente, en lo ultimo que piensas es en optimo rendimiento del sistema.

Nos sentamos a escribir cientos y miles de lineas de código, sin preocuparnos si el código que escribimos es realmente eficiente.

Para solventar esta brecha te recomiendo incluir pruebas de rendimiento que garanticen el correcto uso de los recursos.

Muy a menudo un problema de rendimiento se solventan agregando hardware al servidor. Sin embargo, esto solo es una solución temporal.

Por esta razón, conviene verificar que los algoritmos que usamos en las aplicaciones estén optimizados para evitar la sobrecarga de trabajo.

La correcta administración de recursos permite al sistema trabajar de forma adecuada en diferentes circunstancias.

5.- Mantenimiento.

Qué sucede cuando te piden modificar el código de otra persona. En el mejor de los casos podrás entenderlo y modificarlo sin tanto esfuerzo.

Pero, también podría tener en tus manos un código poco entendible, con rutinas repetidas y nombres de variables sin sentido.

Un código mantenible es aquel que escribas y puedes comprendido al 100%. Tú y alguien más.

Es común tener un día donde estás inspirado y comienzas a escribas líneas y líneas de código sin fin.

Al final del día compilas, ejecutas y pruebas tu código. Al parecer todo funciona bien. A la vista del usuario el sistema hace lo que tiene que hacer.

Tu único objetivo fue entregar el proyecto en tiempo y forma

Pero qué sucede, si tu cliente solicita una nueva funcionalidad. Pierdes tiempo tratando de entender cómo escribiste aquel código.

te recomiendo que a la hora de programar uses estándares y mejores prácticas de programación.

Practica y practica hasta lograr eficientar tu código fuente.

El costo más alto de una aplicación está en su mantenimiento no en su construcción

Los negocios pierden más dinero modificando un sistema existente, que desarrollado uno totalmente nuevo.

Versiona tu código para identificar de forma clara los cambios a cada archivo de la solución.

Al mismo tiempo que escribes el código de aplicación, escribe pruebas para validarlo.

En conclusión.

La calidad del software no depende exclusivamente del trabajo del programador. Esta se consigue estandarizando los procesos del ciclo de vida del desarrollo de software

Estudia y práctica, es la única forma de construir aplicaciones robustas y de mejor calidad.

Nuestra misión es construir aplicaciones apegadas a estos atributos.

Nuestra pasión es el desarrollo de software. Nuestro objetivo es hacerlo con calidad.

La calidad de nuestro trabajo habla bien de nosotros como personas.

Si, la calidad es subjetiva, pero en software, contamos con estándares y buenas prácticas para conseguir desarrollar aplicaciones con la calidad mínima requerida.

Un producto de calidad soluciona problemas y elimina restricciones.

Ahora pregúntate, qué tanto impacta la calidad de mis productos en la comercialización de estos.

Facebook
Twitter
LinkedIn
Osvaldo Galván

Osvaldo Galván

Osvaldo Galván Software Engennier Enfocado en la calidad del software,
Temas:

Deja un comentario

Tu dirección de correo electrónico no será publicada.