Fundamentos y Metodologías Esenciales en la Ingeniería de Software

Clasificado en Informática

Escrito el en español con un tamaño de 3,46 KB

Métodos en la Ingeniería de Software

Los métodos constituyen la tercera capa de la Ingeniería de Software. Estos deben ser modernos, simples, fáciles de aprender y conocidos por todos los involucrados. Asimismo, deben asegurar una amplia portabilidad del software producido.

Aplicación de los Métodos

La correcta aplicación de los métodos permite que el producto resultante:

  • Pueda utilizarse en otras unidades de la misma organización.
  • Pueda utilizarse como parte de otra aplicación.
  • Sea independiente de sus desarrolladores originales.
  • Sea fácil de ampliar, explicar y utilizar por otras personas.

Herramientas y Lenguajes de Programación

Dentro del ecosistema de desarrollo, encontramos diversas categorías de herramientas y lenguajes:

  • Bajo nivel: Presentan instrucciones directamente ligadas a las instrucciones de máquina.
  • Alto nivel: Sus instrucciones equivalen a varias instrucciones de máquina y son cercanas a los lenguajes naturales. Incluyen tanto lenguajes compilados como lenguajes interpretados.
  • Lenguajes de cuarta generación (4GL): Se caracterizan por ser amistosos, enfocados en la productividad y de naturaleza no procedural.

Herramientas de Uso Específico

Existen herramientas orientadas a tareas particulares como:

  • Procesadores de texto.
  • Planillas electrónicas.
  • Administración de proyectos.
  • Workflow.

Herramientas CASE

Las herramientas CASE (Computer-Aided Software Engineering) permiten automatizar el desarrollo de sistemas, lo que deriva en una mayor productividad dentro de la etapa de desarrollo.

Conceptos Fundamentales de la Ingeniería de Software para el Diseño

Para lograr un diseño robusto, se deben considerar los siguientes pilares:

  • Abstracción: Cuando se considera una solución modular, pueden formularse muchos niveles de abstracción, diferenciando entre niveles superiores y niveles inferiores.
  • Refinamiento: La arquitectura de un programa se desarrolla en niveles sucesivos de requerimiento de los detalles procedimentales.
  • Modularidad (Diseño Arquitectónico): Trata de que el software se divida en componentes llamados módulos que cumplan un objetivo concreto.
  • Arquitectura del Software: Se refiere a dos características fundamentales:
    1. La estructura jerárquica de los componentes procedimentales (módulos).
    2. La estructura de los datos.
  • Jerarquía de Control: Representa la organización, frecuentemente jerárquica, de los módulos.
  • Estructura de Datos: Es la representación lógica de la relación existente entre los elementos individuales de datos.
  • Procedimiento del Software: Se centra sobre los detalles del procesamiento de cada módulo individual de forma específica.
  • Ocultamiento de la Información: El ocultamiento implica que, para conseguir una modularidad efectiva, es necesario definir un conjunto de módulos independientes entre sí.

Entradas relacionadas: