You are on page 1of 40

Gestión de la Ingeniería

de Sistemas
SESIÓN 8: PROCESO DE DEFINICIÓN DE LA ARQUITECTURA DEL SISTEMA
EXPLICAR ALCANCE DE LA SESION 7

Proceso de definición de Arquitectura del Sistema


1. Introducción
2. Enfoque de SEBoK
3. Enfoque de INCOSE
4. Conclusiones y recomendaciones
Modelos de Ciclo de Vida de Sistemas

• A lo largo del curso veremos dos enfoques del Ciclo de Vida de Sistemas:
• Enfoque de SEBoK

• Enfoque de INCOSE (ISO15288):

Utilización/
Concepto Desarrollo Producción Retiro
Soporte
Procesos de Ciclo de Vida de Sistemas

Etapa / Definición de Definición del Realización/Desarr Producción/Sopo Retiro


Área de Concepto Sistema ollo del Sistema rte/Utilización
Conocim
iento
Proceso • Análisis del • Definición de • Implementación • Operación Eliminación
Negocio o Requisitos del • Integración • Mantenimiento
misión Sistema • Verificación
• Necesidades • Definición de la • Transición
y requisitos de Arquitectura del • Validación
los Sistema
stakeholders • Diseño del
Sistema
• Análisis del
Sistema
Proceso de Definición de Arquitectura
1. Introducción

Procesos Ténicos
del Modelo
ISO 15288:2015
Empresa
Concepto de
Operaciones Estrategias de la
(CONOPS) Empresa

Estado del

Gestión del Negocio


Procesos de
Conceptos Preliminares de Ciclo de Especificación de
Proceso de
Vida: Necesidades del Requisitos
Operaciones(opscon), Adquisiciones,
Requisitos del Análisis del
Negocio del Negocio
Implementación, Soporte, Retiro Negocio Negocio o Misión
(BRS)

Desarrollo del
Análisis

Sistema

Operación del Negocio


