Introducción a la Informática y la Programación
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 6,38 KB
Conceptos Básicos de Programación
Características de un buen programa
- Correcto: Un programa será correcto si hace lo que debe hacer.
- Eficiente: Debe consumir la menor cantidad de recursos.
- Claro: Es muy importante la claridad y legibilidad de todo programa.
- Modular: Los programas suelen subdividirse en subprogramas para reducir la complejidad.
Desarrollo de una aplicación
- Programa Fuente: Programa escrito en un lenguaje de alto nivel.
- Compilador: Programa encargado de traducir los programas fuentes escritos en un lenguaje de alto nivel a lenguaje máquina.
- Código Objeto: Es el programa fuente traducido.
- Código Ejecutable: Traducción completa a código máquina, realizada por el enlazador, del programa fuente y que ya es directamente ejecutable.
- Linker (Enlazador): Programa encargado de insertar al programa objeto el código máquina de las funciones de las librerías.
Elaboración y ejecución de un programa
- Escribir el código fuente.
- Compilar el fichero fuente.
- Si se producen errores de sintaxis volver al editor y eliminar los errores.
- Si no hay errores se obtendrá el código objeto y el enlazador construirá el archivo ejecutable.
- El sistema operativo es el encargado de colocar el programa en la memoria central y ejecutarlo.
- Comprobar el funcionamiento del programa.
- Si hay más errores activar el depurador.
- Corregirlo.
- Se compila, enlaza y ejecuta.
Lenguajes de Programación
Componentes de un lenguaje de programación
- Léxico: Un conjunto finito de símbolos, a partir del que se define el vocabulario del lenguaje.
- Sintaxis: Un conjunto finito de reglas, la gramática del lenguaje, para la construcción de las sentencias.
- Semántica: Asocia un significado/sentido a cada construcción del lenguaje.
Depurador
Un depurador es un programa diseñado específicamente para la detección, verificación y corrección de errores. Los depuradores nos permiten trazar el programa y visualizar el contenido de las variables y direcciones de memoria durante la ejecución.
Clasificación de los Lenguajes de Programación
- Según el Nivel de Abstracción:
- Lenguajes de bajo nivel.
- Lenguajes de alto nivel.
- Según la forma de ejecución:
- Lenguajes compilados.
- Lenguajes interpretados.
- Según el Paradigma de Programación:
- Programación Imperativa:
- Es el más común.
- Detalla los pasos necesarios y el orden para realizar una tarea.
- Describe la programación en términos del estado del programa y sentencias que cambian dicho estado.
- La ejecución de los comandos se realiza secuencialmente.
- Programación Declarativa:
- Utilización de predicados lógicos o funciones matemáticas.
- NO existe la asignación ni el cambio de estado en un programa.
- Sólo existen valores y expresiones matemáticas que devuelven nuevos valores.
- Se especifica QUÉ problema resolver, NO el CÓMO.
- NO importa el orden de ejecución.
- Aplicaciones de muy alto nivel.
- Dos estilos básicos: lógico y funcional.
- Programación Imperativa:
Diferencias entre programación declarativa e imperativa
- En la programación imperativa se describe paso a paso un conjunto de instrucciones.
- En la programación declarativa las sentencias que se utilizan describen el problema que se quiere solucionar.
- En la programación imperativa se le indica a la computadora cómo obtener lo que se está buscando.
- En la programación imperativa importa el orden de ejecución de las instrucciones.
Ingeniería del Software
La crisis del software
La Crisis del software se refiere a los problemas que ha ido experimentando el software debido a la mínima eficacia que presentan una gran cantidad de empresas al momento de realizar un software.
Características del Software
- Es inmaterial e invisible.
- Es complejo.
- Es excesivamente maleable.
- No se desgasta ni envejece.
- Su duplicación es poco costosa.
- Puede ser modificado fácilmente.
Definición de Ingeniería del Software
La ingeniería de software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software y su estudio.
Fases principales del desarrollo de software
- Captura de requerimientos
- Análisis
- Diseño
- Codificación
- Pruebas
- Mantenimiento
Modelos de ciclo de vida
- Modelo Clásico o en Cascada: Las etapas de desarrollo del software tienen un orden, acaba una y empieza otra. Después de cada etapa se realiza una revisión. Cada paso genera documentación y entradas para la siguiente fase.
- Modelos Evolutivos:
- Iterativo incremental: Entrega el software en partes pequeñas, pero utilizables. Cada incremento se construye sobre el que ya ha sido entregado.
- Prototipos: Construido en poco tiempo y no se debe usar muchos recursos. Se centra en aspectos del software que serán visibles para el usuario.
- Espiral: 4 etapas: Determina objetivos, Analiza riesgos, Desarrolla y prueba, Planificación.
Roles en el desarrollo de software
- Analista de sistemas
- Diseñador de Software
- Analista-programador
- Programador
- Arquitecto de software
- Tester
Modelo Vista Controlador (MVC)
- El Modelo: Es la capa encargada de almacenar y procesar datos.
- El Vista: Es la encargada de mostrar los datos al usuario.
- El Controlador: Este es el único punto de entrada a la aplicación y es el que se encarga de pedir los datos necesarios al modelo y enviárselos a la vista.