Fundamentos de Ingeniería de Software: Procesos, Modelos y Requisitos Esenciales

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,48 KB

Ingeniería de Software: Conceptos Fundamentales

La Ingeniería de Software es el conjunto total de actividades necesarias para transformar los requisitos de un usuario en software funcional.

Procesos de Ingeniería de Software

Los procesos clave en la ingeniería de software incluyen:

  • Especificación de Software

    Los clientes y los ingenieros definen el software a producir y las restricciones para su funcionamiento.

  • Desarrollo de Software

    El software es diseñado y programado.

  • Validación de Software

    El software es verificado para asegurar que cumple con lo que el cliente desea.

  • Evolución de Software

    El software es modificado para adaptarse a los requisitos cambiantes de los clientes y el mercado.

Requisitos de Software

Los requisitos de software son propiedades deseables para un sistema de software. Estas necesidades reflejan las necesidades de los clientes de un sistema que ayude a resolver problemas. El proceso de descubrir, analizar, documentar y verificar es parte fundamental de la noción de «requisito de software».

Modelos de Desarrollo de Software

Existen diversos modelos para estructurar el proceso de desarrollo de software:

  • Modelo en Espiral

    Combina la creación de prototipos iterativos con los aspectos controlados y sistemáticos del modelo lineal y secuencial, teniendo en cuenta la perspectiva del análisis de riesgos.

  • Modelo Incremental

    Combina elementos del modelo en cascada, siendo utilizado de manera interactiva. Este modelo de proceso, similar a la creación de prototipos incrementales, tiene como objetivo presentar un producto operacional con cada incremento.

Fases del Modelo en Cascada

El modelo en cascada sigue una secuencia lineal de fases:

  • Generación de Requisitos

    Documentación de las especificaciones del sistema que sirve de base para el presupuesto y el calendario.

  • Análisis y Discusión

    Precisa la comprensión y el dominio del problema y del software.

  • Diseño del Proyecto

    Definición de estructuras de datos, arquitectura de software, procedimientos e interfaces.

  • Codificación

    Traducción del diseño a un lenguaje legible por la máquina.

  • Prueba

    Esta fase debe garantizar que la entrada del programa produce el resultado esperado.

  • Mantenimiento

    Análisis de problemas de rendimiento, aparición de errores y otros aspectos.

Integración Continua

La Integración Continua es un proceso que integra las prácticas de desarrollo ágil y tiene como objetivo mantener la calidad en el desarrollo de software, reduciendo así los fallos. Esto se logra al ejecutar automáticamente numerosas pruebas automatizadas y generar el proyecto. Si algo está mal o fuera de las normas establecidas (normas de calidad), se comunica de forma automática.

Gestión de Proyectos: El Gerente de Proyecto

El Gerente de Proyecto es responsable de definir el alcance, supervisar el progreso, gestionar el riesgo, organizar los componentes del equipo, asignar responsabilidades y verificar el cumplimiento del presupuesto previsto.

Cronograma del Proyecto

La elaboración del cronograma implica identificar las actividades, sus dependencias, los recursos presupuestarios necesarios y asignar al personal a cada actividad. Incluye la creación de diagramas de proyecto.

Tipos de Requisitos de Software

Los requisitos de software se clasifican comúnmente en:

  • Requisitos Funcionales

    Declaraciones de los servicios que el sistema debe proporcionar, cómo debe reaccionar a entradas particulares y cómo debe comportarse en determinadas situaciones.

  • Requisitos No Funcionales

    Restricciones a los servicios o funciones ofrecidas por el sistema. Ejemplos incluyen requisitos de fiabilidad, robustez y eficiencia.

  • Necesidades del Usuario

    Se trata de declaraciones en lenguaje natural, a menudo acompañadas de diagramas, que describen los servicios deseados y las limitaciones bajo las cuales el sistema debe operar.

Los Requisitos del Sistema definen las funciones, servicios y limitaciones operativas del sistema. El documento de requisitos del sistema debe ser preciso.

Entradas relacionadas: