Clase03 m sw

39
Ingeniería de Software UML IESPT-HUANTA Ing. Amador De La Cruz Bautista email:[email protected] 1

Transcript of Clase03 m sw

  1. 1. UML Ing. Amador De La Cruz Bautistaemail:[email protected] IESPT-HUANTA 1
  2. 2. Desarrollo de soft OO usando UML Introduccin Modelado del soft UML (Conceptos bsicos) Paradigma OO Fundamentos Diagramas de CU Diagramas de Interacciones Diagramas de clase Diagramas de estado/actividad Diagrama de componentes Diagrama de despliegue2
  3. 3. Ejemplos Modelado Construccin de una Proceso bien definidocucha para un perro Herramientas ms sofisticadas Puede hacerlo una sola persona Construccin de un Requiere: rascacielos Modelado mnimo Contexto de Proceso simpledesarrollo Herramientas simples Determinar Construccin de unaconfiguracin delcasa proceso Construida Recursos necesarios eficientemente y en Herramientas ms un tiemposofisticadas an. razonable de un equipo 3
  4. 4. NotacinHerramientasProceso4
  5. 5. El modelado captura laspartes esenciales del sistemaOrden ItemenvoProceso de NegociosSistema Computacional5
  6. 6. UML = Unified Modeling Language Un lenguaje de propsito general para elmodelado orientado a objetos Documento OMG Unified Modeling LanguageSpecification UML combina notaciones provenientes desde: Modelado Orientado a Objetos Modelado de Datos Modelado de Componentes Modelado de Flujos de Trabajo (Workflows)6
  7. 7. Diversos mtodos y tcnicas OO, con muchosaspectos en comn pero utilizando distintasnotaciones Inconvenientes para el aprendizaje, aplicacin,construccin y uso de herramientas, etc. Pugna entre distintos enfoques (ycorrespondientes gurs) Establecer una notacin estndar7
  8. 8. Comenz como el Mtodo Unificado, con laparticipacin de Grady Booch y Jim Rumbaugh. Sepresent en el OOPSLA95 El mismo ao se uni Ivar Jacobson. Los TresAmigos son socios en la compaa RationalSoftware. Herramienta CASE Rational Rose8
  9. 9. 2001 UML 2.0 2000UML 1.4 1999 UML 1.3 Revisiones menores 1998UML 1.2Nov 97 UML aprobado por el OMG Ingeniera de Software - Clase 6 UNPSJB - 2005 9
  10. 10. RumbaughBooch Jacobson Odell Meyer Pre- and Post-conditionsShlaer-MellorUMLObject life cycles Harel State ChartsGamma et. al.Frameworks, patterns,notes EmblyWirfs-Brock Singleton classesResponsabilitiesFusionOperation descriptions, message numbering10
  11. 11. Definicin semi-formal del Metamodelo de UML Mecanismos de Extensin en UML: Stereotypes Constraints Tagged ValuesPermiten adaptar los elementos de modelado,asignndoles una semntica particular 11
  12. 12. Definicin del proceso de desarrollo usando UML.UML no es una metodologa Falta integracin con respecto de otras tcnicastales como patrones de diseo, interfaces deusuario, documentacin, etc. Monopolio de conceptos, tcnicas y mtodos entorno a UML 12
  13. 13. UML ser el lenguaje de modelado orientado aobjetos estndar predominante los prximosaos Razones: Participacin de metodlogos influyentes Participacin de importantes empresas Aceptacin del OMG como notacin estndar Evidencias: Herramientas que proveen la notacin UML Edicin de libros Congresos, cursos, etc. 13
  14. 14. Un modelo captura una vista de un sistema del mundoreal. Es una abstraccin de dicho sistema, considerandoun cierto propsito. As, el modelo describecompletamente aquellos aspectos del sistema que sonrelevantes al propsito del modelo, y a un apropiado nivelde detalle. Diagrama: una representacin grfica de una coleccin deelementos de modelado, a menudo dibujada como ungrafo con vrtices conectados por arcosOMG UML 1.4 Specification 14
  15. 15. Un proceso de desarrollo de software debe ofrecer un conjuntode modelos que permitan expresar el producto desde cada unade las perspectivas de inters El cdigo fuente del sistema es el modelo ms detallado delsistema (y adems es ejecutable). Sin embargo, se requierenotros modelos ... Cada modelo es completo desde su punto de vista del sistema,sin embargo, existen relaciones de trazabilidad entre losdiferentes modelos15
  16. 16. Diagrama de Casos de Uso Diagrama de Clases Diagrama de Objetos Diagramas de Comportamiento Diagrama de Estados Diagrama de ActividadDiagramas de Interaccin Diagrama de Secuencia Diagrama de ColaboracinDiagramas de implementacin Diagrama de Componentes Diagrama de Despliegue 16
  17. 17. Los diagramas expresan grficamente partes de un modelo StateStateUse Case Diagrams de Diagramas Use Case Diagrams StateUse CaseDiagrams deDiagramasClases State Use CaseDiagramsDiagrams de DiagramasDiagrams deDiagramas Casos de UsoDiagrams Diagrams ObjetosSecuencia ScenarioState Scenario State Diagrams de Diagramas Diagrams de DiagramasDiagramsDiagramsColaboracinModelo ComponentesScenario Component Scenario Component Diagramas deDiagramsDiagrams deDiagramasDiagrams Diagrams Distribucin EstadosDiagramas deActividad 17
  18. 18. 4+1 vistas de Kruchten (1995)Vista deVista Lgica RealizacinVista de losCasos de UsoVista de Vista deProcesosDistribucin Este enfoque sigue el browser de Rational RoseUNPSJB - 2005 18
  19. 19. Propuesta de Rational Unified Process (RUP) M. de Casos de Uso del Negocio (Business Use-Case Model) M. de Objetos del Negocio (Business Object Model) M. de Casos de Uso (Use-Case Model) M. de Anlisis (Analysis Model) M. de Diseo (Design Model) M. de Despliegue (Deployment Model) M. de Datos (Data Model) M. de Implementacin (Implementation Model) M. de Pruebas (Test Model) UNPSJB - 2005 19
  20. 20. Los paquetes ofrecen un mecanismo generalpara la organizacin de losmodelos/subsistemas agrupando elementosde modelado Se representan grficamente como:Nombre de paqueteUNPSJB - 2005 20
  21. 21. Cada paquete corresponde a un submodelo(subsistema) del modelo (sistema) Un paquete puede contener otros paquetes, sinlmite de anidamiento pero cada elementopertenece a (est definido en) slo un paquete Una clase de un paquete puede aparecer en otropaquete por la importacin a travs de unarelacin de dependencia entre paquetesUNPSJB - 2005 21
  22. 22. Todas las clases no sonnecesariamente visiblesdesde el exterior delpaquete, es decir, unpaquete encapsula a lavez que agrupa El operador :: permitedesignar una clasedefinida en un contextodistinto del actual UNPSJB - 2005 22
  23. 23. UNPSJB - 2005 23
  24. 24. Casos de Uso es unatcnica para capturarinformacin de cmoun sistema o negocioVerificar Situacin del Clientetrabaja, o de cmo se Supervisordesea que trabaje No perteneceestrictamente alenfoque orientado aAdministrativo Preparar CatlogoSistemaobjeto, es una tcnicaInventariopara captura derequisitos Tipos de Venta UNPSJB - 200524
  25. 25. En el paquete tipos de venta: Otro EjemploVenta Normal Solicitar PrstamoCliente[Tarjeta Caducada] Venta en Rebajas Vendedor Solicitar Nueva Tarjeta Venta en Ofertas UNPSJB - 2005 25
  26. 26. Reintegro Cuenta CorrienteClienteVerificar Operacin Reintegro Cuenta de Crdito UNPSJB - 2005 26
  27. 27. :WInPrstamos:Socio :Video :Prstamo: Encargadoprestar(video, socio) verificar situacin socioverificar situacin video registrar prstamoentregar recibo UNPSJB - 2005 27
  28. 28. :Socio :Video 2: verificar situacin socio1: prestar(video, socio)3: verificar situacin video :WInPrstamos5: entregar recibo: Encargado4: registrar prstamo :Prstamo Ingeniera de Software - Clase 6 UNPSJB - 200528
  29. 29. El Diagrama de Clases es el diagrama principal para elanlisis y diseo Un diagrama de clases presenta las clases del sistemacon sus relaciones estructurales y de herencia La definicin de clase incluye definiciones paraatributos y operaciones El modelo de casos de uso aporta informacin paraestablecer las clases, objetos, atributos y operacionesIngeniera de Software - Clase 6 UNPSJB - 2005 29
  30. 30. (Clase y Visibilidad)Asociacin dirigedirectorDepartamentoProfesor 0..1 1UNPSJB - 2005 30
  31. 31. empleador trabajadoresEmpresa Empleado*1..* Cargosuperiornombresueldo 0..1 subordinado 1..* UNPSJB - 2005 31
  32. 32. Trabajador{ disjunta, completa }DirectivoAdministrativo ObreroUNPSJB - 2005 32
  33. 33. MotorPilotoVendedor de billetes 1..4 1..2 1 1 n n1n 1 nAvinVuelo Reservan{ disjunta, completa }1Avin militar Avin comercialLnea area{ disjunta, completa }Avin de cargaAvin de pasajerosIngeniera de Software - Clase 6 UNPSJB - 2005 33
  34. 34. altabajanmero_prstamos = 0sin prstamosSocionmero : intnombre : char[50]nmero_prestamos : int = 0 prestardevolver[ nmero_prstamos = 1 ]alta()baja()prestar(cdigo_libro : int, fecha : date)devolver(cdigo_libro : int, fecha : date) nmero_prstamos > 0con prstamos prestardevolver[ nmero_prstamos > 1 ] UNPSJB - 200534
  35. 35. [no hay caf] [no zumo]Buscar Bebida [hay caf [hay zumo]Poner caf en filtroAadir agua al depsito Agarrar tazaPoner filtro en mquina Agarrar zumo Encender mquina / cafetera.On Caf en preparacinindicador de fin Servir cafBeberUNPSJB - 2005 35
  36. 36. PasajeroVendedorAirlineSolicitar pasajeVerificarexistencia vuelo Dar detalles vueloInformar alternativasy preciosSeleccionar vueloSolicitar pago Reservar plazas ConfirmarPagar pasajeplaza reservadaEmitir billete UNPSJB - 2005 36
  37. 37. Control y Anlisis Interf az de Terminal Comment CommentGestin de CuentasAcceso a BD Rutinas de Coneccion CommentComment Comment UNPSJB - 2005 37
  38. 38. Servidor Central Control y AnlisisAcceso a BDComment Comment Rutinas de ConeccionCommentTerminal de ConsultaInterfaz de Terminal Rutinas de ConeccionCommentCommentPunto de VentaRutinas de ConeccionComment Gestin de CuentasInterfaz de Terminal CommentCommentUNPSJB - 200538
  39. 39. UML define una notacin que se expresa comodiagramas sirven para representarmodelos/subsistemas o partes de ellos El 80 por ciento de la mayora de los problemaspueden modelarse usando alrededor del 20 por cientode UML-- Grady Booch UNPSJB - 2005 39