Modelado Software Tema 8
|
|
Título del Test:
![]() Modelado Software Tema 8 Descripción: Test Modelado software UCAM |



| Comentarios |
|---|
NO HAY REGISTROS |
|
¿Cómo se define formalmente el proceso o actividad de "Reutilización" en el software?. La reescritura completa del código fuente utilizando lenguajes orientados a objetos de última generación. Actividad o proceso que permite desarrollar un sistema a partir de algo procedente de algún esfuerzo de desarrollo anterior. El análisis automático de los módulos de un programa para reducir el esfuerzo en el mantenimiento adaptativo. Un mecanismo exclusivo para evaluar y realizar modificaciones sobre interfaces de usuario obsoletas. Para guiar correctamente un proceso de reutilización, ¿a qué tres preguntas esenciales se debe dar respuesta?. ¿Quién debe reutilizar?, ¿cuándo se debe compilar? y ¿dónde se guarda el artefacto?. ¿Cuál es el coste del cambio?, ¿qué herramientas faltan? y ¿cómo se evita la resistencia del cliente?. ¿Qué se debe reutilizar?, ¿Qué proceso se ha de seguir? y ¿Cómo se organizan los componentes?. ¿Qué patrón de creación aplica?, ¿qué ámbito tiene? y ¿cómo se implementa su encapsulación?. El texto menciona varias dificultades al abordar la reutilización en un proyecto. ¿Cuál de las siguientes opciones describe correctamente estas barreras?. El uso excesivo de herramientas automáticas y la documentación sobredimensionada. La imposibilidad de definir tipos abstractos en las estructuras externas de las bases de datos. La inexistencia de planes de reutilización, la no utilización de herramientas ni técnicas, la falta de información, la resistencia al cambio y que los clientes no siempre quieren afrontar el cambio. La obligación de ceñirse al modelo de 3 capas en entornos que no son cliente/servidor. ¿Qué condición indispensable debe cumplir un componente de software para que sea considerado verdaderamente reutilizable?. Debe estar restringido a un único caso de uso específico. Tiene que ser lo más general posible. Debe carecer de estructuras de datos internas o externas. Tiene que implementarse obligatoriamente mediante herencia en lugar de composición. ¿Cuál es el objetivo principal de la "Ingeniería de dominio"?. Efectúa el trabajo necesario para establecer un conjunto de elementos software que sean reutilizables. Analizar las acciones básicas del teclado y ratón en una interfaz gráfica. Modificar aplicaciones veteranas mediante transacciones atómicas. Reducir la complejidad de la documentación mejorando el aprendizaje del programador. ¿Qué cuatro acciones componen el flujo de trabajo de la ingeniería de dominio para gestionar los elementos de software?. Evaluar, controlar, modificar y reconstruir. Preparar, operar, exportar y depurar. Identificar, construir, catalogar y diseminar. Estandarizar, racionalizar, sustituir y mantener. ¿Cuáles son las tres tareas principales en las que se divide la Ingeniería de dominio?. Ingeniería inversa, Reestructuración e Ingeniería progresiva. Preparación de datos, Operación de datos y Exportación de datos. Análisis del dominio, Construcción de componentes y Clasificación y recuperación de componentes. Definición del concepto, Verificación del contenido y Delimitación del contexto. En el marco de la ingeniería de dominio, ¿en qué consiste la tarea de "Análisis del dominio"?. En identificar las estructuras de datos estándar y protocolos de interfaz. En describir los componentes en términos no ambiguos empleando el modelo 3C. En determinar un conjunto de características que permitan clasificar a los dominios de aplicación y comprobar si están presentes en los componentes del catálogo para establecer qué elementos reutilizar. En cambiar la interfaz de usuario antigua por una nueva interfaz gráfica de usuario (GUI). ¿Qué actividades se deben realizar específicamente durante la tarea de "Construcción de componentes"?. Identificar las estructuras de datos estándar, identificar los protocolos de interfaz y construir plantillas de programa. Analizar módulos de programas mediante secciones de preparación, operación y exportación. Determinar un conjunto de características que clasifiquen los dominios de aplicación. Estudiar la estructura externa de las bases de datos para ver si se construye una nueva. Con el fin de lograr una correcta "Clasificación y recuperación de componentes", ¿bajo qué criterio fundamental se deben describir dichos componentes?. En base a su coste en dinero, tiempo y recursos de hardware. Utilizando diagramas de estado/actividad vinculados al teclado y ratón. En términos no ambiguos y fáciles de clasificar. Mediante restricciones de acceso y transacciones atómicas distribuidas. ¿Quién propuso el "Modelo 3C" y cuál es su finalidad dentro del desarrollo de software?. Fue propuesto por el Gang of Four (GoF) para seleccionar patrones de comportamiento. Fue propuesto por Gamma para la reestructuración de código y datos. Fue propuesto por Tracz para la clasificación y recuperación de componentes. Fue propuesto por Johnson para analizar las aplicaciones veteranas. Dentro del Modelo 3C de Tracz, ¿cuál es la definición exacta de los tres ejes: Concepto, Contenido y Contexto?. Concepto: el coste; Contenido: el código; Contexto: las clases. Concepto: descripción de lo que hace; Contenido: cómo se consigue el concepto; Contexto: dominio de aplicabilidad del componente. Concepto: la interfaz; Contenido: los datos; Contexto: la base de datos externa. Concepto: la especificación; Contenido: las plantillas; Contexto: el catálogo general. ¿Qué es la "Reingeniería" según el texto aportado?. El proceso de análisis de un programa para crear una representación con un nivel de abstracción mayor. Mecanismo para evaluar, controlar y realizar modificaciones sobre aplicaciones “veteranas”, tratándose de una tarea de reconstrucción que requiere tiempo, dinero y recursos. La estandarización y racionalización de las estructuras internas de un programa de forma automática. El cambio directo de una GUI vieja aprovechando los componentes gráficos del cliente. ¿Cómo se define formalmente el proceso de "Ingeniería inversa"?. Una actividad orientada a añadir mejoras visuales a una GUI sin comprender el código fuente. El rediseño de datos para lograr la estandarización y racionalización del dominio. Proceso de análisis de un programa para crear una representación del mismo con un nivel de abstracción mayor que el código fuente. Un método flexible para crear clases donde el código del cliente no se ve afectado. ¿Cuáles son los tres elementos interesantes o áreas clave sobre los que se aplica la ingeniería inversa según tus apuntes?. Concepto, Contenido y Contexto. Herramientas, Técnicas e Información. Procesamiento, Interfaz de usuario y estructuras de datos. Análisis de datos, Rediseño de datos y Estandarización. Al realizar ingeniería inversa sobre el "Procesamiento", ¿qué tres secciones o módulos de los programas deben ser analizados?. Sección de inicio, Sección de control y Sección de cierre. Sección de herencia, Sección de composición y Sección de delegación. Sección de preparación de datos, Sección de operación de datos y Sección de exportación de datos. Sección de transacciones, Sección de restricciones y Sección de capas. Al aplicar ingeniería inversa a la "Interfaz de usuario", ¿qué dos aspectos iniciales se representan mediante diagramas de estado/actividad?. Los tipos abstractos internos y las clases de objetos lógicos. Las acciones básicas que debe procesar la interfaz (teclado y ratón) y la respuesta del sistema a estas acciones. Los componentes gráficos que se van a mantener y los que se van a sustituir. El intercambio de datos original y el modelo de 3 capas. En el análisis de las "Estructuras de datos" dentro de la ingeniería inversa, ¿cuál es el objetivo de estudiar las estructuras internas (programa)?. Determinar si es adecuado construir una nueva base de datos externa. Establecer transacciones atómicas y accesos restringidos. Definir tipos abstractos para determinar las clases de objetos. Racionalizar y estandarizar los módulos del programa veterano. En el análisis de las "Estructuras de datos" de la ingeniería inversa, ¿qué se evalúa con respecto a las estructuras externas?. Las acciones básicas del teclado y ratón. Estudiar la estructura actual (Bases de datos) y determinar si es adecuado construir una nueva base de datos. La creación de plantillas de programa no ambiguas. El ajuste automático del procesamiento a la sección de exportación de datos. ¿Cuáles son los beneficios explícitos derivados de aplicar una "Reestructuración" según el texto?. Mayor calidad (debido a la mejora en la documentación y una menor complejidad), mejora el aprendizaje, aumenta la productividad (más sencillo de comprobar y depurar) y reduce el esfuerzo en el mantenimiento. Menor coste en dinero, eliminación de la ingeniería de dominio y supresión de la GUI. Independencia total del modelo de 3 capas y eliminación del catálogo de componentes. Mayor velocidad al clonar prototipos y descentralización de los planes de reutilización. ¿Qué dos tipos de reestructuración se favorecen y qué subtareas implica la reestructuración de datos?. Reestructuración de interfaces y de usuarios; implica diagramación de estados y actividades. Reestructuración de conceptos y contextos; implica clasificar componentes según Tracz. Reestructuración de código y de los datos; esta última implica el análisis de datos y rediseño de datos (estandarización y/o racionalización). Reestructuración cliente y servidor; implica definir transacciones atómicas aisladas. Dentro de la "Ingeniería progresiva" en entornos cliente/servidor, ¿para qué se requiere un proceso de ingeniería inversa y reestructuración sobre la base de datos?. Para eliminar la sección de operación de datos del programa original. Para adaptar la base de datos a la nueva situación: transacciones atómicas, acceso restringido a usuarios y adaptación al modelo de 3 capas. Para construir plantillas de programa que sustituyan por completo el teclado y el ratón. Para desglosar las estructuras internas en términos del modelo 3C de Tracz. En el marco de la "Ingeniería progresiva" para la Interfaz de usuario, ¿cuál es el orden de acciones que se sigue tras comprender la interfaz original y el intercambio de datos?. Se destruyen los componentes gráficos externos y se crea una base de datos atómica. Se remodela el comportamiento y se facilita el trabajo aprovechando los componentes gráficos, se introducen las mejoras para finalmente construir e integrar la nueva GUI. Se pasa directamente a clasificar el componente gráfico en el catálogo de Tracz. Se eliminan los diagramas de estado/actividad y se reduce la documentación. Al realizar ingeniería inversa sobre el "Procesamiento", ¿cuáles son los tres objetivos fundamentales que se persiguen antes de desglosar sus secciones?. Diseñar plantillas de programa, crear el catálogo general y automatizar el modelo 3C. Estandarizar los datos, racionalizar las bases de datos y cambiar el uso del ratón. Comprender la funcionalidad general de la aplicación, revisar si el código se corresponde con la especificación y analizar los módulos de los programas. Modificar los costos del mantenimiento adaptativo y reducir el anidamiento jerárquico. Además de procesar acciones de teclado/ratón y describir respuestas del sistema, ¿qué otra meta persigue la ingeniería inversa aplicada a la "Interfaz de usuario"?. Adaptar el intercambio de datos viejo al modelo estático de 3 capas. Determinar qué interfaces sustituir y cuáles mantener. Eliminar por completo el comportamiento original y la documentación existente. Definir los tipos abstractos para determinar la escala de la base de datos externa. ¿Por qué la tarea de "Reestructuración" consigue aumentar específicamente la productividad del programador?. Porque obliga a los clientes a aceptar la resistencia al cambio de manera automática. Porque sustituye la ingeniería inversa por plantillas no ambiguas. Porque el código resultante es más sencillo de comprobar y depurar. Porque restringe de manera atómica el acceso a usuarios en entornos cliente/servidor. Al definir la ingeniería de dominio, se especifica que el conjunto de elementos software identificados, construidos, catalogados y diseminados deben tener una condición de uso. ¿Cuál es?. Que funcionen exclusivamente bajo transacciones atómicas aisladas. Que tengan aplicación dentro de un determinado dominio de aplicación. Que se limiten a cambiar la estructura de la aplicación veterana. Que se representen únicamente con diagramas de estado o actividad de grano fino. Dentro de la "Ingeniería progresiva" orientada a la Interfaz de usuario, ¿cuál es el paso definitivo que concluye el proceso de cambio tras introducir las mejoras pertinentes?. Desglosar los módulos del programa en preparación, operación y exportación. Estudiar la estructura externa para ver si se construye una nueva base de datos. Evaluar el dominio de aplicabilidad del componente usando el Modelo 3C. Construir e integrar la nueva GUI. ¿Qué es exactamente la Reingeniería?. Un proceso exclusivo para cambiar código fuente sin alterar la documentación. Mecanismo para evaluar, controlar y realizar modificaciones sobre aplicaciones "veteranas". Una metodología de diseño para sistemas orientados a objetos desde cero. Un extractor automático de abstracciones lógicas de bases de datos relacionales. ¿Qué tipo de tarea es la reingeniería y qué elementos requiere textualmente para su ejecución?. Es una tarea atómica que solo consume espacio en el catálogo del servidor. Es una tarea automatizada que reduce el esfuerzo en el mantenimiento correctivo sin costes. Tarea de reconstrucción que requiere tiempo, dinero y recursos. Es una tarea progresiva independiente del modelo de 3 capas. Dentro de la analogía de la reconstrucción de una casa, ¿qué cinco pasos se enumeran literalmente para describir la reingeniería?. Inspeccionar la casa, verificar la estructura, entender la arquitectura original, utilizar los materiales más modernos, reconstruir con calidad. Analizar el inventario, reestructurar el código, revertir los datos, aislar las transacciones, integrar la GUI. Evaluar el terreno, demoler los módulos viejos, estandarizar las interfaces, racionalizar el software, mantener el coste. Definir tipos abstractos, extraer abstracciones, procesar ratón y teclado, modelar estados, cambiar el diseño. ¿Cuáles son los seis pasos que componen el "Proceso de reingeniería" según el orden exacto expuesto en el documento?. Ingeniería inversa, Procesamiento, Interfaz de usuario, Estructuras de datos, Extractor de abstracciones, Código fuente. Análisis del dominio, Construcción de componentes, Clasificación, Recuperación, Reestructuración, Depuración. Análisis de inventario, Reconstrucción de documentos, Ingeniería inversa, Reestructuración de código, Reestructuración de datos, Ingeniería progresiva. Captura de requisitos, Diseño arquitectónico, Codificación, Pruebas unitarias, Despliegue, Mantenimiento. ¿Cuál es la definición textual de "Ingeniería Inversa" aportada en este apartado?. Un proceso de reestructuración de código orientado a la estandarización de módulos. Proceso de análisis de un programa para crear una representación del mismo con un nivel de abstracción mayor que el código fuente. Un mecanismo para identificar los elementos gráficos que deben estar en el cliente y en el servidor. La inspección física del hardware sobre el que se ejecuta una aplicación veterana. ¿Qué cinco elementos se listan de forma estructurada bajo el epígrafe de "Ingeniería Inversa"?. Tiempo, dinero, recursos, materiales modernos, calidad. Mayor calidad, mejor documentación, menor complejidad, aprendizaje, productividad. Código fuente, Procesamiento, Interfaz de usuario, Estructuras de datos, Extractor de abstracciones. Análisis de inventario, Reconstrucción de documentos, Reestructuración de código, Reestructuración de datos, Ingeniería progresiva. Al abordar la "Ingeniería Inversa: Procesamiento", ¿qué tres acciones generales se especifican?. Determinar acciones básicas, describir respuestas del sistema y diagramar estados. Comprender la funcionalidad general de la aplicación, revisar si el código se corresponde con la especificación y analizar los módulos de los programas. Analizar inventarios, reconstruir documentos antiguos y extraer abstracciones. Estandarizar interfaces, racionalizar datos internos y cambiar a una nueva GUI. ¿Cuáles son los tres módulos o secciones de los programas que se analizan en el procesamiento?. Sección de cliente, sección de servidor, sección de base de datos. Sección de teclado, sección de ratón, sección de interfaz gráfica. Sección de preparación de datos, sección de operación de datos, sección de exportación de datos. Sección de análisis, sección de rediseño, sección de mantenimiento. Dentro de la "Ingeniería Inversa: Datos", ¿cuál es el objetivo de analizar las estructuras internas (programa)?. Estudiar la estructura actual de las bases de datos para adaptarlas al cliente/servidor. Definir tipos abstractos para determinar las clases de objetos. Determinar si es adecuado construir una nueva base de datos externa. Racionalizar y estandarizar los flujos de control de la GUI. En el análisis de datos de la ingeniería inversa, ¿qué se debe realizar con respecto a las estructuras externas (Bases de datos)?. Definir tipos abstractos atómicos que sustituyan las especificaciones originales. Sincronizar las acciones de teclado y ratón con el extractor de abstracciones. Estudiar la estructura actual y determinar si es adecuado construir una nueva base de datos. Adaptar los módulos directamente al procesamiento de exportación de datos. ¿Cuáles son las dos acciones iniciales indicadas para realizar la "Ingeniería Inversa: GUI"?. Determinar las acciones básicas que debe procesar la interfaz (teclado y ratón) y describir la respuesta del sistema a estas acciones. Comprender el intercambio de datos y cambiar de forma inmediata a una interfaz táctil. Eliminar la sección de preparación de datos y diagramar las clases de objetos. Analizar el inventario de pantallas y reconstruir los documentos de especificación. ¿Qué se debe determinar finalmente en la Ingeniería Inversa de la GUI y qué diagramas se mencionan explícitamente?. Determinar las clases de objetos y usar diagramas de despliegue. Determinar el modelo de 3 capas y usar diagramas de componentes lógicos. Determinar qué interfaces sustituir y diagrama de Estados/Actividad. Determinar las restricciones de acceso de usuarios y usar diagramas de secuencia. El documento divide los beneficios de la "Reestructuración" en varios bloques. ¿Cuáles son los tres primeros beneficios listados?. Transacciones atómicas, acceso restringido y reducción de costes. Mayor calidad, mejor documentación y menor complejidad. Extracción de abstracciones, modelado de estados y análisis de inventarios. Uso de materiales modernos, calidad y control de aplicaciones veteranas. Además de mejorar el aprendizaje, ¿qué otro impacto positivo directo provoca la Reestructuración en el trabajo del desarrollador y por qué motivo?. Reduce el esfuerzo del mantenimiento porque elimina la base de datos externa. Evita la necesidad de comprender la interfaz original porque automatiza la documentación. Aumenta la productividad, siendo más sencillo de comprobar y depurar. Minimiza el tiempo de procesamiento al aislar la sección de operación de datos. El texto indica que tras la reestructuración de código, se realiza la "Reestructuración de los datos". ¿Qué dos tareas constitutivas engloba esta última?. Definición de tipos abstractos y construcción de una nueva base de datos. Análisis de datos y rediseño de datos (estandarización y/o racionalización). Extracción de abstracciones e ingeniería progresiva distribuida. Determinación de acciones básicas de teclado y ratón. Al aplicar "Ingeniería Progresiva: Entornos C/S", ¿cuál es el paso de identificación fundamental que debe realizarse?. Identificar qué interfaces gráficas se van a sustituir mediante diagramas de actividades. Identificar los módulos que pertenecen a la preparación de datos veteranos. Identificar los elementos que deben estar en el cliente y en el servidor. Identificar las propiedades que describen los materiales más modernos de la estructura. En los entornos cliente/servidor (C/S), ¿para qué es estrictamente necesario aplicar un proceso previo de ingeniería inversa y reestructuración sobre la base de datos?. Para adaptar la base de datos a la nueva situación: transacciones atómicas, acceso restringido a usuarios. Para eliminar de forma permanente el código fuente de la aplicación veterana. Para construir plantillas de programa libres de abstracciones lógicas. Para forzar al procesamiento a actuar únicamente en la sección de exportación. ¿A qué modelo arquitectónico se debe adaptar la base de datos dentro de la Ingeniería Progresiva de entornos C/S?. Al modelo 3C de Tracz. Al modelo relacional basado en diagramas de estados. Adaptación al modelo de 3 capas. Al modelo de composición basado en herencia. ¿Cuáles son los dos primeros pasos listados en el proceso de "Ingeniería Progresiva: GUI"?. Introducir mejoras e integrar la nueva GUI de forma automática. Analizar las acciones de teclado/ratón y diagramar las actividades. Proceso de cambio a una nueva GUI, y comprender la interfaz original y el intercambio de datos. Definir los tipos abstractos y reestructurar los datos estandarizados. ¿Qué acción intermedia se debe realizar para facilitar el trabajo durante la Ingeniería Progresiva de la GUI y qué elementos se aprovechan?. Modificar la sección de operación de datos aprovechando el extractor de abstracciones. Remodelar el comportamiento para facilitar el trabajo aprovechando los componentes gráficos. Reconstruir los documentos originales aprovechando las aplicaciones veteranas. Restringir el acceso a usuarios aprovechando el modelo de 3 capas. ¿Cuáles son los dos pasos finales que cierran la secuencia de la Ingeniería Progresiva de la GUI?. Estudiar la estructura actual y determinar si es adecuado construir una nueva base de datos. Revisar si el código se corresponde con la especificación y reestructurar el código. Introducir mejoras, y construir e integrar la nueva GUI. Rediseñar los datos mediante su estandarización y/o racionalización. Además del código fuente, el procesamiento, la interfaz de usuario y las estructuras de datos, ¿qué otro elemento específico forma parte de la Ingeniería Inversa?. Adaptador de componentes gráficos. Verificador de arquitectura original. Extractor de abstracciones. Diseñador de transacciones atómicas. Dentro de la lista de beneficios de la Reestructuración, ¿qué efecto positivo se destaca explícitamente en relación con el ciclo de vida a largo plazo del software?. Reduce el esfuerzo en el mantenimiento. Elimina la necesidad de usar entornos de tres capas. Evita tener que inspeccionar las aplicaciones veteranas. Sincroniza automáticamente el teclado y el ratón. Atendiendo textualmente al punto 7 del tema, ¿cuáles son los dos únicos bloques de reestructuración que se mencionan de forma expresa?. Reestructuración de inventario y reestructuración de documentos. Reestructuración de clientes y reestructuración de servidores. Reestructuración de código y Reestructuración de los datos. Reestructuración de interfaces y reestructuración de abstracciones. En la Ingeniería Progresiva de la GUI, ¿qué elemento crucial se debe comprender de forma obligatoria junto con la interfaz original antes de remodelar el comportamiento?. El diagrama de Estados/Actividad del programador. El intercambio de datos. La sección de exportación de datos del módulo. Las restricciones de acceso de usuarios. |





