Un artista dice algo difícil de modo simple
Charles Bukowski
 

La Estrategia del Diseño Simple
Plataforma Tecnológica de Gestión de Calidad

José Enrique González Cornejo
23 de marzo 2011


La estrategia de diseño de DocIRS, es desarrollar el sistema de la forma más simple posible, siempre con el patrón de satisfacer las necesidades de información de los clientes, quienes son los actores de los las iniciativas, proyectos, correcciones y actividades de control y seguimiento. La estrategia de diseño está enmarcada en el meta lenguaje Simple-DocIRS.

El diseño de la Plataforma Tecnológica de Gestión de Calidad y de la gran mayoría de aplicaciones DocIRS, está centrado en el registro estructurado de las actividades e interacción comunicativa de sus protagonistas, evitando todo colorido  gráfico en su presentación, como así mismo en la lógica de programación. La idea de la sencillez, es lograr flexibilidad y agilidad, para disminuir tiempos de desarrollo y costos, pasando rápidamente a producción.

Cada aplicación de la Plataforma Tecnológica de Gestión de Calidad está diseñada e implementada de tal manera,  que los cambios se pueden acomodar fácilmente. Este objetivo lo hemos logrado mediante las siguientes características:

  • El modelo de datos es reducido, basado en una tabla maestra de 4 campos, que son:  una llave única bien definida que genera el árbol de relaciones, una cadena XML que contiene los formularios completos y  2 campos de información ambiental. El modelo está dotado con sólo un par de relaciones en torno a la tabla maestra, que son  un tablón de parámetros, y un limitado numero de procedimientos almacenados.
     

  • Las funciones y rutinas son segmentos, que van constituyendo objetos, cuyo código es transferible de componente en componente, mediante argumentos parametrizados, conteniendo el menor número posible de clases y métodos.
     

  • El lenguaje de construcción  es intencionalmente en código es ASP, ASPX, Dom Javascript, JQuery, SQL Server  con una sola pagina de CSS. Estos códigos establecen la intención de ser un modelo de solución y programación rápida y repetitiva. Sólo algunas componentes de carga de archivos son desarrolladas en .NET dada su potencia. Se realiza una especial revisión cross-browser, para asegurar la compatibilidad del sistema con los diferentes navegadores.
     

  • El conocimiento compartido y socializado de los códigos, permite que todos los programadores comprendan  la lógica relacionada con el sistema, y de ese modo contar con múltiples recursos,  para los cambios y la permanente evolución durante la vida de proyecto. Este aprendizaje de equipo, se refleja precisamente por la simplificación del diseño. Es decir, cualquier programador del Equipo de Desarrollo puede intervenir rutinas del sistema en cualquier momento, siempre que se utilicen los estándares de ambiente de prueba y se comenten los cambios.
     

  • Las vistas de presentación son minimalistas, con la pretensión de dar énfasis al contenido. A este efecto, se estable un conjunto de viñetas e iconos, con una cajita de ayuda explicativa en el la parte inferior de la pantalla, para posteriormente replicar estos accesos en cada componente, siempre con la misma lógica de solución, a fin que el usuario se vaya apropiando de la idea y gradualmente realice requerimientos utilizando la metodología y combinaciones de objetos que él mismo utiliza.
     

  • Se programan tareas nocturnas y diarias que mantienen aquellos informes complejos en duro, de modo que el usuario tiene la percepción de rapidez en los tiempos de respuesta. La generación de estos informes también puede realizarse por demanda desde el sistema.
     

  • Los informes y reportes permiten la filtración de datos sobre la pantalla o la vista, desde su propia celda. Este enfoque es muy útil para los clientes, dado que permite agrupar e ir intersectando conjuntos, sin tener la necesidad de cargar nuevas consultas desde la base de datos.
     

  • Se ha evitado añadir objetos compilados,  a fin de reparar los errores en forma directa e inmediata por cualquier miembro del equipo, se trabaja sobre ambiente de prueba y producción, respaldando día a día las versiones de la carpeta completa. No se cambia ninguna infraestructura o versiones, si esto pudiese significar un  cambio en el diseño.
     

  • Se está permanentemente buscando optimizar el código, factorizando e intentando no duplicar y limpiar las funciones, rutinas, clases y métodos. Documentar y comunicar para fortalecer la capacidad del mantenimiento de la aplicación.
     

  • Tener siempre alta disponibilidad, asegurando un grado máximo de continuidad operacional y también alta disponibilidad, para ir actualizando el sistema de acuerdo a los intereses del negocio. Las iteraciones de requerimiento-solución son cortas ya que el objetivo es lograr rapidez en la entrega de  desarrollos al cliente, mientras más feedback mejor calidad del producto.

 



Artículos Relacionados

 


Notas
  • XML: Es un metalenguaje, dado que todo paquete XML describe en forma universal y como texto cualquier tipo de archivo. Es decir, permite contener su léxico propio, sintaxis, semántica y pragmática, desligando la información del formato con que fue creada. En efecto, permite adaptar o transformar fácilmente la información y transmitirla con estructura. XML es una generalización más exacta y precisa que el HTLM

  • ASP: Active Server Pages es una tecnología de Microsoft que opera sobre el servidor y genera dinámicamente las paginas Web. Es una solución para un modelo de programación rápida. 

  • DOM javascript: El Modelo de Objetos del Documento (DOM) permite visualizar el documento de otra manera, describiendo el contenido del documento como un conjunto de objetos que son tratados por las rutinas Javascript invocando la identidad o nombre o coordenadas de las tablas.

  • SQL Server: Microsoft SQL Server es un sistema para la gestión de bases de datos producido por Microsoft basado en el modelo relacional, cuyo motor permite una enorme cantidad de funcionalidades de servicio para las consultas en línea.

  • CSS: Cascading Style Sheets, hojas de estilo en cascada, CSS es un lenguaje usado para definir la presentación de un documento estructurado escrito en HTML o XML.

  • Cross-Browser: Se refiere al desarrollo de páginas Web para que operen en forma equivalente en los diferentes navegadores.
  • jQuery: es una biblioteca de javascript,  que simplifica la manera de interactuar con los documentos HTML, manipular el árbol DOM, manejar eventos, y agregar interacción con la técnica AJAX. Tiene la propiedad de ser directamente cross-browser.