¿Qué es arquitectura de software?

5/24
Recursos

Aportes 77

Preguntas 6

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Arquitectura de software:
"La estructura del sistema, compuesta por elementos de software, sus propiedades visibles y sus relaciones"
Según: Software Architecture in practice (Bass, Clements & Kazman, 2003)

"Conjunto de decisiones principales de diseño tomadas para el sistema"
Según: Software Architecture: Foundations, Theory and Practice (Taylor, 2010)

"(…) la arquitectura se reduce a las cosas importantes, cualesquiera que sean"
Según: Patterns of Enterprise Application Architecture (Fowler, 2002)

La arquitectura, más que un modelo es algo estructural. El concepto de arquitectura de software se refiere a la estructuración del sistema que, idealmente, se crea en etapas tempranas del desarrollo. Esta estructuración representa un diseño de alto nivel del sistema que tiene dos propósitos

  • satisfacer los atributos de calidad (desempeño, seguridad, modificabilidad)
  • servir como guía en el desarrollo.

El no crear este diseño desde etapas tempranas del desarrollo puede limitar severamente el que el producto final satisfaga las necesidades de los clientes. Además, el costo de las correcciones relacionadas con problemas en la arquitectura es muy elevado. Es así que la arquitectura de software juega un papel fundamental dentro del desarrollo.

En resumen
La arquitectura de software es el modelo estructurado Ideado, que puede estar compuesto por un conjunto de diagramas en los que se explica de manera general el funcionamiento de la aplicación.

La Arquitectura de un sistema de software es la organización fundamental de dicho sistema plasmada en sus componentes, las relaciones entre estos y con el entorno, y los principios que guían su diseño e implementación.
ISO/IEC 42010:2007

RESUMEN:

La arquitectura de software modela elementos de software, sus propiedades visibles, etc. Es considerada un conjunto de desiciones princicpales de diseño para llegar a un resultado de calidad en el sistema. La arquitectura puede emerger de un equipo autogestionado o de un arquitecto externo, y está claramente influenciada según el marco de referencia en el que se trabaje.

Ejemplo de la arquitectura de twitter:

Inicialmente procesa el mensaje que se twitteará a través de una API que se comunica con unos servicios separados que a su vez tienen diferentes funciones y que están en Asyncronous path.

Amazon web services, orienta su aarquitectura al despliegue, disponibilidad , carga y crecimiento de una aplicación. Mientras Flux, de React, habla en un alto nivel de su arquitectura según un flujo monodireccional de los datos.

Probablemente exista un diagrama más actualizado, sin embargo, para entender mejor la arquitectura presentada del ejemplo de Twitter, coloco la siguiente liga http://highscalability.com/blog/2013/7/8/the-architecture-twitter-uses-to-deal-with-150m-active-users.html

Mis felicitaciones por incluir, no solo varias definiciones, sino además varias escuelas de pensamientos.

La arquitectura de software:
• Está compuesta por elementos de software “Módulos del sistema”
• Conjunto de decisiones principales que afectan al proyecto
• Cualquier cosa importante que tenga que ver con el proyecto “diseño/tecnologías a utilizar”

La arquitectura de software puede tener muchas definiciones.

Tomando en cuenta el punto de vista de estructura. La arquitectura puede ser tomada como software y sus elementos que la componente para que enconjunto funcionen.

Luego podriamos decir tambien que la arquitectura de software tiene consideraciones y efectos desencadenadas en decisiones importantes tomadas para enfocar y llegar a la mejor solución a ser implementada. Por lo que no puede ser definida de forma aislada en el proceso de desarrollo, sino con los perfiles o personas que puedan ser afectados de forma directa o indirecta.

Principios del Manifiesto Ágil

  • Nuestra mayor prioridad es satisfacer al clientemediante la entrega temprana y continua de softwarecon valor.
  • Aceptamos que los requisitos cambien, incluso en etapastardías del desarrollo. Los procesos Ágiles aprovechanel cambio para proporcionar ventaja competitiva alcliente.
  • Entregamos software funcional frecuentemente, entre dossemanas y dos meses, con preferencia al periodo detiempo más corto posible.
  • Los responsables de negocio y los desarrolladorestrabajamos juntos de forma cotidiana durante todoel proyecto.
  • Los proyectos se desarrollan en torno a individuosmotivados. Hay que darles el entorno y el apoyo quenecesitan, y confiarles la ejecución del trabajo.
  • El método más eficiente y efectivo de comunicarinformación al equipo de desarrollo y entre susmiembros es la conversación cara a cara.
  • El software funcionando es la medida principal deprogreso.
  • Los procesos Ágiles promueven el desarrollosostenible. Los promotores, desarrolladores y usuariosdebemos ser capaces de mantener un ritmo constantede forma indefinida.
  • La atención continua a la excelencia técnica y albuen diseño mejora la Agilidad.
  • La simplicidad, o el arte de maximizar la cantidad detrabajo no realizado, es esencial.
  • Las mejores arquitecturas, requisitos y diseñosemergen de equipos auto-organizados.
  • A intervalos regulares el equipo reflexiona sobrecómo ser más efectivo para a continuación ajustar yperfeccionar su comportamiento en consecuencia.

Arquitectura de software se refiere a la estructuración del sistema que, idealmente, se crea en etapas tempranas del desarrollo. Esta estructuración representa un diseño de alto nivel del sistema que tiene dos propósitos primarios: satisfacer los atributos de calidad (desempeño, seguridad, modificabilidad), y servir como guía en el desarrollo. Al igual que en la ingeniería civil, las decisiones críticas relativas al diseño general de un sistema de software complejo deben de hacerse desde un principio. El no crear este diseño desde etapas tempranas del desarrollo puede limitar severamente el que el producto final satisfaga las necesidades de los clientes. Además, el costo de las correcciones relacionadas con problemas en la arquitectura es muy elevado. Es así que la arquitectura de software juega un papel fundamental dentro del desarrollo.

"El concepto de arquitectura de software se refiere a la estructuración del sistema que, idealmente, se crea en etapas tempranas del desarrollo. Esta estructuración representa un diseño de alto nivel del sistema que tiene dos propósitos primarios: satisfacer los atributos de calidad (desempeño, seguridad, modificabilidad), y servir como guía en el desarrollo"

Me parece que esta definición también es bastante válida

Completamente necesario entender esta clase . L la

Entonces: La arquitectura de software comprende desde la toma de decisiones importantes referente a la solución que se requiere a un requerimiento, pasando por la estructuración (abstracción) del diseño de dicha solución y por procesos de constante rediseño y reestructuración.

La arquitectura es una actividad constante que tiene que ver con las decisiones importante sin importar cuales sean

La Arquitectura plantea modelos haciendo análisis fuertes sobre que es lo que hay que construir, sus requerimientos y como va a resolver un problema

Para mí la arquitectura de software es fundamental al iniciar un nuevo proyecto, evaluar qué lenguajes son más eficientes para el producto, pensar en toda la estructura, las relaciones que tienen desde su lógica. Para mí es el punto más importante al momento de analizar un sistema ya que una vez se define la arquitectura, dependiendo del análisis que se hizo puede ser o no, una buena solución. Lo importante es evaluar todos los casos posibles y ser muy perspicaz.

La arquitectura de software es la encargada de todos los procesos importantes para una página web o cualquier tipo de software

Buena clase!

Aporto mi resumen o lo que entendí:

Arquitectura de Software
Planeación de qué se debe construir, qué decisiones se deben tomar y creación de modelos y diagramas y cómo ese sistema lo va a resolver.

La arquitectura del software define la estructura que debe de tener un software, las piezas que debemos construir y el modo en el que se deben de juntar y trabajar entre ellas. Se define a alto nivel mediante una serie de patrones y abstracciones que seguir para el desarrollo del software y para la interacción entre sus diversas piezas.
By: https://bit.ly/2B31vcU

