Fundamentos y Modelos Clave en la Ingeniería de Software

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

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

Conceptos Fundamentales en el Desarrollo de Software

Modelos de Procesos de Software

Un Modelo de procesos es una representación formal y simplificada de un proceso de software, presentada desde una perspectiva específica.

El Proceso de software se define como un conjunto estructurado de actividades cuya meta es el desarrollo o la evaluación del software.

Modelos Secuenciales y Evolutivos

  • Modelo en Cascada (Secuencia simple de fases bien definidas):
    • Análisis
    • Diseño
    • Codificación
    • Pruebas
    • Mantenimiento
  • Modelo de Prototipos (Creación de una implementación parcial de un sistema):
    • Escuchar al cliente
    • Construir prototipo
    • Validar prototipo
  • Modelo Incremental (Proceso de construcción siempre incrementando subconjuntos del requerimiento del sistema):
    • Análisis
    • Diseño
    • Código
    • Prueba
  • Modelo en Espiral (Evolutivo, construcción de prototipos):
    • Determinar objetivos
    • Analizar el riesgo
    • Desarrollar y probar
    • Planificación

Otros Modelos y Enfoques

  • Modelo Concurrente: Capacidad de describir las múltiples actividades del software ocurriendo simultáneamente.
  • Modelo RAD (Desarrollo Rápido de Aplicaciones): Permite construir sistemas utilizables en poco tiempo (60-90 días) con algunas concesiones.

Definiciones Clave de la Ingeniería

Es crucial diferenciar los términos utilizados en la gestión y ejecución del desarrollo:

  • Método: Define cómo construir el software desde el punto de vista técnico.
  • Proceso: Conjunto de actividades y resultados.
  • Metodología: Proceso debidamente documentado, detallado y completo.
  • Procedimientos: Métodos + Herramientas. Define la secuencia en la que se aplican los métodos, las entregas que se requieren, y los controles de seguimiento y guías para facilitar la labor del equipo de trabajo.

Herramientas y Soporte Tecnológico

Las herramientas automatizan o asisten las tareas de desarrollo:

  • Herramientas: Soporte automático o semiautomático para los métodos (Entornos de desarrollo, diseño).
  • CAD (Diseño Asistido por Computador): Cubren las etapas del diseño de circuitos integrados.
  • CASE (Computer-Aided Software Engineering): Diversas aplicaciones informáticas destinadas a aumentar la productividad en el desarrollo de software.

Estructura y Temporalidad

  • Ciclo de vida: Conjunto de fases por las que pasa el sistema que se está desarrollando.
  • Iteraciones: Unidad de tiempo que permite definir artefactos a entregar en determinada etapa de desarrollo.

La madurez del desarrollador se puede clasificar en: Artesanal (Aficionados), Comercio (Preparados) y Profesional (Certificados).

Tipos de Software y Documentación Inicial

Clasificación del Software

  • Software de aplicaciones: Proveer servicios a clientes y ejecutar negocios (software pequeño o grande).
  • Software de sistemas: Operar y mantener un sistema informático; permite a los usuarios usar los recursos del computador directamente y a través de otro software.

Documentación Inicial

Documento visión: Define el alcance, el problema, los tecnicismos para el cliente y sirve como punto de referencia.

Contexto Teórico

Ciencia de la computación: Teoría de cualquier sistema de información.

Entradas relacionadas: