Está en la página 1de 43

Nombre:

Meyling Mendoza Ruiz.


Docente:
Ing. Juan Alberto Muoz.
Lenguaje Unificado de Modelado (LUM o UML, por sus siglas en
ingls, Unified Modeling Language).

Lenguaje de modelado de sistemas de software ms conocido y utilizado
en la actualidad; est respaldado por el OMG (Object Management
Group).

UML ofrece un estndar para describir un "plano" del sistema (modelo),
incluyendo aspectos conceptuales tales como procesos de negocio,
funciones del sistema, y aspectos concretos como expresiones de
lenguajes de programacin, esquemas de bases de datos y compuestos
reciclados.





Mediante UML es posible establecer la serie de requerimientos y estructuras
necesarias para plasmar un sistema de software previo al proceso intensivo de
escribir cdigo.
1
En otros trminos, as como en la construccin de un edificio se realizan planos
previo a su construccin, en Software se deben realizar diseos en UML previa
codificacin de un sistema. 2

Aunque UML es un lenguaje, ste posee ms caractersticas visuales que
programticas, mismas que facilitan a integrantes de un equipo multidisciplinario
participar e intercomunicarse fcilmente.
3
En los principios de la
computacin, los
programadores no
realizaban anlisis muy
profundos sobre el
problema a resolver.
Hoy en da es necesario
contar con un plan bien
analizado. Un cliente tiene
que comprender que har
un equipo de
desarrolladores.
Adems tiene que ser capaz
de sealar cambios si no se
han captado claramente sus
necesidades.
A su vez, el desarrollo es un
esfuerzo orientado a
equipos, por lo que cada
uno de los miembros tiene
que saber que lugar toma su
trabajo en la solucin final.
Conforme aumenta la complejidad del mundo, los sistemas informticos tambin
debern crecer en complejidad. En ellos se encuentran diversas piezas de
hardware y software que se comunican a grandes distancias mediante una red.

Misma que est vinculada a bases de datos que, a su vez, contienen grandes
cantidades de informacin. Si desea crear sistemas que lo involucren con este
nuevo milenio Cmo manejar tanta complejidad?

La clave est en organizar el proceso de diseo de tal forma que los analistas,
clientes, desarrolladores y otras personas involucradas en el desarrollo del sistema
lo comprendan y convengan con l. El UML proporciona tal organizacin.

La necesidad de diseos slidos ha trado consigo la creacin de una notacin
de diseo que los analistas, desarrolladores y clientes acepten como pauta (tal
como la notacin de esquemas para un electrnico). El UML es esa misma
notacin.
La concepcin del UML
El UML es la creacin de Grady Booch, James Rumbaugh e Ivar Jacobson. Los tres
amigos trabajaban en empresas distintas en los 80s y principios de los 90 y cada
uno dise su propia metodologa para el anlisis y diseo orientado objetos.
Sus metodologas predominaron sobre las de sus competidores. A mediados de
los 90 empezaron a intercambiar ideas entre s y decidieron desarrollar su
trabajo en conjunto.
En 1994 Rumbaugh ingres a Rational Software Corporation, donde ya trabajaba
Booch. Jacobson ingres a Rational un ao despus.
Los anteproyectos del UML empezaron a circular en la industria del software y las reacciones
resultantes trajeron consigo considerables modificaciones. Conforme diversos corporativos vieron
que UML era til a sus propsitos se conform un consorcio de UML.
Entre los miembros se encuentran DEC, Hewlett-Packard, Intellicorp, Microsoft, Oracle, Texas
Instruments y Rational. En 1997 el consorcio produjo la versin 1.0 del UML y lo puso a
consideracin de la OMG como respuesta a su propuesta para un lenguaje de modelado
estndar.
El consorcio aument y gener la versin 1.1, misma que puso nuevamente a consideracin
del OMG. El grupo adopt esta versin a finales de 1997. El OMG se encarg de la
conservacin del UML y produjo otras dos versiones en 1998.
El UML ha llegado a ser el estndar de facto en la industria del software , y su evolucin contina.
El objetivo principal cuando se empez a gestar UML era posibilitar el intercambio
de modelos entre las distintas herramientas CASE orientadas a objetos del mercado.
Para ello era necesario definir una notacin y semntica comn.

Visin general de UML
UML es un lenguaje grfico para:
Visualizar.
Especificar.
Construir y
Documentar un sistema.
Visin general de un UML
UML es un lenguaje.
Un lenguaje de modelado es un
lenguaje cuyo vocabulario y reglas
se centran en la representacin
conceptual y fsica de un sistema,
por lo tanto es un lenguaje
estndar para los planos del
software.
UML es un lenguaje para visualizar.
Un programador cuando esta
modelando tiene que pensar en:
Primero, la comunicacin de esos
modelos conceptuales a otros est
sujeta a errores a menos que
cualquier persona implicada hable
del mismo lenguaje.
Segundo, que el software no
puede entender a menos que se
construyan modelos que
trasciendan el lenguaje de
programacin textual.
Tercero, si el desarrollador que
escribi el cdigo no dej
documentacin sobre los modelos,
esa informacin se perder y ser
parcialmente reproducible a partir
de la implementacin.

UML es un lenguaje para
especificar.
Especificar, significa construir
modelos precisos, no complejos. Y
UML cubre las especificaciones de
todas las decisiones de anlisis,
diseo e implementacin que
deben realizarse al desarrollar un
sistema de gran cantidad de
software.
UML es un lenguaje para construir.

En UML, sus modelos pueden conectarse en forma directa a gran variedad de
lenguajes de programacin, esta correspondencia permite ingeniera directa: la
generacin de cdigo a partir de un modelo UML en un lenguaje de
programacin, tambin se puede reconstruir a partir de una implementacin.

UML es un lenguaje para documentar.
Una organizacin de software que trabaje bien produce:
Requisitos, Arquitectura, Diseo, Cdigo fuente, Planificacin de proyectos
Pruebas, Prototipos y Versiones.

UML cubre la documentacin de la arquitectura y proporciona requisitos y pruebas y
las actividades de planificacin de proyectos.
Bloques de construccin de UML
El vocabulario de UML comprende tres tipos de bloques de construccin:
Elementos (Cosas).
Relaciones.
Diagramas.

Los Elementos son las abstracciones que son ciudadanas de primera clase en un
modelo, las relaciones ligan estos elementos entre s; el grupo de diagramas comparte
colecciones de estos elementos.


Hay 4 tipos de elementos en UML
Elementos estructurales


Estos siete elementos son los elementos estructurales bsicos que se pueden incluir en
el modelo UML. Tambin existen variaciones de estos siete elementos, tales como
actores, seales, procesos, hilos y aplicaciones, documentos, archivos, bibliotecas,
pginas y tablas.
Elementos de comportamiento
Son las partes dinmicas de los modelos UML. Estos son los verbos de un modelo y
representan comportamiento en el tiempo y en el espacio.









Interaccin:
Es un comportamiento que
comprende un conjunto de
mensajes intercambiados
entre un conjunto de objetos,
dentro de un contexto
particular para alcanzar un
propsito especifico.
Mquina de Estados:
Es un comportamiento que
especifica las secuencias de
estados por las que pasa un
objeto o una interaccin
durante su vida en respuesta
a eventos.
Estos dos elementos (interacciones y mquinas de estado) son los elementos de
comportamiento que se pueden incluir de un modelo UML, estos elementos estn
conectados normalmente a diversos elementos estructurales, principalmente clases,
colaboraciones y objetos.

Los Elementos de agrupacin
Son las partes organizativas de los modelos UML. Estos son las cajas en las que
pueden descomponerse un modelo.
Paquete



Mecanismo de propsito general para organizar elementos en grupos.
En los paquetes se pueden agrupar los elementos estructurales, de
comportamiento e incluso otros elementos de agrupacin.
Los paquetes son los elementos de agrupacin bsicos con los cuales se
puede organizar un modelo UML. Tambin hay variaciones, tales como los
framework, los modelos y los subsistemas.








Estas relaciones son los bloques bsicos de construccin para las relaciones de UML.
Existen cuatro
tipos de
relaciones en
UML
Dependencias Asociaciones Generalizaciones Realizacin
Elementos anotacionales
Son las partes explicativas de los modelos de UML.
Son los comentarios que se pueden aplicar para describir, iluminar y
remarcar algunos elementos de un modelo.
Hay un tipo principal de Elementos anotacionales llamado nota.
Una nota es simplemente un smbolo para representar las limitaciones y
comentarios asociados a un elemento o una coleccin de elementos.
Grficamente una nota se representa con un rectngulo con una esquina
doblada, junto con un comentario textual o grfico.
Diagramas del UML
El UML est compuesto por diversos elementos grficos que se combinan para
conformar diagramas.

La finalidad de los diagramas es presentar diversas perspectivas de un sistema, a
las cules se les conoce como modelo. El modelo UML de un sistema es similar a
un modelo a escala de un edificio junto con la interpretacin del artista del
edificio.

Es importante destacar que un modelo UML describe lo que supuestamente
har un sistema, pero no dice cmo implementar dicho sistema.


Diagramas de casos de uso.
Diagramas de estado.

Diagramas de secuencias.
Diagramas de comunicacin o colaboracin.
Diagramas de actividades.
Diagramas de componentes.
Diagramas de distribucin.
Diagrama de clases.
Diagrama de objetos.
Diagrama de colaboraciones.
Diagramas de despliegue fsico.
Diagramas de estructura o composicin.
Diagrama de mquinas de estado .
Diagrama de tiempos.
Estructura general de los diagramas UML
Diagrama de estructura compuesta
Un diagrama de estructura compuesta es un tipo de diagrama de
estructura esttica en el Lenguaje de Modelado Unificado (UML), que
muestra la estructura interna de una clase y las colaboraciones que esta
estructura hace posibles. Esto puede incluir partes internas,
puertas mediante las cuales, las partes interactan con cada una de las
otras o mediante las cuales, instancias de la clase interactan con las
partes y con el mundo exterior, y conectores entre partes o puertas.
Una estructura compuesta es un conjunto de elementos interconectados
que colaboran en tiempo de ejecucin para lograr algn propsito. Cada
elemento tiene algn rol definido en la colaboracin.


ANLISIS Y DISEO ORIENTADO A OBJETO (UML)


Fases en que se descompone el proceso de desarrollo OO:

1. Planificacin y Especificacin de Requisitos: Planificacin, definicin de requisitos,
conocer los procesos del dominio, etc.
2. Construccin: La construccin del sistema.
3. Instalacin: La puesta en marcha del sistema en el entorno previsto de uso.




La construccin se subdivide en los siguientes:
Se analiza el problema a resolver desde la perspectiva de los usuarios y de las entidades externas que
van a solicitar servicios al sistema.
Anlisis
El sistema se especifica en detalle, describiendo cmo va a funcionar internamente para satisfacer
lo especificado en el anlisis.
Diseo
Se lleva lo especificado en el diseo a un lenguaje de programacin.
Implementacin

Se llevan a cabo una serie de pruebas para corroborar que el software funciona correctamente y
que satisface lo especificado en la etapa de Planificacin y Especificacin de Requisitos.
Pruebas
Complejidad / Objetos

Entre ms complejo es el sistema que se desea crear ms beneficios presenta el uso
de UML ("Unified Modeling Language"), las razones de esto son evidentes, sin
embargo, existen dos puntos claves : El primero se debe a que mediante un
plano/visin global resulta ms fcil detectar las dependencias y dificultades
implcitas del sistema, y la segunda razn radica en que los cambios en una etapa
inicial (Anlisis) resultan ms fciles de realizar que en una etapa final de un sistema
como lo seria la fase intensiva de codificacin.
Puesto que UML es empleado en el anlisis para sistemas de mediana-alta
complejidad, era de esperarse que su base radica en otro paradigma empleado en
diseos de sistemas de alto nivel que es la orientacin a objetos, por lo que para
trabajar en UML puede ser considerado un pre-requisito tener experiencia en un
lenguaje orientado a objetos.

Tcnica de modelado de objetos
El modelado orientado a objetos es una tcnica de especificacin semiformal para el
paradigma orientado a objetos.
El Lenguaje de Modelado Unificado (UML, Unified Modeling Language) se ha
desarrollado en un intento de unificar las distintas notaciones existentes.
El modelado orientado a objetos se ocupa de comprender y analizar la aplicacin y el
dominio en el que opera.
El punto de partida es la declaracin del problema que hay que resolver.
Esta declaracin, que proporciona una visin conceptual del sistema propuesto, puede
ser textual o utilizar una tcnica de descripcin ms formal, como la basada en casos
de uso.
El modelado orientado a objetos consta de tres pasos: modelado de casos de uso,
modelado de clases y modelado dinmico.
Modelado de Casos de Uso
La intencin del modelado de casos de uso es identificar cmo se va a usar el
sistema y lo que se espera que haga como respuesta a ese uso.
Determina cmo la aplicacin genera los diversos resultados que se requieren (sin
considerar el orden de generacin).
La informacin se presenta en forma de diagrama de caso de uso y escenarios
(escenarios: guiones) asociados.
Este paso, que a veces se denomina modelado funcional, est en gran parte
orientado a las acciones.
Modelado de Clases
Determina las clases, sus atributos y las relaciones entre las clases.
Esta informacin se presenta en forma de diagramas de clases.
Este paso est orientado a los datos.

