ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Apuntes Arquitectura de Software


Enviado por   •  1 de Septiembre de 2020  •  Apuntes  •  1.545 Palabras (7 Páginas)  •  131 Visitas

Página 1 de 7

ARQUITECTURA BUENA

Simple: Evita la complejidad y sea desacoplable

Understand: Entendible por el usuario respecto a sus capas

Flexible: Sea sincronizable con otras aplicaciones

Emergente: Tiene la posibilidad de crecer (evolucionar)

Testeable: Da la posibilidad de hacer pruebas

Mantenible: Permite recibir mantenimiento, correcciones, etc.

WWW.SONARCLOUD.IO/EXPLORE/PROJECTS

(Permite evaluar la calidad del software respecto a archivos maliciosos, entre otros)

Permite pruebas tangibles de software

Java Decompiler --> Se debe tratar de no ser evidente para evitar vulnerabilidades

SONARQUBE --> Permite realizar un análisis estático

Evidencia tangible: si el codigo hace lo que se propone

La cobertura en el código nos sirve para testear que nuestro código este haciendo correctamente sus funciones

ARQUITECTURA LIMPIA

Diseñada para los usuarios de la arquitectura (Habitantes). NO para arquitectos o maquinas.

Invertir en una arquitectura limpia:

-Costo/Beneficio: A menores costos de postimplementacion generara menor gasto y mayor beneficio.

-Minimizar costo: Minimizar costos en la creacion de software utilizando componentes "estandarizados" que cumplan las mejores practicas.

-Maximizar valor: Valor de apreciacion del cliente hacia el software.

-Maximo retorno de inversion (ROI):

-Enfocarse en lo escencial: para mandar mensajes

-Construido solo con lo necesario para funcionar

-Optimizado para su mantenibiidad

DESICIONES

Las desiciones en la creacion de un software deben ser argumentadas

Deben seguir los objetivos de negocio

Deben seguir un buen juicio basado en la experiencia y la realidad

-------------------------------------------------

Database Centric vs Domain Centric

DataBase Centric

UI(Logic Bussiness(Data Access-Database))

Domain Centric

(Presentacion (Application (Domain) ) Persistencia - Infraestructure) DataBase

Escential vs Detail

Dominio: Es lo escencial --> Es el caso de uso para el cual fue creado

Presentacion es detalle

Persistencia es detalle

---------------------------------------------------------

---------------------------------------------------------

Level 1: Contexto

Level 2: Containers

Level 3: Compknents

Level 4: Code

Descomposicion de dominios en componentes (UDM)

UDm: Describ elas fronteras de los limites de cada dominio

____________________________________________________________

ARQUITECTURAS CENTRADAS EN EL DOMINIO

ARQUITECTURA CENTRADA EN LA BD

-Los datos yacen en el centro de la organizacion.

-La interfaz de usuario, la logica empresarial y el acceso a los datos dependen de la base de datos.

-Es la parte escencial del sistema de forma natural. Todo va alrededor de la base de datos.

Desventajas: -Fue diseñado para un solo tipo de presentacion

-No es flexible ni agil, no es posible mover las partes por encontrase adheridas hacia arriba o hacia abajo.

-Todas las dependencias son hacia la base de datos

ARQUITECTURA CENTRADA EN EL DOMINIO

-El dominio y los casos de uso son escenciales.

-La presentacion y las bases de datos son dolo un detalle

-Todas las dependencias apuntan hacia el dominio

Tipos:

Arquitectura Hexagonal: La aplicación esta en el centro del sistema.

Arquitectura de complemento

Incluye puertos y adaptadores

Arquitectura Onion: Arquitectura en capas cuyo centro es el dominio rodeado por la capa de aplicacion

Externamente yace la capa de UI (persistencia y presentacion)

Se pueden probar aplicaciones sin UI y dependencias de BD

Arquitectura Limpia: Las entidades estan en el centro, rodeado por los casos de uso

La capa externa contiene puertos y adaptadores

Se adapta el nucleo a las dependencias externas con ayuda de los controladores y puertas de enlace y presentadores

Las 3 arquitecturas tiene como objetivo resolver los problemas se arquitecturas tradicionales y la separacion de preocupaciones.

Ventajas:

-Se enfoca en el dominio

-Menos acoplamiento

-Permite el Diseño guiado por el dominio (DDD) "Provee una estructura de practicas y terminologias para tomar desiciones"

Deventajas:

-Su cambio es dificil

-Requiere mayor analisis

-El costo inicial puede ser elevado

Dominio: Funcionalidades reglas

Front y BAckEnd: Sistema OPerativo y SDK (Ejecuta las operaciones)

-Model - COntroller - View - repository

Modelos:

MVC: Modelo Vista controlador. Es consierado estandar. Java - Para aplicaciones web, service

MVVM: Integracion de "servicios" entre rest y Web. Node y Aplicaciones moviles. Angular___ Integra las apis con las vistas

(Model View View Model) Separa la interfaz de los patrones logicos. Para service side

Capas: Son los niveles de abstraccion (Que va contener? vistas, modelos, controladores).

Es Single responability: Una sola Funcion

Coss Cutting Concern: Es una capa transversal que da la posibilidad de dar agregaciones al codigo sin alterar lo realizado.

___________________________________________________________________________________________________

12/05/2020

DOMINIO: a) Front y b) Back

PROS

Se enfoca en casos de uso

Es facil de entender

Usa inyeccion de dependencias (interfaces)

CONRAS

Costo adicional

Requiere ideas adicionales para disgrear

Recordando:

Modelos:

MVC: Modelo Vista controlador. Es consierado estandar. Java - Para aplicaciones web, service

MVVM: Integracion de servicios entre rest y Web. Node y Aplicaciones moviles. Angular___ Integra las apis con las vistas

(Model View View Model) Separa la interfaz de los patrones logicos. Para service side

El objetivo es que la arquitectura debe gritar la intecnion del sistema.

Cada capa tiene recursos asociados () y su implementacion genera un costo

Diagrama de Dominio:

Describe la cantidad de recursos que se necesita

...

Descargar como (para miembros actualizados) txt (13 Kb) pdf (54 Kb) docx (18 Kb)
Leer 6 páginas más »
Disponible sólo en Clubensayos.com