Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Luis Fernando González Rengifo, Manuel Felipe López Cuellar, Andrés Felipe Vanegas
Tabla de Contenido
Introducción .................................................................................................................................................. 4
Objetivo General ........................................................................................................................................... 6
Objetivos específicos ................................................................................................................................ 6
Desarrollo de los Temas Comprensión General de Arquitectura de Software .............................................. 7
Arquitectura de Software .............................................................................................................................. 8
Actividades que Hace un Arquitecto de Software ...................................................................................... 10
Concepción del Proyecto ........................................................................................................................ 10
Figura 3 ....................................................................................................................................................... 11
Requerimientos ....................................................................................................................................... 12
Figura 4 ....................................................................................................................................................... 13
Diseño del sistema .................................................................................................................................. 14
Figura 5 ....................................................................................................................................................... 15
Construcción y pruebas del sistema ........................................................................................................ 16
Figura 6 ....................................................................................................................................................... 17
Liberación ............................................................................................................................................... 18
Procesos de Arquitectura ............................................................................................................................ 19
Figura 7 ....................................................................................................................................................... 20
Estilos Arquitectónicos ............................................................................................................................... 21
Shared Data (Datos Compartidos) .......................................................................................................... 22
Ventajas y desventajas. ....................................................................................................................... 22
Pizarrón (Blackboard) ............................................................................................................................. 22
Ventajas y desventajas. ....................................................................................................................... 22
Cliente-Servidor ...................................................................................................................................... 23
Ventajas y desventajas. ....................................................................................................................... 23
Capas Jerárquicas .................................................................................................................................... 24
Ventajas y desventajas. ....................................................................................................................... 24
Descomposición Orientada a Objetos ..................................................................................................... 25
Ventajas y desventajas. ....................................................................................................................... 25
Tubos y Filtros ........................................................................................................................................ 25
Ventajas y desventajas. ....................................................................................................................... 25
Modelos de control ................................................................................................................................. 26
Ventajas y desventajas. ....................................................................................................................... 26
3
Introducción
Este inicio de semestre nos vemos ceñidos en una nueva etapa como estudiantes al
encontrarnos con una materia fundamental para nuestro crecimiento como ingenieros de sistemas,
es por ello que con mucho entusiasmo le damos apertura a la materia arquitectura de software, en
esta asignatura encontraremos material de sobra que nos ayudará a conceptualizar diversos temas
Llevaremos a cabo una ilustración para dar apertura, a un tema importante como la
comprensión general de la arquitectura de software y esto a su vez tendrá como contenidos ciertos
arquitectónicos?
Siendo importante resaltar lo beneficioso que son estos temas para nuestro crecimiento
Es por eso que es menester, hablar de la arquitectura de software, pues, aunque a simple
vista es algo que ya podemos comprender, no podemos alejarlo de la realidad que acontece
aquella persona que tenga el titulo arquitecto debe estar altamente capacitado para ejercer y
adentrarse en su materia donde es sobresaliente para diseñar proyectos que giren entorno a
Este a su vez tiene derivadas, las cuales son fundamentales pues de esta manera sabremos
Objetivo General
software.
Objetivos específicos
software han estado desarrollando sistemas sin tomar en cuenta este aspecto y por lo tanto los
sistemas resultantes no son lo que los clientes desean o en el mejor de los casos no cumple con
todos los objetivos establecidos, por lo tanto se realizan sistemas sin calidad y se requiere de más
paso muy importante en el desarrollo de sistemas de software complejos y grandes, donde un gran
número de personas deben colaborar para el desarrollo de la misma (clientes, usuarios finales,
define a alto nivel los componentes y su interrelación, así como su responsabilidad dentro del
sistema. La Arquitectura de Software deberá plasmar el(los) estilos arquitectónicos en que estará
basada, así como fundamentar el uso del mismo para satisfacer los requerimientos funcionales y
los atributos de calidad, dejando plasmado en un documento todas las decisiones que se hayan
tomado (tradeoffs, reutilización de componentes, evaluación de la arquitectura, etc.) para que esté
a su vez sirva como medio de comunicación entre los stakeholders. (Araceli, 2006)
8
Arquitectura de Software
ingenieros aprecian intuitivamente, sobre todo los que tienen un poco de experiencia, pero resulta
difícil definirlo con precisión. En concreto, es difícil dibujar una línea precisa entre el diseño y la
específicas.
David Garlan y Mary Shaw sugieren que la arquitectura es un nivel de diseño que se centra en
aspectos: "Beyond the algorithms and data structures of the computation; designing and
specifying the overall system structure emerges as a new kind of problem. Structural issues
include gross organization and global control structure; protocols for communication,
distribution; composition of design elements; scaling and performance; and selection among
diseño y la especificación de la estructura general del sistema emergen como una clase nueva de
Figura 1 Figura 2
2015)
10
la medida, inicia generalmente por una etapa en la cual se debe de generar una propuesta técnica
y económica, muchas veces en un periodo corto de tiempo. En esta etapa, el arquitecto juega un
papel muy importante pues en general en él recae la responsabilidad de realizar una traducción de
las necesidades que expresa un cliente hacia una solución técnica preliminar, que es una pieza
clave para producir una estimación del esfuerzo necesario para realizar el desarrollo. El arquitecto
puede, de hecho, también participar en el trabajo de estimación del sistema. Durante esta etapa
del proyecto, el arquitecto debe hacer uso de habilidades técnicas (“duras”) y no técnicas
(“suaves”). Como parte de las habilidades técnicas, debe poder identificar estilos arquitectónicos
y tecnologías que sean apropiados para resolver el problema y proponer una solución preliminar.
Como parte de las habilidades no-técnicas, debe ser capaz de realizar un análisis de las
necesidades del cliente, especialmente desde una perspectiva de negocio y poder explicar la
Figura 3
Nota. Línea plana ilustración de gráfico nació proyecto de inicio de proyecto de proceso de
la idea de éxito para la bandera del sitio web y la página de destino, infografía e icono. Tomada
de (123RF, s.f.)
12
Requerimientos
atributos de calidad del sistema. El arquitecto debe preocuparse por que se identifiquen atributos
de calidad pertinentes para el sistema (alineados a los objetivos de negocio) y que las métricas
asociadas estén justificadas. En caso de que el cliente solicite atributos de calidad con métricas
muy demandantes (por ejemplo, una disponibilidad del 99.99%) debe ser capaz de entender la
justificación de esas métricas y, en caso necesario, debe poder negociar con el cliente para
establecer métricas adecuadas. Nuevamente, el arquitecto debe emplear aquí una combinación de
habilidades “duras” y “suaves” con el fin de lograr una identificación adecuada de los
Figura 4
documentación de los requerimientos del futuro sistema al comienzo del proyecto, pues en
numerosas ocasiones se ha demostrado que es cuando pueden prevenirse errores que puedan
La etapa de diseño del sistema es aquella donde el arquitecto de software juega el papel
uso de todas sus habilidades técnicas con el fin de establecer una solución técnica pertinente que
la etapa de diseño, el arquitecto debe también hacer uso de muchas habilidades no-técnicas. La
comunicación durante esta etapa es fundamental, ya que el arquitecto debe ser capaz de comunicar
el diseño, y las decisiones que lo llevaron al mismo, ya sea de forma escrita, como parte de la
equipo de desarrollo. Durante la evaluación del diseño de la arquitectura, el arquitecto debe ser
y debe ser capaz de responder a las preguntas de dicho comité, o bien de aceptar las observaciones
Figura 5
Durante de la construcción del sistema, el esfuerzo técnico del arquitecto disminuye, aunque
esto no significa que ya no se realizan actividades técnicas. En esta etapa, desde un punto de vista
técnico, el arquitecto debe terminar de completar las partes faltantes del diseño de la arquitectura
y corregir las decisiones previas que hayan resultado ser equivocadas. Desde un punto de vista
no-técnico, el esfuerzo aumenta pues el arquitecto debe enfocarse en cuidar que el sistema se
desarrolle de acuerdo a la arquitectura que se definió para el mismo. Aquí el arquitecto juega un
papel de mentor y muchas veces debe explicar cuestiones del diseño del sistema al equipo de
como inspecciones de productos de trabajo, ya que su nivel técnico y conocimiento del dominio
del problema le da una ventaja para identificar problemas que posiblemente podrían no ser
identificados por ingenieros con un nivel técnico y conocimiento del dominio del problema
del sistema.
17
Figura 6
Nota. Dependiendo del tamaño de la Empresa que usara el Sistema y el riesgo asociado a
Liberación
realizar ajustes finos sobre el sistema, en particular una vez que el sistema ya está operando en el
ambiente de uso definitivo. La participación del arquitecto puede estar enfocada a realizar ajustes
identificar que procesos definen una estructura funcional y se anticipa al proceso mismo,
Process Architecture Diagram, por sus siglas en inglés), dichos diagramas son el portafolio de
realizan en ellos.
Los diagramas PAD son los responsables de la estrategia de negocios, ya que definen
objetivos, metas y acciones, que deberán estar contemplados en los procesos esenciales de la
Con la incorporación de las TICs contar con una arquitectura de procesos, desde una
Procesos de Arquitectura
Process Architecture Diagram, por sus siglas en inglés), dichos diagramas son el portafolio de
realizan en ellos.
Los diagramas PAD son los responsables de la estrategia de negocios, ya que definen
objetivos, metas y acciones, que deberán estar contemplados en los procesos esenciales de la
Con la incorporación de las TICs contar con una arquitectura de procesos, desde una
organización, en este trabajo se propone la forma de convertir las relaciones de las unidades de
de Primer corte), y utilizando este como marco de referencia en las tareas de reingeniería o
rediseño de los procesos esenciales para lograr un diagrama mejorado (PAD de Segundo corte).
Figura 7
modelado detallado de las actividades que se realizan en ellos. Tomada de (Mayra, s.f.)
21
Estilos Arquitectónicos
La idea detrás de los estilos arquitectónicos es que los sistemas complejos se encuentran
compuestos de diferentes subsistemas que tienen como objetivo trabajar en conjunto para el
desarrollo de un objetivo, y que son controlados por un subsistema mayor. Así, un estilo
arquitectónico presenta los subsistemas, las diferentes reglas para el comportamiento estos y como
interactúan entre sí, con el fin de permitir tomar decisiones acertadas en cuanto el diseño de un
“La arquitectura de software para un Sistema es la estructura o estructuras del sistema, que
están formadas por elementos, sus propiedades visibles, y las relaciones entre ellos” (Clements,
2003). Una estructura de estructuras plantea la abstracción de un sistema a partes atómicas que
tienen una sola función y que permiten la creación de una red de estructuras, en el estudio de los
estilos arquitectónicos, se intenta definir cómo se van a agrupar las diferentes partes en estructuras
y cómo será la comunicación de estas entre sí, como es de esperarse, los diferentes estilos se
acomodan a una serie de necesidades en específico, lo que implica que estos tengan asociados
ventajas y desventajas, las cuáles serán discutidas a lo largo de este documento. Algunos estilos
arquitectónicos son:
22
Se basa en un conjunto central de datos, diferentes componentes y como estos operan sobre
él. El intercambio de datos es crucial en este estilo, ya que se tiene acceso múltiple a la
Ventajas y desventajas.
Presenta una forma eficiente para compartir grandes cantidades de datos, ya que estos no
se transmiten de un componente a otro, pero esto supone que los diferentes sistemas deben estar
Pizarrón (Blackboard)
se realiza un cambio en los datos la aplicación responde oportunamente y según qué cambio se
haya realizado.
Ventajas y desventajas.
Cliente-Servidor
se realiza de parte del cliente y del lado del servidor solo se muestra la información y mediante
esta el cliente puede hacer llamados al servidor para que este realice operaciones y de igual manera
estas sean mostradas. Existen 2 tipos de cliente, el cliente fino y el cliente grueso, la diferencia
entre los 2 es que el cliente fino solo se encarga de ejecutar únicamente la capa de presentación y
Ventajas y desventajas.
Se presenta una centralización del control, la integridad de los datos es controlada por el
servidor de forma que un ente no autorizado no puede dañar el sistema, este es escalable ya que
se puede mejorar la experiencia de los clientes o servidores por separado. Sin embargo, se puede
presentar una congestión de tráfico cuando una gran cantidad de clientes envían peticiones
simultáneas al servidor. Y el software está limitado a la cantidad de clientes que pueda soportar
hardware.
24
Capas Jerárquicas
comunicación de cada capa tiene que ser con la capa inmediatamente anterior, en cuanto a la
recepción de datos, y con la inmediatamente superior para la entrega de datos. Existen dos
modelos para este estilo arquitectónico, el modelo escrito y el modelo relajado, el modelo estricto
es el estilo arquitectónico como tal y el modelo relajado permite que la comunicación pueda de
vez en cuando “saltarse” una o varias capas. En este estilo arquitectónico ninguna capa sabe de la
Ventajas y desventajas.
mantenimiento, sin embargo, la interpretación de un comando que afecte varios niveles puede
El sistema se descompone en los objetos que lo componen y cada uno de estos se comunica
con los demás, en este estilo se hace uso de herencia y polimorfismo, mecanismos que permiten
Ventajas y desventajas.
gracias que cada objeto abstrae un objeto de la realidad es sencillo entender a la estructura que
pueda tener el sistema. De mismo modo, el cambio en una interface afecta a todos los objetos que
la utilizan.
Tubos y Filtros
Existen módulos con función establecida que se comunican con una interacción establecida
como que los datos llegan a un filtro, este los procesa y los envía a otro tubo. Solo existe un tubo
que puede pasar y recibir datos de múltiples filtros, por lo general este tubo es el tubo de control.
Ventajas y desventajas.
26
muy intuitivo, además que se pueden reutilizar filtros y agregar fácilmente una nueva
Sin embargo, los sistemas se tienen que construir de forma genérica si los diferentes
componentes son reutilizados en algún punto, y los sistemas que sean interactivos serán más
difíciles de construir.
Modelos de control
control basado en eventos, en el que el sistema responde a eventos generados por otro sistema, un
Ventajas y desventajas.
Se presenta un control centralizado, lo que permite que el control del sistema sea más
sencillo, sin embargo, en un sistema basado en control por manejo de eventos, la implantación
El procesamiento de los datos está distribuido en diferentes computadoras. Puesto que los
las computadoras pueden tener diferentes tipos de procesadores, o usar diferentes protocolos de
intercambio de datos. Estos son adquiridos comercialmente pues estos poseen un propósito
general.
Ventajas y desventajas
Puesto que el sistema es distribuido, se comparten recursos, de tal manera que se posee una
tolerancia a fallas mayor que toros modelos, y este es fácilmente escalable. Sin embargo, la
Objetos Distribuidos
Este estilo plantea que el sistema está compuesto de diferentes objetos que proveen y usan
diferentes servicios, en este caso no existe una distinción entre clientes y servidores, existe una
Ventajas y desventajas.
Este estilo permite que la aplicación implementada tenga gran concurrencia pues los
recursos disponibles en la red se pueden utilizar de manera simultánea por diferentes usuarios, lo
que permite que los fallos sean independientes de los componentes, pues cada componente puede
fallar independientemente, y los demás pueden continuar ejecutando sus diferentes acciones
Peer-To-Peer
Estilo arquitectónico que dicta que el sistema debe ser uno descentralizado, en el que se
realicen las diferentes operaciones en cualquier nodo de la red en la que se encuentre, esto permite
Ventajas y desventajas.
En los sistemas con arquitectura p2p se pueden presentar problemas de seguridad, y exceso
Estilo arquitectónico que se adapta a software que intenta hacer la información accesible a
todo tipo de personas, mediante el uso de una interface web. El servicio que estas aplicaciones
prestan es independiente de cualquier aplicación que pueda llegar a utilizarlo, de tal forma que
Ventajas y desventajas.
El servicio es independiente de las aplicaciones que lo puedan llegar a utilizar. Lo que dicta
que para si se cambia algo en el servicio, la aplicación puede llegar a cambiar, y habrá que cambiar
Tipos de Arquitectos
Arquitecto Empresarial
Se encarga de que los sistemas de software estén alineados con los procesos y la estrategia
Algunas Actividades.
Especificar la comunicación con sistemas externos. Analizar cómo las personas usan el
Arquitectos de soluciones
Algunas Actividades.
Trabajan con analista de negocios product owners. Diseñan Conexiones entre sistemas.
Arquitectos de Aplicación
Ejemplos.
Ejemplo.
Ejemplos.
Arquitecto Could
Ejemplos.
se encarga de que el hardware soporte las necesidades del negocio y e software se relaciona
Arquitecto de Seguridad.
arquitecturas.
Arquitectos de Datos
Diseña, despliega y administra los datosde una empresa algunas actividades diseñar como
los datos serán guardados, utilizados e integrados definir procesos para hacer backups, recuperar
Arquitecto de Información
Realizar pruebas de usabilidad. Trabajan con diseñadores para mejora la experiencia de usuarios
(UX)
34
Conclusiones
Fue muy interesante encontrar que todos los temas eran bastantes convergentes lo que lo
hace muy sencillo de comprender, la información redactada fue muy sencilla de encontrar es por
eso que investigar por nuestra propia cuenta también será una manera factible para complementar
las dudas que podamos llegar a tener, es por eso que durante el desarrollo del informe se llegó a
la conclusión que estos temas pueden aportar amplios conocimientos necesarios para el
labores con una mira de éxito inquebrantable, puesto que basa su trabajo en mantener una línea
Es necesario que a medida que concluye su labor, es menester ahorrar gastos, para tener la
posibilidad de darle cavidad a otros espacios donde se desarrolla con más fluidez el proceso y
verificar una evolución dentro de sus funciones emanadas por códigos aritméticos, el cual tiende
Configurarlo de tal manera que se tenga un pleno conocimiento amplio de él, pues las
acelerar la rapidez con que ejecuta actividades, la forma en que soluciona errores y alcanza las
35
expectativas humanas incluso en los asuntos más complejos respecto a tareas humanamente
Así mismo podemos entre ver el enfoque que todo el tiempo y en cada párrafo de nuestro
incita y en algunas ocasiones se exigen grandes aportes que apuntan a un resultado positivo por
parte de la sociedad, el cual se hace mención a la innovación en estas plataformas, con el ánimo
de curar las carencias de las tareas humanas y hagan más fácil y sencilla la vida de los mismos,
con el compromiso inminente y comprometedor de que actué de tal forma positivamente con un
Bibliografía
https://cimat.repositorioinstitucional.mx/jspui/bitstream/1008/89/2/TE%20197.pdf
https://cgrw01.cgr.go.cr/rup/RUP.es/SmallProjects/core.base_rup/guidances/concepts/sof
tware_architecture_4269A354.html
buena-arquitectura-de-software
XYZ: https://www.definicion.xyz/2017/02/arquitectura.html
https://sg.com.mx/revista/33/el-rol-del-arquitecto-software
https://es.123rf.com/photo_57231353_línea-plana-ilustración-de-gráfico-nació-proyecto- de-
inicio-de-proyecto-de-proceso-de-la-idea-de-éxito-para-la-b.html
37
http://www.pmoinformatica.com/2016/08/tecnicas-levantamiento-requerimientos.html
[fotografia].
http://ingenieriadesoftwareisc.blogspot.com/2016/05/arquitectura-en-el-diseno-del-
software.html
sitio-web-de-comercio-electronico/1-7-4-prueba-implementacion- y-mantenimiento-del-sistema
https://fernandoarciniega.com/arquitectura-de-procesos/
procesos-2/
38
https://www.studocu.com/co/document/universidad-pedagogica-y-tecnologica-de-
colombia/ingenieria-de-software/informe/estilos-arquitectonicos/5102680/view
software: https://youtu.be
39