You are on page 1of 12

Elaborado y Diseñado por: Profa.

Darjeling Silva

Arquitectura del Software


Ingeniería en Informática
Profa. Darjeling Silva
Modulo I: Introducción a la
Arquitectura del Software
Introducción
Durante mis estudios de tercer nivel me propuse a recoger información para poder
elaborar una guía didáctica, que tuviera los puntos indispensables para que una persona tenga una
visión detallada de la estructura, propiedades y componentes del software, este no es más que las
instrucciones dadas por el usuario al computador, cuya finalidad sea ejecutar una función que
genere un resultado, para ello se debe estructurar los datos a fin de facilitar la manipulación de la
información.

Objetivo: Conocer los conceptos básicos relacionados con la arquitectura de software.

Contenido:
1. Historia de la Arquitectura de software: inicios y fundamentos.
2. Definición de términos básicos.
3. Estructura Vs. Jerarquía de software.
4. Arquitectura de Von Neumann Vs. Programación
5. Estilos.

1. Historia la Arquitectura de software: inicios y fundamentos.

Partamos del inicio cuando se comenzó el desarrollo de programas para


computadoras, la cual ha sido una actividad que se realiza de manera artesanal e
empírica, está ha ido evolucionando hasta alcanzar tamaños y complejidad
extraordinariamente altos, con ciclos de vida cada vez mayores, donde el desarrollo y
construcción de software debe ser de una forma ordenada. Es a partir de 1990 que la
industria que desarrolla software se ven en la necesidad en establecer estándares y
estructuras para organizar el software de alto nivel de complejidad. A los cuales crean el
término arquitectura del software a razón de que se trabaja a partir de la arquitectura del
hardware, con la finalidad de que ya el hardware tiene pautas para su organización se
hace necesario determinar pautas metodologías para la construcción de sistemas. Sin
embargo, la primera vez que se menciono el término de arquitectura software data del
año 1969, cuando Ian P. Sharp utilizó el término en una conferencia de la OTAN. Ahora
bien según la IEEE la arquitectura del software es la manera de organizar un sistema en
sus componentes, sus relaciones, el ambiente y los principios que se orienten a un buen
diseño y evolución.
No obstante, su importancia y objetivo se centra en establecer una estructura de
alto nivel al software, definiendo estilo y combinación de estilo que de solución al
proceso de un dato o información; así como los requerimientos funcionales que se
satisfacen del modelado y diseño de un programa; en fin: que tenga un buen análisis,
comunicación y comprensión a nivel estructural. En si la arquitectura del software va
conformando el esqueleto de cualquier programa o software, donde se establezca la
calidad del sistema a través de un adecuado y correcto diseño, este debe ser bien
documentado y evaluado a fin de poder ser analizado y observado con éxito.

2. Definición de términos básicos.

1
Elaborado y Diseñado por: Profa. Darjeling Silva

Software: Son las instrucciones que se ejecutan y cumplen una función en el computador; o es
una estructura de datos que facilita a programadores y a usuarios finales manipular información.
Estructura de computadores: Son las unidades funcionales y sus interconexiones para realizar el
proceso de la información.
Arquitectura del computador: Es la disciplina que estudia los atributos internos del procesador.
Rendimiento: Es la efectividad del desempeño de una computadora, sobre una aplicación o un
benchmark en particular. En las mediciones de rendimiento están involucrados velocidad, costo y
eficiencia.
Tiempo de ejecución: Es un ciclo que cumple una instrucción dentro del procesador.
Ciclo de Reloj: Es el tiempo de los pulsos emitidos por el reloj interno del procesador.
Ciclo de ejecución: Parte de un ciclo de instrucción en la que el procesador ejecuta una operación
específica por el código de operación de la instrucción.
Ciclo de instrucción: proceso a realizar por el procesador para ejecutar una instrucción.
Arquitectura del software: es una disciplina que estudia la estructura de un programa o sistema a
fin de comprender sus componentes, propiedades y sus relaciones.
Patrón: Es una solución a un problema en un contexto; un sistema bien estructurado está lleno de
patrones.
Estilo: Define que patrones posibles se pueden estructurar para un software.

3. Estructura Vs. Jerarquía de software.


La estructura de un software, Pozo. G (2008) expone en su investigación que el
modelo de las 4+1 vistas de la arquitectura del software se en marca en la necesidad de
documentar, para cada sistema en desarrollo, las siguientes vistas:
 Vista lógica: existe para cualquier sistema y muestra su estructura.
 Vista de proceso: válida en sistemas distribuidos y concurrentes para
mostrar el paralelismo entre distintas entidades.
 Vista de implementación: organización de los elementos de
implementación, como código fuente, ejecutables y librerías.
 Vista de despliegue: muestra dónde se sitúa cada componente en tiempo
de ejecución y cómo se comunican entre ellos.
 Vista de casos de uso: contiene los requisitos más significativos, tanto
funcionales como no funcionales, que tienen más impacto en la
arquitectura. Sirve para unir y coordinar las cuatro vistas anteriores.
Ahora bien, con respecto a la jerarquía podemos observar:

2
Elaborado y Diseñado por: Profa. Darjeling Silva

4. Arquitectura de Von Neuman.

En 1946 Von Numann y colegas, empezaron en el Instituto para estudios Avanzados de


