0% encontró este documento útil (0 votos)
21 vistas24 páginas

Modelos de Proceso en Ingeniería de Software

Cargado por

alejandroisais
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
21 vistas24 páginas

Modelos de Proceso en Ingeniería de Software

Cargado por

alejandroisais
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Introduction to

Software Engineering

Software Process
Models
Universidad Autónoma de Zacatecas
Introducción a la Ingeniería de Software
MSC Alejandro Isaís Torres
[email protected]
Outline

 Introducción
 Modelos de Proceso de desarrollo de
Software
 Cómo enfrentar el cambio
Outline

 Introducción
 Modelos de Proceso de Software
 Cómo enfrentar el cambio
Introducción

Un modelo de proceso de software es


una serie de actividades relacionadas
que conduce a la elaboración de un
producto de software.

“Si el proceso está bien, los resultados cuidarán


de sí mismos”
– Takashi Osada
Introducción

Existen muchos modelos de procesos de


software diferentes, pero todos deben
incluir cuatro actividades principales que
son:
 Especificación del software
 Diseño e implementación del software
 Validación del software
 Evolución del software
Introducción

Los modelos de procesos de software se


clasifican como:
 Dirigidos por un plan (Plan-Driven)
 Procesos Ágiles
Introducción

Procesos dirigidos por un plan (Plan-


Driven)
Son aquellos donde todas las actividades
del proceso se planean por anticipado y
el avance se mide contra dicho plan.
Introducción

Procesos Ágiles
La planeación es incremental y es más
fácil modificar el proceso para reflejar los
requerimientos cambiantes del cliente.
Outline

 Introducción
 Modelos de Proceso de Software
 Cómo enfrentar el cambio
Modelos de Proceso de Software

 Modelo en cascada (Waterfall)


 Desarrollo Incremental
 Ingeniería de Software orientada a la
reutilización
Modelos de Proceso de Software

Modelo en Cascada
Éste toma las actividades fundamentales del
proceso de especificación, desarrollo, validación
y evolución y, luego, los representa como fases
separadas del proceso, tal como especificación
de requerimientos, diseño de software,
implementación, pruebas, etcétera.
El modelo en cascada
El modelo en cascada

 Cada fase produce documentación autorizada.


 La siguiente fase no comienza sin terminar la fase previa.
 El proceso es visible para los administradores.
 Tiene que establecerse compromisos en etapas tempranas del
proceso, por lo tanto dificulta responder a requerimientos
cambiantes del cliente.
 Debe de usarse cuando los requerimientos se entiendan bien
y sea improbable el cambio radical durante el desarrollo del
sistema.
Modelos de Proceso de Software

Desarrollo incremental
Este enfoque vincula las actividades de
especificación, desarrollo y validación. El sistema
se desarrolla como una serie de versiones
(incrementos), y cada versión añade
funcionalidad a la versión anterior.
Desarrollo Incremental

El desarrollo incremental se basa en la idea de


diseñar una implementación inicial, exponer ésta
al comentario del usuario, y luego desarrollarla
en sus diversas versiones hasta producir un
sistema adecuado.
Desarrollo Incremental
Desarrollo Incremental

 Las actividades de especificación, desarrollo y


validación están entrelazadas en vez de separadas,
con rápida retroalimentación a través de las
actividades.
 Refleja la forma en que se resuelven problemas.
 Resulta más barato y fácil realizar cambios en el
software conforme éste se diseña.
 Cada incremento o versión del sistema incorpora algunas de
las funciones que necesita el cliente.
 Los primeros incrementos del sistema incluyen la función más
importante o la más urgente.
Modelos de Proceso de Software

Ingeniería de software orientada a la reutilización


Este enfoque se basa en la existencia de un
número significativo de componentes
reutilizables. El proceso de desarrollo del sistema
se enfoca en la integración de estos
componentes en un sistema, en vez de
desarrollarlo desde cero.
Ingeniería de software
orientada a la reutilización

Los enfoques orientados a la reutilización se


apoyan en una gran base de componentes de
software reutilizable y en la integración de
marcos para la composición de dichos
componentes. En ocasiones, tales componentes
son sistemas por derecho propio (sistemas
comerciales, off-the-shelf) que pueden mejorar
la funcionalidad específica, como el procesador
de textos o la hoja de cálculo.
Ingeniería de software
orientada a la reutilización
Ingeniería de software
orientada a la reutilización

En la figura se muestra un modelo del proceso general para desarrollo


basado en reutilización. Aunque la etapa inicial de especificación de
requerimientos y la etapa de validación se comparan con otros procesos
de software en un proceso orientado a la reutilización, las etapas
intermedias son diferentes. Dichas etapas son:

1. Análisis de componentes
2. Modificación de requerimientos
3. Diseño de sistema con reutilización
4. Desarrollo e integración
Ingeniería de software
orientada a la reutilización

Análisis de Componentes -> De acuerdo a los requerimientos se


buscan componentes que puedan satisfacer dicha
especificación, muchas veces solo proporcionan una parte de la
funcionalidad requerida.
Modificación de los requerimientos -> Durante esta etapa se
analizan los requerimientos usando información de los
componentes descubiertos. Luego se modifican para reflejar los
componentes disponibles.
Ingeniería de software
orientada a la reutilización

Diseño de sistema con reutilización -> Durante esta fase se diseña


el marco conceptual del sistema o se reutiliza un marco
conceptual existente. Se toman en cuenta los componentes que
se reutilizan. Es posible que deba diseñarse algo de software
nuevo.
Desarrollo e integración -> Se diseña el software que no puede
procurarse de manera externa, y se integran los componentes y
los sistemas comerciales para crear el nuevo sistema.
Ingeniería de software
orientada a la reutilización

 La ingeniería de software orientada a la reutilización tiene la


clara ventaja de reducir la cantidad de software a desarrollar
y, por lo tanto, la de disminuir costos y riesgos también
conduce a entregas más rápidas del software.
 Se pierde algo de control sobre la evolución del sistema,
conforme las nuevas versiones de los componentes
reutilizables no estén bajo el control de la organización que los
usa.

También podría gustarte