1. MODELOS DE PROCESOS DE
SOFTWARE
GRUPO NRO 6
CRISTIAN FLORES MELGAR.
FELICIDAD VILLALBA PERALTA.
ALFREDO FIDEL KANTUTA PATON.
JUAN JAVIER APAZA GUTIERREZ.
MARGARITA CECILIA RAMOS CONDORI.
FABIOLA HUANCA LECOÑA
2. Para desarrollar software es necesario:
•Entender la naturaleza del software.
•Utilizar un proceso de desarrollo bien
definido y probado (adaptado a las
características del software a
desarrollar).
•Gestionar el desarrollo de software
como un proyecto de ingeniería.
3. Proceso de Desarrollo de Software
El proceso de desarrollo de
software consiste en
recolectar los
requerimientos del software,
estos transformarlos en
diseño y el diseño en código,
el código es probado,
documentado y certificado.
4. ELEMENTOS DEL PROCESO
Especificación - establecer los requisitos y
restricciones del sistema.
Diseño - producir un modelo en papel del
sistema.
Manufactura - construir el sistema.
Prueba - verificar que el sistema cumpla
con las especificaciones requeridas.
Instalación - entregar el sistema al usuario y
asegurarse de que satisface sus necesidades.
Mantenimiento - reparar fallos en el sistema
cuando sea descubiertos
5. Es un proceso de desarrollo de software, creado en respuesta a
las debilidades del modelo tradicional de cascada. Para apoyar
el desarrollo de proyectos por medio de este modelo se han
creado frameworks (entornos de trabajo), de los cuales los dos
más famosos son el Rational Unified Process y el Dynamic
Systems Development Method.Es una derivación del ciclo de
vida en cascada, busca reducir el riesgo que surge entres las
necesidades del usuario y el producto final.
6. La Iteración es una secuencia de actividades dentro de
un plan establecido, con unos criterios claros de
evaluación, que se organiza con el propósito de
entregar parte de la funcionalidad del producto.
Este modelo en cambio mejora cada versión es decir
mejora la función que tiene la versión
Los objetivos de una iteración se establecen en función
de la evaluación de las iteraciones precedentes
El cliente es quien luego de cada iteración evalúa el
producto y lo corrige propone mejoras.
Al modelo iterativo no se le agrega funcionalidad sino
que en cada iteración se mejora su funcionalidad.
Características
Provee de soporte para determinar la efectividad de los procesos y
de la calidad del producto.
Permite estudiar y después mejorar y ajustar el proceso para el
ambiente en particular.
7. Modelo estructurado
Este modelo ―como su nombre lo indica― utiliza las técnicas del diseño estructurado o
de la programación estructurada para su desarrollo, también se utiliza en la creación de
los algoritmos del programa. Este formato facilita la comprensión de la estructura de
datos y su control.
El modelo entidad-relación, esta técnica se relaciona principalmente con los datos.
El diagrama de flujo de datos, esta es utilizada principalmente para los procesos.
Modelo orientado a objetos
Estos modelos tienen sus raíces en la programación orientada a objetos y como
consecuencia de ella gira entorno al concepto de clase, también lo hacen el análisis de
requisitos y el diseño.
Características
Provee de soporte para determinar la efectividad de los procesos y de la calidad del producto.
Permite estudiar y después mejorar y ajustar el proceso para el ambiente en particular.
Ventajas
Disminuyen riesgos
Fácilmente cambiar los requerimientos
Desventajas
No existen grandes desventajas, pero si hay puntos a manejar con sumo cuidado
porque su proceso de desarrollo es largo ya que en cada iteración se va actualizando
8. :
En forma general
podemos clasificar en 3
:
• Modelo cascada
• desarrollo exploratorio
• Prototipos desechables
9. Modelo cascada
El primer modelo de desarrollo de software que se publicó
se derivó de otros procesos de ingeniería . Éste toma las
actividades fundamentales del proceso de especificación,
desarrollo, validación y evolución y las representa como
fases separadas del proceso.
Desarrollo Exploratorio
El objetivo de este enfoque es explorar con el usuario los requisitos
hasta llegar a un sistema final. El desarrollo comienza con las partes
que se tiene más claras. El sistema evoluciona conforme se añaden
nuevas características propuestas por el usuario.
10. Prototipos desechables
Donde el objetivo del proceso del desarrollo evolutivo es
comprender los requerimientos del cliente y entonces
desarrollar una definición mejora de los requerimientos del
sistema.
11. L os tres tipos de modelo
ágil son:
• Crystal clear
• Metodología FDD
• Metodología extreme
programming(XP)
12. Metodologías ágiles
Un proceso es ágil cuando el desarrollo de software es incremental
(entregas pequeñas de software, con ciclos rápidos), cooperativo
(cliente y desarrolladores trabajan juntos constantemente con una
cercana comunicación), sencillo (el método en sí mismo es fácil de
aprender y modificar, bien documentado), y adaptable (permite
realizar cambios de último momento) .
13. Metodo Crystal clear
metodologías Crystal también sirven para gestionar proyectos ágiles, con la
diferencia de que estás dos últimas son menos extremas y están pensadas
para más tipologías de proyectos y organizaciones, destacando
especialmente proyectos y empresas grandes.
El nombre de metodologías Crystal viene de que cada proyecto software
puede caracterizarse según dos dimensiones, tamaño y criticidad, al igual
que los minerales se caracterizan por dos dimensiones, color y dureza. Y esta
es una de las bases de las metodologías Crystal.
14. Metodología FDD
FDD con sus siglas en inglés Feature Driven Development es un enfoque á gil para
el desarrollo de sistemas. Fue desarrollado por Jeff De Luca y el viejo gurú de la
Orientacióna Objetos Peter Coad. Como las otras metodologías adaptables, se
enfoca en iteraciones cortas que entregan funcionalidad tangibleDicho enfoque
no hace énfasis en la obtención de los requerimientos sino en como se realizan las
fases de diseño y construcción. Sin embargo, fue diseñado para trabajar con otras
actividades de desarrollo de software y no requiere la utilización de ningún
modelo de proceso específico. Además, hace énfasis en aspectos de calidad
durante todo el proceso e incluye un monitoreo permanente del avance del
proyecto. Al contrario de otras metodologías, FDD afirma ser conveniente para el
desarrollo de sistemas críticos.