Princeton, el diseño de un computador con programa y almacenado, el cual llamaban IAS. El
computador IAS, cuyo aporte es significativo para los prototipos siguientes de la generación de
computadores. Su estructura comprende:
1. Una memoria principal que almacena tanto datos como instrucciones.
2. Una Unidad Aritmético-lógica (ALU) capaz de hacer operaciones con datos binarios.
3. Una Unidad de Control que interpreta las instrucciones en memoria y provoca su
ejecución.
4. Un equipo de entrada y salida (E/S) dirigido por una unidad de control.

Otra vista…por Rodriguez D.

La propuesta de Von Neumann se resume en tres conceptos claves:


 Los datos y las instrucciones se almacenan en una sola memoria de lectura-
escritura.
 Los contenidos de esta memoria se direccionan indicando su posición, sin
considerar el tipo de dato contenido en la misma.
 La ejecución se produce siguiendo una secuencia de instrucciones tras
instrucción.

3
Elaborado y Diseñado por: Profa. Darjeling Silva

Tiempo de ejecución.

Partamos de cómo funciona el computador, el mismo es el que se encarga de


ejecutar las instrucciones específicas de un programa; es decir, el procesador lee (capta) la
instrucción de la memoria, y la ejecuta. Donde la ejecución del programa consiste en la
repetición del proceso de captación de instrucción y ejecución de la instrucción. Ahora
bien, para el procesamiento se requiere una instrucción que se denomina ciclo de
instrucción (trata de dos pasos ciclo de captación – ciclo de ejecución).

Ciclos de reloj por instrucción.

Los ciclos de reloj por instrucción no son más que ciclos de instrucción, es donde
el procesador capta una instrucción de la memoria, además utiliza un contador de
programa (PC) el cual sigue la pista de la siguiente instrucción, a fin de llevar una
secuencia. Es allí donde la instrucción es captada y almacenada en el registro de
instrucciones (IR), donde la instrucción se escribe utilizando código binario especificando
la acción a realizar por el procesador. El procesador luego, interpreta la instrucción y
lleva acabo la acción requerida.

4
Elaborado y Diseñado por: Profa. Darjeling Silva

Aceleración del tiempo de ejecución.

Podemos señalar que la aceleración del tiempo de ejecución de un procesador se


centra en el ciclo de instrucción, ya que consiste en la captación de la instrucción, seguida
de ninguno o varios accesos a una instrucción, o ninguno o varios almacenamientos de
una instrucción, y la comprobación si existe alguna interrupción. Las interrupciones se
ejecutan mientras una operación E/S está en curso. Ahora bien, cuando un dispositivo
externo pasa a estar preparado para actuar, es cuando está listo para aceptar más datos el
procesador, mientras el modulo E/S de un dispositivo externo envía la señal de la
petición de interrupción al procesador. El procesador responde suspendiendo la
operación de programa que estaba ejecutando y salta a un programa, conocido como el
gestor de interrupción, que da servicio a ese dispositivo concreto, y prosigue con la
ejecución del programa original después de haber dado dicho servicio al dispositivo.

Fases de ejecución de una instrucción:


1. Búsqueda de la instrucción en la memoria principal.

5
Elaborado y Diseñado por: Profa. Darjeling Silva

2. Decodificación de la instrucción por el control.

3. Ejecución / Operación de la instrucción.

Imágenes tomadas de Campo E. y Meziat D.

Las fases antes señaladas es lo que se denomina Programación:

6
Elaborado y Diseñado por: Profa. Darjeling Silva

Esto no es más que:

Imágenes de Rodríguez M.

5. Estilos.

Un estilo es la forma de articular u organizar arquitectónicamente un software o


programa; es el conjunto de los estilos que cataloga las formas básicas posibles de
estructuras de software, mientras que las formas complejas se articulan mediante
composición de los estilos fundamentales, es así como los estilos conjugan elementos (o
“componentes”), conectores, configuraciones y restricciones: Su finalidad es la
descripción de un estilo se puede formular en lenguaje natural o en diagramas, pero lo
mejor es hacerlo en un lenguaje de descripción arquitectónica o en lenguajes formales de
especificación.

7
Elaborado y Diseñado por: Profa. Darjeling Silva

Representación Estilo Sistema Operativo

Red Distribuido

Middleware

Tipos de representación de estilos

8
Elaborado y Diseñado por: Profa. Darjeling Silva

9
Elaborado y Diseñado por: Profa. Darjeling Silva

10
Elaborado y Diseñado por: Profa. Darjeling Silva

Ejemplo

11
Elaborado y Diseñado por: Profa. Darjeling Silva

Actividades del Alumno


Actividad en Clases:

Construcción de la definición Arquitectura del Software, debate de tipos y metodologías


arquitectónicas.

Actividad a Realizar.

1. Definición Arquitectura Software y una Infografía de la definición Arquitectura de


software, con ejemplo de cómo debe estructurar un sistema.
2. Infografía de la Historia de la Arquitectura del Software, lo más resaltante o que llamo su
atención.
3. Escoger uno de los Tipos de Estilos Arquitectónicos y aplicar a una página web de su
preferencia, cuya evaluación desde el entorno exterior como el interior. Presentar
ejemplo.
4. Escoger uno de de la Metodología Arquitectónica y aplicar a una página web de su
preferencia, cuya evaluación desde el entorno exterior como el interior. Presentar
ejemplo.

Éxitos en su nuevo aprendizaje….

12

You might also like