Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porCustodia Velasquez Modificado hace 11 años
1
El logro de Calidad Integrantes : Ricardo Macedo Henry Renato Paz Carolina Vigil
2
Introduction Estamos interesados en cómo el arquitecto logra cualidades particulares. Estamos interesados en cómo el arquitecto logra cualidades particulares. Los requisitos de calidad especifican las respuestas de los programas para alcanzar los objetivos de negocio. Los requisitos de calidad especifican las respuestas de los programas para alcanzar los objetivos de negocio. Nuestro interés está en las tácticas utilizadas por el arquitecto para crear un diseño utilizando patrones de diseño, patrones de arquitectura, o las estrategias de arquitectura. Nuestro interés está en las tácticas utilizadas por el arquitecto para crear un diseño utilizando patrones de diseño, patrones de arquitectura, o las estrategias de arquitectura.
3
Introduction Antes de decidir sobre un conjunto de pautas para lograr la evolución que se desea, el arquitecto debe considerar qué combinación de tácticas para la modificación se debe aplicar, ya que la táctica elegida guiará las decisiones arquitectónicas. Un patrón de arquitectura o estrategia implementa un conjunto de tácticas. Antes de decidir sobre un conjunto de pautas para lograr la evolución que se desea, el arquitecto debe considerar qué combinación de tácticas para la modificación se debe aplicar, ya que la táctica elegida guiará las decisiones arquitectónicas. Un patrón de arquitectura o estrategia implementa un conjunto de tácticas.
4
Introducción de Tácticas ¿Qué es lo que produce? ¿Qué es lo que produce? Portabilidad Portabilidad Alto rendimiento Alto rendimiento Integración Integración El logro de estas cualidades se basa en las decisiones de diseño fundamentales. El logro de estas cualidades se basa en las decisiones de diseño fundamentales. Decisiones de diseño, llamadas tácticas. Decisiones de diseño, llamadas tácticas.
5
Introducción de Tácticas Un diseño de sistema se compone de una colección de decisiones. Algunas de estas decisiones ayudan a controlar las respuestas atributo de calidad, otros que garanticen el logro de la funcionalidad del sistema. Un diseño de sistema se compone de una colección de decisiones. Algunas de estas decisiones ayudan a controlar las respuestas atributo de calidad, otros que garanticen el logro de la funcionalidad del sistema.
6
Introducción de Tácticas Cada táctica es una opción de diseño para el arquitecto. Por ejemplo, una de las tácticas introduce redundancia para aumentar la disponibilidad de un sistema. Esta es una opción el arquitecto ha de aumentar la disponibilidad, pero no el único. Por lo general, el logro de una alta disponibilidad mediante la redundancia implica una necesidad de sincronización (para garantizar que la copia redundante se puede utilizar si el original no). Cada táctica es una opción de diseño para el arquitecto. Por ejemplo, una de las tácticas introduce redundancia para aumentar la disponibilidad de un sistema. Esta es una opción el arquitecto ha de aumentar la disponibilidad, pero no el único. Por lo general, el logro de una alta disponibilidad mediante la redundancia implica una necesidad de sincronización (para garantizar que la copia redundante se puede utilizar si el original no).
7
Introducción de Tácticas Tácticas de Disponibilidad Tácticas de Disponibilidad Un fallo se produce cuando el sistema ya no ofrece un servicio consistente con el conjunto de especificaciones, este fallo puede ser observado por los usuarios del sistema. Un fallo se produce cuando el sistema ya no ofrece un servicio consistente con el conjunto de especificaciones, este fallo puede ser observado por los usuarios del sistema. Un error (o una combinación de errores) tiene el potencial de provocar un fallo Un error (o una combinación de errores) tiene el potencial de provocar un fallo La recuperación o reparación es un aspecto importante de la disponibilidad. La recuperación o reparación es un aspecto importante de la disponibilidad.
8
Introducción de Tácticas Entornos de ejecución estándar, tales como : Entornos de ejecución estándar, tales como : Sistemas operativos Sistemas operativos Servidores de aplicaciones Servidores de aplicaciones Sistemas de base de datos de gestión. Sistemas de base de datos de gestión. Todos los métodos para mantener la disponibilidad implican algún tipo de: Todos los métodos para mantener la disponibilidad implican algún tipo de: Redundancia Redundancia Vigilancia de salud para detectar un fallo. Vigilancia de salud para detectar un fallo. Recuperación cuando se detecta un fallo. Recuperación cuando se detecta un fallo. En algunos casos, el monitorio y recuperación son automáticos y en otros es manual. En algunos casos, el monitorio y recuperación son automáticos y en otros es manual.
9
Introducción de Tácticas Detección de Fallas Detección de Fallas Tres tácticas para el reconocimiento de las fallas son: Tres tácticas para el reconocimiento de las fallas son: Ping / eco. Un componente realiza un ping y espera recibir de vuelta un echo, en un tiempo determinado, a partir del componente bajo escrutinio. Esto se puede utilizar dentro de un grupo de elementos relacionados los responsables de una tarea. Ping / eco. Un componente realiza un ping y espera recibir de vuelta un echo, en un tiempo determinado, a partir del componente bajo escrutinio. Esto se puede utilizar dentro de un grupo de elementos relacionados los responsables de una tarea. Heartbeat (temporizador hombre muerto). En este caso uno de los componentes emite periódicamente un mensaje de latido y otro componente escucha el mismo. Si los latidos fallan, el componente de origen se supone que ha fracasado y un componente de corrección de defectos es notificado. Heartbeat (temporizador hombre muerto). En este caso uno de los componentes emite periódicamente un mensaje de latido y otro componente escucha el mismo. Si los latidos fallan, el componente de origen se supone que ha fracasado y un componente de corrección de defectos es notificado. Excepciones. Un método para el reconocimiento de las fallas es encontrarse con una excepción, que se produce cuando una de las clases de fallas se reconoce. El controlador de excepciones normalmente se ejecuta en el mismo proceso que presentó la excepción. Excepciones. Un método para el reconocimiento de las fallas es encontrarse con una excepción, que se produce cuando una de las clases de fallas se reconoce. El controlador de excepciones normalmente se ejecuta en el mismo proceso que presentó la excepción. El ping / echo y tácticas latidos operar entre procesos distintos, y la táctica excepción opera dentro de un mismo proceso. El controlador de excepciones por lo general lleva a cabo una transformación semántica de la falla en una forma que pueda ser procesada. El ping / echo y tácticas latidos operar entre procesos distintos, y la táctica excepción opera dentro de un mismo proceso. El controlador de excepciones por lo general lleva a cabo una transformación semántica de la falla en una forma que pueda ser procesada.
10
Tácticas de Disponibilidad Tácticas de Disponibilidad FALLO DE LA RECUPERACIÓN FALLO DE LA RECUPERACIÓN Un error de recuperación consiste en la preparación para la recuperación y la toma de la reparación del sistema. Un error de recuperación consiste en la preparación para la recuperación y la toma de la reparación del sistema. Votación. Los procesos que se ejecutan en procesadores redundantes cada uno toma una entrada equivalente, y se calcula un valor de salida que se envía a un votante. Si el elector detecta un comportamiento desviado desde un único procesador, falla. Votación. Los procesos que se ejecutan en procesadores redundantes cada uno toma una entrada equivalente, y se calcula un valor de salida que se envía a un votante. Si el elector detecta un comportamiento desviado desde un único procesador, falla. El algoritmo de voto puede ser "reglas de la mayoría" o "El componente preferido" o algún otro algoritmo. Este método se utiliza para corregir el funcionamiento defectuoso de los algoritmos o el fracaso de un procesador y se utiliza a menudo en los sistemas de control. Si todos los procesadores cuentan con los mismos algoritmos, la redundancia sólo detecta un fallo del procesador y no un error de algoritmo. Por lo tanto, si la consecuencia de un fracaso es extrema, como la pérdida potencial de la vida, los componentes redundantes pueden ser diversos. El algoritmo de voto puede ser "reglas de la mayoría" o "El componente preferido" o algún otro algoritmo. Este método se utiliza para corregir el funcionamiento defectuoso de los algoritmos o el fracaso de un procesador y se utiliza a menudo en los sistemas de control. Si todos los procesadores cuentan con los mismos algoritmos, la redundancia sólo detecta un fallo del procesador y no un error de algoritmo. Por lo tanto, si la consecuencia de un fracaso es extrema, como la pérdida potencial de la vida, los componentes redundantes pueden ser diversos.
11
Tácticas de Disponibilidad Tácticas de Disponibilidad Redundancia Activa. Todos los componentes redundantes responden a eventos en paralelo. En consecuencia, todos están en el mismo estado. La respuesta de un solo componente se utiliza (por lo general los primeros en responder), y el resto se descarta. Redundancia Activa. Todos los componentes redundantes responden a eventos en paralelo. En consecuencia, todos están en el mismo estado. La respuesta de un solo componente se utiliza (por lo general los primeros en responder), y el resto se descarta. Cuando ocurre una falla, el tiempo de inactividad de los sistemas que utilizan esta táctica suele ser en milisegundos ya que copia de seguridad es actual y el tiempo de recuperación consiste en el tiempo de cambio de conexión. Cuando ocurre una falla, el tiempo de inactividad de los sistemas que utilizan esta táctica suele ser en milisegundos ya que copia de seguridad es actual y el tiempo de recuperación consiste en el tiempo de cambio de conexión. La redundancia activa es de uso frecuente en una configuración cliente / servidor, como los sistemas de gestión de bases de datos, donde las respuestas rápidas son necesarias incluso cuando se produce un fallo. En un sistema distribuido de alta disponibilidad, la redundancia puede estar en las rutas de comunicación. La redundancia activa es de uso frecuente en una configuración cliente / servidor, como los sistemas de gestión de bases de datos, donde las respuestas rápidas son necesarias incluso cuando se produce un fallo. En un sistema distribuido de alta disponibilidad, la redundancia puede estar en las rutas de comunicación.
12
Tácticas de Disponibilidad Tácticas de Disponibilidad Redundancia pasiva. Uno de los componentes (el primario) responde a los eventos e informa a los otros componentes (en alerta) de cambios de estado que deben tomar. Cuando ocurre una falla, el sistema deberá comprobar primero que el estado de copia de seguridad es lo suficientemente fresco antes de reanudar los servicios. Redundancia pasiva. Uno de los componentes (el primario) responde a los eventos e informa a los otros componentes (en alerta) de cambios de estado que deben tomar. Cuando ocurre una falla, el sistema deberá comprobar primero que el estado de copia de seguridad es lo suficientemente fresco antes de reanudar los servicios. Este enfoque también se utiliza en los sistemas de control, a menudo cuando las entradas vienen a través de canales de comunicación o de los sensores y tienen que ser cambiados de la primaria a la copia de seguridad en caso de fallo. Este enfoque también se utiliza en los sistemas de control, a menudo cuando las entradas vienen a través de canales de comunicación o de los sensores y tienen que ser cambiados de la primaria a la copia de seguridad en caso de fallo.
13
Tácticas de Disponibilidad Tácticas de Disponibilidad De repuesto. Una plataforma de computación en espera está configurada para sustituir muchos componentes diferentes. Tiene que ser reiniciada en la configuración del software adecuado y tener su estado inicializado cuando se produce un error. Hacer un checkpoint del estado del sistema en un dispositivo persistente periódicamente y registrar todos los cambios de estado a un dispositivo persistente lo que permite el remplazo se establezca en el estado adecuado. De repuesto. Una plataforma de computación en espera está configurada para sustituir muchos componentes diferentes. Tiene que ser reiniciada en la configuración del software adecuado y tener su estado inicializado cuando se produce un error. Hacer un checkpoint del estado del sistema en un dispositivo persistente periódicamente y registrar todos los cambios de estado a un dispositivo persistente lo que permite el remplazo se establezca en el estado adecuado. Operación en Sombra. Un componente que haya fallado puede ejecutarse en modo oculto "por un corto tiempo para asegurarse de que imita el comportamiento de los componentes de trabajo antes de restaurar el servicio. Operación en Sombra. Un componente que haya fallado puede ejecutarse en modo oculto "por un corto tiempo para asegurarse de que imita el comportamiento de los componentes de trabajo antes de restaurar el servicio. Estado de resincronización. Las tácticas de redundancia pasiva y activa precisan que el componente sea restaurado para tener su estado actualizado antes de su retorno al servicio. Estado de resincronización. Las tácticas de redundancia pasiva y activa precisan que el componente sea restaurado para tener su estado actualizado antes de su retorno al servicio. Checkpoint / retroceso. Un punto de comprobación es una grabación de un estado coherente creado ya sea periódicamente o en respuesta a eventos específicos. A veces un sistema no de una manera inusual, con un estado incoherente detectable. En este caso, el sistema debe ser restaurado mediante un Checkpoint previo de un estado consistente y un registro de las transacciones que se produjeron desde la instantánea fue tomada. Checkpoint / retroceso. Un punto de comprobación es una grabación de un estado coherente creado ya sea periódicamente o en respuesta a eventos específicos. A veces un sistema no de una manera inusual, con un estado incoherente detectable. En este caso, el sistema debe ser restaurado mediante un Checkpoint previo de un estado consistente y un registro de las transacciones que se produjeron desde la instantánea fue tomada.
14
Tácticas de Disponibilidad Tácticas de Disponibilidad PREVENCIÓN DE FALLO PREVENCIÓN DE FALLO Las siguientes son algunas tácticas de prevención de fallo. Las siguientes son algunas tácticas de prevención de fallo. Separación del servicio. Esta táctica remueve un componente del sistema de operación para someterse a algunas actividades para evitar fracasos anticipados. Un ejemplo es reiniciar un componente para evitar pérdidas de memoria de causar un fracaso. Separación del servicio. Esta táctica remueve un componente del sistema de operación para someterse a algunas actividades para evitar fracasos anticipados. Un ejemplo es reiniciar un componente para evitar pérdidas de memoria de causar un fracaso. Transacciones. Una transacción es la agrupación de varias etapas sucesivas de modo que todo el paquete se puede deshacer de una vez. Las transacciones se utiliza para prevenir cualquier dato de verse afectado si un paso en el proceso falla y también para evitar colisiones entre varios hilos simultáneos que acceden a los mismos datos. Transacciones. Una transacción es la agrupación de varias etapas sucesivas de modo que todo el paquete se puede deshacer de una vez. Las transacciones se utiliza para prevenir cualquier dato de verse afectado si un paso en el proceso falla y también para evitar colisiones entre varios hilos simultáneos que acceden a los mismos datos. Proceso de monitor. Una vez que un fallo en un proceso se ha detectado un proceso de monitoreo puede eliminar el proceso no funcional y crear una nueva instancia del mismo, inicializado a un estado apropiado como en la táctica de repuesto. Proceso de monitor. Una vez que un fallo en un proceso se ha detectado un proceso de monitoreo puede eliminar el proceso no funcional y crear una nueva instancia del mismo, inicializado a un estado apropiado como en la táctica de repuesto.
16
Tácticas de Modificación Las tácticas para controlar modificaciones tienen como objetivo controlar el tiempo y el costo de implementar, probar y desplegar los cambios. Las tácticas para controlar modificaciones tienen como objetivo controlar el tiempo y el costo de implementar, probar y desplegar los cambios.
17
Tácticas de Modificación Se organiza las tácticas de modificación en grupos de acuerdo a sus objetivos: Se organiza las tácticas de modificación en grupos de acuerdo a sus objetivos: Localizar modificaciones. Reducir el número de módulos que están directamente afectados por un cambio. Localizar modificaciones. Reducir el número de módulos que están directamente afectados por un cambio. Prevenir el efecto dominó. Limitar las modificaciones de los módulos localizados. Implícitamente se usa este conjunto de tácticas para la distinción de módulos directamente afectados (aquellas cuyas responsabilidades se ajustan para lograr el cambio) y los módulos indirectamente afectados por un cambio (aquellos cuyas responsabilidades no cambian, pero cuya aplicación debe ser cambiado para acomodar los módulos directamente afectados). Prevenir el efecto dominó. Limitar las modificaciones de los módulos localizados. Implícitamente se usa este conjunto de tácticas para la distinción de módulos directamente afectados (aquellas cuyas responsabilidades se ajustan para lograr el cambio) y los módulos indirectamente afectados por un cambio (aquellos cuyas responsabilidades no cambian, pero cuya aplicación debe ser cambiado para acomodar los módulos directamente afectados). Aplazar el enlace en tiempo." Conjunto de tácticas que tienen como objetivo el control de tiempo y costo de implementación. Aplazar el enlace en tiempo." Conjunto de tácticas que tienen como objetivo el control de tiempo y costo de implementación.
18
Tácticas de Modificación LOCALIZAR MODIFICACIONES Aunque no existe necesariamente una relación exacta entre el número de módulos afectados por un conjunto de cambios y el costo de la aplicación de esos cambios, la restricción de las modificaciones de un pequeño conjunto de módulos general, reduce el costo. LOCALIZAR MODIFICACIONES Aunque no existe necesariamente una relación exacta entre el número de módulos afectados por un conjunto de cambios y el costo de la aplicación de esos cambios, la restricción de las modificaciones de un pequeño conjunto de módulos general, reduce el costo. El objetivo de la táctica en esta serie es asignar responsabilidades a los módulos durante el diseño de tal manera que los cambios previstos estarán limitados en su alcance. Identificamos cinco tácticas. El objetivo de la táctica en esta serie es asignar responsabilidades a los módulos durante el diseño de tal manera que los cambios previstos estarán limitados en su alcance. Identificamos cinco tácticas. Mantener la coherencia semántica. La coherencia semántica se refiere a las relaciones entre las responsabilidades en un módulo. El objetivo es garantizar que todas estas responsabilidades trabajen juntas sin excesiva dependencia de otros módulos. Mantener la coherencia semántica. La coherencia semántica se refiere a las relaciones entre las responsabilidades en un módulo. El objetivo es garantizar que todas estas responsabilidades trabajen juntas sin excesiva dependencia de otros módulos. El logro de este objetivo viene desde la elección de las responsabilidades que tienen coherencia semántica. Acoplamiento y métricas de cohesión son un intento de medir la coherencia semántica, pero les falta el contexto de un cambio. En su lugar, la coherencia semántica se debe medir con una serie de cambios previstos. El logro de este objetivo viene desde la elección de las responsabilidades que tienen coherencia semántica. Acoplamiento y métricas de cohesión son un intento de medir la coherencia semántica, pero les falta el contexto de un cambio. En su lugar, la coherencia semántica se debe medir con una serie de cambios previstos. Una sub- táctica es abstraer los servicios comunes. La prestación de servicios comunes a través de módulos especializados suele ser visto como el apoyo a la reutilización. Esto es correcto, pero los servicios de resúmenes común también apoya la modificación. Una sub- táctica es abstraer los servicios comunes. La prestación de servicios comunes a través de módulos especializados suele ser visto como el apoyo a la reutilización. Esto es correcto, pero los servicios de resúmenes común también apoya la modificación.
19
Tácticas de Modificación Anticiparse a los cambios esperados. Teniendo en cuenta el conjunto de cambios previstos proporciona una manera de evaluar una particular asignación de responsabilidades. La pregunta básica es "En cada cambio, la descomposición propuesta limita el conjunto de módulos que deben ser modificados para lograrlo?" Anticiparse a los cambios esperados. Teniendo en cuenta el conjunto de cambios previstos proporciona una manera de evaluar una particular asignación de responsabilidades. La pregunta básica es "En cada cambio, la descomposición propuesta limita el conjunto de módulos que deben ser modificados para lograrlo?" La táctica de anticipar los cambios esperados no se preocupa con la coherencia de las responsabilidades de un módulo, sino más bien con la minimización de los efectos de los cambios. La táctica de anticipar los cambios esperados no se preocupa con la coherencia de las responsabilidades de un módulo, sino más bien con la minimización de los efectos de los cambios. Generalizar el módulo. Hacer un módulo más general le permite calcular una gama más amplia de funciones basadas en la entrada. La entrada se puede considerar como la definición de un lenguaje para el módulo, que puede ser tan simple como hacer constantes parámetros de entrada o tan complicado como la aplicación del módulo como un intérprete y la toma de los parámetros de entrada ser un programa en el lenguaje del intérprete. Generalizar el módulo. Hacer un módulo más general le permite calcular una gama más amplia de funciones basadas en la entrada. La entrada se puede considerar como la definición de un lenguaje para el módulo, que puede ser tan simple como hacer constantes parámetros de entrada o tan complicado como la aplicación del módulo como un intérprete y la toma de los parámetros de entrada ser un programa en el lenguaje del intérprete. Limitar las posibles opciones. Modificaciones, sobre todo en una línea de productos, puede ser muy amplia y por lo tanto, afectar a muchos módulos. La restricción de las opciones posibles reducirá el efecto de estas modificaciones. Limitar las posibles opciones. Modificaciones, sobre todo en una línea de productos, puede ser muy amplia y por lo tanto, afectar a muchos módulos. La restricción de las opciones posibles reducirá el efecto de estas modificaciones.
20
Tácticas de Modificación PREVENIR EFECTOS DOMINO PREVENIR EFECTOS DOMINO Un efecto de onda expansiva de una modificación es la necesidad de hacer cambios a los módulos que no están directamente afectados por ella. Por ejemplo, si el módulo A se cambia para llevar a cabo una modificación en particular, entonces el módulo B se cambia sólo por el cambio al módulo A, B tiene que ser modificado debido a que depende, en cierto sentido, el A. Un efecto de onda expansiva de una modificación es la necesidad de hacer cambios a los módulos que no están directamente afectados por ella. Por ejemplo, si el módulo A se cambia para llevar a cabo una modificación en particular, entonces el módulo B se cambia sólo por el cambio al módulo A, B tiene que ser modificado debido a que depende, en cierto sentido, el A. Empezamos nuestra discusión sobre el efecto expansivo que al discutir los diversos tipos de dependencias que un módulo puede tener sobre otro. Nos identificamos ocho tipos: Empezamos nuestra discusión sobre el efecto expansivo que al discutir los diversos tipos de dependencias que un módulo puede tener sobre otro. Nos identificamos ocho tipos:
21
Tácticas de Modificación Sintaxis de Sintaxis de Datos. Para B compilar (o ejecutar) correctamente, el tipo (o formato) de los datos que se produce por A y son consumidos por B debe ser coherente con el tipo (o formato) de los datos asumidas por B. Datos. Para B compilar (o ejecutar) correctamente, el tipo (o formato) de los datos que se produce por A y son consumidos por B debe ser coherente con el tipo (o formato) de los datos asumidas por B. Servicio. Para B compilar y ejecutar correctamente, la firma de los servicios prestados por A ye invocados por B debe ser coherente con las hipótesis de B. Servicio. Para B compilar y ejecutar correctamente, la firma de los servicios prestados por A ye invocados por B debe ser coherente con las hipótesis de B. Semántica de Semántica de Datos. Para ejecutar correctamente B, la semántica de los datos producidos por A y que B consume debe ser coherente con las hipótesis de B. Datos. Para ejecutar correctamente B, la semántica de los datos producidos por A y que B consume debe ser coherente con las hipótesis de B. Servicio. Para ejecutar correctamente B, la semántica de los servicios producidos por A y utilizado por B debe ser coherente con las hipótesis de B. Servicio. Para ejecutar correctamente B, la semántica de los servicios producidos por A y utilizado por B debe ser coherente con las hipótesis de B. Secuencia de Secuencia de Datos. Para que B se ejecute correctamente, debe recibir los datos producidos por A en una secuencia fija. Datos. Para que B se ejecute correctamente, debe recibir los datos producidos por A en una secuencia fija. Control. Para B ejecutar correctamente, A debe tener ejecutada previamente en las limitaciones de tiempo determinado. Por ejemplo, A debe tener ejecutada no más de 5 ms antes de que B ejecuta. Control. Para B ejecutar correctamente, A debe tener ejecutada previamente en las limitaciones de tiempo determinado. Por ejemplo, A debe tener ejecutada no más de 5 ms antes de que B ejecuta.
22
Tácticas de Modificación Identidad de una interfaz de A. A puede tener varias interfaces. Para B compilar y ejecutar correctamente, la identidad (nombre) de la interfaz debe ser consistente con la hipótesis de B. Identidad de una interfaz de A. A puede tener varias interfaces. Para B compilar y ejecutar correctamente, la identidad (nombre) de la interfaz debe ser consistente con la hipótesis de B. Ubicación de A (tiempo de ejecución). Para ejecutar correctamente B, la ubicación en tiempo de ejecución de A debe ser coherente con las hipótesis de B. Por ejemplo, B puede suponer que A se encuentra en un proceso diferente en el mismo procesador. Ubicación de A (tiempo de ejecución). Para ejecutar correctamente B, la ubicación en tiempo de ejecución de A debe ser coherente con las hipótesis de B. Por ejemplo, B puede suponer que A se encuentra en un proceso diferente en el mismo procesador. Calidad del servicio / datos facilitados por A. Para B ejecutar correctamente, alguna propiedad que implique la calidad de los datos o los servicios prestados por A debe ser coherente con las hipótesis de B. Por ejemplo, los datos proporcionados por un sensor en particular debe tener una cierta precisión a fin de que los algoritmos de B funcionen correctamente. Calidad del servicio / datos facilitados por A. Para B ejecutar correctamente, alguna propiedad que implique la calidad de los datos o los servicios prestados por A debe ser coherente con las hipótesis de B. Por ejemplo, los datos proporcionados por un sensor en particular debe tener una cierta precisión a fin de que los algoritmos de B funcionen correctamente. Existencia de A. Para B ejecutar correctamente, A debe existir. Por ejemplo, si B está solicitando un servicio de un Objeto, y A no existe y no se puede crear de forma dinámica, entonces B no se ejecutará correctamente. Existencia de A. Para B ejecutar correctamente, A debe existir. Por ejemplo, si B está solicitando un servicio de un Objeto, y A no existe y no se puede crear de forma dinámica, entonces B no se ejecutará correctamente. El comportamiento de los recursos de A. Para B ejecutar correctamente el comportamiento de los recursos de A debe ser coherente con las hipótesis de B. Esto puede ser un uso de recursos de A (usa la misma memoria como B) o de propiedad de recursos (B se reserva un recurso que A cree que posee). El comportamiento de los recursos de A. Para B ejecutar correctamente el comportamiento de los recursos de A debe ser coherente con las hipótesis de B. Esto puede ser un uso de recursos de A (usa la misma memoria como B) o de propiedad de recursos (B se reserva un recurso que A cree que posee).
23
Tácticas de Modificación Tácticas a disposición del arquitecto para la prevención del efecto domino de ciertos tipos. Tácticas a disposición del arquitecto para la prevención del efecto domino de ciertos tipos. Ocultar la información. El ocultamiento de información es la descomposición de las responsabilidades de una entidad (un sistema o algunos de descomposición de un sistema) en trozos más pequeños y la elección de que la información para tomar privada y que hacer pública. Las responsabilidades públicas están disponibles a través de interfaces especificadas. El objetivo es aislar los cambios dentro de un módulo y evitar los cambios se propaguen a otras personas. Ocultar la información. El ocultamiento de información es la descomposición de las responsabilidades de una entidad (un sistema o algunos de descomposición de un sistema) en trozos más pequeños y la elección de que la información para tomar privada y que hacer pública. Las responsabilidades públicas están disponibles a través de interfaces especificadas. El objetivo es aislar los cambios dentro de un módulo y evitar los cambios se propaguen a otras personas. Mantener las actuales interfaces. Si B depende del nombre y la firma de una interfaz de A, el mantenimiento de esta interfaz y su sintaxis permite a B permanecer sin cambios. Mantener las actuales interfaces. Si B depende del nombre y la firma de una interfaz de A, el mantenimiento de esta interfaz y su sintaxis permite a B permanecer sin cambios. La estabilidad de la interfaz también se puede lograr mediante la separación de la interfaz de la aplicación. Esto permite la creación de interfaces abstractas que ocultan las variaciones. Las variaciones pueden ser incluidas dentro de las responsabilidades existentes, o pueden ser incorporados mediante la sustitución de una aplicación de un módulo con otro. La estabilidad de la interfaz también se puede lograr mediante la separación de la interfaz de la aplicación. Esto permite la creación de interfaces abstractas que ocultan las variaciones. Las variaciones pueden ser incluidas dentro de las responsabilidades existentes, o pueden ser incorporados mediante la sustitución de una aplicación de un módulo con otro. Los patrones que aplican esta táctica son: Los patrones que aplican esta táctica son: Agregando Interfaces. La mayoría de los lenguajes de programación permiten múltiples interfaces. Nuevos servicios visibles o los datos pueden estar disponibles a través de nuevas interfaces, lo que permite interfaces existentes sigan sin cambios y proporcionar la misma firma. Agregando Interfaces. La mayoría de los lenguajes de programación permiten múltiples interfaces. Nuevos servicios visibles o los datos pueden estar disponibles a través de nuevas interfaces, lo que permite interfaces existentes sigan sin cambios y proporcionar la misma firma. Agregando Adaptador. Añadir un adaptador para una que envuelve una y proporciona la firma del original A. Agregando Adaptador. Añadir un adaptador para una que envuelve una y proporciona la firma del original A.
24
Tácticas de Modificación Restringir los caminos de comunicación. Restringir los módulos con los que un modulo comparte datos. Es decir, reducir el número de módulos que consumen datos elaborados por el mismo módulo y el número de módulos que producen datos consumidos por ella. Restringir los caminos de comunicación. Restringir los módulos con los que un modulo comparte datos. Es decir, reducir el número de módulos que consumen datos elaborados por el mismo módulo y el número de módulos que producen datos consumidos por ella. El uso de un intermediario. Si B tiene algún tipo de dependencia de una semántica distinta, es posible insertar un intermediario entre B y A que gestiona las actividades asociadas con la dependencia. Los intermediarios son : El uso de un intermediario. Si B tiene algún tipo de dependencia de una semántica distinta, es posible insertar un intermediario entre B y A que gestiona las actividades asociadas con la dependencia. Los intermediarios son : Datos (sintaxis). Repositorios, actúan como intermediarios entre el productor y consumidor de datos. Los repositorios puede convertir la sintaxis producida por A en el supuesto por B. Algunas patrones de publicación / suscripción (los que tienen datos que fluyen a través de un componente central) puede también convertir la sintaxis en el supuesto por MVC. El PAC y los patrones de convertir los datos en un formalismo (dispositivo de entrada o salida) en otro (la utilizada por el modelo en MVC). Datos (sintaxis). Repositorios, actúan como intermediarios entre el productor y consumidor de datos. Los repositorios puede convertir la sintaxis producida por A en el supuesto por B. Algunas patrones de publicación / suscripción (los que tienen datos que fluyen a través de un componente central) puede también convertir la sintaxis en el supuesto por MVC. El PAC y los patrones de convertir los datos en un formalismo (dispositivo de entrada o salida) en otro (la utilizada por el modelo en MVC).
25
Tácticas de Modificación Servicio (sintaxis). Los patrones facade, bridge, mediador, strategy, proxy, y factory, todos proveen intermediarios que convierten la sintaxis de un servicio de una forma a otra. Por lo tanto, todas pueden ser utilizadas para prevenir cambios en A se propague a B. Servicio (sintaxis). Los patrones facade, bridge, mediador, strategy, proxy, y factory, todos proveen intermediarios que convierten la sintaxis de un servicio de una forma a otra. Por lo tanto, todas pueden ser utilizadas para prevenir cambios en A se propague a B. La identidad de una interfaz de A. Un patrón broker puede ser utilizado para enmascarar los cambios en la identidad de una interfaz. Si B depende de la identidad de una interfaz de A y esta identidad cambia, añadiendo esa identidad aa agente y el agente realiza la conexión a la nueva identidad de A, B puede permanecer sin cambios. La identidad de una interfaz de A. Un patrón broker puede ser utilizado para enmascarar los cambios en la identidad de una interfaz. Si B depende de la identidad de una interfaz de A y esta identidad cambia, añadiendo esa identidad aa agente y el agente realiza la conexión a la nueva identidad de A, B puede permanecer sin cambios. Ubicación de A (tiempo de ejecución ). Un servidor de nombres permite la ubicación de A ser cambiada sin afectar B. A es responsable del registro de su ubicación actual con el servidor de nombres, y B recupera la ubicación del servidor de nombres. Ubicación de A (tiempo de ejecución ). Un servidor de nombres permite la ubicación de A ser cambiada sin afectar B. A es responsable del registro de su ubicación actual con el servidor de nombres, y B recupera la ubicación del servidor de nombres. El comportamiento de los recursos de A o el controlador de recursos por A. El administrador de recursos es un intermediario que se encarga de la asignación de recursos. El comportamiento de los recursos de A o el controlador de recursos por A. El administrador de recursos es un intermediario que se encarga de la asignación de recursos. La existencia de A. El patrón factory tiene la capacidad de crear instancias, según sea necesario, y por lo tanto la dependencia de B sobre la existencia de una se satisface con las acciones de la fábrica. La existencia de A. El patrón factory tiene la capacidad de crear instancias, según sea necesario, y por lo tanto la dependencia de B sobre la existencia de una se satisface con las acciones de la fábrica.
26
Tácticas de Modificación APLAZAR EL ENLACE EN TIEMPO APLAZAR EL ENLACE EN TIEMPO Las dos categorías tácticas que hemos discutido hasta ahora están diseñados para minimizar el número de módulos que requieren el cambio a efectuar modificaciones. Las dos categorías tácticas que hemos discutido hasta ahora están diseñados para minimizar el número de módulos que requieren el cambio a efectuar modificaciones. Las decisiones se pueden enlazar en el sistema de ejecución en varias ocasiones. Se discuten los que afectan el tiempo de implementación. Las decisiones se pueden enlazar en el sistema de ejecución en varias ocasiones. Se discuten los que afectan el tiempo de implementación. El despliegue de un sistema viene dado por algún proceso. Cuando se realiza una modificación por el promotor, por lo general hay un proceso de pruebas y de distribución que determina el tiempo que transcurre entre la presentación del cambio y la disponibilidad de ese cambio para el usuario final. El despliegue de un sistema viene dado por algún proceso. Cuando se realiza una modificación por el promotor, por lo general hay un proceso de pruebas y de distribución que determina el tiempo que transcurre entre la presentación del cambio y la disponibilidad de ese cambio para el usuario final. Enlace en tiempo de ejecución significa que el sistema ha sido preparado para que la unión y todas las pruebas y la distribución de medidas se han completado. Retrasar el tiempo vinculante también apoya que permite al usuario final o el administrador del sistema para realizar ajustes o facilitar información que afecta la conducta. Enlace en tiempo de ejecución significa que el sistema ha sido preparado para que la unión y todas las pruebas y la distribución de medidas se han completado. Retrasar el tiempo vinculante también apoya que permite al usuario final o el administrador del sistema para realizar ajustes o facilitar información que afecta la conducta.
27
Tácticas de Modificación Muchas tácticas están destinadas a tener un impacto en el tiempo de carga o tiempo de ejecución, tales como las siguientes. Muchas tácticas están destinadas a tener un impacto en el tiempo de carga o tiempo de ejecución, tales como las siguientes. Tiempo de ejecución de registro admite el funcionamiento plug-and-play "a costa de un trabajo adicional para gestionar el registro. Publicación / suscripción registro, por ejemplo, pueden aplicarse a cualquiera de tiempo de ejecución o tiempo de carga. Tiempo de ejecución de registro admite el funcionamiento plug-and-play "a costa de un trabajo adicional para gestionar el registro. Publicación / suscripción registro, por ejemplo, pueden aplicarse a cualquiera de tiempo de ejecución o tiempo de carga. Los archivos de configuración están destinadas a establecer los parámetros en el arranque. Los archivos de configuración están destinadas a establecer los parámetros en el arranque. El polimorfismo permite el enlace de llamadas a métodos. El polimorfismo permite el enlace de llamadas a métodos. Componente de reemplazo permite el tiempo de carga vinculante. Componente de reemplazo permite el tiempo de carga vinculante. La adhesión a los protocolos definidos permite en tiempo de ejecución obligatoria de procesos independientes. La adhesión a los protocolos definidos permite en tiempo de ejecución obligatoria de procesos independientes.
29
Tácticas de Funcionamiento El objetivo de las tácticas de funcionamiento es generar una respuesta para un evento que llega al sistema dentro de alguna restricción de tiempo. El objetivo de las tácticas de funcionamiento es generar una respuesta para un evento que llega al sistema dentro de alguna restricción de tiempo. El evento puede ser la llegada de un mensaje la expiración de un intervalo de tiempo, la detección de un cambio significativo en el ambiente del sistema, etc. El evento puede ser la llegada de un mensaje la expiración de un intervalo de tiempo, la detección de un cambio significativo en el ambiente del sistema, etc. El sistema procesa los eventos y genera una respuesta. Las tácticas de funcionamiento controlan el tiempo dentro del cual una respuesta es generada. El sistema procesa los eventos y genera una respuesta. Las tácticas de funcionamiento controlan el tiempo dentro del cual una respuesta es generada. La latencia es el tiempo entre la llegada de un evento y la generación de una respuesta para ello. La latencia es el tiempo entre la llegada de un evento y la generación de una respuesta para ello.
30
Tácticas de Funcionamiento Tácticas para el control del Funcionamiento Llegada de Evento Respuesta generada dentro de una restricción de tiempo
31
Tácticas de Funcionamiento Consumo de Recursos: Consumo de Recursos: Los recursos incluyen la CPU, almacenes de datos, ancho de banda de comunicación de red, y la memoria, pero también puede incluir entidades definidas por el sistema particular en el marco de diseño. Por ejemplo, los buffers deben ser gestionados y el acceso a las secciones críticas deben hacerse secuencialmente. Los eventos pueden ser de diversos tipos, y cada tipo pasa por una secuencia de procesamiento. Por ejemplo, un mensaje es generado por un componente, se coloca en la red, y llega a otro componente. Luego se coloca en un búfer; transformado de alguna manera (marshalling es el término que el Object Management Group utiliza para esta transformación); procesada de acuerdo con algún algoritmo, luego es transformado y colocado en un búfer de salida, y finalmente enviado a otro componente, sistema o usuario. Cada una de estas fases contribuye a la latencia total del tratamiento de este caso.
32
Tácticas de Funcionamiento Tiempo de Bloqueo: Tiempo de Bloqueo: Un cálculo puede bloquear el uso de un recurso debido a la contención para él, porque el recurso no está disponible, o porque el cálculo depende del resultado de otros cálculos que no están aún disponibles.
33
Tácticas de Funcionamiento Contención de recursos : Contención de recursos : Los eventos pueden estar en una sola secuencia o en varias secuencias. Múltiples secuencias que compiten por el mismo recurso o diferentes eventos en la misma secuencia que compiten por el mismo recurso contribuirá a la latencia. En general, a mayor contención para un recurso, mayor probabilidad de latencia a ser introducida. Sin embargo, esto depende de cómo el argumento es arbitrado y cómo peticiones individuales son tratados por el mecanismo de arbitraje.
34
Tácticas de Funcionamiento Disponibilidad de recursos : Disponibilidad de recursos : Falta de disponibilidad puede ser causada por un recurso que está fuera de línea o por fallo de la pieza o por alguna otra razón. En cualquier caso, el arquitecto debe identificar los lugares donde no se dispone de recursos y podría provocar una importante contribución a la latencia en general.
35
Tácticas de Funcionamiento Dependencia en otros cálculos : Dependencia en otros cálculos : Un cálculo puede tener que esperar porque tiene que sincronizar con los resultados de otro cálculo o porque se está esperando los resultados de un cálculo que la inició. Por ejemplo, puede ser la lectura de información de dos fuentes diferentes, si estas dos fuentes se leen secuencialmente, la latencia será mayor que si se leen en paralelo.
36
Tácticas de Funcionamiento Demanda de recursos : Demanda de recursos : Las secuencias de eventos son el origen de la demanda de recursos. Dos características de la demanda son el tiempo entre eventos en una secuencia de recursos (con qué frecuencia se realiza una solicitud en una corriente) y la cantidad en que un recurso es consumido por cada solicitud.
37
Tácticas de Funcionamiento Demanda de recursos : Demanda de recursos : Una táctica para reducir la latencia es la reducción de los recursos necesarios para el procesamiento de una secuencia de eventos. Las formas de hacerlo son las siguientes: Aumentar la eficiencia computacional: Mejora de algoritmos. Aumentar la eficiencia computacional: Mejora de algoritmos. Reducir la sobrecarga de cómputo: Supresión de intermediarios o procesos ociosos. Reducir la sobrecarga de cómputo: Supresión de intermediarios o procesos ociosos.
38
Tácticas de Funcionamiento Demanda de recursos : Demanda de recursos : Otra táctica para reducir la latencia es reducir el número de eventos procesados. Esto se puede hacer en una de dos maneras. Administrar la tasa de eventos : A través de la frecuencia de muestreo en los que las variables ambientales son monitoreados. Administrar la tasa de eventos : A través de la frecuencia de muestreo en los que las variables ambientales son monitoreados. Control de frecuencia de muestreo: Si no hay control sobre la llegada de los eventos generados externamente, las solicitudes en la cola pueden ser probados en una frecuencia más baja, potencialmente resultando en la pérdida de las solicitudes. Control de frecuencia de muestreo: Si no hay control sobre la llegada de los eventos generados externamente, las solicitudes en la cola pueden ser probados en una frecuencia más baja, potencialmente resultando en la pérdida de las solicitudes.
39
Tácticas de Funcionamiento Demanda de recursos : Demanda de recursos : Otras tácticas para reducir o controlar la gestión de la demanda implica el uso de los recursos. Limite de tiempos de ejecución: Poniendo un límite de cuánto tiempo de ejecución se utiliza para responder a un evento, o en otros casos lo que limita el número de iteraciones es un método de delimitación de los plazos de ejecución. Limite de tiempos de ejecución: Poniendo un límite de cuánto tiempo de ejecución se utiliza para responder a un evento, o en otros casos lo que limita el número de iteraciones es un método de delimitación de los plazos de ejecución. Límite del tamaño de las colas: Controla el número máximo de llegadas en cola y, en consecuencia los recursos utilizados para procesar a los recién llegados. Límite del tamaño de las colas: Controla el número máximo de llegadas en cola y, en consecuencia los recursos utilizados para procesar a los recién llegados.
40
Tácticas de Funcionamiento Administración de recursos : Administración de recursos : Introducción de concurrencia: Si las solicitudes se pueden procesar en paralelo, el tiempo de bloqueo se puede reducir. Concurrencia puede ser introducido por el procesamiento de diversos flujos de eventos en diferentes hilos o mediante la creación de subprocesos adicionales para procesar diferentes conjuntos de actividades. Introducción de concurrencia: Si las solicitudes se pueden procesar en paralelo, el tiempo de bloqueo se puede reducir. Concurrencia puede ser introducido por el procesamiento de diversos flujos de eventos en diferentes hilos o mediante la creación de subprocesos adicionales para procesar diferentes conjuntos de actividades. Mantener múltiples copias de datos o cálculos: Clientes en un patrón de cliente-servidor son réplicas de computación. El propósito de las réplicas es reducir la contención de que se produciría si todos los cálculos se llevaran a cabo en un servidor central. El almacenamiento en caché es una táctica en la que los datos se replica, ya sea en los repositorios de velocidad diferente o en depósitos separados, para reducir la contención. Mantener múltiples copias de datos o cálculos: Clientes en un patrón de cliente-servidor son réplicas de computación. El propósito de las réplicas es reducir la contención de que se produciría si todos los cálculos se llevaran a cabo en un servidor central. El almacenamiento en caché es una táctica en la que los datos se replica, ya sea en los repositorios de velocidad diferente o en depósitos separados, para reducir la contención. Aumentar los recursos disponibles: Procesadores más rápidos, procesadores adicionales, memoria adicional, y redes más rápidas tienen el potencial para reducir la latencia. El costo es generalmente una consideración en la elección de los recursos, pero aumentar los recursos es, sin duda una táctica para reducir la latencia. Aumentar los recursos disponibles: Procesadores más rápidos, procesadores adicionales, memoria adicional, y redes más rápidas tienen el potencial para reducir la latencia. El costo es generalmente una consideración en la elección de los recursos, pero aumentar los recursos es, sin duda una táctica para reducir la latencia.
41
Tácticas de Funcionamiento Arbitraje de recursos : Arbitraje de recursos : First-in/First-out: Colas FIFO tratan a todas las solicitudes de recursos de igual a igual y las satisface según su turno. Una posibilidad con una cola FIFO es que una petición será atrapado detrás de otro que toma mucho tiempo para generar una respuesta. Mientras todas las peticiones son realmente iguales, esto no es un problema, pero si algunas de las solicitudes son de mayor prioridad que otros, es problemático. First-in/First-out: Colas FIFO tratan a todas las solicitudes de recursos de igual a igual y las satisface según su turno. Una posibilidad con una cola FIFO es que una petición será atrapado detrás de otro que toma mucho tiempo para generar una respuesta. Mientras todas las peticiones son realmente iguales, esto no es un problema, pero si algunas de las solicitudes son de mayor prioridad que otros, es problemático.
42
Tácticas de Funcionamiento Arbitraje de recursos : Arbitraje de recursos : Esquema de prioridad fija: Fija la prioridad de programación asigna a cada fuente de solicitudes de recursos una prioridad especial y asigna los recursos en ese orden de prioridad. - La importancia semántica: Cada secuencia se le asigna una prioridad estática de acuerdo con alguna característica de dominio de la tarea que genera. - Deadline monotónica : Es una asignación de prioridad estática que asigna mayor prioridad a las secuencias con deadline más cortos. - Tasa monotónica: Es una asignación de prioridad estática para las secuencias periódicas que asigna una mayor prioridad a los secuencias con períodos más cortos. Esquema de prioridad fija: Fija la prioridad de programación asigna a cada fuente de solicitudes de recursos una prioridad especial y asigna los recursos en ese orden de prioridad. - La importancia semántica: Cada secuencia se le asigna una prioridad estática de acuerdo con alguna característica de dominio de la tarea que genera. - Deadline monotónica : Es una asignación de prioridad estática que asigna mayor prioridad a las secuencias con deadline más cortos. - Tasa monotónica: Es una asignación de prioridad estática para las secuencias periódicas que asigna una mayor prioridad a los secuencias con períodos más cortos.
43
Tácticas de Funcionamiento Arbitraje de recursos : Arbitraje de recursos : Esquema de prioridad dinámica: Esquema de prioridad dinámica: - Round robin: Es una estrategia de programación ordena las solicitudes y luego, en todas las posibilidades de asignación, asigna el recurso a la siguiente solicitud en ese orden. Una forma especial de round robin es una ejecución cíclica en el cual las posibilidades de transferencia son a intervalos de tiempo fijos. -Deadline temprana primero: asigna prioridades basadas en las solicitudes pendientes con el plazo más temprano.
44
Tácticas de Funcionamiento Arbitraje de recursos : Arbitraje de recursos : Programación estática: Programación estática: Una programación de ejecución cíclica es una estrategia de programación donde los puntos de suscripción preferente y la secuencia de asignación al recurso se determinan en línea.
45
Tácticas de Funcionamiento
46
Tácticas de Seguridad Resistencia de ataques : Resistencia de ataques : Las siguientes tácticas pueden ser usadas en combinación para alcanzar los objetivos Autenticación de usuarios Autenticación de usuarios Autorización de usuarios Autorización de usuarios Mantenimiento de la confidencialidad de la data Mantenimiento de la confidencialidad de la data Mantenimiento de la integridad Mantenimiento de la integridad Limitación de la exposición o disponibilidad de la data Limitación de la exposición o disponibilidad de la data Limitación de acceso Limitación de acceso
47
Tácticas de Seguridad Detección de ataques : Detección de ataques : La detección de un ataque es generalmente a través de un sistema de detección de intrusos. Estos sistemas trabajan mediante la comparación de patrones de tráfico de red a una base de datos. En el caso de detección de mal uso, el patrón de tráfico se compara con los patrones históricos de ataques conocidos. En el caso de detección de anomalías, el patrón de tráfico se compara con una base histórica de sí mismo. Con frecuencia, los paquetes deben ser filtrados con el fin de hacer comparaciones. La filtración puede hacerse sobre la base del protocolo, TCP, el tamaño de la carga útil, origen o destino, o número de puerto.
48
Tácticas de Seguridad Recuperación de ataques : Recuperación de ataques : Las tácticas utilizadas en la restauración del sistema o datos a un estado correcto con los que se utilizan para conocer la disponibilidad, ya que se recupera a un estado coherente de un estado incoherente. Una diferencia es que se presta especial atención al mantenimiento de copias redundantes del sistema de datos administrativos, tales como contraseñas, listas de control de acceso, servicios de nombres de dominio, y los datos de perfil de usuario. La táctica para identificar a un usuario malintencionado es mantener un registro de auditoría. La pista de auditoría es una copia de cada transacción aplicada a los datos en el sistema junto con la información de identificación. La información de auditoría puede utilizarse para trazar las acciones de un atacante, soporte de no repudio, y el soporte de recuperación del sistema.
49
Tácticas de Seguridad
50
Tácticas de Contrastabilidad Entrada/Salida : Entrada/Salida : Grabación y reproducción: Se refiere tanto a la captura de información de cruzar una interfaz y su uso como entrada en la prueba. La información que se cruza en una interfaz durante la operación normal se guarda en algunos repositorios y representan la salida de un componente y la entrada a otro. Grabación y reproducción: Se refiere tanto a la captura de información de cruzar una interfaz y su uso como entrada en la prueba. La información que se cruza en una interfaz durante la operación normal se guarda en algunos repositorios y representan la salida de un componente y la entrada a otro. Separación de la interfaz de la implementación: La separación de la interfaz de la implementación permite la sustitución de las implementaciones para varios ensayos de prueba. Al sustituir un componente especializado permite que el componente que se sustituye actuar como un banco de pruebas para el resto del sistema. Separación de la interfaz de la implementación: La separación de la interfaz de la implementación permite la sustitución de las implementaciones para varios ensayos de prueba. Al sustituir un componente especializado permite que el componente que se sustituye actuar como un banco de pruebas para el resto del sistema. Rutas de acceso o interfaces especializados : Habiendo interfaces de prueba especializadas permite la captura o la especificación de valores de variables para un componente a través de un banco de pruebas, así como con independencia de su ejecución normal. Por ejemplo, los metadatos podrían ponerse a disposición a través de una interfaz especializada que un banco de pruebas que se utilizan para conducir sus actividades. Las rutas de acceso e interfaces especializadas deben estar separados de las vías de acceso e interfaces para la funcionalidad requerida. Rutas de acceso o interfaces especializados : Habiendo interfaces de prueba especializadas permite la captura o la especificación de valores de variables para un componente a través de un banco de pruebas, así como con independencia de su ejecución normal. Por ejemplo, los metadatos podrían ponerse a disposición a través de una interfaz especializada que un banco de pruebas que se utilizan para conducir sus actividades. Las rutas de acceso e interfaces especializadas deben estar separados de las vías de acceso e interfaces para la funcionalidad requerida.
51
Tácticas de Contrastabilidad Monitoreo Interno : Monitoreo Interno : El componente puede mantener el estado, la carga de rendimiento, capacidad, seguridad, u otra información accesible a través de una interfaz. Esta interfaz puede ser una interfaz permanente del componente o puede ser introducido temporalmente a través de un técnica de instrumentación como la programación orientada a aspectos o macros de preprocesador. Una técnica común consiste en registrar los acontecimientos cuando los estados de vigilancia se han activado. Los estados de seguimiento pueden hacer aumentar el esfuerzo de pruebas ya que las pruebas pueden tener que ser repetidas con el monitoreo desactivado.
52
Tácticas de Contrastabilidad
53
TACTICAS DE USABILIDAD la usabilidad tiene que ver con lo fácil que es para el usuario para cumplir una tarea deseada y el tipo de apoyo el sistema proporciona al usuario. la usabilidad tiene que ver con lo fácil que es para el usuario para cumplir una tarea deseada y el tipo de apoyo el sistema proporciona al usuario. Hay dos tipos de tácticas de usabilidad de apoyo, cada una destinada a dos categorías de "usuarios". Hay dos tipos de tácticas de usabilidad de apoyo, cada una destinada a dos categorías de "usuarios". La primera categoría, tiempo de ejecución, incluye a aquellos que apoyan al usuario durante la ejecución del sistema. La primera categoría, tiempo de ejecución, incluye a aquellos que apoyan al usuario durante la ejecución del sistema. La segunda categoría se basa en el carácter iterativo del diseño de interfaz de usuario y soporta la interfaz de desarrollador en tiempo de diseño. La segunda categoría se basa en el carácter iterativo del diseño de interfaz de usuario y soporta la interfaz de desarrollador en tiempo de diseño.
55
TACTICAS EN TIEMPO DE EJECUCION Una vez que el sistema se está ejecutando, la usabilidad se ve reforzada por la respuesta de los usuarios en cuanto a lo que el sistema está haciendo y ofreciendo al usuario la capacidad de emitir comandos basados en la usabilidad. Una vez que el sistema se está ejecutando, la usabilidad se ve reforzada por la respuesta de los usuarios en cuanto a lo que el sistema está haciendo y ofreciendo al usuario la capacidad de emitir comandos basados en la usabilidad. Por ejemplo, cancelar, deshacer, agregado, y muestran varias vistas de apoyo al usuario en la corrección de errores o bien operaciones más eficientes. Por ejemplo, cancelar, deshacer, agregado, y muestran varias vistas de apoyo al usuario en la corrección de errores o bien operaciones más eficientes.
56
"La iniciativa de usuario" Cuando el usuario toma la iniciativa, el arquitecto diseña una respuesta como si fuera cualquier otra pieza de funcionalidad. El arquitecto debe enumerar las responsabilidades del sistema para responder al comando de usuario. Cuando el usuario toma la iniciativa, el arquitecto diseña una respuesta como si fuera cualquier otra pieza de funcionalidad. El arquitecto debe enumerar las responsabilidades del sistema para responder al comando de usuario. Cuando el usuario emite un comando cancel, el sistema debe estar escuchando para ello (por lo tanto, existe la responsabilidad de tener un oyente constante que no esté bloqueado por las acciones de lo que se está cancelando) Cuando el usuario emite un comando cancel, el sistema debe estar escuchando para ello (por lo tanto, existe la responsabilidad de tener un oyente constante que no esté bloqueado por las acciones de lo que se está cancelando)
57
"iniciativa del sistema" Cuando el sistema toma la iniciativa, es necesario contar con alguna información? Un modelo? Sobre el usuario, la tarea que realiza el usuario o el estado del sistema en sí. Cada modelo requiere varios tipos de entrada para llevar a cabo su iniciativa. Cuando el sistema toma la iniciativa, es necesario contar con alguna información? Un modelo? Sobre el usuario, la tarea que realiza el usuario o el estado del sistema en sí. Cada modelo requiere varios tipos de entrada para llevar a cabo su iniciativa. ejemplo, saber que las sentencias por lo general comienzan con mayúsculas permitiría una aplicación para corregir una letra minúscula en esa posición. ejemplo, saber que las sentencias por lo general comienzan con mayúsculas permitiría una aplicación para corregir una letra minúscula en esa posición.
58
TACTICAS EN TIEMPO DE DISENO Las interfaces de usuario suelen ser revisadas con frecuencia durante el proceso de prueba. Es decir, el ingeniero de usabilidad dará las revisiones a los desarrolladores del diseño de interfaz de usuario actual y los desarrolladores podrán ponerlas en práctica. Las interfaces de usuario suelen ser revisadas con frecuencia durante el proceso de prueba. Es decir, el ingeniero de usabilidad dará las revisiones a los desarrolladores del diseño de interfaz de usuario actual y los desarrolladores podrán ponerlas en práctica. Separa la interfaz de usuario del resto de la solicitud. Desde la interfaz de usuario se espera que cambie con frecuencia, tanto durante el desarrollo y después del despliegue, el mantenimiento del código de la interfaz de usuario por separado va a localizar cambios en él. Separa la interfaz de usuario del resto de la solicitud. Desde la interfaz de usuario se espera que cambie con frecuencia, tanto durante el desarrollo y después del despliegue, el mantenimiento del código de la interfaz de usuario por separado va a localizar cambios en él.
60
Relación de Tácticas para los patrones arquitectónicos Se han presentado un conjunto de tácticas que el arquitecto puede utilizar para alcanzar sus características particulares. De hecho, un arquitecto, normalmente opta por un modelo o una colección de patrones que les permitan desarrollar una o más tácticas. Se han presentado un conjunto de tácticas que el arquitecto puede utilizar para alcanzar sus características particulares. De hecho, un arquitecto, normalmente opta por un modelo o una colección de patrones que les permitan desarrollar una o más tácticas.
61
Los patrones de arquitectura y estilos Un patrón de arquitectura de software, también conocido como un estilo arquitectónico, es análogo a un estilo arquitectónico en los edificios, como el gótico o el renacimiento griego o Queen Anne. Se compone de una serie de características clave y reglas para combinarlas de manera que se preserve la integridad arquitectónica. Un patrón arquitectónico es determinado por: Un patrón de arquitectura de software, también conocido como un estilo arquitectónico, es análogo a un estilo arquitectónico en los edificios, como el gótico o el renacimiento griego o Queen Anne. Se compone de una serie de características clave y reglas para combinarlas de manera que se preserve la integridad arquitectónica. Un patrón arquitectónico es determinado por:
62
- Un conjunto de tipos de elementos (como un repositorio de datos o un componente que calcula una función matemática). - Un conjunto de tipos de elementos (como un repositorio de datos o un componente que calcula una función matemática). - Un diseño topológico de los elementos que indican su interrelación-los buques. - Un diseño topológico de los elementos que indican su interrelación-los buques. - Un conjunto de restricciones semánticas (por ejemplo, los filtros en un estilo pipe-and-filter son transductores de datos puros. Que de forma incremental transformar su flujo de entrada en una secuencia de salida, pero no controlan bien los elementos anteriores o posteriores). - Un conjunto de restricciones semánticas (por ejemplo, los filtros en un estilo pipe-and-filter son transductores de datos puros. Que de forma incremental transformar su flujo de entrada en una secuencia de salida, pero no controlan bien los elementos anteriores o posteriores). - Un conjunto de mecanismos de interacción (por ejemplo, llamar a subrutinas, eventos de abonado, pizarra) que determinan cómo los elementos de coordenadas a través de la topología permite. - Un conjunto de mecanismos de interacción (por ejemplo, llamar a subrutinas, eventos de abonado, pizarra) que determinan cómo los elementos de coordenadas a través de la topología permite.
64
los patrones se clasifican en los grupos relacionados en una jerarquía de herencia. los patrones se clasifican en los grupos relacionados en una jerarquía de herencia. Por ejemplo, un sistema de eventos es un subestilo de elementos independientes. sistemas de eventos se tienen dos sub-patrones: invocación implícita y la invocación explícita. Por ejemplo, un sistema de eventos es un subestilo de elementos independientes. sistemas de eventos se tienen dos sub-patrones: invocación implícita y la invocación explícita.
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.