SlideShare una empresa de Scribd logo
Fundamentos de Definición
de Arquitectura de Software
Integrantes:
Castillo Harving V-21.134.315
Garcia Ender V-16.126.317
Guzmán Mariam V-20.963.865
Muñoz Luis V-19.278.031
Rodriguez Maria V-22.114.256
Sandoval Anthony V-23.037.857
Septiembre 27 a Octubre 01 de 2005
Bogotá, Colombia
Arquitectura de Software
+ Que es una arquitectura?
+ “No estamos seguros, pero la reconocemos cuando

vemos una”
+ IEEE-1471-FAQ

2

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Arquitectura de Software
+ IEEE 1471

+ Software Architecture in

Practice - Kazman

El nivel conceptual más alto de
un sistema en su ambiente.
“La estructura de
estructuras de un sistema,
la cual abarca
+ Arquitectura es la organización
componentes de software,
fundamental de un sistema
propiedades externas
visibles de estos
descrita en:
componentes y sus
– Sus componentes.
relaciones”.
– Relación entre ellos y con el
ambiente.
– Principios que guían su diseño y
evolución.
3

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Discusión
+ Definir la arquitectura en los proyectos actuales es

crítico...

4

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Evolución de Arquitecturas
+ Dos factores primarios en la ingeniería de software

que han incrementado la importancia de la
arquitectura:

5

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Evolución de Arquitecturas
+ Aplicaciones Monolíticas

Arquitectura Cliente-Servidor

+ Interfaces gráficas de usuario (GUI).
+ Servicios de presentación, negocios

+ Clientes pesados, no estándar
+ Conexiones dedicadas a BD

y persistencia en la misma máquina.
+ No hay concurrencia de usuarios.
+ Alto acoplamiento entre tiers.

+ Protocolos pesados
+ Ejecución remota de SQLs
+ Alta administración
+ Bajo rendimiento
+ Alto tráfico de red
+ Baja accesibilidad

6

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Evolución de Arquitecturas
+ Arquitectura Cliente-Servidor

Arquitectura de 3 niveles

Mejorada
+ Reutilización de lógica de negocio para
+ Lógica de negocios en BD
+ Clientes pesados, no estándar.
+ Conexiones dedicadas a la BD.
+ Mejora en rendimiento

diferentes clientes o sistemas.
+ Mejora la escalabilidad.
+ Mejora la flexibilidad.
+ Independencia de la base de datos.

+ Alta administración
+ Baja escalabilidad
+ Baja flexibilidad
+ Baja portabilidad

7

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
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

8

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Evolución de Arquitecturas
+ Visión de Arquitectura Orientada a Servicios (SOA)

+ Requerimientos

Sistema
Batch

Portal de
Servicios Integrados

Arquitectónicos
+ Heterogeneidad
+ Escalabilidad

Base de
Datos

+ Disponibilidad

Servidor de
Procesos
+ Distribución
(BPM) Aplicaciones
+ Manejabilidad de Procesos
Legadas
+ Administración y monitoreo de procesos,

servicios e infraestructura
9

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005

Cluster de
Servidores de
Aplicaciones
Que es un Arquitecto de Software?
•

Rational Unified Process

•

SUN SL-425:

Arquitecto es un rol en un proyecto de El arquitecto:
desarrollo de software el cual es
– Visualiza el comportamiento
responsable de:
del sistema.
– Crea los planos del sistema.
– Liderar el proceso de arquitectura. –
Define la forma en la cual los
– Producir los artefactos necesarios:
elementos del sistema
Documento de descripción de
trabajan en conjunto.
arquitectura
– Responsable de integrar los
– Modelos y prototipos de
requerimientos no-funcionales
arquitectura.
(NRFs) en el sistema.

10

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Discusión
+ Existe alguna diferencia entre arquitectura y diseño

de software?

11

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Arquitectura Vs. Diseño
+ La arquitectura y el diseño difieren en tres áreas:
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.

Selección de tecnologías,
Requerimientos no funcionales
(QoS),
Manejo de riesgos

Requerimientos
funcionales

Áreas de
Enfoque

12

Especificaciones de
codificación

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
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.
Código
Implementación
Diseño

Las decisiones
de arquitectura
causan un alto
impacto en los
proyectos de IT

Arquitectura

13

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Discusión
+ Cuales son los principios fundamentales en los

métodos de desarrollo de software modernos?

14

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
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.

15

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
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

16

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Arquitectura y Procesos de Desarrollo
Rational Unified Process:

SunTone AM:

En el proceso de definición de
arquitectura se producen:

Adicionalmente se producen:
Matriz Tecnológica de Layers
y Tiers
+ Template de Arquitectura
+

Arquitectura Inicial.
+ Arquitectura de Referencia.
+ Documento de Descripción de
arquitectura (SAD):
+

–
–
–

+
17

Subsistemas
Componentes
Arquitectura Runtime.

Guías para el proyecto y
estándares de Diseño.

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
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
–

18

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Definición de Arquitectura en RUP
Fase de Elaboración
+

+

19

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.

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
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.

Logical View

Analysts/Designers
Structure

Implementation View

Programmers
Software management

End-user
Functionality

Use-Case View
Process View
System integrators
Performance
Scalability
Throughput
20

Deployment View
System engineering
System topology
Delivery, installation
communication

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
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

21

Ajustar
Arquitectura

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Definición de Arquitectura en SunTone AM
+

+

22

Metodología de desarrollo de software análoga al Unified
Process (UP) con un fuerte énfasis en Calidad de Servicio y
Patrones de diseño.
El cubo: framework conceptual, el cual provee una vista
tridimensional:
– Tiers lógicos
– Layers tecnológicos
– Calidades sistémicas

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Definición de Arquitectura en SunTone AM

23

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Definición de Arquitectura en SunTone
+ Principios Arquitectónicos
+ La arquitectura es primariamente necesaria para crear

un framework para el desarrollo basado en patrones y
para la entrega de calidades sistémicas predecibles.
Presentation
Action Factory

Business
Integration

Business

Database Integration

DAO
Factory

Business
Delegate
Action
Session Facade

Oracle DAO
Factory

Composite Entity

Front Controller
View
JSF Components

24

Service
Locator

Value
Object

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005

DAO
OracleDAO
Definición de Arquitectura en IFM
+ Principios Arquitectónicos
+ El proceso de creación de arquitectura debe ser un

proceso de creación de valor.
+ La arquitectura se descompone en elementos

arquitectónicos (AEs).
+ La arquitectura se crea incrementalmente acorde a un

proceso secuencial dirigido por el ROI.

25

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Definición de Arquitectura en IFM
+ Principios Arquitectónicos
+ La instanciación de los elementos arquitectónicos

(AEs) se realiza incrementalmente acorde a la
secuencia de MMFs, determinada por el ROI.
AE 1
AE 3
AE 7

AE 7
AE 8

AE 8

MMF A
26

AE 2
MMF B

MMF C

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
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.

27

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Ejemplo de Definición de
Arquitectura
+ Dado un conjunto de requerimientos primarios

28

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Ejemplo de Definición de
Arquitectura
+ Identificación de requerimientos funcionales y de

calidad de servicio (QoS)

29

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Ejemplo de Definición de
Arquitectura
+ Identificación de supuestos, riesgos y restricciones

30

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Ejemplo de Definición de
Arquitectura
+ Identificación de Actores y Casos de Uso primarios

31

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Ejemplo de Definición de
Arquitectura
+ Arquitectura Lógica. Identificación de tiers lógicos,

subsistemas y paquetes

32

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Ejemplo de Definición de
Arquitectura
+ Diseño de Arquitectura Runtime. Diagrama de

Despliegue.

33

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Ejemplo de Definición de
Arquitectura
+ Plataforma Tecnológica. Definición de la matriz

tecnológica de layers y tiers

34

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Discusión
+ Los requerimientos no funcionales son fuentes

comunes de riesgo…

35

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
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.
36

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
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

+ Familias de

Calidades
Sistémicas
+ Manifiestas
+ Operacionales
+ Desarrollo
+ Evolutivas

observables.

37

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
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.

38

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Calidades Sistémicas Operacionales
Observables cuando el sistema está operando en producción.
+ Throughput. Solicitudes atendidas + Security. Prevención de uso

por unidad de tiempo.
+ Manageability. Cantidad inversa de

esfuerzo para realizar labores
administrativas.
+ Serviceability. Esfuerzo para

actualizar el sistema para reparar
errores.

39

indeseado, por abuso o uso
inapropiado:
– Identidad
– Autoridad
– Confidencialidad
– Auditabilidad
– Integridad

+ Testability. Esfuerzo

invertido para detectar y
aislar errores.

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
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

+ Reusability. Esfuerzo ganado

en la utilización de componentes
existentes.
+ Extensibility. Esfuerzo ahorrado

para adicionar nuevas
funcionalidades.

cuando se migra a una infraestructura
+ Mantainability. Esfuerzo
diferente.
ahorrado para revisar y corregir
errores.
XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005

40
Lecciones Aprendidas en
Consultoría
+ 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.
41

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
Lecciones Aprendidas en
Consultoría
+ 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.
42

XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005

Más contenido relacionado

La actualidad más candente

Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
deep sharma
 
Spm unit 3
Spm unit 3Spm unit 3
Spm unit 3
Naga Dinesh
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
arvind pandey
 
Ch4 req eng
Ch4 req engCh4 req eng
Software documentation
Software documentationSoftware documentation
Software documentation
gourav kottawar
 
Principios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwarePrincipios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del software
Jose Patricio Bovet Derpich
 
Pruebas del Software
Pruebas del SoftwarePruebas del Software
Pruebas del Software
Juan Pablo Bustos Thames
 
Component Based Software Engineering
Component Based Software EngineeringComponent Based Software Engineering
Component Based Software Engineering
SatishDabhi1
 
Crystal Methodologies
Crystal MethodologiesCrystal Methodologies
Crystal Methodologies
urumisama
 
8.conceptos de diseño
8.conceptos de diseño8.conceptos de diseño
8.conceptos de diseño
Ramiro Estigarribia Canese
 
14704374 arquitectura-basada-en-componentes
14704374 arquitectura-basada-en-componentes14704374 arquitectura-basada-en-componentes
14704374 arquitectura-basada-en-componentes
Gary Araujo Viscarra
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de Software
Rene Guaman-Quinche
 
Metodologias rup
Metodologias rupMetodologias rup
Metodologias rup
densy de la cruz lucero
 
Software design
Software designSoftware design
Software design
Benazir Fathima
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7koolkampus
 
Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)
ShudipPal
 
5 architecture
5 architecture5 architecture
5 architecture
Adarsh Kumar
 
Ingeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareIngeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de software
Moises Medina
 

La actualidad más candente (20)

Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
 
Spm unit 3
Spm unit 3Spm unit 3
Spm unit 3
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
 
Ch4 req eng
Ch4 req engCh4 req eng
Ch4 req eng
 
Software documentation
Software documentationSoftware documentation
Software documentation
 
Principios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del softwarePrincipios de diseño de la arquitectura del software
Principios de diseño de la arquitectura del software
 
Pruebas del Software
Pruebas del SoftwarePruebas del Software
Pruebas del Software
 
Component Based Software Engineering
Component Based Software EngineeringComponent Based Software Engineering
Component Based Software Engineering
 
Crystal Methodologies
Crystal MethodologiesCrystal Methodologies
Crystal Methodologies
 
8.conceptos de diseño
8.conceptos de diseño8.conceptos de diseño
8.conceptos de diseño
 
Arquitectura de aplicaciones
Arquitectura de aplicacionesArquitectura de aplicaciones
Arquitectura de aplicaciones
 
14704374 arquitectura-basada-en-componentes
14704374 arquitectura-basada-en-componentes14704374 arquitectura-basada-en-componentes
14704374 arquitectura-basada-en-componentes
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de Software
 
Metodologias rup
Metodologias rupMetodologias rup
Metodologias rup
 
Software design
Software designSoftware design
Software design
 
Estilos Arquitectonicos-Capas
Estilos Arquitectonicos-CapasEstilos Arquitectonicos-Capas
Estilos Arquitectonicos-Capas
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
 
Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)
 
