Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Megatraining
Lenguajes de programacin II
Introduccin a UML
Agenda
Origen del Unified Modeling Language UML como notacin Ventajas Desventajas Porque usar UML Diagrama de Clases Elementos de diagrama de clases Ejemplos de diagramas de clase Ejercicio
2 Megatraining
Ing. Erick Andrade - 2011
Lenguajes de programacin II
Introduccin a UML
Porqu Modelamos ?
Construimos modelos para comprender mejor el sistema que estamos desarrollando. Cuatro utilidades de los modelos: Visualizar como queremos que sea el sistema. Especificar la estructura y comportamiento del sistema. Proporcionan plantillas que guan la construccin del sistema. Documentan las decisiones. Equivalen a los planos de un edificio.
Megatraining
Lenguajes de programacin II
Introduccin a UML
Modelar es la Solucion?
Megatraining
Lenguajes de programacin II
Introduccin a UML
Megatraining
Lenguajes de programacin II
Introduccin a UML
Utilidad de UML
Permite especificar todas las decisiones de anlisis diseo e implementacin, construyndose modelos precisos no ambiguos y completos. UML puede conectarse a lenguajes de programacin. Permite documentar todos los artefactos de un proceso de desarrollo(requisitos, arquitectura, pruebas, versiones,...)
Megatraining
Lenguajes de programacin II
Introduccin a UML
Lenguajes de programacin II
Introduccin a UML
Megatraining
Lenguajes de programacin II
Introduccin a UML
Qu es UML
UML es un Lenguaje de Modelado Unificado basado en una notacin grfica la cual permite: especificar, construir, visualizar y documentar sistemas de software. As mismo, modela sistema mediante el uso de objetos que forman parte de l as como, las relaciones estticas o dinmicas que existen entre ellos.
Megatraining
Introduccin a UML
Para realizar anlisis y diseo en Software es muy til emplear un lenguaje. Comunicacin (General) El principal motivo del uso de UML es la comunicacin. El lenguaje natural es demasiado impreciso. El cdigo fuente es muy preciso pero extenso. UML permite llegar al nivel de detalle necesario y pueden realizarse artefactos con distinto nivel de detalle. Aprendizaje OOP UML fue diseado para hacer un buen uso de OO por lo que al utilizarlo es posible comprender conceptos muy ligados a este paradigma y aprenderlo de forma sencilla. Comunicacin con expertos del dominio Es til en la comunicacin con el usuario, quien no sabe mucho de programacin. (Casos de uso) Dentro del team de desarrollo entre miembros con labores diversas. Tambin con el Project Manager, Analistas, Team Leaders, etc.
10 Megatraining
Ing. Erick Andrade - 2011
Lenguajes de programacin II
Introduccin a UML
Ventajas
El sistema es documentado y diseado antes de ser codificado. Los fallos en el diseo del sistema pueden ser descubiertos de manera temprana. Ahorro en el tiempo de desarrollo, ya que las decisiones finales sobre el diseo se tomarn antes de que haya cdigo errneo. Es ms sencillo realizar modificaciones en el sistema puesto que son realizadas previamente en la documentacin antes de comenzar a codificar. Los diagramas UML dan una idea rpida del sistema como un todo, permitiendo una mayor comprensin de la aplicacin en un menor tiempo.
11
Megatraining
Lenguajes de programacin II
Introduccin a UML
Desventajas
Dificultad para modelar interfaces de usuario. Falta de una mejor integracin con los patrones de diseo. Generalmente orientado a arquitectos y diseadores de software, es decir, un pblico sumamente tcnico. Contiene estructuras y diagramas que son poco utilizados por ser redundantes. Semntica imprecisa. (Poco objetiva)
12
Megatraining
Lenguajes de programacin II
Introduccin a UML
13
Megatraining
Lenguajes de programacin II
Introduccin a UML
Megatraining
Lenguajes de programacin II
Introduccin a UML
Recordar que tanto los atributos como los mtodos se escriben con la primer letra en minscula. Ya no se usa el _, sino que se escribe la palabra siguiente a continuacin pero comenzando con mayscula.
Las asociaciones se representan con lneas rectas sobre las cuales se puede escribir un texto descriptivo o rol de la relacin, as tambin como el grado de multiplicidad.
15 Megatraining
Ing. Erick Andrade - 2011
Lenguajes de programacin II
Introduccin a UML
En UML la clase esta representada por un rectngulo con tres divisiones internas, son los elementos fundamentales del diagrama.
Megatraining
Lenguajes de programacin II
Introduccin a UML
Megatraining
Lenguajes de programacin II
Introduccin a UML
Megatraining
Lenguajes de programacin II
Introduccin a UML
Lenguajes de programacin II
Introduccin a UML
Megatraining
Lenguajes de programacin II
Introduccin a UML
Megatraining
Lenguajes de programacin II
Introduccin a UML
Megatraining
Lenguajes de programacin II
Introduccin a UML
Clase
Cero o ms
O ..1
Clase
Cero o uno
m..n
Clase
Especificada numricamente
Megatraining
Lenguajes de programacin II
Introduccin a UML
Megatraining
Lenguajes de programacin II
Introduccin a UML
Diagrama de clases
Asociacin: Se simboliza mediante: Es una relacin genrica entre dos clases que representa un enlace entre los objetos. Se caracterizan por tener un nombre (nombre de la relacin) y una cardinalidad (tambin denominada multiplicidad de la relacin). Generalizacin: Se representa con: Indica que una clase hereda atributos y mtodos de otra, es decir, que es hija de la superclase a la cual se apunta.
25
Megatraining
Lenguajes de programacin II
Introduccin a UML
Megatraining
Lenguajes de programacin II
Introduccin a UML
Diagrama de clases
Agregacin: Es una relacin dbil. Se simboliza mediante: El objeto representa ser un componente o parte de otro objeto. Hay independencia entre ellos. Composicin: Es una relacin fuerte. Se representa con: A diferencia del caso anterior, aqu no hay independencia, por lo cual, las partes existen slo si existe la otra.
27
Megatraining
Lenguajes de programacin II
Introduccin a UML
Interpretando el diagrama: Las clases alumno y profesor heredan de la clase abstracta Persona. A su vez, la clase Alumno implementa la interfaz Asociable (entendindose por esto que est obligada a implementar todos los mtodos que dicha interfaz tuviese). En el caso del Alumno, ste podr ser tratado tanto como por una Persona como por un Asociable.
28 Megatraining
Ing. Erick Andrade - 2011
Lenguajes de programacin II
Introduccin a UML
29
Megatraining
Introduccin a UML
Modele en UML una clase llamada Vehculo, que posea tres atributos privados: carga inicial, carga mxima y destinos. Tambin debe poseer mtodos que permitan: Dar valor inicial a la carga mxima (Mtodo pblico) Modificar un valor para a la carga mxima (Mtodo pblico) Calcular la velocidad del vehculo (Mtodo protegido) Calcular la aceleracin vehculo (Mtodo protegido)
30
Megatraining
Lenguajes de programacin II Solucin : Vehculo - cargaIni: double = 0.0 - cargaMax: double - destino [1..*] : String << Constructor >> Vehiculo (cargaMax: double) << Accesor >> getCargaIni() : double getCargaMax() : double << Mutator >> setCargaMax(cargaMax : double) << Bussines Logic >> calcVelocidad() : double calcAceleracion() : double
Introduccin a UML
31
Megatraining