Perfiles Tecnológicos

Desarrollo de sotfware & IT Outsourcing

Análisis de base de datos antes de iniciar el desarrollo de software

Análisis de base de datos antes de iniciar el desarrollo de software


Actualmente, existe una infinidad de tecnologías y estilos de diseño enfocados al almacenamiento y a la gestión de la información, con las cuales es posible crear bases de datos. Por tanto, hablar de cuál es la mejor tecnología o el mejor diseño dependerá de diversos factores, entre ellos la opinión profesional y personal. No obstante, podemos afirmar que al diseñar una base de datos se agrupa la información pensando en cómo brindar al cliente un acceso rápido y eficiente al sistema, mientras se protege la seguridad e integridad de esta.

Pero ¿por qué es importante realizar un análisis de cómo construir una base de datos antes de iniciar el desarrollo, en lugar de ir diseñándola sobre la marcha? Para responder esta pregunta, se puede comparar con la construcción de una casa, se inicia por los cimientos, los cuales soportan toda la estructura brindándole estabilidad y seguridad. Ahora ¿qué pasa si estos estuvieran mal construidos? Pues bien, es posible intentar repararlos, lo cual implicaría un alto costo, seguramente sería necesario volver a construir algunas paredes, también se puede optar por reforzarlos o en el peor de los casos, invertir mucho y aun así terminar con la casa derrumbada. Bajo este pensamiento, veamos las bases de datos como los cimientos de los sistemas o aplicaciones. Al tener un mal diseño posiblemente se tendrán problemas de rendimiento, altos costos de mantenimiento y rediseños, o bien la necesidad de crear por completo un nuevo sistema.

Lo anterior no implica que sea imposible realizar cambios a una base de datos mientras el sistema se está desarrollando, o una vez que se encuentre en uso. Sin embargo, es importante aclarar que dichos cambios tendrán un impacto alto en el tiempo y costo del sistema, ya que entre más avanzado se encuentre, mayor será el retrabajo y la necesidad de rediseños en el sistema, los cuales se podrían evitar. Anteriormente contestamos al ¿por qué es importante tener un buen diseño? Pero, aún no hemos respondido al ¿por qué no ir desarrollando la base de datos al mismo tiempo que se desarrolla la aplicación? Para esto, se retoma la comparación con la construcción de una casa, qué pasaría si mientras alguien construye los cimientos, otra persona inicia a construir las paredes, pues es posible que la pared no llegue a calzar apropiadamente, o que el constructor de las paredes deba esperar a que se termine la sección de los cimientos para proseguir con su trabajo. De la misma manera es posible que al diseñar la base de datos en conjunto con el sistema se encuentre con dependencias que obliguen a los desarrolladores a detener sus tareas, mientras se termina de desarrollar el segmento que requieren para seguir con su trabajo. También, es posible que ocurran duplicaciones de campos o una mala aplicación de las formas normales una vez terminado el sistema, para lo cual se deberán rediseñar algunas funcionalidades o módulos para solventar estos problemas de diseño.

Es cierto que los equipos de desarrollo más experimentados son capaces de desarrollar bajo supuestos de que en un futuro exista un lugar donde almacenar la información, o bien, crear la estructura de la base de datos al mismo tiempo que desarrollan. Sin embargo, no debemos confundir este estilo de trabajo con falta de planificación, ya que para realizar este tipo de labor se necesita de una planificación milimétrica.

Para explicarlo mejor, pensemos que se ha contratado una empresa de construcción, la cual brinda un plano y diagramas antes de iniciar la obra, de manera que los constructores saben dónde quedará todo antes de iniciar, esto se conoce como una etapa de análisis y planificación, la cual viene siendo la misma para los equipos de desarrollo.

En conclusión, al analizar y planificar las bases de datos o cualquier proyecto antes de haber iniciado, los miembros del equipo serán capaces de gestionar de mejor manera el trabajo, prever posibles inconvenientes y evitar incurrir en gastos innecesarios, además de permitir una mejor adaptabilidad a los cambios, los cuales en su mayoría se verán en etapas tempranas del desarrollo, aprovisionando al equipo de una mayor adaptabilidad sin necesidad de retrabajo.

Es importante recordar que entre mayor sea el trabajo que realicemos en etapas tempranas del proyecto, menores serán las complicaciones al final y mejor será el resultado de nuestro proyecto.

“Ponerte un objetivo no es lo más importante. Decidir qué harás para alcanzarlo y apegarte al plan lo es”. — Tom Landry


Noticias relacionadas

SharePoint

Transforme su trabajo en equipo con SharePoint Si su organización ya cuenta con SharePoint y no ha utilizado, la ha estado subutilizando o la está explotando y desea sacar más provecho, tenemos las capacidades para apoyarle. Nuestro servicio inicia en...

Encriptación de Datos con AES
Encriptación de Datos con AES

Encriptación de Datos y sus Beneficios La seguridad de los datos debe ser siempre considerada en la administración de sus sistemas. Si se evita pensar en los riesgos que poseen las brechas de seguridad, sus programas se exponen a diferentes...

Azure Network Watcher
Azure Network Watcher

Al migrar en ambientes locales, también conocidos como on-premise, a la nube, la generalidad es la desvinculación de administración ya sea de la infraestructura o la plataforma. Cuando se habla de Migrar ambientes locales, también conocidos como On-Premise a nube,...