Ingeniería de Software y Ciclos de Desarrollo

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

Escrito el en español con un tamaño de 5,27 KB

2 Ingeniería de Software

Al principio el software era desarrollado por virtuosos que basándose en la intuición y en la experiencia acumulada al desarrollar programas, se aventuraban a crear software, que naturalmente nadie entendía ni podía modificar, a veces ni ellos mismos. Enseguida se observó que esto del software podía ser útil y que había procedimientos y actividades más adecuados que otros para conseguir productos mejores. Se consiguió dotar al software de una importancia que no tenía hasta ese momento y fue entonces cuando se empezó a pensar que era necesario establecer los criterios que debía cumplir el software y cómo conseguirlos. Por estos motivos apareció la Ingeniería del software.

Definición: El establecimiento y uso de los principios de ingeniería robustos, orientados a obtener software económico que sea fiable y funcione de manera eficiente sobre máquinas reales. Lo que se pretende conseguir con la Ingeniería del software es: reducir costes, mejorar la calidad, explotar y aprovechar el potencial que proporciona el hardware. La ingeniería del software abarca un conjunto de 3 elementos clave para facilitar al gestor controlar el proceso de desarrollo del software y suministrar las bases para construir software de alta calidad de una forma productiva:

  • Métodos: Indican cómo construir técnicamente el software.
  • Herramientas: Suministran un soporte automático o semiautomático para los métodos.
  • Procedimientos: Son quién asocian los métodos con las herramientas y facilita un desarrollo racional y oportuno al software de computadora.

En la Ingeniería del Software además se suelen emplear algunas técnicas de apoyo que son:

  • Técnicas de apoyo: Con estas técnicas es posible crear modelos virtuales sobre cómo será el producto final y cómo será el proceso de desarrollo de ese producto.
  • Representaciones: Técnicas utilizadas en las diferentes fases de desarrollo para la planificación de tiempos y recursos, los procesos a seguir, la estimación de costes, tareas del personal, etc.
  • Evaluaciones: Que van a permitir determinar el grado de finalización del producto concluido e incluso de cada una de las fases del producto.



3 Ciclos de Desarrollo del Software

Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software o un marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la explotación y el mantenimiento de un producto de software, abarcando la vida del sistema desde la definición de los requisitos hasta la finalización de su uso. Podemos definirlo como el conjunto de fases o etapas, procesos y actividades requeridas para ofertar, desarrollar, integrar, explotar y mantener un producto software.

Tareas:

  • Análisis: Construye un modelo de requisitos. Se debe entender y comprender de forma detallada el problema que se va a resolver. Y es importante producir en esta etapa una buena documentación.
  • Diseño: Se deducen estructuras de datos, la arquitectura del software, la interfaz del usuario y los procedimientos. Debemos elegir el lenguaje de programación, el sistema gestor de bases de datos, etc.
  • Codificación: En esta etapa se traduce lo descrito en el diseño a una forma legible por la máquina. La salida de esta fase es el código ejecutable.
  • Pruebas: Se comprueba que se cumplen criterios de corrección y calidad.
  • Mantenimiento: Hay que asegurar que el sistema pueda adaptarse a los cambios.

Funciones de un Ciclo de Vida:

  • Determinar el orden de las fases y procesos involucrados en el desarrollo.
  • Establecer los criterios de transición para pasar de una fase a la siguiente.

Ventajas del Ciclo de Vida:

  • Asegura un desarrollo progresivo con controles sistemáticos.
  • Se controla el sobrepasar los plazos de entrega y los costes excesivos.
  • La documentación se realizará de manera formal y estandarizada simultáneamente al desarrollo.
  • Supone una guía para el personal de desarrollo.
  • Minimiza la necesidad de rehacer el trabajo y los problemas de puesta a punto.

4 Tipos de Ciclo de Vida

Se trata de primero implementar algo de código y luego pensar acerca de requisitos, diseño, validación, y mantenimiento. Algo así como solucionar los problemas cuando aparezcan, sin realizar ninguna previsión. Este modelo tiene 3 Problemas:

  • El código puede tener una muy mala estructura.
  • No se ajusta a las necesidades del usuario.
  • El código es difícil de reparar por su pobre preparación para probar y modificar.

Por todo esto no es el modelo más recomendable y por lo que fueron apareciendo modelos. Por eso tenemos diferentes alternativas para llevar a cabo un proyecto. Como por ejemplo: Modelos cascada y modelos evolutivos (modelo iterativo incremental, en espiral, desarrollo exploratorio, entre otros).

Entradas relacionadas: