Consulta de foro
Enviado por Daniel Riquelme • 7 de Octubre de 2019 • Resumen • 809 Palabras (4 Páginas) • 174 Visitas
FORO 1
Considerando que se encuentra en el proceso de desarrollo de una aplicación ¿Cuáles son las diferencias más relevantes que Ud. considera tienen la herramienta de depuración, de compilación y ejecución? Además de lo anterior ¿Cuál es la importancia de la herramienta de depuración del IDE de .Net?
R1:
La verificación o depuración de un programa es el proceso de ejecución del programa con una amplia variedad de datos de entrada, llamados datos de test o prueba, que determinarán si el programa tiene o no errores (“bugs”). Para realizar la verificación se debe desarrollar una amplia gama de datos de test: valores normales de entrada, valores extremos de entrada que comprueben los límites del programa y valores de entrada que comprueben aspectos especiales del programa. La depuración en resumen implica la eliminación de los errores desde el código. La depuración bajo la funcionalidad ‘Debug’ en Visual Studio permitirá recorrer el programa línea a línea en cada una de estas fases y determinar el punto de interrupción que genera el mal funcionamiento.
Compilar es transformar el código de un lenguaje en concreto a código de máquina, y de esta forma obtener un programa ejecutable que se puede leer fácilmente por las computadoras y otras máquinas. Por ejemplo, en un programa se quiere mostrar "Hola mundo", la computadora intenta leer eso y no sabe lo que es. Es por esto que no importa en qué lenguaje creemos nuestro programa, al final tenemos que transformarla (compilar) al lenguaje bit, entendible por las computadoras.
FORO 2
Considere que Ud. es parte de un equipo de desarrollo, donde cada uno de los integrantes se encuentra desarrollando diferentes módulos de un sistema de control de inventario, en el cual se van a registrar diariamente el movimiento de 1000 artículos. Según su experiencia, ¿Cuáles son las características más relevantes del proceso de ejecución de versiones para un proyecto de esta envergadura en .Net?
R1:
El control de versiones es un sistema que registra los cambios realizados sobre un archivo o conjunto de archivos a lo largo del tiempo, de modo que puedas recuperar versiones específicas más adelante. Permite revertir archivos a un estado anterior, o revertir un proyecto entero a un estado anterior, comparar cambios a lo largo del tiempo, ver quién modificó por última vez algo que puede estar causando un problema, quién introdujo un error y cuándo, y mucho más. Usar un proceso de ejecución de versiones también significa generalmente que si se llega a perder algún archivo, es posible recuperarlo fácilmente. Además, se obtienen todos estos beneficios a un coste muy bajo.
El sistema de control de versiones se puede dividir en tres metodologías: Sistemas de Control de versiones Locales, Sistemas de Control de versiones Centralizados y Sistemas de Control de versiones Distribuidos.
- Sistemas de Control de versiones Locales: Funciona básicamente guardando conjuntos de parches (es decir, las diferencias entre archivos) de una versión a otra en un formato especial en disco; puede entonces recrear cómo era un archivo en cualquier momento sumando los distintos parches.
- Sistemas de Control de versiones Centralizados: Esta configuración ofrece muchas ventajas, especialmente frente a Sistemas de Control de versiones Locales. Por ejemplo, todo el mundo puede saber (hasta cierto punto) en qué están trabajando los otros colaboradores del proyecto. Los administradores tienen control detallado de qué puede hacer cada uno; y es mucho más fácil administrar un Sistema de control de versiones centralizados que tener que lidiar con bases de datos locales en cada cliente.
R2
Continuando con la respuesta anterior:
- Sistemas de Control de versiones Distribuidos: Los clientes no sólo descargan la última instantánea de los archivos, replican completamente el repositorio. Así, si un servidor muere, y estos sistemas estaban colaborando a través de él, cualquiera de los repositorios de los clientes puede copiarse en el servidor para restaurarlo. Cada vez que se descarga una instantánea, en realidad se hace una copia de seguridad completa de todos los datos. Es más, muchos de estos sistemas se las arreglan bastante bien teniendo varios repositorios con los que trabajar, por lo que se puede colaborar con distintos grupos simultáneamente dentro del mismo proyecto.
Entre las desventajas, podemos hablar de los Sistemas de Control de versiones Centralizados, esta configuración también tiene serias desventajas. La más obvia es el punto único de fallo que representa el servidor centralizado. Si ese servidor se cae durante una determinado tiempo, entonces durante esa tiempo nadie podrá colaborar o guardar cambios versionados de aquello en lo que estén trabajando. Si el disco duro en el que se encuentra la base de datos central se corrompe, y no se han llevado copias de seguridad adecuadamente, se pierde absolutamente todo, toda la historia del proyecto, salvo aquellas instantáneas que la gente pueda tener en sus máquinas locales. Los Sistemas de versiones locales sufren de este mismo problema, cuando se tiene toda la historia del proyecto en un único lugar, se arriesga a perderlo todo.
...