Está en la página 1de 40

“PRIMERA UNIDAD”

TRABAJOS
UNIDAD DOS
1. Laboratorio1.- Sobrecarga de métodos.
2. TAA1.- Tres trabajos de aprendizaje autónomo.
3. TAG1.- Trabajo de aprendizaje grupal 2.
4. Foro1.- Sobre Archivos.
5. Prueba1.- Programa de almacén de ropa.
6. Evaluacion1.- Programa usando interfaz gráfica.
“LABORATORIO SOBRECARGA DE
METODOS”
Nota: 15,5/20
Nota promediada: 2,32/3
1. TEMA: SOBRECARGA DE METODOS
2. OBJETIVOS:
2.1. OBJETIVO GENERAL:
• Conocer y analizar el tema de sobrecarga de métodos, creando un código donde se muestre
este método mediante el uso de herramientas como el NetBeans para tener una mejor
comprensión sobre este tema.
2.2. OBJETIVOS ESPECÍFICOS:
• Comprender e implementar los conocimientos adquiridos para la realización de ejercicios, por lo
tanto, se realizará un ejercicio con la sobrecarga de métodos.
• Entender de manera correcta la funcionalidad de sobrecarga de datos en java para aplicarlos en la
creación de un programa.
3. DESARROLLO:
La sobrecarga de datos es cuando el método tiene el mismo nombre, diferentes argumentos y parámetros.
La sobrecarga se presenta mas en los constructores y métodos de usuario

1.1 Ejemplo de sobrecarga en la clase vehículo.


Dada la siguiente clase vehículo, donde se ha definido el método visualizar sobrecargado.
Figura 1
Clase vehículo con aplicación de sobrecarga de métodos.
Nota: Se muestra en la imagen el uso de la sobrecarga en los métodos de usuario ya que son diferentes
argumentos, parámetros, pero tienen el mismo nombre en este caso “visualizar” y se ha definido cuatro
veces: con un método que tiene un parámetro vacío, con un parámetro de tipo String, con dos
parámetros de tipo String y double y tres parámetros de tipo String, double y String.

Figura 2
Complemento del código vehículo.

Nota: En la imagen se muestra el código completado de la clase vehículo, con los métodos getter y setter
para que permita la compilación de la clase principal.
Figura 3

Clase principal que permite compilar la clase de vehículo.

Nota: Imagen que muestra el código fuente donde se invoca el método de usuario llamado visualizar el
cual está dentro de un System.out.println(); y va a permitir mostrar los datos de un vehículo.
Figura 4
Código compilado

Nota: Imagen que muestra el código compilado y los métodos sobrecargados.

4. CONCLUSIONES:
● La implementación de sobrecarga en la creación de programas nos ayuda a aumentar la
legibilidad del programa para que se vea mejor.
● Después de haber realizado un programa haciendo uso de la sobrecarga de métodos se concluye
que es un tema fácil de manejar, siempre y cuando se tenga sus conceptos bien en claro no va a
existir problemas para manejar este tema en la creación de un programa.
5. RECOMENDACIONES
• Se debe de comprender de manera correcta cuando se debe aplicar una sobrecarga de datos ya
que si se usa demasiado este puede causar dificultad a la hora de leer el programa ejecutado ya
que el código se parece demasiado, por lo que se recomienda aplicar la sobrecarga de métodos
de una manera no tan exagerada para no tener complicaciones con el programa.
• Se recomienda hacer pruebas de sobrecarga de métodos aplicándolos en los constructores y en
los métodos del usuario ya que así se llegar a tener una mejor comprensión de este y tema y se
podrá aplicar con mayor facilidad en la creación de varios programas.

6. BIBLIOGRAFÍA
Mendes, G. (08 de Abril de 2006). Programando. Obtenido de Programando:
https://www.fdi.ucm.es/profesor/gmendez/docs/prog0607/Tema5-Excepciones.pdf

Pérez, J. (20 de 01 de 2015). Programación fácil. Obtenido de Pasos para resolver un problema:
www.patito.com
Trabajos autónomos
“Tres trabajos de aprendizaje autónomo”
Nota: 85/100
Nota promediada:2,55/3
A. EVIDENCIAS DEL TRABAJO AUTÓNOMO 7:
1. TEMA: REVISIONES DE CÓDIGO
2. OBJETIVOS
2.1.OBJETIVO GENERAL:
• Analizar y conocer los diferentes aspectos de la revisión de código en la programación
mediante la cual se realiza el presente informe usando herramientas como las páginas web
para adentrarse más en el tema y tener un mejor dominio de este.
2.2.OBJETIVOS ESPECÍFICOS:
• Investigar el uso de revisión de código en la programación orientada a objetos para comprender
de mejor manera sus fundamentos.
• Determinar los tipos de revisión de código y tener los conceptos claros de cada uno para que se
use de manera correcta en cada caso se presente.
3. DESARROLLO: REVISIÓN DE CÓDIGO
3.1.¿QUÉ ES UNA REVISIÓN DE CÓDIGO?
Es una parte del proceso del desarrollo que implica la comprobación del código fuente para
identificar los errores en una etapa temprana. Un proceso de revisión de código se lleva a cabo
típicamente antes de fusionarse con el código base.
El objetivo principal del proceso de revisión del código es evaluar cualquier nuevo código para
detectar errores, fallos y normas de calidad establecidas por la organización pues el proceso de
revisión del código no debe consistir solo en una retroalimentación unilateral.
Si deseas iniciar un proceso de revisión del código en tu organización, primero debes decidir
quién revisará el código. Si perteneces a un equipo pequeño, puedes asignar a los líderes del equipo
para que revisen todo el código. En un equipo más grande con múltiples revisores, podrías habilitar
un proceso en el que cada revisión de código se asigne a un desarrollador experimentado en función
de su carga de trabajo.
La revisión del código es crítica por las siguientes razones:
o Asegurarse de no tener errores en el código.
o Minimiza tus posibilidades de tener problemas.
o Confirma que el nuevo código se adhiere a las directrices.
o Aumentar la eficiencia del nuevo código.
Las revisiones de los códigos conducen a mejorar la experiencia de otros miembros del equipo.
Como un desarrollador senior suele realizar una revisión de código, un desarrollador junior puede
utilizar esta información para mejorar su propia codificación.
3.2.TIPOS DE REVISIONES DEL CÓDIGO
o Revisiones del código sobre el hombro se realizan en la estación de trabajo del desarrollador,
donde un miembro experimentado del equipo revisa el nuevo código, proporcionando
sugerencias a través de una conversación. Es el enfoque más fácil para las revisiones de
código y no requiere una estructura predefinida.
o Correo electrónico Pass-Around En este proceso de revisión del código, un desarrollador
envía por correo electrónico una serie de cambios a todo el equipo de desarrollo,
normalmente a través de sistemas de control de versiones que automatizan las
notificaciones. Este correo electrónico inicia una conversación sobre los cambios, donde
los miembros del equipo pueden solicitar más cambios, señalar errores o pedir
aclaraciones.
Figura 1
Correo electrónico pasa a través de los grupos de Google en cada nuevo impulso

Nota. Imagen en la que se muestra un ejemplo del tipo de revisión Pass-Around. Tomada de
(Daityari, 2020).
o Programación en pares es un proceso continuo de revisión de código. Dos desarrolladores
se sientan en una estación de trabajo, pero sólo uno de ellos codifica activamente mientras
que el otro proporciona información en tiempo real.
o Con ayuda de herramientas es un proceso que implica el uso de una herramienta
especializada para facilitar el proceso de revisión de códigos. Una herramienta generalmente
te ayuda para organizar y mostrar los archivos actualizados en un cambio y facilitar una
conversación entre revisores y desarrolladores.
Es mejor usar herramientas de código ya que el principal resultado de un proceso de revisión del código
es aumentar la eficiencia. Aunque estos métodos tradicionales de revisión de códigos han funcionado en
el pasado, es posible que se esté perdiendo eficiencia si no se ha cambiado a una herramienta de revisión
de códigos. Una herramienta de revisión de códigos automatiza el proceso de revisión de códigos para
que un revisor se centre únicamente en el código y se integre a un ciclo de desarrollo para iniciar una
revisión de código antes de que el nuevo código se fusione en la base de código principal.
Hay dos tipos de pruebas de código en el desarrollo de software: dinámicas y estáticas.
El análisis dinámico implica comprobar si el código sigue un conjunto de reglas y ejecutar pruebas
unitarias, típicamente realizadas por un guion predefinido. Las pruebas de código estático se realizan
después de que un desarrollador crea un nuevo código que se fusiona con el código actual (Daityari,
2020).

4. CONCLUSIONES:
• En conclusión, tener un buen conocimiento sobre la revisión de código ayuda a tener un buen
desempeño en la programación ya que esta va a permitir localizar de manera rápida en que parte
puede darse el error en un código.
• Se concluye que los diferentes tipos de revisión de código aun que estos sean separados por temas,
no son, muy diferentes en algunos aspectos ya que tienen un solo objetivo el cual es ayudar o
respaldar al usuario.
5. RECOMENDACIONES:
• Al indagar sobre el tema de revisión de código puede resultar un poco difícil encontrar mucha
información sobre este tema, por lo que puede causar que queden dudas así que se recomienda
buscar en páginas web más rebuscadas, incluso buscar en la plataforma YouTube ya que así se
podrá ampliar mucho el conocimiento de este tema.
• Se recomienda tener un concepto básico de cada tipo de revisión de código ya que así se sabrá de
manera ágil en que momento aplicar cada una de ellas.
UNIVERSIDAD DE LAS FUERZAS ARMADAS “ESPE”
CARRERA DE INGENIERÍA ELECTRONICA
Y AUTOMATIZACION

Nombre: Dilan Mateo Porras Pilataxi No. Lista: 17


Asignatura: POO Período: Octubre 2021 – Febrero 2022
Fecha: 05-01-2022 NRC: 7493

B. EVIDENCIAS DEL TRABAJO AUTÓNOMO 8:


1. TEMA: GESTIÓN DE DEFECTOS (TESTING).
2. OBJETIVOS
2.1.OBJETIVO GENERAL:
• Analizar y comprender la gestión de defectos mediante la investigación y el uso de herramientas
como las páginas web para comprender correctamente las aplicaciones de este tema en la
programación orientada a objetos.
2.2.OBJETIVOS ESPECÍFICOS:
• Investigar aspectos importantes en la gestión de defectos que permitan tener una mejor
comprensión sobre el tema.
• Determinar los tipos de testing teniendo muy en claro cada concepto de estos para que no exista
errores en el momento de ser aplicados.
3. DESARROLLO: GESTIÓN DE DEFECTOS (TESTING)
3.1. GESTIÓN DE DEFECTOS (TESTING)
Es la imperfección en un componente o sistema que puede causar que el componente o sistema
falle en desempeñar las funciones requeridas, por ejemplo:
Una sentencia o una definición de datos incorrectas y si se localiza un defecto durante una
ejecución puede causar un fallo en el componente o sistema.
La verificación y validación es el nombre que se da a los procesos de comprobación y análisis que
aseguran que el software que se desarrolla esta acorde a su especificación y cumple las necesidades
de los clientes. La V&V es un proceso de ciclo de vida completo. Inicia con las revisiones de los
requerimientos y continua con las revisiones del diseño y las inspecciones del código hasta la
prueba del producto.
3.2.OBJETIVOS PRINCIPALES DEL TESTING
• Hallar y corregir defectos o bugs.
• Genera confianza y calidad en software.
• Ayuda en la toma de decisiones, pasando a producción los desarrollos que no tengan errores.
• Evitar la aparición de nuevos defectos en el futuro que puedan afectar al software.
Figura 1
Los objetivos del testing

Nota: En la siguiente imagen se puede ver una imagen relacionada con los objetivos del testing. Tomada
de (Reues, 2021).
3.3.VERIFICACIÓN Y VALIDACIÓN
Determinan si un producto satisface las necesidades del negocio y si se está construyendo acorde
a las especificaciones, las pruebas están más relacionadas con el proceso de validación, mientras
que las revisiones son tareas más orientadas al proceso de verificación.
Verificación comprende comprobar que el software está de acuerdo con su especificación y así se
comprueba que el sistema cumple los requerimientos funcionales y no funcionales que se le han
especificado.
Validación es un proceso más general, se debe asegurar que el software está de acuerdo con su
especificación, para probar que el software hace lo que el usuario espera a diferencia de lo que se
ha especificado.
Figura 2
Proceso de validación y verificación de un programa de software o una aplicación.

Nota: En la siguiente imagen se puede ver una imagen relacionada con la validación y
verificación. Tomada de (Reues, 2021).
3.4. PRUEBAS VS DEPURACIÓN
Las prácticas de codificación y diseño le ayudan a crear programas de calidad y deben ir
seguidas de pruebas exhaustivas de los programas. Tiene que prestar especial atención a la fase
de prueba de desarrollo para que:
• Su programa sea completamente operativo tras el menos número posible de ejecuciones
de prueba, minimizando el tiempo y el coste del desarrollo del programa.
• Su programa cumpla todos los objetivos de diseño antes de lanzarse al trabajo de
producción.
• Su programa incluya comentarios suficientes permitir a quienes utilizan y se encargan del
mantenimiento del programa realizar tareas sin ayuda adicional.
El proceso de prueba suele desvelar bugs (o errores), un término genérico que abarca todo lo que
hace su programa que no se esperaba que hiciese. El proceso de suprimir estos errores del
programa se conoce como depuración. Este capítulo no intenta cubrir de forma exhaustiva los
procesos de prueba y depuración, pero ofrece técnicas y consejos útiles que le ayudarán a
producir programas PL/I de alta calidad y sin errores. A continuación, encontrará información
general sobre depuración y pruebas e información específica de PL/I. (Ávila, 2015).
3.5.PRUEBAS DE MÓDULO
El módulo de programa de prueba o unidad de prueba de una aplicación de software se lleva a cabo
durante la programación de una aplicación, pues el propósito de la prueba módulo de programa consiste
en aislar una parte específica del código del programa y determinar su funcionamiento. Durante el
desarrollo un módulo de programa puede ser una función o procedimiento individual.
Las pruebas de módulo tienen sus beneficios y estos son:
• Los desarrolladores analizan qué funcionalidad proporciona un módulo y cómo se usa, puede usar
la prueba del módulo para obtener una comprensión básica de la API del módulo.
• Con las pruebas de módulo, el programador puede agregar más tarde un código que hace posible
realizar pruebas de regresión. El procedimiento es escribir casos de prueba para todas las
funciones y circunstancias, de modo que, si un cambio causa un error, podamos encontrarlo
rápidamente.
• Gracias al diseño modular de estas pruebas, podemos probar partes del proyecto sin tener que
esperar a la entrega de otros módulos.
Como puede ver, puede haber mucho que ver con la prueba de un módulo. Dependiendo de la aplicación,
la prueba puede ser compleja o simple. Las estrategias de prueba, las herramientas y las filosofías que
utilizamos también influyen en la complejidad. Las pruebas de módulo siempre son necesarias en algún
nivel (Auteur, 2017)
4. CONCLUSIONES:
• En conclusión, su importancia radica en evitar que los errores o puntos vulnerables en el desarrollo
del proyecto lleguen al cliente, o al usuario por lo que las pruebas frecuentes y un testing es vital
en el proceso de desarrollo.
• El testing tiene varios tipos, pero cada uno tiene que llegar a un mismo objetivo el cual es corregir
defectos o bugs, pero es necesario saber en que momento hay que aplicar cada tipo de testing ya
que puede alargarse mucho más el procedimiento si se aplica un testing que ayuda de manera rápida
en la corrección de estos errores.
5. RECOMENDACIONES:
• Conocer que importancia tiene la gestión de defectos en la programación es vital ya que así se
solucionan defectos de un programa de manera rápida por lo que se recomienda tener un amplio
conocimiento sobre los la gestión de defectos ya que evitara cometer muchas fallas en un programa.
• Se recomienda estudiar los tipos de testing más importantes y más usados ya que así no se tendrá
confusiones de que tipo de testing aplicar en un programa si no que de manera directa se podrá
saber cuál es el testing exacto para corregir los diferentes defectos o errores que se
produzcan en un programa.

UNIVERSIDAD DE LAS FUERZAS ARMADAS “ESPE”


CARRERA DE INGENIERÍA ELECTRONICA
Y AUTOMATIZACION

Nombre: Dilan Mateo Porras Pilataxi No. Lista: 17


Asignatura: POO Período: octubre 2021 – Febrero 2022
Fecha: 05-01-2022 NRC: 7493

C. EVIDENCIAS DEL TRABAJO AUTÓNOMO 9


1. TEMA: MODELO VISTA CONTROLADOR
2. OBJETIVOS
2.1.OBJETIVO GENERAL:
• Analizar y comprender los casos de uso de modelo vista controlador mediante el uso de
herramientas de páginas web y consultando diferentes aspectos en la arquitectura MVC para
comprender como se realiza el manejo de las interfaces del usuario.
2.2.OBJETIVOS ESPECÍFICOS:
• Investigar los casos de la arquitectura en el uso de la programación mediante el uso de informes
que hablen de este para poder hacer uso de este mismo en la creación de programas.
• Determinar las diferentes interfaces de usuario la cual describiremos cada tipo de componente
que la arquitectura del MDV utilice.
3. DESARROLLO: MODELO VISTA CONTROLADOR
3.1. MODELO VISTA CONTROLADOR
El modelo vista controlador o llamado por sus siglas “MVC” es una propuesta de arquitectura del
software utilizada para separar el código por sus distintas responsabilidades, manteniendo distintas capas
que se encargan de hacer una tarea muy concreta, lo que ofrece beneficios diversos. El MVC se utiliza
inicialmente en sistemas donde se requiere el uso de interfaces de usuario, aunque en la practica el mismo
patrón de arquitectura se puede utilizar para distintos tipos de aplicaciones.
Su fundamento es la separación del código en tres capas diferentes, acostadas por su responsabilidad, en
lo que se llaman modelos, vistas y controladores.
3.2.VENTAJAS DEL USO DE MVC
• Fácil mantenimiento del código.
• Fácil de extender y crecer (facilidad de modificación).
• Los componentes del modelo MVC pueden ser probados por separado del usuario ya que todas
las clases y objetos son independientes entre sí.
• Soporte más fácil para el nuevo tipo de clientes.
• El desarrollo de los componentes puede ser codificado paralelamente (desarrollo simultáneo).
• Funciona bien para aplicaciones web.
• Amigable con la Optimización de Motores de Búsqueda.
• Permite la agrupación lógica de acciones relacionadas (alta cohesión).
• El código puede ser reutilizado para diferentes proyectos. (Kopca, 2020)
Ahora que ya se tiene una idea de las ventajas que nos puede aportar el MVC, analicemos las diversas
partes o conceptos en los que debemos separar el código de nuestras aplicaciones.
Modelos Es la capa donde se trabaja con los datos, por tanto, contendrá mecanismos para acceder a la
información y también para actualizar su estado, no obstante, cabe mencionar que cuando se trabaja con
MCV lo habitual también es utilizar otras librerías como PDO o algún ORM como Doctrine, que nos
permiten trabajar con abstracción de bases de datos y persistencia en objetos.
Vista generalmente se trabaja con los datos, sin embargo, no se realiza un acceso directo de estos y
contienen el código de nuestra aplicación que va a producir la visualización de las interfaces de usuario, o
sea, el código que nos permitirá renderizar los estados de nuestra aplicación en HTML
Controladores es una capa que sirve de enlace entre las vistas y los modelos, respondiendo a los
mecanismos que puedan requerirse para implementar las necesidades de nuestra aplicación y Contiene el
código necesario para responder a las acciones que se solicitan en la aplicación, como visualizar un
elemento, realizar una compra, una búsqueda de información, etc. (Alvarez, 2020)
3.3.ARQUITECTURA
Figura 1
Diagrama de colaboración de las distintas capas que componen la arquitectura del MVC

Nota: En esta imagen se representa con flechas los modos de colaboración entre los distintos elementos
que formarían una aplicación MVC, junto con el usuario. Tomada de (Alvarez, 2020)
Ejemplo de cómo sería el flujo de trabajo característico en un esquema MVC.
1. El usuario realiza una solicitud a nuestro sitio web. Esta solicitud le llega al controlador.
2. El controlador comunica tanto con modelos como vistas. A los modelos les solicita datos o les
manda realizar actualizaciones de los datos. A las vistas les solicita la salida correspondiente, una
vez se hayan realizado las operaciones pertinentes según la lógica del negocio.
3. Para producir la salida, en ocasiones las vistas pueden solicitar más información a los
modelos. En ocasiones, el controlador será el responsable de solicitar todos los datos a los
modelos y de enviarlos a las vistas, haciendo de puente entre unos y otros.
4. Las vistas envían al usuario la salida. Aunque en ocasiones esa salida puede ir de vuelta al
controlador y sería éste el que hace el envío al cliente, por eso he puesto la flecha en otro color.
3.4.IMPLEMENTACIÓN
MVC 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.
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.

Figura 2
Representación de la implementación modelo vista controlador

Nota: En la imagen se puede observar el orden por el cual puede actuar el modelo vista controlador.
Tomada de (Marco, 2009)
En la figura 2 se puede observar su implementación.
1. El usuario interactúa con la interfaz de usuario de alguna forma (por ejemplo, el usuario pulsa un
botón, enlace, etc.)
2. El controlador recibe (por parte de los objetos de la interfaz-vista) la notificación de la acción
solicitada por el usuario. El controlador gestiona el evento que llega, frecuentemente a través de
un gestor de eventos (handler) o callback.
3. El controlador accede al modelo, actualizándolo, posiblemente modificándolo de forma adecuada
a la acción solicitada por el usuario (por ejemplo, el controlador actualiza el carro de la compra
del usuario). Los controladores complejos están a menudo estructurados usando un patrón de
comando que encapsula las acciones y simplifica su extensión.
4. El controlador delega a los objetos de la vista la tarea de desplegar la interfaz de usuario. La vista
obtiene sus datos del modelo para generar la interfaz apropiada para el usuario donde se refleja
los cambios en el modelo (por ejemplo, produce un listado del contenido del carro de la compra).
El modelo no debe tener conocimiento directo sobre la vista. Sin embargo, se podría utilizar el
patrón Observador para proveer cierta indirección entre el modelo y la vista, permitiendo al
modelo notificar a los interesados de cualquier cambio.
5. La interfaz de usuario espera nuevas interacciones del usuario, comenzando el ciclo nuevamente
(Marco, 2009).

4. CONCLUSIONES:
• En conclusión, los temas resaltados en los casos de uso del modelo vista controlador ayudan al
usuario a saber cómo se maneja el programa muchos de ellos guardan relaciones y la arquitectura
o el MVC que guía al usuario a completar el programa sin errores.
• El modelo vista también usado para el lenguaje unificado de modelado como visualizar las
relaciones entre las clases que involucran el sistema, las cuales pueden ser asociativas, de herencia
de uso y de agregación, solo así se podrá llevar a cabo la relación en las clases.
5. RECOMENDACIONES
• El MVC debe describir que debe hacer el usuario en el sistema a desarrollar implementar las reglas
y los pasos a seguir para que el resultado sea el esperado.
• Se recomienda que para poder realizar un mejor uso de el modelo vista controlador el usuario debe
hacer que todos los objetos similares tengan relación uno de otro
6. BIBLIOGRAFÍA
Alvarez, M. (28 de 7 de 2020). desarrolloweb. Obtenido de desarrolloweb:
https://desarrolloweb.com/articulos/que-es-mvc.html

Auteur. (29 de 9 de 2017). ITpedia. Obtenido de ITpedia: https://es.itpedia.nl/2017/09/29/de-


programma-module-test/

Ávila, J. (22 de 5 de 2015). Rational. Obtenido de Rational: https://www.ibm.com/docs/es/developer-


for-zos/9.5.1?topic=SSQ2R2_9.5.1/com.ibm.etools.pl1.win.doc/topics/debug.html

Conted, L. (22 de 02 de 2021). Lucidchart. Obtenido de Lucidchart:


https://www.lucidchart.com/pages/es

Daityari, S. (30 de 12 de 2020). Kinsta. Obtenido de Kinsta: https://kinsta.com/es/blog/herramientas-de-


revision-de-codigo/

Herrera, C. (12 de 6 de 2019). OpenWeibinars. Obtenido de OpenWeibinars:


https://openwebinars.net/blog/que-es-el-testing-de-
software/#:~:text=El%20Testing%20de%20Software%20es%20la%20realizaci%C3%B3n%20de,co
nfianza%20en%20el%20nivel%20de%20calidad%20del%20software.

Kopca, T. (04 de 11 de 2020). mano. Obtenido de mano: https://www.ma-no.org/es/programacion/el-


concepto-de-modelo-vista-controlador-mvc-explicado

Lucía. (29 de 12 de 2020). Kinsta. Obtenido de Kinsta: https://kinsta.com/es/base-de-conocimiento/git-


vs-
github/#:~:text=Dado%20que%20est%C3%A1n%20tan%20estrechamente%20relacionados%2C
%20tendr%C3%ADa%20sentido,%E2%80%93%20son%20gratuitas%20de%20usar%2C%20modifi
car%20y%20distribuir.
Marco. (9 de 7 de 2009). Struts. Obtenido de Struts: https://si.ua.es/es/documentacion/asp-net-mvc-
3/1-dia/modelo-vista-controlador-mvc.html

Reues, G. (11 de 26 de 2021). Programa en linea. Obtenido de Programa en linea:


https://www.programaenlinea.net/que-es-el-testing-de-software-y-por-que-es-tan-
importante/#:~:text=El%20testing%20de%20software%20o%20software%20QA%20es,con%20e
l%20objetivo%20de%20localizar%20errores%20de%20software.
“Trabajo de aprendizaje grupal 2”
Nota: 100/100
Nota Promediada: 3/3
A. EVIDENCIAS DEL TRABAJO GRUPAL 2:
6. TEMA: Resolver el cuestionario de la Unidad y presentar el informe del cuestionario sobre
los temas de la Segunda unidad.
7. OBJETIVOS
7.1. OBJETIVO GENERAL:
• Analizar y desarrollar el cuestionario de los temas vistos en clases mediante el uso de cortos resúmenes
para mostrar los conocimientos adquiridos durante este tiempo.
7.2. OBJETIVOS ESPECÍFICOS:
• Elaborar el cuestionario formulando preguntas con los aspectos más importantes de los temas vistos ya
en clases y guiándose correctamente de los apuntes para no poner respuestas incorrectas.
• Realizar cada pregunta del cuestionario con lógica y en base a cada tema visto, para que las
preguntas sean entendibles y no exista confusiones en el momento en que estas sean
respondidas.
• Comprender cada uno de los temas estudiados, para realizar preguntas con la información a
disposición de acuerdo a lo que corresponde a la POO.
8. DESARROLLO:
8.1. GENERALIZACIÓN/ESPECIALIZACIÓN
Generalización es la propiedad que permite compartir información entre dos entidades, sin redundar.
(Edukativos, 2013). En el comportamiento de objetos existen propiedades comunes en distintos objetos,
esto es generalización.
En la POO permite reflejar el hecho de una entidad general, llamada superclase que se especializa en
subclases. La superclase modela las características comunes de la entidad vista de forma genérica y la
subclase permite modelizar las características propias de sus especializaciones. La especialización es el
proceso inverso dónde se definen nuevas clases a partir de otras ya existentes.
Se denota la generalización/especialización con una flecha que parte de subclase dirigiéndose a la
superclase.

Figura 1:
Nota: Fuente: Dataprix. (29 de septiembre de 2009). 2.2.1. Generalización/Especialización. Obtenido de
Dataprix: https://www.dataprix.com/es/bases-datos-master-software-libre-uoc/221-
generalizacionespecializacion

Empleado es la superclase, subclases son directivo, técnico, administrativo. Las características de la


superclase se propagan a las entidades subclase. Es llamada herencia por esto.
Herencia permite definir nuevas clases a partir de otras, que presentan mismas características y
comportamiento.
La idea de clases conduce a la idea de herencia, clases diferentes se conectan jerárquicamente.
En nuestro día a día se usa el concepto de clases divididas en subclases, como por ejemplo la clase animal
dividida en anfibios, mamíferos, insectos, reptiles, etc. La clase Dispositivo en celular, televisión, laptop,
etc.
La clase original es denominada clase base, y las que se derivan, clases derivadas. Significa esto que las
propiedades de la clase base se heredan por la clase derivada, que generalmente tiene propiedades
adicionales.}
Elija la respuesta correcta
¿Qué es la generalización?
A) La propiedad que permite compartir datos entre dos programas generando la redundancia.
B) La propiedad que permite compartir información entre dos entidades evitando la redundancia.
C) La propiedad que permite compartir programas entre dos entidades evitando la redundancia.
Respuesta: B
¿Qué es la especialización?
A) El proceso inverso de la generalización por el cual se definen nuevas clases a partir de otras ya
existentes.
B) El proceso inverso de la herencia por el cual se definen nuevas subclases a partir de otras ya
existentes.
C) El proceso de la generalización por el cual se definen nuevas superclases a partir de otras ya
existentes.
Respuesta: A
¿Qué es la herencia?
A) La propiedad que implementa la especialización y la generalización.
B) El mecanismo que implementa la propiedad de generalización.
C) El mecanismo que implementa la propiedad de especialización.
Respuesta: B
Romance, misterio y salud son géneros literarios. Género literario es:
A) Subclase.
B) Superclase.
C) Generalización.
Respuesta: B
En las aves podemos encontrar varios tipos como pueden ser las de rapiña, o las cazadoras. Aves
cazadoras es:
A) Objeto.
B) Superclase.
C) Subclase.
Respuesta: C
8.2. REVISIONES DE CÓDIGO
Revisión del código es la comprobación del código fuente para que podamos identificar errores de
cualquier tipo para no tener inconvenientes al ejecutar el código principal o base. Esta revisión debe saber
realizarla los buenos programadores. En casos de programas que realicen equipos de trabajo con ramas de
tareas, deben realizar la revisión del código después que todo el código esté escrito y se haya hecho las
pruebas necesarias y estas hayan sido superadas, siempre antes que se fusione el código en el repositorio
remoto.
Ventajas
•Hace eficiente el código.
•Equipos se benefician de revisiones.
•Facilitan transmisión del conocimiento en la base del código y del equipo.
•Transmiten conocimiento.
•Logran mejores estimaciones.
Cómo realizar una revisión de código.
Existen 4 maneras de llevar a cabo revisiones del código (Daityari, Las 12 mejores herramientas de
revisión de código para desarrolladores (edición 2021), 2020)
•Revisiones del código sobre el hombro se hacen en la estación de trabajo del desarrollador y alguien
experimentado es quien realiza la revisión del código. Sin estructuras predefinidas. Es informal, con un
proceso formal de revisión del código que puede ser implantado. Puede usarse este método a través de
herramientas de colaboración.
•Correo electrónico Pass-Around esta lo usan equipos que trabajan remotamente, y confían en el correo
electrónico para las revisiones. Un desarrollador envía por correo cambios al equipo, generalmente por
sistemas de control de versiones. Se realiza una conversación por correo sobre los cambios. Se señalan
errores y se establecen formatos.
•Programación en pares proceso continuo de revisión de código, es cuando trabajan juntos dos
desarrolladores y uno se ocupa de codificar activamente y el otro proporciona información.
Existen dos maneras para optimizarlas
•Compartir la carga entre gente del equipo para que se aporte su opinión y cubran por completo todo el
código para su revisión.
•Se debe presionar esta para que se garantice que se superen las pruebas y el código sea fluido sin errores.
Elija la respuesta correcta
¿Cuál no es una ventaja de la revisión de código?
A) Minimiza probabilidades de tener problemas.
B) Hace eficiente el código.
C) Genera comentarios automáticamente.
Respuesta: C
¿Cuáles son las maneras de revisión de código que existen para Daityari?
A) Revisiones sobre el hombro, correo electrónico, uso de herramientas, programación en pares.
B) Revisiones sobre el hombro, marco teórico, uso de herramientas, programación en pares.
C) Generalización, especialización, subclase.
Respuesta: A
¿En qué consiste la revisión de código por correo electrónico?
A) Se envían respuestas y se ejecuta un código por correo electrónico.
B) Un desarrollador envía por correo cambios al equipo, generalmente por sistemas de control de
versiones. Se conversa de los cambios.
C) Se envían por correo los desarrolladores el código hasta que no haya error.
Respuesta: B
¿Qué herramienta de revisión de código es considerada ineficiente?:
A) Programación en pares
B) Uso de herramientas.
C) Revisión sobre el hombro.
Respuesta: A

¿Cómo se optimizan revisiones de código?


A) Compartiendo carga, presión de equipo y revisión temprana.
B) Dividiendo el código, tranquilos y revisando al final.
C) Compartiendo carga, presión de equipo y revisando terminado el código.
Respuesta: A

8.3. GESTION DE DEFECTOS (TESTING).


La gestión de defectos consiste en llevar acabo un seguimiento y control de los reportes generados en la
ejecución de pruebas los cuales contienen información de discrepancias entre el resultado esperado y
resultado obtenido. El testing de software o software QA es una disciplina en la ingeniería de software que
permite tener procesos de ejecución de un programa o aplicación y una metodología de trabajo con el
objetivo de localizar errores de software. También puede describirse como el proceso de validación y
verificación de un programa de software o una aplicación.
La verificación y validación es el nombre que se da a los procesos de comprobación y análisis que aseguran
que el software que se desarrolla esta acorde a su especificación y cumple las necesidades de los clientes.
La V&V es un proceso de ciclo de vida completo. Inicia con las revisiones de los requerimientos y
continua con las revisiones del diseño y las inspecciones del código hasta la prueba del producto.
La importancia principal del testing es que nos permite detectar errores en el software y tiene unos objetivos
muy importantes y son:
➢ Hallar y corregir defectos o bugs.
➢ Genera confianza y calidad en software.
➢ Ayuda en la toma de decisiones, pasando a producción los desarrollos que no tengan errores.
➢ Evitar la aparición de nuevos defectos en el futuro que puedan afectar al software.
El testing de software ha cobrado muchísima importancia ante la enorme competencia cualificada del sector
tecnológico. (Reues, 2021)
• Elegir la respuesta correcta, en algunas existen hasta dos correctas.
¿Cuál es la definición principal de gestión de defectos?
D) Consiste en guardar datos de manera correcta.
E) Es aquella herramienta que permite corregir errores en un programa de forma rápida.
F) Es un proceso de validación y verificación de un programa para detectar errores.
Respuesta: C
¿Las pruebas de software se utilizan a menudo junto con los términos?
D) Restauración y validación.
E) Validación y verificación.
F) Corrección y verificación.
Respuesta: B
¿Cuáles son los objetivos principales de gestión de defectos?
A) Detectar errores en el software.
B) Crear errores, pero fáciles de resolver.
C) Evitar que aparezcan errores en el futuro que puedan afectar al software.
Respuesta: A y C
8.4. POLIMORFISMO
En programación orientada a objetos, polimorfismo es la capacidad que tienen los objetos de una clase en
ofrecer respuesta distinta e independiente en función de los parámetros (diferentes implementaciones)
utilizados durante su invocación. Dicho de otro modo, el objeto como entidad puede contener valores de
diferentes tipos durante la ejecución del programa.
Los siguientes polimorfismos son los que más se utilizan actualmente:
➢ Sobrecarga: El más conocido y se aplica cuando existen funciones con el mismo nombre en clases
que son completamente independientes una de la otra.
➢ Asignación: Es el que está más relacionado con el enlace dinámico.
➢ Puro: se usa para nombrar a una función o método que puede recibir varios tipos de argumentos
en tiempo de ejecución. Esto no lo debemos confundir con la sobrecarga, que es otro tipo de
polimorfismo en tiempo de compilación.
➢ Inclusión: Es cuando se puede llamar a un método sin tener que conocer su tipo, así no se toma en
cuenta los detalles de las clases especializadas, utilizando una interfaz común.
En líneas generales en lo que se refiere a la POO, la idea fundamental es proveer una funcionalidad
predeterminada o común en la clase base y de las clases derivadas se espera que provean una funcionalidad
más específica. (Dark, 2020)
• Elegir la respuesta correcta.
¿Qué es el polimorfismo?
A) Es una clase que tiene acceso a otra clase y realiza varios cambios en los métodos.
B) Es la habilidad de un método, variable u objeto de poseer varias formas distintas.
C) Es aquella función que solo puede poseer una forma.
Respuesta: B
¿Cuáles son los tipos de polimorfismo que más se usan?
A) Asignación, sobrecarga, paramétrico.
B) Asignación, puro, genérico.
C) Asignación, sobrecarga, puro, inclusión.
Respuesta: C
“Dos o más funciones comparten el mismo identificador, pero distintas listas de argumentos”, este
concepto hace referencia al polimorfismo de:
A) Asignación.
B) Puro.
C) Sobrecarga.
D) Inclusión.
Respuesta: C
¿Qué polimorfismo es el que más se relaciona con el enlace dinámico?
A) Asignación.
B) Puro.
C) Sobrecarga.
D) Inclusión.
Respuesta: A
8.5. INTERFACES DE PROGRAMACION Y CLASES ABSTRACTAS
Clases Abstractas
En general entendemos por clase totalmente abstracta cualquier clase en la que todos sus métodos son
abstractos.
La abstracción de métodos es una técnica muy útil para definir patrones de comportamiento de aquellas
clases que hereden de la clase que estamos definiendo.
Un método abstracto es un método de una clase para el cual no se va a proporcionar implementación, sino
que se espera que las clases que heredan de ella implementen dicho método. En Delphi, si se intenta ejecutar
un método abstracto obtendremos una excepción puesto que realmente no hay un código definido para ese
método.
¿Cuándo usar las clases abstractas y las interfaces?
La decisión de cuando deben usarse clases abstractas y cuando deben usarse interfaces ha surgido muchas
veces y no es una de esas discusiones complejas con muchos detractores de cada una de las opciones. En
general hay una regla básica que suele dar buen resultado una y otra vez: Utiliza clases abstractas para
definir relaciones que puedan responder a la frase «es un», utiliza interfaces para definir relaciones que
puedan responder a la frase «es capaz de», o dicho de otra forma, una clase abstracta generalmente
representa lo que un objeto es, mientras que un interfaz representa algo que el objeto puede hacer.
Interfaces
Una interface es otra forma de definir un modelo de comportamiento. Cuando hablamos de clases abstractas
definimos las características básicas de un tipo de objeto, sin embargo, cuando definimos interfaces estamos
hablando de capacidades o habilidades de un objeto. (Jorge, 2017)
• Elegir la respuesta correcta, en algunas existen hasta dos correctas.
¿Qué es una interfaz?
A) Un objeto que no tiene datos ni código.
B) Es aquella que proporciona una implementación de sus métodos.
C) Es una clase que no puede ser instanciada.
Respuesta: A
¿Cuál es la utilidad de las interfaces?
A) Establecer relaciones entre clases que no están relacionadas.
B) Aísla un elemento del contexto o del resto de elementos del sistema.
C) Se puede simular la herencia múltiple.
D) Permite definir patrones de comportamiento de clases que hereden de la clase que estamos
definiendo.
Respuesta: A y C
Una clase abstracta puede ser:
A) Instanciada.
B) Heredada
Respuesta: B

