El documento contiene 13 preguntas sobre conceptos relacionados con procesos de software como algoritmos, lenguajes de programación, compilación, depuración, ciclo de vida del desarrollo de software y documentación. Se solicita responder cada pregunta brindando detalles sobre cada tema.
1. Nombres : camilo sierra salamanca ID 258085
Nombres : óscar Javier Sánchez aguas
Taller de Procesos de Software
En parejas, realice la lectura denominada Procesos de Software, y conteste las
siguientes preguntas:
1. Que es un algoritmo?
2. Cuales son las características de los algoritmos?
3. Escriba un ejemplo de un algoritmo
4. Que es interpretar un algoritmo?
5. Enuncie y explique las instrucciones básicas de un lenguaje de programación.
6. Que diferencias hay entre interpretar y compilar?
7. Cuales son las fases del ciclo de vida de desarrollo de software?
8. Que diferencia hay entre analizar un problema y diseñar un algoritmo?
9. Que se hace cuando se codifica un algoritmo?
10. Que diferencia hay entre un programa fuente, un programa objeto y un
Programa ejecutable?
11. Cuando se compila un programa, se detectan errores lógicos, semánticos y
Sintácticos. Que diferencia hay entre cada uno de ellos?
12. Que diferencia hay entre prueba y depuración de un programa?
13. Por que es importante la documentación de un programa?
2. Solución
1) es un método para resolver un problema, es el objeto fundamental para enseñar a resolver
problemas mediante una computadora.
2) la características de los algoritmos son:
• Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
• Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el
mismo resultado cada vez.
• Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún
momento; o sea, debe tener un numero finito de pasos.
3) ejemplo de un algoritmo
1- se necesita hacer un algoritmo para un préstamo de un libro en la biblioteca.
1- inicio
2- solicitar el libro
3- recibir el libro
4- validar información del usuario
5- esta habilitado?
6- Si : prestar el libro
5.1 entregar
6 no prestar el libro
6.1 notificar la situación
7 fin
4) es un traductor que toma un programa fuente, lo traduce y después lo ejecuta .
5) las instrucciones son :
• instrucciones de entrada y salida: instrucciones de trasferencias de
información y de datos entre dispositivos periférico.
• Instrucciones aritmético-lógicas : instrucciones que ejecutan operaciones
aritméticas ( suma, resta, multiplicación, división )
• Instrucciones selectivas: instrucciones que permiten la selección de tareas
alternativas en función de los resultados de diferentes expresiones
condicionales.
• Instrucciones repetitivas: instrucción que permite la repetición de secuencias
de instrucciones un numero determinado de veces.
6) la diferencia que existe entre compilar e interpretar es que el intérprete, no compila todo el
programa de una vez, sino que lee y compila una por una las instrucciones de un programa
fuente, en el orden de ejecución.
3. 7)
• Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia
global.
• Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos
del cliente y examinar cualquier restricción que se pueda aplicar.
• Diseño general: requisitos generales de la arquitectura de la aplicación.
• Diseño en detalle: definición precisa de cada subconjunto de la aplicación.
• Programación (programación e implementación): es la implementación de un lenguaje de
programación para crear las funciones definidas durante la etapa de diseño.
• Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar
que se implementaron de acuerdo con las especificaciones.
• Integración: para garantizar que los diferentes módulos se integren con la aplicación. Éste
es el propósito de la prueba de integración que está cuidadosamente documentada.
• Prueba beta (o validación), para garantizar que el software cumple con las especificaciones
originales.
• Documentación: sirve para documentar información necesaria para los usuarios del software
y para desarrollos futuros.
• Implementación
• Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las
actualizaciones secundarias del software (mantenimiento continuo).
El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de una
aplicación dependen del tipo de modelo de ciclo de vida acordado entre el cliente y el equipo de
desarrolladores.
8) la diferencia que hay entre analizar un problema y diseñar un algoritmo es que en el análisis
se requiere una clara definición, donde se complete exactamente lo que debe hacer el programa
y el resultado de solución deseada y en el desarrollo se determina como hace el programa la
tarea solicitada.
9) lo que se hace es sustituir las palabras reservadas en español por sus homólogos en inglés,
en el lenguaje de programación correspondiente y las operaciones/las instrucciones indicadas en
el lenguaje natural expresarlas en el lenguaje de programación correspondiente.
10) la diferencia que hay entre estos: que el programa fuente debe ser traducido al lenguaje
máquina, el programa objeto no es ejecutable directamente, el programa ejecutable describe el
proceso completo de compilación/ejecución de un programa.
11) la diferencia que existen entre estos errores es: que el lógico puede ocasionar por usar un
carácter invalido, el sintáctico de detecta cuando el analizador sintáctico espera un símbolo que
no corresponde al que se acaba de leer, y el semántico corresponde a la semántica del lenguaje
de programación.
4. 12) la diferencia que hay entre prueba y depuración de un programa es que: en la prueba se
hace la ejecución de un programa con una amplia variedad de datos de entrada, y en la
depuración es el proceso de encontrar los errores del programa y corregir o eliminar dichos
errores.
13) porque es una decisiva influencia en el producto final y es vital cuando se desea corregir
posibles errores futuro bien cambiar el programa.