Você está na página 1de 31

Lenguajes de programacin II

Ing. Erick Andrade 2011

Megatraining

2007 IBM Corporation

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

2007 IBM Corporation

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

Ing. Erick Andrade - 2011

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Problemas en el Desarrollo de Software.


Retrazos en los plazos Proyectos cancelados Rpido deterioro en el sistema instalado Tasa de defectos o fallos. Requisitos mal comprendidos. Cambios frecuentes en el dominio del problema. Muchas de las interesantes caracteristicas del software no proporcionan beneficios al cliente.

Modelar es la Solucion?

Megatraining

Ing. Erick Andrade - 2011

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Utilidad del Modelado


Se facilita la comunicacin entre el equipo al existir un lenguaje comn. Se dispone de documentacin que trasciende al proyecto. Hay estructuras que trascienden lo representable en un lenguaje de programacin.

Megatraining

Ing. Erick Andrade - 2011

2007 IBM Corporation

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

Ing. Erick Andrade - 2011

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Origen del Unified Modeling Language


Un modelo est destinado a comunicar algo a un determinado pblico. Est encargado de capturar una perspectiva de un sistema. Ejemplo: Construccin de un edificio: Perspectivas: Vista general Plano de arquitectura Plano de evacuacin etc. Todos referentes al mismo edificio, pero mostrando aspectos diferentes.
7 Megatraining
Ing. Erick Andrade - 2011

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Origen del Unified Modeling Language


James Rumbaugh, Grady Booch e Ivar Jacobson se unieron para elaborar un estndar de modelado, denominado posteriormente UML. La versin 1.0 de UML fue lanzada al mercado luego de ser aprobada por el OMG (Object Management Group) en 1997. UML es una notacin. Describe mediante diagramas los resultados de una determinada etapa del desarrollo de un sistema. La idea de UML es centrarse ms en los objetos que en los algoritmos.

Megatraining

Ing. Erick Andrade - 2011

2007 IBM Corporation

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

Ing. Erick Andrade - 2011

2007 IBM Corporation

Lenguajes de programacin II Por que usar UML?

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

2007 IBM Corporation

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

Ing. Erick Andrade - 2011

2007 IBM Corporation

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

Ing. Erick Andrade - 2011

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Aspectos generales de los diagramas


UML define nueve tipos de diagramas: De casos de uso De clases De componentes De despliegue De objetos De secuencia De colaboracin De estados y transiciones De actividades

13

Megatraining

Ing. Erick Andrade - 2011

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Diagramas empleados por UML (Diagramas de clases)


Un diagrama de clases o estructura esttica muestra el conjunto de clases y objeto importantes que forman parte de un sistema, junto con las relaciones existentes entre clases y objetos. Muestra de una manera esttica la estructura de informacin del sistema y la visibilidad que tiene cada una de las clases, dada por sus relaciones con los dems en el modelo .

Megatraining

Ing. Erick Andrade - 2011

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Diagrama de clases (class diagram)


Una clase se representa con un rectngulo de la siguiente forma:
Atributos

Signatura de los mtodos

Simbologa utilizada: - : privado + : pblico # : protegido subrayados: de clase

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

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)


Clase: representa un conjunto de entidades que tienen propiedades comunes. Una clase es un constructor que define la estructura y comportamiento de una coleccin de objeto denominados instancia de la clase.

En UML la clase esta representada por un rectngulo con tres divisiones internas, son los elementos fundamentales del diagrama.

Megatraining

Ing. Erick Andrade - 2011

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)


Las tres divisiones son:
Clase Atributos Mtodos << Operaciones o Mtodos >> << Nombre Clase >> << Atributos >>

Megatraining

Ing. Erick Andrade - 2011

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)


Atributo: Representa una propiedad de una entidad. Cada atributo de un objeto tiene un valor que pertenece a un dominio de valores determinado. Las sintaxis de una atributo es: Visibilidad <nombre>: tipo = valor inicial { propiedades} Donde visibilidad es uno de los siguientes: + pblico. # protegido. - privado.

Megatraining

Ing. Erick Andrade - 2011

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)


Mtodos u Operacin: El conjunto de operaciones que describen el comportamiento de los objetos de una clase. La sintaxis de una operacin en UML es: Visibilidad nombre (lista de parmetros): tipo que retorna { propiedades} Donde visibilidad es uno de los siguientes: + pblico. # protegido. - privado.
Megatraining
Ing. Erick Andrade - 2011

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)


Ejemplo: Una Cuenta Corriente que posee como caracterstica: Balance Puede realizar las operaciones de: Depositar Girar y Balance

Megatraining

Ing. Erick Andrade - 2011

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)


Objeto: es una instancia de una clase. Se caracteriza por tener una identidad nica, un estado definido por un conjunto de valores de atributos y un comportamiento representado por sus operaciones y mtodos. Asociacin (rol, multiplicidad, calificador): representan las relaciones entre instancias de clase. Una asociacin es una lnea que une dos o ms clases.

Megatraining

Ing. Erick Andrade - 2011

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)


Rol: Identificado como un nombre a los finales de la lnea, describe la semntica de la relacin en el sentido indicado. Cada asociacin tiene dos roles; cada rol es una direccin en la asociacin. El rol puede estar representado en el nombre de la clase.

Megatraining

Ing. Erick Andrade - 2011

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)


Multiplicidad: Describe la cardinalidad de la relacin, es decir, cuanto objetos de esa clase pueden participar en la relacin dada .
1 Clase Exactamente uno

Clase

Cero o ms

O ..1

Clase

Cero o uno

m..n

Clase

Especificada numricamente

Megatraining

Ing. Erick Andrade - 2011

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)


Los tipos de asociaciones entre clases presentes en un diagrama esttico son: Asociacin (binaria, n-aria). Composicin. Agregacin. Generalizacin.

Megatraining

Ing. Erick Andrade - 2011

2007 IBM Corporation

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

Ing. Erick Andrade - 2011

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Diagramas empleados por UML (Elementos del Diagrama de Clases)


Herencia (Especializacin/Generalizacin):

Megatraining

Ing. Erick Andrade - 2011

2007 IBM Corporation

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

Ing. Erick Andrade - 2011

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Ejemplo I diagrama de clases:

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

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Ejemplo II diagrama de clases:

29

Megatraining

Ing. Erick Andrade - 2011

2007 IBM Corporation

Lenguajes de programacin II Ejercicio

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

Ing. Erick Andrade - 2011

2007 IBM Corporation

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

Ing. Erick Andrade - 2011

2007 IBM Corporation

Você também pode gostar