jueves, 19 de marzo de 2009

2.7. Nuevas herramientas y enfoque de software

Enfoques de desarrollo de software

Cada metodología de desarrollo de software tiene más o menos su propio enfoque para el desarrollo de software. Estos son los enfoques más generales, que se desarrollan en varias metodologías específicas. Estos enfoques son los siguientes:
Modelo en cascada: Framework lineal.
Prototipado: Framework iterativo.
Incremental: Combinación de framework lineal e iterativo.
Espiral: Combinación de framework lineal e iterativo.
RAD: Rapid Application Development, framework iterativo.

Modelo de cascada
Es un proceso secuencial de desarrollo en el que los pasos de desarrollo son vistas hacia abajo (como en una cascada de agua) a través de las fases de análisis de las necesidades, el diseño, implementación, pruebas (validación), la integración, y mantenimiento. La primera descripción formal del modelo de cascada se cita a menudo a un artículo publicado por Winston Royce en 1970, aunque Royce no utilizar el término "cascada" de este artículo.
Los principios básicos del modelo de cascada son los siguientes:

El proyecto está dividido en fases secuenciales, con cierta superposición y splashback aceptable entre fases.
Se hace hincapié en la planificación, los horarios, fechas, presupuestos y ejecución de todo un sistema de una sola vez.
Un estricto control se mantiene durante la vida del proyecto a través de la utilización de una amplia documentación escrita, así como a través de comentarios y aprobación / signoff por el usuario y la tecnología de la información de gestión al final de la mayoría de las fases antes de comenzar la próxima fase.

Prototipado

El prototipado es el framework de actividades dedicada al desarrollo de software prototipo, es decir, versiones incompletas del software a desarrollar.

Incremental

Provee una estrategia para controlar la complejidad y los riesgos, desarrollando una parte del producto software reservando el resto de aspectos para el futuro.
Los principios básicos son:
Una serie de mini-Cascadas se llevan a cabo, donde todas las fases de la cascada modelo de desarrollo se han completado para una pequeña parte de los sistemas, antes de proceder a la próxima incremental, o
Se definen los requisitos antes de proceder con la evolutivo, se realiza un mini-Cascada de desarrollo de cada uno de los incrementos del sistema, o
El concepto inicial de software, análisis de las necesidades, y el diseño de la arquitectura y colectiva básicas se definen utilizando el enfoque de cascada, seguida por iterativo de prototipos, que culmina en la instalación del prototipo final.

Espiral

Los principios básicos son:
La atención se centra en la evaluación y reducción del riesgo del proyecto dividiento el proyecto en segmentos más pequeños y proporcionar más facilidad de cambio durante el proceso de desarrollo, así como ofrecer la oportunidad de evaluar los riesgos y con un peso de la consideración de la continuación del proyecto durante todo el ciclo de vida.
Cada viaje alrededor de la espiral atraviesa cuatro cuadrantes básicos:
(1) determinar objetivos, alternativas, y desencadenantes de la iteración.
(2) Evaluar alterantives; Identificar y resolver los riesgos.
(3) desarrollar y verificar los resultados de la iteración.
(4) plan de la próxima iteración.

Cada ciclo comienza con una identificación de los interesados y sus condiciones de ganancia, y termina con la revisión y examinación.





Rapid Application Development (RAD)
El desarrollo rápido de aplicaciones (RAD) es una metodología de desarrollo de software, que implica el desarrollo iterativo y la construcción de prototipos.

Principios básicos:

Objetivo clave es para un rápido desarrollo y entrega de una alta calidad en un sistema de relativamente bajo coste de inversión.
Intenta reducir el riesgos inherente del proyecto partiéndolo en segmentos más pequeños y proporcionar más facilidad de cambio durante el proceso de desarrollo.
Orientación dedicada a producir sistemas de alta calidad con rapidez, principalmente mediante el uso de iteración por prototipos (en cualquier etapa de desarrollo), promueve la participación de los usuarios y el uso de herramientas de desarrollo computarizadas. Estas herramientas pueden incluir constructores de Interfaz gráfica de usuario (GUI), Computer Aided Software Engineering (CASE) las herramientas, los sistemas de gestión de bases de datos (DBMS), lenguajes de programación de cuarta generación, generadores de código, y técnicas orientada a objetos.


Otros enfoques de desarrollo de software

Metodologías de desarrollo orientado a objetos, diseño orientado a objetos (ODD) de Grady Booch, también conocido como Análisis y Diseño Orientado a Objetos (OOAD). El modelo incluye seis diagramas: de clase, objeto, estado de transición, la interacción, módulo, y el proceso. Top-down programming, evolucionado en la década de 1970 por el investigador de IBM Harlan Mills (y Niklaus Wirth) en Desarrollo Estructurado. Proceso Unificado, es una metodología de desarrollo de software, basado en UML. Organiza el desarrollo de software en cuatro fases, cada una de ellas con la ejecución de una o más iteraciones de desarrollo de software: creación, elaboración, construcción, y las directrices. Hay una serie de herramientas y productos diseñados para facilitar la aplicación. Una de las versiones más populares de la de Rational Unified Process.
Herramienta Model Driven Architecture(MDA)

Esta guiado por modelos de software, se obtendrán importantes beneficios en aspectos fundamentales como:

• Productividad. A través de los modelos independiente de cómputo (CIM por sus siglas en inglés), independiente de plataforma (PIM por sus siglas en inglés) y de plataforma especifica (PSM por sus siglas en inglés), se logran las transformaciones automáticamente, al menos en gran parte, al igual que la generación de código, permitiendo que el trabajo lo realice la herramienta y no el desarrollador.
• Portabilidad. Debido a que cuenta con un modelo PIM, todo lo definido en este modelo es portable hacia cualquier plataforma.
• Interoperatividad. Normalmente los modelos PSM no podrán comunicarse directamente entre ellos, ya que pueden pertenecer a distintas tecnologías. Este problema lo resuelve generando no solo los modelos PSM, sino los puentes entre ellos.
• Mantenimiento y documentación. Básicamente el modelo PIM desempeña el papel de la documentación de alto nivel que se necesita para cualquier sistema de software

MDD

Es un desarrollo de software basado en la generación de los sistemas a partir de modelos y transformaciones entre ellos. Proporciona una estrategia general a seguir en el desarrollo del software, pero no define técnicas a utilizar o fases del proceso, así como ningún tipo de guía metodológica



www.wikipedia.org.com

No hay comentarios:

Publicar un comentario