Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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
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
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
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.
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
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
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/
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