10.07.2015 Views

algunas trasparencias de I. Sommerville

algunas trasparencias de I. Sommerville

algunas trasparencias de I. Sommerville

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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!