SlideShare una empresa de Scribd logo
Arquitectura de Software
Carlos Uscamayta
AGENDA
Que es Arquitectura de Software?
Rol y Responsabilidades del Arquitecto
Arquitectura Vs. Diseño
Atributos de Calidad
Calidades Sistémicas y Calidad de Servicio
Patrones de Diseño
Arquitectura de Software
•Que es una arquitectura?
•“No estamos seguros, pero la reconocemos
cuando vemos una”
• IEEE 1471
El nivel conceptual más alto
de un sistema en su
ambiente.
• Arquitectura es la
organización fundamental de
un sistema descrita en:
– Sus componentes.
– Relación entre ellos y con el
ambiente.
– Principios que guían su diseño
y evolución.
+ Software Architecture in
Practice - Kazman
“La estructura de
estructuras de un sistema,
la cual abarca
componentes de software,
propiedades externas
visibles de estos
componentes y sus
relaciones”.
Discusión
 Definir la arquitectura en los
proyectos actuales es crítico...
Evolución de Arquitecturas
• Dos factores primarios en la ingeniería de
software que han incrementado la
importancia de la arquitectura:
Evolución de Arquitecturas
• Aplicaciones Monolíticas
• Interfaces gráficas de usuario (GUI).
• Servicios de presentación, negocios
y persistencia en la misma máquina.
• No hay concurrencia de usuarios.
• Alto acoplamiento entre tiers.
Arquitectura Cliente-Servidor
+ Clientes pesados, no estándar
+ Conexiones dedicadas a BD
+ Protocolos pesados
+ Ejecución remota de SQLs
+ Alta administración
+ Bajo rendimiento
+ Alto tráfico de red
+ Baja accesibilidad
Evolución de Arquitecturas
• Arquitectura Cliente-Servidor
Mejorada
• Lógica de negocios en BD
• Clientes pesados, no estándar.
• Conexiones dedicadas a la BD.
• Mejora en rendimiento
• Alta administración
• Baja escalabilidad
• Baja flexibilidad
• Baja portabilidad
Arquitectura de 3 niveles
+ Reutilización de lógica de negocio para
diferentes clientes o sistemas.
+ Mejora la escalabilidad.
+ Mejora la flexibilidad.
+ Independencia de la base de datos.
Evolución de Arquitecturas
• Arquitectura de N-niveles
100.000+
+ Bajo costo de administración de clientes.
+ Alta accesibilidad.
+ Alta flexibilidad.
+ Alta disponibilidad y tolerancia a fallos.
+ Alta escalabilidad.
+ Independencia de DB
Evolución de Arquitecturas
Visión de Arquitectura Orientada a Servicios (SOA)
Cluster de
Servidores de
Aplicaciones
Aplicaciones
Legadas
Servidor de
Procesos
(BPM)
Base de
Datos
Sistema
Batch
Portal de
Servicios Integrados
+ Requerimientos
Arquitectónicos
+ Heterogeneidad
+ Escalabilidad
+ Disponibilidad
+ Distribución
+ Manejabilidad de Procesos
+ Administración y monitoreo de procesos,
servicios e infraestructura
Que es un Arquitecto de Software?
• Rational Unified Process
Arquitecto es un rol en un proyecto
de desarrollo de software el cual es
responsable de:
– Liderar el proceso de
arquitectura.
– Producir los artefactos
necesarios: Documento de
descripción de arquitectura
– Modelos y prototipos de
arquitectura.
• SUN SL-425:
El arquitecto:
– Visualiza el comportamiento
del sistema.
– Crea los planos del sistema.
– Define la forma en la cual los
elementos del sistema
trabajan en conjunto.
– Responsable de integrar los
requerimientos no-
funcionales (NRFs) en el
sistema.
+ Existe alguna diferencia entre
arquitectura y diseño de software?
Discusión
Arquitectura Vs. Diseño
Arquitectura Diseño
Nivel de
Abstracción
Alto nivel Bajo nivel. Enfoque
específico en detalles
Entregables Planear subsistemas, interfaces
con sistemas externos,
servicios horizontales,
frameworks, componentes
reutilizables, prototipo
arquitectónico
Diseño detallado
componentes.
Especificaciones de
codificación
Áreas de
Enfoque
Selección de tecnologías,
Requerimientos no funcionales
(QoS),
Manejo de riesgos
Requerimientos
funcionales
+ La arquitectura y el diseño difieren en tres áreas:
Arquitectura Vs. Diseño
• La arquitectura envuelve un conjunto de
decisiones estratégicas de diseño,
lineamientos, reglas y patrones que
restringen el diseño y la implementación
de un software. Las decisiones
de arquitectura
causan un alto
impacto en los
proyectos de IT
Arquitectura
Diseño
Implementación
Código
Atributos de Calidad
 Seguridad
 Rendimiento
 Escalabilidad
 Disponibilidad
 Extensibilidad
