Sunteți pe pagina 1din 13

1

Actividad de Aprendizaje 1:

Tipos y Modelos de Sistemas de Información

Ingeniería de Software 2

Unipanamericana Fundación Universitaria

Facultad De Ingeniería, Programa Ingeniería De Sistemas

Bogotá D.C.

Jueves 15 de agosto de 2019


2

1. Definir el concepto de la Arquitectura de software

La arquitectura del software prácticamente modela la estructura de un sistema y la manera en la

que los datos y componentes (módulo de programa o una clase orientada a objeto), del

procedimiento colaboran entre sí, corresponde a una representación que permite analizar la

efectividad del diseño para cumplir con los requerimientos, al igual que considerar alternativas

arquitectónicas en etapas tempranas de manera que sea fácil aplicarlas y reducir los riesgos

asociados con la construcción del software. En el nivel arquitectónico, no se especifican las

propiedades internas de los componentes (por ejemplo, detalles de un algoritmo).

2. Elabora un formato para la documentación de una arquitectura de acuerdo con los elementos

de descripción arquitectónica presentados en la página 210.


3

Formato para la descripción de una decisión arquitectónica


Aspecto del diseño: En este campo se describen los Argumento: Se establece por qué se eligió la
aspectos del diseño arquitectónico resolución sobre las demás
que se van a abordar. alternativas.
Resolución: Se establece el enfoque escogido Implicaciones: Se indican las consecuencias que
para abordar el aspecto de diseño tendrá la
toma de la decisión en el diseño.
Categoría: Se especifica la categoría de diseño a Preocupaciones ¿Qué otros documentos se relacionan
que se aboca el aspecto y la con esta decisión?
resolución (por ejemplo, diseño de
datos, estructura del contenido,
estructura del componente,
integración, presentación, etcétera).

Suposiciones: Se indican cualesquiera suposiciones Productos finales: ¿Qué otros requerimientos se


queayuden a dar forma a la decisión. relacionan con esta decisión?

Restricciones: Se especifican todas las restricciones Notas: Notas: Se hace referencia a las
ambientales que ayuden a conformar anotaciones del equipo u otra clase
la decisión (como los estándares de documentación que se haya
tecnológicos, patrones disponibles y empleado para tomar la decisión.
aspectos relacionados con el diseño).

Alternativas: Se describen con brevedad las


alternativas de diseño arquitectónico
que se consideraron y la razón por la
que se rechazaron.

3. Elabora para cada uno de los estilos arquitectónicos presentados en la taxonomía, un cuadro

que contenga los siguientes elementos: Nombre de la arquitectura, Descripción, Problema

que soluciona, representación gráfica, ventajas y desventajas.

Nombre Arquitectura: Centrada en Datos

Descripción: En el centro de esta arquitectura se halla un almacenamiento de datos

(como un archivo o base de datos) al que acceden con frecuencia otros

componentes que actualizan, agregan, eliminan o modifican los datos de

cierto modo dentro del almacenamiento.

Problema
que
4

Soluciona:
Representación Gráfica:

Ventaja: Promueven la integralidad: los componentes del software pueden ser

cambiados y agregarse otros nuevos, del cliente, a la arquitectura sin

problemas con otros clientes. Además, pueden pasarse datos entre clientes

con el uso de un mecanismo de pizarrón (el componente pizarrón sirve para

coordinar la transferencia de información entre clientes).

Desventaja:

Nombre Arquitectura: Flujo de Datos

Descripción: Se aplica cuando datos de entrada van a transformarse en datos de salida a

través de una serie de componentes computacionales o manipuladores. Un

patrón de tubo y filtro tiene un conjunto de componentes, llamados filtros,

conectados por tubos que transmiten datos de un componente al siguiente.

Cada filtro trabaja en forma independiente de aquellos componentes que se

localizan arriba o abajo del flujo; se diseña para esperar una entrada de datos
5

de cierta forma y produce datos de salida (al filtro siguiente) en una forma

especificada.

Problema
que
Soluciona:
Representación Gráfica:

Ventaja: Es una forma de flujo de datos restringido. Este paradigma introdujo la idea de

ventana de ejecución, que sigue el orden secuencial de la arquitectura de Von

Neumann; sin embargo, dentro de la ventana se permite que las instrucciones

sean completadas en el orden de las dependencias de datos.

Desventaja: La complejidad lógica de mantener el rastro de las dependencias de datos de

forma dinámica restringe a los procesadores basados en ejecución fuera de

orden a un reducido número de ejecuciones (de 2 a 6) y limita el tamaño de la

ventana de ejecución de 32 a 200 instrucciones, mucho menor que las

utilizadas en las máquinas puras de flujo de datos.

Nombre Arquitectura: Llamar y Regresar

Descripción: Este estilo arquitectónico permite obtener una estructura de programa que
6

es relativamente fácil de modificar y escalar. Dentro de esta categoría

existen varios subestilos:

Arquitecturas de programa Arquitecturas de llamada de procedimiento

principal/subprograma. remoto.

Esta estructura clásica de programa Los componentes de una arquitectura de

descompone una función en una jerarquía programa principal/subprograma están

de control en la que un programa distribuidos a través de computadoras múltiples

“principal” invoca cierto número de en una red.

componentes de programa que a su vez

invocan a otros. La figura 9.3 ilustra una

arquitectura de este tipo.

Problema que
Soluciona:
Representación Gráfica:

Ventaja:  Utilizados en grandes sistemas de software.

 La descomposición en módulos disminuye la complejidad.

 Persiguen escalabilidad y modificabilidad.


7

Desventaja:  Dependencia y acoplamiento entre módulos.

 La reutilización y el mantenimiento son difíciles.

Nombre Arquitectura: Orientada a Objetos

Descripción: Los componentes de un sistema incluyen datos y las operaciones que deben

aplicarse para manipularlos. La comunicación y coordinación entre los

componentes se consigue mediante la transmisión de mensajes. Los

componentes del sistema encapsulan datos y operaciones que deben de

utilizarse para manipular dichos datos.

Problema que
Soluciona:
Representación Gráfica:

Ventaja:  Como un objeto oculta su representación a sus clientes, es posible

cambiar su implementación sin modificar los clientes: modificabilidad.

 La integración de un conjunto de rutinas de acceso con los datos que

manipulan permite a los diseñadores descomponer los problemas en

colecciones de agentes que interactúan.


8

Desventaja:  Para que un objeto interactúe con otro (mediante la invocación a

un procedimiento) debe conocer la identidad del otro objeto.

Luego, cuando la identidad de un objeto cambie es necesario

modificar todas las invocaciones a tal objeto.

 Se pueden presentar efectos laterales: si los objetos A y C usan

al objeto B, entonces los efectos de C en B lucen como efectos

laterales no esperados en A, y viceversa.

Nombre Arquitectura: Capas

Descripción: Se define un número de capas diferentes; cada una ejecuta operaciones que

se aproximan progresivamente al conjunto de instrucciones de máquina. En

la capa externa, los componentes atienden las operaciones de la interfaz de

usuario. En la interna, los componentes realizan la interfaz con el sistema

operativo. Las capas intermedias proveen servicios de utilerías y funciones

de software de aplicación.

Problema
que
Soluciona:
Representación Gráfica:
9

Ventaja: Esta solución facilita la portabilidad en los diseños.

Desventaja: Solución menos eficiente.

4. ¿Cuál es el objetivo de un diagrama de contexto arquitectónico?

El objetivo del Diagrama de Contexto (DAC) es modelar y mostrar a través de un flujo de

datos la manera en la que el software interactúa con las entidades externas a sus fronteras.

Cada una de estas entidades externas se comunica con el sistema objetivo a través de una

interfaz.

Teniendo en cuenta que este diagrama debe de ser comprensible, no es posible representar

todos los flujos de datos del sistema en él, sino más bien debe representarse en él una visión

general del sistema desde la perspectiva de los propietarios de sistemas siguiendo dos

lineamientos básicos:

 Representar únicamente los flujos de datos que tengan algo que ver con el

objetivo principal del sistema.


10

 Utilizar flujos de datos compuestos que representen a aquellos que sean similares.

5. ¿Que son los lenguajes de descripción de arquitectura, enuncia algunos ejemplos de ellos?

Los lenguajes de descripción arquitectónica (LDA) proveen la semántica y sintaxis para


describir la arquitectura de un software, en la que se sugieren que un LDA debe brindar al
diseñador la capacidad de desintegrar los componentes arquitectónicos, integrar
componentes individuales en bloques arquitectónicos más grandes y representar las
interfaces (mecanismos de conexión) que hay entre los componentes, teniendo en
cuenta que se debe establecer técnicas descriptivas basadas en lenguaje para el diseño
de la arquitectura, es más probable que, a medida que el diseño evoluciona, se
obtengan métodos de evaluación eficaces para las arquitecturas.

Aunque han sido propuestos muchos LDA, la mayoría tiene mecanismos para describir
los componentes del sistema y la manera en la que se conectan entre sí.

Ejemplos:
 ACME
Creado en 1995 o Su objetivo principal era ofrecer un mecanismo de intercambio
de descripciones arquitecturales o Adicionalmente provee herramientas de análisis
y diseño de arquitecturas, Provee tres funcionalidades básicas Intercambio
arquitectural, Plataforma extensible de herramientas de arquitectura y
Descripción de arquitecturas.
Se caracteriza por tener Ontología de arquitecturas y Provee un mecanismo de
anotaciones y tipos arquitecturales, Estilos y Marco de análisis semántico
 ADML
agrega al mundo de los ADLs una forma de representación basada en
estándares de la industria, de modo que ésta pueda ser leída por cualquier parte
de XML, ADML incluye un placeholder de implementación lo es lo más parecido a
tener asistente de ayuda o clase virtual o abstracta de un lenguaje orientado a
11

objetos, este es reemplazado por las variables correspondientes del modelo de


programación y plataforma en cada implementación concreta, lo que permite
vincular descripciones arquitectónicas y modelos directamente con cualquier
binario, scripting o entidad en cualquier plataforma y en cualquier lenguaje
 RAPIDE
Desarrollado por David Luckham, esta ADL de propósito general tiene como
objetivo facilitar la simulación de eventos, Comportamientos aceptados y
prohibidos; Las especificaciones Rapide son ejecutables, posee Lenguaje OO y
Modela concurrencia, donde los requerimientos del sistema son expresados
como restricciones en el tiempo

6. ¿Cómo definirías el proceso de refinamiento del diseño arquitectónico?

Es el proceso de validar que la funcionalidad del software cumpla con todos los

requerimientos funcionales y de uso práctico, teniendo en cuenta que este proceso se debe

realizar durante las primeras etapas del diseño dirigido por el mejor enfoque que se le pueda

dar a esta optimización.

7. ¿Qué diferencias encuentras entre el diseño de un sistema y el diseño de una arquitectura?

El diseño de un sistema es a nivel macro en donde se abarca tanto la arquitectura de hardware

como de software y el diseño de una arquitectura es una forma o guía general, con base a las

cuales se pueden resolver los problemas, donde también indican su estructura,

funcionamiento e interacción entre las partes del software.


12

Bibliografía

Pressman, R. (2010). Ingeniería del software. México: McGraw-Hill.

Estilos arquitectónicos (2013, Junio 25). Recuperado de https://www.ecured.cu/Estilos_arquitectónicos

Diagrama de Contexto (2008, Noviembre 8). Recuperado de

http://clases3gingsof.wikifoundry.com/page/Diagrama+de+Contexto
13

S-ar putea să vă placă și