Archive for agosto, 2012

Workflow de desarrollo de una funcionalidad

jueves, agosto 23rd, 2012

En el proceso de desarrollo normal se deben seguir ciertas pautas cuando estas estan estructuradas es mejor, debido a que todos saben a que atenerse.

En muchos casos, en las empresas de desarrollo se usan herramientas de versionamiento, por ejemplo subversion. En estas herramientas existen problematicas no asociadas con la heramienta, sino que asociada a la forma en que se desarrolla. El ejemplo clásico que doy de escritura de código es

if(x){
    y = y + 1;
}

y el codigo

if(x)
{
    y = y + 1;
}

son equivalentes, pero uno tiene una linea más de codigo que la otra, esto implica que estadisticas relacionadas con ello, pueden producir conclusiones erroneas, en el sentido de, por ejemplo, la productividad de un programador medido en lineas de código.

Para ello en Java, .NET y otros existen herramientas para la verificación de codigo, para Java: Checkstyle, PMD y Findbugs; para .NET: Stlecop, FxCop y Gendarme. Cada una de las cuales explicaré en otros post. Lo que me preocupó hoy es presentar un workflow, o serie de actividades, para proceder al desarrollo de una funcionalidad. Este implica revision de estilo, revision de errores potenciales y revision de programación. Todo ello también va de la mano con la arquitecturas de las aplicaciones aplicadas.

El workflow en cuestion:

Listar las conexiones activas en DB2

jueves, agosto 16th, 2012

Uno de los comando para listar las conexiones que estan activas en DB2 es

db2 list applications # show detail 

Con esto aparecerá la lista de todas las conexiones, entre aplicaciones y usuarios directos.

Auth Id  Application    Appl.      Application Id                                                 DB       # of
         Name           Handle                                                                    Name    Agents
-------- -------------- ---------- -------------------------------------------------------------- -------- -----
DB2INST1 db2bp          742        *LOCAL.db2inst1.120817020005                                   AROSAMP  1    
AROSAMP  db2jccPrograma 699        NF000001.JCD5.120817013230                                     AROSAMP  1    
AROSAMP  db2jccserver.s 697        NF000001.JBD5.120817013229                                     AROSAMP  1    
AROSAMP  db2jccVerifica 695        NF000001.JAD5.120817013228                                     AROSAMP  1    
AROSAMP  db2jccVerifica 698        NF000001.J9D5.120817013227                                     AROSAMP  1    
AROSAMP  db2jccserver.s 694        NF000001.J8D5.120817013226                                     AROSAMP  1    
AROSAMP  db2jccWebConta 211        NF000001.HD83.120816192305                                     AROSAMP  1    
AROSAMP  db2jccImp_AI_F 939        NF000001.FD8D.120816121516                                     AROSAMP  1    
AROSAMP  db2jccImDI1F61 940        NF000001.FC8D.120816121515                                     AROSAMP  1    
AROSAMP  db2jccImDI1F52 857        NF000001.NAC3.120815003417                                     AROSAMP  1    
DB2INST1 db2evmg_DB2DET 10         *LOCAL.DB2.120806024420                                        AROSAMP  1    
AROSAMP  db2taskd       9          *LOCAL.DB2.120806024418                                        AROSAMP  1    
AROSAMP  db2stmm        8          *LOCAL.DB2.120806024417                                        AROSAMP  1    

Workflow básico de documentación

jueves, agosto 16th, 2012

Recurrentemente se establecen formas de trabajar con la documentación debido a que tiene que pasar por una serie de aprobaciones antes de ver la luz. Para un grupo más bien pequeño, sin pensar en editores y editores de editores un workflow básico de documentación sería como el siguiente.

Workflow Básico

En el método de trabajo que tengo un cliente esta especificado con un acronimo de al menos tres letras (caracterizado aqui por CCC) al igual que un proyecto (aqui como PPP). Entonces un cliente tendría un documento con Titulo, más una version X, que es la que irá incrementando. Si es la primara version Y sería cero(0) por lo que no la establezco a menos que haya una modificación a posteriori.

El incremento de X es cuando existe la necesidad de generar otra versión debido a modificaciones o grandes adiciones que incrementen el documento, si solo son correcciones a lo ya existente entonces se incrementa sólo Y.