¿Arquitectura de software?
- La estructura del sistema, compuesta por elementos de software, sus propiedades visibles y sus relaciones
- Conjunto de decisiones principales de diseño tomadas para el sistema
- Se reduce a las cosas importantes

  1. What Is Software Architecture?
    We are called to be architects of the future, not its victims.
    —R. Buckminster Fuller

The basic principle of software architecture is every software system is
constructed to satisfy an organization’s business goals, and that the architecture
of a system is a bridge between those (often abstract) business goals and the 􀅁nal
(concrete) resulting system. While the path from abstract goals to concrete
systems can be complex, the good news is that software architectures can be
designed, analyzed, and documented using known techniques that will support
the achievement of these business goals. The complexity can be tamed, made
tractable.
Len Bass_ Paul Clements_ Rick Kazman - Software Architecture in Practice, 4th Edition-Addison-Wesley Professional (2021)

Excelente clase!

QUIERO VER LA ARQUITECTURA DE LA CENSURA

george orwell
"1984"
pelicula

BIG BROTHER

censura orwelliana.

ya no puede una decir nada, ni pio.
bienvenidos a BIG BROTHER.

LA TECNOLOGIA MALAMENTE LAS COMPAÑIAS PSICOPATAS DE GAFAM GOOGLE FACEBOOK AMAZON META estan usando la tecnologia para SUBYUGAR A LA HUMANIDAD AUN MAS, NO PARA LIBERARLA.
de nada.

quiero ver la arquitectura del zuckaritas:

para ver porque cada que digo algo me censura 30 dias…HAHAHAHAHHAHAHHA

NO LE GUSTA ESCUCHAR SUS NETAS Y VERDADEs, ni las netas y verdades de estados unidos y rusia.

ASI SON LOS SESGADITOS.
uwu

Te quiero, LINK… tu velocidad de procesamiento es tremenda, cuidado con los backdoors… tu amigo, NEO.

¡¡Magnífiico!!

En desarrollo ágil el arquitecto forma parte del equipo de desarrollo porque ya no se ve envuelto solo en la etapa de diseño, sino en toda actividad arquitectonica dentro del proceso de desarrollo de software.

La arquitectura se apoya en los modelos, pero la solución arquitectonica recae realmente en las razones por las cuales se diseñan y relacionan distintos componentes de un sistema.

¿Que es la arquitectura de software?

llega a modelos haciendo análisis de que hay que resolver
"La estructura del sistema, compuest6a por elementos del software, sus propiedades y sus relaciones"
“El conjunto de decisiones principales de diseño tomadas para el sistema”
“La arquitectura se reduce a las cosas importantes, cualesquiera que sean”

EJEMPLOS

  • Véase el diagrama de Twitter
  • Diagrama arquitectónico de una aplicación Flux frontend de react

siguientes clases…

  • ¿Que es un arquitecto de software?
  • ¿Que es arquitectar o los objetivos del arquitecto?

Increíble todo lo que hay detrás de las aplicaciones que utilizamos

Tuve que ver esta clase más de una vez para poder procesarla mejor. Tiene mucha información y muy valiosa.

¿La arquitectura puede tener símbolos y fotos no formales o debe ser creado en lenguajes estandarizados como UML?

¿Qué es arquitectura de software?
“Es una vista del sistema que incluye los componentes principales del mismo, la conducta de esos componentes según se la percibe desde el resto del sistema y las formas en que los componentes interactúan y se coordinan para alcanzar la misión del sistema. La vista arquitectónica es una vista abstracta, aportando el más alto nivel de comprensión y la supresión o diferimiento del detalle inherente a la mayor parte de las abstracciones.” (Reynoso 2006, Introducción a la arquitectura del software)

5. Mis apuntes sobre: "¿Qué es arquitectura de software?"
5.1. Qué es la arquitectura de software
5.2. Qué es un arquitecto de software
5.3. Qué es arquitectar: Objetivos, y cómo esos objetivos varían dependiendo de
la metodología.

5.1. Arquitectura: La arquitectura llega a modelos y plantea modelos, haciendo análisis
fuerte sobre lo que hay que construir, y cómo el sistema lo va a resolver.

"La estructura de un sistema, compuesta por elementos de software, sus propiedades visibles
y sus relaciones"-->Software Architecture in Practice (2003)

"El conjunto de decisiones principales de diseño tomadas para el sistema"
->Software Architecture Foundations (2010)

"(...) la arquitectura se reduce a las cosas importantes, cuales quieran sean,"
Patterns of Enterprise Application Architecture (Fowler, 2002)

Entonces
que es primero la arquitectura o los requerimientos? o pueden ir cambiando en paralelo?

¿Qué es arquitectura de software?
La arquitectura llega a modelos y los plantea después de hacer un análisis fuerte de lo que hay que construir según requerimientos y cómo es que ese sistema los va a resolver.

La arquitectura son aquellas decisiones importantes que marcan el funcionamiento o implementaciones

Excelente Docente; Se explica Muy bien.

genial

Muy buena clase!!!

La arquitectura de software plantea modelos sobre requerimientos que hay que cumplir. Saludos, AF.

La arquitectura no son modelos, pero se llega a modelos con base en lo que hay que construir o desarrollar. Cualquier actividad, diseño o idea que se relacionen con el modelo empleado.

Quiero encontrar mi camino en el aprendizaje de la programación... Sino no soy programador me será útil Continuar con este curso?

La arquitectura de software no es mas que un conjunto de decisiones principales, que se reduce a cualquier cosa importante, va a ser una actividad arquitectonica.

"A software architecture for a system is the structure or
structures of the system, which consist of elements, their
externally visible properties, and the relationships among
them."
Documenting software architectures, views and beyond

¿Qué es la arquitectura de software?

La estructura del sistema esta compuesta por elementos de software, sus propiedades visibles y sus relaciones

¿por que en este vídeo no hay una explicación como suele haber?

entonces con la arquitectura se definen las acciones o pasos que se realizaran para llevar determinada tarea a cabo

Excelente

Vamos.

gracias

La estructura de un sistema, compuesta por elementos de software, sus propiedades visibles y sus relaciones.
Conjunto de decisiones principales de diseño tomadas para el sistema.
La arquitectura se reduce a cualquier actividad importante para el desarrollo.

libros de arquitectura de software

La arquitectura de software no solo es la creación de diagramas que expliquen el flujo en el que la aplicación trabaja, sino que también se encarga de realizar un análisis fuerte sobre los requerimientos para resolver el problema y la implementación de los componentes de forma tal resuelva el problema eficientemente.

En resumen, todas las decisiones importantes en el proceso de desarrollo que se relacionen a los requerimientos y a la implementación de una solución, son identificadas como parte de la arquitectura de software.

La arquitectura de software plantea modelos para desarrollar nuestro sistema desde la organización hasta la implementan (se reduce a cualquier cosa importante sea cual sea).

La única manera de realizar una buena arquitectura es diagramando, como el arquitecto escribe sus planos, nosotros tenemos UML, habrá algún curso de UML ?

¿Qué es arquitectura de software?

“Es la estructura del sistema, compuesta por elementos de software. (Sus propiedades visibles y sus relaciones).”

Es una labor dificil O_o

😃

Excelente

Creo que es importante mantener parte de cada una de las 3 definiciones que se vieron en este video:

  • Elementos de software y sus propiedades
  • Conjunto de decisiones principales de diseño
  • Se reduce a cualquier cosa (actividad) importante

¿Qué es arquitectura de software?

Arquitectura de software. La arquitectura de software es un conjunto de patrones 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 y cubrir todos los objetivos y restricciones de la aplicación.

Empiezo a estar harto de clases de exposición teórica

Definición-3

Para mi en palabras muy generales la arquitectura es la forma en la cual se va a desarrollar una aplicación y los diagramas como tal aunque sirven bastante en el tema de realizar un contrato claro con nuestros compañeros de equipo de como va a funcionar sin embargo creo que la arquitectura va mucho mas ligada a los valores del proyecto y que le queremos dar a nuestros clientes

Definición-1

Definición-2

Arquitectura de Software es:

La estructura del sistema, compuesta por elementos de software, sus propiedades visibles y sus relaciones