Modelos de Proceso Tradicionales



Documentos relacionados
Tema 2. Ingeniería del Software I feliu.trias@urjc.es

Ciclo de vida del Software

CICLO DE VIDA DEL SOFTWARE

Elementos requeridos para crearlos (ejemplo: el compilador)

cilred.com CICLO DE VIDA DEL SOFTWARE & METODOLOGIAS DE DESARROLLO DE SOFTWARE ING. EDUARDO CRUZ ROMERO eduar14_cr@hotmail.com cilred.

El Proceso Unificado de Desarrollo de Software

Ciclo de vida y Requerimientos de software. Laboratorio de Programación

Departamento de Lenguajes y Sistemas Informáticos. Ciclo de vida del software

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

Ingeniería de Software I

Departamento de Informática Universidad de Valladolid Campus de Segovia TEMA 2: EL CICLO DE VIDA DEL SOFTWARE

Interacción Persona - Ordenador

TEMA 1 INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE. Dr. José Ignacio Peláez Sánchez E.T.S.I. Informática de Sistemas. 3 er Curso.

2 EL DOCUMENTO DE ESPECIFICACIONES

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

SISTEMAS DE PLANEACIÓN DE RECURSOS EMPRESARIALES 2008

INGENIERÍA DEL SOFTWARE

Gestión y Desarrollo de Requisitos en Proyectos Software

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Ciclo de Vida del Desarrollo de un Sistema de Información. Departamento de Ingeniería Industrial Universidad de Chile

JUSTIFICACIÓN DEL DESARROLLO DE UN SE

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre

Tema 1 Introducción a la Ingeniería de Software

Unidades temáticas de Ingeniería del Software. Fases del proceso de desarrollo 4ª edición (2008)

Gestión de Configuración del Software

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

CICLO DE VIDA DEL SOFTWARE. Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software

Figure 7-1: Phase A: Architecture Vision

Ingeniería de Software

Gestión de la Configuración

Fundamentos del diseño 3ª edición (2002)

implantación Fig. 1. Ciclo de vida tradicional

DESARROLLO DE SOFTWARE CON CALIDAD PARA UNA EMPRESA

Ingeniería de Software. Pruebas

SISTEMAS DE INFORMACIÓN I TEORÍA

Área Académica: Licenciatura Sistemas Computacionales. Profesor: Lic. Virginia Arguelles Pascual

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

rg.o El l c i c c i l c o l o de d vi v d i a d a cm a l@ rza e de d u n u n si s s i t s e t ma m a de d in i f n or o ma m c a i c ó i n ó b

SISTEMAS DE INFORMACIÓN II TEORÍA

Propuesta Matriz de Actividades para un Ciclo de Vida de Explotación de Datos

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE

Modelos de desarrollo de software. septiembre de

5. Gestión de la Configuración del Software (GCS)

DE VIDA PARA EL DESARROLLO DE SISTEMAS

Modelos de Ciclo de Vida de Desarrollo de Software en el Contexto de la Industria Colombiana de Software

Sistemas de Gestión de Calidad. Control documental

Unidad VI: Supervisión y Revisión del proyecto

Arquitectura de Aplicaciones

1.Organización general

1 FUNDAMENTACION DE LA MATERIA

Diferencias entre nivel 2 y nivel 3 y una estrategia de implantación

PROCEDIMIENTO ESPECÍFICO. Código G Edición 0

1.- DATOS DE LA ASIGNATURA. Nombre de la asignatura: Fundamentos de Ingeniería de Software. Ingeniería en Sistemas Computacionales.

GANTT, PERT y CPM. Figura 5.3: Carta GANTT 3.

Asignaturas antecedentes y subsecuentes

GUÍA METODOLÓGICA PARA LA REALIZACIÓN DE PROCEDIMIENTOS DOCUMENTADOS DE SISTEMAS DE GESTIÓN

Metodología básica de gestión de proyectos. Octubre de 2003

Resumen obtenido de: Roger S. Pressman, Ingeniería de Software. Un enfoque práctico, quinta edición, Introducción al Diseño de Software

