# data[].attributes.body
El rol de la jerarquía.

La estructura de objetos es importante porque nos muestra cómo los objetos colaboran entre sí a través de diferentes mecanismos, mientras que la estructura de clases resalta la estructura y comportamiento común en el interior del sistema.

# data[].attributes.body
Para la elaboracion completa del Sistema complejo es necesario una forma estable

De esta manera definiremos las primitivas en su contexto primero y luego podremos mejorarlas con el tiempo a medida que aprendemos más sobre el comportamiento real del sistema

# data[].attributes.body
Los Sistemas jerárquicos se componen de pocos tipos diferentes de subtemas en diversas combinaciones y arreglos

Los Sistemas Complejos tiene patrones comunes

Los patrones pueden implicar la reutilización de componentes pequeños para hacer más eficiente al sistema

# data[].attributes.body
Sistemas "jerárquicos rompibles" pues pueden ser divididos en partes identificables

Sus piezas no son completamente independientes

Hay 2 tipos de vínculos, Intra e inter vínculos: Intra: Son generalmente mas fuertes que los vínculos entre componentes. Inter: Implica la interacción entre los componentes

# data[].attributes.body
este atributo depende del observador ya que el define lo que es PRIMITIVO

La elección en un sistema es relativamente arbitraria

# data[].attributes.body
Todos los sistemas tienes subsistemas y todos los sistemas son parte de sistemas más grandes

La complejidad toma forma ya que esta compuesto por subsistemas interrelacionados que han de convertir sus propios subsitemas y asi sucesivamente

# data[].attributes.headline
La complejidad inherente del                                software

# data[].attributes.subject
La complejidad inherente del                                software

# data[].attributes.body
El software tiene una complejidad innata por su ciclo de vida, dimensiones y el dominio heredado del problema

# data[].attributes.body
Se consideran 5 atributos principales y comunes para todo Sistema complejo

# data[].attributes.body
Elementos de las metodologías de diseño de software

Proceso: Las actividades de construcción
Notación: Lenguaje de expresión de cada modelo
Herramientas: Los artefactos que eliminan el tedio

# data[].attributes.body
Importancia de la construcción de modelos

Cada modelo del diseño representa un aspecto del sistema, el cual se apega a los principios de descomposición, abstracción y jerarquía

Permite fallar en condiciones controladas

# data[].attributes.body
El significado del diseño

Una forma para encontrar la solución del problema

El medio de llegar de los requerimientos a la implementación,

Debe satisfacer las necesidades del cliente mientras mide las limitaciones y alcances

# data[].attributes.body
El rol de la abstracción.

Al ser incapaces de dominar en su totalidad a un objeto complejo, ignoramos sus detalles no esenciales, tratando en su lugar con el modelo generalizado e idealizado del objeto.

# data[].attributes.body
Descomposición algorítmica

Cada módulo es un paso importante en un sistema global

Descomposición OO

Agentes autónomos que colaboran para llevar a cabo algún comportamiento de nivel superior

Está diseñado para evolucionar de forma incremental, partiendo de sistemas más pequeños en los que ya se tiene confianza.

# data[].attributes.body
El comportamiento de un todo es mayor que la suma de sus partes

# data[].attributes.body
La complejidad de los sistemas de software que se nos pide desarrollar está aumentando, sin embargo, hay límites básicos en nuestra capacidad para hacer frente a esta complejidad.

# data[].attributes.body
Existe jerarquía en un sistema complejo, dicho sistema funciona de la manera esperada solo por que los componentes trabajan juntos.

No solo existen sistemas complejos jerárquicos, pero los niveles de jerarquía representan diversos niveles de abstracción. A cada nivel de abstracción le corresponde una serie de dispositivos que colaboran para prestar servicios a capas más altas.

# data[].attributes.body
Si no revelamos la estructura de clases de un sistema, tendríamos que duplicar nuestro conocimiento sobre las propiedades de cada parte individual. Con la inclusión de la estructura de clases capturamos estas propiedades comunes en un solo lugar.

# data[].attributes.body
En los sistemas más interesantes encontraremos que suelen estar presentes diferentes jerarquías que los componen.
En nuestra experiencia, encontramos que es esencial visualizar un sistema desde ambas perspectivas, estudiando su “es una” jerarquía, así como su “es parte” de una jerarquía.

# data[].attributes.body
Mientras mas complejo es el sistema mas propenso es al colapso total

# data[].attributes.body
El descubrimiento de mecanismos y abstracciones comunes facilitan enormemente nuestro entendimiento de sistemas complejos.

# data[].attributes.body
Si observamos lo que nos rodea podemos notar varios sistemas complejos exitosos.
Estructuras como una PC, plantas, animales, sistemas sociales son un conjunto de elementos que interactúan juntos para formar sistemas complejos.

# data[].attributes.headline
                                                  COMPLEJIDAD

# data[].attributes.subject
                                                  COMPLEJIDAD