resptas a unanue parcial3

9
Guía para Examen Parcial Nro 3 – Parte teórica 1) Con respecto a las Pruebas en el Proceso de Desarrollo podemos decir que: 1. La Validación se hace contra la ERS (Especificación de Requerimiento de Software) o sea contra especificaciones escritas en lenguaje entendible por el usuario y aprobadas por el usuario (en modo general se puede decir que fueron confeccionadas con la intervención del usuario). Si no existe ERS no se puede hacer la Validación. V Correcto 2. La Verificación se hace contra especificaciones en las cuales no ha intervenido en su confección el usuario. V Correcto 3. Las Pruebas de Unidad (mínimo una clase si el sistema se desarrolla con lenguajes orientados a objetos) se hace durante el Workflow de Implementación. V Correcto 4. Las Pruebas de Integración y de Sistema se hacen en el Workflow de Testing o Workflow de Pruebas. V Correcto 2) Siguiendo con el tema “Pruebas” y “Diseño de Casos de Prueba”: 1. El esfuerzo en la Actividad de Pruebas dentro del Proceso de Desarrollo debería significar el 30% del esfuerzo total para el Desarrollo del Proyecto. V Correcto 2. Un sistema software debería contener uno o varios Casos de Uso. V Correcto 3. Un Caso de Uso equivale a uno o varios Escenarios. V Correcto 4. Cada Escenario debe derivar siempre en un y solo un Caso de prueba. V Correcto 3. Cobertura de Pruebas: ¿se puede probar todo? Esta pregunta es independiente de los Casos de Prueba o sea la Ingeniería de Testing enfrentando las pruebas en cualquier paradigma. Diga: ¿Porqué SI? O ¿Porqué NO?. Nuevas métricas (que obviamente tendrán que ver con Casos de Prueba derivados de Casos de Uso). Viejas métricas. ! "#$ %& & ’( )* + , , -. )*/ , 4. Qué es persistencia, qué es un objeto persistente, porqué ciertos objetos

Upload: cartrual

Post on 17-Jan-2016

214 views

Category:

Documents


0 download

DESCRIPTION

UNADNUE

TRANSCRIPT

Page 1: Resptas a Unanue Parcial3

Guía para Examen Parcial Nro 3 – Parte teórica 1) Con respecto a las Pruebas en el Proceso de Desarrollo podemos decir que: 1. La Validación se hace contra la ERS (Especificación de Requerimiento de Software) o sea contra especificaciones escritas en lenguaje entendible por el usuario y aprobadas por el usuario (en modo general se puede decir que fueron confeccionadas con la intervención del usuario). Si no existe ERS no se puede hacer la Validación. V Correcto 2. La Verificación se hace contra especificaciones en las cuales no ha intervenido en su confección el usuario. V Correcto 3. Las Pruebas de Unidad (mínimo una clase si el sistema se desarrolla con lenguajes orientados a objetos) se hace durante el Workflow de Implementación. V Correcto 4. Las Pruebas de Integración y de Sistema se hacen en el Workflow de Testing o Workflow de Pruebas. V Correcto 2) Siguiendo con el tema “Pruebas” y “Diseño de Casos de Prueba”: 1. El esfuerzo en la Actividad de Pruebas dentro del Proceso de Desarrollo debería significar el 30% del esfuerzo total para el Desarrollo del Proyecto. V Correcto 2. Un sistema software debería contener uno o varios Casos de Uso. V Correcto 3. Un Caso de Uso equivale a uno o varios Escenarios. V Correcto 4. Cada Escenario debe derivar siempre en un y solo un Caso de prueba. V Correcto 3. Cobertura de Pruebas: ¿se puede probar todo? Esta pregunta es independiente de los Casos de Prueba o sea la Ingeniería de Testing enfrentando las pruebas en cualquier paradigma. Diga: ¿Porqué SI? O ¿Porqué NO?. Nuevas métricas (que obviamente tendrán que ver con Casos de Prueba derivados de Casos de Uso). Viejas métricas. �

���������� ��� ������������������������������������ �� ���� ��������������� ����������������

���� ������ ����������� ��������� ����������� ���������������������������� ��������������

����!�� ���� � ���� �"#$ �������%���&�������������������������������������&������ ������� ��

'�������(��

������� )������*��� ���������+,����� ������������� �������,� �������������������������������

���� ������������������������ ��������������������������������������������� ������������������

������������������������������������������

-��.���� )������*��/ ,���� ����������������

4. Qué es persistencia, qué es un objeto persistente, porqué ciertos objetos

Page 2: Resptas a Unanue Parcial3

deben “persistir”. Justifique detalladamente, dando por los menos 2 razones, porqué se usan las Bases de Datos Relacionales. ���������*�

��� ��� ��������������� ������� ���������� ������������������ %��� ���� ����� ���.�������%��� ��

���� � � ��������������������������&���� ��) ������%��������������������������� %��� ���� �����

� ��� ���������������������������� ����� � ��������&�����

���������������� ����� ������������� ������ ����������� ���������������������������

�������������������� ����������� ���������������������������� ����������

���� ��� ������������������������

�������������������� ����� �������������������������������������������������

���� ������������������������� ��������� ������� ����� �����������������

��������������������������� ������������������������ ������������� ���� ��

������� �� � ������� !�"��������� ����#� ��$��%������������� ������������� ������

��������� � �������������������������������� ��������������������#����������

���������������&���������� ������������������������������������ � ������

���������������� ���'() �"���� ���� �� �������������������$�������������

����������� ������������������������������������ � ����������������������������

��������������������������������������������������������*����������������

������� �������������������� ������������ �������������������������� ��������

� ������ �� � ����������������������������������� ����� �����������������+ �� �������

��������������������������������� �������������������� ������������������ ��

�������������������������� ���������#�������,�-�����������*������#�����������������

��*����������������(�� ��� �� ��������������������#�������������������������������

���� �������

�������&� ���������������������� �����������*�

• 0������������ �� ������������ ��&� ������������������������������������ ���� ����1�����

���� ��������2��������������������� ������������� ������ ��������������� � ���

�� ���� � �������� ����� ������������������������3-456�����31+16,46������� ��

���� �������� �� ����� ��������������������� �� ��������������������������������� ��

��� � ������� %��� ���� ������ %��� ���� ��������� ����������� ���� �� ���������� ��� �

� ����������� � ������� �� ����� ������������� ���� ���������7�� �������� 7��� ��������

���������������� ������3������������ ���� ������������������������������ ����� � ���������

� %��� ���� ��6���������������� ������������� �������� ������������������������������

�������� ��������� �� ��� ������������� ���%�������� �� ���������� ����������������������

���� �� ����� �����

• 8��� ��&������ �����������%��� ������������������ � ���� �������������� � ������������

����������������� ��������� ��� ���������� �����������19: ��: � �.����������������

���������������� ������������ ����%� ��� �������������� ��&������� �����������%��� �����

�������������� ������������� ���%������������� ���� � ������� �� �� ��� � ����,�� �����

�� �!�� �� ����� ��� ���������������������������)�����������������������%��� ����� �

� ��� �������� ����������������������������� ������ ������� �������!���� �����������������

'�� ������(����� �����������%��� ������3!����������� ���������������������� ������ �������

��� ��) ������ ���� � ��������������19: ��������������������������� ����� ������ �

���� ���������� ����� ������������������� ������ ����� ����������� ����91 ��� ����� �����

�������������������������� ������ ����)���� �������� ��������������� ���

• ;����������� ��� ���&���� ���������� 7����� ��� ������������������� ���

• �����19: ����7 �� ���� ������������ ���������� ��������� �����������������&����� ���

��� �������&������ ����������������������������< ��������� ���������� ���������� �����

� ��������������� �����������91 ������������� �� ����������3����� ��������������� �����

����.����%������������

Page 3: Resptas a Unanue Parcial3

• 5�����&��������� ��������91 �/ / ������ �����7 ��� ��������������&� �����) �'� ������(��

����� ���������< ����� ���������� ���������� ������� 7������%������ ��������19: �

������ � ��������������� ������ �������������������� ���������� � �� �� �� ������

'� ��������������(������ ��=��� ��������������� ��������������� �� �����������91 �/ / ��

• + ���������%� ��� ���������� 7���� ����� ����������� � ������19: ����������� � � > ��

� ��� ���.������� �������������'����(�� ������������������� ���� �����������91 �

������� ��������������� ������������������ ����� ����� ����/ ��������������������������

� 7��� ���'����� (�� �� �� ��� ���� ���.������������� ��������������������� ������

