Sunteți pe pagina 1din 31

Lenguajes de programacin II

Ing. Erick Andrade 2012

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 - 2012

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 que 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 - 2012

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Problemas en el Desarrollo de Software.

Retrasos 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 caractersticas del software no
proporcionan beneficios al cliente.

Modelar es la Solucin?

Megatraining

Ing. Erick Andrade - 2012

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 - 2012

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 - 2012

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 - 2012

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 - 2012

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 - 2012

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Por que usar 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 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 - 2012

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 - 2012

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 - 2012

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 - 2012

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 - 2012

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 - 2012

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 - 2012

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Diagramas empleados por UML


(Elementos del Diagrama de Clases)
Las tres divisiones son:

<< Nombre Clase >>


<< Atributos >>

Nombre
Atributos
Mtodos

Megatraining

<< Operaciones o
Mtodos >>

Ing. Erick Andrade - 2012

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 - 2012

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):
{ propiedades}
Donde visibilidad es uno de los siguientes:

tipo

que

retorna

+ pblico.
# protegido.
- privado.

Megatraining

Ing. Erick Andrade - 2012

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
Balance

Megatraining

Ing. Erick Andrade - 2012

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 - 2012

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 - 2012

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 .

Megatraining

Ing. Erick Andrade - 2012

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 - 2012

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 - 2012

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 - 2012

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 - 2012

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 - 2012

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Ejemplo II diagrama de clases:

29

Megatraining

Ing. Erick Andrade - 2012

2007 IBM Corporation

Lenguajes de programacin II

Introduccin a UML

Ejercicio
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)
Acceder al valor de la carga inicial y carga mxima(Mtodos pblicos)
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 - 2012

2007 IBM Corporation

Lenguajes de programacin II
Solucin:

Introduccin a UML

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

31

Megatraining

Ing. Erick Andrade - 2011

2007 IBM Corporation

S-ar putea să vă placă și