CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

20
CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA

Transcript of CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

Page 1: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWAREIng. FREDYS SIMANCA HERRERA

Page 2: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

Someteremos el tema de arquitectura del software a una comparación con la ingeniería civil y el rol de los arquitectos de edificios.

La razón de este enfoque es simple, una realidad poco conocida o comprendida, es más facil asimilar cuando es mostrada a traves de un símil con otra que si conocemos, o bien, con otra que puede intuirse coherentemente usando el sentido comun.

Page 3: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

Empecemos por un par de ideas simples

Page 4: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

La arquitectura es un instrumento cuya función principal es la de intervenir en favor el hombre – James M. Fitch.

Page 5: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

La arquitectura debe ser una respuesta, no una imposición.

Poder hacer una cosa no legitima hacerla.

Necesitamos soluciones para los problemas reales, no inventar problemas para poder empatar con nuevas soluciones. – Gleen Murcutt

Page 6: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

Viendo las cosas de esta manera, en realidad el rol de un arquitecto de edificaciones y un arquitecto de software parecen enfrentar los mismos retos.

Page 7: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

Lo que si es claro que se debe de contar con un conjunto basico de habilidades y conocimientos para ejercer este tipo de roles.

Page 8: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

No es lo mismo construir esto

Page 9: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

Que esto

Page 10: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

Cada escenario plantea retos, condiciones y necesidades diferentes.

Qué herramientas, personas, presupuesto, conocimiento y tiempo necesitamos para cada escenario?

Page 11: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

Podemos decir entonces sin miedo a equivocarnos, que todas las consideraciones que se nos ocurran con respecto a definir la arquitectura de una edificación, deberán ser tenidas en cuenta también al momento de definir la arquitectura de un software.

Page 12: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

Otro ejemplo http://www.pasarmiedo.com/el_misterio_

de_la_casa_winchester.php

Page 13: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

Qué tiene que ver esto con la arquitectura del software?

Page 14: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

Resulta que esta situación en el contexto del Desarrollo del Software es más común de lo que se llegaría a pensar.

Cuando un programador es asignado a la tarea de mantener y evolucionar un sistema legado, cuya arquitectura tiene fallas o incluso que no esta debidamente documentada, elige construir partes o crear sus propias rutas dentro del código.

Page 15: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

Lo que ocurre finalmente es que las aplicaciones con el tiempo, terminan convirtiéndose con el tiempo en una colcha de retazos o bien en un laberinto como la mansión winchester, en donde si no tienes una guía y te pierdes, nadie te asegura que vuelvan a encontrarte.

Page 16: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

Programar sin una arquitectura en mente es como explorar una gruta sólo con una linterna, no sabes en donde estas, en donde as estado ni para donde vas.

Page 17: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

De aqui que la arquitectura represente entonces, la base de un sistema de software y que deba ser construida pensando tanto en satisfacer las necesidades actuales, como en proporcionar al software las capacidades necesarias para permitir su mantenimiento y evolución de acuerdo a las necesidades del negocio y las solicitudes de los clientes.

Page 18: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

El arquitecto de software es entonces el encargado de establecer a que nivel, con que estrategia, y que herramientas son necesarias para realizar una implementación que satisfaga los requisitos funcionales y no funcionales de los sistemas.

Page 19: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

Debe ser una persona capaz de identificar las necesidades de los negocios, las habilidades de su grupo de trabajo y la viabilidad de las tecnologías disponibles para el desarrollo de software.

Page 20: CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE Ing. FREDYS SIMANCA HERRERA.

Un buen arquitecto de software debe estar en capacidad de entender todas las condiciones a las que se verá sometido un sistema y proponer una solución acorde a cada escenario en particular.