ARQUITECTURA DE SOFTWARE - WordPress.com · 2017. 11. 17. · DE SOFTWARE ¿QUÉ ES LA...

24
ARQUITECTURA DE SOFTWARE Potenciando la industria del software Ing. Zacarías Monzón

Transcript of ARQUITECTURA DE SOFTWARE - WordPress.com · 2017. 11. 17. · DE SOFTWARE ¿QUÉ ES LA...

  • ARQUITECTURA DE SOFTWAREPotenciando la industria del software

    Ing. Zacarías Monzón

  • ¿QUÉ ES LA ARQUITECTURA?

    “Arquitectura es el conjunto de estructuras necesario para comprender un sistema, sus componentes, las relaciones entre ellos y las propiedades de ambos.”

  • JOHN

    ZACHMAN

    ¿QUE ES LA ARQUITECTURA?

    “Architectureis architecture

    is architecture”

  • ADECUACIÓN FUNCIONAL

    COMPATIBILIDAD USABILIDAD

    FLEXIBILIDAD

    SEGURIDAD

    MANTENIBILIDAD

    PORTABILIDADAdaptabilidad

    Facilidad de Instalación

    Capacidad de ser reemplazado

    Comportamiento temporal

    Utilización de recursos

    Capacidad

    CALIDAD DELPRODUCTO SOFTWARE

    ATRIBUTOS DE CALIDAD

    EFICIENCIA DE DESEMPEÑO

    ISO/IEC 25010

    http://iso25000.com/index.php/en/news/165-madrija-enigma-connect-1-0-2-new-iso-iec-25000-certificate-for-maintainability

  • Provee requerimientos y restricciones

    ¿QUÉ ES LA ARQUITECTURA?

    ARQUITECTURA DE SOFTWARE

    ARQUITECTURAEMPRESARIAL

    ARQUITECTURADE SISTEMAS

    Provee requerimientos y restricciones

  • ¿QUÉ ES LA ARQUITECTURA?

    “Los sistemas son construidos para satisfacer las necesidades de negocio. La arquitectura es un puente entre esos objetivos de negocio y el sistema resultante.”

  • Visión

    Estrategia

    Adquisiciones

    Requerimientos

    Arquitectura de negocios

    Arquitectura de servicios

    Arquitectura técnica

    Diseños

    Implementación

    Test

    Deploy

    ARQUITECTURA EMPRESARIAL

    ARQUITECTURA DE SISTEMAS

    ARQUITECTURA DE SOFTWARE

    ¿QUÉ ES LA ARQUITECTURA?

  • VERTICAL DE INDUSTRIA

    Orientado a la integración

    FlexibilidadMantenibilidadAdaptabilidad

    DESARROLLO DE PRODUCTOS

    Orientado a perdurar en el tiempo, calidad,

    diversidad de clientes.

    SERVICIOS TECNOLÓGICOS

    Responder con los compromisos adquiridos con el cliente, mantener

    la marca, reducir los costos

    SABORES DE ARQUITECTURA

  • Vertical de industria Desarrollo de productos Servicios tecnológicos

    ENTENDER EL NEGOCIO

    VISIÓN

    ADECUEARSE A LA AUDIENCIA

    Arqu

    itec

    tura

    em

    pres

    aria

    l

    Arqu

    itec

    tura

    de

    sist

    emas

    Arqu

    itec

    tura

    de

    soft

    war

    e

    VERTICAL DE INDUSTRIA

    DESARROLLO DE PRODUCTOS

    SERVICIOS TECNOLÓGICOS

    ARQUITECTO EMPRESARIAL

    ARQUITECTO DE SISTEMAS

    ARQUITECTO DE SOFTWARE

    ENTENDER EL NEGOCIO

    ENTENDER EL NEGOCIO VISIÓN ADECUARSE A LA AUDIENCIA CONOCIMIENTO TÉCNICO MENTORING

    VISIÓN

    NEGOCIACIÓN

    ADECUARSE ALA AUDIENCIA

    CONOCIMIENTOTÉCNICO

    MENTORING

    HABILIDADES DEL ARQUITECTO

    ARQ. EMPRESARIAL ARQ DE SISTEMAS ARQ DE SOFTWARE

    VERTICAL DE INDUSTRIA - DESA. DE PRODUCTOS - SERV. TECNOLÓGICOS

  • Habilita o inhabilita atributos de calidad

    Facilita la gestión del cambio

    Predicción temprana de atributos de calidad

    Facilita la comunicación entre stakeholders

    Brinda soporte a decisiones de alto impacto

    Define restricciones para el diseño

    Permite una mejor gestión de costo y tiempo

    Es la base de la línea de producción

    Reduce la complejidad

    Reduce la curva de aprendizaje

    PRESENTANDO LA ARQUITECTURA

  • “Amateurs want to be right.

    Professionals want to make money.”

    Alan Greenspan

  • OBJETIVOS DE NEGOCIO

    DECISIONES DEARQUITECTURA

    Performance

    Flexibilidad

    Seguridad

    COSTO

    BENEFICIO

    ANALISIS ECONOMICO DE LA ARQUITECTURA

  • Reducción de errores x%

    Esfuerzos de arquitectura $I

    Reutilización en futuros proyectos $z / proyecto.

    Impacto en los tiempos de desarrollo +/- t%

    Costo de oportunidad asociado $c

    P

    IP * I = Riesgo

    ALGUNAS VARIABLES

    t

  • Integración por JDBC a aplicación legada

    Motivo: velocidad de desarrollo, falta de recursos.

    Riesgo: acoplamiento de modelos, reimplementación ante nueva demanda.

    Desarrollo de adecuaciones no estándares

    Motivo: velocidad de desarrollo, falta de conocimiento tecnológico

    Riesgo: costo de migración a nuevas versiones.

    DEUDA TÉCNICA

  • Basados en componentes y servicios.

    Obtienen una ventaja económica en los elementos comunes.

    SOFTWARE PRODUCT LINES

    Comparten el impacto

    Pertenecen al mismo dominio de aplicaciones.Comparten una arquitectura

  • La ciencia detrás del significado

  • Zachman

  • TOGAF

    TOGAF® 9.1 © The Open Group

    http://pubs.opengroup.org/architecture/togaf9-doc/arch/index.html

  • QAW ADD ATAM

    Quality Attributes

    Architecture design

    ANÁLISIS Y DISEÑO DE ARQUITECTURA

    Architectural Plan

    BusinessDrivers

    Risk

  • DISPONIBILIDAD

    DETECTAR FALLAS RECUPERACIÓN DE FALLAS PREVENIR FALLAS

    Ping / Echo

    Heartbeat

    TimeStamp

    Sanity Checking

    Voting

    Exception detection

    Auto-Test

    Redundancia activa

    Redundancia pasiva

    Spare

    Exception handling

    Rollback

    Retry

    Non-stop fowarding

    Transacciones

    Modelo predictivo

    Incrementar conjunto de competencias

    Tácticas

  • Determinar el Value for Cost (VFC = Bi / Ci) utilizando:

    ● Curvas de utilidad● Peso de escenarios● Efectos colaterales● Normalización de beneficios por escenario

    CBAM

  • Arquitectura & Agile

    Agile vs Architecture ¿Cuánta arquitectura?

    Fase preliminarCreación de backlogFase inicial de arquitectura

    QAW

    SprintPlanificaciónConstrucciónImplementaciónRetrospectiva

    ADD

    ATAM

    ADD

    ATAM

  • “La tecnología es una pasión pero estamos acá porque también es un negocio.”

    Decisiones - Errores - Eficiencia

  • Muchas gracias!!!

    @zacariasmonzon