Fundamentos Esenciales de la Ingeniería de Software: Conceptos, Mitos y Paradigmas

Enviado por Programa Chuletas y clasificado en Diseño e Ingeniería

Escrito el en español con un tamaño de 8,74 KB

Introducción a la Ingeniería de Software

¿Qué es un Mito de la Ingeniería de Software?

Los mitos de la ingeniería de software son creencias acerca del software y de los procesos empleados para construirlo que resultan ser falsas. Es recomendable conocer estas creencias con el objetivo de evitar caer en errores recurrentes que afecten negativamente a los procesos de desarrollo.

Clasificación de los Mitos de la Ingeniería de Software

Los mitos se clasifican generalmente en tres categorías principales:

  • Mitos del Gestor.
  • Mitos de los Clientes.
  • Mitos de los Desarrolladores.

Mitos de los Clientes

Estos mitos se centran en percepciones erróneas sobre la definición y el alcance del proyecto:

  • No hace falta dar detalles para empezar: Una mala definición inicial es la principal causa del trabajo inútil y de la baja calidad. Se requiere un conocimiento formal y detallado de los hechos y procesos, así como una amplia comunicación con el cliente.

Mitos del Gestor

Se refieren a creencias equivocadas sobre la gestión y el control del proyecto:

  • Cambiar es una mala idea: Esto es falso si se está desarrollando un tipo de software diferente al que se hacía hace diez años, ya que las metodologías deben adaptarse.
  • Todo es cuestión de esfuerzo: La creencia de que si se falla en la planificación, se puede añadir más programadores para recuperar el tiempo. En realidad, durante el proceso de software, añadir personal puede retrasar más el proyecto (Ley de Brooks).

Mitos de los Desarrolladores

Estos mitos se enfocan en la percepción del trabajo de codificación:

  • Lo importante es que funcione: La creencia de que no se necesita una metodología y que el trabajo termina una vez que el programa funciona. Esto es incorrecto, ya que entre el 50 y el 70% del esfuerzo total dedicado a un programa se realiza después de entregarlo al cliente por primera vez (mantenimiento y correcciones).

Paradigmas de la Ingeniería de Software

¿Qué es un Paradigma de la Ingeniería de Software?

Un paradigma de la ingeniería de software es una agrupación de métodos, herramientas y procedimientos con el fin de describir un modelo. Es un modelo para comprender la realidad, que nos permite relacionarnos con el mundo circundante y tener un sentido de identidad dentro de lo que prescribimos con el mundo real.

Conceptos Fundamentales de la Ingeniería de Software

¿Qué es la Ingeniería de Software?

Es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, la operación y el mantenimiento de software, incluyendo el estudio de estos enfoques (la aplicación misma).

Calidad (Punto de Vista de I.S.)

El control de calidad se puede tomar como la forma de resolver los problemas de desarrollo de software, para que el programa no llegue defectuoso al cliente. La norma ISO 9000 garantiza al cliente que las empresas realizan su actividad conforme a dicha normativa.

Los atributos de calidad incluyen:

  • Rendimiento.
  • Características.
  • Fiabilidad.
  • Conformidad.
  • Durabilidad.
  • Utilidad.
  • Estética.
  • Calidad percibida.

Expectativas del Cliente

Las expectativas del cliente se centran en:

  • La seguridad sobre su uso.
  • Fiabilidad de sus funciones esperadas.
  • Confianza en un producto o servicio sin fallos y duradero según tiempos establecidos y acordados.

La Calidad Total se define como un sistema de gestión organizacional enfocado en la mejora continua del producto o servicio en todo su ciclo de vida, involucrando marketing, compras, diseño, fabricación y entrega.

Definición de Proceso

Un proceso es una secuencia de pasos dispuesta con algún tipo de lógica que se enfoca en lograr algún resultado específico.

Concepto de Método

Un método es un enfoque estructurado para el desarrollo de software cuyo propósito es facilitar la producción de software de alta calidad de una forma costeable.

El Espectro de Gestión en Proyectos de Software

La gestión eficaz de un proyecto de software se centra en las cuatro P:

  1. PERSONAL
  2. PRODUCTO
  3. PROCESO
  4. PROYECTO

1. Personal

El factor humano es tan importante que el Instituto de Ingeniería del Software ha desarrollado un Modelo de Madurez de la Capacidad de Gestión de Personal (MMCGP) para aumentar la preparación de organizaciones de software. Este modelo define áreas clave prácticas para el personal que desarrolla software:

  • Reclutamiento.
  • Selección.
  • Gestión de rendimiento.
  • Entrenamiento.
  • Retribución.

2. Producto

El desarrollador de software y el cliente deben reunirse para definir los objetivos del producto y su ámbito. Esta actividad comienza a menudo como parte del proceso de ingeniería del sistema o del negocio y continúa como el primer paso en el análisis de los requisitos del software. Los objetivos identifican las metas generales del proyecto sin considerar cómo se conseguirán (desde el punto de vista del cliente).

3. Proceso

Un proceso de software proporciona la estructura desde la que se puede establecer un detallado plan para el desarrollo del software. Un pequeño número de actividades estructurales se puede aplicar a todos los proyectos de software, sin tener en cuenta su tamaño o complejidad.

4. Proyecto

Para evitar el fracaso del proyecto, un gestor de proyectos de software y los ingenieros deben eludir un conjunto de señales de peligro comunes, comprender los factores del éxito críticos que conducen a la gestión correcta del proyecto y desarrollar un enfoque de sentido común para planificar, supervisar y controlar el proyecto.

Herramientas y Definiciones Adicionales

¿Cuáles son las herramientas de la Ingeniería de Software?

Un gran número de proveedores venden herramientas y entornos para ayudar a los ingenieros a desarrollar aplicaciones de software.

¿Qué es un Proyecto?

Conjunto de las actividades que desarrolla una persona o una entidad para alcanzar un determinado objetivo. Estas actividades se encuentran interrelacionadas y se desarrollan de manera coordinada.

Paradigmas de la Ingeniería de Software (Ejemplos)

Se enlistan cinco paradigmas comunes:

  1. Modelo en Cascada o Clásico (modelo tradicional).
  2. Modelo en Espiral (modelo evolutivo).
  3. Modelo de Prototipos.
  4. Desarrollo por Etapas.
  5. Desarrollo Iterativo y Creciente o Iterativo Incremental.
  6. RAD (Redundant Application Development).

Importancia de la Ingeniería de Software

Es muy importante ya que con ella se puede analizar, diseñar, programar y aplicar un software de manera correcta y organizada, cumpliendo con todas las especificaciones del cliente y el usuario final.

Hechos Históricos Relevantes

Surgimiento y Crisis

  • La ingeniería del software surgió formalmente en 1968.
  • El término se usó desde finales de 1960 hasta mediados de 1980 para describir los frecuentes problemas que aparecían durante el proceso de desarrollo de nuevo software, impulsada en parte por la aparición de nuevo hardware basado en circuitos integrados.

Contribuciones Clave

Edsger Dijkstra, durante la presentación de 1972 titulada “The Humble Programmer” en la Association for Computing Machinery, cuando se le hizo entrega de un Premio Turing, abordó estos desafíos.

Cada nueva tecnología o práctica que apareció entre 1970 y 1990 fue tratada como una “bala de plata” (en inglés, silver bullet) que supuestamente solucionaría la crisis del software.

Entradas relacionadas: