Está en la página 1de 15

UNIVERSIDAD DE LAS FUERZAS

ARMADAS
ESPE

ASIGNATURA:

PROGRAMACIÓN ORIENTADA A OBJETOS (POO)

ING. RUBEN ARROYO

DOCENTE TC DE DCCO

Sangolquí- Ecuador, enero de 2023

ÍNDICE
CARÁTUL

1
1. A
A. INFORMACIÓN GENERAL: 3
1. TAG2.- Elaboración del cuestionario correspondiente a la Segunda Unidad 4
B. EVIDENCIAS DEL TRABAJO AUTÓNOMO GRUPAL 2: 5
1. Tema: Cuestionario correspondiente a la Segunda Unidad (TAG2). 5
2.1 Generalización/Especialización 5
2.1.1 Preguntas: 5
2.2 Revisiones de Código 6
2.2.2 Preguntas: 6
2.3 Gestión de defectos 6
2.3.1 Herramienta “Debug” en Netbeans: 7
2.3.2 Preguntas: 7
2.4 Polimorfismo 7
2.4.1 Sobrecarga de métodos 7
2.4.2 Preguntas: 8
2.5 Interfaces de programación 8
2.5.1 Clases Abstractas 8
2.5.2 Preguntas: 9
2.6 Modelo Vista Controlador 9
2.6.1 Preguntas: 9
2.7 Base de datos no SQL 10
2.7.4 Preguntas: 11
2.8 Componentes y objetos gráficos 11
2.8.6 Preguntas: 12
C. Bibliografía 13

2
UNIVERSIDAD DE LAS FUERZAS ARMADAS - ESPE

A. INFORMACIÓN GENERAL:
● DEPARTAMENTO: Ciencias de la Computación
● ÁREA DE CONOCIMIENTO: Programación
● CARRERA: Tecnologías de la información
● NIVEL: Segundo
● PERIODO ACADÉMICO: SII 202251
● CARGA HORARIA POR COMPONENTES DE APRENDIZAJE
CD CP/E CA HS HPAO
3 3 3 9 144
48 48 48 6 3

● ESTUDIANTES: Lasluisa Cristopher, Lucio Jelen y Vásconez Christian


● DOCENTE: RUBÉN DARÍO ARROYO CHANGO
● CORREO ELECTRÓNICO INSTITUCIONAL DEL DOCENTE:
rdarroyo@espe.edu.ec

3
“SEGUNDA UNIDAD”
TRABAJOS AUTÓNOMOS

UNIDAD DOS
1. TAG2.- Elaboración del cuestionario correspondiente a la Segunda Unidad

4
B. EVIDENCIAS DEL TRABAJO AUTÓNOMO GRUPAL 2:
1. Tema: Cuestionario correspondiente a la Segunda Unidad (TAG2).
2.1 Generalización/Especialización
Según Invarato, “La Herencia es uno de los 4 pilares de la programación orientada a
objetos (POO) junto con la Abstracción, Encapsulación y Polimorfismo. Al principio
cuesta un poco entender estos conceptos característicos del paradigma de la POO
porque solemos venir de otro paradigma de programación como el paradigma de la
programación estructurada (ver la entrada “Paradigmas de Programación), pero se ha
de decir que la complejidad está en entender este nuevo paradigma y no en otra cosa.”
(Invarato, 2022).

Debemos tener en cuenta que la herencia se puede dar de varias formas como lo son:
 Simple/única: una clase hereda de otra.
 Multinivel: una clase hereda de una clase padre y otra clase hereda de esta (de
la clase hija), hay dos o más niveles.
 Múltiple: consiste en que una clase hija hereda de dos o más clases padre
(ejemplo: clase padre Vehículo, y clase padre Motor).
 Jerárquica: es similar a un árbol, de una clase base derivan dos o más clases y
de cada una de ellas a su vez derivan otras clases.

2.1.1 Preguntas:

1. ¿En qué consiste la herencia en POO?


a) Es la característica de un lenguaje POO que permite que todo lo referente a un
objeto quede aislado dentro de éste
b) Representa las características de la entidad hacia el mundo exterior, pero
ocultando la complejidad.
c) Es el mecanismo más utilizado para alcanzar algunos de los objetivos más
preciados en el desarrollo de software como lo son la reutilización y la
extensibilidad.
d) Hecho de que varios objetos de diferentes clases, pero con una base común, se
pueden usar de manera indistinta

2. ¿Cuáles son los tipos de herencia que se pueden presentar en POO?


a) Inclusión, sobrecarga, sobreescritura.
b) Public, private, protected.
c) Múltiple, única, sobrecargada, incluida.
d) Simple, multinivel, múltiple, jerárquica.

3. Selecciona una ventaja de la herencia en POO


a) Permite que se puedan definir nuevas clases basadas de unas ya existentes
b) Permite estandarizar la llamada a métodos.
c) Muestra el comportamiento específico del objeto.
d) Poder realizar cambios/mejoras sin que esto afecte el modo en que los usuarios
interactúan con la aplicación

4. ¿Cuál es la palabra utilizada para heredar los atributos y métodos a una clase
en Java?

5
a) Public
b) Integer
c) ArrayList
d) Extends.

2.2 Revisiones de Código


Según Aldazabal “El objetivo de la revisión de código es determinar que se está
haciendo bien y que se puede mejorar, no se trata de encontrar culpables. El compartir
estos hallazgos a todos los desarrolladores, con o sin mucha experiencia, nos ayuda a
aprender a ser mejores y desarrollar bajo el estilo que se adapte a las necesidades del
equipo y el cliente.” (Abdazal, 2015).

Debemos tener en cuenta que cada equipo de desarrollo es distinto ya que lo que puede
ser de utilidad para un equipo no lo es para otro, mucho depende del tipo de solución
que se esté desarrollando para saber los estilos de codificación que se pueden aplicar.

2.2.1 Herramienta “JUnit”:

Rodríguez menciona que: “JUnit 5 que es una herramienta que nos va a permitir
automatizar la prueba de nuestros programas en java solo vamos a hacer las pruebas y
los que nos van a quedar ahí almacenadas para poder ejecutar las cada vez que
compilamos o cada vez que hagamos cualquier cambio” (Diéguez, 2021)

2.2.2 Preguntas:
1. ¿Cuál es el principal objetivo de revisar un código?
a) Realizar una autoevaluación sin modificar el código
b) Evaluar la calidad de un proyecto para mejorarlo al identificar defectos y
problemas.
c) Determinar que se está haciendo bien y que se puede mejorar dentro del código.
d) Revisar que los atributos y métodos estén correctos.

2. ¿Cuál corresponde a la principal herramienta para revisar un código en Java?


a) JUnit.
b) Eclipse.
c) Microsoft Word.
d) Block de Notas.

3. ¿Qué nos permite realizar la herramienta “JUnit”?


a) Permite automatizar la prueba de nuestros programas en java
b) Permite comparar dos códigos.
c) Muestra el diagrama de clase.
d) Ejecutar un programa.

2.3 Gestión de defectos


Según Roldán: “Muchas clases de errores pueden utilizar excepciones -- desde serios
problemas de hardware, como la avería de un disco duro, a los simples errores de

6
programación, como tratar de acceder a un elemento de un array fuera de sus límites.”
(Roldán, 2016).

2.3.1 Herramienta “Debug” en Netbeans:


García menciona que: “La depuración (debug) permite examinar las aplicaciones para
buscar errores, ya que posibilita observar las líneas que se van ejecutando, así como los
valores que van tomando las variables en cada paso.” (Escobedo, 2012).

2.3.2 Preguntas:
1. ¿Cuál es el objetivo de gestionar los defectos en un código de programación?
a) Realizar un seguimiento de errores es el proceso de registrar y monitorear
errores o errores durante pruebas de software.
b) Llamar a una variable dentro del programa.
c) Inicializar el constructor con valores correspondientes a el tipo de atributos.
d) Heredar de manera correcta una clase, tomando en consideración los
paradigmas de programación

2. ¿Qué nos permite realizar la herramienta “Dbeug” en NetBeans?


a) Permite ejecutar el programa de manera completa.
b) Permite realizar un diagrama de flujo de cualquier clase.
c) Permite implementar un código de cualquier tipo dentro de un programa
d) Permite ir ejecutando un código, línea por línea para revisar sus posibles errores
o simplemente ver cómo se va ejecutando.

3. ¿Cuál es el error más común encontrado en Java?


a) El no utilizar excepciones cuando se debe ingresar datos.
b) El no utilizar variables de tipo privado.
c) El declarar variables que no coincidan con el tipo de dato a leer.
d) El no poner la palabra “extends” para heredar una clase.

2.4 Polimorfismo
El polimorfismo o también conocido como “Sobrecarga de parámetros” permite que se
nombre dos acciones del mismo modo al realizar un código, sin embargo, cada una de ellas
acepta parámetros diferentes, según Durán menciona que: “el polimorfismo facilita que
identifiques objetos nominalmente, pero que cada uno de ellos desempeñe una función en
particular”. (Durán, 2022)

El utilizar polimorfismo es ventajoso al momento de estandarizar las llamadas a los


métodos de las entidades de dominio, también permite extender el funcionamiento ya
establecido a través de la sobrecarga de métodos.

2.4.1 Sobrecarga de métodos


La sobrecarga de métodos ocurre cuando una clase tiene dos o más métodos con el mismo
nombre, pero con diferentes argumentos. Esto significa que puede invocar al mismo
método con diferentes conjuntos de argumentos y obtener resultados diferentes.

7
La sobrecarga de métodos es una característica útil en Java porque permite que una clase
tenga varios métodos con el mismo nombre, pero con diferentes funcionalidades,
dependiendo de los argumentos que se proporcionen. (Caules, 2021)

2.4.2 Preguntas:
1. ¿Cuál de las afirmaciones es correcta sobre el polimorfismo?
a) Permite estandarizar la llamada a métodos.
b) Permite heredar clases con los mismos atributos.
c) Permite generar clases con métodos automáticamente.
d) Permite que dos métodos funcionen de igual manera.
2. ¿De qué otro nombre se conoce al polimorfismo?
a) Herencia.
b) Sobrecarga de métodos.
c) Subtipado de métodos.
d) Sobrecarga de parámetros.
3. ¿Cuál es un tipo de polimorfismo?
a) Superposición.
b) Multiplicidad.
c) Sobrecarga.
d) “Extends”.
4. ¿Qué es la sobrecarga de métodos?
a) Es cuando se hereda los atributos de otra clase.
b) Es el invocar al mismo método con diferentes conjuntos de argumentos y
obtener resultados diferentes.
c) Es cuando dos clases se llaman de igual manera y se logra rescatar los atributos
de estos.

2.5 Interfaces de programación


Las interfaces de programación son un mecanismo de la programación orientada a objetos
que le permite especificar un conjunto de métodos que una clase debe implementar. Las
interfaces se pueden utilizar para definir un contrato que debe cumplir una clase, lo que le
permite asegurar que la clase implementa cierto comportamiento esperado. (Canelo, 2020)

Una interfaz en Java se define de la misma manera que una clase, pero se usa la palabra
clave “interface” en lugar de “class” y todos los métodos declarados en la interfaz son
abstractos por defecto.

2.5.1 Clases Abstractas


Una clase abstracta es un tipo de clase que no se puede instanciar directamente. En lugar
de eso, proporciona una plantilla para otras clases y se utiliza como clase base para crear

8
objetos más específicos. Una clase abstracta se declara usando la palabra clave “abstract”
antes de la palabra clave “class”. (Rodriguez, 2016)

Una clase abstracta puede tener métodos abstractos, que son métodos que no tienen una
implementación concreta y se dejan a las subclases para implementar.

Para utilizar una clase abstracta, debe crear una subclase que herede de la clase abstracta y
proporcione implementaciones concretas para cualquier método abstracto que la clase
abstracta tenga. Luego, puede utilizar la subclase para crear objetos. (Open Bootcamp,
2021)

2.5.2 Preguntas:
1. ¿Cómo se declara una clase abstracta?
a) Se declara utilizando la palabra “implement” en lugar de “class”.
b) Se declara utilizando la palabra “extends” luego de la palabra “class”.
c) Se declara utilizando la palabra “interface” en lugar de “class”.
d) Se declara utilizando la palabra “abstract” antes de la palabra “class”.
2. ¿Cuál de las afirmaciones sobre interfaces es la incorrecta?
a) Es un concepto propio de la POO.
b) Se puede encontrar constantes estáticas y métodos abstractos.
c) Permite que se nombre dos acciones del mismo modo y tengan resoluciones
iguales.
d) Se define utilizando la palabra “interface” en lugar de “class”.
3. ¿Cómo se define una interfaz?
a) Se define utilizando la palabra “extends” luego de la palabra “class”.
b) Se define utilizando la palabra “interface” en lugar de “class”.
c) Se define utilizando la palabra “abstract” antes de la palabra “class”.
d) Se define utilizando la palabra “implement” en lugar de “class”.

2.6 Modelo Vista Controlador


Modelo Vista Controlador (MVC) es un estilo de arquitectura de software que separa los
datos de una aplicación, la interfaz de usuario, y la lógica de control en tres componentes
distintos que son:

 Modelo: representa la lógica de negocio y los datos de la aplicación.


 Vista: se encarga de la presentación de los datos al usuario.
 Controlador: gestiona la interacción entre el modelo y la vista.

Se trata de un modelo muy maduro y que ha demostrado su validez a lo largo de los años
en todo tipo de aplicaciones, y sobre multitud de lenguajes y plataformas de desarrollo.
(Universidad de Alicante, 2017)

2.6.1 Preguntas:
1. ¿En qué componentes se dividía el patrón del MVC?
9
a) Enfoque, Controlador, Interacción.
b) Modelo, Vista, Controlador.
c) Interacción, Controlador, Vista.
d) Modelo, Vista, Enfoque.
2. ¿Qué implementa el MVC?
a) Interfaces de usuario, datos y lógica de control.
b) Modelo, Vista, Controlador.
c) Artículos de una lista
d) Tres componentes
3. ¿Qué hace el componente Vista?
a) Define qué datos debe contener la aplicación.
b) Gestiona la interacción entre el modelo y la vista.
c) Define cómo se deben mostrar los datos de la aplicación.
d) Gestiona la interacción entre el modelo y el controlador.

2.7 Base de datos no SQL


Hablar de bases de datos NoSQL es hablar de estructuras que nos permiten
almacenar información en caso de que la base de datos relacional cause ciertos
problemas principalmente debido a problemas de escalabilidad y rendimiento con
bases de datos relacionales miles de usuarios simultáneos se reúnen aquí y manejan
millones de consultas todos los días. (acens, 2014)
2.7.1 Acceso a base de datos
Una nueva forma de acceder a las bases de datos son los servicios de información
tradicionales como Gopher o WWW, donde los usuarios utilizan los mismos
procedimientos que de costumbre.
El acceso real a la base de datos no lo realiza el propio usuario, sino un servicio de
información que se pone en contacto con el DBMS para realizar una transacción y
luego entrega los resultados al usuario de forma manejable. (memoria, 2009)

2.7.2 Operaciones CRUD


CRUD describe la funcionalidad que un usuario necesita para crear y administrar
datos. Varios procesos de gestión de datos se basan en CRUD, donde dichas
operaciones se adaptan específicamente a las necesidades del sistema y los
usuarios, ya sea la gestión de bases de datos o el uso de aplicaciones.

2.7.3 Drivers y conexión


Un controlador o driver es una herramienta que actúa como intermediario entre el
sistema operativo y los distintos componentes de hardware o dispositivos que
conectamos. Los controladores permiten que el sistema operativo aproveche los
componentes o dispositivos instalados y los use correctamente. (adslzone, 2022)

10
2.7.4 Preguntas:

1. ¿Cuál es el significado de las Siglas No SQL?