PROCEDIMIENTO ESPECÍFICO. Código G Edición 0

Charlas para la Gestión del Mantenimiento Fernando Espinosa Fuentes

Anteproyecto Fin de Carrera

SISTEMAS Y MANUALES DE LA CALIDAD

CAPITULO III MARCO METODOLÓGICO. La presente investigación plantea como objetivo el diseño de un prototipo

GUIA SOBRE LOS REQUISITOS DE LA DOCUMENTACION DE ISO 9000:2000

En un proyecto de desarrollo de software la metodología define Quién debe hacer Qué, Cuando y Como hacerlo. 6

Mantenimiento de Sistemas de Información

CMMI (Capability Maturity Model Integrated)

Primer avance de proyecto de software para la gestión de inscripciones en cursos

Planeación del Proyecto de Software:

Curso: Arquitectura Empresarial basado en TOGAF

Business Process Management(BPM)

Capítulo 3. Análisis y Diseño

La toma de decisiones está presente dentro de la vida de la mayoría de las personas. Los

Introducción. Componentes de un SI. Sistema de Información:

INGENIERÍA DE SOFTWARE CICLOS DE VIDA Y METODOLOGIAS

Preguntas y respuestas (rebatibles) sobre metodologías de desarrollo de software

6.4 ESTRATEGIAS DE PRUEBA

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

EL PROCESO DE BENCHMARKING

DESARROLLO AGIL ING. MA. MARGARITA LABASTIDA ROLDÁN

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

El modelo de ciclo de vida cascada, captura algunos principios básicos:

ANÁLISIS DE CARGOS. 1. Nombre del cargo 2. Posición del cargo en el organigrama. 3. Contenido del cargo. 1. Requisitos intelectuales

6 Anexos: 6.1 Definición de Rup:

F A B R I C I O M U Ñ O Z S. T E N I E N T E T É C N I C O D E A V I A C I Ó N

Software de Simulación aplicado a entornos de e-learning

Gestión de Proyectos Informáticos

El proceso unificado en pocas palabras

Diseño orientado a los objetos

Metodologías de Desarrollo de Sistemas de Información

Unidad 1. Fundamentos en Gestión de Riesgos

Solución de una Intranet bajo software Open Source para el Gobierno Municipal del Cantón Bolívar [IOS-GMCB] Gobierno Municipal del Cantón Bolívar

Un modelo de proceso es una representación abstracta de un proceso. Presenta una descripción de un proceso desde una perspectiva particular.

Capítulo 5. Cliente-Servidor.

0. Introducción Antecedentes

CAPÍTULO 3 VISUAL BASIC

Transcripción:

Modelos de Proceso Tradicionales Capitulo 2,QJHQLHUtDGHO6RIWZDUH (VSHFLDOL]DFLyQHQ*HUHQFLDGH6LVWHPDVGH,QIRUPDFLyQ 8QLYHUVLGDG6DQWLDJRGH&DOL Profesor: MSc. MIGUEL ANGEL NIÑO ZAMBRANO Programación: Tiempo Tópico 90 minutos Diapositivas y ejemplos 30 minutos Taller 120 minutos Total

Contenido Modelos de Proceso de Software Tradicionales { CVC (Ciclo de Vida Clásico) { Construcción de Prototipos { RAD (Rapid Application Development) { Modelos Iterativos Incremental Espiral INTRODUCCION Aunque la denominación de modelos tradicionales rece sobre todo en el modelo de Ciclo de Vida Clásico, esto no quiere decir que éstos modelos estén mandados a recoger, sino que su utilización ha sido extensa y ya comprobada por muchas personas. En este capitulo se pretende analizar las principales características de los modelos y establecer cuando es importante su uso y cuando no. Esto permitirá al gestor de proyectos seleccionar el mejor modelo de desarrollo de software dependiendo de las característica del sistema de información, las personas, los recursos con los que se cuenta. 2

Ciclo del Vida Clásico (CVC) Ventajas * Es importante cuando se necesitan interconectar al sistema de información otros elementos de la empresa como hardware, persona y bases de datos. * Extensamente utilizado. Desventajas * Proyectos reales no siguen el modelo tal Como esta planteado, con problemas de Interacción entre los desarrolladores. * El Cliente no expone los requisitos en la * Primera fase. * El cliente debe tener paciencia. CICLO DE VIDA CLASICO (Royce 1970) También se le conoce como modelo lineal secuencia o modelo en cascada. Plantea un enfoque sistemático, secuencial para el desarrollo de software, que comienza en un nivel de sistemas y continúa con el análisis, diseño, codificación, pruebas y mantenimiento. Este modelo comprende una primera actividad como lo es La Ingeniería y modelado de sistemas / información, en el cual se establece el sistema de nivel superior y se deben establecer los requisitos de la empresa en la que se encuentra. Los requisitos se recogen del sistema con una pequeña parte de análisis y diseño. El análisis es un proceso de reunión de requisitos centrado en la información que manejaran los programas a construir. El diseño es un proceso de varios pasos de definición de estructuras de datos, arquitectura del software, representaciones de la interfaz y detalle procedimiental. La generación de código debe ser una representación del diseño pero que entienda la máquina, se puede apoyar en herramientas CASE para ello. Una vez generado el código comienzan las pruebas del programa, se centra en validaciones y funcionalidad. Finalmente el mantenimiento vuelve aplicar los fases anteriores para realizar el mismo. 3

Construcción de Prototipos Ventajas Una aplicación que funciona. Aclarar Requisitos. Se crean con rapidez. Evolucionan (Proc. Iterativo). Costo bajo de desarrollo. *El Cliente ve una versión de trabajo del software el cual cree es la aplicación Final a utilizar. *El desarrollador se compromete con HW o SW para crear el prototipo rápidamente y éstos deben ser evaluados. Desventajas CONSTRUCCION DE PROTOTIPOS Este paradigma se inicia con la recolección de requerimientos. El desarrollador y el cliente encuentran y definen los objetivos globales para el software, identifican los requisitos conocidos y las áreas del esquema en donde es obligatoria más definición. Luego aparece un diseño rápido. El diseño rápido está centrado en una representación de los aspectos del software que serán visibles para el usuario-cliente. El diseño rápido lleva a la construcción de un prototipo. El prototipo lo evalúa el cliente-usuario y lo utiliza para refinar los requisitos del software a desarrollar. La interacción ocurre cuando el prototipo satisface las necesidades del cliente, a la vez que permite que el desarrollador comprenda mejor lo que se necesita hacer. Cuando utilizar prototipos? Cuando el cliente tiene una necesidad legítima, pero está desorientado sobre los detalles, el primer paso es desarrollar un prototipo. Cuando no se conocen los requerimientos. Cuando los requerimientos necesiten evaluarse. Costos Altos Alto Riesgo Nueva Tecnología Que hacer con el prototipo una vez evaluado por el cliente? Abandonar la Aplicación Implantar la Aplicación. (raras veces) Volver a Desarrollar la Aplicación (Aconsejado) Comenzar un Nuevo Prototipo La clave para que funcione adecuadamente este modelo es definir reglas de juego claras entre los desarrolladores y los usuarios, dividiendo responsabilidades y funciones detalladas. 4

Desarrollo Rápido de Aplicaciones (DRA) Cada equipo de desarrollo maneja el mismo conjunto de pasos. Desventajas Ventajas * Desarrollo completo de una Aplicación en poco tiempo. Para proyectos grandes el DRA requiere recursos humanos suficientes. Requiere clientes y desarrolladores comprometidos con las actividades rápidas. No Todas las aplicaciones son candidatas a utilizar DRA. No es Adecuado en altos riesgos. EL MODELO DRA El Desarrollo Rápido de Aplicaciones (DRA) es un modelo de proceso del desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo extremadamente corto. El modelo DRA es una adaptación a alta velocidad del modelo lineal secuencial en el que se logra el desarrollo rápido utilizando un enfoque de construcción basado en componentes. Si se comprenden bien los requisitos y se limita el ámbito del proyecto, el DRA permite al equipo de desarrollo implementar un Sistema completamente funcional, dentro de periódos cortos tiempo (Ej. 60 a 90 días). Las etapas son: El modelado de Gestión se modela respondiendo a: Qué información conduce el modelo de gestión?, Qué información se genera?, Quién la genera?, A dónde va la información?, Quién la procesa?. El modelado de Datos refina la información determinada en el paso anterior con la definición de un conjunto de objetos de datos con metodologías propias para tal fin. El modelado del proceso define funciones de gestión (insertar, borrar, modificar, recuperar) que utilizan el modelo de datos definido para procesar la información. La generación de la aplicación debe realizarse con herramientas de cuarta generación con herramientas que automatizan la creación de componentes y su reutilización. Finalmente la etapa de pruebas y entrega se supone es corta por la reutilización de software ya existente y correcto. Cuándo utilizar el DRA? Si una aplicación de gestión puede modularse de forma que permita completarse cada una de las funciones principales en menos de tres meses. 5

Modelo Incremental Desventajas El sistema debe permitir establecer adecuadamente los incrementos a desarrollar. Ventajas * Desarrollo completo de una aplicación con entregas funcionales que satisfacen al usuario. MODELOS EVOLUTIVOS MODELO INCREMENTAL El software al igual que todos los sistemas complejos, evoluciona con el tiempo. Los requisitos de gestión y de productos a menudo cambian conforme a que el desarrollo proceda haciendo que el camino que lleva al producto final no sea real; las estrictas fechas tope del mercado hacen que no sea posible finalizar un producto completo, por lo que se debe introducir una versión limitada para cumplir la presión competitiva y de gestión; se comprende perfectamente el conjunto de requisitos de productos centrales o del sistema, pero todavía se tienen que definir los detalles de extensiones del producto o sistema. En estas y en otras situaciones similares, los ingenieros del software necesitan un modelo de proceso que se haya diseñado explícitamente para acomodarse a un producto que evolucione con el tiempo. Modelo Incremental Combina elementos del modelo lineal secuencial con la filosofía interactiva de construcción de prototipos. Aplica secuencias lineales de forma escalonada mientras progresa el tiempo. Cada secuencia lineal produce un incremento el cual es funcional y utilizable. La diferencia de este modelo al de prototipos es que se centra en la entrega de un producto operacional con cada incremento. Cuándo utilizar el desarrollo Incremental? Cuando la dotación de personal no está disponible para una implementación completa en una fecha límite que se halla establecido para el proyecto. Los primeros incrementos generalmente tienen menos personas. 6

Modelo Espiral Regiones de Tareas Ventajas Ideal para proyectos Grandes. Adaptable a las necesidades. Desventajas Credibilidad del Cliente en cuanto su control. Habilidades de Evaluación del Riesgo. Poco usado Fuente: Boehm (1988) MODELOS EVOLUTIVOS MODELO EXPIRAL Es un modelo que acompaña la naturaleza interactiva de construcción de prototipos con los aspectos controlados y sistemáticos del modelo lineal secuencial. Proporciona el potencial para el desarrollo rápido de versiones incrementales del software. En el modelo espiral, el software se desarrolla en una serie de versiones incrementales. Durante las primeras iteraciones, la versión incremental podría ser un modelo en papel o un prototipo. Durante las ultimas iteraciones, se producen versiones cada vez más completas de la ingeniería del sistema El modelo se divide en cuatro cuadrantes que representan las actividades principales para el ciclo de vida de desarrollo de software, resumidos por Pressman (1995) en: Planeamiento. Análisis de riegos. Ingeniería. Evaluación del cliente. De acuerdo con Boehm (1988, p. 65) el ciclo de vida propuesto por el modelo se basa en cuatro preguntas fundamentales: Cómo empieza la espiral? Cómo uno rompe los ciclos de la espiral cuando es apropiado terminar un proyecto apenas iniciado? Por qué la espiral se acaba bruscamente? Qué pasa con la mejora (o el mantenimiento) del software? Debido a la reducción de riesgos determinada por el método evolutivo del modelo, éste representa un enfoque más apropiado para el desarrollo de grandes, complejos y ambiciosos sistemas de información. Además, el modelo espiral posee un nivel alto de capacidades de entorno de soporte de software y es Àexible, lo que permite acomodar diversas alternativas técnicas y objetivos de usuario. 7

Ejemplo Modelo Espiral WINWIN EL MODELO ESPIRAL WINWIN (Boehm 1998) Las mejores negociaciones se esfuerzan en obtener victotia / victoria. Esto es cliente gana obteniendo el producto o sistema que satisface la mayor parte de sus necesidades y el desaroolador gana para conseguir presupuestos y lograr una fecha de entrega realista. El modelo WINWIN define un conjunto de actividades de negociación al principio de cada paso alrededor de la espiral, más que una simple actividad de comunicación con el cliente se definen las siguientes actividades: Identificación del sistema o subsistemas claves de los directivos. Determinación de las condiciones de victoria de los directivos. Negociación de las condiciones de victoria de los directivos para reunirla en un conjunto de condiciones victoria victoria para todos los afectados (incluyendo el equipo de desarrollo). Conseguido el paso anterior se logra una inicio con victoria victoria, elemento clave para desarrollar el resto de actividades de los demás sectores. Además este modelo incluye tres hitos llamados puntos de fijación que ayudan a establecer la completitud de un ciclo alrededor de la espiral y proporcionan hitos de decisión antes de continuar con el proyecto de software. Estos puntos son: OCV Objetivos de Ciclo de Vida: Conjunto de Objetivos para cada actividad principal. ACV Arquitectura del Ciclo de Vida.: Arquitectura que se deb implementar COI Capacidad Operativa Inicial: Preparación del software para la instalación / distribución 8

Otros Modelos de desarrollo de software Modelo de desarrollo concurrente. Desarrollo Basado en Componentes. El modelo de Métodos Formales. Técnicas de Cuarta Generación T4G. OTROS MODELOS DE DAROLLO DE SOFTWARE El modelo de desarrollo concurrente es un intento por tener control total del desarrollo del proyecto, definiendo estados y actividades que dependen de esos estados, disparando eventos específicos de acuerdo las decisiones tomadas. El desarrollo basado en componentes se propiciaron con el desarrollo de las tecnologías orientadas a objetos. Este modelo incorpora muchas de las características del modelo espiral. Es evolutivo por naturaleza y exige un enfoque iterativo para la creación de software, las principales etapas son: Identificar componentes candidatos, Buscar componentes en las bibliotecas, Extraer componentes si están disponibles, Construir componentes si no existen, Colocarlos en la biblioteca y construir la iteración del sistema. Según estudios de reutilización, QSM Associates, INC. Informa que el ensamblaje de componentes lleva a una reducción del 70 por 100 de tiempo del ciclo de desarrollo, un 84 por 100 del coste del proyecto y un índice de productividad del 26.2. El Proceso unificado de desarrollo de software UP, representa un número de modelos desarrollados basados en componentes que han sido propuestos en la industria. Utilizando el Lenguaje de Modelado Unificado UML, definirá los componentes utilizados para construir el sistema y las interfases que conectarán los componentes. Utilizando una combinación del desarrollo incremental e iterativo. El modelo de métodos formales comprende un conjunto de actividades que conducen a la especificación matemática del software de computadora. Permiten que un ingeniero de software especifique, desarrolle y verifique un sistema basado en computadora aplicando una notación rigurosa y matemática. (Ingeniería del Software de Sala limpia). 9

Preguntas y Ejercicios de Repaso Qué paradigma de ingeniería del software de los presentados en este capitulo piensa es más eficaz? Proporcione cinco ejemplos de proyectos de desarrollo en los cuales sea adecuado el desarrollo por prototipos. Investigue las herramientas CASE existentes que soportan DRA. Qué es más importante, el producto o el proceso? Bibliografía Pressman, Roger. Ingeniería del Software un enfoque Práctico. Quinta Edición. Mc Graw Hill. 2000. Senn, James A. Diseño de Sistemas de. Segunda Edición. Mc Graw Hill. 1998. Capitulo 5. Material De profundización Lectura Producto y Proceso. Ensayo Margaret Davis. 10