sábado, 29 de julio de 2006

Revisiones POST-MORTEM

Un hábito muy recomendable y a veces olvidado en el proceso de la Ingeniería de Software es la realización de revisiones periódicas sobre los proyectos. Una de estas revisiones que pueden aportar gran cantidad de información relevantes es la revisión una vez terminado el proyecto (POST-MORTEM).

Esta revisión puede realizarse con una tormenta de ideas, un cuestionario estructurado (seguido por entrevistas) o informes individuales escritos por los equipos participantes.

Se deben responder a preguntas como:
  • ¿Que tipo de problemas de comunicación y negociación surgieron en el desarrollo del sistema?
  • ¿Cree que los foros que se proporcionaron (de discusión, de problemas, de documentos...) resolvieron esos retos?
  • ¿Se han cumplido las expectativas del proyecto?
  • ¿Se han cumplido los objetivos?
  • ¿Ha sido efectiva la administración del proyecto (reuniones, comunicación, evaluaciones...)?
  • ¿Ha sido suficientemente efectiva la documentación generada a lo largo del proyecto?
  • ...

Aunque las conclusiones de dicha evaluación no sean explicitamente reveladas al resto de los elementos de la organización serán interiorizadas por los desarrolladores en los nuevos equipos que formen transmitiendo así esas enseñanzas de manera implícita.

martes, 18 de julio de 2006

Equilibrio inestable en el desarrollo de software

A veces creo que el complejo proceso de desarrollo de software se mantiene en una especie de equilibrio inestable. En vez de establecer unos sólidos cimiento y comenzar a desarrollar las aplicaciones paso a paso, en multitud de ocasiones, las aplicaciones informáticas no solo se empiezan por el tejado, sino que también se empiezan por las cuatro paredes, los cristales, la puerta del garaje, los niños y la suegra en el salón ya viendo la tele.

Aunque siempre a trancas y a barrancas la mayoría de las veces los proyectos se terminan (aunque con frases como ¿Pero no era esto de lo que hablamos?, ¿Seguro que dijimos que iba a funcionar así?...)

En fin debe existir una especie de "equilibrio" cósmico que se encarga de que los desarrollos fluyan...

lunes, 17 de julio de 2006

Precisión y cifras significativas (2 de 2)

Bueno, como comentábamos en el experimento de PI, el estudiante obtuvo 3,140740441.
Podemos observar que existen 6 (los últimos) digitos que no tiene sentido, ya que suponen una precisión mayor de la que el estudiante podría asumir con sus mediciones.

Aquí entra en juego el número de Cifras Significativas

En general, ningún resultado numérico puede tener más cifras significativas que los valores a partir de los cuales fue calculado. Por lo tanto, el valor PI del estudiante solo puede tener 3 cifras significativas (135 mm y 424 mm) es decir, 3,14 cuyo valor si que concuerda con el de PI.

Precisión y cifras significativas (1 de 2)


Las mediciones nunca pueden efectuarse con precisión absoluta; las cantidades físicas obtenidas de las observaciones experimentales adolecen siempre de cierta holgura que conocemos con el término "incertidumbre"

Supongamos que un estudiante desea verificar el valor de PI, es decir, la relación entre la longitud y el diámetro de una circunferencia.

Como sabemos el valor correcto de PI con diez dígitos : 3,141592654

Supongamos que el estudiante dibuja una circunferencia y mide su longitud y diametro con una precisión máxima de 1 mm, obteniendo los valores 424 mm y 135 mm respectivamente.

Si el cociente de ambos calculado con una calculadora es 3,14074071 ¿Coincide este valor con el verdadero?

...

sábado, 15 de julio de 2006

El cuadrado de Julio Cesar

Como ya hemos citado anteriormente, el emperador romano Julio Cesar ya empleaba un mecanismo de codificación de mensajes muy sencillo pero efectivo en su época.
Los mensajes se escribían como una secuencia de caracteres sin sentido, un galimatias para los enemigos desconocedores del mecanismo de codificación/decodificación. Los pasos para desencriptarlo ha seguir debían ser:
  1. El número de caracteres escritos siempre constituían un cuadrado perfecto.(Cuadrado perfecto es aquel número cuya raíz cuadrada es un número entero)

  2. Colocar en una tabla de idéntico numero de filas y columnas dichos caracteres. (2x2, 3x3, 4x4...)

  3. Leer el mensaje de arriba hacia abajo sobre dicha tabla comenzando por la columna de la izquierda.
