Diseño y arquitectura de software Flashcards
Arquitectura de software
Como se organiza el sistema mostrando su estructura y comportamiento
Artefactos/documentos de diseño
Software Design Document (SDD), Driagramas arquitectuales - Diagramas UML: Unified Modeling Lenguage
Diseño de software
Escribir la estructura y componentes del software así como el comportamiento entre estos.
Diseño estructural
Es separar el problema en pequeñas soluciones o módulos que estén bien organizados
Diagramas de
Modelos de comportamiento
Indican que es lo que hace el sistema, como se comporta, pero sin especificar como lo hace.
Diagramas UML
Diagramas que representan la estructura y comportamiento del sistema. Ayudan a navegar mas facilmente por el codigo y entender mejor su oganizacion.
Diagramas de cambio de estado
Indica los estados en los cuales puede estar un sistema y los eventos que causas los cambio de estados
Diagrama de interaccion
Representa como interaccionan los diferentes componentes del sistema entre si
Objetos
Son una unidad del código que contienen parámetros que dictan el estado en el cual se encuentra y métodos que indican su comportamiento o las acciones que puede tomar
Clases
Son los template o blueprints para generar objetos
Diagrama de clases
Muestra la relación estructural y jerárquica que existen entre las diversas clases del sistema
Analisis y diseño orientado a objetos
Diseño de software basado en las interacciones y comportamiento de los objetos del sistema
Arquitectura orientada a componentes
Arquitectura en la cual el sistema se separa en componentes logicos e independientes
Arquitectura orientada en servicios
Arquitectura en la cual el sistema es separado en varios servicios acoplados debilmente entre si que se comunican por una red a diferentes sistemas
Arquitectura de sistemas distribuidos
Consta de varios servicios distribuidos en diferentes computadoras
Patrones arquitectonicos
Son soluciones reusables a diversos problemas arquitectonicos
Patron 2-tier
Patrón que consta de 2 capas: una de ellas el cliente en donde se ubica toda la interfaz, el UI; y la otra el servidor en donde se encuentra toda la lógica de negocios
Patron 3-tier (o n-tier)
Patrón que consta de 3 o mas capas diferentes. Normalmente se constituye por tres capaz: la capa de presentación, en donde se encuentra la interfaz del usuario; la capa de la aplicación, en donde se encuentran todas las reglas de negocio; y la capa de datos, en donde se almacenan y se manipulan los datos de la app
Peer-to-peer
Patrón descentralizado en donde cada computadora o maquina es un nodo el cual pude asumir el papel de servidor y de cliente
Patron basado en eventos
Patrón en donde un productor crea un evento el cual es enviado por un servicio servidor a diferentes consumidores
Microservicios
Patrón que consta de varios servicios que están débilmente acoplados entre si para actuar como un gran servicio ante el usuario final
Ambientes de despliegue
Ambientes de despliegue son el conjunto de software y hardware necesario para correr, compilar o usar la aplicacion
Diferentes ambientes de despliegue
Los ambientes de despliegue pueden ser de pre-producción: desarrollo, QA, staging; y el ambiente de producción el cual es el ambiente que esta disponible para todo publico.
Firewall
Protegen los servidores, controlan el acceso y monitorean el tráficos hacia estos