Por motivos que no puedo recordar, abandoné la colección de malas prácticas en el desarrollo de software. No es que me guste criticar, aunque os lo parezca, sino que creo que los fallos son muy interesantes, puesto que sirven como experiencia para aprender. De los fallos aprendemos, y si somos espabilados, incluso podemos aprovecharnos de los errores ajenos para aprenderlos nosotros, y así evitar cometerlos.

En el artículo de hoy, analizaré la solución Sistema de Gestión de Cine que de una forma generosa, y algo incoherente nos ofrecen desde CompuBinario. La iniciativa es muy loable, porque el proyecto nos permite no solamente utilizarlo, sino además estudiarlo y aprender de él. Precisamente uno de los proyectos a los que hacía referencia en Software gratis, opensource y libre.

Los que estamos al tanto del desarrollo de software somos conscientes que auditar al completo un proyecto de software, puede llegar a ser más complejo que el desarrollo mismo. Para no extendernos, lo enfocaremos a las decisiones de diseño.

Distribución

La distribución desde la web del desarrollador es una descarga directa de un archivo RAR 4 de unos 28 Mb. Quizás no os hayáis dado cuenta, pero esa es la primera decisión a nivel de diseño. ¿Por qué RAR que es un formato documentado pero propietario, y no 7-Zip, que es completamente libre, y además con mejores grados de compresión?

7-Zip por su parte, ha generado un archivo de 23 Mb., mucho más compacto que el original.



Documentación

La documentación, probablemente detalle muchas decisiones tomadas, que nos ayuden a entender el enfoque. El paquete incluye el archivo denominado Modelamiento de Negocio_DEW v3.docx. No hay ningún problema en ello, recordad que aunque muchos piensen lo contrario, DOCX no es un formato propietario.

Lo que si nos llama la atención es que aunque aparentemente se llame “Modelamiento de Negocio_DEW v3”, en su interior la versión no cuadra, y menciona “Modelamiento de Negocio Versión <1.1>“. ¿En qué quedamos, es la v3 o la 1.1?

El histórico de versiones tampoco nos aclara nada, la 1.0 y la 1.1 ambas de 2005. Llegados a este punto, las dudas sobre si conviene guiarse por un documento que probablemente esté obsoleto me asaltan.

Para complicarlo más aún, el título del documento es en realidad “Reporte de Especificación de Software”, y está firmado por MEDESOFT, creado por Ricardo Saavedra Mavila y modificado por Alvarado_Asus (probablemente el alias de Michell Alvarado), el que aparece como el autor Michelin en la página web. Sin embargo, no hay ninguna referencia ni a CompuBinario.

¿Puedo fiarme que realmente disponen de la propiedad intelectual del proyecto completo que están cediendo? La cosa empieza mal, de hecho ya con una falta de ortografía…



Requerimientos

El análisis de la documentación nos aclara porque el a priori poco acertado uso tecnológico escogido. Es decir, un desarrollo que pretende ser libre, pero que en cambio requiere de un software propietario como Microsoft SQL Server 2008. El motivo es que figura como un requerimiento no funciona. No es discutible por tanto, pese a ser un requisito poco acertado.

Continuamos con la lista de requerimientos, y un poco más abajo vemos el RNF-004, que formula El sistema será trabajado en C# en la plataforma Visual Studio 2012. Sin embargo, en cuanto a su forma de implementacíón nos encontramos con que Este sistema utilizará J2EE en JDK6 y JDK4, con los frameworks y JPA1.. Obviamente la solución es imposible que cumpla el requisito con ese modo de implementación. De manera que debemos dar forzosamente por concluida la evaluación.



Desgraciadamente nos llevamos una mala impresión. Un poco como en la Práctica fundamentos de la programación, no nos hace falta siquiera probar la solución para darnos cuenta que no cumple.

Sin embargo, y retomando el espíritu inicial, es una buena muestra de la que podemos aprender. Si decidimos incluir documentación con nuestro proyecto, esta debe ser igual de buena y exhaustiva que el resto. En caso contrario, mejor no incluirla.

Finalmente, mucho ánimo a CompuBinario Software System, porque nadie ha nacido sabiendo. La perseverancia, y la experiencia, son la clave del éxito.