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

  1. Escribir el código fuente.
  2. Compilar el fichero fuente.
  3. Si se producen errores de sintaxis volver al editor y eliminar los errores.
  4. Si no hay errores se obtendrá el código objeto y el enlazador construirá el archivo ejecutable.
  5. El sistema operativo es el encargado de colocar el programa en la memoria central y ejecutarlo.
  6. Comprobar el funcionamiento del programa.
  7. Si hay más errores activar el depurador.
  8. Corregirlo.
  9. 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.

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.

Entradas relacionadas: