Diagrama de flujo de datos yourdon

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 30,65 KB

 


1. ¿Para qué sirve básicamente la fase del Examen (Survey) de la Metodología Orientada al Flujo

De Datos? (1 punto)


- Sirve fundamentalmente para estudiar la viabilidad del sistema.


2. ¿De qué tres componentes consta el “modelo ambiental” de la metodología estructurada

Orientada al flujo de datos? (2 puntos)


- Declaración de objetivos, diagrama de contexto, lista de sucesos..


2. ¿Qué cuatro actividades tiene el Modelo de Implantación del Usuario en la Metodología Orientada

Al Flujo de Datos (2 puntos)


A) Establecer los límites hombre-máquina b) Definir la Interfaz de Usuario c) Actividades Adicionales

Manuales d) Restricciones Operativas del Sistema


3. ¿En qué consiste la Factorización del primer nivel en el Análisis de Transacciones de la

Metodología Orientada al Flujo de Datos? (2 puntos)


-En dibujar el módulo principal y colgar de él un módulo por cada rama aferente, eferente y de

transformación existente en el DFD.


2. ¿En qué debe ser consistente la "Lista de Sucesos" con el "Diagrama de Contexto" en la Metodología

Orientada al Flujo de Datos? (2 puntos)


Cada flujo de entrada del Diagrama de Contexto es necesario para producir un suceso y cada flujo de salida

del diagrama debe dar respuesta a un suceso.


3. ¿Qué significa Empaquetar el Diseño en la Metodología Orientada al Flujo de Datos? (1 puntos)

Descomponer el diagrama de estructura en módulos físicos ejecutables.


2. ¿Cuándo se desarrolla el Modelo de Procesador y para qué sirve en el Diseño Orientado al Flujo de

Datos? (2 puntos)


Se desarrolla cuando la aplicación es distribuida o multiprocesador, y sirve para asignar el modelo esencial

entre los distintos procesadores asignados al sistema.


3. Indica de peor a mejor los tipos de cohesión que existen al diseñar un módulo (2 puntos)

Coincidental, Lógica, Temporal, Procedural, Comunicacional, Secuencial y Funcional.



3. Señale de peor a mejor los tipos de cohesión que puede tener un módulo (2 puntos)

Coincidental, Lógica, Temporal, Procedural, Comunicacional, Secuencial, Funcional.


1.- ¿Qué dos modelos definen el Diseño Estructurado? ( 1 punto)

Modelo de implantación del sistema y modelo de implantación de programas


3.- Cita los elementos que participan en el Diagrama de Contexto ( 1 p)

Entidades externas, flujos de datos, almacenes de datos, proceso


4.- Enumera las etapas que tiene el Modelo de Implantación del Usuario (1 p)

Establecer límites hombre - máquina, definir la interfaz de usuario, definir actividades manuales, restricciones

operativas


2. Entre las Heurísticas de Diseño existentes para refinar un sistema estructurado señala 4 (2 puntos)

Bajo acoplamiento entre módulos. 2) Alta cohesión de cada módulo. 3) Anchura de control (fan-out): 3 ó 4. 4) Maximizar el fan-in. 5) Ámbito de efecto menor que ámbito de control. 6) Dimensión apropiada de cada módulo (<= 100 sentencias).  

3. ¿Qué estrategias de implementación estructurada utilizan sólo drivers y cuáles sólo stubs? (1 puntos)

La top-down sólo stub y la bottom-up sólo drivers


1. ¿Qué modela el Modelo Ambiental y de qué componentes consta? (2 puntos)

Modela el exterior del sistema y consta de: Declaración de objetivos, Diagrama de contexto y Lista de

sucesos



3. Al diseñar el Diagrama de Estructura se definen los centros de transacciones después de factorizar el primer nivel.

¿Tendría sentido seguir factorizando más niveles si no existen centros de transacciones? ¿Por qué? (2 puntos)

Sí, porque la factorización de los niveles es independiente de que existan o no centros de transacciones. Es

una técnica propia del Análisis de Transacciones para obtener el Diagrama de Estructura.



1 ¿Qué modela el Modelo de Comportamiento del Análisis Estructurado y en qué actividades se

divide? (2 puntos)

Modela el comportamiento interno del sistema de acuerdo con el modelo ambiental.

Se divide en: Modelo de proceso, modelo de datos y diagrama de transición de estados.



4. El Diagrama de Estructura que se describe precisa dos refinamientos sucesivos: 1. Que el módulo

