Está en la página 1de 8

UNIVERSIDAD ABIERTA Y A

DISTANCIA DE MÉXICO (UNADM)


UNIDAD 1 (ACTIVIDAD 1)

DISEÑO Y ARQUITECTURA EN EL
DESARROLLO DE SOFTWARE

NOMBRE:
JESÚS FRANCISCO CORTÉS RODRÍGUEZ
MATRÍCULA:
ES162002282
CORREO:
Jfcr@live.com

ÍNDICE
INTRODUCCCIÓN 3
DESARROLLO 4
ANTECEDENTES 4
IMPORTANCIA DEL DESARROLLO DE UNA ARQUITECTURA 5
RELACIÓN CON EL DISEÑO DE SOFTWARE 6

PÁG. 1
ROL DE UN ARQUITECTO EN SOFTWARE Y ACTIVIDADES A REALIZAR 6
MODELOS DE LA ARQUITECTURA DE SOFTWARE 6
MODELOS ESTRUCTURALES 7
MODELOS DINÁMICOS 7
MODELOS DE PROCESOS 7
VISTAS 8
CONCLUSIÓN 9
FUENTES DE CONSULTA 10

INTRODUCCIÓN
En esta unidad comprenderemos la importancia de los patrones ya que proporcionan un marco
de referencia necesario para guiar la construcción de un software, permitiendo a los
programadores, analistas y todo el conjunto de desarrolladores del software compartir una
misma línea de trabajo, cubriendo todos los objetivos y restricciones de las aplicaciones. Los
patrones también establecen la estructura, funcionamiento e interacción entre las partes del
software.

Se analizarán los componentes e interacciones de la arquitectura de software. En la sección de


componentes: clientes y servidores, bases de datos, filtros y niveles en sistemas jerárquicos. En
interacciones: llamadas a procedimientos, comportamiento de variables, protocolos cliente-
servidor y transmisión asíncrona de eventos. El diseño de software tiene varios niveles los
cuales están relacionados entre sí, cada nivel tiene sus propios problemas, técnicas de análisis y

PÁG. 2
componentes los que pueden ser simples o complejos, reglas de composición las cuales
permiten construir componentes complejos.

Es importante saber los tipos de modelos de la arquitectura de software que existen en la


actualidad ya que debemos actualizarnos día a día en dicho entorno.

DESARROLLO

ANTECEDENTES

Aunque el término “arquitectura de software”, tal y como lo concebimos ahora, aparece


en 1992 con el trabajo de Perry y Wolf, sus antecedentes se remontan al menos hasta
finales de la década de los sesenta. En 1968, Dijkstra habla de una estructuración correcta
de los sistemas de software, aunque no la llama arquitectura como tal. Posteriormente, en
1969, P. I. Sharp, comentando las ideas de Dijkstra, ya usa el término arquitectura de
software al mencionar que quizá luego se hable de “la escuela de arquitectura de software
de Dijkstra”, y al mismo tiempo lamentar que la industria de ese tiempo preste muy poca
atención a ésta. Durante la década de los setentas el concepto de arquitectura deambuló
por el aire sin una semántica clara y carente de una expresión pragmática. En esta misma
década, el diseño estructurado dio pie a la independencia entre el diseño y la
implementación. Los trabajos de Parnas sobre técnicas de modularización en decisiones
de diseño y familias de programas, fueron, sin duda, aportaciones esenciales y
permanentes. Las decisiones “tempranas” de diseño, argüía Parnas, probablemente
permanecerían invariantes en el desarrollo de la solución; estas ideas se convierten luego
en lo que hoy se conocen como decisiones arquitectónicas.

Hacia finales de los ochenta y principios de los noventa, comienza a gestarse de manera
más clara la idea de que las aplicaciones tienen una morfología, una estructura. El trabajo
de Perry y Wolf de 1992 es el punto de partida para lo que hoy conocemos como
arquitectura de software. Por un lado, son los primeros que proponen un modelo para la
arquitectura de software; este modelo contempla a la arquitectura formada por tres

PÁG. 3
componentes: elementos, forma y razón. Los elementos pueden ser de procesamiento,
datos o conexión; la forma se define de acuerdo a las propiedades de, y a las relaciones
entre los elementos; la razón se contempla en términos de restricciones del sistema, que
se derivan de los requerimientos del sistema. En la segunda mitad de los noventa
aparecen los primeros libros de texto dedicados a la arquitectura de software. El año 2000
cierra esta década con dos trabajos clave: el modelo REST propuesto en la tesis de Roy
Fielding que pone la atención en Internet y los modelos orientados a servicios; y el
trabajo de la IEEE, que genera una versión definitiva de la recomendación IEEE std
1471-2000. Actualmente hay una cierta efervescencia alrededor de desarrollos centrados
en arquitectura, métodos de análisis y diseño de arquitecturas (dentro del ciclo de vida),
análisis de arquitecturas de software basados en escenarios, modelos de evaluación de
arquitecturas de software y modelos orientados por la arquitectura entre algunos otros
tópicos.

IMPORTANCIA DEL DESARROLLO DE UNA ARQUITECTURA DE SOFTWARE

La arquitectura de software es muy importante dado a que se encarga de diseñar las


entrañas del software, desde los algoritmos hasta la estructura de los datos. Concretando
un poco, podríamos decir que es un conjunto de padrones a través de los cuales se define
como tendrá que ser el código fuente. Marca unas pautas, objetivos y restricciones
teniendo en cuenta los posibles riesgos a los que se puede enfrentar el desarrollo y cómo
superarlo. También es necesario tener presente como quieres que interactúen las
diferentes partes del sistema. Hay que tener bien claro que la arquitectura de software es
un cúmulo de decisiones que pueden alterar el producto final en su totalidad.

RELACIÓN CON EL DISEÑO DE SOFTWARE

La etapa de diseño es la etapa central en relación con la arquitectura y probablemente la


más compleja. Durante esta etapa se definen las estructuras que componen la
arquitectura. La creación de estas estructuras se hace en base a patrones de diseño,
tácticas de diseño y elecciones tecnológicas. El diseño que se realiza debe buscar ante
todo satisfacer los requerimientos que influencian a la arquitectura, y no simplemente
incorporar diversas tecnologías porque están “de moda”.

ROL DE UN ARQUITECTO EN SOFTWARE Y ACTIVIDADES A REALIZAR

PÁG. 4
 Gestión de los requisitos no funcionales y definición de la Arquitectura de
Software[ CITATION CAR14 \l 2058 ]
 Selección de la Tecnología
 Mejora continua de la Arquitectura
 Facilitador
 Líder y Formador
 Aseguramiento de la Calidad

MODELOS DE LA ARQUITECTURA DE SOFTWARE

Reducir la cantidad de codificación manual, aumentar la reutilización, evitar


comprometer la seguridad, minimizar la carga sobre la infraestructura. son algunos de los
objetivos que podrán o no conseguirse efectivamente en función de la metodología de
desarrollo que se decida utilizar.

MODELOS ESTRUCTURALES

El modelado estructural sirve para describir los diferentes tipos y relaciones estáticas
existentes entre los diferentes objetos de un sistema. Al igual que un arquitecto crea los
planos de un edificio antes de su construcción, a la hora de desarrollar software, debemos
modelar correctamente el sistema previamente al desarrollo, pudiendo incorporar el
patrón o los patrones de diseño que nos ayuden a optimizar la solución a un determinado
problema.

La principal forma de emplear el modelado estructural es mediante el uso de:

Diagramas de clases: normalmente están formados por Clases, Interfaces y Relaciones.

MODELOS DINÁMICOS

Un proyecto de Desarrollo de software es un sistema dinámico socio tecnológico


complejo, cuya evolución temporal está dada por:

 Su estructura interna
 Las características y relaciones establecidas entre los técnicos.
 El nivel de madurez de la organización.

PÁG. 5
MODELOS DE PROCESOS

Es un conjunto de actividades, tareas y acciones que se realizan con el fin de alcanzar el


desarrollo completo de un proyecto de software.

Existen diferentes modelos de proceso tales como los prescriptivos que se utilizan cuando
los requerimientos de software se encuentran bien definidos, los especializados que
incluyen las características de uno o más modelos tradicionales y se utilizan cuando el
enfoque del proyecto se encuentra bien definido.

Los modelos de proceso especializado tienen muchas de las características de uno o más
de los modelos tradicionales que se presentaron en las secciones anteriores. Sin embargo,
dichos modelos tienden a aplicarse cuando se elige un enfoque de ingeniería de software
especializado o definido muy específicamente.

VISTAS

La vista lógica representa los requisitos funcionales de un sistema y lo que debe de hacer.

Se representa a través de los siguientes diagramas:

Diagrama de clases: En ingeniería de software, un diagrama de clases en lenguaje


unificado de modelado es un tipo de diagrama de estructura estática que describe la
estructura de un sistema mostrando las clases del sistema, sus atributos, y las relaciones
entre los objetos.[ CITATION WIK19 \l 2058 ]

Diagrama de secuencia: Un diagrama de secuencia muestra la interacción de un conjunto


de objetos en una aplicación a través del tiempo y se modela para cada caso de uso.

CONCLUSIÓN

En este trabajo comprendí la importancia del diseño y reconstrucción de códigos en el


ámbito de desarrolladores de software. Ya que al comprender la estructura del mismo
podemos hacer un análisis y llevar a cabo soluciones ante problemáticas que se nos
puedan presentar.

PÁG. 6
Referencias
CARLOS MENDIBLE . (29 de JULIO de 2014). FUNCIONES DE UN ARQUITECTO DE SOFTWARE.
Obtenido de FUNCIONES DE UN ARQUITECTO DE SOFTWARE:
https://itblogsogeti.com/2014/07/29/cual-es-la-funcion-de-un-arquitecto-de-software-carlos-
mendible-sogeti/

Dewayne E. Perry y Alexander Wolf. “Foundations for the study of software architecture”, A. S.-5. (10 de
octubre de 1992). https://sg.com.mx/content/view/409.

Software Guru . (2008). Arquitectura de Software. Obtenido de Arquitectura de Software:


https://sg.com.mx/content/view/409

WIKIPEDIA. (10 de 04 de 2019). VISTAS. Obtenido de VISTAS:


https://es.wikipedia.org/wiki/Diagrama_de_clases

PÁG. 7
PÁG. 8

También podría gustarte