Conceptos Clave en el Desarrollo de Software y Modelos de Programación
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,3 KB
Conceptos Fundamentales del Desarrollo de Software
El Compilador
Un compilador se encarga de traducir programas escritos en un lenguaje simbólico a código máquina. El compilador genera un código máquina que, para poder ejecutarse, requiere un proceso previo de enlazado de rutinas y funciones de biblioteca, así como la asignación de los recursos necesarios para obtener un código ejecutable.
Fases del Desarrollo de Software
Análisis de Requisitos
Definición de los requisitos de la aplicación a desarrollar. Se pueden utilizar herramientas como DFD, diagramas de transición de estados, diagramas entidad-relación o diccionarios de datos.
Diseño del Sistema
Determinar el funcionamiento de forma general sin entrar en detalle. Se pueden emplear diagramas de flujo, diagramas de cajas, tablas de decisión o pseudocódigo.
Codificación
Traducir lo descrito en el diseño a una forma legible por la máquina. El resultado es código ejecutable.
Pruebas
Comprobar si el software cumple los criterios de corrección y calidad. Garantizar el correcto funcionamiento del sistema.
Verificación
Determinar si el software implementa correctamente una función específica.
Validación
Determinar si el software se ajusta a los requisitos del cliente.
Tipos de Mantenimiento de Software
Mantenimiento General
Corregir fallos, mejorar el rendimiento o adaptar el producto.
Mantenimiento Adaptativo
Consiste en modificar el producto debido a posibles cambios que se produzcan en el entorno.
Mantenimiento Correctivo
Corregir los fallos descubiertos por el cliente tras la entrega del producto.
Mantenimiento Perfectivo
Incorporar funcionalidades y mejoras en el rendimiento o la mantenibilidad del producto.
Mantenimiento Preventivo
Modificación del producto con el fin de mejorar y facilitar las tareas de mantenimiento futuras.
Modelos de Programación
Modelo de Programación Funcional
Se basa casi exclusivamente en el empleo de funciones. Un ejemplo de lenguaje es LISP, cuyo propio código fuente está compuesto de listas. LISP es un lenguaje de programación favorito en la investigación de la IA.
Modelo de Programación Lógica
Tipo de programación que consiste en la representación de un problema indicando una serie de elementos conocidos, de tal manera que se pregunta sobre el resultado y la máquina decide cómo obtenerlo por sí misma. PROLOG es un modelo de programación habitual en el campo de la IA.
Modelo de Flujo de Datos
Se corresponde con una red de operadores asincrónicos interconectados entre sí por medio de un flujo de fragmentos de datos. Un ejemplo de lenguaje de programación que sigue este modelo es GPSS.
Modelo Imperativo
Se basa en la arquitectura de Von Neumann. Consiste en una lista de órdenes elementales que han de ejecutarse secuencialmente tal y como aparecen en el programa. Un ejemplo de lenguaje es BASIC, una familia de lenguajes de programación de alto nivel.
Modelo de Programación Estructurada
Orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa. Se basa en tres estructuras básicas: secuencia, selección e iteración. Pascal es un lenguaje que facilita el aprendizaje de la programación y está fuertemente tipado.
Modelo de Programación Modular
Consiste en dividir un programa en módulos o subprogramas. Permite solucionar problemas más grandes y complejos. Se presenta como una evolución de la programación estructurada. MODULA-2 evoluciona de PASCAL e introduce los conceptos de módulo y de encapsulación.
Modelo Orientado a Objetos
Supone programas compuestos por objetos en lugar de instrucciones. Ejemplo: el lenguaje JAVA, con sintaxis derivada de C y C++, cuyas aplicaciones son compiladas a bytecode.
Modelo de Programación Visual
SCRATCH es un lenguaje de programación visual que permite el aprendizaje de la programación sin tener conocimientos profundos sobre el código.