Está en la página 1de 20

UNIVERSIDAD DE LAS FUERZAS ARMADAS

ESPE

ASIGNATURA:

PROGRAMACIÓN ORIENTADA A OBJETOS (POO)

ING. RUBEN ARROYO

DOCENTE TC DE DCCO

Sangolquí- Ecuador, noviembre de 2022

1
ÍNDICE
1. CARÁTULA 1
2. ÍNDICE 2

A. INFORMACIÓN GENERAL: 4
1. TAA7.- Elaborar el resumen sobre “Revisiones de código” 5
2. TAA8.- Elaborar el resumen sobre “Gestión de Defectos” 5
3. TAA9.- Elaborar el resumen sobre “Modelo Vista Controlador” 5
B. EVIDENCIAS DEL TRABAJO AUTÓNOMO 7: 6
1. Tema: Revisiones de código (TAA7) 6
2. Objetivos: 6
2.1. Objetivo General: 6
2.2. Objetivos Específicos: 6
3. Desarrollo: 6
3.1 Definición: 6
3.2 Herramienta “JUnit”: 6
4. Conclusiones: 8
5. Recomendaciones: 8
6. Bibliografía: 9
C. EVIDENCIAS DEL TRABAJO AUTONOMO 8: 10
1. Tema: Gestión de defectos (TAA8). 10
2. Objetivos: 10
2.1 Objetivo General: 10
2.2 Objetivos Específicos: 10
3. Desarrollo: 10
3.1 Definición: 10
3.2 Herramienta Debug en Netbeans: 10
3.3 Importancia del debug: 13
4. Conclusiones: 14
5. Recomendaciones: 14
6. Bibliografía 14
D. EVIDENCIAS DEL TRABAJO AUTÓNOMO 9: 15
1. Tema: Modelo Vista Controlador (TAA9) 15
2. Objetivos: 15
2.1 Objetivo General: 15

2
2.2 Objetivos Específicos: 15
3. Desarrollo: 15
3.1 Definición: 15
3.2 Descripción del patrón MVC es: 15
3.3 Ejemplo de MVC: 16
4. Conclusiones: 19
5. Recomendaciones: 19
6. Bibliografía 20

3
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

● ESTUDIANTE: Cristopher Alejandro Lasluisa Valverde


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

4
“SEGUNDA UNIDAD”
TRABAJOS AUTÓNOMOS

UNIDAD DOS
1. TAA7.- Elaborar el resumen sobre “Revisiones de código”
2. TAA8.- Elaborar el resumen sobre “Gestión de Defectos”
3. TAA9.- Elaborar el resumen sobre “Modelo Vista Controlador”

5
B. EVIDENCIAS DEL TRABAJO AUTÓNOMO 7:
1. Tema: Revisiones de código (TAA7)

2. Objetivos:
2.1. Objetivo General:
Describir cómo se puede realizar la correcta inspección de un código para poder que se está
haciendo bien y que se puede mejorar

2.2. Objetivos Específicos:


● Encontrar las cosas que se deben corregir dentro de un código.
● Analizar el correcto uso de la herramienta “JUnit” dentro de un programa.

3. Desarrollo:
3.1 Definición:
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.” (Abdazabal, 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.

3.2 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).

Además, esta herramienta nos permite llevar un registro del cómo va compilando cada
una de las partes del código al momento de llevar una prueba de algún cálculo
matemático realizado dentro de alguna clase.
Dentro de NetBeans nos brinda la opción de poder agregar una clase que sirva de ayuda
para poder realizar varias pruebas según sea nuestro requerimiento, esto se da dando
un click derecho en el paquete y seleccionando el paquete a probar, cabe recalcar que
para realizar las distintas pruebas dentro de un código éste debe contener una
estructura acorde a los requerimientos que entre los más comunes se encuentran los
cálculos matemáticos a obtener dentro de un programa como se puede apreciar en la
siguiente figura la correcta forma de implementar la herramienta en el IDE “Netbeans”:

6
Figura 1. Implementación del test en NetBeans. Fuente:
https://www.youtube.com/watch?v=ZOGz_1XtTKc

Esta herramienta crea una clase que nos sirve de ayuda para implementar dentro de cualquier
programa las herramientas necesarias para una prueba. De tal manera que dentro del código
puedan ser incluidas y usadas por el programador, tales como se muestran en la siguiente figura,
mostrándonos el número de compilaciones, los errores, entre otros:

Figura 2. Implementación del test en NetBeans. Fuente:


https://www.youtube.com/watch?v=ZOGz_1XtTKc

Cómo se puede apreciar, existe un apartado dentro del código llamado “@Test” que corresponde
a las pruebas a realizar con los cálculos respectivos a cada una de las variables existentes. Que
además nos brindan la opción de manejar excepciones, que si bien es cierto dentro de la
programación es el error más común en la ejecución de un código.

7
Además, según Rodríguez: “si otro programador distinto tiene estos tests y se hace cualquier
modificación pues podrá ejecutarlos y decir bueno ha hecho modificaciones, pero las pruebas
siguen funcionando correctamente entonces sí que es importante ya lo comenté antes trazar una
buena estrategia de pruebas según los criterios que tengáis, pero antes de empezar a hacer nada
de esto hay que tener muy claro cuáles son los tests que vamos a probar” (Diéguez, 2021).

A esta ejecución del código se la puede agregar tanto un mensaje de cuándo inicia el test y cuándo
lo termina para así tener claro cómo funciona esta herramienta, e incluso se puede observar la hora
en la cual se arranca y culmina la ejecución de cada una de las partes del código con el uso de la
herramienta “JUnit” como se puede observar en la siguiente figura:

Figura 3. Ejecución del test en NetBeans. Fuente:


https://www.youtube.com/watch?v=ZOGz_1XtTKc

Herrera menciona: “Mientras se revisa las pruebas (especialmente las pruebas del tipo BDD)
empezará a revisar muy profundo en el código. En este momento empezará a tomar notas sobre
el algoritmo, estructura de código, código limpio, partes no utilizadas, posibles cuellos de botella y
otras recomendaciones.” (Herrera, 2015).

4. Conclusiones:

• En conclusión, en el presente resumen se cumple con el objetivo general el cual es


proporcionar información para el buen entendimiento de lo que se refiere a la correcta
forma de revisar un código ya sea para determinar errores o mejorar la sintaxis.
• Además, se utilizó como ejemplo a la herramienta JUnit que nos permite ir comprobando
la ejecución de cada línea del código a testear.
• Finalmente, dentro del resumen se muestran figuras que ayudan a la mejor comprensión
del tema y demostrando como hacer una prueba dentro del IDE NetBeans.

5. Recomendaciones:
• Se recomienda tener muy claro el concepto de lo que se refiere a el cómo proceder a
realizar una buena revisión de un código, para ya sea mejorarlo o corregirlo
• Además, es recomendable llevar el concepto de la herramienta “JUnit, pues esta nos
proporciona la forma más completa de ir testeando cada línea de un código al momento
de la ejecución.

8
• Si bien es cierto existen los gráficos adjuntos al resumen nos ofrecen una opción visual del
cómo podemos realizar una prueba de un código a paritr del IDE “NetBeans”
principalmente en el lenguaje “Java”.

6. Bibliografía:
Abdazabal, L. (14 de Junio de 2015). ¿Qué es la revisión de código y cómo se realiza?
Obtenido de code review: https://code2read.wordpress.com/2015/06/14/code-
review-que-es-la-revision-de-codigo-y-como-se-realiza/
Diéguez, F. R. (19 de Mayo de 2021). Pruebas unitarias en Netbeans. Obtenido de
https://www.youtube.com/watch?v=ZOGz_1XtTKc
Herrera, C. (12 de Octubre de 2015). Una forma de hacer revisión de código. Obtenido de
https://www.clubdetecnologia.net/blog/2017/una-forma-de-hacer-revision-de-
codigo/

9
C. EVIDENCIAS DEL TRABAJO AUTONOMO 8:
1. Tema: Gestión de defectos (TAA8).

2. Objetivos:
2.1 Objetivo General:
Evaluar la calidad de un proyecto para mejorarlo al identificar defectos y problemas, a través de
una serie de pruebas.

2.2 Objetivos Específicos:


• Conocer el término “Testing” para identificar permite prevenir errores.
• Analizar cada una de las líneas de un código para implementar las distintas herramientas
de prueba

3. Desarrollo:
3.1 Definición:
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 programación, como tratar de
acceder a un elemento de un array fuera de sus límites.” (Roldán, 2016).

3.2 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).
Para realizar la depuración de un programa, se debe establecer en primer lugar un punto
de interrupción donde debe pararse la ejecución de la aplicación. Esto se consigue con
alguna de las siguientes acciones sobre la línea de código en la que se desee establecer
el punto de interrupción:

• Clic en el margen izquierdo


• Menú contextual > "Ocultar/Mostrar línea de punto de interrupción"
• Pulsando la combinación de teclas: Ctrl + F8
• Menú "Depurar > Ocultar/Mostrar línea de punto de interrupción"

Al realizar alguna de esas acciones, se marca en color rosado la línea que se ha convertido
en un punto de interrupción, y se muestra un pequeño cuadrado en el margen izquierdo.

10
Figura 3. Punto de interrupción. Fuente:
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.

Una vez establecido al menos un punto de interrupción, se debe ejecutar la aplicación en


modo depuración. Esto se puede llevar a cabo sobre el proyecto o sólo sobre el archivo
actual:

• Depurar archivo actual:


o Menú contextual > "Debug nombreArchivo"
o Menú "Depurar > Debug nombreArchivo"
o Pulsando la combinación de teclas: Ctrl + Mayúsculas + F5
• Depurar proyecto:
o Menú "Depurar > Debug Main Project"
o Icono "Debug Main Project"

Al llegar la ejecución de la aplicación al punto de interrupción establecido, se destaca


en color verde la línea de código en la que se encuentre la ejecución.

11
Figura 4. Línea de código en la que se encuentra el compilador. Fuente:
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%20v
ariables%20en%20cada%20paso
En la parte inferior se muestra la ventana de observación de las variables locales, en la
que se puede comprobar el valor que va tomando cada variable.
A partir del momento en que se para la ejecución del programa se puede continuar con
la ejecución línea a línea utilizando la opción "Continuar ejecución":

• Pulsando la tecla F8
• Menú "Depurar > Continuar ejecución"
• Icono "Continuar ejecución"

Así se va mostrando en verde la línea que se va ejecutando en cada momento, y se


van actualizando en la ventana inferior los valores que van tomando las variables.

12
Figura 5. Actualización del compilador. Fuente:
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%2
0variables%20en%20cada%20paso
En caso de que se desee que el programa continúe la ejecución sin más paradas, se
dispone de la opción "Continuar":

• Pulsando la tecla F5
• Menú "Depurar > Continuar"
• Icono "Continuar"

3.3 Importancia del debug:


Gómez pronuncia: “Los programadores se suelen enfrentar a diferentes tipos de problemas al
desempeñarse en su trabajo, sin embargo, el más desafiante de ellos es encontrar las fallas o
problemas que impiden la ejecución del código de un programa. El debug o la depuración de
programas es uno de los procesos que le ayudan a este tipo de profesionales a mejorar el código
de sus programas y obtener buenos resultados en su trabajo.” (Gómez, 2019).

13
Cualquier persona interesada en aprender a programar debe conocer a la perfección cómo funciona
el proceso de debugging, ya que el debug forma parte de las actividades regulares en el trabajo del
programador. A continuación, te comentaremos todo lo que debes saber sobre el debug y te
explicaremos qué herramientas puedes utilizar para depurar el código de tus programas siguiendo
las principales reglas como lo son la:

• Verificación: El papel de la verificación comprende comprobar que el software está de


acuerdo con su especificación. Se comprueba que el sistema cumple los requerimientos
funcionales y no funcionales que se le han especificado.
• Validación: La validación es un proceso más general. Se debe asegurar que el software
cumple las expectativas del cliente. Va más allá de comprobar si el sistema está acorde con
su especificación, para probar que el software hace lo que el usuario espera a diferencia de
lo que se ha especificado.

4. Conclusiones:

• En conclusión, se debe tener muy claro que cuando hablamos de la gestión de defectos,
como su nombre lo indica nos permite realizar distintas pruebas para mejorar un código,
prevenir errores o simplemente comprobar su funcionamiento.
• Además, dentro del IDE “NetBeans” hay que tomar en cuenta que se debe tener un
conocimiento previo del funcionamiento de la herramienta “Debug” para realizar un mejor
testeo de un proyecto en específico que cumpla con las distintas pruebas.
• Por último, cabe mencionar que para poder llevar a cabo el uso de la herramienta “Debug”
se debe cumplir con los pasos propuestos en la estructura del resumen mencionados en las
figuras adjuntas.
5. Recomendaciones:
• Se recomienda, comprender a profundidad el concepto de lo que se refiere a la gestión de
defectos para poder llevar a cabo distintas pruebas para verificar el funcionamiento o
estructura de un código.
• Además, es recomendable tener un concepto básico del funcionamiento de la herramienta
“Debug” para poder revisar un proyecto línea por línea.
• Antes de finalizar, se sugiere llevar un correcto análisis que nos permita verificar y validar
un código, lo cual corresponde a la primera prueba a realizar a un proyecto.