Calidades Sistémicas
• Definición
• Propiedades que establecen la
calidad de servicio (QoS) que un
sistema expone.
• Son globales a toda la arquitectura
• Influencian el diseño.
• Son no-funcionales pero
observables.
+Familias de
Calidades
Sistémicas
+Manifiestas
+Operacionales
+Desarrollo
+Evolutivas
Calidades Sistémicas - Manifiestas
• Observables por los usuarios del sistema.
• Performance. Tiempo de respuesta desde el punto de
vista del usuario.
• Reliability. Grado de probabilidad de realizar
operaciones correctamente.
• Availability. Porcentaje de tiempo que un sistema puede
procesar solicitudes.
Calidades Sistémicas -
Operacionales
• Throughput. Solicitudes atendidas
por unidad de tiempo.
• Manageability. Cantidad inversa de
esfuerzo para realizar labores
administrativas.
• Serviceability. Esfuerzo para
actualizar el sistema para reparar
errores.
+ Security. Prevención de uso
indeseado, por abuso o uso
inapropiado:
– Identidad
– Autoridad
– Confidencialidad
– Auditabilidad
– Integridad
+ Testability. Esfuerzo invertido
para detectar y aislar errores.
Observables cuando el sistema está operando en producción.
Calidades Sistémicas - Evolutivas
• Relacionadas con el comportamiento del
sistema cuando sufre algún cambio.
+Escalability. La habilidad para soportar
la calidad de servicio requerida
conforme la carga aumenta.
+Flexibility. Esfuerzo ahorrado cuando se
hace un cambio de configuración.
+Portability. Esfuerzo ahorrado cuando
se migra a una infraestructura
diferente.
+Reusability. Esfuerzo ganado en
la utilización de componentes
existentes.
+Extensibility. Esfuerzo ahorrado
para adicionar nuevas
funcionalidades.
+Mantainability. Esfuerzo
ahorrado para revisar y corregir
errores.
Patrones de Diseño
 Los patrones de diseño son la base para
la búsqueda de soluciones a problemas
comunes en el desarrollo de software y
otros ámbitos referentes al diseño de
interacción o interfaces.
 Un patrón de diseño resulta ser una
solución a un problema de diseño
Arquitectura de software
Arquitectura de software
Arquitectura de software
Arquitectura de software

Más contenido relacionado

La actualidad más candente

Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software Joan Manuel Zabala
 
Tecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareTecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto software
Jennifer Andrea Cano Guevara
 
Aseguramiento de la Calidad del Software II
Aseguramiento de la Calidad del Software IIAseguramiento de la Calidad del Software II
Aseguramiento de la Calidad del Software II
Tensor
 
Estimación de Proyectos de Software
Estimación de Proyectos de SoftwareEstimación de Proyectos de Software
Estimación de Proyectos de Software
Andrés Felipe Montoya Ríos
 
Togaf 9.1 introduction strategica enterprise
Togaf 9.1 introduction   strategica enterpriseTogaf 9.1 introduction   strategica enterprise
Togaf 9.1 introduction strategica enterprise
mdahdour
 
Ingenieria web
Ingenieria webIngenieria web
Ingenieria web
Edward Cruz
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
Cesar Prado
 
Sesion 7 2 diseño diagramas de despliegue
Sesion 7 2 diseño   diagramas de despliegueSesion 7 2 diseño   diagramas de despliegue
Sesion 7 2 diseño diagramas de despliegueJulio Pari
 
Analisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de usoAnalisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de usoYovana Connie Roca Avila
 
Control de Calidad del Software
Control de  Calidad del SoftwareControl de  Calidad del Software
Control de Calidad del Software
Intellimedia
 
Primeros artefactos de análisis. casos de uso
Primeros artefactos de análisis. casos de usoPrimeros artefactos de análisis. casos de uso
Primeros artefactos de análisis. casos de uso
Juan Pablo Bustos Thames
 
Mejorando la Gestión de la gerencia de TI
Mejorando la Gestión de la gerencia de TIMejorando la Gestión de la gerencia de TI
Mejorando la Gestión de la gerencia de TI
GeneXus
 
Proceso del software
Proceso del softwareProceso del software
Proceso del software
Tensor
 
Análisis de requerimientos
Análisis de requerimientosAnálisis de requerimientos
Análisis de requerimientos
Gustavo Araque
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
Juan Pablo Bustos Thames
 
Introducción a TOGAF para el desarrollo de Enterprise Architecture
Introducción a TOGAF para el desarrollo de Enterprise ArchitectureIntroducción a TOGAF para el desarrollo de Enterprise Architecture
Introducción a TOGAF para el desarrollo de Enterprise Architecture
netmind
 
Diseño de interfaz de usuario
Diseño de interfaz de usuarioDiseño de interfaz de usuario
Diseño de interfaz de usuario
Yesith Valencia
 
Togaf adm (face c)
Togaf   adm (face c)Togaf   adm (face c)
Togaf adm (face c)
Franklin Mijahuanca Lopez
 

La actualidad más candente (20)

Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software Atributos de calidad en el desarrollo de software
Atributos de calidad en el desarrollo de software
 
Tecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto softwareTecnicas de estimacion de costos de proyecto software
Tecnicas de estimacion de costos de proyecto software
 
Aseguramiento de la Calidad del Software II
Aseguramiento de la Calidad del Software IIAseguramiento de la Calidad del Software II
Aseguramiento de la Calidad del Software II
 
Estimación de Proyectos de Software
Estimación de Proyectos de SoftwareEstimación de Proyectos de Software
Estimación de Proyectos de Software
 
Togaf 9.1 introduction strategica enterprise
Togaf 9.1 introduction   strategica enterpriseTogaf 9.1 introduction   strategica enterprise
Togaf 9.1 introduction strategica enterprise
 
Ingenieria web
Ingenieria webIngenieria web
Ingenieria web
 
Xp
XpXp
Xp
 
Ingeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientosIngeniería de requisitos e ingeniería de requerimientos
Ingeniería de requisitos e ingeniería de requerimientos
 
Sesion 7 2 diseño diagramas de despliegue
Sesion 7 2 diseño   diagramas de despliegueSesion 7 2 diseño   diagramas de despliegue
Sesion 7 2 diseño diagramas de despliegue
 
LÍNEAS DE PRODUCTOS DE SOFTWARE
LÍNEAS DE PRODUCTOS DE SOFTWARELÍNEAS DE PRODUCTOS DE SOFTWARE
LÍNEAS DE PRODUCTOS DE SOFTWARE
 
Analisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de usoAnalisis y diseño diagrama de caso de uso
Analisis y diseño diagrama de caso de uso
 
Control de Calidad del Software
Control de  Calidad del SoftwareControl de  Calidad del Software
Control de Calidad del Software
 
Primeros artefactos de análisis. casos de uso
Primeros artefactos de análisis. casos de usoPrimeros artefactos de análisis. casos de uso
Primeros artefactos de análisis. casos de uso
 
Mejorando la Gestión de la gerencia de TI
Mejorando la Gestión de la gerencia de TIMejorando la Gestión de la gerencia de TI
Mejorando la Gestión de la gerencia de TI
 
Proceso del software
Proceso del softwareProceso del software
Proceso del software
 
Análisis de requerimientos
Análisis de requerimientosAnálisis de requerimientos
Análisis de requerimientos
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Introducción a TOGAF para el desarrollo de Enterprise Architecture
Introducción a TOGAF para el desarrollo de Enterprise ArchitectureIntroducción a TOGAF para el desarrollo de Enterprise Architecture
Introducción a TOGAF para el desarrollo de Enterprise Architecture
 
Diseño de interfaz de usuario
Diseño de interfaz de usuarioDiseño de interfaz de usuario
Diseño de interfaz de usuario
 
Togaf adm (face c)
Togaf   adm (face c)Togaf   adm (face c)
Togaf adm (face c)
 

Similar a Arquitectura de software

Arquitecturas de software exposicion
Arquitecturas de software   exposicionArquitecturas de software   exposicion
Arquitecturas de software exposicion
juca piro
 