�������������������������� %��� ���� �������������� ������� ������������� � ������ ��3��

��� �����'������ ��(������������� � ����� ��� ���.����������� ��������������������

������������������� � ������������� ���&��������� ����������������� ������%�� ����������� ��

�������������� �����������������������< �����������1��������������������� � �������� ���

������.� ����� �� ����������������� ��������� ��� ���.����%��� ��������������� �

���������� �������� ����������� ��������������������������� �� �� ����� �������� ��

����������5��������9���������������� ��������������� ������������������ �1�����/ �����

��������� ���.�����%��� �������� ���������??�

5. En el tema de la persistencia explique porque en la actualidad se usan las bases de datos relacionales y no las bases de datos orientadas a objetos. Detalle porque no se usan o porque no es conveniente usar otros tipos de almacenamientos para la persistencia como por ejemplo los archivos txt, o xml o bases de datos jerárquicas.

.�� �������� � �������/.'������������������� ���������� � �������������

������/.��������������� ����������� � ������ �������������������������������� ��

�������0'��1����#����� ���

2�������� ������������+���+������������������������ ���������� �������

������������ *�� �������������� � ������������������ ���������(��������� ������

����� ���������� � ������� ����������������������� ��������������1����#����� ����

2������������������������������������������� ����+�����������������

����������������������������������� ��������������������������������������������

��������������� ����������������������������������������������������

�����������" � ���������������������������� ���������� ��$������2��������#������

333����#������������� ���"�������������� ��������$������������������� ����������

������������ ����������� ���������������'./)2��

6. Al estudiar diferentes casos en el mapeo a BDR hemos repasado la herencia. ¿Debe existir modelados de herencia en el Modelo de Diseño? Si, No, ¿porqué?. Si la herencia tiene como superclase a “Persona” y como subclases a “Alumno”, “Profesor”, “Bedel”; ese modelado que problemas tiene? (si es que los tiene). La herencia en el modelo relacional: ¿cuales son sus caracteristicas?

2 ������+ �� ���������������������� ����������������� ������� �������

�������������� ������������� ���������������� ����� ������������-��������

������ �������������� ������������������������������������ ���������

����� ������������������ ���� ����� �����������������������������������

Page 4: Resptas a Unanue Parcial3

2 ���������� ��� ��������������������4,�����5������������������4(����5��

4,�����5��4/���5����������������4,�����5���������������������������� ������ ����

4,�����5�������+ �� ���������������� ������ ���������������������������������������

-������� �� ���6�7���� ���������8�

!�������� ����� ��6������ ���������������������������������������� �������

��������� ����� ������ ����������������������� �������������������������� ���������

� � ������������������������ ����������������� ������� ����

!�������� ����� ��6�����������������&� ����� � ������ � ��������������������

����������������������������������9������ ���������#������ ����������������

���� ����������� ����"� ����$���

:��+ � � �6����������� ���������������������������� ������������������

���������������� ������

;� ��� �6�������������������� ����������������������������������� ��������

������� � ������������ �������� ����� �������������������������������������� ���

2��� ���*6���������������� ��������� ��������������������������������� �����

���� ��������������������������������������������� ���������#� ����

��������������� � *�������������������� �� �����

�(������� �������������������������������������������� ������� � ��� ������

��������������#� � ��������������� ��&����������� �������� ����������������

� ���������������������������� �6���� ����������������������"�������������������$����� ����

��� ���������� ������ ����� ������������� �����������������#���� � ��������

����������������������������4��������5�������� ���������� ���������� ��� �����

������������������������ ����"�����$��� � �������� ���������������������������

�����������4��������5�������� ���������������� ����"�������$����������

���������� �������� ��������������������������������������������� ���2 ���������

������������� ����������������������������� ���������������������������������������

��������������������� ������������������������ ������� ��&�������������

'������������������������������������� ����������������������� ������������������

������ ������� ������ ���������������������

��������� ����������������� ��������������� ���������������� ���������� ���

�������+ ���������� ����������� ��� ������������������������������� �

����� ������������������� ����<6=��=6<���������������� �����������=�>�<����������

���������"������������ �$�������� ��� ��<6<��2������������� ���������� ����

���� ����������������������� ��������������������������� ������������������������

���� ����������������������� � ���������� ���������6�=�)!=(��������� �������

��� ������������������� �������������������� ��������� ������"�����������

����� ����������� �$������ ������������������ ������������+����������

��� � ��������������������� ���),��(.�2������������������������

����?������������������������ ��@�'=(�!A(.�2����������������������?�����

-���������������������������������������������� *����������������

���������������=�)!=(�� ��� ������������������������������������� ����� �����

������������������ ���������������������������#�� �������������#������� ������

�#��������������������������������������� �����

7. Al mapear relaciones de jerarquía en el Modelo de Diseño podemos encontrarnos en que todas ellas han sido reemplazadas por “Clases de

Page 5: Resptas a Unanue Parcial3

Interface”. En este caso: ¿Se puede hacer el mapeo a BDR?. Si la respuesta es positiva: ¿cómo?. Si la respuesta es negativa: ¿porqué no? Las clases de interface no tienen atributos, como mapeamos solo atributos entonces no se puede mapear. Otra causa es que las clases de interfaces son abstractas por lo tanto no existen instancias de esa clase, entonces qué vamos a poner en una base de datos? Se tienen que poner objetos y esos no existen porque la clase es abstracta. 8. En el tema mapeo a BDR hemos tenido que repasar algunos conceptos del modelo relacional: integridad referencial (con 2 reglas de diseño para mantener dicha integridad), integridad transaccional (operaciones de transacciones confirmar –commit- y deshacer –rollback-). Desarrolle cada una de estos términos dando ejemplos en cada caso.

!����� ���������� ���

��� ����� ���������� ���������� ��������������������� � *�������������������

����������������� �������������������������������� ������������������� ��������

�#� ������������������������ ������������ �������������� ���������� ���

��������� ����� ���

,������������ ����� ���������� ��������� *������� ������ � ��������� ���������

�������� �� ��������#� ��������������������� ��������� ���������� ����������������

������� ����

������� �����������#�� ���������������������������������6�

<$ ������ � ��������������������������� ��"��������$�� �����������+ �����

���� �������������� ������������ ���������������� ��� ��"�� �����$��(��

������������������������ ������������ ��������������� ���������������

�������� ��� �������� ����������������� ������+ �����

B$ =����� � ���������������������� �� ����"�� �����$�� ���������+ �����������

�������������������� ���������� ����������������������������������� ����

����������������������� � �������� ���������� � ���������������������

��������������� ����������� ������

!����� ���������� ����

1��������������� �6�;������������ *����������� ������������ ����CD�������

������������� ��������������������� �������������������������� ����������������� ���

��������������������������������� �������������������������EEE���������� � ������

����������� ����������

��������������������������� �6�'����������������������������������������

������ ����������������������������� ���������������������������� ���������� ������

�������������������',�"��������',8�2 �����#������ ���������������� ��'������

,��� ������#������������������$���������'./)2�")���������������������

����� �����$��������� ������ ���� ����� ���������� ���������� ����������� ��������

������ *����������������� ����������������������������������

�� ������������ �������������������� ���� ������ ��������������������������

������������������������������������������ ��������� ���������������

���� ������� ����

���������������F�������������� *��� ����� ���������� ������������

�� ����������������� � ������������������������������������������������ ��������������

���#��������� ��������� ���������*�������������� ���������������������������������

Page 6: Resptas a Unanue Parcial3

�������� ������������������������������ �������#���� � �����������������

�� �������������������������

��� ����� ���������� ������������� � ���������� ������������� *�����

������� ������� ������ ���������������������

9. En el tema mapeo a BDR hemos tenido que repasar algunos conceptos del modelo relacional: clave primaria, claves foráneas, redundancia, inconsistencia, y relaciones de asociación. Explique en detalle cada uno de estos terminos dando ejemplos en cada caso.

,G>,� �����G��6�-�����������������������������������������%� ����

������� ��������������(����� ��������������������� *��������� ������ �����2�� �������

������� ����������������������� ��������,G�%� ����������� �������������� ����

��� ������������������������ �������������������,G���

:G>:�� ���G���":�� ��>�+�������$��-��������������������� ����������������

������,G���� '(���������2���������������� ����������� �����������������

,����������

�����,�������".=!�=�������$��

,G>.=!�"������������������� ���.=!���������$������������ �����7����

� �� � ���������������������� ���.=!���������8��.=!������� ������������8���

�������������� ��������������� ����.=!����,G������+ �� ��������������������������

��������� ���������������� ������������� �����������,G�������������������

�������������������������4,������5��

�����(��� ������"-(��� ����.=!��-������,��� $��

,G>-(��� ����"�������������������$��

:G>.=!���������,G������������,���������� �������������������������������

���� ��������������

.������������������ ��� ������������������������������������

����� ����������������������������������

'������ �6��������������������� ������ ��������������� ������ ����

���� ���� ����������. �������������������������������� ��� ����������. ��������� ����

�������������������������� ���

!���� ����� �������6�������������������������������������� �������

���������������������������������������������������� *����������������������������

������ �������������������������� *���

'���� ��������� �� ��6��������� ������������������� �����(�� �� ����

���� ������ ���������������������������� ��2����������� ������� ��4������5� No eso es de objetos. En el modelo relacional una tabla asociativa o relacion asociativa “rompe” la relación N:M (no permitida por el modelo) en relaciones 1:N (o N:1). Es “asociativa” porque asocia o relaciona dos tablas que tienen cardinalidad muchos a muchos (N:M) por ejemplo un avión como se relaciona con un piloto? O sea un avión (pensar en avión como algo físico identificable con un numero de patente o algo similar) es “piloteado” por uno o varios pilotos en diferentes vuelos y un piloto maneja un o varios aviones en diferentes vuelos. Lo que asocia (conecta, relaciona) un avión con un piloto es un vuelo. Vuelo, entonces, es una entidad asociativa que se pone en el medio de avion y

Page 7: Resptas a Unanue Parcial3

de piloto. Falta poner las tablas con sus atributos y sus cardinalidades o sea falta hacer el diagrama de entidades relacionales o DER (diagrama entidad relacion).

Po10. Dado el siguiente modelo de objetos hacer el mapeo a base de

datos relacionales o sea construya el Diagrama Entidad Relación correspondiente teniendo en cuenta que no se debe usar el patrón Identificador de Objetos (OID). No olvide detallar en cada tabla la clave primaria (PK) y las claves foráneas (FK) en caso de que existan. Deben estar correctas las relaciones de cardinalidad.

������.��0@�

�� ����

%�������

� �������3 �

��� �������

�����0���� �;@�

6��� �� �

���: ���0@�

�� : ���

��� �

�����

: �������

�����0���� �0@�

�� �0���� �

0���� ����

������.��0@�;@�

���: ���0@�;@�

6��� �: �������

Page 8: Resptas a Unanue Parcial3

Mal: la cardinalidad es N:1 desde la entidad que tiene las claves foraneas o sea están mal las cardinalidades Alumno-AlumnoMateria y AlumnoMateria con Materia. No puedo ver completa la entidad Provincia pero debe ser por el Word. 11. Dado el siguiente modelo de objetos hacer el mapeo a base de datos relacionales o sea construya el Diagrama Entidad Relación correspondiente teniendo en cuenta que no se debe usar el patrón Identificador de Objetos (OID). No olvide detallar en cada tabla la clave primaria (PK) y las claves foráneas (FK) en caso de que existan. Deben estar correctas las relaciones de cardinalidad. Aunque no está en el diagrama de clases debe aceptarse que cada cliente tiene “colocados” varios “Pedidos” y cada cliente también tiene uno o varios teléfonos (fax, fijos o celulares). Cada pedido es una colección de ítems de pedidos y eso SI está correctamente especificado. Por último tenga en cuenta que cada instancia de ItemPedido está identificada unívocamente por su nroRenglón.

Page 9: Resptas a Unanue Parcial3

Respuesta:

En ItemPedido no puede ser cardinalidad 0 porque un item de pedido siempre debe hacer referencia a un articulo.

En Cliente no debe estar el atributo Provincia sino que debe estar letraProvin y marcarse como FK

En Cliente no puede haber cardinalidad 0 con Provincia porque siempre el domicilio de algún cliente (nacional) debe tener alguna provincia.

Falta de mapear el telefono !!!

���,��� ���0@�

��&� ������

��� �������

0���� ����

��� �������

��0������;@�

,��� ��� �

�����0���� �0@�

�� �0���� �

0���� ����

��0������0@�

%��0������

�������

0�������

��0������0@�;@�

���6���0@�;@�

�� �0������

���� ��� �

4��� 0������

���6���0@�

����6���

����+ ���

6��������