6. Bibliografía

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.
Gómez, K. (2021). Diagramas UML. Obtenido de Diagramas UML:
https://diagramasuml.com/diagrama-de-clases/
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

14
D. EVIDENCIAS DEL TRABAJO AUTÓNOMO 9:
1. Tema: Modelo Vista Controlador (TAA9)

2. Objetivos:
2.1 Objetivo General:
Analizar el concepto de “Modelo Vista Controlador” para llevarlo a la práctica en Programación
Orientada a Objetos

2.2 Objetivos Específicos:


• Analizar el manejo del controlador e interface con el usuario.
• Conocer las ventajas y desventajas de un (MVC) mediante un ejemplo.

3. Desarrollo:
3.1 Definición:
Según Álvarez: “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.” (Álvarez, 2020).

MVC se usa inicialmente en sistemas donde se requiere el uso de interfaces de usuario, aunque en
la práctica el mismo patrón de arquitectura se puede utilizar para distintos tipos de aplicaciones.
Surge de la necesidad de crear software más robusto con un ciclo de vida más adecuado, donde se
potencie la facilidad de mantenimiento, reutilización del código y la separación de conceptos.

3.2 Descripción del patrón MVC es:


• Vista: Representa la interfaz de usuario y todas las herramientas con las cuales el usuario
hace uso del programa.
• Modelo: Es donde esta toda la lógica del negocio, la representación de todo el sistema
incluido la interacción con una base de datos, si es que el programa así lo requiere.
• Controlador: Este componente es el que responde a la interacción (eventos) que hace el
usuario en la interfaz y realiza las peticiones al modelo para pasar estos a la vista. Aún no
está del todo claro, pero con el siguiente ejemplo, lo comprenderemos mejor.

15
Figura 6. MVC. Fuente: https://code.google.com/archive/p/gestion-
matricula/wikis/MVC.wiki
Rodríguez menciona: “El modelo desconoce la existencia de las vistas y del controlador. Ese
enfoque suena interesante, pero en la práctica no es aplicable pues deben existir interfaces que
permitan a los módulos comunicarse entre sí, por lo que SmallTalk sugiere que el modelo en
realidad esté formado por dos submódulos: El modelo del dominio y el modelo de la aplicación.”
(Rodriguez, 2012).
• Modelo del dominio
Se podría decir que el modelo del dominio (o el modelo propiamente dicho) es el conjunto de
clases que un ingeniero de software modela al analizar el problema que desea resolver; así,
pertenecerían al modelo del dominio: El cliente, la factura, la temperatura, la hora, etc. El modelo
del dominio no debería tener relación con nada externo a la información que contiene.
• Modelo de la aplicación
El modelo de la aplicación es un conjunto de clases que se relacionan con el modelo del dominio,
que tienen conocimiento de las vistas y que implementan los mecanismos necesarios para
notificar a éstas últimas sobre los cambios que se pudieren dar en el modelo del dominio. El
modelo de la aplicación es llamado también coordinador de la aplicación.

3.3 Ejemplo de MVC:


1. Crear un nuevo proyecto en NetBeans, para este ejemplo, el proyecto se llama "jc_mvc_demo".
Crea una estructura de paquetes (Controller, Model, View), hacemos esto para separar cada
componente, ser más organizados.
2. Empecemos creando la lógica de la aplicación, crea una nueva clase en el paquete Model, lo
nombramos "modelo.java" con el siguiente codigo:

Figura 6. Ejemplo MVC. Fuente: https://code.google.com/archive/p/gestion-


matricula/wikis/MVC.wiki
3. Diseñamos ahora la interfaz de usuario, nuestra VISTA. Añade un JFrame al paquete VIEW,
nombrándolo “vista.java", OJO los recuadros marcados con rojo, son los componentes que tendrán

16
interacción con el modelo, así que, para evitar confusiones, es mejor renombrarlos, coloca los
nombres tal como se ven en la imagen de abajo.

Figura 8. Ejemplo MVC. Fuente: https://code.google.com/archive/p/gestion-


matricula/wikis/MVC.wiki
NetBeans, al añadir objetos a nuestro JFrame, automáticamente los coloca como PRIVATE, debemos
cambiar esto, para ello selecciona el objeto "vtxt1" y ve a sus propiedades, en la pestaña CODIGO,
elige el campo MODIFICADORES DE VARIABLE, en la ventana que sale, cambia el atributo PRIVATE,
por PUBLIC y dale a aceptar. Repite esta acción para todos los objetos que están marcados con rojo
en la imagen anterior.

Figura 6. Ejemplo. Fuente: https://code.google.com/archive/p/gestion-


matricula/wikis/MVC.wiki

3. Ahora continuamos con el CONTROLADOR de nuestra aplicación, crea una clase


"controlador.java" en el paquete CONTROLLER, el código que debes colocar, es:

17
Figura 6. Ejemplo. Fuente: https://code.google.com/archive/p/gestion-
matricula/wikis/MVC.wiki
Explicación: “nuestra clase controlador, implementa el ActionListener, esto para responder desde
esta clase, los eventos realizados desde la interfaz (VISTA), además en el constructor de la clase,
vemos que se pasan como parámetros, la clase VISTA y la clase MODELO, nuestra clase además
cuenta las funciones, INICIAR () la cual inicializa los valores de la interfaz, como ser el atributo título
del JFrame, posicionamiento en pantalla, valores iniciales.” (Guerrero, 2020).
4. Para terminar debemos implementar todo esto en nuestro main.java:

Figura 6. Ejemplo. Fuente: https://code.google.com/archive/p/gestion-


matricula/wikis/MVC.wiki

18
Figura 6. Ejemplo MVC. Fuente: https://code.google.com/archive/p/gestion-
matricula/wikis/MVC.wiki
El patrón MVC, nos permite cambiar la interfaz de usuario (VISTA), sin tocar en lo absoluto el
MODELO de la aplicación, y realizar pequeños cambios en el controlador, mínimos cambios, como
podemos observar en la imagen superior, tenemos la interfaz 1, la cual creamos en este tutorial, y
además una segunda interfaz, totalmente distinta, sin embargo, funciona bajo el mismo MODELO.

4. Conclusiones:

• En conclusión, es de suma importancia el concepto de MVC (Modelo Vista Controlador)


para poder llevarlo a la práctica, pues si bien es cierto, a diferencia de ejecutar un programa
en el IDE “NetBeans” este se ejecuta dentro de una singular pestaña de Java al cuál se le
puede ir agregando opciones, botones, lectores de texto, etc.
• Si bien es cierto, cada concepto se deriva en un distinto concepto que, en este caso, existe
un distinto concepto de lo que es modelo, vista y controlador, para el correcto
funcionamiento es fundamental llevar claro cada uno de ellos para llevarlos a la práctica.
• Finalmente, se cumple con el objetivo de reforzar el conocimiento a través de un ejemplo
y las distintas figuras que nos sirven de ayuda para el entendimiento del cómo se va creando
un proyecto de tipo MVC.

5. Recomendaciones:
• Se recomienda tomar en cuenta el concepto de lo que se refiere a un MVC para poder llevar
una buena práctica al momento de querer realizar una ejecución de un proyecto de este
tipo.
• Además, vale la pena mencionar que, debido a que cada uno de los conceptos se los revisa
por separado, se recomienda llevar un previo conocimiento de lo que es un modelo, la vista
y un controlador para llevarlos a la práctica.

19
• Antes de finalizar, es recomendable revisar el cuáles son los distintos pasos a seguir para
estructurar un código correspondiente a MVC (Modelo Vista Controlador).

6. Bibliografía

Álvarez, M. (28 de Julio de 2020). Qué es MVC. Obtenido de


https://desarrolloweb.com/articulos/que-es-mvc.html
Guerrero, N. (21 de Julio de 2020). Patrón MVC en Java con Netbeans. Obtenido de
https://code.google.com/archive/p/gestion-matricula/wikis/MVC.wiki
Rodriguez, L. (25 de Enero de 2012). El patrón de diseño Modelo-Vista-Controlador
(MVC) y su implementación en Java Swing. Obtenido de
http://www.scielo.org.bo/scielo.php?script=sci_arttext&pid=S1683-
07892004000100005

Firma
Lasluisa Valverde Cristopher Alejandro.
Estudiante NRC8377.

20

También podría gustarte