ER sea utilizado por todos los módulos. 2. Eliminar el módulo ER y que cada módulo escriba sus

resultados. ¿Qué heurísticas se aplican para cada refinamiento?(2 puntos):

1. Se aumenta el fan-in y se disminuye la complejidad del módulo GIT

2. Se elimina la cohesión lógica del módulo ER y la complejidad de su interfaz


4. Pasos para crear un stub aferente, un stub eferente, y un driver para un módulo aferente (3

puntos).

• Stub aferente: Diseñar la Interfaz; Crear datos de prueba para probar el módulo superior; Retornarlos

al módulo de llamada.

• Stub eferente: Diseñar la Interfaz; Aceptar la entrada del superior; Visualizarla; Retornar al superior.

• Driver para un módulo aferente: Diseñar la Interfaz; Llamar al módulo; Aceptar resultados;

Visualizarlos.


2. ¿A qué modelo de desarrollo corresponde la fase de Examen (o Survey) y en qué

consiste?

Pertenece al Modelo Orientado al Flujo de Datos. Consiste en el estudio de la

viabilidad del sistema y produce el diagrama del proyecto.


3. Indicar qué tareas comprende el Modelo de Implantación de Programas

Diseñar el diagrama de estructuras, refinado, diseñar los módulos, diseñar las

bases de datos y empaquetar el diseño


-----------------------oo

4. ¿Cómo se realiza la implementación en OO? ¿Utiliza stubs y drivers? (2 puntos)

A) Se codifica y prueba el MC diseñando como stubs los métodos a los que llama

B) Utilizando el DIO de diseño, se codifica en profundidad cada método de cada clase, y

se integra y prueba con lo ya implementado, diseñando como stubs los métodos a los

que llama. Sólo utiliza stubs


5. Si una clase tiene un atributo al que se asigna memoria dinámicamente, ¿qué métodos debería

codificar como mínimo? (2 puntos)

- Constructor, Constructor de copia, Operador de asignación y Destructor


5. ¿Para qué utiliza el Diagrama de Transición de Estados en el Modelo de Desarrollo OO? (2

puntos)

- Para descubrir los servicios globales del sistema al diseñar el DIO


4. Pon un ejemplo de Agregación débil, Agregación fuerte, y Dependencia de Uso (2 puntos)

A)Agregación débil: Un cuadro formado por un marco, cristal y lámina. B)Agregación fuerte: Una ventana

Windows formada por el título, el menú principal y el panel de contenido. C)Dependencia de Uso: Entre las

clases “Informe” e “Impresora” en la operación void Informe::Imprimir(Impresora p);


5. ¿Con qué diagramas se identifican las operaciones de cada clase en la Metodología OO?

¿Utilizarías el Diagrama de Clases? (2 puntos)

Con el Diagrama de Interacción de Objetos (DIO) y con el Diagrama de Transición de Estados. No utilizaría

el Diagrama de Clases porque simplemente muestra las operaciones de cada clase y no se utiliza para

identificarlas.


4. Señala los tipos de relaciones estructurales existentes entre clases o entre sus objetos (1 puntos)

Asociación, Agregación(fuerte o débil) y Generalización


5. ¿Qué actividades fundamentales tiene la Captura de Requisitos de la Metodología Básica OO? (2

puntos)

Encontrar actores y casos de uso, Detallar los casos de uso, Definir un prototipo de la interfaz de usuario.


6. Para identificar las clases de diseño de tipo interfaz, control y entidad a partir de la Captura de

Requisitos ¿cómo se hace? (2 puntos)

Una clase interfaz por cada actor. Una clase de control por cada caso de uso (en los programas

pequeños sólo hay una clase de control). Las clases entidad salen de los atributos de los casos de

uso.



4. ¿Podemos considerar que existe una relación de generalización entre un rectángulo y cuadrado?

Explicar la respuesta (2 puntos)

No. Porque una instancia de cuadrado no se comporta como una instancia de rectángulo. Ej. Podemos

alargar los lados a y b de un rectángulo de modo diferente, pero no los de un cuadrado



5. Cita los puntos importantes que debe tener el contenido de la "Descripción Textual de un Caso de Uso"

en la Metodología Básica de Desarrollo OO (2 puntos)

Precondición, Flujo de Eventos del Camino Básico, Postcondición, Descripción de Caminos Alternativos,

Atributos


6. ¿Cuál es el objetivo de la actividad "Implementar la Arquitectura" en la Metodología Básica de

Desarrollo OO, y qué dos pasos incorpora? (1 punto)

Objetivo: Diseñar el Modelo de Implementación. Actividades: Identificar Componentes, Asignar

Componentes a los Nodos.


2. ¿Sería correcto realizar las pruebas de integración del software antes que las pruebas de validación? ¿Por

qué? (2 puntos)

Sí, porque las pruebas de integración consisten en comprobar que los subsistemas se han construido

correctamente y las de validación en que todo el software satisface todos los requisitos.



4. ¿En qué fase del Proceso Unificado de Desarrollo OO se plantea la actividad de "Definir un Prototipo de

la Interfaz de Usuario"? ¿ Qué otras actividades se plantean en esa fase? (2 puntos)

Durante la Captura de Requisitos. Las otras actividades son: Encontrar actores y casos de uso; Detallar los

casos de uso.


5. ¿Cuándo se habla de las Pruebas de Especificación en el Proceso Unificado de Desarrollo OO? ¿ A qué

tipo de pruebas se refiere y en que consisten? (2 puntos)

Las pruebas de especificación (o de caja negra) son pruebas de Unidad que consisten en "verificar el

comportamiento observable externamente de cada componente sin tener en cuenta cómo se ha implementado

dicho comportamiento"; es decir, en verificar que dando unas determinadas entradas al componente las

salidas obtenidas son las correctas.


4. ¿Qué describe el Modelo de Despliegue y cuándo se diseña en el Proceso Unificado Básico OO? (2

puntos)

Es un diagrama que describe los nodos de proceso, los actores y las relaciones entre ellos. Se diseña durante

el Diseño de la Arquitectura del Sistema.


3. Cita los puntos importantes que debe tener el contenido de la "Descripción Textual de un Caso de

Uso" en la Metodología Básica de Desarrollo OO

• Precondición

• Flujo de Eventos del Camino Básico

• Postcondición

• Descripción de Caminos Alternativos

• Atributos


1 . ¿Cuáles son los tres elementos fundamentales de un objeto?

Estado, Comportamiento, Identidad


4. Durante la metodología básica, ¿cómo se identifica una generalización al diseñar las clases?

Se identifica una posible generalización si se encuentran clases con atributos u operaciones comunes.


3. Define “Caso de Uso”

Un caso de uso especifica una secuencia de acciones, incluyendo variantes, que puede realizar el sistema y

que ofrece un resultado observable o tangible para un determinado usuario.

3. ¿Cuáles son las tres partes de un mensaje entre objetos?

El identificador del objeto receptor del mensaje (objeto que “trabajará”), el nombre de la

operación que debe ejecutarse y los argumentos de la operación (si los tiene).


4. ¿Cuál es la diferencia entre una agregación débil y una fuerte?

Agregación débil: las partes pueden existir fuera del agregado (ejemplo: cuadro). Agregación fuerte: las

partes sólo existen dentro del agregado (ventana de entorno gráfico).


4. Enumerar las notaciones que se pueden utilizar en el paso “describir los métodos” de la actividad

diseñar las clases” de la metodología básica de desarrollo orientado a objetos (1 punto).

Se pueden utilizar: lenguaje natural, pseudocódigo, diagramas arborescentes, diagramas de Chapín


4. ¿Qué tipos de multiplicidad (o conectividad) existen entre clases relacionadas por

una relación de generalización (o herencia) y porqué?

Ninguno. La generalización especifica "una clase de objeto" y una clase

derivada no tiene conectividad con su clase base porque incorpora los atributos

y servicios de la clase base.


5. Polimorfismo Paramétrico: Si defines un lenguaje Orientado a Objetos que permite

realizar operaciones con independencia del tipo de datos de los operandos,

¿seguirías utilizando el mecanismo template de C++ o lo sustituirías por otro?

¿Cuál sería éste?

No utilizaría ningún mecanismo porque no me haría falta, pero sería consciente

que mi programa produciría muchos errores en tiempo de ejecución al tratar

de ejecutar operaciones entre tipos de datos incompatibles.


5.- Cita las relaciones existentes entre dos objetos o clases (1 p)

Asociación, agregación (débil o fuerte), generalización, dependencia (de uso)


6.- Enumera las etapas del Diseño Físico OO (1 p)

Declarar las clases, definir el módulo de control, definir los módulos físicos


7.- Cita los problemas de identidad que tiene un objeto en OO. Pon un ejemplo(2p)

Problema de ambigüedad (varias referencias al mismo objeto)

