En la actualidad la utilización de la tecnología del software marca una pauta diferenciadora entre las empresas en sus procesos de calidad, es por eso imperante para los profesionales que comprendan las características únicas del software y el enfoque usado para desarrollar y mantener el software.
Este artículo les dará una visión de que es el software y cuáles
son los objetivos y elementos de la Ingeniería de Software, además abordaremos
los conceptos del Ciclo de Vida del
software y metodologías actuales.
¿Qué es el Software?
Importante diferenciador en el negocio y que corresponden a
los programas y documentación asociada tal como requisitos, modelos de diseño y
manuales de usuario.
Tipos de Software de
acuerdo a objetivos Comerciales
Por lo general los Ingenieros de Software no parten de cero
para la implementación del software, sino que corresponde a la reutilización
del software existente, refinado con la mejor calidad.
Para que un software satisfaga las necesidades de los
usuarios, debe cumplir con las siguientes características básicas:
Mantenibilidad (capacidad de poder
mantenerse): el software debe evolucionar para cumplir con las necesidades de cambio,
en las empresas los negocios son cambiantes, ya sea por regulaciones de ley,
estrategias comerciales, nuevas directrices de la gerencia, etc. se debe contar
con un producto que madure.
Fiabilidad: el software deber ser
digno de confianza. Lo que significa que la integridad de los datos que
presenta en consultas, reportes o cualquier otro medio de salida cuenta con
total veracidad en la información.
Eficiencia: el software no debe
hacer un uso derrochador de los recursos del sistema. Este es un punto de suma
importancia debido a que por lo general en los servidores conviven varias
aplicaciones que compartían recursos de memoria y de almacenamiento en disco
duro, lo que nos indica que si una aplicación empieza en determinado momento a
consumir demasiados recursos de memoria, terminará afectando el resto de
aplicaciones instaladas en el servidor.
Aceptabilidad: el software debe ser
aceptado por los usuarios para los que se diseñó. Esto significa que ha de ser
entendible, usable y compatible con otros sistemas.
Componentes del
Software
Programas:
Entregan la funcionalidad y rendimiento deseado o esperado por los usuarios, y
que corresponden a las instrucciones escritas en lenguajes específicos que los
computadores puedan interpretar y ejecutar.
Datos: Cuando el
programa se coloca en marcha requiere unos datos iniciales para operar correctamente,
de igual forma cuando se realizan las pruebas en el área de calidad, se
necesitan datos, estos datos son contemplados cuando se diseña el programa,
datos en la base de datos o archivos en ubicaciones específicas.
Documentos: Este
componente cuenta con la descripción de todas las opciones del sistema,
explicando los flujos de procesos que tiene la aplicación, que datos se
necesitan para que una operación se realice correctamente, dado que en los programas
existen opciones dependientes de otras.
El software se
desarrolla
El software es un producto que se desarrolla bajo
necesidades puntuales y aunque la ingeniería de software fomenta la
reutilización de componentes, es muy poco probable de que un software sea igual
a otro, pues no se diseña como los componentes de hardware de un computador,
sino por las necesidades imperantes de los usuarios que cambian en la medida
que cambia el negocio.
Para construir un producto de software es necesario entender
cuál es la necesidad real de los usuarios y cuáles serían las ventajas de
hacerlo y el impacto para el negocio de no hacerlo, luego de esto seleccionar
el lenguaje y tecnología más apropiada para diseñarlo, por ejemplo para
sistemas de aplicaciones Web, se pueden realizar en lenguaje PHP, ASP.NET, JAVA
etc. y que motor de bases de datos utilizar es el de mayor ganancia teniendo en
cuenta licencias, capacidad de almacenamiento y rendimiento se puede
seleccionar bases de datos como PostgresSQ, Mysql , Sql Server, Oracle, etc.
Cambios en el
software
A medida que surgen cambios en el negocio, la manera de
realizar una negociación, puede impactar significativamente las aplicaciones de
la empresa, por eso es muy importante mantener un registro de los mantenimientos
que se van realizando, actualizaciones de consultas, reportes u opciones, sin
que estos cambios afecten el normal funcionamiento de las demás opciones
publicadas.
El software se construye
a la medida
La construcción del software se da por incrementos en las
opciones de acuerdo a los requerimientos específicos del cliente, y aquí es
importante anotar que en la medida en que se pueda reutilizar componentes debe
hacerse, valiéndonos de patrones de diseño y aplicación de las características
de la programación orientada a objetos.
En mi experiencia he visto en negocios donde cuentan con
programas a la medida para controlar sus operaciones con clientes con perfiles específicos,
sin embargo una práctica poco útil que he visto es crear nuevos ambientes y
bases de datos para clientes nuevos que ingresan a la operación , esto implica
un alto costo en disco y mantenimiento, que fácilmente puede ser solucionado por medio
de las bondades de la PROGRAMACIÓN
ORIENTADA A OBJETOS, aplicando la herencia y el polimorfismo, que nos
enseñan a pasar propiedades a otros objetos y generar nuevos comportamientos
dentro de la misma aplicación sin afectar los demás objetos.
No hay comentarios:
Publicar un comentario