IS, RUP y UMLIS, RUP y UML en elen el Contexto de …IS-RUP-UML).pdf · Asignación del sistema...

39
IS, RUP y UML IS, RUP y UML en el en el IS, RUP y UML IS, RUP y UML en el en el Contexto de ADOO Contexto de ADOO Análisis y Diseño Análisis y Diseño OO, 2008 OO, 2008-1 Análisis y Diseño Análisis y Diseño OO, 2008 OO, 2008 1 Luis Luis Carlos Díaz Carlos Díaz, , Angela Carrillo y Angela Carrillo y Deicy Alvarado Deicy Alvarado

Transcript of IS, RUP y UMLIS, RUP y UML en elen el Contexto de …IS-RUP-UML).pdf · Asignación del sistema...

IS, RUP y UMLIS, RUP y UML en elen elIS, RUP y UML IS, RUP y UML en el en el Contexto de ADOOContexto de ADOO

Análisis y DiseñoAnálisis y Diseño OO, 2008OO, 2008--11Análisis y Diseño Análisis y Diseño OO, 2008OO, 2008 11Luis Luis Carlos DíazCarlos Díaz, , Angela Carrillo yAngela Carrillo y

Deicy AlvaradoDeicy Alvarado

Presentación del CursoPresentación del Curso

Ingeniería de SoftwareIngeniería de SoftwareIngeniería de SoftwareIngeniería de Software

Personas

Tecnología

P dProducto

Proceso

sobre el producto!sobre el producto!… sobre el producto!… sobre el producto!

Lo que el director deseaLo que el director desea

sobre el producto!sobre el producto!… sobre el producto!… sobre el producto!

Como lo define elComo lo define elComo lo define el Como lo define el líder del proyectolíder del proyecto

sobre el producto!sobre el producto!… sobre el producto!… sobre el producto!

Como se diseña el sistemaComo se diseña el sistemaComo se diseña el sistemaComo se diseña el sistema

sobre el producto!sobre el producto!… sobre el producto!… sobre el producto!

Como lo desarrollanComo lo desarrollanLos programadoresLos programadores

sobre el producto!sobre el producto!… sobre el producto!… sobre el producto!

Como es intalado por Como es intalado por Como es intalado por Como es intalado por los operadoreslos operadores

sobre el producto!sobre el producto!… sobre el producto!… sobre el producto!

Lo que realmente quería Lo que realmente quería Lo que realmente quería Lo que realmente quería el usuarioel usuario

El ciclo de vida del SoftwareEl ciclo de vida del SoftwareEl ciclo de vida del SoftwareEl ciclo de vida del Software

Tiempo …

Ciclos desde su nacimiento hasta su muerte

Nacimiento Muerte

Problemas en el desarrolloProblemas en el desarrolloProblemas en el desarrolloProblemas en el desarrollo

El dominio de la aplicación no es conocidoFalta de comunicación con el usuario

Falta de comunicación del grupo de desarrolloCarencia de una buena documentación

F lt d l ióFalta de planeaciónSobrecostos

Demoras y cancelación de proyectosM l lid d d l d tMala calidad del producto

No cumplimiento de las necesidades del “Negocio”

Ejemplo: Los Costos!Ejemplo: Los Costos!Ejemplo: Los Costos!Ejemplo: Los Costos!

¿Cómo solucionar estos problemas y ¿Cómo solucionar estos problemas y suplir los retos del desarrollo de software?suplir los retos del desarrollo de software?suplir los retos del desarrollo de software?suplir los retos del desarrollo de software?

… Tarea de la Ingeniería de Software!… Tarea de la Ingeniería de Software!gg

ApuestaApuesta: Si el proceso es de calidad: Si el proceso es de calidadApuestaApuesta: Si el proceso es de calidad : Si el proceso es de calidad El producto resultante de ese proceso es de calidad!!!El producto resultante de ese proceso es de calidad!!!

Sobre el ProcesoSobre el ProcesoSobre el ProcesoSobre el Proceso

ConstrucciónConstrucciónDesarrolloDesarrolloDesarrolloDesarrolloMantenimiento del SoftwareMantenimiento del Software

Sistema nuevoo modificadoo modificado

Proceso de Desarrollo de Software

Requisitos nuevoso modificados

Modelos del Ciclo de VidaModelos del Ciclo de VidaModelos del Ciclo de VidaModelos del Ciclo de VidaDiente de Sierra

Cascada

Espiral

Diente Tiburón En “V”

Proceso GeneralProceso GeneralProceso GeneralProceso General

Resumen de los principales procesosResumen de los principales procesosResumen de los principales procesos Resumen de los principales procesos de desarrollo de software:de desarrollo de software:

ADMINISTRACIÓN DEL PROYECTOInicio Supervisión Control Calidad

DESARROLLO POS- DESARROLLO

Inicio, Supervisión, Control, Calidad

PRE- DESARROLLOExploración

Asignación del sistema

RequerimientosAnálisisDiseño

Implementación

InstalaciónOperación & Soporte

MantenimientoRetiroImplementación Retiro

PROCESOS INTEGRALESPROCESOS INTEGRALESVerificación, Validación, Adm. de configuraciones, Documentación, Entrenamiento

Modelo de madurez de los Modelo de madurez de los Procesos de Desarrollo de SwProcesos de Desarrollo de Sw

RUP: Rational Unified ProcessRUP: Rational Unified ProcessRUP: Rational Unified ProcessRUP: Rational Unified Process

FasesFasesFasesFases

Inception Elaboration Construction Transition

Objetivos(Vision)

Arquitectura CapacidadOperacional

Inicial

Releasedel Producto

Tiempo …

Inicial

FasesFasesFasesFases

I ió I i iI ió I i i i ió i d d li ió i d d lIncepción o Inicio:Incepción o Inicio: visión aproximada del visión aproximada del producto final con base en las producto final con base en las características del negociocaracterísticas del negociocaracterísticas del negociocaracterísticas del negocioElaboración:Elaboración: Visión refinada, núcleo Visión refinada, núcleo central resolución de riesgos altoscentral resolución de riesgos altoscentral, resolución de riesgos altoscentral, resolución de riesgos altosConstrucción:Construcción: implantación del sistema, implantación del sistema, implementación de requerimientos deimplementación de requerimientos deimplementación de requerimientos de implementación de requerimientos de menor riesgo y preparación para el menor riesgo y preparación para el desplieguedesplieguedesplieguedespliegueTransición:Transición: Despliegue del productoDespliegue del producto

Fases e IteracionesFases e IteracionesFases e IteracionesFases e Iteraciones

Alcance yAlcance y Objetivos Arquitectura Versión Beta Versión Final

IncepciónIncepción ElaboraciónElaboración ConstrucciónConstrucción TransiciónTransiciónFases:

Iteración 1

Iteración 2

Iteración 3

Iteración 4

Iteraciones:

Entregas Modelado del Negocio

internas (Versiones)

Requerimientos

Análisis y Diseño

I l ió

Disciplinas:

Implementación

Pruebas (Fiabilidad, Funcionalidad, Rendimiento)

Las IteracionesLas IteracionesLas IteracionesLas Iteraciones

En cada faseEn cada faseEn cada faseEn cada faseAnálisis de RequerimientosAnálisis de RequerimientosDi ñDi ñDiseñoDiseñoImplementaciónImplementaciónPruebasPruebas

Se busca un refinamiento sucesivoSe busca un refinamiento sucesivoSe busca un refinamiento sucesivo Se busca un refinamiento sucesivo del sistemadel sistemaLongitud máxima: 2 a 6 semanasLongitud máxima: 2 a 6 semanasFijar iteraciones cortas y adaptablesFijar iteraciones cortas y adaptablesFijar iteraciones cortas y adaptablesFijar iteraciones cortas y adaptables

Elementos del RUPElementos del RUPElementos del RUPElementos del RUPWorkflows (disciplinas primarias, de apoyo)Workflows (disciplinas primarias, de apoyo)WorkersWorkersActividades y ArtefactosActividades y Artefactos

ArtefactosArtefactos

A ti id dA ti id d

WorkersWorkers

ActividadesActividades

Características GeneralesCaracterísticas GeneralesCaracterísticas GeneralesCaracterísticas Generales

Dirigido por Casos de UsoDirigido por Casos de UsoCentrado en la ArquitecturaCentrado en la ArquitecturaCentrado en la ArquitecturaCentrado en la ArquitecturaIterativo e IncrementalIterativo e Incremental

OtrosOtrosOtrosOtrosDesarrollo basado en componentesDesarrollo basado en componentesUML como lenguaje de ModeladoUML como lenguaje de ModeladoProceso IntegradoProceso Integradogg

Ventajas del RUPVentajas del RUPVentajas del RUPVentajas del RUP

Mitigación temprana de posibles riesgos Mitigación temprana de posibles riesgos altosaltosProgreso visible en las primeras etapasProgreso visible en las primeras etapasTemprana retroalimentación que se ajusteTemprana retroalimentación que se ajusteTemprana retroalimentación que se ajuste Temprana retroalimentación que se ajuste a las necesidades realesa las necesidades realesGestión de la complejidadGestión de la complejidadGestión de la complejidadGestión de la complejidadConocimiento adquirido en una iteración Conocimiento adquirido en una iteración puede aplicarse de iteración a iteraciónpuede aplicarse de iteración a iteraciónpuede aplicarse de iteración a iteraciónpuede aplicarse de iteración a iteración

Buenas prácticasBuenas prácticasBuenas prácticasBuenas prácticas

Abordar las cuestiones de alto riesgo y Abordar las cuestiones de alto riesgo y valor en las primeras iteracionesvalor en las primeras iteracionesUsuarios involucrados continuamenteUsuarios involucrados continuamenteVerificar continuamente la calidad desdeVerificar continuamente la calidad desdeVerificar continuamente la calidad desde Verificar continuamente la calidad desde el principio y con frecuenciael principio y con frecuenciaAplicar casos de usoAplicar casos de usoAplicar casos de usoAplicar casos de usoModelar el Software visualmenteModelar el Software visualmenteGestión cuidadosa de requisitosGestión cuidadosa de requisitosControl de cambiosControl de cambios

ModeladoModeladoModeladoModeladoSimplificación de la realidadSimplificación de la realidadProporciona los planos del sistemaProporciona los planos del sistemaProporciona los planos del sistemaProporciona los planos del sistemaContexto: Incluye elementos que tienen gran influencia y omite aquellos Contexto: Incluye elementos que tienen gran influencia y omite aquellos menores que no son relevantes para el nivel de abstracción dadomenores que no son relevantes para el nivel de abstracción dado

Mundo Real Mundo Computacional

PProceso

Representaciones Representaciones “Modelado”

Situación Software

ModelosModelosModelosModelos

AyudanAyudan aa visualizarvisualizar cómocómo eses oo cómocómoqueremosqueremos queque seasea unun sistemasistema..PermitenPermiten especificarespecificar lala estructuraestructura oo elelcomportamientocomportamiento dede unun sistemasistemaProporcionanProporcionan plantillasplantillas queque nosnos guíanguían enenlala construcciónconstrucción dede unun sistemasistemalala construcciónconstrucción dede unun sistemasistemaDocumentanDocumentan laslas decisionesdecisiones queque seseadoptanadoptanadoptanadoptan

¿Por qué modelar Software?¿Por qué modelar Software?¿Por qué modelar Software?¿Por qué modelar Software?Dimensión y complejidadDimensión y complejidady p jy p j

Sistema Operativo Windows NT: 40 millones LOCSistema Operativo Windows NT: 40 millones LOCNo es hecho por una sola personaNo es hecho por una sola personaEquipos de desarrolloEquipos de desarrolloEquipos de desarrolloEquipos de desarrollo

Entendimiento del desarrollo Entendimiento del desarrollo

Representaciones simples Representaciones simples Medio de manejar la complejidadMedio de manejar la complejidadMedio de manejar la complejidadMedio de manejar la complejidad

MáximasMáximas::MáximasMáximas::““UnaUna empresaempresa dede softwaresoftware concon éxitoéxito eses aquellaaquella queque produceproduce dedeunauna maneramanera consistenteconsistente softwaresoftware dede calidadcalidad queque satisfacesatisface laslasnecesidadesnecesidades deldel usuario”usuario”necesidadesnecesidades deldel usuario”usuario”“Un“Un buenbuen softwaresoftware satisfacesatisface laslas necesidadesnecesidades cambiantescambiantes dede sussususuariosusuarios yy dede lala empresa”[RBJ]empresa”[RBJ]

Principios del modeladoPrincipios del modeladoPrincipios del modeladoPrincipios del modelado

“La“La elecciónelección dede quéqué modelosmodelos creercreer tienetiene unauna“La“La elecciónelección dede quéqué modelosmodelos creercreer tienetiene unaunaprofundaprofunda influenciainfluencia sobresobre cómocómo sese acometeacomete ununproblemaproblema yy cómocómo sese dada formaforma aa unauna solución”solución”

“Todo“Todo modelomodelo puedepuede serser expresadoexpresado aa diferentesdiferentesnivelesniveles dede precisión”precisión”nivelesniveles dede precisiónprecisión

“Los“Los mejoresmejores modelosmodelos estánestán ligadosligados aa lala realidad”realidad”

“Un“Un únicoúnico modelomodelo nono eses suficientesuficiente.. CualquierCualquiersistemasistema nono trivialtrivial sese abordaaborda mejormejor aa travéstravés dede ununsistemasistema nono trivialtrivial sese abordaaborda mejormejor aa travéstravés dede ununpequeñopequeño conjuntoconjunto dede modelosmodelos casicasiindependientes”independientes” [RJB][RJB]

UML: Unified Modeling LanguageUML: Unified Modeling LanguageUML: Unified Modeling LanguageUML: Unified Modeling Language

L j d M d l d U ifi d !L j d M d l d U ifi d !Lenguaje de Modelado Unificado!Lenguaje de Modelado Unificado!BoochBoochJacobsonJacobsonRumbaughRumbaughRumbaughRumbaugh

Taller: Convenciones de modelado Taller: Convenciones de modelado de un pequeño Aptode un pequeño Aptode un pequeño Apto.de un pequeño Apto.

[The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999]

Breve Historia de UMLBreve Historia de UMLBreve Historia de UMLBreve Historia de UML

ÉÉÉrase una vez …Érase una vez …

MétodoMétodo dede BoochBoochElEl métodométodo OOSEOOSE (Object(Object--OrientedOrientedSoftwareSoftware Engineering)Engineering) dede JacobsonJacobsonSo t a eSo t a e g ee g)g ee g) dede JacobsoJacobsoElEl métodométodo OMTOMT (Object(Object ModelingModelingTechniq e)Techniq e) dede R mba ghR mba ghTechnique)Technique) dede RumbaughRumbaugh

Breve Historia de UMLBreve Historia de UMLBreve Historia de UMLBreve Historia de UML

Ventajas de cada uno:Ventajas de cada uno:

Método de BoochMétodo de Booch: Expresivo en diseño : Expresivo en diseño y construcción de proyectosy construcción de proyectosy construcción de proyectosy construcción de proyectosMétodo OOSEMétodo OOSE: soporte para casos de : soporte para casos de

l t i t d i i tl t i t d i i tuso y levantamiento de requerimientosuso y levantamiento de requerimientosMétodo OMTMétodo OMT: análisis y sistemas de : análisis y sistemas de información con gran cantidad de datosinformación con gran cantidad de datos

Breve Historia de UMLBreve Historia de UMLBreve Historia de UMLBreve Historia de UML

Al conocerse …Al conocerse …

CadaCada unouno dede loslos métodosmétodos evolucionabaevolucionabaindependientementeindependientemente haciahacia loslos otrosotros dosdosindependientementeindependientemente haciahacia loslos otrosotros dosdosSeSe pretendíapretendía estabilizarestabilizar elel mercadomercado

i t di t d bj tbj torientadoorientado aa objetosobjetosExtraerExtraer yy complementarsecomplementarse concon lolo mejormejordede cadacada unouno dede loslos métodosmétodos

Breve Historia de UMLBreve Historia de UMLBreve Historia de UMLBreve Historia de UML

¿Cómo unir?¿Cómo unir?

TenerTener unun lenguajelenguaje dede especificaciónespecificación dederequerimientos?requerimientos?requerimientos?requerimientos?ProgramaciónProgramación visual?visual?EquilibrioEquilibrio entreentre expresividadexpresividad yysimplicidad!simplicidad!

Modelos Vistas y SistemasModelos Vistas y SistemasModelos, Vistas y SistemasModelos, Vistas y Sistemas

Modelo:Modelo: Abstracción de un sistemaAbstracción de un sistemaModelo:Modelo: Abstracción de un sistemaAbstracción de un sistemaVista:Vista: Aspectos de un modeloAspectos de un modeloNotación:Notación: representación de Vistasrepresentación de VistasNotación:Notación: representación de Vistasrepresentación de Vistas

UML: Diagramas de Casos de UsoUML: Diagramas de Casos de UsoUML: Diagramas de Casos de UsoUML: Diagramas de Casos de Uso

Funcionalidad del sistema desde el Funcionalidad del sistema desde el punto de vista del usuariopunto de vista del usuariopp

Sistema

UML: Diagramas de ClaseUML: Diagramas de ClaseUML: Diagramas de ClaseUML: Diagramas de Clase

Estructura del SistemaEstructura del Sistema

UML: Diagramas de SecuenciaUML: Diagramas de SecuenciaUML: Diagramas de SecuenciaUML: Diagramas de Secuencia

Comportamiento entre actores yComportamiento entre actores yComportamiento entre actores y Comportamiento entre actores y objetos del sistemaobjetos del sistema

Bibliografía & ReferenciasBibliografía & ReferenciasBibliografía & ReferenciasBibliografía & ReferenciasBernd Bruegge: Ingeniería de Software Orientado a Objetos. Prentice Hall, Bernd Bruegge: Ingeniería de Software Orientado a Objetos. Prentice Hall, 2000.2000.

Jaime Oyarzo Espinosa: Notas de clase Introducción a la Informática. Jaime Oyarzo Espinosa: Notas de clase Introducción a la Informática. U i id d d Al láU i id d d Al láUniversidad de AlcaláUniversidad de Alcalá

Hugo Cendales: Notas de clase ADOO. Universidad Javeriana, 2007.Hugo Cendales: Notas de clase ADOO. Universidad Javeriana, 2007.

Luis Carlos Díaz: Notas de clase ADOO. Universidad Javeriana, 2006.Luis Carlos Díaz: Notas de clase ADOO. Universidad Javeriana, 2006.

Miguel Torres: Notas de clase ADOO Universidad Javeriana 2005Miguel Torres: Notas de clase ADOO Universidad Javeriana 2005Miguel Torres: Notas de clase ADOO. Universidad Javeriana, 2005.Miguel Torres: Notas de clase ADOO. Universidad Javeriana, 2005.

http://kybele.escet.urjc.es/documentos/ISG/Estructurado/%5BISGhttp://kybele.escet.urjc.es/documentos/ISG/Estructurado/%5BISG--20062006--07%5DMetodologiasDesarrolloSW pdf07%5DMetodologiasDesarrolloSW pdf07%5DMetodologiasDesarrolloSW.pdf07%5DMetodologiasDesarrolloSW.pdf

Otros Aportes: Comentarios y observaciones de docentes del curso: Deicy Otros Aportes: Comentarios y observaciones de docentes del curso: Deicy Alvarado & Angela Carrillo, 2007Alvarado & Angela Carrillo, 2007g ,g ,