Anda di halaman 1dari 100

EXMENES RESUELTOS INGENIERA DEL SOFTWARE

INFORMTICA SISTEMAS Y GESTIN

CENTRO DE PALMA DE MALLORCA

EXMENES INGENIERA DEL SOFTWARE

INGENIERA TCNICA en INFORMTICA de SISTEMAS y de GESTIN Plan de estudios en extincin CDIGO CARRERA: 40=SISTEMAS y 41=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN UNIVERSIDAD NACIONAL DE Departamento de Lenguajes NACIONAL 1 SEMANA EDUCACIN A DISTANCIA y Sistemas Informticos ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) FECHA: 28 de mayo de 2003 Hora: 11:30 Duracin: 2 horas MATERIAL: NINGUNO

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En la primera parte (las preguntas tericas que se valoran con 25 puntos cada una) la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Deduzca y justifique en qu casos es mejor aplicar un ciclo de vida en cascada respecto a uno en espiral y viceversa. 2. D una breve definicin de la fase de diseo. Describa cules son los objetivos ltimos que se pretende alcanzar con la descomposicin modular del diseo.
SEGUNDA PARTE. PREGUNTA DE APLICACIN (5 PUNTOS)

3. Con el fin de promocionar el uso del transporte pblico y el ocio al aire libre, RENFE ha decidido encargar la construccin de un sistema informtico que asesore a sus clientes acerca de rutas verdes para hacer a pie a partir de sus estaciones de tren. El sistema recibir peridicamente la siguiente informacin: x Un informe meteorolgico del Instituto Nacional de Meteorologa que contendr las previsiones climticas para los prximos das. x Datos referentes a las estaciones de tren, horarios y precios de billetes. Esta informacin ser suministrada por RENFE. x Se ha encargado a la empresa Viajes Najarra la elaboracin e introduccin en el sistema de las rutas verdes. Para ello, la empresa podr solicitar del sistema un informe de las estaciones de RENFE existentes. Los clientes introducirn en el sistema sus preferencias. A partir de estas y los datos antes descritos, se construir un informe con las rutas aconsejadas. Analice el sistema mediante DFDs (Diagramas de Flujo de Datos), desarrollando exclusivamente los DFDs de nivel 0 y 1.

Solucin propuesta por el equipo docente


Universidad Nacional de Educacin a Distancia

Autores: Jos Flix Estvariz Lpez, Rubn Heradio Gil, Juan Antonio Mascarell Estruch

Departamento de Lenguajes y Sistemas Informticos

Nivel 0: Diagrama de Contexto


Instituto Nacional de Meteorologa

Informe Meteorolgico

Preferencias Cliente Informe Rutas Rutas Verdes 0

Estaciones Horarios Precios RENFE

Informe Estaciones

Rutas

Viajes "Najarra"

Nivel 1: DFD 0

Informe Meteorolgico Preferencias Aconsejar Rutas 1 Informe Rutas

Informe Estaciones

Estaciones

Datos RENFE

Gestionar informacin RENFE 2

Horarios

Precios Rutas Gestionar Rutas 3

Rutas

INGENIERA TCNICA en INFORMTICA de SISTEMAS y de GESTIN Plan de estudios en extincin CDIGO CARRERA: 40=SISTEMAS y 41=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN UNIVERSIDAD NACIONAL DE Departamento de Lenguajes NACIONAL 2 SEMANA EDUCACIN A DISTANCIA y Sistemas Informticos ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) FECHA: 11 de junio de 2003 Hora: 11:30 Duracin: 2 horas MATERIAL: NINGUNO

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En la primera parte (las preguntas tericas que se valoran con 25 puntos cada una) la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Enumere, defina y explique brevemente las fases que componen el ciclo de vida en cascada. 2. Dado el siguiente Diagrama de Abstracciones:
M1

M2

M3

M4

M5 M6

Establezca una comparativa entre las estrategias de integracin ascendente y descendente, indicando el orden en el que se construiran los mdulos del diagrama para cada una de ellas, as como sus ventajas e inconvenientes.
SEGUNDA PARTE. PREGUNTA DE APLICACIN (5 PUNTOS)

3. Se desea construir un sistema que reciba como entrada una lista ordenada de lneas, cada una de las cuales est formada por una lista ordenada de palabras, que a su vez ser una lista ordenada de caracteres. Sobre cada lnea se pueden realizar rotaciones, que consisten en eliminar la primera palabra y concatenarla al final de la lnea. El sistema devolver como resultado una lista con las posibles rotaciones de todas las lneas ordenadas alfabticamente (incluyendo las rotaciones nulas). a cenar voy Por ejemplo, al restaurante voy a cenar cenar voy a al restaurante restaurante al voy a cenar Disee el sistema utilizando diagramas de abstracciones.

Universidad Nacional de Educacin a Distancia

Soluciones propuestas por el equipo docente


Autores: Jos Flix Estvariz Lpez, Rubn Heradio Gil, Juan Antonio Mascarell Estruch

Departamento de Lenguajes y Sistemas Informticos

Solucin a la pregunta terica 2


Examinemos el orden de realizacin de los mdulos para cada estrategia de integracin: Integracin Descendente
M1

Paso 1
Sust. M2 Sust. M3

M1

M2

M3

Paso 2
Sust. M4 Sust. M5

Sust. M6

M1

M2

M3

Paso 3
M4 M5 M6

Integracin Ascendente

Gestor M2

Gestor M3

Paso 1

M4

M5 M6

Gestor M1

M2

M3

Paso 2
M4 M5 M6

M1

M2

M3

Paso 3
M4 M5 M6

La siguiente tabla resume las ventajas e inconvenientes derivados del uso de las integraciones descendente y ascendente en el ejemplo que nos ocupa: I. Descendente Facilita una visin general de la aplicacin desde el principio? Nmero de elementos de cdigo desechables a construir Facilita el ensayo de situaciones especiales para los mdulos? Facilita el trabajo en paralelo?* S 5 sustitutos o stubs No S I. Ascendente No 3 gestores o drivers S S

(*): Aunque generalmente la integracin ascendente propicia en mayor grado el trabajo en paralelo que la integracin descendente, en este ejemplo, las dos estrategias de integracin facilitan el trabajo en paralelo en el mismo grado.

Solucin a la pregunta de aplicacin


En una primera aproximacin, aplicaremos el mtodo de Abbott para determinar las abstracciones que componen el diseo. Para ello, marcaremos en rojo los sustantivos (candidatos a ser tipos de datos) y en azul los verbos (candidatos a ser operaciones). Se desea construir un sistema que reciba como entrada una lista ordenada de lneas, cada una de las cuales est formada por una lista ordenada de palabras, que a su vez ser una lista ordenada de caracteres. Sobre cada lnea se pueden realizar rotaciones, que consisten en eliminar la primera palabra y concatenarla al final de la lnea. El sistema devolver como resultado una lista con las posibles rotaciones de todas las lneas ordenadas alfabticamente (incluyendo las rotaciones nulas).

A partir de este marcado elaboramos una doble lista con los elementos correspondientes a datos y a operaciones. DATOS lista ordenada de lneas lista ordenada de palabras lista ordenada de caracteres lista con las posibles rotaciones de todas las lneas ordenadas alfabticamente OPERACIONES realizar rotaciones eliminar la primera palabra concatenar la primera palabra al final de la lnea

x x x x

x x x

Qu son los Tipos Abstractos de Datos? Un Tipo Abstracto de Datos (TAD) es una entidad que agrupa la estructura de un tipo de datos con las operaciones necesarias para su manejo. Tradicionalmente, en la programacin imperativa se optaba por separar los programas en dos partes: la de proceso y la de datos (ejemplos de lenguajes imperativos son FORTRAN, COBOL, PASCAL, BASIC). La parte de proceso acceda y operaba directamente sobre los datos. Esta separacin produce una independencia funcional muy baja. Un ejemplo que ilustra esto es el efecto 2000, donde la simple adicin de dgitos al formato de las fechas supuso realizar muchas modificaciones en la parte de proceso. Para solventar estos problemas surgi el concepto de Tipo Abstracto de Datos, que junta la representacin de los datos con la parte de proceso que los manipula. Los TADs ocultan la representacin de los datos, que slo es accesible desde las operaciones. De esta forma, un cambio en la representacin de los datos de un TAD no se propaga a todo el programa, sino solamente a las operaciones del TAD. Antiguamente, las estructuras de datos se venan definiendo por su representacin. Sin embargo, el paso clave hacia la abstraccin de los datos es invertir este punto de vista: olvidar por el momento la representacin y considerar que las operaciones en s mismas definen la estructura de datos. NOTA: un error grave cometido por muchos alumnos consiste en disear una operacin fuera del TAD que le corresponde. Por ejemplo, en este examen algunos alumnos proponan utilizar un TAD llamado Rotaciones y una abstraccin funcional separada llamada ProducirRotaciones.

Tras analizar la doble lista sobre datos y operaciones se proponen tres datos encapsulados: Los TAD propuestos son datos encapsulados por que slo existir una variable o elemento de cada tipo en el sistema. DATO: Lineas Operaciones: Introducir Obtener

Se ha tomado la decisin de aglutinar los datos lista ordenada de lneas, lista ordenada de palabras y lista ordenada de caracteres en un slo dato encapsulado, ya que el

EstaVacia

crecimiento innecesario del nmero de abstracciones aumentara la complejidad del sistema. sta abstraccin consta de tres operaciones: x Introducir: se encargar de recibir una lnea y almacenarla en el dato encapsulado. x Obtener: proporcionar una lnea. x EstaVacia: indicar si hay alguna lnea almacenada dentro del dato encapsulado. Rotaciones es un dato encapsulado que producir y almacenar todas las posibles rotaciones realizadas sobre las lneas que el sistema reciba como entrada. La operacin ProducirRotaciones engloba a las operaciones realizar rotaciones, eliminar la primera palabra y concatenar la primera palabra al final de la lnea que aparecen en la doble lista de datos y operaciones. ste es un dato encapsulado que producir y almacenar las rotaciones realizadas sobre las lneas ordenadas alfabticamente.

DATO: Rotaciones Operaciones: ProducirRotaciones Obtener EstaVacia

DATO: RotacionesOrdenadasAlfabticamente Operaciones: Ordenar Obtener EstaVacia

El diagrama de abstracciones propuesto para construir el sistema solicitado es el siguiente:

Principal

Entrada

Salida

Rotaciones Ordenadas Alfabticamente

Rotaciones

Lneas

Como puede verse, el diseo consta de la abstraccin funcional Principal que se encargar de coordinar al resto de las abstracciones. Adems, el diseo posee las siguientes abstracciones funcionales: x Entrada: se encargar de obtener los datos del exterior (en el enunciado no se especifica la forma en que el usuario introducir los datos) y de almacenarlos en Lineas. Para ello, emplear la operacin Introducir proporcionada por dicho dato encapsulado. x Salida: mostrar el resultado final de procesar los datos de entrada. Para este fin, utilizar la operacin Obtener del dato encapsulado RotacionesOrdenadasAlfabticamente. Uno de los objetivos de la fase de diseo es facilitar el mantenimiento. El diseo propuesto consigue este objetivo en gran medida. Piense el lector en posibles modificaciones que pueden producirse sobre las especificaciones del sistema y ver que la parte del diseo afectada es mnima y est claramente localizada. A modo de ejemplo, la siguiente tabla propone algunas modificaciones y muestra las partes del sistema que se veran afectadas: Modificacin Partes afectadas Presentar el resultado de la ordenacin Salida en un nuevo formato grfico La ordenacin de las rotaciones deja de RotacionesOrdenadasAlfabticamente ser alfabtica y pasa a ser de otro tipo Las rotaciones se efectuarn de una Rotaciones nueva manera

INGENIERA TCNICA en INFORMTICA de SISTEMAS y de GESTIN Plan de estudios en extincin CDIGO CARRERA: 40=SISTEMAS y 41=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN UNIVERSIDAD NACIONAL DE Departamento de Lenguajes EXTRANJERO ORIGINAL EDUCACIN A DISTANCIA y Sistemas Informticos ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) FECHA: 11 de junio de 2003 Hora: 11:30 Duracin: 2 horas MATERIAL: NINGUNO

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En la primera parte (las preguntas tericas que se valoran con 25 puntos cada una) la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Deduzca y justifique en qu casos es mejor aplicar un ciclo de vida en cascada respecto a uno en espiral y viceversa. 2. Explique la relevancia en el diseo de la cohesin y del grado de acoplamiento entre mdulos.
SEGUNDA PARTE. PREGUNTA DE APLICACIN (5 PUNTOS)

3. Se desea construir un sistema que reciba como entrada una lista ordenada de lneas, cada una de las cuales est formada por una lista ordenada de palabras, que a su vez ser una lista ordenada de caracteres. Sobre cada lnea se pueden realizar rotaciones, que consisten en eliminar la primera palabra y concatenarla al final de la lnea. El sistema devolver como resultado una lista con las posibles rotaciones de todas las lneas ordenadas alfabticamente (incluyendo las rotaciones nulas). a cenar voy Por ejemplo, al restaurante voy a cenar cenar voy a al restaurante restaurante al voy a cenar Disee el sistema utilizando diagramas de abstracciones.

Solucin propuesta por el equipo docente


Universidad Nacional de Educacin a Distancia

Autores: Jos Flix Estvariz Lpez, Rubn Heradio Gil, Juan Antonio Mascarell Estruch

Departamento de Lenguajes y Sistemas Informticos

En una primera aproximacin, aplicaremos el mtodo de Abbott para determinar las abstracciones que componen el diseo. Para ello, marcaremos en rojo los sustantivos (candidatos a ser tipos de datos) y en azul los verbos (candidatos a ser operaciones). Se desea construir un sistema que reciba como entrada una lista ordenada de lneas, cada una de las cuales est formada por una lista ordenada de palabras, que a su vez ser una lista ordenada de caracteres. Sobre cada lnea se pueden realizar rotaciones, que consisten en eliminar la primera palabra y concatenarla al final de la lnea. El sistema devolver como resultado una lista con las posibles rotaciones de todas las lneas ordenadas alfabticamente (incluyendo las rotaciones nulas). A partir de este marcado elaboramos una doble lista con los elementos correspondientes a datos y a operaciones. DATOS lista ordenada de lneas lista ordenada de palabras lista ordenada de caracteres lista con las posibles rotaciones de todas las lneas ordenadas alfabticamente OPERACIONES realizar rotaciones eliminar la primera palabra concatenar la primera palabra al final de la lnea

x x x x

x x x

Qu son los Tipos Abstractos de Datos? Un Tipo Abstracto de Datos (TAD) es una entidad que agrupa la estructura de un tipo de datos con las operaciones necesarias para su manejo. Tradicionalmente, en la programacin imperativa se optaba por separar los programas en dos partes: la de proceso y la de datos (ejemplos de lenguajes imperativos son FORTRAN, COBOL, PASCAL, BASIC). La parte de proceso acceda y operaba directamente sobre los datos. Esta separacin produce una independencia funcional muy baja. Un ejemplo que ilustra esto es el efecto 2000, donde la simple adicin de dgitos al formato de las fechas supuso realizar muchas modificaciones en la parte de proceso. Para solventar estos problemas surgi el concepto de Tipo Abstracto de Datos, que junta la representacin de los datos con la parte de proceso que los manipula. Los TADs ocultan la representacin de los datos, que slo es accesible desde las operaciones. De esta forma, un cambio en la representacin de los datos de un TAD no se propaga a todo el programa, sino solamente a las operaciones del TAD. Antiguamente, las estructuras de datos se venan definiendo por su representacin. Sin embargo, el paso clave hacia la abstraccin de los datos es invertir este punto de vista: olvidar por el momento la representacin y considerar que las operaciones en s

mismas definen la estructura de datos. NOTA: un error grave cometido por muchos alumnos consiste en disear una operacin fuera del TAD que le corresponde. Por ejemplo, en este examen algunos alumnos proponan utilizar un TAD llamado Rotaciones y una abstraccin funcional separada llamada ProducirRotaciones.

Tras analizar la doble lista sobre datos y operaciones se proponen tres datos encapsulados: Los TAD propuestos son datos encapsulados por que slo existir una variable o elemento de cada tipo en el sistema. Se ha tomado la decisin de aglutinar los datos lista ordenada de lneas, lista ordenada de palabras y lista ordenada de caracteres en un slo dato encapsulado, ya que el crecimiento innecesario del nmero de abstracciones aumentara la complejidad del sistema. sta abstraccin consta de tres operaciones: x Introducir: se encargar de recibir una lnea y almacenarla en el dato encapsulado. x Obtener: proporcionar una lnea. x EstaVacia: indicar si hay alguna lnea almacenada dentro del dato encapsulado. Rotaciones es un dato encapsulado que producir y almacenar todas las posibles rotaciones realizadas sobre las lneas que el sistema reciba como entrada. La operacin ProducirRotaciones engloba a las operaciones realizar rotaciones, eliminar la primera palabra y concatenar la primera palabra al final de la lnea que aparecen en la doble lista de datos y operaciones. ste es un dato encapsulado que producir y almacenar las rotaciones realizadas sobre las lneas ordenadas alfabticamente.

DATO: Lineas Operaciones: Introducir Obtener EstaVacia

DATO: Rotaciones Operaciones: ProducirRotaciones Obtener EstaVacia

DATO: RotacionesOrdenadasAlfabticamente Operaciones: Ordenar Obtener EstaVacia

El diagrama de abstracciones propuesto para construir el sistema solicitado es el siguiente:

Principal

Entrada

Salida

Rotaciones Ordenadas Alfabticamente

Rotaciones

Lneas

Como puede verse, el diseo consta de la abstraccin funcional Principal que se encargar de coordinar al resto de las abstracciones. Adems, el diseo posee las siguientes abstracciones funcionales: x Entrada: se encargar de obtener los datos del exterior (en el enunciado no se especifica la forma en que el usuario introducir los datos) y de almacenarlos en Lineas. Para ello, emplear la operacin Introducir proporcionada por dicho dato encapsulado. x Salida: mostrar el resultado final de procesar los datos de entrada. Para este fin, utilizar la operacin Obtener del dato encapsulado RotacionesOrdenadasAlfabticamente.

Uno de los objetivos de la fase de diseo es facilitar el mantenimiento. El diseo propuesto consigue este objetivo en gran medida. Piense el lector en posibles modificaciones que pueden producirse sobre las especificaciones del sistema y ver que la parte del diseo afectada es mnima y est claramente localizada. A modo de ejemplo, la siguiente tabla propone algunas modificaciones y muestra las partes del sistema que se veran afectadas: Modificacin Partes afectadas Presentar el resultado de la ordenacin Salida en un nuevo formato grfico La ordenacin de las rotaciones deja de RotacionesOrdenadasAlfabticamente ser alfabtica y pasa a ser de otro tipo Las rotaciones se efectuarn de una Rotaciones nueva manera

INGENIERA TCNICA en INFORMTICA de SISTEMAS y de GESTIN Plan de estudios en extincin CDIGO CARRERA: 40=SISTEMAS y 41=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN UNIVERSIDAD NACIONAL DE Departamento de Lenguajes EXTRANJERO RESERVA EDUCACIN A DISTANCIA y Sistemas Informticos ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) FECHA: 14 de junio de 2003 Hora: Duracin: 2 horas MATERIAL: NINGUNO

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En la primera parte (las preguntas tericas que se valoran con 25 puntos cada una) la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Explique la diferencia entre las pruebas de caja negra y las pruebas de caja transparente. Alguna de ellas garantiza la ausencia de fallos? 2. D una breve definicin de Defecto, Fallo y Error. Explique la diferencia entre la estrategia de prevencin de errores frente a la estrategia de recuperacin de errores.
SEGUNDA PARTE. PREGUNTA DE APLICACIN (5 PUNTOS)

3. En un centro hospitalario se desea informatizar parte de la gestin relativa a sus pacientes. El sistema a construir deber contemplar las siguientes cuestiones: x Un paciente estar asignado a una cama determinada de una planta del hospital, pudiendo estar a lo largo del tiempo de ingreso en diferentes camas y plantas. x Para cada paciente se entregarn hasta un mximo de 4 tarjetas de visita. Estas tarjetas servirn para que familiares y amigos del paciente le visiten durante su convalecencia. x A un paciente le pueden atender diferentes mdicos. x Un paciente puede tener distintos diagnsticos de enfermedad. x Un mdico puede tratar diferentes diagnsticos y viceversa. Analice el sistema mediante la notacin DER (Diagrama Entidad Relacin).

Solucin propuesta por el equipo docente


Universidad Nacional de Educacin a Distancia

Autores: Jos Flix Estvariz Lpez, Rubn Heradio Gil, Juan Antonio Mascarell Estruch

Departamento de Lenguajes y Sistemas Informticos

Tarjeta

Est asignado a

1:N

Cama

0:N

1:N

Posee

Est en

1:1 Paciente 1:1 1:N Atiende Tiene 1:N

1:1

Planta

0:N

1:N Mdico 1:N Trata 1:N Diagnstico

Observacin: El anterior diagrama se ha elaborado con la herramienta DOME. La siguiente tabla resume la equivalencia entre la notacin de dicha herramienta y la propuesta en el libro de la asignatura. Notacin libro Notacin DOME 0:1 1:1 0:N 1:N

INGENIERA TCNICA en INFORMTICA de SISTEMAS y de GESTIN Plan de estudios en extincin CDIGO CARRERA: 40=SISTEMAS y 41=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN UNIVERSIDAD NACIONAL DE Departamento de Lenguajes ORIGINAL NACIONAL EDUCACIN A DISTANCIA y Sistemas Informticos ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) FECHA: 4 de septiembre de 2003 Hora: 11:30 Duracin: 2 horas MATERIAL: NINGUNO

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En la primera parte (las preguntas tericas que se valoran con 25 puntos cada una) la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Explique los inconvenientes que tiene el utilizar un ciclo de vida clsico para desarrollar determinado producto en el seno de una organizacin que carece de experiencia en el desarrollo de este tipo de productos y en las tecnologas implicadas. 2. Supngase que, para describir el funcionamiento de una aplicacin en el diseo, se utiliza un sistema de representacin de la realidad con dos categoras: entidades y relaciones. Site, en la categora que le corresponda, cada uno de los elementos que se manejan en el diseo con abstracciones y en el diseo con objetos.
SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Modele el establecimiento y la finalizacin de una llamada telefnica mediante un Diagrama de Transicin de Estados. A continuacin, se resume el funcionamiento que debe modelar: Para establecer una llamada, en primer lugar, se debe descolgar el telfono. En caso de que no se oiga una seal o tono, se deber colgar el telfono y repetir el intento. En caso contrario, se procede a marcar el nmero de telfono del destinatario de la llamada. Si el nmero no es vlido, habr que colgar el telfono y repetir el proceso desde el principio. Lo mismo ocurre si pasa demasiado tiempo hasta que se marca el nmero. Si no estn ocupadas ni la lnea ni la centralita, se establecer la conexin en cuanto el destinatario descuelgue su telfono. Por ltimo, la llamada finalizar exclusivamente cuando la persona que inici la llamada cuelgue su telfono.

Solucin propuesta por el equipo docente


Universidad Nacional de Educacin a Distancia

Autores: Jos Flix Estvariz Lpez, Rubn Heradio Gil, Juan Antonio Mascarell Estruch

Departamento de Lenguajes y Sistemas Informticos

Colgar

Inicio Descolgar

Colgar

"Limbo"

Colgar Colgar Colgar Colgar Colgar Colgar Colgar Avisando nmero no vlido Dgito Sonando tono Hay linea

Descolgado

No hay linea

Timeout Timeout

Tiempo agotado

Nmero no vlido

Marcando

Dgito

Colgar Nmero vlido Lnea ocupada

Ocupado Conectando Red saturada

Centralita ocupada

Llamada viable

Repicando

Destinatario Destinatario Conectado Destinatario Desconectando

Llamador

INGENIERA TCNICA en INFORMTICA de SISTEMAS y de GESTIN Plan de estudios en extincin CDIGO CARRERA: 40=SISTEMAS y 41=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN UNIVERSIDAD NACIONAL DE Departamento de Lenguajes RESERVA NACIONAL EDUCACIN A DISTANCIA y Sistemas Informticos ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) FECHA: 8 de septiembre de 2003 Hora: 16:00 Duracin: 2 horas MATERIAL: NINGUNO

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En la primera parte (las preguntas tericas que se valoran con 25 puntos cada una) la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Explique la diferencia entre especificaciones funcionales y no funcionales en el anlisis. 2. El objetivo del diseo es describir el funcionamiento de la aplicacin de forma que: la codificacin sea fcil y con economa de recursos; el producto funcione segn especificaciones y, sobre todo, el mantenimiento sea sencillo. En este sentido, qu inconvenientes acarrea el hacer un diseo de tipo monoltico?
SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Se va a construir una estacin meteorolgica automtica junto a un ro. Esta estacin medir datos atmosfricos as como niveles de contaminacin del ro y los transmitir, va satlite, a la central de datos. Las especificaciones de funcionamiento son estas: La temperatura se mide a travs de un termopar, estas medidas se realizan cada minuto. Cada 10 minutos se hace la media de las temperaturas ledas y se almacena su valor. Los datos de la presin se leen cada cuarto de hora y se calcula y guarda su media cada hora. Tambin cada hora, se analizan 3 parmetros de nivel de contaminacin de las aguas y se registran sus valores. Si algn parmetro pasa cierto umbral de peligro se genera una seal de alarma y se enva automticamente a la central. As mismo se mide el caudal del ro cada 2 horas. Si se produce una crecida de forma brusca se enva una seal de alarma. Cada 2 horas la estacin automtica recopila sus datos los transmite a la central va satlite. Para ello, previamente tiene que codificar dichos datos en un formato estndar de control de errores para realizar transmisiones tolerantes a fallos. SE PIDE realizar un Diagrama de Flujos de Datos que modele el sistema anterior.

Solucin propuesta por el equipo docente


Universidad Nacional de Educacin a Distancia

Autores: Jos Flix Estvariz Lpez, Rubn Heradio Gil, Juan Antonio Mascarell Estruch

Departamento de Lenguajes y Sistemas Informticos

Diagrama de Contexto:
Termopar Anlisis Qumico

Temperatur

Datos Qumicos

Estacin Meteorolgica

Presin Barmetro

Nivel Aguas Caudal

Datos codificados

Seal de Alarma

Estacin Central

DFD 0:
Datos Qumicos Procesar Datos Qumicos

Temperatura

Obtener Temperatura 10 Valores Temperatura Calcular Media

Seal de Alarma

Datos Estacin Meteorolgica

4 Valores Presin

Seal de Alarma

Presin

Obtener Presin Codificar Datos Datos codificados Nivel Aguas

Procesar Datos Caudal

Observacin: dada la simplicidad del DFD 0, se ha optado por no explotarlo en ms niveles.

INGENIERA TCNICA en INFORMTICA de SISTEMAS y de GESTIN Plan de estudios en extincin CDIGO CARRERA: 40=SISTEMAS y 41=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN UNIVERSIDAD NACIONAL DE Departamento de Lenguajes EXTRANJERO ORIGINAL EDUCACIN A DISTANCIA y Sistemas Informticos ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) FECHA: septiembre 2003 Hora: Duracin: 2 horas MATERIAL: NINGUNO

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En la primera parte (las preguntas tericas que se valoran con 25 puntos cada una) la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Suponga que se quiere modelar un sistema en el que lo ms importante es representar las tareas y transformaciones que se hacen con la informacin y los dems aspectos son prcticamente irrelevantes. Sera imprescindible el uso de Diagramas Entidad-Relacin? Qu aspecto del modelo prioriza esta notacin? 2. El diseo estructurado garantiza, por s slo, la independencia funcional? Indique cmo se mide la independencia funcional y explique en qu consisten estas mtricas.
SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Se nos pide que realicemos la aplicacin informtica de un cajero automtico de un videoclub. El cliente nos da las siguientes especificaciones: Para entrar al sistema el usuario necesita introducir su tarjeta personal. Lo primero que hace el sistema es comprobar el saldo de la tarjeta. Si tiene saldo cero o negativo solamente permite la accin de recargar tarjeta. A continuacin aparece un men con las tres nicas opciones: devolver una pelcula, alquilar hasta un mximo de tres pelculas o recargar la tarjeta. Para alquilar una pelcula la tarjeta tiene que estar actualizada y con saldo. En caso contrario, no permite alquilar. Si la tarjeta tiene saldo, el usuario puede seleccionar hasta un mximo de tres pelculas siempre y cuando estn disponibles. Para retirarlas debe proceder a confirmar los ttulos elegidos. Al devolver la pelcula el sistema calcula el importe y actualiza la tarjeta. Para recargar la tarjeta el usuario marca la cantidad deseada e introduce el dinero. Realice un Diagrama de Transicin de Estados con el cual se pueda comprobar, junto con el cliente, que hemos comprendido el funcionamiento de la aplicacin. Indique qu tipos de pruebas utilizara para asegurar que el sistema funciona correctamente.

Solucin propuesta por el equipo docente


Universidad Nacional de Educacin a Distancia

Autores: Jos Flix Estvariz Lpez, Rubn Heradio Gil, Juan Antonio Mascarell Estruch

Departamento de Lenguajes y Sistemas Informticos

Arranque Sistema Tarjeta Vlida

Parada Sistema

Esperando Tarjeta Salir


Tarjeta No Vlida

Comprobar Saldo Actualizar

Saldo No Vlido

Esperar Recarga Salir

Recarga Completa Salir Recargar

Otra Cinta Esperando Cinta

Saldo Correcto

Opcin Men

Cancelar

Alquilar Devolver

Seleccin Ttulo

Confirmar

Retirar

Otro Titulo

INGENIERA TCNICA en INFORMTICA de SISTEMAS y de GESTIN Plan de estudios en extincin CDIGO CARRERA: 40=SISTEMAS y 41=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN UNIVERSIDAD NACIONAL DE Departamento de Lenguajes EXTRANJERO RESERVA EDUCACIN A DISTANCIA y Sistemas Informticos ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) FECHA: septiembre 2003 Hora: Duracin: 2 horas MATERIAL: NINGUNO

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En la primera parte (las preguntas tericas que se valoran con 25 puntos cada una) la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Reflexione sobre la figura del analista. Se limita a recoger las necesidades del cliente/usuario, investigar soluciones anlogas y deducir unas conclusiones que traduce a un lenguaje comprensible por los informticos y que representa mediante un modelo o tiene que tomar, en ocasiones, algn tipo de decisin? Se le ocurre de qu tipo seran estas decisiones? 2. Explique brevemente en qu consisten y qu tipos hay de pruebas de caja transparente.
SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Se desea construir un sistema informtico que automatice la gestin de los empleados, departamentos y proyectos que se realizan en una empresa. La empresa en cuestin, se organiza en departamentos. Cada departamento dispone de cierto nmero de empleados y de un director. Los departamentos se especializan en uno o varios productos, aunque puede darse la situacin de que ms de un departamento est cualificado para construir un determinado producto. Por otro lado, cada departamento controla cierto nmero de proyectos. Un empleado est asignado a un slo departamento, aunque puede trabajar en varios proyectos controlados por otros departamentos. Por ltimo, la empresa dispone de varias sedes. Los departamentos pueden estar repartidos en distintos edificios. Sin embargo, los proyectos se desarrollan exclusivamente en una sede. Analice el sistema propuesto utilizando un diagrama Entidad-Relacin.

Solucin propuesta por el equipo docente


Universidad Nacional de Educacin a Distancia

Autores: Jos Flix Estvariz Lpez, Rubn Heradio Gil, Juan Antonio Mascarell Estruch

Departamento de Lenguajes y Sistemas Informticos

Empleado

1:N

Pertenece a

1:1

Departamento

1:N 1:N

Esta especializado en

1:1 1:1 1:1 Dirige

1:N Est en

1:N Controla

1:N Edificio 1:N

Producto

1:1

Trabaja en

1:N

Proyecto

1:N

Se desarrolla en

Observacin: El anterior diagrama se ha elaborado con la herramienta DOME. La siguiente tabla resume la equivalencia entre la notacin de dicha herramienta y la propuesta en el libro de la asignatura. Notacin libro Notacin DOME 0:1 1:1 0:N 1:N

INGENIERA TCNICA en INFORMTICA de SISTEMAS y de GESTIN Plan de estudios en extincin CDIGO CARRERA: 40=SISTEMAS y 41=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN Departamento de Lenguajes UNIVERSIDAD NACIONAL DE EXAMEN EXTRAORDINARIO DE DICIEMBRE y Sistemas Informticos EDUCACIN A DISTANCIA ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) FECHA: 10 de diciembre de 2003 Hora: 11:30 Duracin: 2 horas MATERIAL: NINGUNO

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En la primera parte (las preguntas tericas que se valoran con 25 puntos cada una) la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)
PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Defina los siguientes tipos de prueba de software: caja negra, caja transparente, alfa y beta. Las pruebas alfa y beta son de caja negra o transparente? 2. Explique en que consisten las fases de anlisis y diseo de un producto software. Cules seran las diferencias entre un Diagrama de Transicin de Estados utilizado en el anlisis respecto a otro usado en el diseo?
SEGUNDA PARTE. PREGUNTA DE APLICACIN (5 PUNTOS)

3. Modele mediante un Diagrama Entidad-Relacin (DER) la informacin que se enuncia a continuacin sobre los proyectos que se desarrollan en una empresa: Un empleado puede dirigir varios proyectos, aunque cada proyecto ha de ser dirigido por un solo empleado. La asignacin entre proyectos y directores se realiza segn las habilidades necesarias para el desarrollo de cada proyecto y las que ofrece cada empleado. El DER deber reflejar las habilidades que un empleado utiliza en un proyecto concreto.

Solucin propuesta por el equipo docente


Universidad Nacional de Educacin a Distancia

Autores: Jos Flix Estvariz Lpez, Rubn Heradio Gil, Juan Antonio Mascarell Estruch

Departamento de Lenguajes y Sistemas Informticos

0:N

Requiere

0:N

Habilidad

0:N

Utilizada

0:N

Proyecto

0:N

0:N

0:N

Ofrece

0:N

Empleado

1:1

Dirige

Observacin: El anterior diagrama se ha elaborado con la herramienta DOME. La siguiente tabla resume la equivalencia entre la notacin de dicha herramienta y la propuesta en el libro de la asignatura. Notacin libro Notacin DOME 0:1 1:1 0:N 1:N

INGENIERA TCNICA en INFORMTICA de SISTEMAS y de GESTIN Plan de estudios en extincin CDIGO CARRERA: 40=SISTEMAS y 41=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN Plan de estudios NUEVO CDIGO CARRERA: 53=SISTEMAS y 54=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN UNIVERSIDAD NACIONAL DE NACIONAL, 1 SEMANA EDUCACIN A DISTANCIA ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) FECHA: 26 de mayo de 2004 Hora: 11:30 Duracin: 2 horas

Departamento de Lenguajes y Sistemas Informticos

MATERIAL: NINGUNO

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En la primera parte (las preguntas tericas que se valoran con 25 puntos cada una) la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Defina y distinga la validacin y la verificacin. En qu fase del ciclo de vida de cascada se realiza cada una? Pginas 15 y 16 del libro. 2. Qu tres objetivos fundamentales o cualidades mnimas es deseable alcanzar al hacer la descomposicin modular de un sistema? Explique cada uno de ellos y, en cada caso, cmo se pueden medir o qu factores intervienen. Reflexin sobre el epgrafe 4.1, pginas 150-160 del libro.

SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Ejercicio de diseo Dentro de un sistema informtico se emplea el mdulo Modulo1. Para su desarrollo se plantean dos diseos alternativos: Diseo 1
Modulo1

Diseo 2
Modulo1

Fecha

MODULE Modulo1; FROM InOut IMPORT WriteCard, WriteString; 3 4... 5VAR fecha1, fecha2: 6 ARRAY [1..6] OF TipoDigito; 7 ... 8 9BEGIN ... 10 (* fecha1 := 30-04-1974 *) 11 fecha1[1] := 3; 12 fecha1[2] := 0; 13 fecha1[3] := 0; 14 fecha1[4] := 4; 15 fecha1[5] := 7; 16 fecha1[6] := 4; 17 (* Imprimir anno *) 18 WriteCard(fecha1[5], 1); 19 WriteCard(fecha1[6], 1); 20 ... 21 (* fecha2 := 10-01-1998 *) 22 fecha2[1] := 1; 23 fecha2[2] := 0; 24 fecha2[3] := 0; 25 fecha2[4] := 1; 26 fecha2[5] := 9; 27 fecha2[6] := 8; 28 ... 29 30END Modulo1.
1 2

Cdigo aproximado en Modula-2

MODULE Modulo1; IMPORT Fecha; 3... 4VAR fecha1, fecha2: Fecha.Tipo; 5 ... 6 7BEGIN ... 8 Fecha.Crear(fecha1, 30, 4, 1974); 9 10 Fecha.ImprimirAnno(fecha1); 11 ... 12 Fecha.Crear(fecha2, 10, 1, 1998); 13 ... 14END Modulo1.
1 2

DEFINITION MODULE Fecha; TYPE Tipo; 3PROCEDURE Crear(VAR fecha: Tipo); 4PROCEDURE ImprimirAnno(fecha: Tipo); 5... 6END Fecha.
1 2

Compare los dos diseos analizando cmo aplican los conceptos de Abstraccin, Modularidad y Ocultacin. Inicialmente, cuando se plante el sistema informtico, se consider que para el almacenamiento de los aos bastaba con dos dgitos. Sin embargo, con la llegada el nuevo milenio se descubri que eran necesarios cuatro dgitos. Razone como afectara este cambio a cada uno de los diseos.

SOLUCIN
1. Abstraccin x El primer diseo no utiliza abstracciones de ningn tipo. x El diseo 2 utiliza el Tipo Abstracto de Datos1 Fecha. Como resultado, se puede observar que el cdigo asociado al diseo 1 ser muy redundante (lneas 12-17 | lneas 23-28). La redundancia induce a errores e inconsistencias. 2. Modularidad El diseo 1 es monoltico, mientras que el diseo 2 es modular. Por ello, el diseo 2 dispone de las siguientes ventajas sobre el diseo 1: x x x x Permite dividir la implementacin entre varias personas (un programador puede codificar Modulo1 y otro, Fecha) La implementacin asociada al diseo 2 es clara y concisa. Los costes asociados al desarrollo, la depuracin, la documentacin y el mantenimiento del diseo 2 son menores que los del diseo 1. El diseo 2 permite reutilizar el concepto de fecha en otros proyectos.

3. Ocultacin En el diseo 1 las interioridades de las fechas estn al descubierto, es decir, no existe ocultacin del concepto de fecha. Este hecho, conlleva dos grandes problemas: x x Si se produce un error en el uso de una fecha, su deteccin ser ardua, ya que a este concepto se accede directamente desde muchos puntos del programa. La modificacin de la representacin del concepto fecha se propagar a muchas partes del cdigo del Modulo1. Si tal y como se propone en el enunciado, se decide extender la representacin de los aos de 2 dgitos a 4, ser necesario modificar las lneas 7, 12-28.

En el diseo 2, el concepto de fecha se encapsula y oculta a travs de un Tipo Abstracto de Datos. Las consecuencias benignas de esta estrategia son: x x Si se produce un error asociado a una fecha, la bsqueda se limitar al mdulo de implementacin de Fecha. Gracias a la ocultacin del concepto fecha, la ampliacin del nmero de dgitos de los aos implica cambios exclusivamente en el cdigo del mdulo de implementacin de Fecha.

Concretamente y segn la nomenclatura estudiada en la asignatura Programacin 1, el Tipo Opaco de Datos Fecha.

INGENIERA TCNICA en INFORMTICA de SISTEMAS y de GESTIN Plan de estudios en extincin CDIGO CARRERA: 40=SISTEMAS y 41=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN Plan de estudios NUEVO CDIGO CARRERA: 53=SISTEMAS y 54=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN UNIVERSIDAD NACIONAL DE NACIONAL 2 SEMANA EDUCACIN A DISTANCIA ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) FECHA: 9 de junio de 2004 Hora: 11:30 Duracin: 2 horas

Departamento de Lenguajes y Sistemas Informticos

MATERIAL: NINGUNO

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En la primera parte (las preguntas tericas que se valoran con 25 puntos cada una) la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Supngase que una organizacin decide afrontar, por primera vez, un proyecto software en el que no tiene experiencia y que se sita en un mbito desconocido para ella. Desde el punto de vista del ciclo de vida, indique qu alternativas tiene esta organizacin para culminar el proyecto con xito y explique cmo pueden, dichas alternativas, mitigar los problemas potenciales con los que la organizacin se puede encontrar durante el desarrollo. Reflexin sobre Modelos del proceso de desarrollo (Ciclos de Vida). En concreto, puntos 1.5 y 1.6 del libro. 2. Defina qu es un TAD (Tipo Abstracto de Datos) y qu repercusiones tiene su uso en el diseo de software. Tradicionalmente, en la programacin imperativa se optaba por separar los programas en dos partes: la de proceso y la de datos (ejemplos de lenguajes imperativos son FORTRAN, COBOL, PASCAL, BASIC). La parte de proceso acceda y operaba directamente sobre los datos. Esta separacin produce una independencia funcional muy baja. Un ejemplo que ilustra esto es el efecto 2000, donde la simple adicin de dgitos al formato de las fechas supuso realizar muchas modificaciones en la parte de proceso. Para solventar estos problemas surgi el concepto de Tipo Abstracto de Datos (TAD), que agrupa en una sola entidad la representacin de los datos y la parte de proceso que los manipula. Los TADs ocultan la representacin de los datos, que slo es accesible desde las operaciones. De esta forma, un cambio en la representacin de los datos de un TAD no se propaga a todo el programa, sino solamente a las operaciones del TAD. Tradicionalmente, las estructuras de datos se venan definiendo por su representacin. Sin embargo, el paso clave hacia la abstraccin de los datos es invertir este punto de vista: olvidar por el momento la representacin y considerar que las operaciones en s mismas definen la estructura de datos.

NOTA: un error grave cometido por muchos alumnos consiste en disear una operacin fuera del TAD que le corresponde. Por ejemplo, sera errneo el utilizar un TAD llamado Rotaciones y una abstraccin funcional, separada del TAD, llamada ProducirRotaciones.
SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Metamodelar DFD con DER Modelar una especificacin E con una notacin n, significa obtener un modelo Mn que represente adecuadamente a E.
E Modelarn Mn

En el caso del metamodelado, la especificacin que se utiliza como entrada es tambin la correspondiente a una notacin de modelado. Metamodele con un DER (Diagrama Entidad Relacin) la notacin DFD (Diagrama de Flujo de Datos), es decir, para la siguiente figura, desarrolle MDER.

R1. Un DFD consta de un Diagrama de Contexto y uno o varios niveles de DFDs. R2. Los Diagramas de Contexto disponen de al menos una entidad externa.

Modelarn

MDER

AYUDA: Se sugiere que se haga lo siguiente: 1. Escriba una lista con las especificaciones funcionales que reflejen cmo se construye un DFD. 2. Con la lista anterior, construya el modelo utilizando, para ello, la notacin Entidad - Relacin.

SOLUCIN
Contiene 1:N Entidad Externa 0:N 1:1 0:N

Diagrama de Contexto 1:1

1:N

Contiene

Es Origen

Es Destino

0:N Contiene Es Origen 1:1 1:N 1:N 0:N Flujo de Datos 1:N 1:1 Se explota en 0:1 DFD 1:N Contiene Es Origen Es Destino 1:N Es Destino 1:N 1:N

1:N

Proceso

1:N

1:N

Contiene

1:1

1:N

1:N 1:N

Contiene

0:N

Almacn

Observacin
Durante la correccin, hemos detectado que algunos alumnos han interpretado incorrectamente el enunciado y han tratado de buscar una equivalencia entre los DFDs y los DERs. Por ejemplo, los flujos de datosDFD se corresponden con relacionesDER, los almacenes de datosDFD y las entidades externasDFD con entidadesDER Esto supone un grave error, ya que los DFDs, DERs y DTEs representan distintos puntos de vista (prcticamente ortogonales) de un sistema software, y por tanto, es absurdo buscar su equivalencia.

Informacin: qu datos utiliza el sistema

DER

DFD

Funcin: qu hace el sistema

Tiempo: comportamiento o evolucin temporal del sistema ante sucesos externos

DTE

INGENIERA TCNICA en INFORMTICA de SISTEMAS y de GESTIN Plan de estudios en extincin CDIGO CARRERA: 40=SISTEMAS y 41=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN Plan de estudios NUEVO CDIGO CARRERA: 53=SISTEMAS y 54=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN UNIVERSIDAD NACIONAL DE ORIGINAL EXTRANJERO EDUCACIN A DISTANCIA ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) FECHA: 9 de junio de 2004 Hora: 11:30 Duracin: 2 horas

Departamento de Lenguajes y Sistemas Informticos

MATERIAL: NINGUNO

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En la primera parte (las preguntas tericas que se valoran con 25 puntos cada una) la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Defina el concepto de configuracin software. Explique qu es y cmo se utiliza la lnea base para gestionar los cambios en la gestin de configuracin del software. Contenido del epgrafe 1.9.5 Gestin de configuracin, pginas 30 a 32 del libro. 2. Defina qu es un TAD (Tipo Abstracto de Datos) y qu repercusiones tiene su uso en el diseo de software. Tradicionalmente, en la programacin imperativa se optaba por separar los programas en dos partes: la de proceso y la de datos (ejemplos de lenguajes imperativos son FORTRAN, COBOL, PASCAL, BASIC). La parte de proceso acceda y operaba directamente sobre los datos. Esta separacin produce una independencia funcional muy baja. Un ejemplo que ilustra esto es el efecto 2000, donde la simple adicin de dgitos al formato de las fechas supuso realizar muchas modificaciones en la parte de proceso. Para solventar estos problemas surgi el concepto de Tipo Abstracto de Datos (TAD), que agrupa en una sola entidad la representacin de los datos y la parte de proceso que los manipula. Los TADs ocultan la representacin de los datos, que slo es accesible desde las operaciones. De esta forma, un cambio en la representacin de los datos de un TAD no se propaga a todo el programa, sino solamente a las operaciones del TAD. Tradicionalmente, las estructuras de datos se venan definiendo por su representacin. Sin embargo, el paso clave hacia la abstraccin de los datos es invertir este punto de vista: olvidar por el momento la representacin y considerar que las operaciones en s mismas definen la estructura de datos. NOTA: un error grave cometido por muchos alumnos consiste en disear una operacin fuera del TAD que le corresponde. Por ejemplo, sera errneo el utilizar un TAD llamado Rotaciones y una abstraccin funcional, separada del TAD, llamada ProducirRotaciones.

SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Un cliente nos propone desarrollar una aplicacin para gestionar algunos aspectos de una agencia de viajes y nos ofrece esta descripcin: La agencia de viajes ofrece a sus clientes destinos tanto nacionales como en el extranjero. Para cada destino, la agencia ofrece alojamiento en varios hoteles de distinta categora. As mismo, se ofrece, para cada destino, una serie de actividades complementarias (excursiones, paseos en barca, etc...). Si el cliente est de acuerdo, har una reserva de viaje en la que figurarn los datos del cliente, el destino, tipo de hotel y tipo de habitacin (doble, individual, suite, etc.). El precio del viaje, adems de las distintas opciones elegidas, depende de la temporada del destino: alta, baja, etc Analice la descripcin anterior, elabore una lista de especificaciones funcionales y construya un modelo mediante un diagrama Entidad-Relacin.

SOLUCIN
Influye 1:1 Destino 1:N 1:N Ofrece Ofrece 1:N Indica Posee Hotel 0:N 0:N 1:N 1:1 1:1 Ofrece Indica Categora 1:N 0:N 0:N 0:N 0:N 1:1 Habitacin 1:N influye Es de Indica 1:1 Tipo 1:1 Tiene 0:N Reserva Hace Indica 1:1 Influye Cliente 1:1 Actividades Complementarias 1:1 Influye 0:N Posee Temporada 1:1 1:1

1:1

1:N

1:1

1:1

Influye

1:N

1:N Precio 1:1 1:N 1:N

Observacin: El anterior diagrama se ha elaborado con la herramienta DOME. La siguiente tabla resume la equivalencia entre la notacin de dicha herramienta y la propuesta en el libro de la asignatura. Notacin libro Notacin DOME 0:1 1:1 0:N 1:N

INGENIERA TCNICA en INFORMTICA de SISTEMAS y de GESTIN Plan de estudios en extincin CDIGO CARRERA: 40=SISTEMAS y 41=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN Plan de estudios NUEVO CDIGO CARRERA: 53=SISTEMAS y 54=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN UNIVERSIDAD NACIONAL DE CENTROS PENITENCIARIOS EDUCACIN A DISTANCIA ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) FECHA: junio de 2004 Hora: Duracin: 2 horas

Departamento de Lenguajes y Sistemas Informticos

MATERIAL: NINGUNO

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En la primera parte (las preguntas tericas que se valoran con 25 puntos cada una) la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Supngase que una organizacin decide afrontar, por primera vez, un proyecto software en el que no tiene experiencia y que se sita en un mbito desconocido para ella. Desde el punto de vista del ciclo de vida, indique qu alternativas tiene esta organizacin para culminar el proyecto con xito y explique cmo pueden, dichas alternativas, mitigar los problemas potenciales con los que la organizacin se puede encontrar durante el desarrollo. Reflexin sobre Modelos del proceso de desarrollo (Ciclos de Vida). En concreto, puntos 1.5 y 1.6 del libro. 2. Defina qu es un TAD (Tipo Abstracto de Datos) y qu repercusiones tiene su uso en el diseo de software. Tradicionalmente, en la programacin imperativa se optaba por separar los programas en dos partes: la de proceso y la de datos (ejemplos de lenguajes imperativos son FORTRAN, COBOL, PASCAL, BASIC). La parte de proceso acceda y operaba directamente sobre los datos. Esta separacin produce una independencia funcional muy baja. Un ejemplo que ilustra esto es el efecto 2000, donde la simple adicin de dgitos al formato de las fechas supuso realizar muchas modificaciones en la parte de proceso. Para solventar estos problemas surgi el concepto de Tipo Abstracto de Datos (TAD), que agrupa en una sola entidad la representacin de los datos y la parte de proceso que los manipula. Los TADs ocultan la representacin de los datos, que slo es accesible desde las operaciones. De esta forma, un cambio en la representacin de los datos de un TAD no se propaga a todo el programa, sino solamente a las operaciones del TAD. Tradicionalmente, las estructuras de datos se venan definiendo por su representacin. Sin embargo, el paso clave hacia la abstraccin de los datos es invertir este punto de vista: olvidar por el momento la representacin y considerar que las operaciones en s mismas definen la estructura de datos.

NOTA: un error grave cometido por muchos alumnos consiste en disear una operacin fuera del TAD que le corresponde. Por ejemplo, sera errneo el utilizar un TAD llamado Rotaciones y una abstraccin funcional, separada del TAD, llamada ProducirRotaciones.
SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Un cliente nos propone desarrollar una aplicacin para gestionar algunos aspectos de una agencia de viajes y nos ofrece esta descripcin: La agencia de viajes ofrece a sus clientes destinos tanto nacionales como en el extranjero. Para cada destino, la agencia ofrece alojamiento en varios hoteles de distinta categora. As mismo, se ofrece, para cada destino, una serie de actividades complementarias (excursiones, paseos en barca, etc...). Si el cliente est de acuerdo, har una reserva de viaje en la que figurarn los datos del cliente, el destino, tipo de hotel y tipo de habitacin (doble, individual, suite, etc.). El precio del viaje, adems de las distintas opciones elegidas, depende de la temporada del destino: alta, baja, etc Analice la descripcin anterior, elabore una lista de especificaciones funcionales y construya un modelo mediante un diagrama Entidad-Relacin.

SOLUCIN
Influye 1:1 Destino 1:N 1:N Ofrece Ofrece 1:N Indica Posee Hotel 0:N 0:N 1:N 1:1 1:1 Ofrece Indica Categora 1:N 0:N 0:N 0:N 0:N 1:1 Habitacin 1:N influye Es de Indica 1:1 Tipo 1:1 Tiene 0:N Reserva Hace Indica 1:1 Influye Cliente 1:1 Actividades Complementarias 1:1 Influye 0:N Posee Temporada 1:1 1:1

1:1

1:N

1:1

1:1

Influye

1:N

1:N Precio 1:1 1:N 1:N

Observacin: El anterior diagrama se ha elaborado con la herramienta DOME. La siguiente tabla resume la equivalencia entre la notacin de dicha herramienta y la propuesta en el libro de la asignatura. Notacin libro Notacin DOME 0:1 1:1 0:N 1:N

INGENIERA TCNICA en INFORMTICA de SISTEMAS y de GESTIN Plan de estudios en extincin CDIGO CARRERA: 40=SISTEMAS y 41=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN Plan de estudios NUEVO CDIGO CARRERA: 53=SISTEMAS y 54=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN UNIVERSIDAD NACIONAL DE ORIGINAL NACIONAL EDUCACIN A DISTANCIA ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) Hora: 11:30 Duracin: 2 horas MATERIAL: NINGUNO

Departamento de Lenguajes y Sistemas Informticos

FECHA: 4 de septiembre de 2004

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En la primera parte (las preguntas tericas que se valoran con 25 puntos cada una) la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm) (o 4 caras A4, un pliego, un A3 doblado en forma de carpeta, etc.)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Reflexione y explique cmo aplicara el mtodo de Abbott para analizar un sistema y para construir un modelo con la notacin de los DFD. SOLUCIN La tcnica de Abbott establece un procedimiento sistemtico para la obtencin de elementos significativos de un sistema a partir de una descripcin de un modelo. En el caso del diseo, si lo que estamos buscando son abstracciones, partimos de la caracterizacin o definicin de lo que estamos buscando y del espacio de bsqueda (en el libro, una descripcin en lenguaje natural) En el diseo se trata de construir una descripcin del funcionamiento de la aplicacin. Para que dicha aplicacin, y su funcionamiento, cumplan con determinados objetivos, se debe construir la descripcin descomponindola en mdulos. Cuando se utilizan abstracciones para el diseo, la descomposicin y la descripcin vienen caracterizados por ciertos elementos significativos (las abstracciones). As, al aplicar Abbott en el diseo mediante abstracciones, si lo que se intenta es identificar la existencia de, por ejemplo, una abstraccin funcional (la cual no es sino un conjunto de acciones y operaciones que tienen un objetivo concreto); se buscar en la descripcin en lenguaje natural el elemento del cdigo lingstico indica una accin u operacin: los verbos. La tcnica de Abbott dice: busquemos verbos porque, seguramente, nos ayudarn a localizar las abstracciones funcionales de nuestro sistema.

Entregue la hoja de lectura ptica con sus datos junto con las respuestas de su examen.

El mtodo de Abbott, en realidad, es una forma de anlisis. Si se aplica el mtodo descrito anteriormente a la construccin de DFDs, se comprueba su utilidad: qu se busca? procesos? Y qu son los procesos? Actividades y tareas que tendr que realizar nuestra aplicacin. Cul es el espacio de bsqueda en este caso? La comprensin de lo que tendr que hacer nuestra aplicacin. Cmo representamos en nuestra mente a las actividades y tareas? Mediante verbos o cualquier representacin que utilicemos internamente para la idea de accin o tarea. Pues esta es una manera de encontrar los procesos o bolas de un DFD. Se hara igual con los flujos de datos o las entidades externas, etc., slo que, ahora, buscaremos descripciones de elementos que interactan con el sistema, sustantivos o adjetivos, etc., que se van a procesar, transformar o almacenar, en el sistema que estamos construyendo. 2. Defina y estructure una clasificacin de las tcnicas generales para el diseo procedimental del software. Utilice un esquema arbreo; identifique cada tcnica y explique sus caractersticas principales. (Hasta aqu la pregunta. La mayor parte de las tcnicas de diseo provienen de la programacin, lo cual
se explica -de forma ms o menos implcita- en el desarrollo del libro. Por ello, se valorar positivamente que el estudio anterior se compare y diferencie respecto a otro anlogo pero para las tcnicas de codificacin.)

SOLUCIN: (Pginas 160 a 187 del libro. Epgrafes 4.2 a 4.4)

I.

Diseo procedimental

1 Diseo funcional descendente 1.1 Tcnica del refinamiento progresivo


Aplicacin, a la fase de diseo, del concepto de refinamientos sucesivos [Wirth]. Consiste en plantear la aplicacin como nica operacin global, e irla descomponiendo en operaciones ms sencillas, detalladas y especficas. En cada nivel de refinamiento, las operaciones identificadas se asignan a mdulos separados. La construccin de programas mediante refinamientos sucesivos proviene de la metodologa de programacin estructurada [Dijkstra]. Esta metodologa de programacin consiste en la utilizacin slo de estructuras de control claras y sencillas, con esquemas de ejecucin con un nico punto de inicio y un nico punto final.

1.2

Tcnica de programacin estructurada de Jackson


Aplicacin, a la fase de diseo, de la metodologa de programacin estructurada [Dijkstra]. Esta metodologa de programacin consiste en la utilizacin slo de estructuras de control claras y sencillas, con esquemas de ejecucin con un nico punto de inicio y un nico punto final. Dichas estructuras son la secuencia, la seleccin y la iteracin. La tcnica de Jackson consiste en construir las estructuras del programa de forma similar a las estructuras de los datos de entrada-salida que se manejan.

1.3

Tcnica de diseo estructurado [Yourdon]


Tcnica de diseo complementaria del anlisis estructurado (utilizacin de DFD). Consiste en: 1. Utilizacin de DFD para la descripcin del funcionamiento de la aplicacin. 2. Con los primeros niveles de la descomposicin en DFD, se construye un nico diagrama en el que se incluyen los procesos implicados y se prescinde de los elementos de

Entregue la hoja de lectura ptica con sus datos junto con las respuestas de su examen.

3.

almacenamiento. Es este ltimo diagrama, se realiza un anlisis para identificar o bien un nico flujo global (flujo de transformacin) o bien uno o varios puntos en los que el flujo global se bifurca (flujo de transaccin). Segn el patrn identificado en el anlisis anterior, se construye el diagrama de diseo mediante la notacin de los diagramas de estructura. Para ello, a partir de los DFD iniciales, se asignan procesos o grupos de procesos a los mdulos de diseo y se establece una jerarqua o estructura de control en funcin del mencionado patrn identificado en el punto anterior (transformacin o transaccin).

2 Diseo con abstracciones 2.1 Descomposicin modular con abstracciones


Consiste en dedicar mdulos separados a la realizacin de cada tipo abstracto de datos y cada funcin importante. Se emplea la notacin de los diagramas de bloques jerarquizados; en los que se representan las relaciones de uso y la jerarqua se establece de arriba hacia abajo (los de arriba usan a los de abajo). Se puede aplicar de forma descendente (ampliacin del refinamiento progresivo con las abstracciones) o ascendente (ampliacin de primitivas hacia abstracciones de nivel superior).

2.2

Mtodo de Abbott
Metodologa para identificar los elementos abstractos que formarn parte del diseo. Las abstracciones obtenidas se complementan y se organizan en un diagrama de diseo. El mtodo se suele aplicar a las descripciones del anlisis (formales o informales).

3 Diseo orientado a objetos


En esencia es similar al diseo con abstracciones pero, adems de la relaciones de uso y agregacin, hay que considerar la herencia y el polimorfismo. En la descomposicin modular del sistema, cada mdulo contiene la descripcin de una clase o de varias clases de objetos relacionadas entre s. Se suele utilizar un diagrama de estructura para describir la arquitectura del sistema y las relaciones de uso y diagramas ampliados de las clases y objetos en las que se representan las distintas relaciones entre los datos (herencia, polimorfismo, etc.).

Entregue la hoja de lectura ptica con sus datos junto con las respuestas de su examen.

SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

Analice mediante un DER (Diagrama Entidad-Relacin) la siguiente especificacin correspondiente a un videojuego tipo marcianitos como el de la figura.
El jugador maneja una nave espacial que dispone inicialmente de cierto nmero de vidas. La nave debe enfrentarse a distintos tipos de marcianos enemigos. Tanto la nave como los marcianos lanzan proyectiles. Cuando la nave recibe un impacto, pierde una de sus vidas. Cuando el n de vidas de la nave es cero, finaliza la partida. Cada tipo de marciano es capaz de resistir cierto n de impactos. Algunos marcianos, al ser destruidos desprenden un bonus; si la nave captura un bonus, incrementa en uno su nmero de vidas.

| | | |
Proyectil Marciano

NaveEspacial

Solucin
La construccin del DER solicitado puede abordarse gradualmente. Del texto de la especificacin han de extraerse las entidades, las relaciones y la cardinalidad de estas ltimas. El jugador maneja una nave espacial que dispone inicialmente de cierto nmero de vidas

Nave Espacial

1:1

tiene

1:N

Vida

Entregue la hoja de lectura ptica con sus datos junto con las respuestas de su examen.

Marciano 1:1 dispara

0:N

La nave debe enfrentarse a distintos tipos de marcianos enemigos. Tanto la nave como los marcianos lanzan proyectiles.

Proyectil

0:N

dispara

1:1

Nave Espacial

Marciano

1:1

resiste

1:N

Impacto

1:1

produce

Cuando la nave recibe un impacto, pierde una de sus vidas. Cuando el n de vidas de la nave es cero, finaliza la partida. Cada tipo de marciano es capaz de resistir cierto n de impactos.

1:1

Proyectil

1:1 quita

1:1

Nave Espacial

1:1

tiene

1:N

Vida

Observacin: los DER son una notacin esttica til para modelar los aspectos estructurales de un a especificacin. Los aspectos temporales se pueden modelar con una notacin dinmica como los DTE (Diagramas de Transicin de Estados). Por eso, la frase del enunciado Cuando el n de vidas de la nave es cero, finaliza la partida no se modela en el DER correspondiente.

Entregue la hoja de lectura ptica con sus datos junto con las respuestas de su examen.

proporciona

1:1

Marciano

0:1

Algunos marcianos, al ser destruidos desprenden un bonus; si la nave captura un bonus, incrementa en uno su nmero de vidas.
1:1

Bonus

0:N

captura aade

0:1

Nave Espacial

1:1

tiene

1:N

Vida

1:1

El resultado final del anlisis es el siguiente DER:

proporciona 1:1 Marciano 1:1 1:1 resiste 1:N Impacto

1:1

0:1

dispara produce 0:N Proyectil 0:N 1:1

Bonus

1:1 quita

0:N 1:1

dispara 1:1 1:1 Vida

captura aade

0:1

Nave Espacial

1:1

tiene

1:N

1:1

Entregue la hoja de lectura ptica con sus datos junto con las respuestas de su examen.

INGENIERA TCNICA en INFORMTICA de SISTEMAS y de GESTIN Plan de estudios en extincin CDIGO CARRERA: 40=SISTEMAS y 41=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN Plan de estudios NUEVO CDIGO CARRERA: 53=SISTEMAS y 54=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN UNIVERSIDAD NACIONAL DE NACIONAL RESERVA EDUCACIN A DISTANCIA ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) Hora: 9:00 Duracin: 2 horas MATERIAL: NINGUNO

Departamento de Lenguajes y Sistemas Informticos

FECHA: 8 de septiembre de 2004

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En la primera parte (las preguntas tericas que se valoran con 25 puntos cada una) la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm) (o 4 caras A4, un pliego, un A3 doblado en forma de carpeta, etc.)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Explique las propiedades que debe tener el modelo de un sistema software para lograr una especificacin correcta. SOLUCIN Punto 2.2.1 del libro de texto. Pginas 43 a 46. 2. Explique por qu es, la descomposicin modular, uno de los objetivos principales del diseo del software. SOLUCIN Punto 4.1 del libro de texto. Pginas 148 a 160 (resumen).

Entregue la hoja de lectura ptica con sus datos junto con las respuestas de su examen.

SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Se dispone de un Tipo Abstracto de Datos (TAD) V, con las operaciones op1, op2 y op3. Razone cmo se podra derivar un nuevo tipo TAD N (utilizando exclusivamente elementos propios de un Diagrama de Abstracciones) que tuviera las operaciones op1, op2, op3 y op4, donde: op1N (op1 del TAD N) sera idntica a op1V (op1 del TAD V) op2N tendra un comportamiento distinto a op2V op3N sera idntica a op3V op4N sera totalmente nueva Cul sera la solucin si V y N fueran Clases de Objetos y se aplicaran Herencia y Polimorfismo? SOLUCIN
a)NyVcomoTADs

ListadeoperacionesdeN: Operacin op1N op2N op3N op4N Pseudocdigo llamaraop1V <<nuevocdigo>> llamaraop3V <<nuevocdigo>>

V b)NyVcomoClasesdeObjetos V

ListadeoperacionesdeN: Operacin Pseudocdigo N op2 <<nuevocdigo>> op4N <<nuevocdigo>>

N Como N hereda de V, N adquiere automticamente las operaciones de V. Por lo tanto, no sera necesario reescribir las operaciones op1 y op3 en N. En cambio, s habra que aadir op2N, que sera invocada adecuadamente gracias al polimorfismo de anulacin. Finalmente, tambin habra que aadir a N la nueva operacinop4N.

Entregue la hoja de lectura ptica con sus datos junto con las respuestas de su examen.

INGENIERA TCNICA en INFORMTICA de SISTEMAS y de GESTIN Plan de estudios en extincin CDIGO CARRERA: 40=SISTEMAS y 41=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN Plan de estudios NUEVO CDIGO CARRERA: 53=SISTEMAS y 54=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN UNIVERSIDAD NACIONAL DE ORIGINAL EXTRANJERO EDUCACIN A DISTANCIA ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) Hora: Duracin: 2 horas MATERIAL: NINGUNO

Departamento de Lenguajes y Sistemas Informticos

FECHA: 4 de septiembre de 2004

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En la primera parte (las preguntas tericas que se valoran con 25 puntos cada una) la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm) (o 4 caras A4, un pliego, un A3 doblado en forma de carpeta, etc.)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Explique las ventajas del uso de prototipos, en sus distintas variantes, durante el ciclo de vida. SOLUCIN Punto 1.5 del libro de texto. Pginas 16, 17 y, parcialmente, las siguientes de este punto. 2. Defina y estructure una clasificacin de las tcnicas generales para el diseo procedimental del software. Utilice un esquema arbreo; identifique cada tcnica y explique sus caractersticas principales. (Hasta aqu la pregunta. La mayor parte de las tcnicas de diseo provienen de la programacin, lo cual
se explica -de forma ms o menos implcita- en el desarrollo del libro. Por ello, se valorar positivamente que el estudio anterior se compare y diferencie respecto a otro anlogo pero para las tcnicas de codificacin.)

SOLUCIN Pginas 160 a 187 del libro. Epgrafes 4.2 a 4.4

Entregue la hoja de lectura ptica con sus datos junto con las respuestas de su examen.

SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Se desea construir un programa informtico para el dibujo de figuras geomtricas planas. La siguiente tabla resume las figuras que manejar el programa y los elementos necesarios para la determinacin de cada una de ellos. Figura Punto Recta Rectngulo Crculo Datosqueladeterminan Doscoordenadascartesianas Dospuntos Dospuntos(quedeterminansudiagonal) Un punto (su centro) y su radio (un nmerorealquerepresentaunalongitud)

a) Realice un diseo mediante un Diagrama Orientado a Objetos que represente las figuras anteriores y sus relaciones. b) Se desea aadir al programa anterior el manejo de la figura corona circular (ver figura). Indique cmo puede obtenerse esta nueva figura aprovechando el desarrollo anterior mediante: I. Herencia II. Composicin

CoronaCircular SOLUCIN Parte a) De nuestro enunciado se desprende rpidamente que vamos a tener las siguientes clases: CLASE Punto ATRIBUTOS coordenadaX : Tipo numrico coordenadaY : Tipo numrico OPERACIONES .... FIN-CLASE CLASE Recta ATRIBUTOS punto1 : Tipo Punto punto2 : Tipo Punto OPERACIONES ... FIN-CLASE CLASE Rectangulo ATRIBUTOS derechaSup : Tipo Punto izquierdaInf : Tipo Punto OPERACIONES .... FIN-CLASE CLASE Circulo ATRIBUTOS radio : Tipo numrico centro : Tipo Punto OPERACIONES . ... FIN-CLASE

Entregue la hoja de lectura ptica con sus datos junto con las respuestas de su examen.

Y el diagrama de clases que representa esto sera:


Punto coordX Rectangulo

coordY ..... ....

Circulo radio

Recta

....

....

Parte b) Solucin I. Podemos pensar que una corona circular ES UN circulo con dos radios, esto es, la nueva clase CoronaCircular puede aprovechar todas las caractersticas de la clase Circulo, aadiendo a su vez un nuevo radio, quedando perfectamente determinada toas las caractersticas de la corona circular. Todas las propiedades de la clase crculo las obtenemos por tanto mediante herencia, pero adems, aadiremos un atributo tipo numrico que representa el segundo radio. El siguiente diagrama representa esta situacin:
Punto Circulo Rectangulo

coordX radio

coordY ..... ....

....

Recta

CoronaCircular

Radio2

....

....

Entregue la hoja de lectura ptica con sus datos junto con las respuestas de su examen.

Solucin II. Por otra parte, podemos visualizar una corona circular como la diferencia de dos crculos. Por tanto, la clase CoronaCircular2 ser una clase que contenga dos atributos (en su interior) de tipo Circulo, esto es, la CoronaCircular2 est compuesta de dos crculos. La figura siguiente refleja la solucin II:
Circulo radio Punto coordX Rectangulo

coordY .... ..... ....

CoronaCircular radio1 radio2 .... .... Recta

Entregue la hoja de lectura ptica con sus datos junto con las respuestas de su examen.

INGENIERA TCNICA en INFORMTICA de SISTEMAS y de GESTIN Plan de estudios en extincin CDIGO CARRERA: 40=SISTEMAS y 41=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN Plan de estudios NUEVO CDIGO CARRERA: 53=SISTEMAS y 54=GESTIN CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN UNIVERSIDAD NACIONAL DE RESERVA EXTRANJERO EDUCACIN A DISTANCIA ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) Hora: Duracin: 2 horas MATERIAL: NINGUNO

Departamento de Lenguajes y Sistemas Informticos

FECHA: 8 de septiembre de 2004

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En la primera parte (las preguntas tericas que se valoran con 25 puntos cada una) la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm) (o 4 caras A4, un pliego, un A3 doblado en forma de carpeta, etc.)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Enuncie, defina y explique los tres tipos de mantenimiento que se estudian en esta asignatura. SOLUCIN Punto 1.8.1 del libro de texto. Pgina 24. 2. Reflexione y explique cmo aplicara el mtodo de Abbott para analizar un sistema y para construir un modelo con la notacin de los DFD. SOLUCIN La tcnica de Abbott establece un procedimiento sistemtico para la obtencin de elementos significativos de un sistema a partir de una descripcin de un modelo. En el caso del diseo, si lo que estamos buscando son abstracciones, partimos de la caracterizacin o definicin de lo que estamos buscando y del espacio de bsqueda (en el libro, una descripcin en lenguaje natural) En el diseo se trata de construir una descripcin del funcionamiento de la aplicacin. Para que dicha aplicacin, y su funcionamiento, cumplan con determinados objetivos, se debe construir la descripcin descomponindola en mdulos. Cuando se utilizan abstracciones para el diseo, la descomposicin y la descripcin vienen caracterizados por ciertos elementos significativos (las abstracciones). As, al aplicar Abbott en el diseo mediante abstracciones, si lo que se intenta es identificar la existencia de, por ejemplo, una abstraccin funcional (la cual no es sino un conjunto de acciones y operaciones que tienen un objetivo concreto); se buscar en la descripcin en lenguaje natural el elemento del cdigo lingstico indica una accin u operacin: los verbos. La tcnica de Abbott dice: busquemos verbos porque, seguramente, nos ayudarn a localizar las abstracciones funcionales de nuestro sistema. Entregue la hoja de lectura ptica con sus datos junto con las respuestas de su examen.

El mtodo de Abbott, en realidad, es una forma de anlisis. Si se aplica el mtodo descrito anteriormente a la construccin de DFDs, se comprueba su utilidad: qu se busca? procesos? Y qu son los procesos? Actividades y tareas que tendr que realizar nuestra aplicacin. Cul es el espacio de bsqueda en este caso? La comprensin de lo que tendr que hacer nuestra aplicacin. Cmo representamos en nuestra mente a las actividades y tareas? Mediante verbos o cualquier representacin que utilicemos internamente para la idea de accin o tarea. Pues esta es una manera de encontrar los procesos o bolas de un DFD. Se hara igual con los flujos de datos o las entidades externas, etc., slo que, ahora, buscaremos descripciones de elementos que interactan con el sistema, sustantivos o adjetivos, etc., que se van a procesar, transformar o almacenar, en el sistema que estamos construyendo.

SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Se dispone de un Tipo Abstracto de Datos (TAD) V, con las operaciones op1, op2 y op3. Razone cmo se podra derivar un nuevo tipo TAD N (utilizando exclusivamente elementos propios de un Diagrama de Abstracciones) que tuviera las operaciones op1, op2, op3 y op4, donde: op1N (op1 del TAD N) sera idntica a op1V (op1 del TAD V) op2N tendra un comportamiento distinto a op2V op3N sera idntica a op3V op4N sera totalmente nueva Cul sera la solucin si V y N fueran Clases de Objetos y se aplicaran Herencia y Polimorfismo? SOLUCIN
a)NyVcomoTADs

ListadeoperacionesdeN: Operacin op1N op2N op3N op4N Pseudocdigo llamaraop1V <<nuevocdigo>> llamaraop3V <<nuevocdigo>>

V b)NyVcomoClasesdeObjetos V

ListadeoperacionesdeN: Operacin Pseudocdigo op2N <<nuevocdigo>> op4N <<nuevocdigo>>

N Como N hereda de V, N adquiere automticamente las operaciones de V. Por lo tanto, no sera necesario reescribir las operaciones op1 y op3 en N. En cambio, s habra que aadir op2N, que sera invocada adecuadamente gracias al polimorfismo de anulacin. Finalmente, tambin habra que aadir a N la nueva operacinop4N.

Entregue la hoja de lectura ptica con sus datos junto con las respuestas de su examen.

ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN CDIGO CARRERA: Plan de estudios en extincin: 40=SISTEMAS y 41=GESTIN Plan de estudios NUEVO: 53=SISTEMAS y 54=GESTIN MATERIAL PERMITIDO: NINGUNO
Departamento de Ingeniera de Software y Sistemas Informticos

MODELO: NACIONAL 1 SEMANA

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En las preguntas tericas, que se valoran con 25 puntos cada una, la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Qu es la lnea base? Para qu sirve? Cmo se usa? SOLUCIN Epgrafe 1.9.5 Gestin de la configuracin, Control de cambios, los dos ltimos prrafos de la pgina 31 hasta el final del epgrafe en la pgina 32. 2. Por qu se busca que la descomposicin modular de un diseo cumpla con las cualidades de Independencia Funcional, Comprensibilidad y Adaptabilidad? SOLUCIN Adems de conseguir el objetivo fundamental del diseo, que es la descripcin/especificacin adecuada (es decir, que permita la implementacin en un lenguaje) del funcionamiento de la aplicacin; dicho diseo debe permitir un mantenimiento sencillo y un desarrollo que economice recursos. Para ello se hace la descomposicin modular. En las pginas 150 a 160, se encuentra la justificacin de en qu medida, las tres cualidades del enunciado, contribuyen a conseguir ese mantenimiento sencillo e implementacin con ahorro de recursos.

Entregue la hoja de lectura ptica con sus datos junto con su examen.

SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Se desea realizar una aplicacin informtica para evitar congestiones de automviles en el interior de un tnel. El sistema recibe datos de la velocidad de los automviles provenientes de un conjunto de sensores distribuidos en el interior del tnel. Los datos de todos los sensores se reciben en paralelo y de forma peridica. El sistema deber actuar, en funcin de dichos datos, sobre un semforo situado a la entrada del tnel, de forma que cuando se detecte un coche circulando a una velocidad inferior a una estipulada, el semforo se pondr en rojo y cuando las velocidades detectadas por los sensores sean superiores a otro valor estipulado, se volver a poner en verde. Existir un centro de control con una pantalla que muestre el estado del semforo y las velocidades instantneas captadas por el conjunto de sensores. El sistema podr funcionar en modo manual, para lo cual el operario deber introducir por teclado su identificador y contrasea cada vez que quiera pasar de automtico a manual, o viceversa, y/o cambiar el estado del semforo. Una o varias cmaras de video enviarn imgenes del interior y exterior del tnel, que se mostrarn en la pantalla y servirn para ayudar al operario a tomar decisiones cuando realice el control manual. El sistema almacenar todos los datos sobre velocidades proporcionadas por los sensores, el estado del semforo, los cambios de estado que se produzcan en l y su origen (automtico o manual) y los accesos de los usuarios, junto con la fecha y hora de cada evento. Se pide: analizar el sistema mediante Diagramas de Flujo de Datos (DFDs), desarrollando los DFDs de contexto, nivel 0 y 1. SOLUCIN Errata: DFD de contexto = DFDs de nivel 0. Evidentemente, lo que se peda es nivel 0 y 1 o bien DFD de contexto y nivel 1. DFD de contexto:
tunel Sensores

Semforo Velocidades Color Cmara S-Video Control Tnel

Entrada Manual VGA Teclado Pantalla

Aplicacin informtica para evitar congestiones de automviles en el interior de un tnel. El sistema recibe datos de la velocidad de los automviles provenientes de un conjunto de sensores distribuidos en el interior del tnel. Los datos de todos los sensores se reciben en paralelo y de forma peridica. El sistema deber actuar, en funcin de dichos datos, sobre un semforo situado a Entregue la hoja de lectura ptica con sus datos junto con su examen.

la entrada del tnel, de forma que cuando se detecte un coche circulando a una velocidad inferior a una estipulada, el semforo se pondr en rojo y cuando las velocidades detectadas por los sensores sean superiores a otro valor estipulado, se volver a poner en verde. Existir un centro de control con una pantalla que muestre el estado del semforo y las velocidades instantneas captadas por el conjunto de sensores. El sistema podr funcionar en modo manual, para lo cual el operario deber introducir por teclado su identificador y contrasea cada vez que quiera pasar de automtico a manual, o viceversa, y/o cambiar el estado del semforo. Una o varias cmaras de video enviarn imgenes del interior y exterior del tnel, que se mostrarn en la pantalla y servirn para ayudar al operario a tomar decisiones cuando realice el control manual. El sistema almacenar todos los datos sobre velocidades proporcionadas por los sensores, el estado del semforo, los cambios de estado que se produzcan en l y su origen (automtico o manual) y los accesos de los usuarios, junto con la fecha y hora de cada evento.

DFD de nivel 1:
Control Tnel

Velocidades Color Control Velocidad

Orden Automtica

Control Semforo

Datos Velocidad Datos Velocidad S-Video Control Pantalla Datos Estado Semforo Orden Manual Datos Usuarios Datos Accesos Control Manual

VGA

Acceso Autorizado Control Acceso Orden Operario Datos Acceso Control Teclado

Entrada Manual

Entregue la hoja de lectura ptica con sus datos junto con su examen.

ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN CDIGO CARRERA: Plan de estudios en extincin: 40=SISTEMAS y 41=GESTIN Plan de estudios NUEVO: 53=SISTEMAS y 54=GESTIN MATERIAL PERMITIDO: NINGUNO
Departamento de Ingeniera de Software y Sistemas Informticos

MODELO: NACIONAL 2 SEMANA

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En las preguntas tericas, que se valoran con 25 puntos cada una, la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. La notacin de los DFD a qu metodologa de anlisis est asociada? Cmo se construye un modelo mediante esta notacin? Se le ocurre algn procedimiento para identificar los procesos y los flujos de datos del sistema? SOLUCIN La notacin de los DFD est asociada al anlisis estructurado (primer prrafo del epgrafe 4.2.3 Diseo estructurado, pgina 165). Una descripcin completa de cmo se construye el modelo, mediante esta notacin, aparece en las pginas 52 a 57, epgrafe 2.3.2 Diagramas de flujo de datos. Para identificar procesos y flujos de datos se podra utilizar Abbott (pgina 173), buscando identificar la informacin, de distinta naturaleza, que fluye en distintas direcciones (flujos) y las descripciones de las acciones por las cuales se transforman esos flujos de informacin (los procesos). 2. Defina qu es un Tipo Abstracto de Datos (TAD) y deduzca las relaciones que se puedan establecer con los conceptos de ocultacin, genericidad, herencia y polimorfismo. SOLUCIN Tradicionalmente, en la programacin imperativa se optaba por separar los programas en dos partes: la de proceso y la de datos (ejemplos de lenguajes imperativos son FORTRAN, COBOL, PASCAL, BASIC). La parte de proceso acceda y operaba directamente sobre los datos. Esta separacin produce una independencia funcional muy baja. Un ejemplo que ilustra esto es el efecto 2000, donde la simple adicin de dgitos al formato de las fechas supuso realizar muchas modificaciones en la parte de proceso. Para solventar estos problemas surgi el concepto de Tipo Abstracto de Datos (TAD), que agrupa en una sola entidad la representacin de los datos y la parte de proceso que los manipula. Los Entregue la hoja de lectura ptica con sus datos junto con su examen.

TADs ocultan la representacin de los datos, que slo es accesible desde las operaciones. De esta forma, un cambio en la representacin de los datos de un TAD no se propaga a todo el programa, sino solamente a las operaciones del TAD. Por tanto, la ocultacin est garantizada en el TAD, gracias al propio concepto de esta abstraccin que oculta la representacin de los datos y slo deja visible las operaciones que manipulan a dichos datos. Por la propia naturaleza del TAD, se pueden definir tipos de datos que recogen una solucin genrica o aplicable a varios casos particulares. Un tipo genrico es un tipo parametrizable, es decir, que cubre un abanico de soluciones particulares y se adecua a distintos usos. En cuanto a la herencia, un TAD es una abstraccin y no est dotada del mecanismo de la herencia. Por ltimo, la capacidad representar algo o de actuar de distinta forma, sin que se pierda la propia naturaleza (polimorfismo), se puede alcanzar mediante la genericidad. Por tanto, un TAD puede ser polimorfo si es genrico; no es as con respecto al polimorfismo de herencia, del que no dispone un TAD por ser una abstraccin.
SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Como resultado del diseo arquitectnico de una aplicacin hemos caracterizado un mdulo llamado Gestin de fechas, que realiza las siguientes operaciones sobre una lista de fechas: x Buscar la ms reciente. x Buscar la ms antigua. x Imprimir todas las fechas que pertenezcan a cierto mes. Para este mdulo, proponga un diseo mediante refinamiento progresivo utilizando: A. Funciones. B. Abstracciones. SOLUCIN A. Tradicionalmente, la atencin en el desarrollo del software se centraba en los aspectos funcionales, es decir, se trataba de responder a la cuestin Cmo debe funcionar el programa para comportarse segn lo acordado en el anlisis? Entre las tcnicas o metodologas de diseo en esta poca se encuentra la descomposicin funcional por refinamientos progresivos. La descomposicin funcional por refinamientos progresivos es una tcnica de diseo que proviene de la metodologa de programacin, desarrollada en los aos 60 y 70 principalmente por Dijkstra, y se conoce como programacin estructurada. Su principal caracterstica consiste en ver la aplicacin compuesta de funciones o procedimientos donde entran unos datos y salen otros transformados. Para lograr esto de forma eficiente y estructurada se disea atendiendo a las siguientes directrices: x La especificacin de las funciones se expresa mediante un conjunto de construcciones lgicas, las cuales deben garantizar la realizacin de cualquier tarea y deben ser suficientemente formales para evitar ambigedades. Para ello se propone como constructores la secuencia, la condicin y la repeticin empleando para ello un lenguaje en pseudocdigo. x Se aplica el refinamiento progresivo para el desarrollo de la aplicacin, en el siguiente sentido: se plantea inicialmente el programa como una nica funcin global y se va descomponiendo (refinando) poco a poco en funciones ms sencillas. x Las estructuras de datos, importantes en cualquier diseo, deben estar supeditadas a la funcionalidad de la aplicacin. Estas funciones, utilizan los datos como elementos de Entregue la hoja de lectura ptica con sus datos junto con su examen.

entrada para su utilizacin o trasformacin; esto se puede conseguir haciendo que los datos sean variables globales (son vistas desde cualquier funcin, aunque se pierda cohesin) o se pasan como parmetros de entrada. Estas estructuras de datos se pueden disear en cualquier momento y con independencia de la parte operacional. Primero empezamos planteando el mdulo Gestin de Fechas como una funcin global e iremos descomponindola es otras funciones. Para especificar el comportamiento de estas funciones utilizamos pseudocdigo: Gestin de fechas CASO opcion de menu SI_ES fecha reciente ENTONCES BuscarFechaReciente SI_ES fecha antigua ENTONCES BuscarFechaAntigua SI_ES listar fecha del mes ENTONCES ImprimirFechaMes BuscarFechaReciente FechaInicial = Primer elemento de la Lista de Fechas PARA_CADA Elemento EN Lista de Fechas HACER SI FechaInicial es MENOR que Elemento ENTONCES FechaInicial = Elemento FIN-SI FIN-PARA B. Posteriormente, se comenz a otorgar mayor relevancia a los datos. Es decir, el desarrollo de una aplicacin pas a enfocarse como: qu conceptos o datos intervienen en el programa?, cules son sus operaciones o responsabilidades? y cmo se relacionan entre s? En un diseo basado en abstracciones, antes de realizar la descomposicin funcional u operativa de la aplicacin deben quedar identificadas las posibles abstracciones (tipos abstractos de datos, funciones o bien datos encapsulados) que aparecern en nuestro diseo. Para ello se siguen los siguientes pasos: i. Identificar claramente las abstracciones que aparezcan en la aplicacin. Esto se puede hacer, a partir de las especificaciones, utilizando, por ejemplo, el mtodo de bsqueda de Abbott. ii. Definir las operaciones asociadas a cada abstraccin. iii. Describir las operaciones mediante lenguaje natural. iv. A partir de las especificaciones del programa llevar a cabo una descomposicin funcional como la descrita en el apartado anterior. As mismo reemplazar las descripciones de las operaciones de cada abstraccin mediante construcciones estructuradas. Podemos ver el mdulo Gestin de fechas como una abstraccin funcional global que gestiona a todas las dems abstracciones. Podemos identificar la lista de fechas como un tipo abstracto de datos, ahora bien, como slo vamos a tener una lista, podramos considerarlo un tipo encapsulado. A esta lista estaran asociadas las operaciones de buscar fechas. Otro tipo de datos abstractos sera el que encapsulara tipo fecha y podramos asociarle, entre otras operaciones, la de comparar con otra fecha.

Entregue la hoja de lectura ptica con sus datos junto con su examen.

Dato: Lista fecha (Dato encapsulado) Atributos lista de elementos del tipo fecha Operaciones Buscar fecha reciente Buscar fecha antigua Listar fecha mes Dato: Fecha (Tipo Abstracto de datos) Atributos Ao Mes Da Operaciones Comparar con otra fecha DIAGRAMA DE ABSTRACCIONES

Gestin fechas

Lista Fecha

Fecha

Entregue la hoja de lectura ptica con sus datos junto con su examen.

ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN CDIGO CARRERA: Plan de estudios en extincin: 40=SISTEMAS y 41=GESTIN Plan de estudios NUEVO: 53=SISTEMAS y 54=GESTIN MATERIAL PERMITIDO: NINGUNO
Departamento de Ingeniera de Software y Sistemas Informticos

MODELO: EXTRANJERO ORIGINAL (Europa Continental y Guinea)

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En las preguntas tericas, que se valoran con 25 puntos cada una, la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Qu punto de vista ofrecen los diagramas de transicin de estados en la comprensin del sistema? SOLUCIN La evolucin temporal del comportamiento deseado para el sistema. Epgrafe 2.3.3, primer y segundo prrafo del epgrafe, en las pginas 57 y 58. 2. Enumere y explique las relaciones entre bloques que se representan en estos diagramas de diseo. Se puede producir sobrecarga en el mdulo x del diagrama C )? A A A

x y
A) SOLUCIN

x
C)

B)

La notacin corresponde a diagramas de estructura; utilizados como notacin de diseo, principalmente, en el diseo arquitectnico. Entregue la hoja de lectura ptica con sus datos junto con su examen.

En el caso A ), se representan relaciones de uso: A llama o utiliza el mdulo x y, ste, invoca o utiliza el mdulo y. En el caso B ), se representan relaciones de herencia (que slo se dan en los objetos): A es el antecedente o padre de los mdulos x e y, que son sus hijos. Por tanto, heredarn las propiedades estticas y dinmicas del padre. Es en los hijos donde se puede producir especializacin, adecuando las propiedades heredadas al uso especializado del hijo o incorporando nuevas. En el caso C ), se representan relaciones de composicin o agregacin: A est compuesto por una cantidad (se representa la cardinalidad de la relacin) de instancias del mdulo x y por un nmero de instancias del mdulo y. La sobrecarga es una manera de expresar el polimorfismo que est vinculado, estrechamente, con el mecanismo de la herencia y slo se produce con la parte dinmica de los objetos (metodos). Como lo que se representa en el diagrama es la composicin y no la herencia, no se puede decir si existe la posibilidad de sobrecarga en este mdulo concreto. Podra producirse sobrecarga, si el mdulo x fuera una clase u objeto que heredara de otro; en cuyo caso, aparecera en otro diagrama distinto en el que se representara la herencia.
SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Dado el subprograma Factorial escrito en Modula 2, que calcula el factorial de un nmero entero positivo y devuelve el valor -1 en caso de ser negativo, verifique su funcionamiento correcto con pruebas: x De caja negra: determine las clases de equivalencia necesarias e implemente un subprograma llamado TestsCajaNegra que ejecute las pruebas correspondientes. x De caja transparente: implemente un subprograma llamado TestsCajaTransparente que pruebe el cubrimiento lgico y el bucle (cuyo nmero de repeticiones no est acotado). Nota: la codificacin de los subprogramas pedidos puede realizarse en pseudocdigo o en Modula-2.

PROCEDURE Factorial(numero: INTEGER): INTEGER; VAR resultado: INTEGER; BEGIN IF numero < 0 THEN RETURN -1; END; resultado := 1; WHILE numero > 1 DO resultado := resultado * numero; DEC(numero); END; RETURN resultado; END Factorial;

Entregue la hoja de lectura ptica con sus datos junto con su examen.

SOLUCIN Pruebas de caja negra:


nmero negativo
nmero = - 8 (Clase de Equivalencia, CE 1)

nmero = 0

nmero = 0 (CE 2)

Caja Negra

cualquier nmero positivo

nmero = 12 (CE 3)

PROCEDURE TestsCajaNegra; BEGIN IF Factorial(-8) <> -1 THEN WriteString("Error en la CE 1"); WriteLn; ELSIF Factorial(0) <> 1 THEN WriteString("Error en la CE 2"); WriteLn; ELSIF Factorial(12) <> 479001600 THEN WriteString("Error en la CE 3"); WriteLn; END; END TestsCajaNegra;

Pruebas de caja transparente:


nmero < 0 nmero = -8 (Prueba de Caja Transparente, PCT 1) nmero = 0 (PCT 2) nmero = 1 (PCT 3)

Cubrimiento lgico
nmero >= 0

Caja Transparente
Ejecutar el bucle 0 veces Ejecutar el bucle 1 vez nmero = 1 (PCT 3) nmero = 2 (PCT 4) nmero = 3 (PCT 5)

Bucle con nmero no acotado de repeticiones

Ejecutar el bucle 2 veces

Ejecutar el bucle un nmero moderado de veces Ejecutar el bucle un nmero elevado de veces

nmero = 8 (PCT 6) nmero = 12 (PCT 7)

Entregue la hoja de lectura ptica con sus datos junto con su examen.

PROCEDURE TestsCajaTransparente; BEGIN IF Factorial(-8) <> -1 THEN WriteString("Error en la PCT 1"); WriteLn; ELSIF Factorial(0) <> 1 THEN WriteString("Error en la PCT 2"); WriteLn; ELSIF Factorial(1) <> 1 THEN WriteString("Error en la PCT 3"); WriteLn; ELSIF Factorial(2) <> 2 THEN WriteString("Error en la PCT 4"); WriteLn; ELSIF Factorial(3) <> 6 THEN WriteString("Error en la PCT 5"); WriteLn; ELSIF Factorial(8) <> 40320 THEN WriteString("Error en la PCT 6"); WriteLn; ELSIF Factorial(12) <> 479001600 THEN WriteString("Error en la PCT 7"); WriteLn; END; END TestsCajaTransparente;

Entregue la hoja de lectura ptica con sus datos junto con su examen.

ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN CDIGO CARRERA: Plan de estudios en extincin: 40=SISTEMAS y 41=GESTIN Plan de estudios NUEVO: 53=SISTEMAS y 54=GESTIN MATERIAL PERMITIDO: NINGUNO
Departamento de Ingeniera de Software y Sistemas Informticos

MODELO: EXTRANJERO ORIGINAL (Londres, Lisboa y Tnger)

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En las preguntas tericas, que se valoran con 25 puntos cada una, la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. La notacin de los DFD a qu metodologa de anlisis est asociada? Cmo se construye un modelo mediante esta notacin? Se le ocurre algn procedimiento para identificar los procesos y los flujos de datos del sistema? SOLUCIN La notacin de los DFD est asociada al anlisis estructurado (primer prrafo del epgrafe 4.2.3 Diseo estructurado, pgina 165). Una descripcin completa de cmo se construye el modelo, mediante esta notacin, aparece en las pginas 52 a 57, epgrafe 2.3.2 Diagramas de flujo de datos. Para identificar procesos y flujos de datos se podra utilizar Abbott (pgina 173), buscando identificar la informacin, de distinta naturaleza, que fluye en distintas direcciones (flujos) y las descripciones de las acciones por las cuales se transforman esos flujos de informacin (los procesos). 2. Defina qu es un Tipo Abstracto de Datos (TAD) y deduzca las relaciones que se puedan establecer con los conceptos de ocultacin, genericidad, herencia y polimorfismo. SOLUCIN Tradicionalmente, en la programacin imperativa se optaba por separar los programas en dos partes: la de proceso y la de datos (ejemplos de lenguajes imperativos son FORTRAN, COBOL, PASCAL, BASIC). La parte de proceso acceda y operaba directamente sobre los datos. Esta separacin produce una independencia funcional muy baja. Un ejemplo que ilustra esto es el efecto 2000, donde la simple adicin de dgitos al formato de las fechas supuso realizar muchas modificaciones en la parte de proceso.

Entregue la hoja de lectura ptica con sus datos junto con su examen.

Para solventar estos problemas surgi el concepto de Tipo Abstracto de Datos (TAD), que agrupa en una sola entidad la representacin de los datos y la parte de proceso que los manipula. Los TADs ocultan la representacin de los datos, que slo es accesible desde las operaciones. De esta forma, un cambio en la representacin de los datos de un TAD no se propaga a todo el programa, sino solamente a las operaciones del TAD. Por tanto, la ocultacin est garantizada en el TAD, gracias al propio concepto de esta abstraccin que oculta la representacin de los datos y slo deja visible las operaciones que manipulan a dichos datos. Por la propia naturaleza del TAD, se pueden definir tipos de datos que recogen una solucin genrica o aplicable a varios casos particulares. Un tipo genrico es un tipo parametrizable, es decir, que cubre un abanico de soluciones particulares y se adecua a distintos usos. En cuanto a la herencia, un TAD es una abstraccin y no est dotada del mecanismo de la herencia. Por ltimo, la capacidad representar algo o de actuar de distinta forma, sin que se pierda la propia naturaleza (polimorfismo), se puede alcanzar mediante la genericidad. Por tanto, un TAD puede ser polimorfo si es genrico; no es as con respecto al polimorfismo de herencia, del que no dispone un TAD por ser una abstraccin.
SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Como resultado del diseo arquitectnico de una aplicacin hemos caracterizado un mdulo llamado Gestin de fechas, que realiza las siguientes operaciones sobre una lista de fechas: x Buscar la ms reciente. x Buscar la ms antigua. x Imprimir todas las fechas que pertenezcan a cierto mes. Para este mdulo, proponga un diseo mediante refinamiento progresivo utilizando: A. Funciones. B. Abstracciones. SOLUCIN A. Tradicionalmente, la atencin en el desarrollo del software se centraba en los aspectos funcionales, es decir, se trataba de responder a la cuestin Cmo debe funcionar el programa para comportarse segn lo acordado en el anlisis? Entre las tcnicas o metodologas de diseo en esta poca se encuentra la descomposicin funcional por refinamientos progresivos. La descomposicin funcional por refinamientos progresivos es una tcnica de diseo que proviene de la metodologa de programacin, desarrollada en los aos 60 y 70 principalmente por Dijkstra, y se conoce como programacin estructurada. Su principal caracterstica consiste en ver la aplicacin compuesta de funciones o procedimientos donde entran unos datos y salen otros transformados. Para lograr esto de forma eficiente y estructurada se disea atendiendo a las siguientes directrices: x La especificacin de las funciones se expresa mediante un conjunto de construcciones lgicas, las cuales deben garantizar la realizacin de cualquier tarea y deben ser suficientemente formales para evitar ambigedades. Para ello se propone como constructores la secuencia, la condicin y la repeticin empleando para ello un lenguaje en pseudocdigo. x Se aplica el refinamiento progresivo para el desarrollo de la aplicacin, en el siguiente sentido: se plantea inicialmente el programa como una nica funcin global y se va descomponiendo (refinando) poco a poco en funciones ms sencillas. Entregue la hoja de lectura ptica con sus datos junto con su examen.

Las estructuras de datos, importantes en cualquier diseo, deben estar supeditadas a la funcionalidad de la aplicacin. Estas funciones, utilizan los datos como elementos de entrada para su utilizacin o trasformacin; esto se puede conseguir haciendo que los datos sean variables globales (son vistas desde cualquier funcin, aunque se pierda cohesin) o se pasan como parmetros de entrada. Estas estructuras de datos se pueden disear en cualquier momento y con independencia de la parte operacional.

Primero empezamos planteando el mdulo Gestin de Fechas como una funcin global e iremos descomponindola es otras funciones. Para especificar el comportamiento de estas funciones utilizamos pseudocdigo: Gestin de fechas CASO opcion de menu SI_ES fecha reciente ENTONCES BuscarFechaReciente SI_ES fecha antigua ENTONCES BuscarFechaAntigua SI_ES listar fecha del mes ENTONCES ImprimirFechaMes BuscarFechaReciente FechaInicial = Primer elemento de la Lista de Fechas PARA_CADA Elemento EN Lista de Fechas HACER SI FechaInicial es MENOR que Elemento ENTONCES FechaInicial = Elemento FIN-SI FIN-PARA B. Posteriormente, se comenz a otorgar mayor relevancia a los datos. Es decir, el desarrollo de una aplicacin pas a enfocarse como: qu conceptos o datos intervienen en el programa?, cules son sus operaciones o responsabilidades? y cmo se relacionan entre s? En un diseo basado en abstracciones, antes de realizar la descomposicin funcional u operativa de la aplicacin deben quedar identificadas las posibles abstracciones (tipos abstractos de datos, funciones o bien datos encapsulados) que aparecern en nuestro diseo. Para ello se siguen los siguientes pasos: i. Identificar claramente las abstracciones que aparezcan en la aplicacin. Esto se puede hacer, a partir de las especificaciones, utilizando, por ejemplo, el mtodo de bsqueda de Abbott. ii. Definir las operaciones asociadas a cada abstraccin. iii. Describir las operaciones mediante lenguaje natural. iv. A partir de las especificaciones del programa llevar a cabo una descomposicin funcional como la descrita en el apartado anterior. As mismo reemplazar las descripciones de las operaciones de cada abstraccin mediante construcciones estructuradas. Podemos ver el mdulo Gestin de fechas como una abstraccin funcional global que gestiona a todas las dems abstracciones. Podemos identificar la lista de fechas como un tipo abstracto de datos, ahora bien, como slo vamos a tener una lista, podramos considerarlo un tipo encapsulado. A esta lista estaran asociadas las operaciones de buscar fechas. Otro tipo de datos abstractos sera el que encapsulara tipo fecha y podramos asociarle, entre otras operaciones, la de comparar con otra fecha.

Entregue la hoja de lectura ptica con sus datos junto con su examen.

Dato: Lista fecha (Dato encapsulado) Atributos lista de elementos del tipo fecha Operaciones Buscar fecha reciente Buscar fecha antigua Listar fecha mes Dato: Fecha (Tipo Abstracto de datos) Atributos Ao Mes Da Operaciones Comparar con otra fecha DIAGRAMA DE ABSTRACCIONES

Gestin fechas

Lista Fecha

Fecha

Entregue la hoja de lectura ptica con sus datos junto con su examen.

ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN CDIGO CARRERA: Plan de estudios en extincin: 40=SISTEMAS y 41=GESTIN Plan de estudios NUEVO: 53=SISTEMAS y 54=GESTIN MATERIAL PERMITIDO: NINGUNO
Departamento de Ingeniera de Software y Sistemas Informticos

MODELO: AMRICA ORIGINAL

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En las preguntas tericas, que se valoran con 25 puntos cada una, la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)
PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Enumere y comente los problemas e inconvenientes que encuentra en el ciclo de vida en espiral. SOLUCIN La fase de Anlisis de Riesgos se ejecuta, normalmente, por una autoridad con experiencia. Esta fase consiste en identificar las fuentes y causas de riesgo, determinar las consecuencias de cada una sobre el desarrollo del producto, establecer un plan de actuacin para el caso de que se produzca la situacin de riesgo e incorporar la planificacin al plan general del desarrollo. Este ciclo de vida incorpora tareas propias de la gestin del desarrollo (planificacin y anlisis de riesgo) y, por ser mucho ms completo y sofisticado que otros modelos, requiere una elaboracin ms minuciosa. Por otro lado, el anlisis de riesgo est estrechamente vinculado a la planificacin de la parte que se va a afrontar. Por tanto, la forma de desarrollar el producto se basa, en gran parte, en la propia experiencia del analista de riesgos. Esto puede ser especialmente crtico en las frecuentes ocasiones en las que el analista se ve obligado a convencer al cliente de porqu se planifica y se afronta una parte del desarrollo y no otra. 2. Qu es la validacin? Por qu deben incluirse los requisitos de validacin en el SRD? SOLUCIN La validacin consiste en la comprobacin de que el producto o uno de sus elementos, satisface las especificaciones establecidas por el cliente en la fase de anlisis (pg. 16). Normalmente, esas especificaciones establecidas por el cliente son las condiciones que l pone para aceptar el producto. Debido al carcter contractual de las mencionadas condiciones de validacin, es por lo que resulta muy conveniente que se expresen en documento SRD.

Entregue la hoja de lectura ptica con sus datos junto con su examen.

SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Segn la arquitectura Von Neumann, un computador est compuesto por: 1. Unidad Central de Proceso: controla el funcionamiento del computador y lleva a cabo sus funciones de procesamiento de datos. A su vez, consta de: a. Unidad Aritmtico Lgica: se encarga de realizar operaciones elementales como la suma, resta, AND b. Unidad de Control: se encarga de leer y ejecutar las instrucciones mquina almacenadas en la memoria principal. c. Registros: proporcionan almacenamiento interno a la Unidad Central de Proceso. 2. Memoria Principal. 3. Unidad de Entrada y Salida: transfiere datos entre el computador y los perifricos. 4. Perifricos: los hay de distinto tipo, por ejemplo, a. Monitor b. Impresora 5. Elementos de interconexin o buses: los hay de distinto tipo, por ejemplo, a. Bus del Sistema: conecta Unidad Central de Proceso, Memoria Principal y Unidad de E/S. b. Bus Interno de la Unidad Central de Proceso: conecta Unidad Aritmtico Lgica, Unidad de Control y Registros. Desarrolle un modelo de anlisis para esta arquitectura Von Neumann. Para ello, utilice la notacin de los Diagramas de Objetos que se explica en el texto de la asignatura. No es necesario que incluya los atributos ni las operaciones de las clases. Limtese a representar las relaciones de herencia y composicin entre los bloques funcionales descritos anteriormente. SOLUCIN

1:1 1:1 1:1 1:N 1:1 1:1 1:N 1:N

Entregue la hoja de lectura ptica con sus datos junto con su examen.

ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN CDIGO CARRERA: Plan de estudios en extincin: 40=SISTEMAS y 41=GESTIN Plan de estudios NUEVO: 53=SISTEMAS y 54=GESTIN MATERIAL PERMITIDO: NINGUNO
Departamento de Ingeniera de Software y Sistemas Informticos

MODELO: NACIONAL ORIGINAL

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En cada pregunta terica, que se valora con 25 puntos, la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Explique qu matices y puntos de vista proyectan sobre el modelo de un mismo sistema: los Diagramas de Flujos de Datos, los Diagramas Entidad - Relacin, los Diagramas de Transicin de Estados y el Diccionario de Datos. SOLUCIN Las tres primeras notaciones establecen tres puntos de vista, diferenciados y complementarios, sobre una misma cosa: el modelo del sistema, esto es, la descripcin del producto que se va a construir. Como Diagrama se ve en sinptico de la izquierda, los diagramas de Entidad-relacin Diagrama de flujo de flujo de datos, aportan el punto de vista de la datos especificacin de los procesos y transformaciones Diccionario de datos que se producen en la informacin que fluye. Los diagramas E-R, aportan la descripcin de los elementos conceptuales y objetos (entidades) que se Diagrama de transicin manejan en el sistema y las relaciones relevantes que de estados existen entre ellos. Los diagramas de transicin de estados, establecen la especificacin del control que se establece el sistema; aportan la variable temporal, la evolucin de l. Por ltimo, el diccionario de datos complementa y detalla las especificaciones realizadas con cualquiera de las notaciones anteriores, bien sea con lenguajes de descripcin funcional o bien con descripciones de datos con cierto formalismo.

Entregue la hoja de lectura ptica con sus datos junto con su examen.

2. Dadas dos implementaciones alternativas de un algoritmo, coincidirn las pruebas de caja negra que verifiquen el funcionamiento correcto de cada implementacin? Coincidirn las pruebas si son de caja transparente? SOLUCIN La estrategia de pruebas de caja negra, ignora por completo la estructura interna del programa y se basa, exclusivamente, en la comprobacin de la especificacin software. En este caso, el juego de casos de prueba al que se someten las dos versiones ser el mismo. En esto consiste el mtodo de comparacin de versiones para las pruebas de caja negra. Por el contrario, en la estrategia de caja transparente, los casos de prueba tratan de conseguir que el programa transite por todos los posibles caminos de ejecucin y que se pongan en juego todos los elementos del cdigo (que es conocido). Por ello, al depender (los casos de prueba) del cdigo, dichos casos de prueba pueden ser distintos en cada implementacin.
SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Se desea modelar la aplicacin de clculo de nminas de una empresa segn la siguiente descripcin: En la empresa existen trabajadores de plantilla y trabajadores autnomos. Un trabajador de plantilla no puede pertenecer a ms de un departamento de la empresa y tiene asignado un sueldo bruto anual. Los autnomos, que realizan trabajos ocasionales para la empresa, pueden hacerlo en distintos departamentos y cobrarn por cada trabajo realizado. Cada departamento dispone de su propio presupuesto para pagar a los trabajadores. Realice el anlisis, mediante diagrama entidad/relacin, de la aplicacin descrita. SOLUCIN

trabajador plantilla 0:N

0:N

paga sueldo

empleado 1:1 1:1 departamento 1:N

trabajo ocasional

1:N

0:N autnomo 0:N paga trabajos

Entregue la hoja de lectura ptica con sus datos junto con su examen.

ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN CDIGO CARRERA: Plan de estudios en extincin: 40=SISTEMAS y 41=GESTIN Plan de estudios NUEVO: 53=SISTEMAS y 54=GESTIN MATERIAL PERMITIDO: NINGUNO
Departamento de Ingeniera de Software y Sistemas Informticos

MODELO: NACIONAL RESERVA

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En cada pregunta terica, que se valora con 25 puntos, la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. D una breve definicin de la fase de diseo. Describa cules son las cualidades mnimas que se pretende alcanzar con la descomposicin modular del diseo. SOLUCIN El diseo trata de definir y formalizar la estructura de un sistema informtico con el suficiente detalle como para permitir su realizacin fsica (ultimo prrafo de la pgina 103, epgrafe 3.1 Introduccin). Las cualidades mnimas de la descomposicin modular son la independencia funcional, la comprensibilidad y la adaptabilidad (epgrafes 4.1.1, 4.1.2 y 4.1.3 en pgina 150 y siguientes). 2. Enumere las diferencias y coincidencias entre las pruebas D y E SOLUCIN Coincidencias: son pruebas de sistema y se suele aplicar una estrategia de caja negra. Es el usuario el que realiza las pruebas. Diferencias: en las pruebas alfa, el entorno de prueba est controlado (se registran las incidencias y se conocen las circunstancias en que se producen) y el usuario recibe el apoyo de alguna persona del equipo de desarrollo, el cual, puede seguir muy de cerca la evolucin de las pruebas. En las pruebas beta, el sistema se prueba en el entorno normal de trabajo y sin apoyo de nadie involucrado en el desarrollo. El usuario es el encargado de transmitir, al equipo de desarrollo, las circunstancias en las que se han producido las incidencias (epgrafe 5.9.2 en pginas 290 y 291).

Entregue la hoja de lectura ptica con sus datos junto con su examen.

SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. El Sistema de Posicionamiento Global (Global Positioning System, GPS) permite conocer a sus usuarios la posicin que ocupan en el globo terrqueo (Figura 1). El sistema consta de, al menos, 24 satlites, 5 estaciones de control terrestres y aparatos receptores. Cada satlite emite peridicamente una seal con informacin sobre su localizacin en rbita y el instante en que se ha producido la emisin. Desde la Tierra, un receptor puede conocer su localizacin si recibe seal desde, al menos, 4 satlites. Conocido el instante en que se emiti una seal y la velocidad a la que viajan las ondas emitidas (la de la luz), el receptor puede calcular su distancia al satlite como: distancia = (tiempo de la recepcin tiempo de la emisin) X velocidad de la luz Si un receptor recibe seal de un satlite, sabe que se encuentra en la superficie de una esfera de radio la distancia al satlite y centro la localizacin en rbita del satlite; si recibe seal de 2 satlites, se encuentra en la interseccin de dos superficies esfricas, es decir, una circunferencia (Figura 2); si recibe de 3 satlites, las posibilidades se reducen a dos puntos (Figura 3); y, si la recibe de 4, el receptor conoce su posicin exacta en el globo terrqueo. Normalmente, los receptores guardan un histrico con las localizaciones en rbita de los ltimos satlites desde los que recibieron seal. De este modo, cuando se enciende un receptor, ste no inicia una bsqueda desde cero, sino que prueba con los satlites previamente almacenados (sintonizar). La rbita que describe un satlite puede sufrir ligeras variaciones. Para mantener la precisin en la localizacin de los satlites, existen cinco estaciones de control terrestres que ajustan esta informacin. Concretamente, hay cuatro estacionas automticas que reciben seales de los satlites y las envan a una estacin central que procesa toda la informacin y transmite las correcciones pertinentes a los satlites.