Modelado Dinmico
Determina las acciones realizadas por cada clase y sobre cada clase.
Esta informacin se presenta en forma de diagramas de comportamiento.
Este paso est orientado a las acciones.
Los tres pasos del modelado se realizan realmente en paralelo, puesto que, en el
paradigma orientado a objetos, ni los datos ni las acciones tienen prioridad los unos
sobre los otros.
Se usan varias tcnicas de modelado para comprender los datos, las acciones y las
interacciones entre los datos y las acciones.
Durante el proceso de modelado, el conocimiento adquirido sobre la aplicacin se
representa de distintas formas, cada una de las cuales refleja un aspecto diferente
del producto buscado.
Los diagramas se actualizan continuamente a medida que se consigue una mejor
percepcin del sistema que se est modelando.
Finalmente, las perspectivas combinadas proporcionan una comprensin global del
producto que sera difcil de alcanzar con una sola tcnica de modelado.
Diagramas de clase
Los diagramas de clases describen la estructura esttica de un sistema.
Las cosas que existen y que nos rodean se agrupan naturalmente en categoras.
Una clase es una categora o grupo de cosas que tienen atributos (propiedades) y
acciones similares.
Un ejemplo puede ser la clase Aviones que tiene atributos como el modelo de avin,
la cantidad de motores, la velocidad de crucero y la capacidad de carga til.
Entre las acciones de las cosas de esta clase se encuentran: acelerar, elevarse,
girar, descender, desacelerar.

Un rectngulo es el smbolo que representa a la clase, y se divide en tres reas. Un
diagrama de clases est formado por varios rectngulos de este tipo conectados por
lneas que representan las asociaciones o maneras en que las clases se relacionan
entre si.




Relaciones en UML
Dependencia: es una relacin semntica entre dos elementos, en la cual un
cambio a un elemento puede afectar el significado de otro elemento.
Asociaciones: es una relacin estructural que describe un conjunto de enlaces, los
cuales son conexiones entre objeto y representan una relacin estructural entre un
todo y sus partes.
Diagramas: un diagrama es la representacin grfica de un conjunto de
elementos, visualizando la mayora de las veces como un grafo conexo de nodos
(elementos) y arcos (relaciones). Los diagramas se dibujan para visualizar un
sistema desde diferentes perspectivas, de forma que un diagrama es una
proyeccin de un sistema, un diagrama representa una vista resumida de los
elementos que constituyen un sistema.
Clases: una clase es una descripcin de un conjunto de objetos que comparten
los mismos atributos, operaciones, relaciones y semntica. Las clases pueden
representar cosas como hardware, software o solo conceptuales y tambin
forman parte de una distribucin equilibrada de responsabilidades en el sistema
UML representa una representacin grfica de las clases como se muestra en la
figura.


Componentes de las Clases
Una clase es una descripcin de un conjunto de objetos que comparten los mimos
atributos, operaciones, relaciones y semnticas. Grficamente una clase se
representa como un rectngulo, en el cual se describen las caractersticas de los
objetos que representa, entre ellos tenemos.
1. Nombre: una clase debe contener un nombre que la identifique, compuesto por
cualquier nmero de letras y nmeros exceptuando los dos puntos pues estos se
utilizan para separar el nombre de una clase y el paquete que lo contiene.
2. Atributos: es una propiedad de una clase identificada con un nombre, que
describe un rango de valores que pueden tomar las instancias de la propiedad. Un
atributo representa alguna propiedad del elemento que se est modelando que es
compartida por todos los objetos de esa clase, adems, una clase puede o no
contener atributos. Por ejemplo un atributo de la clase estudiante es el nombre,
apellido, fecha Nacimiento, etc.


3. Operaciones: es una abstraccin de algo que puede hacer un objeto y que es
compartido por todos los objetos de la clase. Las clases pueden tener o no
operaciones. Ejemplo: La clase estudiante puede tener los objetos generados por
ella: matricular, evaluar, aprobar y estas operaciones son comunes a todos los
objetos que se describen a travs de la clase estudiante.

4. Responsabilidades: Al crear una clase, se est expresando que todos los objetos
de esa clase tienen el mismo tipo de estado y el mismo tipo de comportamiento. De
forma ms general los atributos y operaciones son las caractersticas por medio de la
cuales se llevan a cabo las responsabilidades de la clase. Grficamente las
responsabilidades se pueden expresar en un comportamiento separado al final del
icono de la clase.

Usos Comunes de las Clases
Las clases se utilizan para modelar y representar el conjunto de elementos de un
sistema de manera general (abstracciones), para determinar los problemas que se
intenta resolver y as implementar una solucin.
Para definir las clases que intervienen dentro de un sistema se recomienda como
puntos de partida las siguientes consideraciones:
Identificar aquellas cosas que utilizan los usuarios o programadores para describir el
problema o la solucin. Identificar las responsabilidades de cada clase y asegurarse
que cada clase existe. Identificar los atributos y operaciones necesarios para cumplir
sus responsabilidades. Hacer del conjunto de clases y sus responsabilidades un
modelo equilibrado donde no existan clase demasiado grandes ni pequeas.
Cuando se dibuje una clase hay que mostrar solo aquellas propiedades de la clase
que sean importantes, como tambin sus atributos y operaciones
Objetos
Un objeto se representa de la misma forma que una clase. En el compartimiento
superior aparecen el nombre del objeto junto con el nombre de la clase subrayados,
segn la siguiente sintaxis: nombre_del_objeto: nombre_de_la_clase Puede
representarse un objeto sin un nombre especfico, entonces slo aparece el nombre
de la clase.


Asociaciones
Es una relacin estructural que especifica que los objetos de un elemento estn
conectados con los objetos de otro. Dada una asociacin entre dos clases, se
puede navegar desde un objeto de una clase hasta el objeto de otra clase, y
viceversa. Una asociacin que conecta dos clases se dice binaria, s conecta
ms de dos clases se denomina asociacin n-arias, las asociaciones se utilizarn
cuando se quieren representar relaciones estructurales.

Caractersticas de las Asociaciones y operaciones
Nombre de la Asociacin y Direccin
El nombre de la asociacin se utiliza para describir la naturaleza de la relacin,
es opcional y se muestra como un texto que est prximo a la lnea. Se puede
aadir un pequeo tringulo negro slido que indique la direccin y permita
leer el nombre de la asociacin. En el ejemplo se puede leer la asociacin
como Director manda sobre Empleado.

Los nombres de las asociaciones normalmente se incluyen en los modelos para
aumentar la legibilidad. Sin embargo, en ocasiones pueden hacer demasiado
abundante la informacin que se presenta, con el consiguiente riesgo de saturacin.
En ese caso se puede suprimir el nombre de las asociaciones consideradas como
suficientemente conocidas. En las asociaciones de tipo agregacin y de herencia no
se suele poner el nombre.
Multiplicidad
La multiplicidad es una restriccin que se pone a una asociacin, que limita el nmero
de instancias de una clase que pueden tener esa asociacin con una instancia de la
otra clase. Puede expresarse de las siguientes formas:
Con un nmero fijo: 1. Con un intervalo de valores: 2.5. Con un rango en el cual uno
de los extremos es un asterisco Significa que es un intervalo abierto. Por ejemplo, 2..*
significa 2 o ms. Con una combinacin de elementos como los anteriores separados
por comas: 1, 3..5, 7, 15..*.Con un asterisco: * . En este caso indica que puede tomar
cualquier valor (cero o ms).

Roles
Un rol es simplemente la cara que la clase de un extremo de la asociacin
presenta a la clase del otro extremo.

Para indicar el papel que juega una clase en una asociacin se puede
especificar un nombre de rol. Se representa en el extremo de la asociacin
junto a la clase que desempea dicho rol.

Agregacin
El smbolo de agregacin es un diamante colocado en el extremo en el
que est la clase que representa el todo.

También podría gustarte