modelo descrptivos del proceso del sofware
TRANSCRIPT
MODELO DESCRPTIVOS DEL PROCESO DEL SOFWARE
Es un conjunto estructurado de actividades requeridas para desarrollar un sistema de software.
Las actividades varían dependiendo de la organización y del tipo de sistema a desarrollarse.
Características del proceso
Entendible.- Se encuentra el proceso bien definido y es entendible ?.
Visible.- El proceso es visible al exterior ?. Soportable.- Puede el proceso ser soportado por
diferentes herramientas?. Aceptable.- El proceso es aceptado por aquellos
involucrados en el? Confiable.- Los errores del proceso son descubiertos
antes de que se conviertan en errores del producto?
Robusto.- Puede continuar el proceso a pesar de problemas inesperados?
Mantenible .-Puede el proceso evolucionar para cumplir con los objetivos organizacionales ?.
Rapidez.- Que tan rápido puede producirse el sistema ?.
Modelo de Cascada
Fases Modelo de Cascada Análisis de requerimientos y definición. Diseño del sistema y del software. Implementación y prueba de unidades Integración y prueba del sistema. Operación y mantenimiento.
La dificultad en esta modelo reside, en la dificultad de hacer cambios entre etapas.
CRITICAS: No refleja realmente el proceso de desarrollo del
software Se tarda mucho tiempo en pasar por todo el ciclo Perpetua el fracaso de la industria del software en su
comunicación con el usuario final Las revisiones de proyectos de gran complejidad son
muy difíciles Impone una estructura de gestión de proyectos
MODELO INCREMENTAL Se evitan proyectos largos y se entrega “Algo de
valor” a los usuarios con cierta frecuencia El usuario se involucra más Difícil de evaluar el coste total Difícil de aplicar a sistemas transaccionales que
tienden a ser integrados y a operar como un todo. Requiere gestores experimentados Los errores en los requisitos se detectan tarde.
Ventajas Se puede financiar el proyecto por partes Apropiado para proyectos grandes de larga duración No se necesita tanto personal al principio como para
una implementación completa Inconvenientes Se necesitan pruebas de regresión Pueden aumentar el coste debido a las pruebas
MODELO DRA (Desarrollo Rápido de Aplicaciones):
El Modelo DRA consiste en un desarrollo rápido de aplicaciones basado en el modelo lineal secuencial, pero donde se enfatiza un ciclo de desarrollo extremadamente corto.
Es una adaptación a alta velocidad del modelo lineal secuencial, donde se puede aumentar la velocidad haciendo uso de componentes.
Si se comprenden bien los requisitos y se limita el ámbito del proyecto, el proceso DRA permite al equipo de desarrollo crear un sistema completamente funcional, dentro de periodos cortos de tiempo
Objetivos: Proporcionar una productividad 10 veces mayor, Proporcionar un conjunto de herramientas y técnicas transferibles a cualquier organización para desarrollar en forma rápida y de manera repetible
Ámbito: Se usa en el desarrollo de aplicaciones de negocios y sistemas de información, No se aplica en el desarrollo software altamente especializado (juegos o simuladores).
1.Modelado de Gestión: determinar los flujos de información para responder a las siguientes preguntas: ¿Qué información conduce los procesos?, ¿Qué información debe generar?, ¿A dónde va dirigida esa información? ¿Quién la genera? 2.Modelado de Datos: se define los distintos objetos y sus relaciones.3.Modelado de Procesos: se definen los distintos procesos q transformarán la información de tal forma q estos procesos permitan: añadir, modificar, borrar y recuperar objetos de datos.
4.Generación de la Aplicación: el DRA basa en crear software mediante el uso de componentes ya existente y en el empleo de herramientas automáticas.5.Prueba: escasa duración ya q muchos de los componentes ya están probados.
Desventajas Para proyectos grandes necesitamos de recursos
suficientes para formar los equipos necesarios. Compromiso de colaboración entre desarrolladores y
clientes. No todas las aplicaciones son susceptibles de aplicar este
modelo. Cuando los riesgos técnicos son altos DRA no es
apropiado. Cuando el grado de interoperatividad con programas ya
existentes es alto, no es apropiado.
Modelos Evolutivos
Los modelos evolutivos se caracterizan porque permiten a los ingenieros del software, desarrollar de manera iterativa, nuevas versiones del software cada vez más completas.
Modelo basados en prototipos
Todos Los requerimientos no son conocidos al principio.
Sólo se desarrollan los que se conocen bien.
Los usuarios lo prueban y añaden requerimientos.
La aplicación se hace por fases.
Se hace una implementación parcial del sistema y se prueba.
Se utiliza en sistemas complejos.
Modelos Prescriptivos de Proceso
17
Modelo basados en prototipos
18Modelos Prescriptivos de Proceso
Modelo basados en prototiposModelo basados en prototipos
• No modifica el flujo del ciclo de vida
• Reduce el riesgo de construir productos que no satisfagan las
necesidades de los usuarios
• Reduce costos y aumenta la probabilidad de éxito
• Exige disponer de las herramientas adecuadas
• No presenta calidad ni robustez
• Una vez identificados todos los requisitos mediante el
prototipo, se construye el producto de ingeniería.
Modelo basados en prototiposModelo basados en prototipos
Para que sea efectivo
Debe ser un sistema con el que se pueda experimentar
Debe ser comparativamente barato
Debe desarrollarse rápidamente
Énfasis en la interfaz de usuario
Equipo de desarrollo reducido
Herramientas y lenguajes adecuados
Modelo en Espiral
• Se construyen sucesivas versiones del software cada vez más complejas.• Incorpora objetivos de calidad y gestión de riesgos• Elimina errores y alternativas no atractivas al comienzo• Permite iteraciones, vuelta atrás y finalizaciones rápidas• Cada ciclo empieza identificando: Los objetivos de la porción correspondiente• Cada ciclo se completa con una revisión que incluye todo el ciclo anterior
y el plan para el siguiente• Se utiliza cuando no se tiene claro los requerimientos.• Se eligen múltiples alternativas y se coge la mejor.• Cada vuelta de la espiral se resuelve un conjunto particular de problemas
del cliente. • Después de cada vuelta realizamos un prototipo.
Modelos Prescriptivos de Proceso
21
Fases del Modelo de EspiralPlanteamiento de Objetivos Se identifican los objetivos específicos para cada fase del
proyecto.Identificación y reducción de riesgos. Los riesgos clave se identifican y analizan, y la información sirve
para minimizar los riesgos.Desarrollo y Validación. Se elige un modelo apropiado para la siguiente fase del
desarrollo.Planeación. Se revisa el proyecto y se trazan planes para la siguiente ronda del
espiral.
Modelo en Espiral
En cada ciclo de la espiral el producto de software es cada vez más sofisticado En cada etapa de planificación se produce ajustes al plan del proyecto Costos y planificación se ajustan según la evaluación del cliente
Modelos Prescriptivos de Proceso
23
Ventajas del Modelo de Espiral Centra su atención en la reutilización de componentes y eliminación
de errores en información descubierta en fases iníciales.
Los objetivos de calidad son el primer objetivo.
Integra desarrollo con mantenimiento.
Provee un marco de desarrollo de hardware/software.
Modelos Prescriptivos de Proceso
Modelo de Desarrollo ConcurrenteModelo de Desarrollo Concurrente
En vez de confinar las actividades de ingeniería de software a una secuencia de pasos, define una red de actividades.
Todas las actividades de la red existen simultáneamente con otras.
Los sucesos generados dentro de una actividad, o en algún otro lado de la red de actividad, inician las transiciones entre los estados de otra actividad.
Se utiliza para desarrollar aplicaciones cliente/servidor.
Modelo de Desarrollo ConcurrenteModelo de Desarrollo Concurrente
Cuando la mayoría de los requerimientos comienzan a ser bien entendidos, en este tiempo se dedica un esfuerzo considerable al diseño
Durante el diseño de arquitectura, es posible que algunos componentes comiencen a ser bien definidos antes que la arquitectura completa sea estabilizada.
En algunos proyectos, múltiples etapas de un producto se han desarrollado concurrentemente ejemplo: no es inusual estar haciendo manutención de la etapa 1 de un producto, y al mismo tiempo estar haciendo manutención sobre un componente 2, mientras que se está haciendo codificación sobre un componente 3, mientras se realiza diseño sobre una etapa 4, y especificación de requisitos sobre un componente 5.
Diversas actividades están ocurriendo simultáneamente. Eligiendo seguir un proyecto usando técnicas de modelación concurrente, se posibilita el conocimiento del estado verdadero en el que se encuentra el proyecto.
Ninguna
Bajorevisión
Cambiosen espera
Cambiosen espera
En líneabase
Hecho
BajoDesarrollo
Modelo de Desarrollo Concurrente
Modelos Prescriptivos de Proceso
El proceso unificado
Proceso Unificado es un marco de desarrollo de software que se caracteriza por estar dirigido por casos de uso.
Está basado en componentes e interfaces bien definidas Aspectos característicos:
Dirigido por casos de uso Centrado en la arquitectura Iterativo e incremental
Modelos Prescriptivos de Proceso
El Proceso Unificado Dirigido por casos de uso
Caso de uso: Fragmento de funcionalidad que proporciona al usuario un resultado importante
Modelo de casos de uso: Funcionalidad total del sistema
El Proceso Unificado Centrado en la Arquitectura
Describe diferentes vistas del sistema Incluye los aspectos estáticos y dinámicos más
significativos Es la forma del software La arquitectura y los casos de uso evolucionan en
paralelo Se empieza por la parte que no es específica de los
casos de uso
El Proceso Unificado Iterativo e incremental
Se divide el trabajo en mini-proyectos Cada mini-proyecto es una iteración que resulta en
un incremento La iteración
Trata un conjunto de casos de uso Trata los riesgos más importantes
En cada iteración se persiguen unos objetivos concretos.
Fases del Proceso Unificado
Fase de Inicio: Primera fase del ciclo de vida del software, en la que la idea inicial para el desarrollo es refinada hasta el punto de quedar lo suficientemente bien establecida como para garantizar la entrada en la base de elaboración.
Fase de Elaboración: Segunda fase del ciclo de vida, en la que se define la arquitectura.
Fase de Construcción: Tercera fase del ciclo de vida del software, en la que el software es desarrollado a partir de una línea base de la arquitectura ejecutable, hasta el punto en el que se esta listo para ser transmitido a las comunidades de usuarios.
Fase de Transición: Cuarta fase del ciclo de vida del software es puesto en manos de la comunidad de usuarios.
El Proceso Unificado Iterativo e incremental
Iter #n
------------Iter #2
Test
Iter #n-1
------Iter #1
Implementac.
Diseño
Análisis
Requisitos
TransiciónConstrucciónElaboraciónGestaciónFlujos de trabajo / Fases
Bibliografia
34
.Roger S. Pressman. Ingenieria del Software. Ed. McGrawhillHenry F. Korth. Analisis y Diseño de Sistemas. Ed. McGrawhillJeffrey L. Whitten. Analisis y Diseño de Sistemas de Información. Ed. Irwin.Steve MacConell. Desarrollo y Gestion de Proyectos Informaticos. Ed. McGrawhill
Modelos Prescriptivos de Proceso