1. Modelos de proceso de
software
Integrantes: Bautista Mamani, Alexander Moisés
Dávila Soliz Carolina
Fernández Vargas Rodrigo Gastón
Quispe Churqui Herbert Wilmer
Velasco Mendoza Félix William
2. Modelos de proceso de software
“Un proceso de software es un
conjunto de actividades o
resultados asociados que
conducen a la creación de un
producto de software”.
Sommerville, 2002
Para empezar a desarrollar los procesos de software
primeramente se debe definir los siguientes
conceptos:
Modelo
Secuenciales
Evolutivos
Agiles
3. Modelos Secuenciales
Formados por un conjunto de Fases o Actividades.
Propuestos originalmente para poner orden en el caos del
desarrollo de Software.
Constituyen un mapa razonablemente eficaz para los equipos
de Software.
Primeros en aparecer junto a la Programación estructurada.
Características
Incluyen las
actividades
estructurales
Generales
Distinto énfasis
en cada una de
ellas
Acciones y
Tareas de
Ingeniería de
Software
Modelos
Clásico o
En
Cascada
DRA
(Desarrollo Rápido
de Aplicaciones)
Desarrollo
Orientado
A Prototipos
Secuencial
Lineal
• Parece caer en Cascada por gravedad.
• El inicio de una etapa debe esperar a la
finalización de una etapa anterior.
• Es uno de los primeros modelos en
originarse y es modelo de todos los demás
modelos de ciclo de vida.
• Propuesta por Winston W. Royce en 1970,
revisada por Barry Boehm en 1980 e Ian
Sommerville en 1985.
Modelo Clásico en Cascada
4. Características
• Especificación de Requerimientos –
Planificación.
• Secuencia Definida Acontecimientos y
Resultados Finales.
• Apropiado para Proyectos Estables
• Las Tareas se evalúa por Separado
• Visión del Proyecto con Productos Intermedios.
• Proyectos de Poca innovación.
• Basado en Ciclo convencional de Ingeniería.
• Un modelo incremental de ciclo de
desarrollo corto.
• Permite el desarrollo corto de 60 a 90 días.
James Martin en 1980.
• Desarrollo iterativo, construcción de
prototipos y uso de herramientas CASE.
• Sistemas completamente funcionales.
Modelo DRA
Características
• Modelo Lineal Secuencial
• Basado en componentes para entregar un
modelo operativo.
• Poder modular la aplicación para que cada
equipo pueda trabajar en diferentes modelos.
• Usabilidad, utilidad y rapidez de ejecución.
• Adaptación de Alta velocidad del Modelo de
Cascada.
5. Modelo Secuencial lineal
Es el mas antiguo de todos
los modelos de software. Es
también conocido como
modelo de ciclo de vida
básico o ciclo de vida
clásico.
Tiene su origen en el
modelo en cascada.
PLAN
RÁPIDO
MODELADO DISEÑO
RÁPIDO
CONSTRUCCIÓN
DE PROTOTIPO
DESARROLLO Y
ENTREGA
COMUNICACION
TIPOS DE
MODELOS DE
PROTOTIPOS
TIPOS DE MODELOS
DE PROTOTIPOS
• Rápido
• Reutilizable
• Modular
• Horizontal
• Vertical
• De baja fidelidad
• De alta fidelidad
Modelo Orientado a Prototipos
Modelo basado en la construcción de simulaciones o modelos ejecutables de
aplicaciones mas extensos. El objetivo principal es la participación directa en la
construcción del software requerido.
FASES ANALISIS DE LOS
REQUERIMIENTOS
DEL SOFTWARE
GENERACION DEL
CODIGOMANTENIMIENTO
6. Modelos Evolutivos
La idea detrás de este modelo es el desarrollo de una
implantación del sistema inicial, exponerla a los
comentarios del usuario, refinarla en N versiones hasta
que se desarrolle el sistema adecuado.
Inicialización
Periodos
de
Iteración
Lista de
Control El modelo evoluciona
Los requerimientos que son claros al principio
dictarán el incremento inicial.
Especificación de requerimientos.
Uso de prototipos.
Un prototipo se considera un medio para especificar los
requerimientos.
Reduce el riesgo de carecer de requisitos iniciales
completos y estables.
Modelo
Incremental y
creciente
Espiral
Desarrollo
concurrente
Tipos de modelos evolutivos
Modelo Incremental y creciente
Características:
7. Características
-Se enfoca en el análisis de riesgos.
-Los interesados deben estar
involucrados en cada vuelta.
Fases del modelo
Análisis de Riesgo
Determinar Objetivos
Desarrollar y probar
Planificación
Modelo en Espiral
El análisis de riesgo requiere la
participación de personal con experiencia.
-Es un modelo que puede
combinarse con otros modelos de
procesos de desarrollo (cascada y
evolutivo).
-Es el mejor modelo que se utiliza para
desarrollar grandes sistemas.
8. Modelo de Desarrollo
concurrente
Características
• Se puede expresar de
manera esquematizada.
• Las actividades llevan
procesos concurrentes.
• Es aplicable a todo tipo de
desarrollo de software.
Fases
• Es aplicable al cliente servidor.
9. Modelos Ágiles
Manifiesto ÁGIL
El 17 de febrero de 2001
Para definir a los métodos que
estaban surgiendo como alternativa
a las metodologías formales
Valores
Valorar más a sus individuos y su interacción
que a los procesos y las herramientas.
Valorar más el software que funciona que la
documentación exhaustiva.
Valorar más la colaboración con el cliente
que la negociación contractual.
Valorar más la respuesta al cambio que el
seguimiento de un plan.
Características
Es difícil predecir qué requerimientos de
software persistirán y cuáles cambiarán.
Es difícil pronosticar cómo cambiarán las prioridades
del cliente a medida que avanza el proyecto
El análisis, el diseño, la construcción y las pruebas
no son tan predecibles como nos gustaría .
Algunos Modelos Ágiles
Modelo Scrum
Modelo XP
Modelo Crystal
10. Modelo SCRUM
Iterativo, incremental.
Entregas funcionales rápidas y
frecuentes de 2 a 4 semanas. Equipos Auto - organizables.
Características
Roles
Los individuos y su interacción, por encima de los
procesos y las herramientas.
Modelo XP
Características
Desarrollo iterativo e incremental Pruebas unitarias continuas. Programación en parejas.
Propiedad del código compartida Simplicidad.
Roles
11. Modelo Crystal
Creadas por Alistair Cockburn
Define un código de color para establecer
la complejidad de la metodología
Características
Priorizan la comunicación y la cooperación de la gente.
Los proyectos utilizan ciclos de desarrollo incremental,
de una longitud máxima de cuatro meses
Se centra en las personas, la interacción, comunicación
directa, habilidades, talentos
Patrocinador
Crystal Orange
Sugiere que se elija un color de la metodología
para un proyecto en función de su criticidad y
tamaño.
Los caracteres indican los
riesgos potenciales
Los números indican el número de
personas involucradas en el proyecto.
Roles
Usuario Exp. Diseñador Programador
Experto en
Negocios
Coordinador Verificador Escritor
Crystal Clear
Crystal Clear
Usa procesos cíclicos anidados de varias
longitudes
Está diseñado para proyectos pequeños
Iteración y ciclos de entrega dentro de un proyecto
Iteración y ciclos de entrega dentro de un proyecto
Representación de etapas
Está diseñado para proyectos de mediana envergadura
Crystal Orange
Entrega incremental
Seguimiento constante al proyecto
Participación del usuario final