10.07.2015 Views

algunas trasparencias de I. Sommerville

algunas trasparencias de I. Sommerville

algunas trasparencias de I. Sommerville

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Procesos <strong>de</strong>l software(selección <strong>de</strong> alguna <strong>de</strong> las <strong>trasparencias</strong> <strong>de</strong> <strong>Sommerville</strong>)©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 1


Mo<strong>de</strong>los <strong>de</strong> proceso <strong>de</strong>l softwaregenéricos●●●●El mo<strong>de</strong>lo <strong>de</strong> cascada• Se trata <strong>de</strong> fases <strong>de</strong> especificación <strong>de</strong> <strong>de</strong>sarrollo distintas yseparadas.Desarrollo evolutivo• Las activida<strong>de</strong>s <strong>de</strong> especificación, <strong>de</strong>sarrollo y validación sellevan a cabo concurrentemente.Ingeniería <strong>de</strong> software basada en los componentes• El sistema se articula a partir <strong>de</strong> componentes ya existentesHay muchas variantes <strong>de</strong> estos mo<strong>de</strong>los, por ejemplo, un<strong>de</strong>sarrollo formal en el que el proceso <strong>de</strong> cascada se usapero la especificación es una especificación formal que serefina a través <strong>de</strong> varias fases hasta conseguir un diseñoimplementable.©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 2


Mo<strong>de</strong>lo <strong>de</strong> cascada<strong>de</strong>finiciónDe requerimientosDiseño <strong>de</strong> sistemas<strong>de</strong> sistemas y softwareImplementacióny prueba <strong>de</strong>unida<strong>de</strong>sIntegración yprueba <strong>de</strong>lsistemaOperación ymantenimiento©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 3


Fases <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> cascada●●●●●●Definición y análisis <strong>de</strong> los requerimientosDiseño <strong>de</strong> sistemas y softwareImplementación y prueba <strong>de</strong> unida<strong>de</strong>sIntegración y prueba <strong>de</strong>l sistemaOperación y mantenimientoEl principal inconveniente <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> cascada es ladificultad <strong>de</strong> acomodar el cambio <strong>de</strong>spués <strong>de</strong> que elproceso está en proceso. Una fase tiene que estarcompleta antes <strong>de</strong> pasar a la siguiente fase.©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 4


Problemas <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> cascada●●●●La Inflexibilidad al dividir el proyecto en distintasetapas hace difícil respon<strong>de</strong>r al cambio en losrequerimientos <strong>de</strong>l cliente.Entonces, este mo<strong>de</strong>lo sólo e apropiado cuando losrequerimientos se han entendido bien y los cambiosestán bastante limitados durante el proceso <strong>de</strong> diseño.Muy pocos sistemas <strong>de</strong> negocios tienenrequerimientos establesEl mo<strong>de</strong>lo <strong>de</strong> cascada se usa principalmente paragran<strong>de</strong>s proyectos <strong>de</strong> ingeniería <strong>de</strong> sistemas en losque un sistema se <strong>de</strong>sarrolla en varios sitios.©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 5


Desarrollo evolutivo●●Desarrollo exploratorio• El objetivo es trabajar con el cliente y evolucionar haciaun sistema final <strong>de</strong>s<strong>de</strong> un esbozo inicial <strong>de</strong>especificación. Se <strong>de</strong>be empezar con unosrequerimientos bien comprendidos y añadir nuevosatributos acor<strong>de</strong>s con las propuestas <strong>de</strong>l cliente.Prototipos <strong>de</strong>sechables• El objetivo es enten<strong>de</strong>r los requerimientos <strong>de</strong>l sistema.Se <strong>de</strong>be empezar con requerimientos que no secompren<strong>de</strong>n <strong>de</strong>l todo hasta clarificar lo que realmentese necesita.©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 6


Desarrollo evolutivoActivida<strong>de</strong>sconcurrentesEspecificaciónVersión inicialEsbozo <strong>de</strong> la<strong>de</strong>scripciónDesarrolloVersionesintermediasValidaciónVersión final©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 7


Desarrollo evolutivo●●Problemas• Falta <strong>de</strong> visibilidad <strong>de</strong>l proceso;• A menudo los sistemas tienen una estructura <strong>de</strong>ficiente;• Pue<strong>de</strong>n ser necesarias técnicas especiales especiales (P.Ej.:en lenguajes para la rápida creación <strong>de</strong> prototipos).Aplicabilidad• Para sistemas interactivos pequeños o <strong>de</strong> tamaño medio;• Para partes <strong>de</strong> gran<strong>de</strong>s sistemas (P.Ej.: la interfaz <strong>de</strong>lusuario);• Para sistemas <strong>de</strong> corta vida©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 8


Iteración <strong>de</strong> procesos●●●Los requerimientos <strong>de</strong>l sistema SIEMPREevolucionan en el transcurso <strong>de</strong> un proyecto,así que la iteración <strong>de</strong>l proceso en el que lasprimeras etapas son revisadas siempre esparte <strong>de</strong>l proceso para gran<strong>de</strong>s sistemasLa iteración pue<strong>de</strong> aplicarse a cualquiermo<strong>de</strong>lo <strong>de</strong> proceso genéricoDos aproximaciones (relacionadas)• Desarrollo incremental;• Desarrollo en espiral.©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 9


Desarrollo incremental●●●En lugar <strong>de</strong> <strong>de</strong>sarrollar el sistema como una solaunidad, el <strong>de</strong>sarrollo y entrega se divi<strong>de</strong>n enincrementos con cada parte <strong>de</strong> incremento <strong>de</strong><strong>de</strong>sarrollo <strong>de</strong> la funcionalidad requeridaLos requerimientos <strong>de</strong>l usuario se priorizan y losrequerimientos <strong>de</strong> mayor prioridad se incluyen en losprimeros incrementos.Una vez el <strong>de</strong>sarrollo <strong>de</strong> un incremento hacomenzado, los requerimientos se congelan aunquelos requerimientos para sucesivos incrementospue<strong>de</strong>n continuar evolucionando.©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 10


Desarrollo incrementalDefinir esbozo<strong>de</strong>requerimientosAsignar requerimientosa los incrementosDiseñararquitectura <strong>de</strong>lsistemaDesarrollarincrementos <strong>de</strong>lsistemaValidar incrementosSistema incompletoIntegrarincrementosValidar sistemaSistema final©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 11


Ventajas <strong>de</strong>l <strong>de</strong>sarrollo incremental●●●●Los clientes no tienen que esperar hasta que elsistema completo se entregue para sacar provecho <strong>de</strong>él. El primer incremento satisface los requerimientosmás críticos <strong>de</strong> tal forma que el software estádisponible para su uso inmediato.Los primeros incrementos actúan como prototipo paraayudar a obtener los requerimientos para incrementosposteriores.Bajo riesgo <strong>de</strong> fallar en el proyecto totalLos servicios <strong>de</strong> alta prioridad <strong>de</strong>l sistema tien<strong>de</strong>n aser más probados.©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 12


Programación extrema●●Una aproximación al <strong>de</strong>sarrollo basado en el<strong>de</strong>sarrollo y entrega <strong>de</strong> una pequeñísima parte<strong>de</strong> los incrementos <strong>de</strong> funcionalidad.Depen<strong>de</strong> <strong>de</strong> la constante mejora <strong>de</strong>l código, laimplicación <strong>de</strong>l usuario en el equipo <strong>de</strong><strong>de</strong>sarrollo y la programación por parejas.● Tratado en el tema 17©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 13


Desarrollo en espiral●●●●el proceso se representa como una espiral enlugar <strong>de</strong> como una secuencia <strong>de</strong> activida<strong>de</strong>scon retroceso.Cada vuelta en la espiral representa una faseen el procesoNo hay fases fijas tales como la especificacióno el diseño – las vueltas en la espiral seescogen <strong>de</strong>pendiendo <strong>de</strong> lo que se refiere.Los riesgos se valoran explícitamente y seresuelven durante el proceso.©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 14


Mo<strong>de</strong>lo en espiral para el proceso <strong>de</strong>SoftwareDeterminar objetivos,alternativas yrestriccionesEvaluar alternativas ei<strong>de</strong>ntificar y resolver riesgosAnálisis<strong>de</strong> riesgosAnálisis <strong>de</strong>riesgosPlanear la siguiente faseRREVISIÓNPlan <strong>de</strong> requerimientosPlan <strong>de</strong> ciclo <strong>de</strong> vidaPlan <strong>de</strong> <strong>de</strong>sarrolloIntegración yplan <strong>de</strong>pruebaAnálisis <strong>de</strong>riesgosAnálisis<strong>de</strong> riesgosConcepto <strong>de</strong>operaciónPrototipo 1Validación <strong>de</strong>requerimientosDiseño <strong>de</strong> V&VservicioPrototipo 2Requerimientos <strong>de</strong>l softwarePrueba <strong>de</strong>aceptaciónPrototipo 3PrototipooperacionalSimulaciones, mo<strong>de</strong>los, pruebas comparativasDiseño <strong>de</strong>l productoDiseños<strong>de</strong>talladoPrueba <strong>de</strong>unida<strong>de</strong>sprueba <strong>de</strong>integracióncódigoDesarrollo, verificar producto<strong>de</strong>l siguiente nivel©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 15


Sectores <strong>de</strong>l mo<strong>de</strong>lo en espiral●●●●Definición <strong>de</strong> objetivos• Se <strong>de</strong>finen los objetivos específicos para cada fase.Evaluación y reducción <strong>de</strong> riesgos• Los riesgos se valoran y colocan en un sitio quereduzca los riesgos claveDesarrollo y validación• Se escoge un mo<strong>de</strong>lo <strong>de</strong> <strong>de</strong>sarrollo para el sistemaque pue<strong>de</strong> ser cualquiera <strong>de</strong> los mo<strong>de</strong>los genéricos.Planeación• El proyecto se revisa y la siguiente fase <strong>de</strong> la espiral esplaneada.©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 16


El Proceso Unificado Racional●●Es un mo<strong>de</strong>lo <strong>de</strong> proceso mo<strong>de</strong>rno que <strong>de</strong>riva <strong>de</strong>ltrabajo sobre el UML y procesos asociados.Normalmente se <strong>de</strong>scribe <strong>de</strong>s<strong>de</strong> 3 perspectivas• Una perspectiva dinámica que muestra las fases en eltiempo;• Una perspectiva estática que muestra las activida<strong>de</strong>s<strong>de</strong> proceso.• Una perspectiva práctica que sugiere buenas prácticaspara usar durante el proceso.©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 17


Mo<strong>de</strong>lo <strong>de</strong> fase RUPFase <strong>de</strong> iteración o evoluciónOrigen Elaboración construcción Transición©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 18


Fases RUP●●●●Origen• Establecer el caso <strong>de</strong>l negocio para el sistemaElaboración• Desarrollo y comprensión <strong>de</strong>l ámbito <strong>de</strong>l problemay <strong>de</strong> la arquitectura <strong>de</strong>l sistema.Construcción• Diseño, programación y prueba <strong>de</strong>l sistema.Transición• Despliegue <strong>de</strong>l sistema en su entorno <strong>de</strong>explotación.©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 19


Buena práctica <strong>de</strong>l RUP●●●●●●Desarrollo <strong>de</strong>l software <strong>de</strong> forma evolutivaRequerimientos <strong>de</strong> direcciónUsar arquitecturas basadas en componentes.Mo<strong>de</strong>los <strong>de</strong> software visualesVerificar la calidad <strong>de</strong>l softwareControlar los cambios para el software©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 20


Puntos clave●●●●●Los procesos <strong>de</strong> software son las activida<strong>de</strong>s implicadas enla producción y evolución <strong>de</strong> un sistema <strong>de</strong> softwareLos mo<strong>de</strong>los <strong>de</strong> proceso <strong>de</strong> software son representacionesabstractas <strong>de</strong> esos procesosLas activida<strong>de</strong>s generales son la especificación, diseño eimplementación, validación y evolución.Los ejemplos incluyen el mo<strong>de</strong>lo <strong>de</strong> cascada, el <strong>de</strong>sarrolloevolutivo y la ingeniería <strong>de</strong> software basada en loscomponentes.Los mo<strong>de</strong>los <strong>de</strong> proceso evolutivos <strong>de</strong>scriben los procesos<strong>de</strong> software como un ciclo <strong>de</strong> activida<strong>de</strong>s.©Ian <strong>Sommerville</strong> 2004 Software Engineering, 7th edition. Chapter 4 Sli<strong>de</strong> 21

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!