is, rup y umlis, rup y uml en elen el contexto de …is-rup-uml).pdf · asignación del sistema...
TRANSCRIPT
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
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 ,