Clase7 unidad1
Clase7 unidad1Clase7 unidad1
Clase7 unidad1zurda21
 
Introducción a la Arquitectura de Software
Introducción a la Arquitectura de SoftwareIntroducción a la Arquitectura de Software
Introducción a la Arquitectura de Software
Gustavo Alzate Sandoval
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareLiliana Pacheco
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de software
José Antonio Sandoval Acosta
 
Exposicion evaluacion e_arquitecturas_de_softw
Exposicion evaluacion e_arquitecturas_de_softwExposicion evaluacion e_arquitecturas_de_softw
Exposicion evaluacion e_arquitecturas_de_softw
David Lorett
 
2017.10.16-senati-powerpoint sesion8.pptx
2017.10.16-senati-powerpoint sesion8.pptx2017.10.16-senati-powerpoint sesion8.pptx
2017.10.16-senati-powerpoint sesion8.pptx
Fernando Espinoza Muñoz
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
Jose Patricio Bovet Derpich
 
Conceptosdemodelado.pdf
Conceptosdemodelado.pdfConceptosdemodelado.pdf
Conceptosdemodelado.pdf
ssuser20fade
 
Conceptos de diseño de software
Conceptos de diseño de softwareConceptos de diseño de software
Conceptos de diseño de software
Jose Diaz Silva
 
Presentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de CostePresentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de Coste
CAMILO
 
Proyecto de Software y Coste
Proyecto de Software y CosteProyecto de Software y Coste
Proyecto de Software y Coste
CAMILO
 
presentacion de software y estimacion de doste
presentacion de software y estimacion de dostepresentacion de software y estimacion de doste
presentacion de software y estimacion de doste
CAMILO
 
PROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOSPROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOS
CAMILO
 
Proyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de CostoProyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de Costo
CAMILO
 
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTEPRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
CAMILO
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso
Coesi Consultoria
 

Similar a Arquitectura de software (20)

Arquitecturas de software exposicion
Arquitecturas de software   exposicionArquitecturas de software   exposicion
Arquitecturas de software exposicion
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
Clase7
Clase7Clase7
Clase7
 
Clase7 unidad1
Clase7 unidad1Clase7 unidad1
Clase7 unidad1
 
Introducción a la Arquitectura de Software
Introducción a la Arquitectura de SoftwareIntroducción a la Arquitectura de Software
Introducción a la Arquitectura de Software
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Ingenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de softwareIngenieria de software - Unidad 3 arquitecturas de software
Ingenieria de software - Unidad 3 arquitecturas de software
 
Exposicion evaluacion e_arquitecturas_de_softw
Exposicion evaluacion e_arquitecturas_de_softwExposicion evaluacion e_arquitecturas_de_softw
Exposicion evaluacion e_arquitecturas_de_softw
 
2017.10.16-senati-powerpoint sesion8.pptx
2017.10.16-senati-powerpoint sesion8.pptx2017.10.16-senati-powerpoint sesion8.pptx
2017.10.16-senati-powerpoint sesion8.pptx
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
Conceptosdemodelado.pdf
Conceptosdemodelado.pdfConceptosdemodelado.pdf
Conceptosdemodelado.pdf
 
Conceptos de diseño de software
Conceptos de diseño de softwareConceptos de diseño de software
Conceptos de diseño de software
 
Presentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de CostePresentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de Coste
 
Proyecto de Software y Coste
Proyecto de Software y CosteProyecto de Software y Coste
Proyecto de Software y Coste
 
presentacion de software y estimacion de doste
presentacion de software y estimacion de dostepresentacion de software y estimacion de doste
presentacion de software y estimacion de doste
 
PROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOSPROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOS
 
Proyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de CostoProyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de Costo
 
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTEPRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
 
3. modelos prescriptivos de proceso
3. modelos prescriptivos de proceso3. modelos prescriptivos de proceso
3. modelos prescriptivos de proceso
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso
 

Más de Carlos Uscamayta

Comercio electronico
Comercio electronicoComercio electronico
Comercio electronico
Carlos Uscamayta
 
NodeJS
NodeJSNodeJS
AngularJS2
AngularJS2AngularJS2
AngularJS2
Carlos Uscamayta
 
TDD en java script
TDD en java scriptTDD en java script
TDD en java script
Carlos Uscamayta
 
AngularJS
AngularJSAngularJS
AngularJS
Carlos Uscamayta
 
Scrum
ScrumScrum
Algoritmos Voraces - Dijkstra
Algoritmos Voraces - DijkstraAlgoritmos Voraces - Dijkstra
Algoritmos Voraces - Dijkstra
Carlos Uscamayta
 
AngularJS
AngularJSAngularJS
AngularJS
Carlos Uscamayta
 
AngularJS DEVFEST
AngularJS DEVFESTAngularJS DEVFEST
AngularJS DEVFEST
Carlos Uscamayta
 
AngularJS DEVFEST
AngularJS DEVFESTAngularJS DEVFEST
AngularJS DEVFEST
Carlos Uscamayta
 

Más de Carlos Uscamayta (10)

Comercio electronico
Comercio electronicoComercio electronico
Comercio electronico
 
NodeJS
NodeJSNodeJS
NodeJS
 
AngularJS2
AngularJS2AngularJS2
AngularJS2
 
TDD en java script
TDD en java scriptTDD en java script
TDD en java script
 
AngularJS
AngularJSAngularJS
AngularJS
 
Scrum
ScrumScrum
Scrum
 
Algoritmos Voraces - Dijkstra
Algoritmos Voraces - DijkstraAlgoritmos Voraces - Dijkstra
Algoritmos Voraces - Dijkstra
 
AngularJS
AngularJSAngularJS
AngularJS
 
AngularJS DEVFEST
AngularJS DEVFESTAngularJS DEVFEST
AngularJS DEVFEST
 
AngularJS DEVFEST
AngularJS DEVFESTAngularJS DEVFEST
AngularJS DEVFEST
 

Último

Estructuras b-sicas_ conceptos b-sicos de programaci-n.pdf
Estructuras b-sicas_  conceptos b-sicos de programaci-n.pdfEstructuras b-sicas_  conceptos b-sicos de programaci-n.pdf
Estructuras b-sicas_ conceptos b-sicos de programaci-n.pdf
edepjuanorozco
 
Diapositiva Herramientas Web, Tema Web 3.0.pptx
Diapositiva Herramientas Web, Tema Web 3.0.pptxDiapositiva Herramientas Web, Tema Web 3.0.pptx
Diapositiva Herramientas Web, Tema Web 3.0.pptx
erick502105
 
Sistemas-de-Numeración-para-Primero-de-Secundaria.doc
Sistemas-de-Numeración-para-Primero-de-Secundaria.docSistemas-de-Numeración-para-Primero-de-Secundaria.doc
Sistemas-de-Numeración-para-Primero-de-Secundaria.doc
LuisEnriqueCarboneDe
 
EduLearnIAappde IAparatodosdisponible.pptx
EduLearnIAappde IAparatodosdisponible.pptxEduLearnIAappde IAparatodosdisponible.pptx
EduLearnIAappde IAparatodosdisponible.pptx
Elizabeth Mejia
 
10. Táctica y Estrategia en Fútbol autor Oscar Milton Rivas (1).pdf
10. Táctica y Estrategia en Fútbol autor Oscar Milton Rivas (1).pdf10. Táctica y Estrategia en Fútbol autor Oscar Milton Rivas (1).pdf
10. Táctica y Estrategia en Fútbol autor Oscar Milton Rivas (1).pdf
XxsmalXxYT
 
Presentación Arduino, proyecto colectivo
Presentación Arduino, proyecto colectivoPresentación Arduino, proyecto colectivo
Presentación Arduino, proyecto colectivo
juanlemus11122
 
derecho penal busqueda de pruebas en el derecho penal peruano latinoamericano
derecho penal busqueda de pruebas en el derecho penal peruano latinoamericanoderecho penal busqueda de pruebas en el derecho penal peruano latinoamericano
derecho penal busqueda de pruebas en el derecho penal peruano latinoamericano
edwinchiri2
 
EXPERIENCIA PROYECTOS STARTUP JAVIER LASA
EXPERIENCIA PROYECTOS STARTUP JAVIER LASAEXPERIENCIA PROYECTOS STARTUP JAVIER LASA
EXPERIENCIA PROYECTOS STARTUP JAVIER LASA
Javier Lasa
 
Biografía Eugenio Díaz Castro su vida y su libros
Biografía Eugenio  Díaz Castro su vida y su librosBiografía Eugenio  Díaz Castro su vida y su libros
Biografía Eugenio Díaz Castro su vida y su libros
jhannimejia
 
5 CRITERIOS PARA EL DISEÑO DE DIAGRAMAS DE FLUJO.pptx
5 CRITERIOS PARA EL DISEÑO DE DIAGRAMAS DE FLUJO.pptx5 CRITERIOS PARA EL DISEÑO DE DIAGRAMAS DE FLUJO.pptx
5 CRITERIOS PARA EL DISEÑO DE DIAGRAMAS DE FLUJO.pptx
AlexanderCR12
 
blog.pdf de coceptos de personalidad....
blog.pdf de coceptos de personalidad....blog.pdf de coceptos de personalidad....
blog.pdf de coceptos de personalidad....
JosvilAngel
 
Los derechos de autor y Ética Profesional
Los derechos de autor y Ética ProfesionalLos derechos de autor y Ética Profesional
Los derechos de autor y Ética Profesional
bgonzalezm20
 
WordPress training basics - básicos de cómo enseñar WordPress
WordPress training basics - básicos de cómo enseñar WordPressWordPress training basics - básicos de cómo enseñar WordPress
WordPress training basics - básicos de cómo enseñar WordPress
Fernando Tellado
 
Clases de Informática primaria para niños de colegios católicos
Clases de Informática primaria para niños de colegios católicosClases de Informática primaria para niños de colegios católicos
Clases de Informática primaria para niños de colegios católicos
mcavero2019
 
ayuda en egresos exposición aps 1 grupal
ayuda en egresos exposición aps 1 grupalayuda en egresos exposición aps 1 grupal
ayuda en egresos exposición aps 1 grupal
jesusmedina766305
 
FISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIO
FISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIOFISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIO
FISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIO
DarwinNestorArapaQui
 
SEGURIDAD INFORMATICA- Ariana Vicente Cruzatt
SEGURIDAD INFORMATICA- Ariana Vicente CruzattSEGURIDAD INFORMATICA- Ariana Vicente Cruzatt
SEGURIDAD INFORMATICA- Ariana Vicente Cruzatt
vicenteariana54
 

Último (17)

Estructuras b-sicas_ conceptos b-sicos de programaci-n.pdf
Estructuras b-sicas_  conceptos b-sicos de programaci-n.pdfEstructuras b-sicas_  conceptos b-sicos de programaci-n.pdf
Estructuras b-sicas_ conceptos b-sicos de programaci-n.pdf
 
Diapositiva Herramientas Web, Tema Web 3.0.pptx
Diapositiva Herramientas Web, Tema Web 3.0.pptxDiapositiva Herramientas Web, Tema Web 3.0.pptx
Diapositiva Herramientas Web, Tema Web 3.0.pptx
 
Sistemas-de-Numeración-para-Primero-de-Secundaria.doc
Sistemas-de-Numeración-para-Primero-de-Secundaria.docSistemas-de-Numeración-para-Primero-de-Secundaria.doc
Sistemas-de-Numeración-para-Primero-de-Secundaria.doc
 
EduLearnIAappde IAparatodosdisponible.pptx
EduLearnIAappde IAparatodosdisponible.pptxEduLearnIAappde IAparatodosdisponible.pptx
EduLearnIAappde IAparatodosdisponible.pptx
 
10. Táctica y Estrategia en Fútbol autor Oscar Milton Rivas (1).pdf
10. Táctica y Estrategia en Fútbol autor Oscar Milton Rivas (1).pdf10. Táctica y Estrategia en Fútbol autor Oscar Milton Rivas (1).pdf
10. Táctica y Estrategia en Fútbol autor Oscar Milton Rivas (1).pdf
 
Presentación Arduino, proyecto colectivo
Presentación Arduino, proyecto colectivoPresentación Arduino, proyecto colectivo
Presentación Arduino, proyecto colectivo
 
derecho penal busqueda de pruebas en el derecho penal peruano latinoamericano
derecho penal busqueda de pruebas en el derecho penal peruano latinoamericanoderecho penal busqueda de pruebas en el derecho penal peruano latinoamericano
derecho penal busqueda de pruebas en el derecho penal peruano latinoamericano
 
EXPERIENCIA PROYECTOS STARTUP JAVIER LASA
EXPERIENCIA PROYECTOS STARTUP JAVIER LASAEXPERIENCIA PROYECTOS STARTUP JAVIER LASA
EXPERIENCIA PROYECTOS STARTUP JAVIER LASA
 
Biografía Eugenio Díaz Castro su vida y su libros
Biografía Eugenio  Díaz Castro su vida y su librosBiografía Eugenio  Díaz Castro su vida y su libros
Biografía Eugenio Díaz Castro su vida y su libros
 
5 CRITERIOS PARA EL DISEÑO DE DIAGRAMAS DE FLUJO.pptx
5 CRITERIOS PARA EL DISEÑO DE DIAGRAMAS DE FLUJO.pptx5 CRITERIOS PARA EL DISEÑO DE DIAGRAMAS DE FLUJO.pptx
5 CRITERIOS PARA EL DISEÑO DE DIAGRAMAS DE FLUJO.pptx
 
blog.pdf de coceptos de personalidad....
blog.pdf de coceptos de personalidad....blog.pdf de coceptos de personalidad....
blog.pdf de coceptos de personalidad....
 
Los derechos de autor y Ética Profesional
Los derechos de autor y Ética ProfesionalLos derechos de autor y Ética Profesional
Los derechos de autor y Ética Profesional
 
WordPress training basics - básicos de cómo enseñar WordPress
WordPress training basics - básicos de cómo enseñar WordPressWordPress training basics - básicos de cómo enseñar WordPress
WordPress training basics - básicos de cómo enseñar WordPress
 
Clases de Informática primaria para niños de colegios católicos
Clases de Informática primaria para niños de colegios católicosClases de Informática primaria para niños de colegios católicos
Clases de Informática primaria para niños de colegios católicos
 
ayuda en egresos exposición aps 1 grupal
ayuda en egresos exposición aps 1 grupalayuda en egresos exposición aps 1 grupal
ayuda en egresos exposición aps 1 grupal
 
FISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIO
FISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIOFISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIO
FISICA IMPRIMIR MATERIAL ACADEMICO NIVEL SECUNDARIO
 
SEGURIDAD INFORMATICA- Ariana Vicente Cruzatt
SEGURIDAD INFORMATICA- Ariana Vicente CruzattSEGURIDAD INFORMATICA- Ariana Vicente Cruzatt
SEGURIDAD INFORMATICA- Ariana Vicente Cruzatt
 

Arquitectura de software

  • 2. AGENDA Que es Arquitectura de Software? Rol y Responsabilidades del Arquitecto Arquitectura Vs. Diseño Atributos de Calidad Calidades Sistémicas y Calidad de Servicio Patrones de Diseño
  • 3.
  • 4. Arquitectura de Software •Que es una arquitectura? •“No estamos seguros, pero la reconocemos cuando vemos una”
  • 5. • IEEE 1471 El nivel conceptual más alto de un sistema en su ambiente. • Arquitectura es la organización fundamental de un sistema descrita en: – Sus componentes. – Relación entre ellos y con el ambiente. – Principios que guían su diseño y evolución. + Software Architecture in Practice - Kazman “La estructura de estructuras de un sistema, la cual abarca componentes de software, propiedades externas visibles de estos componentes y sus relaciones”.
  • 6. Discusión  Definir la arquitectura en los proyectos actuales es crítico...
  • 7.
  • 8. Evolución de Arquitecturas • Dos factores primarios en la ingeniería de software que han incrementado la importancia de la arquitectura:
  • 9. Evolución de Arquitecturas • Aplicaciones Monolíticas • Interfaces gráficas de usuario (GUI). • Servicios de presentación, negocios y persistencia en la misma máquina. • No hay concurrencia de usuarios. • Alto acoplamiento entre tiers. Arquitectura Cliente-Servidor + Clientes pesados, no estándar + Conexiones dedicadas a BD + Protocolos pesados + Ejecución remota de SQLs + Alta administración + Bajo rendimiento + Alto tráfico de red + Baja accesibilidad
  • 10. Evolución de Arquitecturas • Arquitectura Cliente-Servidor Mejorada • Lógica de negocios en BD • Clientes pesados, no estándar. • Conexiones dedicadas a la BD. • Mejora en rendimiento • Alta administración • Baja escalabilidad • Baja flexibilidad • Baja portabilidad Arquitectura de 3 niveles + Reutilización de lógica de negocio para diferentes clientes o sistemas. + Mejora la escalabilidad. + Mejora la flexibilidad. + Independencia de la base de datos.
  • 11. Evolución de Arquitecturas • Arquitectura de N-niveles 100.000+ + Bajo costo de administración de clientes. + Alta accesibilidad. + Alta flexibilidad. + Alta disponibilidad y tolerancia a fallos. + Alta escalabilidad. + Independencia de DB
  • 12. Evolución de Arquitecturas Visión de Arquitectura Orientada a Servicios (SOA) Cluster de Servidores de Aplicaciones Aplicaciones Legadas Servidor de Procesos (BPM) Base de Datos Sistema Batch Portal de Servicios Integrados + Requerimientos Arquitectónicos + Heterogeneidad + Escalabilidad + Disponibilidad + Distribución + Manejabilidad de Procesos + Administración y monitoreo de procesos, servicios e infraestructura
  • 13. Que es un Arquitecto de Software? • Rational Unified Process Arquitecto es un rol en un proyecto de desarrollo de software el cual es responsable de: – Liderar el proceso de arquitectura. – Producir los artefactos necesarios: Documento de descripción de arquitectura – Modelos y prototipos de arquitectura. • SUN SL-425: El arquitecto: – Visualiza el comportamiento del sistema. – Crea los planos del sistema. – Define la forma en la cual los elementos del sistema trabajan en conjunto. – Responsable de integrar los requerimientos no- funcionales (NRFs) en el sistema.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25. + Existe alguna diferencia entre arquitectura y diseño de software? Discusión
  • 26. Arquitectura Vs. Diseño Arquitectura Diseño Nivel de Abstracción Alto nivel Bajo nivel. Enfoque específico en detalles Entregables Planear subsistemas, interfaces con sistemas externos, servicios horizontales, frameworks, componentes reutilizables, prototipo arquitectónico Diseño detallado componentes. Especificaciones de codificación Áreas de Enfoque Selección de tecnologías, Requerimientos no funcionales (QoS), Manejo de riesgos Requerimientos funcionales + La arquitectura y el diseño difieren en tres áreas:
  • 27. Arquitectura Vs. Diseño • La arquitectura envuelve un conjunto de decisiones estratégicas de diseño, lineamientos, reglas y patrones que restringen el diseño y la implementación de un software. Las decisiones de arquitectura causan un alto impacto en los proyectos de IT Arquitectura Diseño Implementación Código
  • 28. Atributos de Calidad  Seguridad  Rendimiento  Escalabilidad  Disponibilidad  Extensibilidad
  • 29. Calidades Sistémicas • Definición • Propiedades que establecen la calidad de servicio (QoS) que un sistema expone. • Son globales a toda la arquitectura • Influencian el diseño. • Son no-funcionales pero observables. +Familias de Calidades Sistémicas +Manifiestas +Operacionales +Desarrollo +Evolutivas
  • 30. Calidades Sistémicas - Manifiestas • Observables por los usuarios del sistema. • Performance. Tiempo de respuesta desde el punto de vista del usuario. • Reliability. Grado de probabilidad de realizar operaciones correctamente. • Availability. Porcentaje de tiempo que un sistema puede procesar solicitudes.
  • 31. Calidades Sistémicas - Operacionales • Throughput. Solicitudes atendidas por unidad de tiempo. • Manageability. Cantidad inversa de esfuerzo para realizar labores administrativas. • Serviceability. Esfuerzo para actualizar el sistema para reparar errores. + Security. Prevención de uso indeseado, por abuso o uso inapropiado: – Identidad – Autoridad – Confidencialidad – Auditabilidad – Integridad + Testability. Esfuerzo invertido para detectar y aislar errores. Observables cuando el sistema está operando en producción.
  • 32. Calidades Sistémicas - Evolutivas • Relacionadas con el comportamiento del sistema cuando sufre algún cambio. +Escalability. La habilidad para soportar la calidad de servicio requerida conforme la carga aumenta. +Flexibility. Esfuerzo ahorrado cuando se hace un cambio de configuración. +Portability. Esfuerzo ahorrado cuando se migra a una infraestructura diferente. +Reusability. Esfuerzo ganado en la utilización de componentes existentes. +Extensibility. Esfuerzo ahorrado para adicionar nuevas funcionalidades. +Mantainability. Esfuerzo ahorrado para revisar y corregir errores.
  • 33. Patrones de Diseño  Los patrones de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces.  Un patrón de diseño resulta ser una solución a un problema de diseño