Ga4 - 220501095-Aa2-Ev06

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

GA4- 220501095-AA2-EV06

Taller Arquitectura de software.

APRENDICES

JULIAN ROMERO
INGRID JARAMILLO HOYOS
KAREN HERNANDEZ
LUISA OSORIO
DANIEL ALVAREZ

INSTRUCTOR
JAVIER RICARDO LUNA PINEDA

SERVICIO NACIONAL DE APRENDIZAJE SENA

2023
Tabla de contenido

INTRODUCCIÓN..................................................................................................................2
TALLER ARQUITECTURA DE SOFTWARE............................................................................ 3

INICIÓN......................................................................................................................………3

FUNCIÓ ..............................................................................................................................3

¿CÓMO SE ELABORA? ....................................................................................................... 4


¿CÓMO SE LOGRA? ........................................................................................................... 5

¿CUÁLES SON LOS ELEMENTOS DE DISEÑO? .....................................................................5


INTRODUCCIÓN
De manera análoga al campo de la ingeniería y construcción, se puede relacionar la arquitectura de
software como lo es el arquitecto en la construcción a la disciplina que se encarga previo a la
construcción - codificación, de tener una serie de planos, modelos y detalles que permitan que la
construcción de la edificación se dé con una mayor facilidad y se pueda construir la mejor edificación
dentro de lo posible. El no crear un diseño preliminar desde etapas tempranas del desarrollo puede
limitar severamente el que el producto final satisfaga las necesidades de los clientes. Además, se
pueden dar sobrecostos elevadísimos con las correcciones relacionadas con problemas en la
arquitectura. Es así que la arquitectura de software juega un papel fundamental dentro del
desarrollo. En este taller los aprendices quieren profundizar en los aspectos principales de la
arquitectura de software y comprender como ésta se puede elaborar y cuáles son sus componentes
principales.
TALLER ARQUITECTURA DE SOFTWARE
DEFINICIÓN
En el campo de la Ingeniería de Software, la arquitectura de software son los patrones, lineamientos
o estándares que ayudan a la construcción de una aplicación. Esta estructuración representa un
diseño de alto nivel del sistema cuyos objetivos principales son: satisfacer atributos de calidad y
servir como guía en el desarrollo. Dicho de otra forma, la arquitectura de software define el conjunto
de componentes de un sistema, las interfaces de comunicación de estos y la forma en como los
componentes se comunican entre ellos utilizando estas interfaces. Las organizaciones dependen de
los sistemas de software que soportan su operación, y el buen funcionamiento de estos depende
de sus arquitecturas.

FUNCIÓN

La función de la arquitectura de software es la de identificar los requisitos que producen un impacto


en la estructura del software y reducir los riesgos asociados con la construcción de éste. La
arquitectura debe soportar las actualizaciones del sistema, del hardware y de funcionalidad
demandadas por el cliente.
¿CÓMO SE ELABORA?
Independientemente del tipo de patrón que se escoja de una arquitectura determinada se tienen
las siguientes etapas:
Requerimientos:

Se recolecta la información y se documentan los requerimientos que influyen en la arquitectura de


la aplicación, necesidades del cliente, que marcos de trabajo se requerirán, en que especificaciones
de equipos está destinado a funcionar el sistema o sistemas.

Análisis:
Se procede a generar los casos de uso a nivel de borrador hasta tener la información necesaria para
cada caso

Diseño:
Se define el uso de tecnologías adecuadas para resolver el problema. También se tienen en cuenta
los patrones de diseño como por ejemplo MVC (Modelo, Vista, Controlador) o arquitectura de micro
servicios, Directorios de datos.
Documentación:

Se crea la documentación que sirva como referencia a todos y sea el marco de trabajo para todos,
esta parte incluye el documento Arquitectura General del sistema, y los documentos de Casos de
Uso y funcionalidad, también se integra la información de UX/UI como son prototipos, roles y
permisos de usuario, y demás información que se requiera entregar al equipo de Desarrollo ejemplo
Diagramas UML, Diagramas de Procesos, Manuales, etc.

Desarrollo:

En esta etapa los programadores tienen asignadas tareas específicas y el arquitecto de software
estará probando los diferentes módulos para poder hacer mejoras, o correcciones al sistema final

Pruebas:
Se hacen pruebas teniendo métricas por ejemplo del rendimiento de la aplicación y saber si un
cambio mejora o no dicho rendimiento.

Implementación:
Se monta el sistema en producción y evaluar su comportamiento, verificando qué funciona
correctamente.
¿CÓMO SE LOGRA?

La arquitectura de software también se relaciona con aspectos como rendimiento, usabilidad,


presupuesto, tecnología e incluso cuestiones estéticas. Para implementarla de manera adecuada es
recomendable apoyarse de una metodología de desarrollo. La forma en la que se definen las
directrices de la arquitectura suele depender de las necesidades del negocio, ya que pueden ser
muy rígidas o ajustables a un proyecto en específico. A continuación, hablaremos sobre los
elementos clave que debe tener un diseño limpio para tu arquitectura de software.
1. Establece sistemas robustos, pero libres de frameworks. Esto permite que la estructura sea
estable e independiente.
2. Ajusta la construcción y el uso de la base de datos. La base de datos es la que debe alinearse
a tus necesidades de negocio, no al revés.
3. Elige las herramientas necesarias para optimizar procesos. Considera la posibilidad de
unificar servicios de automatización de sistemas e integración de aplicaciones, colocándolos
de manera estratégica desde un inicio.
4. Auditable y testable. Es importante crear un ambiente donde el código pueda ser evaluado,
medido y regulado

¿CUÁLES SON LOS ELEMENTOS DE DISEÑO?


1. Patrones: Dan una descripción de los elementos y el tipo de relación que tienen junto con un
conjunto de restricciones sobre cómo pueden ser usados. Un patrón arquitectónico expresa
un esquema de organización estructural esencial para un sistema de software, que consta
de subsistemas, sus responsabilidades e interrelaciones. En comparación con los patrones
de diseño, los patrones arquitectónicos tienen un nivel de abstracción mayor.
2. Tácticas: Las tácticas son decisiones de diseño que influyen en el control de la respuesta de
un atributo de calidad. A diferencia de los patrones de diseño, las tácticas son soluciones
menos detalladas y están enfocadas a atributos de calidad específicos. Se aplican en conjunto
con los patrones durante el diseño de la arquitectura de un sistema.
3. Frameworks: Estos son elementos reutilizables de software que proveen funcionalidades
genéricas enfocadas a resolver cuestiones recurrentes. Los frameworks típicamente se basan
en patrones y tácticas. Un ejemplo de ello es el framework Swing para creación de interfaces
de usuario en Java, que aplica patrones como Modelo-Vista-Controlador (MVC), Observador
y Composite; e incorpora tácticas de modificabilidad y usabilidad tales como la
generalización de módulos y la separación de elementos de interfaz de usuario.
4. Modelos de dominio: Describe las abstracciones con sus atributos y las relaciones entre ellas.
Un modelo de dominio es por lo habitual independiente de la solución y, de hecho, un mismo
modelo de dominio podría usarse para crear distintas soluciones.
5. Componentes COTS: Partes de aplicaciones, o bien, aplicaciones completas listas para ser
integradas. Este tipo de componentes se incorpora por lo habitual de forma binaria previa
configuración mediante algún mecanismo previsto para tal propósito.
6. Servicios web: Son interfaces que encapsulan sistemas completos, los cuales pueden ser
parte de la compañía para la cual se desarrolla el sistema, o bien, pertenecer una empresa
distinta

También podría gustarte