|
La
Estrategia de Diseño Simple
PMODocIRS
José Enrique González Cornejo
23 de marzo 2011
La
estrategia de diseño de PMODocIRS, 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 PMODocIRS 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.

PMODocIRS
está diseñado e implementado 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, 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
|