SlideShare a Scribd company logo
1 of 51
Arquitectura de Software
Sorey Bibiana García Zapata
Siguiendo mi enfoque pedagógico personal, someteré el
   tema de la arquitectura de software a la ya típica
    comparación con la ingeniería civil y el rol de los
             arquitectos de edificaciones.

 La razón de este enfoque es simple, una realidad poco
   conocida o comprendida, es más fácil de asimilar,
cuando es mostrada a través de un símil con otra que si
    conocemos, o bien, con otra que puede intuirse
       coherentemente usando el sentido común.
Empecemos por un par de ideas simples….
La arquitectura es un instrumento cuya función principal es
la de intervenir en favor del hombre.

James M Fitch
La arquitectura debe ser una respuesta, no una imposición. La mayoría de los
arquitectos que construyen edificios extraños asegura que lo hace porque ahora
                         la tecnología lo hace posible. Eso me parece absurdo.

                            Poder hacer una cosa no legitima hacerla.




  Necesitamos soluciones para los problemas reales, no inventar
          problemas para poder empatar con nuevas soluciones
                                                               Glenn Murcutt
Esta última comparación podrá
no gustarle a muchos arquitectos
profesionales, pero en realidad
tiene mucho sentido, en
tecnología, tanto como en otros
escenarios…

“Poder hacer una cosa no
legitima hacerla”




 Necesitamos soluciones para los problemas reales, no inventar
    problemas para poder empatar con nuevas soluciones!
Viéndolo de esa forma, en realidad el rol de un
arquitecto de edificaciones y un arquitecto de
 software parece enfrentar los mismos retos
Por lo que es claro, que se
debe contar, con un conjunto
     básico de habilidades y
  conocimientos para ejercer
            este tipo de roles
Y es que no es lo
mismo construir
esto…
Que esto!
O esto!
Que se necesita para construir algo asi?
Que tal esto?
Y esto?
O esto?
Cada escenario plantea retos,
 condiciones y necesidades
         diferentes!
          Que tal si los vemos otra vez,
          mientras nos preguntamos…



    Que herramientas, personas,
presupuesto, conocimiento y tiempo
 necesitamos para cada escenario?
Pues bien, podemos decir sin miedo
   a equivocarnos, que todas las
consideraciones que se nos ocurran
      con respecto a definir la
   arquitectura de edificaciones,
   deberán ser tenidas en cuenta
 también al momento de definir la
      arquitectura de software
Conocen la Mansión
      Winchester?
En 1884, Sarah L. Winchester enviuda
quedando en sus manos la herencia del
acaudalado heredero de los rifles Winchester.

Pero tras tan inmensa fortuna, y según una
vidente de la época a la que la desdichada
viuda consultó, las almas perdidas de aquellos
que murieron frente a alguno de estos rifles se
encontraban en pena.

Años atrás había perdido también a su hija
Annie y ahora, la muerte de su marido terminó
por desequilibrarla.

Sarah compró un extenso terreno en
California, e hizo levantar una casa que hubo
de estar construyéndose hasta el mismo día de
su muerte, 38 años después, en 1922. Ya que
según aquella vidente, sólo así las almas
encontrarían donde morar mientras no
hallaran el reposo eterno.
La arquitectura de esta
mansión sorprende a todos y
   se escapa a los límites de la
   razón. Y no es tanto porque
esta mansión estilo victoriano
  tenga 160 habitaciones, tres
    ascensores, 47 chimeneas,
sistema de alcantarillado y de
 calefacción, luces de gas que
   se encienden apretando un
botón, (todo esto adelantado
   a su época), sino porque en
       ella se puede encontrar
   ventanas de dan a paredes,
      escaleras que no llevan a
     ninguna parte, puertas en
   medio de las ventanas en la
           fachada de los pisos
    superiores y otras rarezas.
Pero…


Qué tiene que ver
esta historia con la
 Arquitectura de
    Software?
Pues bien, resulta que esta
  situación en el contexto del
 desarrollo de software, es más
   común de lo que debería…

   Cuando un desarrollador es
asignado a la tarea de mantener y
 evolucionar un sistema legado,
 cuya arquitectura tiene fallas o
incluso que simplemente no está
 documentada, elige reconstruir
 partes o crear sus propias rutas
       dentro del código…
