Zusammenfassung der Ressource
Ingenierìa de Software
(capitulo2)
- Diseño de la Arquitectura
- Contenido
Anmerkungen:
-
-Arquitectura del software.
-Descripciones arquitectónicas.
-Géneros arquitectónicos.
-Estilos arquitectónicos.
-Diseño arquitectónico.
- Diseño de la Arquitectura
Anmerkungen:
- ¿Que es ?
El diseño arquitectónico representa la estructura de los datos y de los componentes del programa que se requieren para construir un sistema basado en
computadora.
- ¿Quien lo hace? : El diseñador de una base de datos o data Warehouse crea la arquitectura de los datos para un sistema.
- ¿Por que es importante? : El lector no intentaría construir una casa sin un plano, ¿o sí?
Tampoco comenzaría los planos con el dibujo de la plomería del lugar.
- Arquitectura del software
Anmerkungen:
-
La arquitectura del software de un programa o sistema de cómputo es la estructura
o estructuras del sistema, lo que comprende a los componentes del software, sus
propiedades externas visibles y las relaciones entre ellos.
•Es una representación que permite:
Analizar la
efectividad del diseño para cumplir los requerimientos establecidos.
Considerar
alternativas arquitectónicas en una etapa en la que hacer cambios al diseño
todavía es relativamente fácil.
Reducir los
riesgos asociados con la construcción del software.
- Arquitectura: :_La arquitectura de un sistema es un marco general que describe su
forma y estructura: sus componentes y la manera en la que ajustan entre si.
- Importancia de la arquitectura
Anmerkungen:
-
La arquitectura “constituye un modelo relativamente pequeño y asequible por la vía
intelectual sobre cómo esta estructurado el sistema y la forma en la que sus
componentes trabajan juntos”
- Descripciones arquitectónicas
Anmerkungen:
- Los consumidores desean la comprensión clara de los cambios ambientales que deben
ocurrir y las garantías de que la arquitectura satisfará las necesidades del
negocio
- Descripciones arquitectónicas_: Proporcionar lineamientos detallados para
representar una descripción arquitectónica. Estimular las mejores prácticas del diseño
arquitectónico.
- Géneros arquitectónicos
Anmerkungen:
-
•Género implica
una categoría dentro del dominio general del software. Dentro de cada categoría hay subcategorías,
por ejemplo: dentro del género edificios, se
encuentran lo siguientes estilos generales: casas, condominios, edificios de
departamentos, edificios de oficinas, edificios industriales, bodegas, entre
otros.
- Géneros arquitectónicos_:
Inteligencia artificial
Comerciales y no lucrativos
Comunicaciones,Juegos.
Anmerkungen:
-
•Financieros
•Gobierno
•Industrial
•Legal
•Médicos
•Militares
•Sistemas operativos
•Científicos
- Estilos arquitectónicos
Anmerkungen:
-
El estilo arquitectónico es una plantilla para la construcción.
Por ejemplo:
un estilo de casa de campo, deben definirse mas detalles, especificar sus
dimensiones, agregar características personalizadas, determinar los materiales
de construcción, pero el estilo orienta al constructor en su trabajo.
- Un conjunto de componentes (como
una base de datos) que realizan una
función requerida por el sistema.
- Modelos semánticos que permiten que
un diseñador entienda las propiedades
generales del sistema al analizar las
propiedades conocidas de sus partes
constituyentes
- Breve taxonomía de estilos de arquitectura
- Arquitectura centradas en los datos; Arquitectura de flujo de
datos; Arquitectura de llamar y regresar
- Arquitecturas centradas en los datos
- Almacenamiento de datos
- Software cliente
- Arquitecturas centradas en los datos
Anmerkungen:
-
Promueven la integrabilidad, los componentes del software pueden ser cambiados y agregarse otros nuevos, del
cliente, a la arquitectura sin problemas
con otros clientes (porque los componentes del cliente operan de forma
independiente).
- Arquitecturas de flujo de datos
- Arquitecturas de flujo de datos
Anmerkungen:
-
Un patrón de
tubo y filtro tiene un conjunto de componentes, llamados filtros, conectados
por tubos que trasmiten datos de un componente al siguiente.
- Arquitecturas de llamar y regresar
Anmerkungen:
- Arquitecturas de llamar y regresar
Anmerkungen:
-
Arquitecturas
de llamada de procedimiento remoto. Los
componentes de una arquitectura de programa principal/subprograma están
distribuidos a través de computadoras.
- Arquitecturas orientada a objetos
Anmerkungen:
-
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.
- Arquitecturas en capas
Anmerkungen:
-
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.
- Diseño arquitectónico
- Representación del sistema en contexto
- Descripción de las instancias del sistema
- Representación del sistema en contexto
- Sistemas subordinados: los que son usados por el sistema
objetivo y proveen datos o procesamiento que son necesarios
para completar las funciones del sistema objetivo. Actores:
entidades (personas, dispositivos, etc.) que interactúan con el
sistema objetivo mediante la reproducción o consumo de
información que es necesaria para el procesamiento de los
requerimientos.
- Definición de arquetipos
Anmerkungen:
-
•En muchos
casos, los arquetipos se obtienen con el estudio de las clases de análisis
definidas como parte del modelo de los requerimientos.
- Relaciones de UML para los arquetipos
- Evaluación de los diseños alternativos para la arquitectura
Anmerkungen:
-
•Método
iterativo para evaluar negociaciones en el diseño.
•Técnica seudocuantitativa para evaluar
la calidad del diseño.
- Método de la negociación para analizar arquitectura
Anmerkungen:
-
•Estos pasos
representan la primera iteración del análisis, con base a los resultados de los
pasos 5 y 6, se eliminan algunas arquitecturas alternativas o se modifican una
o varias de las restantes a fin de representarlas con mas detalle para después
volver a aplicar el análisis.
- Complejidad arquitectónica
Anmerkungen:
-
•Una técnica
útil para evaluar la c complejidad de una arquitectura propuesta es considerar
las dependencias entre los componentes dentro de la arquitectura. Estas dependencias están motivadas por el
flujo de la información o por el control dentro del sistema.
- Lenguajes de descripción arquitectónica
Anmerkungen:
-
•. Una vez establecidas las técnicas
descriptivas basadas en lenguaje para el diseño de las arquitectura, es mas
probable que, a medida que el diseño evoluciona, se obtengan métodos de
evaluación eficaces para las arquitectura.
- Mapeo de la arquitectura con el uso de flujo de datos
Anmerkungen:
-
•Es
un conjunto de pasos de diseño que permite mapear un DFD con características de
flujo de transformación en un estilo arquitectónico específico.
•Para
mapear estos diagramas de flujo de datos es una arquitectura de software deben
darse los siguientes pasos de diseño:
- PASO 1. REVISAR EL MODELO FUNDAMENTAL DEL SISTEMA
Anmerkungen:
-
El
modelo del sistema fundamental o diagrama de contexto ilustra la función de
seguridad como una transformación única, y representa a los productores y
consumidores externos de los datos que fluyen hacia dentro y fuera de la
función. El Diagrama de flujo de datos para la función de seguridad de Casa Segura ilustra un modelo de contexto de
nivel 0, y el Diagrama de flujo de datos de nivel 1 para la función de
seguridad de Casa Segura muestra el flujo de datos refinado para la función de
seguridad.
- PASO 2. REVISAR Y REFINAR LOS DIAGRAMAS DE
FLUJO DE DATOS PARA EL SOFTWARE
Anmerkungen:
-
La
información obtenida del modelo de requerimientos se refina para producir más
detalles. Por ejemplo, se estudia el DFD de nivel 2 para vigilar sensores (que
mejora la transformación vigilar sensores) y se obtiene el diagrama de flujo de
datos de nivel 3 ( diagrama para vigilar sensores con fronteras de flujo) . En
el nivel 3, cada transformación en el diagrama de flujo de datos presenta una
cohesión relativamente grande. Es decir, el proceso implícito por una
transformación realiza una sola y distintiva función que se implementa como
componente en el software de Casa Segura
- PASO 3. DETERMINAR SI EL DFD TIENE
CARACTERISTICAS DE FLUJO DE TRANSFORMACIÓN O DE
TRANSICIÓN
Anmerkungen:
-
Al
evaluar el DFD (Diagrama de flujo de datos de nivel 3 para vigilar sensores con
fronteras del flujo) se observa que los datos entran al software por una
trayectoria de ingreso y lo abandonan por tres trayectorias de salida. Por
tanto, se adoptará una característica general de transformación para el flujo
de la información.
- PASO 4. AISLAR EL CENTRO DE TRANFORMACIÓN AL
ESPECIFICAR LIMITES DE FLUJO DE ENTRADA Y SALIDA
Anmerkungen:
-
Anteriormente
se describió al flujo de entrada como un camino que convierte la información
con forma externa en información interna, el flujo de salida hace la conversión
inversa. Los límites de flujo de entrada y salida están abiertos a la
interpretación es decir, diferentes diseñadores seleccionaran puntos
ligeramente diferentes del flujo como posición de los límites. (Debe tomarse en
cuenta que al seleccionar los limites, la variación a lo largo del camino tendrá poco impacto en
la estructura final del programa.)
- Paso 5. Realizar el “rediseño de primer nivel”.
Anmerkungen:
-
El
rediseño lleva a una estructura de programa en la que los componentes de alto
nivel ejecutan la toma de decisiones y los de bajo nivel realizan la mayor
parte del trabajo de entrada y salida. Los componentes de nivel medio llevan a
cabo cierto control y moderan las cantidades de trabajo. Un controlador
principal (llamado ejecutivo de vigilancia de sensores) reside en la parte
superior de la estructura del programa y coordina las siguientes funciones de
control subordinadas:
- Paso 6. Realizar “rediseño de segundo nivel”.
Anmerkungen:
-
El rediseño de segundo nivel se
logra con el mapeo de transformaciones individuales (burbujas) de un diagrama
de flujo de datos en módulos apropiados dentro de la arquitectura. Se comienza
en la frontera del centro de transformación y se avanza hacia afuera a lo largo
de las trayectorias de entrada y salida; las transformaciones se mapean en
niveles subordinados de la estructura del software
- Paso 7. Refinar la arquitectura de primera iteración con el empleo
de heurísticosde diseño para mejorar la calidad del software.
Anmerkungen:
-
Los
refinamientos son impuestos por el análisis y los métodos de evaluación, así
como por consideraciones prácticas y el sentido común. Por ejemplo, hay
ocasiones en las que el controlador para el flujo de datos de entrada es
totalmente innecesario, cuando se requiere algún procesamiento de las entradas
en un componente subordinado al controlador de la transformación, cuando no es
posible evitar mucho acoplamiento debido a datos globales o cuando no se logran
características estructurales óptimas. El arbitraje final lo constituyen los
requerimientos del software acoplados con el criterio humano.
- FIN