Figura 1

Figura 2

Figura 3

Se pide: x Modelar la descripcin anterior mediante un Diagrama Entidad-Relacin x Modelar con un Diagrama de Flujo de Datos el software de un receptor

Entregue la hoja de lectura ptica con sus datos junto con su examen.

SOLUCIN DER

Satlite

24:N

corrige

1:1

Estacin central

4:N recibe informacin 0:N Receptor

0:N recibe informacin 1:4 Estacin Automtica 4:4

1:1

recibe informacin

DFD

localizacin en rbita Satlite tiempo de emisin receptor

posicin

Usuario

localizacin en rbita tiempo de emisin calcular posicin posicin

sintonizar satlites

gps listo

satlites ms prximos

Entregue la hoja de lectura ptica con sus datos junto con su examen.

ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN CDIGO CARRERA: Plan de estudios en extincin: 40=SISTEMAS y 41=GESTIN Plan de estudios NUEVO: 53=SISTEMAS y 54=GESTIN MATERIAL PERMITIDO: NINGUNO
Departamento de Ingeniera de Software y Sistemas Informticos

MODELO: NACIONAL 1 SEMANA

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En cada pregunta terica, que se valora con 25 puntos, la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Qu dimensin del proceso de desarrollo de software aade el modelo en V al modelo en cascada? Qu implica respecto a la comprobacin de la correccin en las distintas fases del ciclo de vida? Solucin En el modelo en V se contempla el nivel de detalle sobre el que se trabaja en cada una de las fases. El SRD, documento producido en la fase de anlisis, contempla el sistema en su totalidad. Tras la fase de diseo, en la que se lleva a cabo una descomposicin del sistema para abordar su codificacin, se desciende al nivel de mdulo. Tras la codificacin de todos los mdulos se realiza su integracin, ascendindose de nuevo al nivel de sistema completo. El modelo en V pone de manifiesto que la salida de una fase del ciclo de vida no slo afecta a la siguiente. Existe una relacin entre salidas y entradas de fases no consecutivas en el tiempo pero situadas en el mismo nivel de detalle. Este hecho se observa a la hora de realizar comprobaciones de la correccin. La validacin se hace tras la fase de integracin, donde nos encontramos en el nivel del sistema completo, comprobndose que se cumple lo estipulado en el documento producido tras la fase de anlisis (SRD). La verificacin se lleva a cabo tras la fase de codificacin, realizndose una comprobacin de la correccin del sistema a nivel de mdulo. 2. Defina pruebas alfa, beta, de caja negra y de caja transparente. Razone si las pruebas alfa y beta se pueden considerar como de caja negra o de caja transparente. Solucin Las pruebas alfa y beta sirven para comprobar si un sistema completo satisface las especificaciones en un entorno real de trabajo. Mientras que las pruebas alfa se realizan en un entorno controlado donde el usuario tiene el apoyo de algn desarrollador, durante las pruebas beta no existe dicho apoyo. Entregue la hoja de lectura ptica con sus datos junto con su examen.

Previas a las pruebas de sistema, se realizan las pruebas de unidades, que comprueban por separado cada mdulo constituyente del sistema. Dentro de las pruebas de unidades pueden distinguirse las de caja negra, donde se ignora por completo la estructura interna de un mdulo, y las de caja transparente, donde se conoce y tiene en cuenta dicha estructura. En las pruebas alfa y beta los usuarios desconocen la estructura interna del sistema, luego pueden considerarse como de caja negra.
SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Se desea construir un procesador de textos capaz de manipular los siguientes elementos: imgenes, texto y tablas. En principio, slo se contemplan tres tipos de texto: prrafos, ttulos e ndices. Por otro lado, una tabla puede albergar cualquier tipo de texto, imagen e incluso otras tablas. Utilizando un diagrama de objetos (sin incluir las operaciones ni los atributos), elabore un diseo para los elementos que maneja el procesador de textos. Cmo afectara a su diseo la inclusin de frmulas matemticas como nuevo tipo de elemento de texto? Solucin Diseo inicial:

Diseo contemplando frmulas matemticas:

Entregue la hoja de lectura ptica con sus datos junto con su examen.

ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN CDIGO CARRERA: Plan de estudios en extincin: 40=SISTEMAS y 41=GESTIN Plan de estudios NUEVO: 53=SISTEMAS y 54=GESTIN MATERIAL PERMITIDO: NINGUNO
Departamento de Ingeniera de Software y Sistemas Informticos

MODELO: NACIONAL 2 SEMANA

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En cada pregunta terica, que se valora con 25 puntos, la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1.

A. Describa la diferencia entre los factores de calidad de correccin y fiabilidad. Solucin Correccin: Es el grado en que un producto software cumple con sus especificaciones. Podra estimarse como el porcentaje de requisitos que se cumplen adecuadamente. Fiabilidad: Es el grado de ausencia de fallos durante la operacin del producto software. Puede estimarse como el nmero de fallos producidos o el tiempo que permanece inutilizable durante un intervalo de operacin dado. Pg. 27 del libro B. Para evaluar la correccin de un sistema qu tipo de prueba debera utilizarse, de caja negra o de caja transparente? Razone la respuesta. Solucin Como se trata de evaluar si el sistema satisface sus especificaciones, lo correcto es hacer pruebas de caja negra, ya que se tratara de observar la respuesta del sistema (resultados) a determinadas entradas (casos de prueba) y comprobar que son los esperados. Pg. 274 del libro

2. Explique brevemente los distintos niveles de comprobacin de tipos que presentan los lenguajes de programacin. Solucin Vase pg. 255 y 256 del libro de texto.

Entregue la hoja de lectura ptica con sus datos junto con su examen.

SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Se ha recibido una peticin, por parte de un usuario final, para desarrollar un sistema automtico de acceso a un garaje. En ella dice: Existe un nico portn que sirve de entrada y salida, pero su ancho slo permite el paso de un vehculo. Se instalarn sensores de peso que detecten la presencia de un vehculo y semforos tanto en el interior como en el exterior del garaje. Para controlar el acceso se utilizarn mandos a distancia codificados. Analice el sistema y realice una descripcin de su modelo utilizando lenguaje natural estructurado. Incluya los elementos que considere necesarios para controlar el acceso de vehculos autorizados as como para evitar daos fsicos en los vehculos. Realice el DFD de contexto del modelo descrito. Solucin La descripcin del modelo es un apartado fundamental del SRD. En l se define un modelo conceptual del sistema que se va a desarrollar. Este modelo establecer las propiedades y restricciones del sistema, dando una visin de alto nivel sin descender a detalles concretos del mismo. Es decir, indicar QU debe hacer, y no CMO lo debe hacer. Debe ser completo, conciso, sin ambigedades, sin detalles de diseo o implementacin, fcilmente entendible por el cliente Para ello se puede emplear cualquiera de las notaciones para la especificacin, siendo habitual el uso de varias de ellas, de forma que se facilite su entendimiento por parte de los que van a participar en el desarrollo del sistema. En este caso, la descripcin mediante lenguaje natural estructurado se complementar con el DFD de contexto, en el que se detallan los elementos (entidades externas) que facilitan datos o reciben rdenes del sistema software. Sistema de control de acceso a garaje. Descripcin del modelo SI un coche autorizado quiere salir ENTONCES se pondr en rojo el semforo exterior, en verde el interior, y se abrir el portn durante 30 segundos. SI un coche autorizado quiere entrar ENTONCES se pondr en rojo el semforo interior, en verde el exterior, y se abrir el portn durante 30 segundos. SI la clula fotoelctrica detecta un coche ENTONCES el portn permanecer abierto durante 30 segundos. SI un coche no autorizado quiere entrar o salir ENTONCES se pondrn en rojo los semforos interior y exterior.
sensor peso exterior semforo exterior receptor mando exterior aviso entrada orden salida cdigo entrada control acceso garaje apertura/cierre portn

clula fotoelctrica

aviso presencia cdigo salida

orden portn

orden entrada receptor mando interior aviso salida semforo interior

sensor peso interior

Entregue la hoja de lectura ptica con sus datos junto con su examen.

ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN CDIGO CARRERA: Plan de estudios en extincin: 40=SISTEMAS y 41=GESTIN Plan de estudios NUEVO: 53=SISTEMAS y 54=GESTIN MATERIAL PERMITIDO: NINGUNO
Departamento de Ingeniera de Software y Sistemas Informticos

MODELO: EUROPA RESERVA

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En cada pregunta terica, que se valora con 25 puntos, la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Qu criterios se deben emplear para utilizar ms de una notacin en la construccin del modelo de anlisis? Solucin Sea cual sea la opcin elegida, la notacin o notaciones empleadas debern ser fciles de entender por el cliente, el usuario y, en general, por todos aquellos que puedan participar en el anlisis o el desarrollo del sistema. Si el objetivo global del anlisis es la comprensin del comportamiento del producto que se va a construir, la utilizacin de una o ms notaciones para elaborar el modelo deber decidirse de acuerdo a los criterios que debe cumplir el propio modelo: x x x x x x x Completo y sin omisiones. Conciso y sin trivialidades. Sin ambigedades. Sin detalles de diseo o implementacin. Fcilmente entendible por el cliente. Separar los requisitos funcionales de los no funcionales. Dividido y jerarquizado.

2. Una aplicacin de animacin grfica para la decoracin y diseo de interiores utiliza un elemento denominado Asiento. Qu aspectos y mecanismos del diseo de software podra utilizar para la especializacin de dicho elemento y su uso en un ambiente concreto (silla, butaca, banqueta, sof, etc.)? Solucin La especializacin se puede conseguir mediante la abstraccin y a travs de la herencia. En este caso, lo ms inmediato parece ser el uso del mecanismo de la herencia de manera que la especializacin de cada instancia en su ambiente (silla, butaca, etc.) se consigue mediante el Entregue la hoja de lectura ptica con sus datos junto con su examen.

polimorfismo hereditario, es decir, adecuando cada cul sus caractersticas especficas que han heredado de la clase Asiento.
SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Un sistema informtico de gestin bancaria opera con dos tipos de cuentas bancarias: la corriente y la de ahorros. Las cuentas disponen de un nmero que las identifica, tienen asociado un titular, una lista de los movimientos realizados hasta la fecha y almacenan el saldo disponible. As mismo, las cuentas soportan operaciones como pedir el saldo y hacer ingresos o reintegros. Las cuentas de ahorros producen un inters que se calcula cada mes. Las cuentas corrientes no producen inters sino que reciben la carga de una comisin anual. Dichas cuentas corrientes facilitan diversas operaciones como adeudos domiciliarios y transferencias de dinero. Cada movimiento bancario consta de la fecha, la cantidad y el concepto de que se trata. Modele la situacin anterior utilizando un diseo orientado a objetos. Utilice herencia y composicin cuando se pueda. Solucin CLASES: x Cuenta de ahorros x Cuenta corriente x Cuenta bancaria x Movimientos x Banco (Sistema de Gestin)
Cuenta Bancaria Banco (ListaCuentas) ....

NumCuenta Titular Saldo (ListaMovimientos)

Movimiento VerSaldo VerListado Ingreso Reintegro fecha cantidad ....

CuentaAhorros Interes

CuentaCorriente

Comision Adeudo Transferencia

Entregue la hoja de lectura ptica con sus datos junto con su examen.

ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN CDIGO CARRERA: Plan de estudios en extincin: 40=SISTEMAS y 41=GESTIN Plan de estudios NUEVO: 53=SISTEMAS y 54=GESTIN MATERIAL PERMITIDO: NINGUNO
Departamento de Ingeniera de Software y Sistemas Informticos

MODELO: ORIGINAL AMRICA, GUINEA Y TNGER

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En cada pregunta terica, que se valora con 25 puntos, la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Qu ventajas e inconvenientes tiene el uso de prototipos en el ciclo de vida y en qu situaciones se producen dichas ventajas e inconvenientes? Solucin Vase apartado 1.5 del libro, en pginas 16 a 21. 2. Se puede conseguir el polimorfismo sin utilizar la herencia? Si es as, de qu manera? Solucin El concepto de genericidad () es una manera de lograr que un elemento genrico pueda adquirir distintas formas cuando se particulariza su utilizacin (pg. 118 del libro). Por otro lado, existe otro tipo de polimorfismo, que no est ligado a la herencia, en el que quienes adquieren mltiples formas son los operadores, funciones o procedimientos. Es el polimorfismo de sobrecarga.

Entregue la hoja de lectura ptica con sus datos junto con su examen.

SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Se pretende hacer una aplicacin para mejorar la gestin de convalidaciones. El procedimiento vigente es que el solicitante elabore un escrito con sus datos, la titulacin de procedencia y la lista de asignaturas que quiere convalidar. Con esta informacin se construye un dossier en el que aparecen los datos mencionados. Segn el tipo de convalidacin solicitada (informativa, total, parcial, de titulacin extranjera, etc.), cada dossier es revisado por el equipo docente correspondiente a cada asignatura cuya convalidacin se solicita. Cada departamento imparte un conjunto de asignaturas de la titulacin. Peridicamente, se reparten los dosieres entre los departamentos para la revisin de las asignaturas que les correspondan. El problema es que el listado de asignaturas no aparece ordenado ni agrupado por departamentos, lo cul, dificulta el movimiento de las carpetas y su control. La aplicacin que se pretende desarrollar permitira a un administrativo introducir los datos del solicitante, centro de procedencia, tipo de convalidacin, titulacin (Sistemas, Gestin 2 Ciclo) y seleccionar, en una lista, las asignaturas que se solicita convalidar. El resultado debe ser un documento en el que aparezcan impresos los datos anteriores y, lo ms importante, las asignaturas agrupadas por departamentos, con el nombre del departamento que imparte cada grupo. Realice el diseo de la base de datos con las titulaciones, departamentos y asignaturas. A continuacin, construya un modelo de anlisis, para la aplicacin descrita, mediante DFD con dos o tres niveles. Solucin Diseo de la base de datos (E-R):
ER_Dep_Asi_Tit

Departamentos 1:N Imparte 1:N

Asignaturas_UNED

1:N 1:1 Titulaciones_UNED Pertenece

Entregue la hoja de lectura ptica con sus datos junto con su examen.

Modelado con DFD. Contexto (Nivel 0):


HdConvalidaciones

Datos solicitante Tit. proced Tipo

Usuario

Tit_solicitada Lista asig. origen Lista asig. UNED

Hoja de convalidaciones

Formato documento

Documento_ (impresora)

Nivel 1:
Hoja de convalidaciones Datos solicitante Lista asig. origen Conformar documento Formato documento

Tit. proced Dpto. A Asig X Asig. Y Asig Z Grupos (Departamento/Asignaturas) Dpto. B Asig H Asig. J

Tipo

Tit_solicitada

Consulta y confecc. de grupos

Lista asig. UNED Consulta Asignaturas por Titulacin y agrupar por Dpto.

Depart. - Asignaturas - Titulaciones

Entregue la hoja de lectura ptica con sus datos junto con su examen.

ASIGNATURA: INGENIERA DEL SOFTWARE (2 CURSO) CDIGO DE ASIGNATURA: 210=SISTEMAS y 208=GESTIN CDIGO CARRERA: Plan de estudios en extincin: 40=SISTEMAS y 41=GESTIN Plan de estudios NUEVO: 53=SISTEMAS y 54=GESTIN MATERIAL PERMITIDO: NINGUNO
Departamento de Ingeniera de Software y Sistemas Informticos

MODELO: RESERVA AMRICA, GUINEA Y TANGER

Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En cada pregunta terica, que se valora con 25 puntos, la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Razone la causas por las que se descomponen los DFDs (Diagramas de Flujo de Datos). Tendra sentido aplicar la descomposicin en otras notaciones de anlisis como DTEs (Diagramas de Transicin de Estados) o DERs (Diagramas Entidad-Relacin)? Solucin Para mejorar la legibilidad del DFD de un sistema complejo, facilitar la construccin del DFD, permitir el desarrollo en paralelo del DFD e incluso la reutilizacin parcial del DFD, ste se divide en diferentes niveles de abstraccin. As, el DFD de contexto da la visin ms abstracta del sistema: cuales son los agentes externos que interactan con el sistema y que datos le suministran o solicitan. El DFD de contexto se concreta en el DFD de nivel 1 y, a su vez, cada proceso complejo de dicho DFD se concreta o explota en otros DFDs. As sucesivamente, hasta alcanzar procesos elementales. Por las razones antes mencionadas, tiene sentido aplicar esta estrategia, que en el diseo y la codificacin suele denominarse refinamiento progresivo, en la representacin de sistemas complejos con cualquier otra notacin de anlisis. Por ejemplo:  Un DTE podra descomponerse explotando sus estados.  Un DER podra descomponerse explotando sus entidades. 2. Cmo afecta la independencia funcional al mantenimiento de un sistema? Solucin Los dos criterios bsicos para medir la independencia funcional entre los mdulos constituyentes de un sistema son la cohesin y el acoplamiento. La cohesin se refiere a la coherencia del contenido de un mdulo. Cuanto mayor sea la cohesin de los mdulos, ms fcil ser localizar los cambios durante el mantenimiento.

Entregue la hoja de lectura ptica con sus datos junto con su examen.

El acoplamiento entre mdulos se refiere a la interrelacin existente entre ellos. Cuanto menor sea el acoplamiento, menor ser la propagacin de los cambios durante el mantenimiento (la modificacin de un mdulo no implicar el cambio de los mdulos con los que interacta).
SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Un sistema informtico de gestin bancaria opera con dos tipos de cuentas bancarias: la corriente y la de ahorros. Las cuentas disponen de un nmero que las identifica, tienen asociado un titular, una lista de los movimientos realizados hasta la fecha y almacenan el saldo disponible. As mismo, las cuentas soportan operaciones como pedir el saldo y hacer ingresos o reintegros. Las cuentas de ahorros producen un inters que se calcula cada mes. Las cuentas corrientes no producen inters sino que reciben la carga de una comisin anual. Dichas cuentas corrientes facilitan diversas operaciones como adeudos domiciliarios y transferencias de dinero. Cada movimiento bancario consta de la fecha, la cantidad y el concepto de que se trata. Modele la situacin anterior utilizando un diseo orientado a objetos. Utilice herencia y composicin cuando se pueda. Solucin CLASES: x Cuenta de ahorros x Cuenta corriente x Cuenta bancaria x Movimientos x Banco (Sistema de Gestin)
Cuenta Bancaria Banco (ListaCuentas) ....

NumCuenta Titular Saldo (ListaMovimientos)

Movimiento VerSaldo VerListado Ingreso Reintegro fecha cantidad ....

CuentaAhorros Interes

CuentaCorriente

Comision Adeudo Transferencia

Entregue la hoja de lectura ptica con sus datos junto con su examen.

DEPARTAMENTO DE INGENIERA DE SOFTWARE Y SISTEMAS INFORMTICOS

MATERIAL PERMITIDO: NINGUNO

MODELO: NACIONAL ORIGINAL (Septiembre 2006) Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En cada pregunta terica, que se valora con 25 puntos, la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)
PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Qu se entiende por anlisis del dominio? Que ventajas produce en el desarrollo del producto software? SOLUCIN: Por dominio entenderemos el campo de aplicacin en el que se encuadra el sistema que se construye. En cada campo o dominio existe desde siempre una manera especfica de realizar las cosas y una terminologa ya acuada que debe ser respetada y tenida en cuenta. Esto es lo que denominaremos realizar un anlisis del dominio de la aplicacin. Si bien las peculiaridades de cada aplicacin hacen que necesariamente deba ser estudiada como un caso nico, es importante analizar el dominio de la aplicacin para situarla dentro de un entorno mucho ms global. Para realizar este anlisis es aconsejable estudiar los siguientes aspectos:
x Normativa que afecte al sistema x Otros sistemas semejantes x Estudios recientes en el campo de la aplicacin x Bibliografa clsica y actualizada: libros y artculos sobre el tema x ... etc. ...

Este estudio facilitar la creacin de un modelo ms universal. Como ventajas de este enfoque se pueden citar las siguientes:
1. Facilitar la comunicacin entre analista y usuario del sistema. 2. Creacin de elementos realmente significativos del sistema. 3. Reutilizacin posterior del software desarrollado. Apartado 2.1.2.5 del libro de texto, pginas 40 a 42.

Entregue la hoja de lectura ptica con sus datos junto con su examen.

2. Dado el siguiente diagrama de arquitectura (construido con las relaciones de uso entre los mdulos), correspondiente al ejemplo de una estacin meteorolgica; desarrolle el diagrama orientado a objetos equivalente.

Estacin

Medidor con mximo

Medidor con desviacin

Medidor con puesta a cero

Mensaje (modem)

Reloj

Medidor

SOLUCIN: Uno posible es el correspondiente a la figura 4.14, de la pgina 187, del libro de texto.
SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Se desea comprobar la correccin de un programa que calcula el precio de la estancia en un hotel. Los datos de entrada al programa son el da y el mes de la primera noche de estancia y el nmero de noches. El precio por noche es de: - 100 del 7 de enero al 30 de junio y del 1 de septiembre al 23 de diciembre. - 140 del 1 de julio al 31 de agosto. El hotel permanece cerrado del 24 de diciembre al 6 de enero. La salida que genera el programa es el precio en euros, siempre que se le hayan proporcionado valores correctos a la entrada. Si los datos de entrada no son adecuados, el programa devuelve el texto datos no vlidos. Se pide desarrollar un juego de pruebas de error del programa, justificando la eleccin de los casos escogidos. SOLUCIN: Puesto que slo se conoce la especificacin entrada-salida del programa, y no su estructura interna, el juego de pruebas ser de tipo caja negra. Para ello emplearemos, de forma conjunta y complementaria, los mtodos de particin en clases de equivalencia y anlisis de valores lmite. A grandes rasgos podemos dividir el espacio de ejecucin en tres subespacios: - temporada baja (2 periodos: 7/1 al 30/6 y 1/9 al 23/12) - temporada alta (1/7 al 31/8) - temporada de cierre (24/12 al 7/1) Y podemos establecer como valores lmite las fechas de transicin entre estas clases de equivalencia: - 6/1 y 7/1 - 30/6 y 1/7 - 31/8 y 1/9 Entregue la hoja de lectura ptica con sus datos junto con su examen.

- 23/12 y 24/12 Un juego de casos de prueba podra ser: CASOS VLIDOS ENTRADA 7/1, 5 noches 24/3, 11 noches 28/6, 3 noches 25/6, 7 noches 1/7, 2 noches 12/7, 20 noches 20/8, 12 noches 31/8, 2 noches 15/11, 6 noches 21/12, 3 noches 28/6, 70 noches CASOS NO VLIDOS ENTRADA 3/1, 7 noches 6/1, 2 noches 19/12, 11 noches 24/12, 4 noches COMENTARIO
Temporada de cierre Valor lmite temporada de cierre Temporada de cierre Valor lmite temporada de cierre

COMENTARIO
Valor lmite temporada baja 1er periodo temporada baja Valor lmite temporada baja Transicin baja/alta, valor limite alta Valor lmite temporada alta Temporada alta Valor lmite temporada alta Transicin alta/baja, valores lmite 2 periodo temporada baja Valor lmite temporada baja Transicin baja/alta/baja

SALIDA 500 euros (5 x 100) 1100 euros (11 x 100) 300 euros (3 x 100) 740 euros (6 x 100 + 1 x 140) 280 euros (2 x 140) 2800 euros (20 x 140) 1680 euros (12 x 140) 240 euros (100 + 140) 600 euros (6 x 100) 300 euros (3 x 100) 9480 euros (8 x 100 + 62 x 140)

SALIDA datos no vlidos datos no vlidos datos no vlidos datos no vlidos

Otro caso de estudio, que complica bastante el problema, sera la comprobacin de la correccin de la fecha. Tambin se deberan preparar casos de prueba segn se trate o no de ao bisiesto, etc.

Entregue la hoja de lectura ptica con sus datos junto con su examen.

DEPARTAMENTO DE INGENIERA DE SOFTWARE Y SISTEMAS INFORMTICOS

MATERIAL PERMITIDO: NINGUNO

MODELO: NACIONAL RESERVA (Septiembre 2006) Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En cada pregunta terica, que se valora con 25 puntos, la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. En la especificacin de requisitos del Videojuego de las Minas, indique cul (o cules) de los siguientes requisitos son de recursos, funcionales, de capacidad o de operacin: R.a En todo momento, el jugador estar informado de los segundos transcurridos y de las minas que todava quedan por marcar del total de las minas ocultas inicialmente. R.b Para moverse de una casilla a otra de las que la rodean, slo ser necesario pulsar una tecla una sola vez. R.c Tiempo para situar inicialmente las minas d 1 segundo. SOLUCIN: R.a: Requisito funcional. R.b: Requisito de operacin. R.c: Requisito de capacidad. 2. Explique brevemente los conceptos de herencia y polimorfismo empleados en el diseo de software. SOLUCIN: Apartados 3.2.7 y 3.2.8 del libro de texto.

Entregue la hoja de lectura ptica con sus datos junto con su examen.

SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Se desea desarrollar un programa informtico que, a partir de una especificacin informal de requisitos, escrita en lenguaje natural, sea capaz de producir automticamente un diseo aplicando el mtodo de Abbott. Modele el programa utilizando un Diagrama de Flujo de Datos. SOLUCIN:

Entregue la hoja de lectura ptica con sus datos junto con su examen.

DEPARTAMENTO DE INGENIERA DE SOFTWARE Y SISTEMAS INFORMTICOS

MATERIAL PERMITIDO: NINGUNO

MODELO: EXTRANJERO ORIGINAL (Septiembre 2006) Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En cada pregunta terica, que se valora con 25 puntos, la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Cules son las tareas o etapas fundamentales en el anlisis de requisitos? SOLUCIN: 1. Estudio del sistema en su contexto. 2. Identificacin de necesidades. 3. Anlisis de alternativas. Estudio de viabilidad. 4. Establecimiento del modelo del sistema. 5. Elaboracin del documento de especificacin de requisitos. 6. Revisin continuada del anlisis. 2. Cules son las cualidades deseables de una descomposicin modular en la fase de diseo de software? SOLUCIN: Apartado 4.1 del libro de texto.

Entregue la hoja de lectura ptica con sus datos junto con su examen.

SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Desarrolle un modelo de anlisis en el que se refleje con claridad y sencillez el comportamiento del software de una fotocopiadora. Represente dicho modelo mediante DFD (hasta el nivel 1 2) Y Diagramas de Transicin de Estados. SOLUCIN: Con Diagramas de Flujo de Datos: Diagrama de contexto (nivel 0):
Fotocopia Sensores y accionadores operacin mquina Operador Arranque/parada rdenes trabajo Seales accionadores Gestin de fotocopias Sensores almacn papel Mensajes Pantalla visualizacin Nivel de papel Sensores funcionamiento

DFD0 (nivel 1):


Gestin de fotocopias

Seales accionadores Sensores funcionamiento Test mquina Arranque/parada Verificar Gestin de copiado Seales accionadores

Leer entrada del operador rdenes trabajo Opciones de copia

Alarma Comandos de error Realizar diagnstico del problema

Nivel de papel Informacin de estado

Informe problema

Producir mensajes para usuario

Mensajes

Entregue la hoja de lectura ptica con sus datos junto con su examen.

Diagrama de Transicin de Estados:


FotocopiaDTE Inactiva Leer entrada op.

Llena e invoca gestin copia Leyendo rdenes Copias invoca leer entrada op. Llena invoca leer entrada op.

Realizando copias

Vaca invoca carga papel

Recargando papel

Problema invoca diagnostico Diagnosticando el problema

Problema resuelto invoca leer entrada op.

Entregue la hoja de lectura ptica con sus datos junto con su examen.

DEPARTAMENTO DE INGENIERA DE SOFTWARE Y SISTEMAS INFORMTICOS

MATERIAL PERMITIDO: NINGUNO

MODELO: EUROPA ORIGINAL (Septiembre 2006) Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En cada pregunta terica, que se valora con 25 puntos, la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)
PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Qu se entiende por anlisis del dominio? Que ventajas produce en el desarrollo del producto software? SOLUCIN: Por dominio entenderemos el campo de aplicacin en el que se encuadra el sistema que se construye. En cada campo o dominio existe desde siempre una manera especfica de realizar las cosas y una terminologa ya acuada que debe ser respetada y tenida en cuenta. Esto es lo que denominaremos realizar un anlisis del dominio de la aplicacin. Si bien las peculiaridades de cada aplicacin hacen que necesariamente deba ser estudiada como un caso nico, es importante analizar el dominio de la aplicacin para situarla dentro de un entorno mucho ms global. Para realizar este anlisis es aconsejable estudiar los siguientes aspectos:
x Normativa que afecte al sistema x Otros sistemas semejantes x Estudios recientes en el campo de la aplicacin x Bibliografa clsica y actualizada: libros y artculos sobre el tema x ... etc. ...

Este estudio facilitar la creacin de un modelo ms universal. Como ventajas de este enfoque se pueden citar las siguientes:
1. Facilitar la comunicacin entre analista y usuario del sistema. 2. Creacin de elementos realmente significativos del sistema. 3. Reutilizacin posterior del software desarrollado. Apartado 2.1.2.5 del libro de texto, pginas 40 a 42.

Entregue la hoja de lectura ptica con sus datos junto con su examen.

2. Dado el siguiente diagrama de arquitectura (construido con las relaciones de uso entre los mdulos), correspondiente al ejemplo de una estacin meteorolgica; desarrolle el diagrama orientado a objetos equivalente.

Estacin

Medidor con mximo

Medidor con desviacin

Medidor con puesta a cero

Mensaje (modem)

Reloj

Medidor

SOLUCIN: Uno posible es el correspondiente a la figura 4.14, de la pgina 187, del libro de texto.
SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Se desea comprobar la correccin de un programa que calcula el precio de la estancia en un hotel. Los datos de entrada al programa son el da y el mes de la primera noche de estancia y el nmero de noches. El precio por noche es de: - 100 del 7 de enero al 30 de junio y del 1 de septiembre al 23 de diciembre. - 140 del 1 de julio al 31 de agosto. El hotel permanece cerrado del 24 de diciembre al 6 de enero. La salida que genera el programa es el precio en euros, siempre que se le hayan proporcionado valores correctos a la entrada. Si los datos de entrada no son adecuados, el programa devuelve el texto datos no vlidos. Se pide desarrollar un juego de pruebas de error del programa, justificando la eleccin de los casos escogidos. SOLUCIN: Puesto que slo se conoce la especificacin entrada-salida del programa, y no su estructura interna, el juego de pruebas ser de tipo caja negra. Para ello emplearemos, de forma conjunta y complementaria, los mtodos de particin en clases de equivalencia y anlisis de valores lmite. A grandes rasgos podemos dividir el espacio de ejecucin en tres subespacios: - temporada baja (2 periodos: 7/1 al 30/6 y 1/9 al 23/12) - temporada alta (1/7 al 31/8) - temporada de cierre (24/12 al 7/1) Y podemos establecer como valores lmite las fechas de transicin entre estas clases de equivalencia: - 6/1 y 7/1 - 30/6 y 1/7 - 31/8 y 1/9 Entregue la hoja de lectura ptica con sus datos junto con su examen.

- 23/12 y 24/12 Un juego de casos de prueba podra ser: CASOS VLIDOS ENTRADA 7/1, 5 noches 24/3, 11 noches 28/6, 3 noches 25/6, 7 noches 1/7, 2 noches 12/7, 20 noches 20/8, 12 noches 31/8, 2 noches 15/11, 6 noches 21/12, 3 noches 28/6, 70 noches CASOS NO VLIDOS ENTRADA 3/1, 7 noches 6/1, 2 noches 19/12, 11 noches 24/12, 4 noches COMENTARIO
Temporada de cierre Valor lmite temporada de cierre Temporada de cierre Valor lmite temporada de cierre

COMENTARIO
Valor lmite temporada baja 1er periodo temporada baja Valor lmite temporada baja Transicin baja/alta, valor limite alta Valor lmite temporada alta Temporada alta Valor lmite temporada alta Transicin alta/baja, valores lmite 2 periodo temporada baja Valor lmite temporada baja Transicin baja/alta/baja

SALIDA 500 euros (5 x 100) 1100 euros (11 x 100) 300 euros (3 x 100) 740 euros (6 x 100 + 1 x 140) 280 euros (2 x 140) 2800 euros (20 x 140) 1680 euros (12 x 140) 240 euros (100 + 140) 600 euros (6 x 100) 300 euros (3 x 100) 9480 euros (8 x 100 + 62 x 140)

SALIDA datos no vlidos datos no vlidos datos no vlidos datos no vlidos

Otro caso de estudio, que complica bastante el problema, sera la comprobacin de la correccin de la fecha. Tambin se deberan preparar casos de prueba segn se trate o no de ao bisiesto, etc.

Entregue la hoja de lectura ptica con sus datos junto con su examen.

DEPARTAMENTO DE INGENIERA DE SOFTWARE Y SISTEMAS INFORMTICOS

MATERIAL PERMITIDO: NINGUNO

MODELO: CENTROS PENITENCIARIOS ORIGINAL (Septiembre 2006) Todas las preguntas de este ejercicio son eliminatorias en el sentido de que debe obtener una nota mnima en cada una de ellas. En cada pregunta terica, que se valora con 25 puntos, la nota mnima es 1 punto; en la segunda parte (ejercicio de teora aplicada que se valora con 5 puntos) la nota mnima que debe obtener es de 2 puntos. ATENCIN! PONGA SUS DATOS EN LA HOJA DE LECTURA PTICA QUE DEBER ENTREGAR JUNTO CON EL RESTO DE LAS RESPUESTAS. Conteste a las preguntas tericas, en cualquier orden, en hojas diferentes a las que utilice para la contestacin de la segunda parte. En cada parte, la cantidad MXIMA de papel (de examen, timbrado) que puede emplear EST LIMITADA al equivalente a DOS (2) HOJAS de tamao A4 (210 x 297 mm)

PRIMERA PARTE. PREGUNTAS TERICAS (25 PUNTOS CADA UNA)

1. Defina el Ciclo de Vida del Software. Justifique la importancia de este concepto y la necesidad de su utilizacin. SOLUCIN: Como aparece en la pgina 7 del libro de texto: la ingeniera de software ampla la visin del desarrollo de software; a partir de una actividad esencialmente de programacin, incorpora un conjunto amplio de actividades adicionales cuya distribucin temporal es, precisamente, el ciclo de vida. As, en la pgina 10, se define como: el conjunto de actividades involucradas en el proceso de desarrollo de software, as como su organizacin y distribucin temporal, incluyendo el mantenimiento necesario durante su explotacin. La justificacin de su importancia reside en que la ingeniera de software tiene como objetivo conseguir hacer un seguimiento y control del proceso de desarrollo. Para ello, es necesario disponer de un modelo que identifique qu constituye dicho proceso. Es decir, el ciclo de vida establece una opcin para la visibilidad del proceso que se quiere controlar. 2. Indique razonadamente si algn tipo de pruebas de unidades asegura la ausencia de defectos. Resuma brevemente los mtodos propuestos en la asignatura para la elaboracin de pruebas de caja negra. SOLUCIN: Ningn tipo de pruebas asegura la ausencia de defectos. Esto slo puede conseguirse mediante tcnicas de verificacin formal. Los mtodos para la elaboracin de pruebas de caja negra estn descritos en las pginas 274-279 del libro de texto.

Entregue la hoja de lectura ptica con sus datos junto con su examen.

SEGUNDA PARTE. PREGUNTA DE TEORA APLICADA (MXIMO 5 PUNTOS)

3. Desarrolle un modelo de anlisis en el que se refleje con claridad y sencillez el comportamiento del software de una fotocopiadora (arranque y calibracin, programacin de tipo de copia, falta de papel, atasco, tner, etc.) Represente dicho modelo mediante DFD (hasta el nivel 1 2) Y Diagramas de Transicin de Estados. SOLUCIN: Con Diagramas de Flujo de Datos: Diagrama de contexto (nivel 0):
Fotocopia Sensores y accionadores operacin mquina Operador Arranque/parada rdenes trabajo Seales accionadores Gestin de fotocopias Sensores almacn papel Mensajes Pantalla visualizacin Nivel de papel Sensores funcionamiento

DFD0 (nivel 1):


Gestin de fotocopias

Seales accionadores Sensores funcionamiento Test mquina Arranque/parada Verificar Gestin de copiado Seales accionadores

Leer entrada del operador rdenes trabajo Opciones de copia

Alarma Comandos de error Realizar diagnstico del problema

Nivel de papel Informacin de estado

Informe problema

Producir mensajes para usuario

Mensajes

Entregue la hoja de lectura ptica con sus datos junto con su examen.

Diagrama de Transicin de Estados:


FotocopiaDTE Inactiva Leer entrada op.

Llena e invoca gestin copia Leyendo rdenes Copias invoca leer entrada op. Llena invoca leer entrada op.

Realizando copias

Vaca invoca carga papel

Recargando papel

Problema invoca diagnostico Diagnosticando el problema

Problema resuelto invoca leer entrada op.

Entregue la hoja de lectura ptica con sus datos junto con su examen.

Anda mungkin juga menyukai