Problema de pérdida de identidad (referencia o puntero que cambian de objeto à

el objeto se queda sin poder ser accedido


5. Describir los tipos de polimorfismo que se pueden definir en orientación a objetos (2ptos)

- Sobrecarga de operadores: un operador se puede aplicar a diferentes tipos de datos.

- Sobrecarga de funciones o métodos: una función o método con el mismo nombre tiene

diferentes implementaciones.

- Polimorfismo paramétrico: una función, método o clase se puede aplicar a diferentes

tipos de datos.

- Polimorfismo dinámico: se puede utilizar en tiempo de ejecución un objeto de la clase

derivada como si fuera de la clase base.


3. Indicar, de forma razonada, si son adecuadas las jerarquías de entradas y de

medios que aparecen en el diagrama de clases refinado (2 puntos)

• Jerarquía de entradas: es adecuada. Por un lado las subclases son suficientemente

diferentes entre sí por tener atributos distintos y una operación distinta

(EscribirDatos). Por otro lado tienen una gran parte de comportamiento común, ya

que el resto de las operaciones de la clase Entrada son comunes para todos los tipo

de entradas.

• Jerarquía de medios: dos posibilidades

• no es adecuada, ya que sólo se distinguen en la operación Reproducir que se

podría implementar en la clase medio (dado que hay un atributo que dice qué

tipo de medio es).

• es adecuada. Esta respuesta es correcta si se justifica que la operación

Reproducir puede ser compleja y muy diferente para cada una de las subclases

por lo que podría mantenerse la jerarquía.


------------------------------- general

1. ¿Porqué en los años 60 se produjo la crisis del software? (1 punto)

- Porque el ingeniero del software se sentía incapaz de desarrollar proyectos complejos

acordes con los avances tecnológicos de la época.


2. Indicar las dimensiones de un proyecto según su nivel de complejidad según Yourdon (2 ptos)

- < 1000 líneas (trivial); < 10.000 líneas (simple); <100.000 líneas (difícil); <1.000.000

líneas (complejo); <10.000.000 líneas (casi imposible); >10.000.000 líneas (absurdo)


1. En el ciclo de vida clásico de desarrollo del software ¿cuál es el objetivo del Diseño

Arquitectónico? (2 ptos)

- Desarrollar una estructura modular del software y representar las relaciones de

control entre los módulos.



1. ¿El Ciclo de Vida Clásico definido por Royce es iterativo e incremental? ¿Por qué? (2 puntos)

No, porque cada una de las fases y etapas que lo componen se desarrolla completamente antes de pasar a la

siguiente.


1. ¿En qué etapas del Ciclo de Vida Clásico se definen las pruebas siguientes? (2 puntos)

De unidad:......................................................... Del sistema: .............................................

De integración:.................................................. De validación:.............................................

De unidad en la Codificación; Del sistema en la Ingeniería del Sistema; De integración en el Diseño;

de validación en el Análisis de Requisitos



1. Indica qué tipos de pruebas se realizan durante el desarrollo del software. ¿Cómo pueden ser estas

pruebas según su diseño? (2 puntos)

Pruebas de unidad, de integración, de validación y del sistema. Pueden ser de caja negra y de caja blanca


4
. Señalar las distintas etapas del ciclo de vida del software y los tipos de pruebas diseñados y

realizados en cada una de ellas (2,5 puntos)

Ingeniería del Sistema: Se diseñan las pruebas del sistema.

Análisis de Requisitos del Software: Se diseñan las pruebas de validación.

Diseño: Se diseñan las pruebas de integración y algunas pruebas de unidad.

Codificación: Se diseñan el resto de las pruebas de unidad. Y se realizan todas las pruebas de unidad.

Pruebas: Se realizan las pruebas del sistema, de validación y de integración.

Mantenimiento: -


1. Indicar qué tareas de las que se indican a continuación se realizan durante el

Análisis del Sistema:

? Identificar necesidades del cliente.

? Evaluar la viabilidad del sistema.

? Establecer restricciones de coste y tiempo.

- Identificar las estructuras de los datos.

? Establecer los requisitos del software.


4. En el Proceso Unificado, ¿cuál es la diferencia entre los modelos de análisis y diseño? (1 punto)

Modelo de análisis: es un modelo conceptual de objetos que refina y estructura los requisitos, de forma

que facilita su comprensión, modificación y mantenimiento. No se mantiene en fases posteriores.

Modelo de diseño: es un modelo físico del sistema a implementar que es más formal que el del análisis

y debe ser mantenido durante todo el ciclo de vida del software.

Entradas relacionadas: