Alfredo Juarez

Power to programmer...

Archive for May, 2008

Fri, May 9th, 2008
posted by alfredojv 10:05 AM

Las 18 claves para ser exitoso las leí en “blogenserio“, las cuáles me pareció interesante publicar en este medio.

  1. Actúa según las cosas que deseas
  2. Tenlo siempre presente
  3. Haz menos y crea más
  4. Respeta tus expectativas
  5. Mantén la inspiración
  6. Dirígete a la abundancia
  7. Ejercita tu inteligencia
  8. Busca las relaciones ganar-ganar
  9. Háblate en positivo
  10. Se un lider (o compórtate lo más cercano a ello)
  11. Pon a trabajar la imaginación
  12. Vuélvete flexible
  13. Encuentra una oportunidad en cada situación
  14. Deja constancia de tus ideas
  15. Mantente alejado de la perfección
  16. Realiza las cosas más importantes primero
  17. Optimiza tus actividades
  18. Busca ser exitoso en conseguir el éxito
Wed, May 7th, 2008
posted by alfredojv 01:05 PM

¿De que se compone el desarrollo de software? Hay un numero de fases comunes a cada desarrollo, sin importar la metodología, empezando por la captura de requisitos y terminando por el mantenimiento. Con los nuevos paradigmas, en la otra mano, puedes realizar cada una de las fases mas de una vez en cualquier momento.

  • Requisitos
  • Análisis
  • Diseño
  • Especificación
  • Implementación
  • Pruebas
  • Despliegue
  • Mantenimiento

Preguntas claves

Requisitos
¿Cual es nuestro contexto?
¿Qué tratamos de adquirir?

Análisis
¿Con que entidades estamos tratando?
¿Cómo podemos estar seguros que hacemos lo correcto?

Diseño

¿Cómo vamos a resolver el problema?
¿Qué hardware y/o software se necesitará para el sistema final?

Diseño del subsistema

¿Cómo vamos a implementar la solución?

Especificación

¿Qué reglas gobiernan entre las interfaces y los componentes del sistema?
¿Podemos eliminar ambigüedades y asegurar lo correcto?

Implementación

¿Cómo programaremos las los componentes para completar los requisitos?
¿Cómo escribimos código estilizado?

Pruebas

¿Satisface los requisitos?
¿Podemos quebrar el sistema?

Despliegue

¿Qué tienen que hacer los administradores del sistema?
¿Cómo podemos educar a los usuarios finales?

Mantenimiento

¿Podemos encontrar y resolver errores?
¿Podemos mejorar el sistema?

Tue, May 6th, 2008
posted by alfredojv 01:05 PM

Ya es oficial el tan esperado Service Pack 3 para Windows XP.

El día de hoy me topé con esta novedad, lo instalaré para ver que novedades nos presenta, o que problemas pueden suponer así como nos pasó con el SP2, que generó muchos problemas.

Hasta el momento ningún medio ha reportado el hecho, así que veremos en el transcuro del día que noticias nos presentan..

Sat, May 3rd, 2008
posted by alfredojv 04:05 PM
La arquitectura es un concepto ampliamente utilizado dentro del desarrollo de software. Aunque todavía es muy difícil de definir con exactitud, de hecho, cambia de dominio en dominio, de una compañía a otra, de un proyecto a otro e incluso de empleado a empleado.

Hacia una definición de la arquitectura

El término “arquitectura” debe distinguirse de otros dominios diferentes al desarrollo de software. Por ejemplo, la industria de la construcción es el hogar natural del título de “arquitecto”, hasta tal punto que las leyes locales pueden limitar su uso a certificados o acreditados profesionales de esa industria. La intención de esas restricciones suele ser evitar que una persona que se cree capaz de construir un edificio lo haga, pero hay quienes critican a los profesionales de la industria del software por robar el término1.

La arquitectura ayuda a completar los requisitos

Una visión simple de la arquitectura es considerar la razón por la que existe: la arquitectura es uno de los medios para que un proyecto cumpla los requisitos.

Por supuesto, hay numerosos aspectos de desarrollo de software que contribuyen a que los requisitos se cumplan. La arquitectura ofrece la estructura para el desarrollo, mejorar el control, por lo que el proyecto puede ser entregado con una mayor seguridad. La arquitectura se basa también en mejores prácticas de la industria y crea un plan de aplicación para reducir el riesgo y el costo inherente del proyecto.

La arquitectura logra muchos de sus objetivos mediante lo que se suele denominar “diseño”. Por lo tanto, es importante entender lo que es el “diseño” y cómo se relaciona con la arquitectura.
Como un sustantivo, el diseño es la llamada (aunque no siempre se puede) estructura o comportamiento de un sistema cuya presencia se resuelve o contribuye a la resolución de una fuerza o fuerzas en el sistema. Un diseño por lo tanto, representa un punto en un potencial espacio de decisión. Un diseño puede ser singular (lo que representa una hoja de decisión) o puede ser colectiva (lo que representa un conjunto de otras decisiones). [Grady Booch]
Aunque todavia no es definitivo, Booch hace hincapié en algunas de las principales características de diseño.

En primer lugar, existe el diseño para resolver una fuerza en el sistema. Fuerzas pueden ser el costo, el alcance, recursos, plazos, requisitos - cualquier cosa que usted desee tomar en consideración como parte del diseño. Es decir, que el diseño debe tener un propósito. Como veremos, esto es un aspecto importante de la arquitectura de software.

En segundo lugar, un diseño es una de muchas posibles opciones para resolver una determinada fuerza en el sistema. Hacer la elección correcta es naturalmente importante, sobre todo si la arquitectura es para resolver las fuerzas sobre el sistema de manera efectiva y. El diseño no es peculiar de la arquitectura, sin embargo. Hay fuerzas en todos los aspectos de desarrollo de software y muchos medios para resolverlos. Por lo tanto, debemos considerar como se relaciona el diseño con la arquitectura.
Toda arquitectura es diseño, pero no todo diseño es arquitectura. Ésta representa las decisiones de diseño significativas que dan forma a un sistema, donde lo significativo es medido por el costo del cambio. [Grady Booch].
Entonces, se puede concluir que las decisiones de diseño arquitecturales solo están separadas de otras decisiones de diseño por el hecho de que tan caro puede costar un error. Sin embargo, la arquitectura requiere de más experiencia, así como una selección mas rigurosa para evitar esos costos potenciales derivados de los errores.
Fragmento traducido del libro sobre arquitectura de software de “Coding the Architecture“.
Sat, May 3rd, 2008
posted by alfredojv 03:05 PM

En julio del 2007 escribí un articulo sobre el calentamiento global, en el cuál mencionaba los efectos del calentamiento así como los proyectos que hace Green Peace para concientizar a la población que este es un problema de nosotros y no del futuro como muchos creen.

El día de hoy después de varios meses he recibido un comentario de Javier que me pareció oportuno publicarlo en este medio para que todos tengan oportunidad de leerlo (ya pueden, pero no todos leen los comentarios).

Read the rest of this entry »