jueves, enero 20

Modelos de Procesos de Software y Metodologias de Desarrollo

Por su naturaleza, los modelos son simplificaciones; por lo tanto, un modelo de procesos del software es una simplificación o abstracción de un proceso real.

Podemos definir un modelo de procesos del software como una representación abstracta de alto nivel de un proceso software.

Cada modelo es una descripción de un proceso software que se presenta desde una perspectiva particular. Alternativamente, a veces se usan los términos ciclo de vida y Modelo de ciclo de vida. Cada modelo describe una sucesión de fases y un encadenamiento entre ellas.

Una metodología es un conjunto de procedimientos que permiten producir y mantener un producto software, esto es, define una serie de pasos a seguir para obtener un software de calidad.

Modelos Vs. Metodologias

Modelo Lineal Secuencial

Es el más antiguo de todos los modelos de Ingeniería del Software. El modelo lineal presenta una estructura secuencial (de ahí el nombre de Modelo en cascada).
Es también conocido como “Modelo en cascada”, “Modelo lineal secuencial”, “Ciclo de vida básico” o “Ciclo de vida clásico”.
Es un refinamiento altamente influenciado para 1970 del modelo de etapas. Tiene su origen en el "Modelo de cascada" ingeniado por Winston Royce, sugiere un enfoque sistemático o más bien secuencial del desarrollo de software que comienza en un nivel de sistemas y progresa con el análisis, diseño, codificación, pruebas y mantenimiento.

El MLS tiene las siguientes actividades:
  • Análisis de los requerimientos del software: es la fase en la cual se reúnen todos los requisitos que debe cumplir el software. En esta etapa es fundamental la presencia del cliente que documenta y repasa dichos requisitos.
  • Diseño: es una etapa dirigida hacia la estructura de datos, la arquitectura del software, las representaciones de la interfaz y el detalle procedimental (algoritmo). En forma general se hace un esbozo de lo solicitado y se documenta haciéndose parte del software.
  • Generación del código: es la etapa en la cual se traduce el diseño para que sea comprensible por la máquina. Esta etapa va a depender estrechamente de lo detallado del diseño.
  • Pruebas: esta etapa se centra en los procesos lógicos internos del software, asegurando que todas las sentencias se han comprobado, y en la detección de errores.
  • Mantenimiento: debido a que el programa puede tener errores, puede no ser del completo agrado del cliente o puede necesitar, eventualmente acoplarse a los cambios en su entorno. Esto quiere decir que no se rehace el programa, sino que sobre la base de uno ya existente se realizan algunos cambios.

Desventajas:

  • Los proyectos raramente siguen el paradigma secuencial que propone el proyecto.
  • Los responsables del desarrollo de software siempre se retrasan innecesariamente.
  • No siempre se sigue el flujo secuencial.
  • Es difícil tener un 100% de los requisitos al inicio.
  • El cliente debe tener paciencia. Los primeros resultados serán hasta que ya este operando el sistema.

Representación Grafica Del Modelo

Estructurada MEDSI

Es una metodología estructurada para desarrollar sistemas de información en y para organizaciones de cualquier tipo. Entre las características resaltantes de esta metodología podemos destacar:
  • Estructurada: esta característica se debe a dos razones esenciales:

a. Utiliza diferentes métodos y técnicas estructuradas.

b. Guía paso a paso de arriba hacia abajo el grupo que la aplica explicando primero de forma muy general lo que debe hacerse para luego entrar en los detalles.

  • Completa. Cubre todas las distintas fases del ciclo de desarrollo de un sistema de información, desde la definición del proyecto hasta la implantación del sistema en la organización.
  • Particionada. A fin de manipular mejor la inherente a un proyecto de este tipo, la metodología se divide en fases, y cada una de las fases esta compuesta por pasos los cuales están orientados a algún tipo de tópicos, aspecto o elemento de un sistema de información.