a) Not on SQL
b) Not Only SQL
c) Not Off SQL

2. ¿Quién tiene realmente acceso a la base de datos?

a) Propio Usuario
b) Creador de la base de datos
c) Un servicio de información

3. ¿Cuál es el significado de las siglas CRUD?

a) Create, Read, Update, Delete


b) Castie, Read, Undersrood, Delete
c) Create, Read, Undertook, Delete

4. ¿Qué permiten realizar los drivers?


a) Permite que todas las aplicaciones sean utilizadas correctamente
b) Permite que el sistema operativo no se utilice correctamente
c) Permite que realice daños al sistema operativo

5. ¿El sistema No SQL se puede incrementar en dispositivos con pocos recursos?


a) Verdadero
b) Falso

6. ¿Para qué sirve CRUD?


a) Sirve para describir lo que el usuario no necesita para crear y administrar
datos
b) Sirve para describir lo que el usuario necesita para crear y administrar
datos.
c) Sirve para describir lo que el usuario necesita para eliminar datos.

2.8 Componentes y objetos gráficos


Campos de Texto y Áreas de Texto:
Para implementar áreas de texto mediante Swing se utiliza la clase JTextArea.
Los campos de texto se implementan mediante la clase JTextField.
Para poner un campo de password tenemos que hacer uso de la clase
JPasswordField. JTextField textField = new JTextField(); JPasswordField textPasw
= new JPasswordField(10); textPasw.setEchoChar('*'); COMPONENTES BÁSICOS
10 textPasw.setEchoChar('*');
Para capturar el contenido de una caja de texto se utiliza el método getText() y para
escribir, el método setText(caden)

11
2.8.1 Widget
Un widget es una pequeña aplicación o programa diseñada para facilitar el acceso a
las funciones más usadas de un dispositivo. Su principal característica es que se
integran en el escritorio del ordenador o el teléfono móvil y nos ofrecen
información visual sin necesidad de ejecutar nada más. Los widgets son gratuitos y
se pueden conseguir a través de Internet.
2.8.2 Formularios
Para realizar una estructura sustancial, uno debe enfocarse en la implementación de
varias operaciones CRUD. Para activar la acción de creación, por ejemplo, debe
usar otra página HTML con campos de formulario para ingresar datos de usuario
asociados con index.php a los que se puede acceder a través de un botón en la
interfaz de Bootstrap. Para mayor comodidad, se recomienda comenzar a crear este
botón abriendo index.php y agregando el siguiente fragmento de código al
elemento
class="row">.
2.8.3 Menú y tablas
El primer paso consiste en crear una tabla de base de datos simple que pueda ser
manipulada con operaciones CRUD a lo largo de este tutorial. Para ello, importa la
siguiente tabla de ejemplo en tu base de datos MySQL:
La tabla se utiliza para recopilar información del usuario como nombre, correo
electrónico y número de teléfono. A cada entrada se le asigna automáticamente
una clave principal (AUTO_INCREMENT PRIMARY KEY), es decir un
identificador único. (Digital Guide IONOS, 2019)
2.8.4 Gestión de eventos
Aplicaciones CRUD permiten a las organizaciones alcanzar sus objetivos
empresariales. Las operaciones CRUD también se utilizan para gestionar foros,
tiendas de comercio electrónico, sitios web de redes sociales y muchos, muchos otros
tipos de aplicaciones que son compatibles con una base de datos relacional.Fuente
especificada no válida.

2.8.5 Integración Grafica


Tenga en cuenta que ejecutar un servidor de base de datos como SQL Server en un
contenedor de Docker es muy útil para entornos de desarrollo, porque puede poner
en marcha todas sus dependencias sin tener que proporcionar una base de datos
local o en la nube. Este enfoque resulta útil al ejecutar pruebas de integración.

2.8.6 Preguntas:
7. ¿Una de las características de CRUD es que se de actualizar y modificar la
información registrada?
a) Verdadero
b) Falso

12
8. ¿Las operaciones CRUD permiten que varios usuarios lean los mismos datos al
tiempo?
a) Verdadero
b) Falso
9. ¿Qué es un Widgets?
a) Es quien complica el acceso al sistema operativo
b) Es quien facilita el acceso a las funciones más usadas en un dispositivo
c) Es quien facilita el acceso a las funciones menos usadas en un dispositivo

10. ¿El uso de CRUD dificulta el control de la seguridad?


a) Verdadero
b) Falso

C. Bibliografía:

Abdazal, L. (14 de Junio de 2015). ¿Qué es la revisión de código y cómo se realiza?


Obtenido de Código limpio y revisado:
https://code2read.wordpress.com/2015/06/14/code-review-que-es-la-revision-de-
codigo-y-como-se-realiza/
acens. (02 de 2014). Obtenido de
https://www.acens.com/wp-content/images/2014/02/bbdd-nosql-wp-acens.pdf
adslzone. (22 de noviembre de 2022). Obtenido de https://www.adslzone.net/como-se-
hace/internet/descargar-controladores-drivers-red/
Canelo, M. M. (02 de 11 de 2020). Profile. Obtenido de https://profile.es/blog/que-es-la-
programacion-orientada-a-objetos/
Caules, C. Á. (12 de 02 de 2021). ArquitecturaJava. Obtenido de
https://www.arquitecturajava.com/java-sobrecarga-de-metodos-y-constructores/
Diéguez, F. R. (19 de Mayo de 2021). Pruebas unitarias en Netbeans. Obtenido de
https://www.youtube.com/watch?v=ZOGz_1XtTKc
Digital Guide IONOS. (14 de SEPTIEMBRE de 2019). Obtenido de
https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/crud-las-
principales-operaciones-de-bases-de-datos/
Durán, M. (19 de 12 de 2022). HubSpot. Obtenido de
https://blog.hubspot.es/website/polimorfismo-java#:~:text=El%20polimorfismo
%20hace%20referencia%20a,nombre%20para%20ejecutar%20funciones
%20diferentes.
Escobedo, J. G. (29 de Agostro de 2012). Depuración de programas con NetBeans.
Obtenido de https://javiergarciaescobedo.es/programacion-en-java/28-
programacion-estructurada/114-depuracion-de-programas-con-netbeans#:~:text=La
%20depuraci%C3%B3n%20(debug)%20permite%20examinar,las%20variables
%20en%20cada%20paso.
Invarato, R. (10 de Junio de 2022). Herencia en Java, con ejemplos. Obtenido de
https://jarroba.com/herencia-en-la-programacion-orientada-a-objetos-ejemplo-en-
java/

13
memoria. (2009). Obtenido de http://www.parada.cl/memoria/doc_3_4.html#:~:text=El
%20acceso%20mismo%20a%20la,los%20resultados%20en%20forma
%20ordenada.
Open Bootcamp. (28 de 03 de 2021). Open Bootcamp. Obtenido de https://open-
bootcamp.com/cursos/java/clases-abstractas
Rodriguez, A. (18 de 8 de 2016). APR. Obtenido de
https://www.aprenderaprogramar.com/index.php?
option=com_content&view=article&id=668:clases-y-metodos-abstractos-en-java-
abstract-class-clases-del-api-ejemplos-codigo-y-ejercicios-
cu00695b&catid=68&Itemid=188
Roldán, Á. (5 de Julio de 2016). Manejo de Errores. Obtenido de Ciber Aula:
https://www.ciberaula.com/cursos/java/manejo_errores_excepciones_java.php
Universidad de Alicante. (12 de 7 de 2017). Universidad de Alicante. Obtenido de
https://si.ua.es/es/documentacion/asp-net-mvc-3/1-dia/modelo-vista-controlador-
mvc.html#:~:text=Modelo%20Vista%20Controlador%20(MVC)%20es,control
%20en%20tres%20componentes%20distintos.

Firmas de los estudiantes:

Lasluisa Valverde Cristopher Alejandro.


Estudiante NRC8377.

Firma
Jelen Dayanara Lucio Vargas

1726385287

Firma
Christian Gustavo Vasconez Colorado

14
15

También podría gustarte