Especificación de Proceso de Definición
Conceptos de Ciclo de Vida:(Opscon, Necesidades de Requisitos de los Requisitos de Necesidades y
 Ya tenemos los siguientes Adquisiciones, Implementación,
Soporte, Retiro
los interesados interesados de los Interesados Requisitos de los
(StRS) Interesados
elementos desarrollados: Análisis

 Especificación de Requisitos
del Negocio(BRS)

 Especificación de los Conceptos


Conceptos
Conceptos
de de
Ciclo
de
Ciclo
de
Ciclo
de
Vida
de
Vida
del
Vida
deldel Requisitos del
Especificación de
Proceso de Proceso de

Sistema
Necesidades del Requisitos
Requisititos de los Interesados SIstema:(Opscon,
SIstema:(Opscon,
SIstema:(Opscon,
Adquisiciones,
Adquisiciones,
Adquisiciones,
Sistema Sistema del Sistema
Requisitos del Definición de
Implementación,
Implementación,
Implementación,
Soporte,
Soporte,
Soporte,
Retiro
Retiro
Retiro
(StRS) Análisis (SyRS)
Sistema Arquitectura

 Especificación de los Vista de Necesidades Vista de Requisitos


Requisitos del Sistema (SyRS)
Elemento de Sistema

Conceptos
Conceptos
Conceptos
de de
Ciclo
de
Ciclo
de
Ciclo
de
Vida
de
Vida
del
Vida
deldel Necesidades del Requisitos del Especificación de Proceso de Proceso de
Elemento
Elemento
Elemento
deldel
Sistema:(Opscon,
del
Sistema:(Opscon,
Sistema:(Opscon, Elemento de Requisitos
Adquisiciones,
Adquisiciones,
Adquisiciones,
Implementación,
Implementación,
Implementación,
Elemento de Requisitos del Definición de
Soporte,
Soporte,
Soporte,
Retiro
Retiro
Retiro Sistema Análisis Sistema del Elemento del Sistema Arquitectura
Sistema
¿Qué es Arquitectura de Software”

 https://manuelzapata.co/que-es-arquitectura-de-software/
Modelado y Diseño
de la Arquitectura
del Sistema
 En base a los requisitos funcionales
y de calidad se establecen los
primeros criterios para decidir que
patrón de arquitectura es el que
debemos adoptar.
Los requisitos
determinan el
modelo
¿Qué puede afectar nuestra arquitectura?
¿Qué puede afectar nuestra arquitectura?

 Requerimientos Funcionales
 Los requerimientos funcionales tienen relación directa con los atributos
de calidad
 La funcionalidad es la capacidad del sistema de hace lo que se
pretendía que hiciese
 Los sistemas se descomponen en elementos para lograr variados
propósitos, más allá de la funcionalidad:
 Las opciones de arquitectura promueven ciertas cualidades al tiempo que
implementan la funcionalidad deseada
¿Qué puede afectar nuestra arquitectura?
 Restricciones y principios
 Las restricciones (constraints) imponen
condiciones sobre la arquitectura que
normalmente no son negociables
 Ej. Que se use C# como lenguaje de
programación/Que se indique que toda la
lógica de negocio este en procedimientos
almacenados / Que no se pueda usar open
source
 Limitan el rango de alternativas de decisión
del arquitecto
 Algunas a veces hacen la vida más fácil para el
arquitecto, en otras lo complica
 Se pueden clasificar según su naturaleza:
 Negocio, Desarrollo, Tiempo, Costo, etc.
¿Qué puede afectar nuestra arquitectura?
 Equipo de Desarrollo
 Se basan en los skils del equipo de desarrollo, es decir,
aquellos skills que el equipo no tiene respecto de la
arquitectura que se plantea
 En caso que el equipo no tenga los skills necesarios se debe
tener en cuenta la curva de aprendizaje, el tiempo y costo
que va a tomar
 La otra alternativa es incorporar elementos nuevos al equipo
que también implica cierto tiempo para el proceso de
inducción y adaptación
¿Qué puede afectar nuestra arquitectura?
 Atributos de calidad 

 Disponibilidad ➢ Usabilidad
 Interoperabilidad ➢ Extensibilidad
 Seguridad ➢ Elasticidad
 Escalibilidad ➢ Legalidad
 Recuperación ante ➢ Portabilidad
desastres
➢ Desplegabilidad
 Agilidad
➢ Mantenibilidad
➢ Rendimiento
Atributos de Calidad de SW

 https://youtu.be/NmRuhzyKCWM
Realidad sobre la Arquitectura de
Sistemas
 Los requisitos de atributos de calidad son las principales guias para
el diseño de la arquitectura
 La medida en que un sistema alcance sus requisitos de atributos de
calidad depende de las decisiones de arquitectura
 El desarrollo requiere ser guiado por las decisiones de arquitectura
Influencia de los Interesados
Interesados
Involucrados
Desarrollo de
Software
Tradicional
Creación de una Arquitectura del Sistema

 Existen métodos y guías para la


definición de la arquitectura,
muchos de los cuales se focalizan
en los requisitos funcionales
 Es posible crear una arquitectura
basada en las necesidades de
atributos de calidad
Esquema de Modelado de AS
 Definir los requerimientos de Arquitectura:
Involucra crear un modelo a partir delos
requerimientos que guiarán el diseño de la
arquitectura basados en los atributos de
calidad esperados
 Diseño de la Arquitectura: Involucra definir la
estructura y responsabilidades de los
componentes que comprenderán las
arquitectura del sistema
 Validación: Significa “probar” la
arquitectura, típicamente pasando a través
del diseño contra los requerimientos actuales
y cualquier posible requerimiento a futuro
Identificar Requerimientos
Empresa

Concepto de
Operaciones Estrategias de la
(CONOPS) Empresa
Gestión del Negocio

Conceptos Preliminares de Ciclo de Especificación de


Proceso de
Vida: Necesidades del Requisitos
Operaciones(opscon), Adquisiciones,
Requisitos del Análisis del
Negocio del Negocio
Implementación, Soporte, Retiro Negocio Negocio o Misión
(BRS)
Análisis
Operación del Negocio

Especificación de Proceso de Definición


Conceptos de Ciclo de Vida:(Opscon, Necesidades de Requisitos de los Requisitos de Necesidades y
Adquisiciones, Implementación, los interesados
Soporte, Retiro interesados de los Interesados Requisitos de los
(StRS) Interesados
Análisis

Especificación de
Conceptos
Conceptos
Conceptos
de de
Ciclo
de
Ciclo
de
Ciclo
de
Vida
de
Vida
del
Vida
deldel Requisitos del Proceso de Proceso de
Sistema

Necesidades del Requisitos


SIstema:(Opscon,
SIstema:(Opscon,
SIstema:(Opscon,
Adquisiciones,
Adquisiciones,
Adquisiciones, Sistema Requisitos del Definición de
Implementación,
Implementación,
Implementación,
Soporte,
Soporte,
Soporte,
Retiro
Retiro
Retiro Sistema del Sistema
Análisis (SyRS)
Sistema Arquitectura

Vista de Necesidades Vista de Requisitos


Elemento de Sistema

Conceptos
Conceptos
Conceptos
de de
Ciclo
de
Ciclo
de
Ciclo
de
Vida
de
Vida
del
Vida
deldel Necesidades del Requisitos del Especificación de Proceso de Proceso de
Elemento
Elemento
Elemento
deldel
Sistema:(Opscon,
del
Sistema:(Opscon,
Sistema:(Opscon, Elemento de Requisitos
Adquisiciones,
Adquisiciones,
Adquisiciones,
Implementación,
Implementación,
Implementación,
Elemento de Requisitos del Definición de
Soporte,
Soporte,
Soporte,
Retiro
Retiro
Retiro Sistema Análisis Sistema del Elemento del Sistema Arquitectura
Sistema
Diseño de la Arquitectura
Paso 1. Escoger
la Arquitectura
de Referencia
Arquitectura de Referencia /
Patrones de Arquitectura

 https://daneshjavaji.files.wordpress.com/2018/02/sznikak_jegyzet_p
attern-oriented-sa_vol1.pdf
Patrones de Arquitectura de SW

 https://www.youtube.com/watch?v=a8YpqVbtf6A&ab_channel=M
anuelZapata
Patrones de Arquitectura

El patrón arquitectónico Microkernel también se conoce como un patrón arquitectónico enchufable. Se utiliza típicamente
cuando los equipos de software crean sistemas con componentes intercambiables.

Microservicios:
Cuando escribes tu solicitud como un conjunto de microservicios, en realidad estás escribiendo múltiples solicitudes que
funcionarán juntas.
Cada microservicio tiene su propia responsabilidad y los equipos pueden desarrollarlos independientemente de otros
microservicios.
La única dependencia entre ellos es la comunicación. A medida que los microservicios se comunican entre sí, tendrás que
asegurarte de que los mensajes enviados entre ellos sean compatibles con los anteriores.
Ejemplo de Mapeo
de patrones a
atributos de calidad
 Elementos esenciales:
 Encapsulación del Proceso: El
proceso contiene la logica
requerida para alcanzar el
objetivo del proceso de
negocio, siendo un solo punto
de definición hace más fácil
entender y modificar.
 Bajo Acoplamiento: Los
componentes de servidores no
son concientes de su rol en el
proceso ni su orden de
ejecución
 Comunicacion Flexible: La
comunicación entre el
coordinador y los servidores
puede ser sincrono o asincrona
Atributos de calidad para el Patrón Coordinator
Atributo de Calidad Problemas
Disponibilidad El coordinator es un solo punto de falla. Por lo tanto, necesita ser replicado
para crear una solución de alta disponibilidad
Manejo de Fallas El manejo de fallas es complejo, puede ocurrir en cualquier momento del
proceso de coordinación. Falla en un paso posterior del proceso puede
requerir deshacer el proceso en un paso previo usando una transacción de
compensación. El manejo de fallas necesita un diseño cuidadoso para
asegurar que la data mantenida en los servidores se mantiene consistente
Modificabilidad El proceso de modificabilidad es mejorado porque el proceso de definición es
encapsulado en el proceso de coordinador. Los servidores pueden cambiar su
implementación sin afectar al coordinador o a otros servidores, tanto tiempo
como su servicio de definición externo no cambie
Performance Para lograr alta performance, el coordinador debe ser capaz de manejar
múltiples requerimientos concurrentes y manejar el estado de proceso en la
medida que van progresando. Además, la performance de cualquier proceso
debe estar limitado por el paso mas lento a saber el servidor mas lento en el
proceso
Escalabilidad El coordinador puede ser replicado para escalar tanto hacia arriba como
hacia afuera.
Diseño de la Arquitectura
Paso 2:
Asignación de
Componentes
Guías de Diseño
de
Componentes
(1)
Guías de Diseño
de Componentes
(2)

 COTS=Commercial Off The Shelf


Software es un tipo de software que
está diseñado para un grupo de
personas grandes que no requiere
personalización para su compra y
uso, lo que lo diferencia
de softwares diseñados a la medida.
➢ ¿Movil o web?

➢ ¿SPA o Web tradicional?

Paso 3: ➢ ¿SQL o NoSQL?

Selección de ➢ Analizar las políticas de la empresa


Tecnologías ➢

Experiencia del equipo de desarrollo
Licencias adquiridas
➢ Soporte
➢ Curva de aprendizaje
➢ Buena integración con otras tecnologías
(alta cohesión y bajo acomplamiento)
Esquema de Modelado de AS
 Definir lo requerimientos de Arquitectura:
Involucra crear un modelo a partir delos
requerimientos que guiarán el diseño de la
arquitectura basados en los atributos de
calidad esperados
 Diseño de la Arquitectura: Involucra definir la
estructura y responsabilidades de los
componentes que comprenderán las
arquitectura del sistema
 Validación: Significa “probar” la
arquitectura, típicamente pasando a través
del diseño contra los requerimientos actuales
y cualquier posible requerimiento a futuro
Validación
Técnicas
de
Valiación
Prueba
Manual
de
Escenarios

SEI=Software Engineering Institute


Prototipos
de
Arquitectura
Cómo Diagramar la Arquitectura
 https://www.youtube.com/watch?v=C38Cp3GQ
or8&t=4094s Video que explica como ir de los
requerimientos a la Arquitectura

 https://www.youtube.com/watch?v=cy_3qSA0a
4s Ejemplo de Diagramación de Arquitectura de
Sistemas

 Herramientas de Arquitectura de Sistemas:


 https://c4model.com/
 https://www.archimatetool.com/ Libre

You might also like