8.6. MODELO VISTA CONTROLADOR.


El patrón de arquitectura Modelo Vista Controlador (MVC) es un estilo de programación el cual consiste
en separar los distintos aspectos que se toman en cuenta en el desarrollo de un programa, según (García,
2017) “El MVC sirve clasificar la información, la lógica del sistema y la interfaz que se le presenta al
usuario”, es decir, que se desarrolla un programa de una forma mucho más ordenada y eficaz, los aspectos
en los que se clasifica este estilo de programación son los siguientes:
• Modelo
Es el responsable de gestionar, manipular, y administrar todos los datos que existan en el software que se
está desarrollando, un ejemplo de este componente es una base de datos, ya que se pueden realizar cualquier
tipo de cambios o modificaciones y además añadir datos si lo desea el usuario. Aquí también se almacena
la lógica en la que se administran los datos al interactuar con la comunidad que desee usar el software
desarrollado.
• Vista
Este componente consiste en la interfaz con la que el usuario va a interactuar, es decir, lo que el usuario va
a visualizar en pantalla, ya sea pantallas, distintas ventanas, páginas web, formularios, entre otros, la Vista
es la responsable de:
o Recibir datos provenientes de modelo para poder presentar al usuario.
o Tener un registro de su controlador que está asociado.
o Es la que se encarga del frontend.
• Controlador
El controlador es el encargado de gestionar todas las acciones que realiza el software, es considerado como
el cerebro de un programa, ya que es en este componente en donde se gestiona y procesa todas las
instrucciones que el usuario envía. El controlador realiza varias acciones, entre ellas:
o Recibe instrucciones del usuario, las mismas que pueden ser un clic o un ingreso de
cualquier tipo de dato.
o Contiene reglas que sirven para gestionar los eventos que puede presentar el software y sus
respectivas acciones para solventar dichos eventos.
Preguntas
¿De qué es responsable el componente controlador en un programa?
A) De interactuar con el usuario a través de una interfaz gráfica del usuario (GUI).
B) De recibir y procesar las instrucciones enviadas por parte del usuario y así poder gestionar las
acciones que se realicen en el software.
C) De administrar todos los datos que existan en el software, simulando una especie de base de datos.
Respuesta: B)
¿Cuál es la componente del patrón de arquitectura MVC que es la encargada de interactuar con el
usuario a través de interfaces gráficas o cualquier otro método?
A) Vista.
B) Modelo.
C) Controlador.
D) Ninguna de las anteriores.
Respuesta: A)
¿Cuál es la ventaja que brinda el manejo del patrón de arquitectura MVC?
A) Que el proceso de desarrollo de un programa tenga un nivel de desordenamiento muy alto.
B) Que no se puedan distinguir las distintas componentes que forman parte de un programa
desarrollado con el patrón de arquitectura MVC
C) La ventaja de que el proceso de desarrollo de un programa con un nivel de complejidad alto sea
mucho más manejable y sea muy ordenado, para que de este modo sea más fácil realizar
modificaciones en el software.
D) Ninguna de las anteriores.
Respuesta: C)
8.7. BASE DE DATOS NO SQL.
Una base de datos es aquella que puede guardar, añadir, modificar datos que tengan algo en común, según
(UNIR REVISTA, 2020) “Las bases de datos son un conjunto almacenado de información para ser
procesada”, es decir que administra información de un aspecto específico, por ejemplo, una base de datos
con la información de los clientes de un almacén.
Las bases de datos NoSQL son aquellas en las que los datos no tienen la necesidad de relacionarse entre sí,
a este tipo de base de datos se lo conoce como no relacional, esto hace que los datos no tengan que
almacenarse en estructuras fijas, sino que se almacenan los datos en diferentes sitios.
Las principales ventajas que brinda el manejo de BBDD NoSQL son las siguientes:
• Los datos no tienen que almacenarse en tablas.
• Los sistemas que las soportan tienen una mayor escalabilidad horizontal.
• Son más eficientes en el procesamiento de los datos que las BBDD relacionales.
• Utilizan la constancia eventual, esto quiere decir que cualquier modificación realizada en los datos
será aplicada en todo el sistema.
• Programación orientada a objetos flexible y fácil de utilizar.
Algunos puntos negativos que tienen las BBDD NoSQL son:
• Carecen de un soporte que garantice su funcionamiento en diferentes sistemas operativos.
• No gozan de una grandiosa operabilidad, ya que estas BBDD utilizan sus propios medios para
consultar datos.
• Las interfaces de gestión con las que están incorporadas carecen de intuición.
Los expertos consideran que el manejo de BBDD NoSQL es necesario cuando se requiera diseñar una
aplicación, la cual maneje una gran cantidad de datos, ya que las BBDD relacionales no fueron diseñadas
para manejar dichas cantidades de datos, unos ejemplos de BBDD NoSQL son:
Amazon, Google, Facebook, entre otros.
Preguntas
¿A qué tipo de BBDD pertenece la BBDD NoSQL?
A) Relacional
B) No Relacional
C) Otros
Respuesta: B)
¿Cuál es una de las ventajas que brinda el manejo de BBDD NoSQL?
A) Más eficiencia en el procesamiento de los datos que las BBDD relacionales.
B) Los datos tienen que almacenarse en tablas.
C) Carecen de un soporte que garantice su funcionamiento en diferentes sistemas operativos.
D) Ninguna de las anteriores
Respuesta: A)
¿Cuándo existe la necesidad de hacer uso de BBDD NoSQL?
A) Cuando se requiera manejar una mínima cantidad de datos.
B) Cuando se requiera manejar grandes cantidades de datos.
C) Cuando los datos que se requiere almacenar tienen una estructura fija.
D) Cuando se requiere que todos los datos sean consistentes.
Respuesta: B)
8.8. COMPONENTES Y OBJETOS GRÁFICOS.
Los componentes y objetos gráficos son aquellos que constituyen las partes principales de una interfaz
gráfica, según (Elorduy, 2021) “Un componente es un objeto que tiene una representación gráfica, que se
puede mostrar en la pantalla y con la que puede interactuar el usuario”, esto quiere decir que los
componentes y objetos gráficos sirven para crear interfaces gráficas del usuario (GUI) para que los usuarios
puedan visualizar mensajes que el programa requiera mostrar a los mismos y así conseguir que los usuarios
puedan interactuar con el software del programa desarrollado.
Existen varios tipos de componentes gráficos con los que se pueden crear distintas interfaces gráficas en el
lenguaje de programación java, algunas de ellas son:
• Etiquetas de texto. – Son aquellas que muestran en pantalla un mensaje al usuario, para su
utilización debe estar instanciada la clase JLabel, para lo cual se le debe enviar como parámetro
una cadena de caracteres tipo String y esta cadena será mostrada al usuario.
• Campos de texto. – Consisten en crear unos espacios en donde el usuario tendrá la posibilidad de
ingresar un texto, pertenecen a la clase JTextField.
• Botón. – Son aquellos que sirven para que el usuario tome decisiones en el programa, pertenecen
a la clase JButton y para su instanciación se debe mandar el nombre con el cual se quiere que se
muestre dicho botón.
• Botones de CheckBox. – Consisten en una lista de opciones, las cuales tienen un campo para que
el usuario pueda seleccionar las opciones que desee, pertenecen a la clase JCheckBox.
• Área de texto. – Consisten en un recuadro donde se muestra un mensaje que el programa le quiera
mostrar al usuario, pertenecen a la clase JTextArea.
Preguntas
¿A qué clase pertenecen las etiquetas de texto?
A) JCheckBox
B) JTextArea
C) JLabel
D) Ninguna de las anteriores
Respuesta: C)
¿A qué clase pertenecen los campos de texto?
A) JTextField
B) JCheckBox
C) JLabel
D) Ninguna de las anteriores
Respuesta: A)
¿A qué clase pertenecen los botones?
A) JTextField
B) JCheckBox
C) JLabel
D) Ninguna de las anteriores
Respuesta: D)
¿En qué consisten los objetos gráficos?
A) Consisten en objetos que tiene una representación gráfica que se puede mostrar en la pantalla a
través de una ventana.
B) Consisten en objetos que son parte de una imagen física de algún tema en particular.
C) Consisten en partes del código del software.
D) Ninguna de las anteriores.
Respuesta: A)
4. CONCLUSIONES
• Con el desarrollo del cuestionario se pudo fortalecer los conocimientos aprendidos sobre
todos los temas contenidos en la primera unidad, así como también se logró profundizar en
dichos temas, logrando así obtener resultados de aprendizaje favorables para nuestro
desarrollo académico.
• El cuestionario realizado se lo ha hecho con preguntas en base a los temas vistos en las clases y
con ayuda de los trabajos autónomos ya que mediante el uso de estos se pudo obtener un buen
resultado con las respuestas del cuestionario, por lo que se puede afirmar que las respuestas están
contestadas de manera correcta.
• Se alcanzó el conocimiento deseado profundizando el contenido, para poder realizar preguntas
que respondiéndolas se aclaran dudas y se logra comprender el temario, teniendo en cuenta su uso
en los programas de estudio.
5. RECOMENDACIONES:
• Se recomienda trabajar con compañerismo y responsabilidad el trabajo grupal, ya que, con esto se
pueden tener resultados positivos de la actividad desarrollada, gracias a un buen trabajo en grupo
se pueden desarrollar habilidades para desempeñarse de una mejor manera en ambientes que se
comparta una labor, así que se recomienda prestarle la atención que corresponde y tratar de ayudar
a todos los compañeros de trabajo para un buen desarrollo de la actividad.
• Se recomienda investigar cada tema de este cuestionario más a fondo para ampliar mas los
conocimientos que ya se tienen ya que siempre queda una duda y eso se puede solventar con ayuda
de páginas web o sitios donde se pueda encontrar el tema buscado.
• Releer el temario de lo visto en el parcial, realizando posibles preguntas junto a sus respuestas
fortalece la retención del contenido para realizar una mejor programación y poder llegar a
comprender todo la información de estudio.

6. BIBLIOGRAFÍA
Daityari, S. (30 de diciembre de 2020). Las 12 mejores herramientas de revisión de código para
desarrolladores (edición 2021). Obtenido de Kinsta: https://kinsta.com/es/blog/herramientas-
de-revision-de-codigo/

Dark. (03 de 02 de 2020). Geek. Obtenido de Geek: https://ifgeekthen.nttdata.com/es/polimorfismo-en-


java-programaci%C3%B3n-orientada-objetos

Dataprix. (29 de septiembre de 2009). 2.2.1. Generalización/Especialización. Obtenido de Dataprix:


https://www.dataprix.com/es/bases-datos-master-software-libre-uoc/221-
generalizacionespecializacion

Edukativos. (15 de agosto de 2013). Generalizacipon y especialización: herencia. Obtenido de


EDUKATIVOS.COM Apuntes para universitarios: https://edukativos.com/apuntes/archives/3707

Elorduy, G. (Enero de 2021). Contenedores y componentes en Java. Obtenido de Open Source Initiative:
https://javaparajavatos.wordpress.com/2016/10/06/contenedores-y-componentes-en-
java/#:~:text=Los%20componentes%20o%20elementos%20gr%C3%A1ficos%20para%20crear%2
0interfaces,y%20con%20la%20que%20puede%20interactuar%20el%20usuario.

García, M. (5 de Octubre de 2017). MVC (Modelo-Vista-Controlador): ¿qué es y para qué sirve? Obtenido
de Coding or not: https://codingornot.com/mvc-modelo-vista-controlador-que-es-y-para-que-
sirve

Jorge. (07 de 07 de 2017). Developer Fields. Obtenido de Developer Fields:


https://www.devfields.com/clases-abstractas-e-interfaces/

Reues. (26 de 12 de 2021). Programa en linea. Obtenido de Programa en linea:


https://www.programaenlinea.net/que-es-el-testing-de-software-y-por-que-es-tan-importante/
UNIR REVISTA. (23 de Enero de 2020). Bases de Datos NoSQL: qué son y cuáles son sus ventajas.
Obtenido de UNIR REVISTA: https://www.unir.net/ingenieria/revista/bases-de-datos-nosql/

Ponce Hernández Jericson Steven.


Porras Pilataxi Dilan Mateo.
Salazar Naupari Daniel Adrián.
Estudiantes NRC7493
Foro
“Sobre Archivos”
Nota: 0,7/1
Prueba
“Programa sobre almacén de ropa”
Nota: 1/4
Nota sumada dos puntos: 3/4
Examen
“Programa de almacén de ropa con interfaz
gráfica”
Nota: 2,6/6
Nombre: Dilan Mateo Porras Pilataxi
NRC: 7493

También podría gustarte