jueves, 14 de octubre de 2010

Modelos de Desarrollo del Software

  1. Modelad Lineal Secuencial

Llamado en algunos casos ciclo de vida básico o modelo de cascada, el modelo lineal secuencial sugiere un enfoque sistemático, secuencial, para el desarrollo del software se sugieren niveles:
  • Análisis
  • Diseño
  • Código
  • Prueba
  • Mantenimiento

Analisis

Se debe comprender todo el dominio de información del software, asi como las funciones requeridas, el comportamiento y le rendimiento de dicho software.

Diseño

Este es el proceso de muchos pasos, que se centran en cuatros atributos distintos de programas:
  • Estructura de datos.
  • Arquitectura de Software.
  • Representación de Interfaz.
  • Detalles Procedimental (algoritmo).
El diseño traduce requisitos en una representación  de software para poder evaluar su calidad antes de la  codificación.

Código

El diseño  se debe traducir en una forma legible por la maquina (generación de código) , es en este paso es que se lleva esa labor, si el diseño se realizo de una manera detallada la generación de código se realiza  mecánicamente.

Prueba

En esta etapa se realizan pruebas para la detección de errores y asegurar que la entrada definida produce resultados reales de acuerdo con los  resultados definidos.

Mantenimiento

En esta etapa luego que se desarrollo el software se debera dar un tiempo de mejora y matenimiento del software y nuevas adaptaciones de acuerdo a las necesidades del cliente.

Modelado de Construcccion de Prototipos

Este modelo también denominado modelo de desarrollo evolutivo. Este modelado es iterativo, el diseño rápido se basa en una representación de aquello aspectos del software que serán visibles para el cliente y el usuario final y conduce  a la construcción de un prototipo, el cual es evaluado por el cliente o el usuario para una retroalimentación del software.

Construcción de Prototipo

  1. Comunicación.
  2. Plan Rápido.
  3. Modelado diseño rápido.
  4. Contrucción del Prototipo.
  5. Desarrollo,Entrega y Retroalimentación.
El paradigma de construcción de prototipos inicia con la comunicación. El ingeniero de software y el cliente encuentran y definen los objetivos globales para el software, identifican los requisitos conocidos y las áreas del esquema en donde es necesaria más definición.


Modelado de desarrollo Rápido de Aplicaciones (DRA)

Es un modelo de proceso de software incremental que resalta un ciclo de desarrollo corto. El modelo DRA es una adaptación a alta velocidad del modelo en cascada en el que se logra el desarrollo rápido mediante un enfoque de construcción basados en componentes. Este modelo consta con las siguientes actividades genéricas :
  1. Comunicación:  En esta se trabaja para entender el problema de negocios y las características de información que debe incluir el software.
  2. Planeación:  Es  esencial porque varios equipos de  software trabajan en paralelo sobre diferentes funciones del sistema.
  3. Modelado: Incluye tres grandes fases
  • Modelado de Negocio.
  • Modelado de Datos.
  • Modelado de Procesos.
   4. Construcción: Resalta el empleo de componentes de software existente y la aplicación de la generación automática de código.

Modelo Incremental

Combina elementos del modelo de cascada aplicado en forma iterativa aplica secuencias lineales de manera escalonada conforme avanza el tiempo en el calendario.

Modelo Espiral

Es un modelado de proceso de software que combina la naturaleza iterativa de la construcción de prototipos  con los aspectos controlados y sistemáticos del modelado en cascada.
  • Planeación (estimación, itinerario, análisis de riesgo).
  • Modelado (análisis y diseño).
  • Construcción (código y prueba).
  • Despliegue (entrega y retroalimentación).
  • Comunicación.

Modelo de desarrollo concurrente

Llamado ingeniería concurrente, se representa en forma esquemática como una serie de actividades del marco de trabajo, acciones y tareas de la ingeniería del software y sus estados asociados.

Modelado de desarrollo basado en componentes

Este modelo incorpora muchas de las características del modelo espiral. Es evolutivo por naturaleza y exige un enfoque interactivo para la creación del software, tambien conduce a la reutilización del software.

Modelo de Metodos Formales

El Modelo de Métodos Formales comprende un conjunto de actividades que conducen a la especificación matemática del software de computadora. Los métodos formales permiten que un ingeniero de software especifique, desarrolle y verifique un sistema basado en computadora aplicando una notación  rigurosa y matemática. Con este modelo se consigue software libre de errores. Es difícil de aplicar, por diferentes motivos, pero para software de alta seguridad es muy adecuado. También se le conoce como Ingeniería del Software de Sala Limpia.

Se pueden encontrar multitud de métodos y técnicas formales con lo que los criterios de clasificación son bastante variados. La clasificación más común se realiza en base al modelo matemático subyacente en cada método, de esta manera podrían clasificarse en:
  •  Especificaciones basadas en lógica de primer orden y teoría de conjuntos: permiten especificar el sistema mediante un concepto formal de estados y operaciones sobre estados. Los datos y relaciones/funciones se describen en detalle y sus propiedades se expresan en lógica de primer orden. La semántica de los lenguajes está basada en la teoría de conjuntos. Los métodos de este tipo más conocidos son: Z, VDM y B.
  •  Especificaciones algebraicas: proponen una descripción de estructuras de datos estableciendo tipos y operaciones sobre esos tipos.
Para cada tipo se define un conjunto de valores y operaciones sobre dichos valores. Las operaciones de un tipo se definen a través de un conjunto de axiomas o ecuaciones que especifican las restricciones que deben satisfacer las operaciones. Métodos más conocidos: Larch, OBJ, TADs.             

Especificación de comportamiento:
  • Métodos basados en álgebra de procesos: modelan la interacción entre procesos concurrentes. Esto ha potenciado su difusión en la especificación de sistemas de comunicación (protocolos y servicios de telecomunicaciones) y de sistemas distribuidos y concurrentes. Los más conocidos son: CCS,CSP y LOTOS.
  •   Métodos basados en Redes de Petri: una red de petri es un formalismo basado en autómatas, es decir, un modelo formal basado en flujos de información. Permiten expresar eventos concurrentes. Los formalismos basados en redes de petri establecen la noción de estado de un sistema mediante lugares que pueden contener marcas. Un conjunto de transiciones (con pre y post condiciones) describe la evolución del sistema entendida como la producción y consumo de marcas en varios puntos de la red.
  •   Métodos basados en lógica temporal: se usan para especificar sistemas concurrentes y reactivos. Los sistemas reactivos son aquellos que mantienen una continua interacción con su entorno respondiendo a los estímulos externos y produciendo salidas en respuestas a los mismos, por lo tanto el orden de los eventos en el sistema no es predecible y su ejecución no tiene por qué terminar
 Tecnicas de 4 Generación

Las técnicas de cuarta generación son un conjunto muy diverso de métodos y herramientas que tiene por objeto el de facilitar el desarrollo del software. Esta herramientas generan automáticamente el código fuente a partir de esta especificación. Los tipos de  más comunes de generadores de códigos son:
·        Acceso a  base de datos
·        Generadores de Códigos.
·        Generación  de pantallas.
·        Gestión de  entornos gráficos.
·        Generación de informes.


 

No hay comentarios:

Publicar un comentario