SlideShare una empresa de Scribd logo
1 de 38
Arquitectura de Software
Diseño de Sistemas
Temas a Tratar
• Que es Arquitectura de Software?
• Rol y Responsabilidades del Arquitecto
• Arquitectura Vs. Diseño
• Estrategias de Definición de Arquitectura
• Ejemplo de Definición de Arquitecturas
• Calidades Sistémicas y Calidad de Servicio
• Lecciones Aprendidas en Consultoría
Arquitectura de Software
•Que es una arquitectura?
•“No estamos seguros, pero la reconocemos
cuando vemos una”
•IEEE-1471-FAQ
Arquitectura de Software
• 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.
Discusión
+ Existe alguna diferencia entre arquitectura y diseño
de software?
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
Discusión
+ Cuales son los principios fundamentales en los
métodos de desarrollo de software modernos?
Arquitectura y Procesos de Desarrollo
Principios Fundamentales de Procesos Modernos
+ Desarrollo iterativo e incremental.
+ Conducido por las calidades sistémicas.
+ Centrado en la arquitectura.
+ Dirigido por los casos de uso.
+ Basada en Modelos.
+ Mejores prácticas de diseño.
Arquitectura y Procesos de Desarrollo
• Que es un Proceso de
Arquitectura?
• Rational Unified Process:
• Secuencia de actividades
que conllevan a la
producción de artefactos
arquitectónicos:
▫ Descripción de arquitectura
▫ Prototipo arquitectónico
Arquitectura y Procesos de Desarrollo
Rational Unified Process:
En el proceso de definición de
arquitectura se producen:
+ Arquitectura Inicial.
+ Arquitectura de Referencia.
+ Documento de Descripción de
arquitectura (SAD):
– Subsistemas
– Componentes
– Arquitectura Runtime.
+ Guías para el proyecto y
estándares de Diseño.
SunTone AM:
Adicionalmente se producen:
+ Matriz Tecnológica de Layers
y Tiers
+ Template de Arquitectura
Definición de Arquitectura en RUP
Fase de Inicio
+ Con respecto a la arquitectura, en la
fase de inicio de los proyectos se
establece:
– Requerimientos no-funcionales
– Lista de riesgos y restricciones
– Arquitectura inicial
Definición de Arquitectura en RUP
Fase de Elaboración
+ Con respecto a la arquitectura, en la
fase de elaboración se establece:
– Arquitectura línea base.
+ Entregables:
– Documento de Definición de
Arquitectura.
– Prototipo evolutivo de arquitectura.
– Guías y Estándares de Diseño.
Definición de Arquitectura en RUP
• Modelo de Vista 4+1
• Framework para Descripción de Arquitectura, basado en
vistas lógicas y físicas UML y una vista funcional de casos de
uso.
Process View Deployment View
Logical View
Use-Case View
Implementation View
End-user
Functionality
Programmers
Software management
Performance
Scalability
Throughput
System integrators
System topology
Delivery, installation
communication
System engineering
Analysts/Designers
Structure
Definición de Arquitectura en RUP
Definir arquitectura
candidata
Evaluar Req.
No Funcionales (NFR)
Refinar y Seleccionar
la Arquitectura
Prototipar la
Arquitectura
Valorar Calidades
Sistémicas
Ajustar
Arquitectura
Ejemplo de Definición de Arquitectura
• eBank Trusted Hosting
• Workshop de Arquitectura y Diseño de Aplicaciones J2EE
• Curso WS50I - Lucasian Labs Ltda.
• Entidad que presta el hosting
de los servicios de banca
personal en Internet
para un grupo de bancos.
Ejemplo de Definición de Arquitectura
• Dado un conjunto de requerimientos primarios
Ejemplo de Definición de Arquitectura
• Identificación de requerimientos funcionales y
de calidad de servicio (QoS)
Ejemplo de Definición de Arquitectura
• Identificación de supuestos, riesgos y
restricciones
Ejemplo de Definición de Arquitectura
• Identificación de Actores y Casos de Uso
primarios
Ejemplo de Definición de Arquitectura
• Arquitectura Lógica. Identificación de tiers
lógicos, subsistemas y paquetes
Ejemplo de Definición de Arquitectura
• Diseño de Arquitectura Runtime. Diagrama de
Despliegue.
Ejemplo de Definición de Arquitectura
• Plataforma Tecnológica. Definición de la
matriz tecnológica de layers y tiers
Discusión
+ Los requerimientos no funcionales son fuentes
comunes de riesgo…
Calidades Sistémicas
+ El manejo inadecuado de los requerimientos no
funcionales, es una de las fuentes más importante
de riesgo en los proyectos:
– Reglas de negocio de alta complejidad.
– Calidades sistémicas
 Seguridad
 Rendimiento
 Escalabilidad
 Disponibilidad
 Extensibilidad
+ La calidad de servicio (QoS = Quality Of Service) es
un riesgo primario relacionado con la arquitectura.
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.
Lecciones Aprendidas
• Defina una persona o un grupo de personas experimentadas,
encargadas de definir y validar arquitectura de sus proyectos.
• Establezca los requerimientos de calidad de servicio con los
expertos del dominio y con los usuarios finales.
• Involucre al equipo de trabajo en el proceso de definición de
arquitectura.
• Documente y comunique la arquitectura y
lineamientos de diseño y logre aceptación.
No la imponga.
• Sea firme con las decisiones, valore impactos
e identifique riesgos.
Lecciones Aprendidas
• Valore alternativas de arquitectura y diseño tomando en cuenta las
calidades sistémicas y relación costo-beneficio.
• Instancie los mecanismos arquitectónicos definidos incrementalmente. No
los instancie en bloque.
• Reutilice frameworks, patrones de diseño y mejores prácticas. Sea racional
en el uso de tecnologías.
• Tenga siempre presente que requerimientos
de seguridad, integración con sistemas
externos, canales de comunicaciones
con poco ancho de banda,
crecimiento del volumen de
usuario, expectativas de cambios de
requerimientos son fuentes comunes de riesgo.

Más contenido relacionado

La actualidad más candente

Ingeniería de requisitos y de requerimientos
Ingeniería de requisitos y de requerimientosIngeniería de requisitos y de requerimientos
Ingeniería de requisitos y de requerimientosunrated999
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicaslandeta_p
 
modelos de calidad de software
modelos de calidad de softwaremodelos de calidad de software
modelos de calidad de softwareHernan Espinoza
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp deborahgal
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMicky Jerzy
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMicky Jerzy
 
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 requerimientosCesar Prado
 
Modelo de desarrollo de software
Modelo de desarrollo de softwareModelo de desarrollo de software
Modelo de desarrollo de softwareYaskelly Yedra
 
Modelos de desarrollo del software
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del softwareRenny Batista
 
Introducción a los Requerimientos no Funcionales
Introducción a los Requerimientos no FuncionalesIntroducción a los Requerimientos no Funcionales
Introducción a los Requerimientos no FuncionalesCarlos Zuluaga
 
Plan de Pruebas
Plan de PruebasPlan de Pruebas
Plan de Pruebaschoselin
 
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 REQUERIMIENTOSLenin Acosta Mata
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosSergio Sanchez
 

La actualidad más candente (20)

Rup disciplinas
Rup disciplinasRup disciplinas
Rup disciplinas
 
Proceso unificado
Proceso unificadoProceso unificado
Proceso unificado
 
Ingeniería de requisitos y de requerimientos
Ingeniería de requisitos y de requerimientosIngeniería de requisitos y de requerimientos
Ingeniería de requisitos y de requerimientos
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicas
 
modelos de calidad de software
modelos de calidad de softwaremodelos de calidad de software
modelos de calidad de software
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
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
 
Modelo de desarrollo de software
Modelo de desarrollo de softwareModelo de desarrollo de software
Modelo de desarrollo de software
 
Rup (iteraciones)
Rup (iteraciones)Rup (iteraciones)
Rup (iteraciones)
 
Proceso del Software
Proceso del Software Proceso del Software
Proceso del Software
 
Modelos de desarrollo del software
Modelos de desarrollo del softwareModelos de desarrollo del software
Modelos de desarrollo del software
 
Introducción a los Requerimientos no Funcionales
Introducción a los Requerimientos no FuncionalesIntroducción a los Requerimientos no Funcionales
Introducción a los Requerimientos no Funcionales
 
SPICE
SPICESPICE
SPICE
 
Plan de Pruebas
Plan de PruebasPlan de Pruebas
Plan de Pruebas
 
2. El proceso del software
2. El proceso del software2. El proceso del software
2. El proceso del software
 
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
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
 
Proyecto Final - Calidad de Software
Proyecto Final - Calidad de SoftwareProyecto Final - Calidad de Software
Proyecto Final - Calidad de Software
 

Similar a Arquitecturas de software exposicion

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 SoftwareGustavo Alzate Sandoval
 
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 softwareJosé Antonio Sandoval Acosta
 
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 procesoCoesi Consultoria
 
Sesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de softwareSesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de softwareLuis Fernández
 
050608 architect academy webcast 1
050608 architect academy webcast 1050608 architect academy webcast 1
050608 architect academy webcast 1juliank13
 
1_1 Introduccion
1_1 Introduccion1_1 Introduccion
1_1 Introduccionlandeta_p
 
Fundamentos de la arquitectura del software
Fundamentos de la arquitectura del softwareFundamentos de la arquitectura del software
Fundamentos de la arquitectura del softwareEnder Christense
 
Actividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranActividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranMarijoalbarranb
 
Conceptosdemodelado.pdf
Conceptosdemodelado.pdfConceptosdemodelado.pdf
Conceptosdemodelado.pdfssuser20fade
 
Desarrollo de software orientado a la web
Desarrollo de software orientado a la webDesarrollo de software orientado a la web
Desarrollo de software orientado a la webfredycollaguazo
 

Similar a Arquitecturas de software exposicion (20)

Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Arquitectura de Software
Arquitectura de SoftwareArquitectura de Software
Arquitectura de Software
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
Clase7
Clase7Clase7
Clase7
 
Clase7 unidad1
Clase7 unidad1Clase7 unidad1
Clase7 unidad1
 
Sesión03 2014 proceso desarrollo sw
Sesión03 2014 proceso desarrollo swSesión03 2014 proceso desarrollo sw
Sesión03 2014 proceso desarrollo sw
 
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
 
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
 
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
 
Sesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de softwareSesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de software
 
050608 architect academy webcast 1
050608 architect academy webcast 1050608 architect academy webcast 1
050608 architect academy webcast 1
 
3. modelos prescriptivos de proceso
3. modelos prescriptivos de proceso3. modelos prescriptivos de proceso
3. modelos prescriptivos de proceso
 
1_1 Introduccion
1_1 Introduccion1_1 Introduccion
1_1 Introduccion
 
Ciclo de Vida y roles
Ciclo de Vida y roles Ciclo de Vida y roles
Ciclo de Vida y roles
 
Fundamentos de la arquitectura del software
Fundamentos de la arquitectura del softwareFundamentos de la arquitectura del software
Fundamentos de la arquitectura del software
 
Actividad remedial_Maria_Albarran
Actividad remedial_Maria_AlbarranActividad remedial_Maria_Albarran
Actividad remedial_Maria_Albarran
 
Conceptosdemodelado.pdf
Conceptosdemodelado.pdfConceptosdemodelado.pdf
Conceptosdemodelado.pdf
 
Ciclo de vida
Ciclo de vidaCiclo de vida
Ciclo de vida
 
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
 
Desarrollo de software orientado a la web
Desarrollo de software orientado a la webDesarrollo de software orientado a la web
Desarrollo de software orientado a la web
 

Último

Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativafiorelachuctaya2
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirPaddySydney1
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 

Último (20)

Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
plan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativaplan-de-trabajo-colegiado en una institucion educativa
plan-de-trabajo-colegiado en una institucion educativa
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartir
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 

Arquitecturas de software exposicion

  • 2. Temas a Tratar • Que es Arquitectura de Software? • Rol y Responsabilidades del Arquitecto • Arquitectura Vs. Diseño • Estrategias de Definición de Arquitectura • Ejemplo de Definición de Arquitecturas • Calidades Sistémicas y Calidad de Servicio • Lecciones Aprendidas en Consultoría
  • 3. Arquitectura de Software •Que es una arquitectura? •“No estamos seguros, pero la reconocemos cuando vemos una” •IEEE-1471-FAQ
  • 4. Arquitectura de Software • 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”.
  • 5. Discusión + Definir la arquitectura en los proyectos actuales es crítico...
  • 6. Evolución de Arquitecturas • Dos factores primarios en la ingeniería de software que han incrementado la importancia de la arquitectura:
  • 7. 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
  • 8. 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.
  • 9. 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
  • 10. 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
  • 11. 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.
  • 12. Discusión + Existe alguna diferencia entre arquitectura y diseño de software?
  • 13. 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:
  • 14. 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
  • 15. Discusión + Cuales son los principios fundamentales en los métodos de desarrollo de software modernos?
  • 16. Arquitectura y Procesos de Desarrollo Principios Fundamentales de Procesos Modernos + Desarrollo iterativo e incremental. + Conducido por las calidades sistémicas. + Centrado en la arquitectura. + Dirigido por los casos de uso. + Basada en Modelos. + Mejores prácticas de diseño.
  • 17. Arquitectura y Procesos de Desarrollo • Que es un Proceso de Arquitectura? • Rational Unified Process: • Secuencia de actividades que conllevan a la producción de artefactos arquitectónicos: ▫ Descripción de arquitectura ▫ Prototipo arquitectónico
  • 18. Arquitectura y Procesos de Desarrollo Rational Unified Process: En el proceso de definición de arquitectura se producen: + Arquitectura Inicial. + Arquitectura de Referencia. + Documento de Descripción de arquitectura (SAD): – Subsistemas – Componentes – Arquitectura Runtime. + Guías para el proyecto y estándares de Diseño. SunTone AM: Adicionalmente se producen: + Matriz Tecnológica de Layers y Tiers + Template de Arquitectura
  • 19. Definición de Arquitectura en RUP Fase de Inicio + Con respecto a la arquitectura, en la fase de inicio de los proyectos se establece: – Requerimientos no-funcionales – Lista de riesgos y restricciones – Arquitectura inicial
  • 20. Definición de Arquitectura en RUP Fase de Elaboración + Con respecto a la arquitectura, en la fase de elaboración se establece: – Arquitectura línea base. + Entregables: – Documento de Definición de Arquitectura. – Prototipo evolutivo de arquitectura. – Guías y Estándares de Diseño.
  • 21. Definición de Arquitectura en RUP • Modelo de Vista 4+1 • Framework para Descripción de Arquitectura, basado en vistas lógicas y físicas UML y una vista funcional de casos de uso. Process View Deployment View Logical View Use-Case View Implementation View End-user Functionality Programmers Software management Performance Scalability Throughput System integrators System topology Delivery, installation communication System engineering Analysts/Designers Structure
  • 22. Definición de Arquitectura en RUP Definir arquitectura candidata Evaluar Req. No Funcionales (NFR) Refinar y Seleccionar la Arquitectura Prototipar la Arquitectura Valorar Calidades Sistémicas Ajustar Arquitectura
  • 23. Ejemplo de Definición de Arquitectura • eBank Trusted Hosting • Workshop de Arquitectura y Diseño de Aplicaciones J2EE • Curso WS50I - Lucasian Labs Ltda. • Entidad que presta el hosting de los servicios de banca personal en Internet para un grupo de bancos.
  • 24. Ejemplo de Definición de Arquitectura • Dado un conjunto de requerimientos primarios
  • 25. Ejemplo de Definición de Arquitectura • Identificación de requerimientos funcionales y de calidad de servicio (QoS)
  • 26. Ejemplo de Definición de Arquitectura • Identificación de supuestos, riesgos y restricciones
  • 27. Ejemplo de Definición de Arquitectura • Identificación de Actores y Casos de Uso primarios
  • 28. Ejemplo de Definición de Arquitectura • Arquitectura Lógica. Identificación de tiers lógicos, subsistemas y paquetes
  • 29. Ejemplo de Definición de Arquitectura • Diseño de Arquitectura Runtime. Diagrama de Despliegue.
  • 30. Ejemplo de Definición de Arquitectura • Plataforma Tecnológica. Definición de la matriz tecnológica de layers y tiers
  • 31. Discusión + Los requerimientos no funcionales son fuentes comunes de riesgo…
  • 32. Calidades Sistémicas + El manejo inadecuado de los requerimientos no funcionales, es una de las fuentes más importante de riesgo en los proyectos: – Reglas de negocio de alta complejidad. – Calidades sistémicas  Seguridad  Rendimiento  Escalabilidad  Disponibilidad  Extensibilidad + La calidad de servicio (QoS = Quality Of Service) es un riesgo primario relacionado con la arquitectura.
  • 33. 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
  • 34. 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.
  • 35. 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.
  • 36. 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.
  • 37. Lecciones Aprendidas • Defina una persona o un grupo de personas experimentadas, encargadas de definir y validar arquitectura de sus proyectos. • Establezca los requerimientos de calidad de servicio con los expertos del dominio y con los usuarios finales. • Involucre al equipo de trabajo en el proceso de definición de arquitectura. • Documente y comunique la arquitectura y lineamientos de diseño y logre aceptación. No la imponga. • Sea firme con las decisiones, valore impactos e identifique riesgos.
  • 38. Lecciones Aprendidas • Valore alternativas de arquitectura y diseño tomando en cuenta las calidades sistémicas y relación costo-beneficio. • Instancie los mecanismos arquitectónicos definidos incrementalmente. No los instancie en bloque. • Reutilice frameworks, patrones de diseño y mejores prácticas. Sea racional en el uso de tecnologías. • Tenga siempre presente que requerimientos de seguridad, integración con sistemas externos, canales de comunicaciones con poco ancho de banda, crecimiento del volumen de usuario, expectativas de cambios de requerimientos son fuentes comunes de riesgo.