Lo que ocurre finalmente es que las aplicaciones de
 software con el tiempo, terminan convirtiéndose en
una colcha de retazos o bien, en un laberinto como la
Mansión Winchester, en donde si no tienes un guía y te
 pierdes, nadie te asegura que vuelvan a encontrarte.
quot;Programar sin una arquitectura en mente es
como explorar una gruta sólo con una linterna: no
  sabes dónde estás, dónde has estado ni hacia
                  dónde vas”

                   Danny Thorpe
De aquí, 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.
Cuando se piensa en la arquitectura de un sistema,
 debe tomarse en cuenta primero, lo más crítico e
                  importante…




 Y luego complementar para satisfacer las necesidades
               generales del sistema
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.
Y además que debe ser una
persona capaz de identificar las
necesidades de los negocios, las
    habilidades de su equipo de
    trabajo y la viabilidad de las
 tecnologías disponibles para el
          desarrollo de software
Un buen arquitecto 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.
Por tanto, la madurez de un
arquitecto dará a las
aplicaciones de software que
tenga a su cargo, una
especificación coherente, para
enfrentar un conjunto de
riesgos mucho más reducido,
que en el caso de un
arquitecto aprendiz
Y es que…


“Desarrollar software de calidad
basado en requisitos y caminar
sobre el agua son cosas muy
fáciles...

si ambos están congelados“




Pero esa no es la situación que se presenta en el desarrollo
de software; construir software por el contrario es un
escenario evolutivo y cambiante, situación para la cual un
arquitecto de software debe estar preparado.
Ahora bien, a diferencia
de los arquitectos de
edificaciones, los
arquitectos de software
son los encargados de
construir la base de la
arquitectura de los
proyectos…
Esta es una de las razones por las que
es fácil pensar en que un Arquitecto de
   Edificaciones puede ser bueno sin
   tener que haber pegado jamás un
 ladrillo sobre otro, pero no podemos
  pensar lo mismo de un Ingeniero de
  Software que no haya programado
                 jamás…

                                                                      IDEAS ’09
  XII Conferencia Iberoamericana de Ingeniería de Requisitos y Ambientes de Software
Ahora bien, al igual que los trabajadores de una obra, un equipo
de desarrollo debe tener las habilidades necesarias para realizar
desarrollo del sistema y seguir la indicaciones del arquitecto,
buscando el éxito del proyecto.
Otra parte de nuestro símil está a
en los planos y maquetas usados
por los arquitectos para
especificar y detallar la forma en
que las edificaciones serán
construidas.
Al igual que ellos, los arquitectos de software
      usan modelos que representan las
 especificaciones y necesidades técnicas de
                 los sistemas.
La construcción de estos artefactos, en ambos
contextos requiere de herramientas, habilidades
y conocimientos, y servirá como guía de la en el
            proceso de construcción
Y así como los planos, diseños y
maquetas muestran diferentes
   vistas de un mismo lugar…
…de forma global…
…como una visión completa…
…parcialmente…
…específicamente…
…o bien,
 con un alto nivel de detalle…
…los diagramas a través de los
cuales se representa el diseño y
distribución del software, pueden
mostrar diferentes vistas de un
mismo sistema y de las
condiciones que
existen en el
entorno donde
se depliega
El modelo 4 + 1 vistas, es una propuesta que establece las
    diferentes perspectivas a través de las cuales se puede
representar el diseño y arquitectura de un sistema de software




   Kruchten P. Architectural Blueprints—The “4+1” View Model of Software Architecture. IEEE Software,
                                     November 1995, 12 (6), pp.42-50.
Esta propuesta presenta su propio esquema de modelado, pero
    como bien sabemos, la notación más reconocida para el
      modelamiento de sistemas de software es el UML *




   * UML es un lenguaje de modelado visual que se usa para especificar, visualizar, construir y
  documentar artefactos de un sistema de software, y se usa para entender, diseñar, configurar,
              mantener y controlar la información sobre los sistemas a construir.
Sin embargo, cada una de las vistas del
 modelo 4 + 1, puede equiparse contra
      uno o varios diagramas de UML




         Vista         UML
         Escenarios    Casos de Uso
         Lógica        Clases, de Estados y Colaboración
         Desarrollo    Componentes
         Física        Despliegue
         Procesos      Actividad, Estados, Secuencia


           http://jgarzas.googlepages.com/4mas1
De esta forma es
posible representar
las diferentes
perspectivas de un
sistema desde 2
propuestas de trabajo
conocidas y
enfocadas a satisfacer
las necesidades de los
diferentes
participantes del
proceso de desarrollo
Esta es una visión inicial acerca de la
arquitectura de software, para
 profundizar en ella debemos detallar
de una forma mas específica, cada uno
          de los conceptos que hemos
                         mencionado.
     Sin embargo eso será en una próxima oportunidad
Gracias!!!
                                                   ‘
No olvides visitar mi blog y dejarme tus comentarios
              http://soreygarcia.blogspot.com
                                      Hasta pronto!

More Related Content

What's hot

MBSE with Arcadia method.pdf
MBSE with Arcadia method.pdfMBSE with Arcadia method.pdf
MBSE with Arcadia method.pdfHelder Castro
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativoIngenierosD
 
Metodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudMetodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudEliud Cortes
 
Fundamentos de la arquitectura del software
Fundamentos de la arquitectura del softwareFundamentos de la arquitectura del software
Fundamentos de la arquitectura del softwareEnder Christense
 
Metodologia orientada a objetos
Metodologia orientada a objetosMetodologia orientada a objetos
Metodologia orientada a objetosMariana Rodríguez
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9Ian Sommerville
 
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...Obeo
 
Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Javier Rubiano Quiroga
 
Análisis de arquitecturas de software
Análisis de arquitecturas de softwareAnálisis de arquitecturas de software
Análisis de arquitecturas de softwareJorge Rodriguez
 
CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...
CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...
CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...Obeo
 
Semana 1 trazabilidad y modelos de trazabilidad
Semana 1 trazabilidad y modelos de trazabilidadSemana 1 trazabilidad y modelos de trazabilidad
Semana 1 trazabilidad y modelos de trazabilidadGiovani Ramirez
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de SoftwareRene Guaman-Quinche
 
Sesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisisSesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisisJulio Pari
 
Tailoring Arcadia Framework in Thales UK
Tailoring Arcadia Framework in Thales UKTailoring Arcadia Framework in Thales UK
Tailoring Arcadia Framework in Thales UKObeo
 

What's hot (20)

MBSE with Arcadia method.pdf
MBSE with Arcadia method.pdfMBSE with Arcadia method.pdf
MBSE with Arcadia method.pdf
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 
Metodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudMetodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliud
 
Ch6 - Architectural Design
Ch6 - Architectural DesignCh6 - Architectural Design
Ch6 - Architectural Design
 
Fundamentos de la arquitectura del software
Fundamentos de la arquitectura del softwareFundamentos de la arquitectura del software
Fundamentos de la arquitectura del software
 
Ch10 dependable systems
Ch10 dependable systemsCh10 dependable systems
Ch10 dependable systems
 
Metodologia orientada a objetos
Metodologia orientada a objetosMetodologia orientada a objetos
Metodologia orientada a objetos
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9
 
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
CapellaDays2022 | Saratech | Interface Control Document Generation and Linkag...
 
Curso de UML 2.0
Curso de UML 2.0 Curso de UML 2.0
Curso de UML 2.0
 
Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1Arquitectura de objetos distribuidos 1
Arquitectura de objetos distribuidos 1
 
Estilos arquitectónicos
Estilos arquitectónicosEstilos arquitectónicos
Estilos arquitectónicos
 
Análisis de arquitecturas de software
Análisis de arquitecturas de softwareAnálisis de arquitecturas de software
Análisis de arquitecturas de software
 
CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...
CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...
CapellaDays2022 | Thales DMS | A global engineering process based on MBSE to ...
 
Semana 1 trazabilidad y modelos de trazabilidad
Semana 1 trazabilidad y modelos de trazabilidadSemana 1 trazabilidad y modelos de trazabilidad
Semana 1 trazabilidad y modelos de trazabilidad
 
Ch5 system modeling
Ch5 system modelingCh5 system modeling
Ch5 system modeling
 
Documento vision
Documento visionDocumento vision
Documento vision
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de Software
 
Sesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisisSesion 3 2 modelo de analisis
Sesion 3 2 modelo de analisis
 
Tailoring Arcadia Framework in Thales UK
Tailoring Arcadia Framework in Thales UKTailoring Arcadia Framework in Thales UK
Tailoring Arcadia Framework in Thales UK
 

Similar to Arquitectura De Software Para Dummies

Ingenieria De Software Para Dummies
Ingenieria De Software Para DummiesIngenieria De Software Para Dummies
Ingenieria De Software Para DummiesSorey García
 
Estrategias Avanet: Ingeniería de Software
Estrategias Avanet: Ingeniería de SoftwareEstrategias Avanet: Ingeniería de Software
Estrategias Avanet: Ingeniería de SoftwareAvanet
 
El Rol de un Arquitecto de Software
El Rol de un Arquitecto de SoftwareEl Rol de un Arquitecto de Software
El Rol de un Arquitecto de SoftwareSorey García
 
Fundamentos de Diseño - Grupo Delta
Fundamentos de Diseño - Grupo DeltaFundamentos de Diseño - Grupo Delta
Fundamentos de Diseño - Grupo DeltaNicola Pizzi Castro
 
Ado.net entity framework
Ado.net entity frameworkAdo.net entity framework
Ado.net entity frameworkCein
 
Dev dotstar read_principios
Dev dotstar read_principiosDev dotstar read_principios
Dev dotstar read_principiosJordan Diaz
 
Ingeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosIngeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosWilfredo Mogollón
 
Investigación de ingeniería de software
Investigación de ingeniería de software Investigación de ingeniería de software
Investigación de ingeniería de software ingenieriadsoftware
 
Guía de creación arquitectónica para universidades en mundos virtuales
Guía de creación arquitectónica para universidades en mundos virtualesGuía de creación arquitectónica para universidades en mundos virtuales
Guía de creación arquitectónica para universidades en mundos virtualesCamilo Andrés Suárez
 
14 arquitectura de sistemas
14 arquitectura de sistemas14 arquitectura de sistemas
14 arquitectura de sistemasLuis Vidal
 
IngenieriaSOFTWARE _ Presentacion2022.pdf
IngenieriaSOFTWARE _ Presentacion2022.pdfIngenieriaSOFTWARE _ Presentacion2022.pdf
IngenieriaSOFTWARE _ Presentacion2022.pdfAnaliaEC
 
Software diseño de obras civiles
Software diseño de obras civilesSoftware diseño de obras civiles
Software diseño de obras civilesAlejandra Rojas
 
Tarea semana 1
Tarea semana 1Tarea semana 1
Tarea semana 1preciadoag
 

Similar to Arquitectura De Software Para Dummies (20)

Ingenieria De Software Para Dummies
Ingenieria De Software Para DummiesIngenieria De Software Para Dummies
Ingenieria De Software Para Dummies
 
Estrategias Avanet: Ingeniería de Software
Estrategias Avanet: Ingeniería de SoftwareEstrategias Avanet: Ingeniería de Software
Estrategias Avanet: Ingeniería de Software
 
Patrones
PatronesPatrones
Patrones
 
El Rol de un Arquitecto de Software
El Rol de un Arquitecto de SoftwareEl Rol de un Arquitecto de Software
El Rol de un Arquitecto de Software
 
Agilidad y lean
Agilidad y leanAgilidad y lean
Agilidad y lean
 
Fundamentos de Diseño - Grupo Delta
Fundamentos de Diseño - Grupo DeltaFundamentos de Diseño - Grupo Delta
Fundamentos de Diseño - Grupo Delta
 
Ado.net entity framework
Ado.net entity frameworkAdo.net entity framework
Ado.net entity framework
 
Diseño arquitectonico
Diseño arquitectonico Diseño arquitectonico
Diseño arquitectonico
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Dev dotstar read_principios
Dev dotstar read_principiosDev dotstar read_principios
Dev dotstar read_principios
 
Ingeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetosIngeniería de software y el paradigma orientado a objetos
Ingeniería de software y el paradigma orientado a objetos
 
Investigación de ingeniería de software
Investigación de ingeniería de software Investigación de ingeniería de software
Investigación de ingeniería de software
 
Guía de creación arquitectónica para universidades en mundos virtuales
Guía de creación arquitectónica para universidades en mundos virtualesGuía de creación arquitectónica para universidades en mundos virtuales
Guía de creación arquitectónica para universidades en mundos virtuales
 
No Silver Bullet
No Silver BulletNo Silver Bullet
No Silver Bullet
 
14 arquitectura de sistemas
14 arquitectura de sistemas14 arquitectura de sistemas
14 arquitectura de sistemas
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
IngenieriaSOFTWARE _ Presentacion2022.pdf
IngenieriaSOFTWARE _ Presentacion2022.pdfIngenieriaSOFTWARE _ Presentacion2022.pdf
IngenieriaSOFTWARE _ Presentacion2022.pdf
 
Software diseño de obras civiles
Software diseño de obras civilesSoftware diseño de obras civiles
Software diseño de obras civiles
 
Tarea semana 1
Tarea semana 1Tarea semana 1
Tarea semana 1
 
Tareasemana1
Tareasemana1Tareasemana1
Tareasemana1
 

More from Sorey García

Mision inspiración para docentes
Mision inspiración para docentesMision inspiración para docentes
Mision inspiración para docentesSorey García
 
NetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvilNetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvilSorey García
 
Introducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLIntroducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLSorey García
 
WIE: El poder de transformar al mundo con tecnología
WIE: El poder de transformar al mundo con tecnologíaWIE: El poder de transformar al mundo con tecnología
WIE: El poder de transformar al mundo con tecnologíaSorey García
 
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...Sorey García
 
Internet de las Cosas y Netduino
Internet de las Cosas y NetduinoInternet de las Cosas y Netduino
Internet de las Cosas y NetduinoSorey García
 
Misión: Inspiración
Misión: InspiraciónMisión: Inspiración
Misión: InspiraciónSorey García
 
Tendencias de movilidad en el mercado masivo y empresarial
Tendencias de movilidad en el mercado masivo y empresarialTendencias de movilidad en el mercado masivo y empresarial
Tendencias de movilidad en el mercado masivo y empresarialSorey García
 
[Avanet] Fiesta del Libro y la Cultura Medellín
[Avanet] Fiesta del Libro y la Cultura Medellín[Avanet] Fiesta del Libro y la Cultura Medellín
[Avanet] Fiesta del Libro y la Cultura MedellínSorey García
 
MVP Open Day - Best Practices/Experiences
MVP Open Day - Best Practices/Experiences MVP Open Day - Best Practices/Experiences
MVP Open Day - Best Practices/Experiences Sorey García
 
GWAB: Azure Mobile Services
GWAB: Azure Mobile ServicesGWAB: Azure Mobile Services
GWAB: Azure Mobile ServicesSorey García
 
Similitudes y deferencias en UX para Windows Phone y Windows
Similitudes y deferencias en UX para Windows Phone y WindowsSimilitudes y deferencias en UX para Windows Phone y Windows
Similitudes y deferencias en UX para Windows Phone y WindowsSorey García
 
Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)Sorey García
 
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Sorey García
 
Conociendo el ecosistema de Windows Phone 8 y Windows 8
Conociendo el ecosistema de Windows Phone 8 y Windows 8Conociendo el ecosistema de Windows Phone 8 y Windows 8
Conociendo el ecosistema de Windows Phone 8 y Windows 8Sorey García
 
Hackaton Globant - Windows Phone (snnipets and tips)
Hackaton Globant - Windows Phone (snnipets and tips)Hackaton Globant - Windows Phone (snnipets and tips)
Hackaton Globant - Windows Phone (snnipets and tips)Sorey García
 
Windows Phone 8: Tips de Diseño para Desarrolladores
Windows Phone 8: Tips de Diseño para DesarrolladoresWindows Phone 8: Tips de Diseño para Desarrolladores
Windows Phone 8: Tips de Diseño para DesarrolladoresSorey García
 
JSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y Javascript
JSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y JavascriptJSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y Javascript
JSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y JavascriptSorey García
 
Windows Phone 8 en Campus Party
Windows Phone 8 en Campus PartyWindows Phone 8 en Campus Party
Windows Phone 8 en Campus PartySorey García
 

More from Sorey García (20)

Mision inspiración para docentes
Mision inspiración para docentesMision inspiración para docentes
Mision inspiración para docentes
 
NetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvilNetConfUY: Maximizando la productividad del desarrollo móvil
NetConfUY: Maximizando la productividad del desarrollo móvil
 
Introducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLIntroducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAML
 
WIE: El poder de transformar al mundo con tecnología
WIE: El poder de transformar al mundo con tecnologíaWIE: El poder de transformar al mundo con tecnología
WIE: El poder de transformar al mundo con tecnología
 
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
 
Internet de las Cosas y Netduino
Internet de las Cosas y NetduinoInternet de las Cosas y Netduino
Internet de las Cosas y Netduino
 
Misión: Inspiración
Misión: InspiraciónMisión: Inspiración
Misión: Inspiración
 
Codies.Launch()
Codies.Launch()Codies.Launch()
Codies.Launch()
 
Tendencias de movilidad en el mercado masivo y empresarial
Tendencias de movilidad en el mercado masivo y empresarialTendencias de movilidad en el mercado masivo y empresarial
Tendencias de movilidad en el mercado masivo y empresarial
 
[Avanet] Fiesta del Libro y la Cultura Medellín
[Avanet] Fiesta del Libro y la Cultura Medellín[Avanet] Fiesta del Libro y la Cultura Medellín
[Avanet] Fiesta del Libro y la Cultura Medellín
 
MVP Open Day - Best Practices/Experiences
MVP Open Day - Best Practices/Experiences MVP Open Day - Best Practices/Experiences
MVP Open Day - Best Practices/Experiences
 
GWAB: Azure Mobile Services
GWAB: Azure Mobile ServicesGWAB: Azure Mobile Services
GWAB: Azure Mobile Services
 
Similitudes y deferencias en UX para Windows Phone y Windows
Similitudes y deferencias en UX para Windows Phone y WindowsSimilitudes y deferencias en UX para Windows Phone y Windows
Similitudes y deferencias en UX para Windows Phone y Windows
 
Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)Taller MVVM Imagine Camp Medellín (Intermedio)
Taller MVVM Imagine Camp Medellín (Intermedio)
 
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
Estrategias para desarrollo crossplatform en Windows Phone 8 y Windows 8
 
Conociendo el ecosistema de Windows Phone 8 y Windows 8
Conociendo el ecosistema de Windows Phone 8 y Windows 8Conociendo el ecosistema de Windows Phone 8 y Windows 8
Conociendo el ecosistema de Windows Phone 8 y Windows 8
 
Hackaton Globant - Windows Phone (snnipets and tips)
Hackaton Globant - Windows Phone (snnipets and tips)Hackaton Globant - Windows Phone (snnipets and tips)
Hackaton Globant - Windows Phone (snnipets and tips)
 
Windows Phone 8: Tips de Diseño para Desarrolladores
Windows Phone 8: Tips de Diseño para DesarrolladoresWindows Phone 8: Tips de Diseño para Desarrolladores
Windows Phone 8: Tips de Diseño para Desarrolladores
 
JSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y Javascript
JSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y JavascriptJSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y Javascript
JSConfCo: Desarrollo de Aplicaciones para Windows Store con HTML5 y Javascript
 
Windows Phone 8 en Campus Party
Windows Phone 8 en Campus PartyWindows Phone 8 en Campus Party
Windows Phone 8 en Campus Party
 

Recently uploaded

IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdfRAMON EUSTAQUIO CARO BAYONA
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxJUANCARLOSAPARCANARE
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTESaraNolasco4
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaLuis Minaya
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsxJuanpm27
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxEribertoPerezRamirez
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 

Recently uploaded (20)

IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
3. Pedagogía de la Educación: Como objeto de la didáctica.ppsx
 
recursos naturales america cuarto basico
recursos naturales america cuarto basicorecursos naturales america cuarto basico
recursos naturales america cuarto basico
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docxPROGRAMACION ANUAL DE MATEMATICA 2024.docx
PROGRAMACION ANUAL DE MATEMATICA 2024.docx
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 

Arquitectura De Software Para Dummies

  • 1. Arquitectura de Software Sorey Bibiana García Zapata
  • 2. Siguiendo mi enfoque pedagógico personal, someteré el tema de la arquitectura de software a la ya típica comparación con la ingeniería civil y el rol de los arquitectos de edificaciones. La razón de este enfoque es simple, una realidad poco conocida o comprendida, es más fácil de asimilar, cuando es mostrada a través de un símil con otra que si conocemos, o bien, con otra que puede intuirse coherentemente usando el sentido común.
  • 3. Empecemos por un par de ideas simples….
  • 4. La arquitectura es un instrumento cuya función principal es la de intervenir en favor del hombre. James M Fitch
  • 5. La arquitectura debe ser una respuesta, no una imposición. La mayoría de los arquitectos que construyen edificios extraños asegura que lo hace porque ahora la tecnología lo hace posible. Eso me parece absurdo. Poder hacer una cosa no legitima hacerla. Necesitamos soluciones para los problemas reales, no inventar problemas para poder empatar con nuevas soluciones Glenn Murcutt
  • 6. Esta última comparación podrá no gustarle a muchos arquitectos profesionales, pero en realidad tiene mucho sentido, en tecnología, tanto como en otros escenarios… “Poder hacer una cosa no legitima hacerla” Necesitamos soluciones para los problemas reales, no inventar problemas para poder empatar con nuevas soluciones!
  • 7. Viéndolo de esa forma, en realidad el rol de un arquitecto de edificaciones y un arquitecto de software parece enfrentar los mismos retos
  • 8. Por lo que es claro, que se debe contar, con un conjunto básico de habilidades y conocimientos para ejercer este tipo de roles
  • 9. Y es que no es lo mismo construir esto…
  • 12. Que se necesita para construir algo asi?
  • 16. Cada escenario plantea retos, condiciones y necesidades diferentes! Que tal si los vemos otra vez, mientras nos preguntamos… Que herramientas, personas, presupuesto, conocimiento y tiempo necesitamos para cada escenario?
  • 17.
  • 18. Pues bien, podemos decir sin miedo a equivocarnos, que todas las consideraciones que se nos ocurran con respecto a definir la arquitectura de edificaciones, deberán ser tenidas en cuenta también al momento de definir la arquitectura de software
  • 19. Conocen la Mansión Winchester?
  • 20. En 1884, Sarah L. Winchester enviuda quedando en sus manos la herencia del acaudalado heredero de los rifles Winchester. Pero tras tan inmensa fortuna, y según una vidente de la época a la que la desdichada viuda consultó, las almas perdidas de aquellos que murieron frente a alguno de estos rifles se encontraban en pena. Años atrás había perdido también a su hija Annie y ahora, la muerte de su marido terminó por desequilibrarla. Sarah compró un extenso terreno en California, e hizo levantar una casa que hubo de estar construyéndose hasta el mismo día de su muerte, 38 años después, en 1922. Ya que según aquella vidente, sólo así las almas encontrarían donde morar mientras no hallaran el reposo eterno.
  • 21. La arquitectura de esta mansión sorprende a todos y se escapa a los límites de la razón. Y no es tanto porque esta mansión estilo victoriano tenga 160 habitaciones, tres ascensores, 47 chimeneas, sistema de alcantarillado y de calefacción, luces de gas que se encienden apretando un botón, (todo esto adelantado a su época), sino porque en ella se puede encontrar ventanas de dan a paredes, escaleras que no llevan a ninguna parte, puertas en medio de las ventanas en la fachada de los pisos superiores y otras rarezas.
  • 22. Pero… Qué tiene que ver esta historia con la Arquitectura de Software?
  • 23. Pues bien, resulta que esta situación en el contexto del desarrollo de software, es más común de lo que debería… Cuando un desarrollador es asignado a la tarea de mantener y evolucionar un sistema legado, cuya arquitectura tiene fallas o incluso que simplemente no está documentada, elige reconstruir partes o crear sus propias rutas dentro del código…
  • 24. Lo que ocurre finalmente es que las aplicaciones de software con el tiempo, terminan convirtiéndose en una colcha de retazos o bien, en un laberinto como la Mansión Winchester, en donde si no tienes un guía y te pierdes, nadie te asegura que vuelvan a encontrarte.
  • 25. quot;Programar sin una arquitectura en mente es como explorar una gruta sólo con una linterna: no sabes dónde estás, dónde has estado ni hacia dónde vas” Danny Thorpe
  • 26. De aquí, 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.
  • 27. Cuando se piensa en la arquitectura de un sistema, debe tomarse en cuenta primero, lo más crítico e importante… Y luego complementar para satisfacer las necesidades generales del sistema
  • 28. 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.
  • 29. Y además que debe ser una persona capaz de identificar las necesidades de los negocios, las habilidades de su equipo de trabajo y la viabilidad de las tecnologías disponibles para el desarrollo de software
  • 30. Un buen arquitecto 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.
  • 31. Por tanto, la madurez de un arquitecto dará a las aplicaciones de software que tenga a su cargo, una especificación coherente, para enfrentar un conjunto de riesgos mucho más reducido, que en el caso de un arquitecto aprendiz
  • 32. Y es que… “Desarrollar software de calidad basado en requisitos y caminar sobre el agua son cosas muy fáciles... si ambos están congelados“ Pero esa no es la situación que se presenta en el desarrollo de software; construir software por el contrario es un escenario evolutivo y cambiante, situación para la cual un arquitecto de software debe estar preparado.
  • 33. Ahora bien, a diferencia de los arquitectos de edificaciones, los arquitectos de software son los encargados de construir la base de la arquitectura de los proyectos…
  • 34. Esta es una de las razones por las que es fácil pensar en que un Arquitecto de Edificaciones puede ser bueno sin tener que haber pegado jamás un ladrillo sobre otro, pero no podemos pensar lo mismo de un Ingeniero de Software que no haya programado jamás… IDEAS ’09 XII Conferencia Iberoamericana de Ingeniería de Requisitos y Ambientes de Software
  • 35. Ahora bien, al igual que los trabajadores de una obra, un equipo de desarrollo debe tener las habilidades necesarias para realizar desarrollo del sistema y seguir la indicaciones del arquitecto, buscando el éxito del proyecto.
  • 36. Otra parte de nuestro símil está a en los planos y maquetas usados por los arquitectos para especificar y detallar la forma en que las edificaciones serán construidas.
  • 37. Al igual que ellos, los arquitectos de software usan modelos que representan las especificaciones y necesidades técnicas de los sistemas.
  • 38. La construcción de estos artefactos, en ambos contextos requiere de herramientas, habilidades y conocimientos, y servirá como guía de la en el proceso de construcción
  • 39. Y así como los planos, diseños y maquetas muestran diferentes vistas de un mismo lugar…
  • 41. …como una visión completa…
  • 44. …o bien, con un alto nivel de detalle…
  • 45. …los diagramas a través de los cuales se representa el diseño y distribución del software, pueden mostrar diferentes vistas de un mismo sistema y de las condiciones que existen en el entorno donde se depliega
  • 46. El modelo 4 + 1 vistas, es una propuesta que establece las diferentes perspectivas a través de las cuales se puede representar el diseño y arquitectura de un sistema de software Kruchten P. Architectural Blueprints—The “4+1” View Model of Software Architecture. IEEE Software, November 1995, 12 (6), pp.42-50.
  • 47. Esta propuesta presenta su propio esquema de modelado, pero como bien sabemos, la notación más reconocida para el modelamiento de sistemas de software es el UML * * UML es un lenguaje de modelado visual que se usa para especificar, visualizar, construir y documentar artefactos de un sistema de software, y se usa para entender, diseñar, configurar, mantener y controlar la información sobre los sistemas a construir.
  • 48. Sin embargo, cada una de las vistas del modelo 4 + 1, puede equiparse contra uno o varios diagramas de UML Vista UML Escenarios Casos de Uso Lógica Clases, de Estados y Colaboración Desarrollo Componentes Física Despliegue Procesos Actividad, Estados, Secuencia http://jgarzas.googlepages.com/4mas1
  • 49. De esta forma es posible representar las diferentes perspectivas de un sistema desde 2 propuestas de trabajo conocidas y enfocadas a satisfacer las necesidades de los diferentes participantes del proceso de desarrollo
  • 50. Esta es una visión inicial acerca de la arquitectura de software, para profundizar en ella debemos detallar de una forma mas específica, cada uno de los conceptos que hemos mencionado. Sin embargo eso será en una próxima oportunidad
  • 51. Gracias!!! ‘ No olvides visitar mi blog y dejarme tus comentarios http://soreygarcia.blogspot.com Hasta pronto!