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:
- La estructura jerárquica de los componentes procedimentales (módulos).
- 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í.