Documentos de Académico
Documentos de Profesional
Documentos de Cultura
¿Por qué?
Los ciegos y el elefante es una parábola originaria de la India, desde donde alcanzó una difusión
notable. Ha sido utilizada para ilustrar la incapacidad del hombre para conocer la totalidad de la
realidad. En distintos momentos se ha usado para expresar la relatividad, la opacidad o la
naturaleza inexpresable de la verdad, el comportamiento de los expertos en campos donde hay un
déficit o falta de acceso a la información, la necesidad de comunicación, y el respeto por
perspectivas diferentes.
Entonces si no tenemos una visión general de las cosas estas se nos escapan de las manos.
Sistemas complejos (Diseño), cumplir ciertas características en particular los sistemas complejos
que funcionan los humanos copiamos de la naturaleza, jerárquicos, separan asuntos, tienen
elementos primitivos relativos, mecanismos de interacción comunes, sistemáticamente todo se
hace igual, se comunican igual,
Vamos a darle forma a prestar atención a la forma, que esto sería la arquitectura de software.
¿Para qué?
Entonces para que prestar atención a la arquitectura del software … para que tenga calidad de
software, si está bien construido el software me va a permitir hacer un desarrollo efectivo
(programar añadiendo líneas y que estas líneas funcionan sin que se destroce todo no tener un
diseño frágil que si agregamos líneas el software se rompe por todos lados), eficaz y eficiente (no
cueste horrores hacer un cambio). (desarrollo del programa) escalable y adaptable criterios de
calidad, seguridad, portabilidad -> de la mantenibilidad depende de la calidad de software.
Rendimiento, un sistema bien diseñado, modular con escaso acoplamiento alta cohesión, con
tamaño de piezas limitadas ose un código que se le puede meter mano, pero con un software que
está hecho una maraña no le aumentas el rendimiento.
Si desarrollamos con diseño con arquitecturas viendo la forma que esta cobrando tu software
ahorramos cash, tiempo.
¿Cuando?
Esto se habla desde el origen de la programación Edsger Dijkstra, mucho cuidado con los lenguajes
que ecogemos.
¿Donde?
¿Quien?
Metodologias:
Las Agiles, ponte a programar ponte a programar pero muy bien y entre todos entonces va
emergiendo la arquitectura va apareciendo.
En desarrollo saber dos o tres lenguajes de paradigmas muy diferentes te alimentan y te refrescan
que ya no eres el mismo.
Si no sabemos el porque? De donde vienes y el para que? A donde vas .. en el camino nos
perdemos con mucha facilidad.
Principio de paquetes:
4.- Principio de dependencias acíclicas. (si una clase está relacionada con la otra y la otra está
relacionada con la una decimos que tiene un ciclo (no va esto) se podría permitir entre clases pero
no dentro de paquetes)
Proponer, mantener y velar que la arquitectura sea correcta cumpla los principios tenga los estilos
arquitectónicos que tenga que tener (en la metodologia rational) y le dan tiempo para que
estudie los requisitos, los casos de uso, propone una arquitectura de análisis, empieza a implantar,
hace pruebas de rendimiento, hace prueba de los riesgos cuando ya se tiene un prototipo
funcionando y con esto entrega al equipo de desarrollo vigilando y manteniendo que las cosas se
hagan bien.
Todos le dedican tiempo mejorando la calidad aveces necesitan para todos los desarrolladores y
hacer una mejora general aquí es cuando va emergiendo la arquitectura.
…………………………………
4+1 es un modelo diseñado por Philippe Kruchten para "describir la arquitectura de sistemas
software, basados en el uso de múltiples vistas concurrentes". Las vistas suelen describir el
sistema desde el punto de vista de diferentes interesados, tales como usuarios finales,
desarrolladores o directores de proyecto. Las cuatro vistas del modelo son: vista lógica, vista de
desarrollo, vista de proceso y vista física. Además, una selección de casos de uso o escenarios
suele utilizarse para ilustrar la arquitectura sirviendo como una vista más. Por ello el modelo
contiene 4+1 vistas:1
Philippe Kruchten¸
ARQUITECTURA:
Puede ser construido por una persona. Construido de manera más eficiente y oportuna
Requerimientos: Un Modelo Simple, por un equipo.
Procesos Simples y herramientas simples Requerimientos: modelado, proceso bien
definido, herramientas poderosas.
SISTEMAS CON COMPLEJIDAD TECNICA ALTA
Al nivel más alto, un sistema a menudo comprende Hardware, Software, Firmware, etc. Por lo
tanto, al obtener y seleccionar la arquitectura del sistema mas adecuada, la salida mas probable es
un conjunto de bloques de construcción funcionales, algunos de los cuales son hardware, algunos
softwares, etc. Los bloques de construcción del software, los subsistemas de software, tendrán un
conjunto de requisitos que deberán ser analizados y diseñados de la misma manera que se hace
en la Arquitectura de Sistemas de nivel superior. Sin embargo, en este siguiente nivel, es mas
probable que se preocupe por el rendimiento general del software, las interfaces de usuario, las
arquitecturas de base de datos, etc.