Con estos simples pasos el emperador romano que conquisto la Galia y gobernó Roma (¿Con un golpe de estado?...eso ya lo discutiremos) conseguía preservar los principios básicos de la criptografia en sus comunicaciones.

VES NCELE DH OONI IQHTDCU AEOO

viernes, 14 de julio de 2006

Análisis de riesgos o la cobardía innata del mal ingeniero de Software

Es un error muy típico del analista es:

"Eso ya veremos como lo hacemos cuando toque..."

Seguro que si has trabajado en el sector del desarrollo de aplicaciones de Software has oído estas palabras, posiblemente a algún responsable de proyectos o de departamento que se excusa en su sobrecarga de trabajo para hacer las cosas mal.

Pues esa frase (y su aplicación) es un gran error. Los riesgos deben identificarse en las fases iniciales de un proyecto de software (En la fase de concepción a poder ser). Esto nos permitirá atacarlo de manera controlada y en base a los resultados ajustar el proyecto a la realidad o incluso replantearnos su viabilidad.

Así que ya sabéis, nada de ya veremos, identificar y atacar los riesgos en la fase de concepción (o elaboración creando algún prototipo) del proyecto nos evitará quebraderos de cabeza posteriores y desviaciones difíciles de justificar en tiempo y por lo tanto en costes.

Conceptos básicos sobre Criptografía

A día de hoy, con el desarrollo y las perspectivas de Internet, los usuarios de la red de redes no solo debemos conocer nuestros derechos sino asumir ciertas responsabilidades, concienciandonos de dos hechos reales como la vida misma:
  1. No estamos solos en Internet.
  2. No todo el mundo es bueno.
Con esta base, deberemos ser consciente de que toda la información que transite por la red es susceptible de ser interceptada por cualquier usuario con conocimientos básicos de informática.
Podemos elegir que cualquier ciber-cotilla lea nuestros datos, pero también podemos elegir que no lo haga y aqui es donde encaja la criptografía.

Solo para abrir boca comentemos algunos aspectos esenciales relacionados:
  • La privacidad, la información sólo pueda ser leída por personas autorizadas.
  • La integridad la información no pueda ser alterada en el transcurso de su transferencia.
  • La autenticidad permite que pueda confirmar que el mensaje recibido haya sido mandado por quien dice lo mando o que el mensaje recibido es el que se esperaba.
  • El no rechazo implica que no se pueda negar la autoría de un mensaje enviado.
Continuaremos hablando de criptografía pero de momento con tener claros estos conceptos es un buen inicio.

¿Por que Atrisoft Soluciones de Movilidad?

Cuando me licencié en Ingeniería Informática mantenía otra concepción de la ciencia de la información. Asumía que como ingeniería y ciencia exacta que es, el trabajo se desarrollaría en entornos altamente avanzados, con férreas medidas de calidad y eficiencia...

Que confundido estaba...

Para lograr aquí ese escenario faltan por lo menos diez años de maduración de las PYMEs dedicadas al sector de la informática y más concretamente de la Ingeniería de Software especialidad a la que me dedico.

Así que harto de dar bandazos por empresas de informática constituidas por cualquier cosa menos informáticos, decidí trazar una linea en el suelo y decir hasta aqui.

Y así nació en Diciembre de 2005 Atrisoft Soluciones de Movilidad, junto con otros dos socios más y completando nuestras respectivas carencias nos embarcamos en este bonito proyecto.

Bueno mucho ánimo a todos los trabajadores relacionados con la tecnología que sufren la valentia y desconocimiento de mandos superiores!

Origenes de la criptografía

Uno de los precursores de la criptografía moderna fue el emperador Romano Julio Cesar.

Cansado de los continuos ataques que sufrían sus mensajeros y de las consiguientes filtraciones hacia sus enemigos de informaciones sensibles para sus campañas ideó un mecanismo de encriptar la información de los mensajes que comunico a sus aliados.

Este mecanismo es conocido como el "Cuadrado de Cesar"...
Sinceramente...
El origen de la palabra sincera surge de la época de máximo apogeo del imperio romano. Los escultores de la época corregian las taras o defectos de las esculturas de marmol con cera.
Cuando una estatua no tenia ningún error se decia "sincera", de ahi el origen etimológico de dicha expresión.