Manual Parcial Teorico Marcelita
Manual Parcial Teorico Marcelita
Manual Parcial Teorico Marcelita
A continuación, encontrara posibles preguntas que saldrán en el parcial teórico, procure discreción
para que no nos embale a los demás plis, mire que todos queremos subir promedio. Use Ctrl+f para
buscar su pregunta en el siguiente pdf, si no encuentra la pregunta pues al pinochazo tan bobito.
Las preguntas con selección múltiple se procedió a separar sus respuestas con un || . (Nota: Toda
opción marcada con * es opcional seleccionarla, varios parciales no tienen esta opción y aun
así han sacado alta nota)
R/: método
7. Un diseño que en un principio parece bueno y bien diseñado pude empezar a deteriorarse
porque:
R/: No se le dio la flexibilidad que permitiera su extensibilidad || Los requerimientos son cambiantes
|| (No fue pensado para desarrollar en java) *
8. En el diseño por contrato, las clases declaran sus precondiciones y pos condiciones, las
cuales en su orden se definen como:
R/: Pre: una condición que debe ser cierta para que el método se ejecute correctamente. Pos: Una
condición que es cierta después de la ejecución del método.
9. Cuando hablamos de principio de transparencia referencial, podemos decir que en
paradigma de programación orientada a objetos es directa su aplicación ya que en este se
cumple totalmente.
R/: Falso.
10. ¿Cuál de estos códigos para crear un nuevo objeto de tipo Fruta es correcto?
11. Cuando trabajamos con excepciones podemos utilizar la palabra finally para:
R/: paquete.
R/: Se crea un objeto de tipo Figura, al cual refieren las dos variables de objeto cuadro y cuadrado.
14. Como se llama el método al que hace el llamado el hilo inicial que ejecuta la máquina
virtual.
R/: public static void main (String[] args) de la clase que se comienza a ejecutar.
17. “Las aplicaciones pueden generar muchos tipos de condiciones inesperadas. Por
ejemplo, podríamos querer que el usuario introdujera un int pero él introduce un String. El
usuario podría solicitar el nombre de un archivo que no existe, o nuestra lógica de programa
podría intentar dividir por cero.” El anterior texto hace referencia a:
R/: Excepciones.
R/: paquete
20. Las definiciones correctas, en su respectivo orden, de modularidad, cohesión y
acoplamiento son:
R/: Modularidad: Para resolver un problema complejo de desarrollo de software, conviene separarlo
en partes más pequeñas, que se puedan diseñar, desarrollar, probar y modificar, de manera
sencilla y lo más independientemente posible del resto de la aplicación. Cohesión: cada módulo del
sistema se refiera a un único proceso o entidad. Acoplamiento: mide el grado de relacionamiento
de un módulo con los demás.
21. Cuando se desea aplicar el concepto de ligadura dinámica se debe garantizar que:
R/: Que la relación entre las clases esté dada dentro de una relación jerárquica de herencia.
22. Una tarea común en programación es leer y escribir archivos, cual es el canal apropiado
para realizar esta tarea?
23. Cuando hablamos de la tendencia del software a dificultar los cambios por simples que
sean, hablamos de:
R/: Rigidez
24. Principio en el que la idea es que nunca se debe cambiar el diseño de los módulos.
Cuando cambien los requisitos, se extiende el comportamiento de los módulos añadiendo
nuevo código, pero nunca cambiando el código que ya funciona
25. Si consideramos como ejemplo un módulo que calcula una nómina e imprime un
informe. Es cierto que, teniendo en cuenta el principio de responsabilidad única:
R/: (Este módulo no puede ser cambiado porque, aunque el contenido del informe pueda variar no
implica que si quiero un informe con un aspecto llamativo tenga que hacer un módulo diferente
porque trabajamos con los mismos datos.)* || Estos dos aspectos del problema son en realidad dos
responsabilidades distintas, y por lo tanto debe estar en clases separadas o módulos. || Estas dos
cosas cambian por causas muy diferentes: uno de fondo, y una estética. Sería un mal diseño para
acoplar dos cosas que cambian por razones diferentes en momentos diferentes.
R/: Con la palabra clave “extends”, de la siguiente manera: class NombreDeClaseDerivada extends
NombreDeClaseBase
R/: Para decir que no se puede instanciar, que no podemos tener objetos de ella.
28. Conviene utilizar campos private para proteger la información de una clase, de forma
que sólo sea manipulable por los métodos de la misma, a lo que se denomina.
R/: encapsulamiento.
29. Un diseño que en un principio parece bueno y bien diseñado pude empezar a
deteriorarse porque:
R/: Un constructor puede devolver cualquier tipo de datos (int, boolean, String, etc).
int area;
String st1;
String st2 = new String(“ab”);
33. En la siguiente declaración de variables “int entero1; Integer entero2;” indicar cuál de
ellas es un primitivo y cual es un tipo de referencia:
R/: En que una interface no permite implementar código en los métodos, solo definirlos, además
que para implementar una interface hay que usar la palabra clave implements.
R/: Inmovilidad.
38. Si una clase C tiene un atributo estatico (“static”) y se tienen dos instancias de C cUno y
cDos es verdad que:
R/: Garantiza durante un desarrollo orientado a objetos una buena escabilidad, depuración de
errores y mantenimiento. || Si fuera necesario invocar un método más lejano no se hará
directamente, sino que cada método invoca a otro de su entorno cercano hasta llegar al que debe
invocarse en último extremo.
40. Es una explicación de Polimorfismo:
R/: Los comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo
nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que
se esté usando.
41. ¿Para que sirve declarar una clase como abstracta?
R/: Para decir que no se puede instanciar, que no podemos tener objetos de ella.
43. ¿Es necesario definir en las subclases los métodos abstractos definidos en la
superclase abstracta?
R/: Si, porque son métodos sin cuerpo, y el lenguaje nos obliga a definirlos y poner un cuerpo en
las clases derivadas de esta clase abstracta.
44. Relación que define un contrato en el que una clase debe implementar los servicios
definidos en una interfaz
R/: Realización.
R/: Poder reutilizar código por medio del uso de objetos polimórficos.
48. Un cliente desea conocer la funcionalidad del sistema ¿Cuál es el diagrama de UML que
se puede utilizar para este caso?
R/: Inversión de dependencias: Las clases de alto nivel no deberían depender de las clases de bajo
nivel. Ambas deberían depender de las abstracciones. Inyección de dependencias: patrón en el
que se suministran objetos a una clase en lugar de ser la propia clase quien cree el objeto.
51. Cuando se define una relación de asociación entre dos clases en la que se determina
que un elemento de una clase puede contener cero o n elementos de la otra, esta relación se
puede tipificar como:
R/: agregación.
52. Las tarjetas CRC son , se usan para y sus siglas significan .
R/: Son una técnica para la representación de sistemas Orientados a Objetos. Se usan para pensar
en objetos. Sus siglas significan Clase-Responsabilidad-Colaboración.
R/: A que se cumplan unos métodos para las clases que los implementan y es buena manera de
simular la herencia múltiple.
R/: import.java.io.*
R/: agregacion
57. Al diseñar los elementos de un sistema de software se busca que estos tengan:
R/: representa una llamada recursive de una operacion, o un metodo llamando a otro metodo
perteneciente al mismo objeto
61. Dentro de los principios de diseño, cuando se habla de arquitectura de paquetes, se habla
de principios de cohesion y acoplamiento de paquetes, indique de las siguientes
clasificaciones cual es valida:
63. Diagrama que ayuda a un analista a trabajar con los usuarios para determinar y describir la
forma en que se usara un sistema.
63. Los mecanismos de comunicacion entre procesos que permiten que un proceso hable
(emita o reciba informacion) con otro proceso incluso estando en distintas maquinas, se
denominan:
R/: Sockets
R/: Poder reutilizer codigo por medio del uso de objetos polimorficos
65. Un Stream actua como _________ y maneja los siguientes tipos: ___________ y ________
R/: Actua como buffer entre el data source y el destino. Tipos: Input, OutputStream
66. Un cliente desea conocer la funcionalidad de un Sistema. ¿Cual es el diagram UML que se
puede usar para este caso?
67. Relacion que determina que un objeto de una clase hace parte de la signatura de un
metodo de otra
R/: dependencia
68. Para poder declarar los tipos de objetos de forma generica e instanciarlos de un tipo
particular es preciso que:
R/: Que tanto el tipo generico como el particular esten contemplados en un relacion jerarquica de
Especializacion/Generalizacion
69. La frase “La granularidad del reuso es la granularidad del lanzamiento” obedece al
principio de:
R/: Dominio: Especifica el medio de comunicacion de la red que el socket utilizara. Protocolo:
Especifica que protocol se va a usar. Tipo: orientados a la conexion y no orientados a la conexion.
71. Por esta relacion una clase comparte la estructura y/o comportamiento definidos en una o
mas clases.
R/: Herencia
72. En diagramas de secuencia, un fragment combinado o region de expansion puede ser:
73. En el diseño por contrato, las clases declaran sus precondiciones y pos condiciones, las
cuales en su orden se definen como:
R/: Pre: una condicion que debe ser cierta para que el metodo se ejecute correctamente. Pos: Una
condicion que es cierta despues de la ejecucion del metodo.