5 architecture
5 architecture5 architecture
5 architecture
 
Ingeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareIngeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de software
 

Destacado

Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareLiliana Pacheco
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
jose_rob
 
Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2
Marta Silvia Tabares
 
FINAL Ellen Moore Presentation PDF
FINAL Ellen Moore Presentation PDFFINAL Ellen Moore Presentation PDF
FINAL Ellen Moore Presentation PDFAnna Shapkina
 
Ingenieria del software
Ingenieria del softwareIngenieria del software
Ingenieria del software
feliramirez5
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Software
feliramirez5
 
2 3 5 Patron De DiseñO Singular (Singleton)
2 3 5 Patron De DiseñO Singular (Singleton)2 3 5 Patron De DiseñO Singular (Singleton)
2 3 5 Patron De DiseñO Singular (Singleton)UVM
 
Patrones de diseño Singleton
Patrones de diseño SingletonPatrones de diseño Singleton
Patrones de diseño SingletonCarolina Rojas
 
Singleton
SingletonSingleton
Singleton
Autentia
 
Introduccion a Amazon Web Services
Introduccion a Amazon Web ServicesIntroduccion a Amazon Web Services
Introduccion a Amazon Web Services
Jose Papo, MSc
 
Curso Cloud Computing, Parte 1: Amazon Web Services
Curso Cloud Computing, Parte 1: Amazon Web ServicesCurso Cloud Computing, Parte 1: Amazon Web Services
Curso Cloud Computing, Parte 1: Amazon Web Services
Diego López-de-Ipiña González-de-Artaza
 
Lecciones aprendidas en proyectos 1
Lecciones aprendidas en proyectos 1Lecciones aprendidas en proyectos 1
Lecciones aprendidas en proyectos 1
Jorge Osinski
 
Arquitectura Monolítica
Arquitectura MonolíticaArquitectura Monolítica
Arquitectura Monolítica
urumisama
 
Singleton design pattern
Singleton design patternSingleton design pattern
Singleton design pattern
11prasoon
 
Fundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareFundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareRoger Villegas
 
Ejemplos de fundamentos de diseño
Ejemplos de fundamentos de diseñoEjemplos de fundamentos de diseño
Ejemplos de fundamentos de diseño
LYAR4
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Software Design Document
Software Design DocumentSoftware Design Document
Software Design Document
Nadia Nahar
 
Software Architectural And Detailed Design Description Template
Software Architectural And Detailed Design Description TemplateSoftware Architectural And Detailed Design Description Template
Software Architectural And Detailed Design Description Template
Arash Sharif
 

Destacado (20)

Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
 
Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2Arquitecturas de software - Parte 2
Arquitecturas de software - Parte 2
 
FINAL Ellen Moore Presentation PDF
FINAL Ellen Moore Presentation PDFFINAL Ellen Moore Presentation PDF
FINAL Ellen Moore Presentation PDF
 
Ingenieria del software
Ingenieria del softwareIngenieria del software
Ingenieria del software
 
Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Software
 
2 3 5 Patron De DiseñO Singular (Singleton)
2 3 5 Patron De DiseñO Singular (Singleton)2 3 5 Patron De DiseñO Singular (Singleton)
2 3 5 Patron De DiseñO Singular (Singleton)
 
Patrones de diseño Singleton
Patrones de diseño SingletonPatrones de diseño Singleton
Patrones de diseño Singleton
 
Singleton
SingletonSingleton
Singleton
 
Introduccion a Amazon Web Services
Introduccion a Amazon Web ServicesIntroduccion a Amazon Web Services
Introduccion a Amazon Web Services
 
Curso Cloud Computing, Parte 1: Amazon Web Services
Curso Cloud Computing, Parte 1: Amazon Web ServicesCurso Cloud Computing, Parte 1: Amazon Web Services
Curso Cloud Computing, Parte 1: Amazon Web Services
 
Lecciones aprendidas en proyectos 1
Lecciones aprendidas en proyectos 1Lecciones aprendidas en proyectos 1
Lecciones aprendidas en proyectos 1
 
Arquitectura Monolítica
Arquitectura MonolíticaArquitectura Monolítica
Arquitectura Monolítica
 
Singleton design pattern
Singleton design patternSingleton design pattern
Singleton design pattern
 
Fundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareFundamentos de la arquitectura de software
Fundamentos de la arquitectura de software
 
Ejemplos de fundamentos de diseño
Ejemplos de fundamentos de diseñoEjemplos de fundamentos de diseño
Ejemplos de fundamentos de diseño
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
 
Software Design Document
Software Design DocumentSoftware Design Document
Software Design Document
 
Software Architectural And Detailed Design Description Template
Software Architectural And Detailed Design Description TemplateSoftware Architectural And Detailed Design Description Template
Software Architectural And Detailed Design Description Template
 

Similar a Fundamentos de la arquitectura del software

Arquitecturas de software exposicion
Arquitecturas de software   exposicionArquitecturas de software   exposicion
Arquitecturas de software exposicion
juca piro
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
Carlos Uscamayta
 
Ejemplo de Archimate. Depositario Central de Valores en México
Ejemplo de Archimate. Depositario Central de Valores en MéxicoEjemplo de Archimate. Depositario Central de Valores en México
Ejemplo de Archimate. Depositario Central de Valores en México
David Solis
 
Arquitecturas de Software
Arquitecturas de SoftwareArquitecturas de Software
Arquitecturas de Software
Manuel Capel-Tunon
 
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
 
0132 arquitecto y_arquitecturas_qué es_para_que_sirve_rolprofesion_de_moda_o_...
0132 arquitecto y_arquitecturas_qué es_para_que_sirve_rolprofesion_de_moda_o_...0132 arquitecto y_arquitecturas_qué es_para_que_sirve_rolprofesion_de_moda_o_...
0132 arquitecto y_arquitecturas_qué es_para_que_sirve_rolprofesion_de_moda_o_...GeneXus
 
Arquitectura Empresarial 11.0
Arquitectura Empresarial 11.0Arquitectura Empresarial 11.0
Arquitectura Empresarial 11.0
Jorge Mario Calvo Londoño
 
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...
OVERTI
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
Damián Rotta
 
Arquitecturas Empresariales, Soa Y Bpm 1.0
Arquitecturas Empresariales, Soa Y Bpm 1.0Arquitecturas Empresariales, Soa Y Bpm 1.0
Arquitecturas Empresariales, Soa Y Bpm 1.0Alberto Otero
 
Architect IT role Architect IT role Architect IT role
Architect IT role Architect IT role Architect IT roleArchitect IT role Architect IT role Architect IT role
Architect IT role Architect IT role Architect IT role
MiguelAngelNuezSabin1
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
Jose Patricio Bovet Derpich
 
Arquitectura Evolutiva
Arquitectura EvolutivaArquitectura Evolutiva
Arquitectura Evolutiva
Fausto Alejandro De La Torre García
 
CLOUD COMPUTING HOY: Todo como Servicio.
CLOUD COMPUTING HOY: Todo como Servicio.CLOUD COMPUTING HOY: Todo como Servicio.
CLOUD COMPUTING HOY: Todo como Servicio.
Mario Jose Villamizar Cano
 
Introduccion a las Arquitecturas Limpias
Introduccion a las Arquitecturas LimpiasIntroduccion a las Arquitecturas Limpias
Introduccion a las Arquitecturas Limpias
solidussnake07
 
Metodologías Agiles - APIT - UTN FRBA
Metodologías Agiles - APIT - UTN FRBAMetodologías Agiles - APIT - UTN FRBA
Metodologías Agiles - APIT - UTN FRBA
Gustavo Andres Brey
 
Arquitectura evolutiva por Fausto de la Torre
Arquitectura evolutiva por Fausto de la TorreArquitectura evolutiva por Fausto de la Torre
Arquitectura evolutiva por Fausto de la Torre
Diana Pinto
 
Arquitectura evolutiva
Arquitectura evolutivaArquitectura evolutiva
Arquitectura evolutiva
Luisa Emme
 
KronOps - Perfil Corporativo
KronOps - Perfil CorporativoKronOps - Perfil Corporativo
KronOps - Perfil Corporativo
KronOps
 
Qué hace un arquitecto de soluciones?
Qué hace un arquitecto de soluciones?Qué hace un arquitecto de soluciones?
Qué hace un arquitecto de soluciones?
Juan Pablo
 

Similar a Fundamentos de la arquitectura del 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
 
Ejemplo de Archimate. Depositario Central de Valores en México
Ejemplo de Archimate. Depositario Central de Valores en MéxicoEjemplo de Archimate. Depositario Central de Valores en México
Ejemplo de Archimate. Depositario Central de Valores en México
 
Arquitecturas de Software
Arquitecturas de SoftwareArquitecturas de Software
Arquitecturas 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
 
0132 arquitecto y_arquitecturas_qué es_para_que_sirve_rolprofesion_de_moda_o_...
0132 arquitecto y_arquitecturas_qué es_para_que_sirve_rolprofesion_de_moda_o_...0132 arquitecto y_arquitecturas_qué es_para_que_sirve_rolprofesion_de_moda_o_...
0132 arquitecto y_arquitecturas_qué es_para_que_sirve_rolprofesion_de_moda_o_...
 
Arquitectura Empresarial 11.0
Arquitectura Empresarial 11.0Arquitectura Empresarial 11.0
Arquitectura Empresarial 11.0
 
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...
Gestión de requisitos y su trazabilidad en la Gestión de Servicios TI: Una vi...
 
Diseño arquitectónico
Diseño arquitectónicoDiseño arquitectónico
Diseño arquitectónico
 
Arquitecturas Empresariales, Soa Y Bpm 1.0
Arquitecturas Empresariales, Soa Y Bpm 1.0Arquitecturas Empresariales, Soa Y Bpm 1.0
Arquitecturas Empresariales, Soa Y Bpm 1.0
 
Architect IT role Architect IT role Architect IT role
Architect IT role Architect IT role Architect IT roleArchitect IT role Architect IT role Architect IT role
Architect IT role Architect IT role Architect IT role
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
Arquitectura Evolutiva
Arquitectura EvolutivaArquitectura Evolutiva
Arquitectura Evolutiva
 
CLOUD COMPUTING HOY: Todo como Servicio.
CLOUD COMPUTING HOY: Todo como Servicio.CLOUD COMPUTING HOY: Todo como Servicio.
CLOUD COMPUTING HOY: Todo como Servicio.
 
Introduccion a las Arquitecturas Limpias
Introduccion a las Arquitecturas LimpiasIntroduccion a las Arquitecturas Limpias
Introduccion a las Arquitecturas Limpias
 
Metodologías Agiles - APIT - UTN FRBA
Metodologías Agiles - APIT - UTN FRBAMetodologías Agiles - APIT - UTN FRBA
Metodologías Agiles - APIT - UTN FRBA
 
Arquitectura evolutiva por Fausto de la Torre
Arquitectura evolutiva por Fausto de la TorreArquitectura evolutiva por Fausto de la Torre
Arquitectura evolutiva por Fausto de la Torre
 
Arquitectura evolutiva
Arquitectura evolutivaArquitectura evolutiva
Arquitectura evolutiva
 
KronOps - Perfil Corporativo
KronOps - Perfil CorporativoKronOps - Perfil Corporativo
KronOps - Perfil Corporativo
 
Qué hace un arquitecto de soluciones?
Qué hace un arquitecto de soluciones?Qué hace un arquitecto de soluciones?
Qué hace un arquitecto de soluciones?
 

Último

leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
cj3806354
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
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
ItsSofi
 

Último (20)

leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
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
 

Fundamentos de la arquitectura del software

  • 1. Fundamentos de Definición de Arquitectura de Software Integrantes: Castillo Harving V-21.134.315 Garcia Ender V-16.126.317 Guzmán Mariam V-20.963.865 Muñoz Luis V-19.278.031 Rodriguez Maria V-22.114.256 Sandoval Anthony V-23.037.857 Septiembre 27 a Octubre 01 de 2005 Bogotá, Colombia
  • 2. Arquitectura de Software + Que es una arquitectura? + “No estamos seguros, pero la reconocemos cuando vemos una” + IEEE-1471-FAQ 2 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 3. Arquitectura de Software + IEEE 1471 + Software Architecture in Practice - Kazman El nivel conceptual más alto de un sistema en su ambiente. “La estructura de estructuras de un sistema, la cual abarca + Arquitectura es la organización componentes de software, fundamental de un sistema propiedades externas visibles de estos descrita en: componentes y sus – Sus componentes. relaciones”. – Relación entre ellos y con el ambiente. – Principios que guían su diseño y evolución. 3 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 4. Discusión + Definir la arquitectura en los proyectos actuales es crítico... 4 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 5. Evolución de Arquitecturas + Dos factores primarios en la ingeniería de software que han incrementado la importancia de la arquitectura: 5 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 6. Evolución de Arquitecturas + Aplicaciones Monolíticas Arquitectura Cliente-Servidor + Interfaces gráficas de usuario (GUI). + Servicios de presentación, negocios + Clientes pesados, no estándar + Conexiones dedicadas a BD y persistencia en la misma máquina. + No hay concurrencia de usuarios. + Alto acoplamiento entre tiers. + Protocolos pesados + Ejecución remota de SQLs + Alta administración + Bajo rendimiento + Alto tráfico de red + Baja accesibilidad 6 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 7. Evolución de Arquitecturas + Arquitectura Cliente-Servidor Arquitectura de 3 niveles Mejorada + Reutilización de lógica de negocio para + Lógica de negocios en BD + Clientes pesados, no estándar. + Conexiones dedicadas a la BD. + Mejora en rendimiento diferentes clientes o sistemas. + Mejora la escalabilidad. + Mejora la flexibilidad. + Independencia de la base de datos. + Alta administración + Baja escalabilidad + Baja flexibilidad + Baja portabilidad 7 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 8. 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 8 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 9. Evolución de Arquitecturas + Visión de Arquitectura Orientada a Servicios (SOA) + Requerimientos Sistema Batch Portal de Servicios Integrados Arquitectónicos + Heterogeneidad + Escalabilidad Base de Datos + Disponibilidad Servidor de Procesos + Distribución (BPM) Aplicaciones + Manejabilidad de Procesos Legadas + Administración y monitoreo de procesos, servicios e infraestructura 9 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005 Cluster de Servidores de Aplicaciones
  • 10. Que es un Arquitecto de Software? • Rational Unified Process • SUN SL-425: Arquitecto es un rol en un proyecto de El arquitecto: desarrollo de software el cual es – Visualiza el comportamiento responsable de: del sistema. – Crea los planos del sistema. – Liderar el proceso de arquitectura. – Define la forma en la cual los – Producir los artefactos necesarios: elementos del sistema Documento de descripción de trabajan en conjunto. arquitectura – Responsable de integrar los – Modelos y prototipos de requerimientos no-funcionales arquitectura. (NRFs) en el sistema. 10 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 11. Discusión + Existe alguna diferencia entre arquitectura y diseño de software? 11 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 12. Arquitectura Vs. Diseño + La arquitectura y el diseño difieren en tres áreas: 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. Selección de tecnologías, Requerimientos no funcionales (QoS), Manejo de riesgos Requerimientos funcionales Áreas de Enfoque 12 Especificaciones de codificación XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 13. 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. Código Implementación Diseño Las decisiones de arquitectura causan un alto impacto en los proyectos de IT Arquitectura 13 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 14. Discusión + Cuales son los principios fundamentales en los métodos de desarrollo de software modernos? 14 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 15. 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. 15 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 16. 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 16 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 17. Arquitectura y Procesos de Desarrollo Rational Unified Process: SunTone AM: En el proceso de definición de arquitectura se producen: Adicionalmente se producen: Matriz Tecnológica de Layers y Tiers + Template de Arquitectura + Arquitectura Inicial. + Arquitectura de Referencia. + Documento de Descripción de arquitectura (SAD): + – – – + 17 Subsistemas Componentes Arquitectura Runtime. Guías para el proyecto y estándares de Diseño. XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 18. 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 – 18 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 19. Definición de Arquitectura en RUP Fase de Elaboración + + 19 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. XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 20. 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. Logical View Analysts/Designers Structure Implementation View Programmers Software management End-user Functionality Use-Case View Process View System integrators Performance Scalability Throughput 20 Deployment View System engineering System topology Delivery, installation communication XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 21. 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 21 Ajustar Arquitectura XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 22. Definición de Arquitectura en SunTone AM + + 22 Metodología de desarrollo de software análoga al Unified Process (UP) con un fuerte énfasis en Calidad de Servicio y Patrones de diseño. El cubo: framework conceptual, el cual provee una vista tridimensional: – Tiers lógicos – Layers tecnológicos – Calidades sistémicas XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 23. Definición de Arquitectura en SunTone AM 23 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 24. Definición de Arquitectura en SunTone + Principios Arquitectónicos + La arquitectura es primariamente necesaria para crear un framework para el desarrollo basado en patrones y para la entrega de calidades sistémicas predecibles. Presentation Action Factory Business Integration Business Database Integration DAO Factory Business Delegate Action Session Facade Oracle DAO Factory Composite Entity Front Controller View JSF Components 24 Service Locator Value Object XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005 DAO OracleDAO
  • 25. Definición de Arquitectura en IFM + Principios Arquitectónicos + El proceso de creación de arquitectura debe ser un proceso de creación de valor. + La arquitectura se descompone en elementos arquitectónicos (AEs). + La arquitectura se crea incrementalmente acorde a un proceso secuencial dirigido por el ROI. 25 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 26. Definición de Arquitectura en IFM + Principios Arquitectónicos + La instanciación de los elementos arquitectónicos (AEs) se realiza incrementalmente acorde a la secuencia de MMFs, determinada por el ROI. AE 1 AE 3 AE 7 AE 7 AE 8 AE 8 MMF A 26 AE 2 MMF B MMF C XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 27. 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. 27 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 28. Ejemplo de Definición de Arquitectura + Dado un conjunto de requerimientos primarios 28 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 29. Ejemplo de Definición de Arquitectura + Identificación de requerimientos funcionales y de calidad de servicio (QoS) 29 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 30. Ejemplo de Definición de Arquitectura + Identificación de supuestos, riesgos y restricciones 30 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 31. Ejemplo de Definición de Arquitectura + Identificación de Actores y Casos de Uso primarios 31 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 32. Ejemplo de Definición de Arquitectura + Arquitectura Lógica. Identificación de tiers lógicos, subsistemas y paquetes 32 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 33. Ejemplo de Definición de Arquitectura + Diseño de Arquitectura Runtime. Diagrama de Despliegue. 33 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 34. Ejemplo de Definición de Arquitectura + Plataforma Tecnológica. Definición de la matriz tecnológica de layers y tiers 34 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 35. Discusión + Los requerimientos no funcionales son fuentes comunes de riesgo… 35 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 36. 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. 36 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 37. 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 + Familias de Calidades Sistémicas + Manifiestas + Operacionales + Desarrollo + Evolutivas observables. 37 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 38. 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. 38 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 39. Calidades Sistémicas Operacionales Observables cuando el sistema está operando en producción. + Throughput. Solicitudes atendidas + Security. Prevención de uso por unidad de tiempo. + Manageability. Cantidad inversa de esfuerzo para realizar labores administrativas. + Serviceability. Esfuerzo para actualizar el sistema para reparar errores. 39 indeseado, por abuso o uso inapropiado: – Identidad – Autoridad – Confidencialidad – Auditabilidad – Integridad + Testability. Esfuerzo invertido para detectar y aislar errores. XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 40. 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 + Reusability. Esfuerzo ganado en la utilización de componentes existentes. + Extensibility. Esfuerzo ahorrado para adicionar nuevas funcionalidades. cuando se migra a una infraestructura + Mantainability. Esfuerzo diferente. ahorrado para revisar y corregir errores. XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005 40
  • 41. Lecciones Aprendidas en Consultoría + 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. 41 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005
  • 42. Lecciones Aprendidas en Consultoría + 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. 42 XXV Salón de Informática “Arquitecturas Empresariales de Software” Septiembre 28-Octubre 01 de 2005