Documente Academic
Documente Profesional
Documente Cultură
como resultado
de su prctica docente y apoyada en las siguientes fuentes:
Schmuller J. (2001). Aprendiendo UML en 24 Horas. Prentice Hall
Modelado de Sistemas con UML (s.f.). Recuperado el 01 de diciembre de 2014, de
http://es.tldp.org/Tutoriales/doc-modelado-sistemas-UML/doc-modelado-sistemas-uml.pdf
Lenguaje Unificado de Modelado UML (s.f.). Recuperado el 02 de diciembre de 2014, de
http://datateca.unad.edu.co/contenidos/200609/exeuml/index.html
Fundamentos de UML
El Lenguaje Unificado de Modelado (UML) es una herramienta que ayuda a
capturar la idea de un sistema para comunicarla posteriormente a quien est
involucrado en su proceso de desarrollo, a travs de un conjunto de smbolos y
diagramas, donde cada diagrama tiene fines distintos dentro del proceso de
desarrollo.
Anterior al UML, el desarrollo de sistemas era prcticamente una propuesta al
azar, puesto que la comunicacin de la idea no era tan clara a quien deba
desarrollar el sistema. Los analistas de sistemas trataban de entender los
requerimientos de los usuarios y comunicrselo a los desarrolladores con la
esperanza de que el producto final cumpliera con lo que el cliente deseaba, lo que
muchas veces conclua con la entrega de un sistema difcil de utilizar y que no
solucionaba el problema original del usuario.
Se necesitaba por tanto un lenguaje no slo para comunicar las ideas a otros
desarrolladores sino tambin para servir de apoyo en los procesos de anlisis de
un problema. Con este objetivo se cre el Lenguaje Unificado de Modelado (UML:
Unified Modeling Language).
UML se ha convertido en ese estndar tan ansiado para representar y modelar la
informacin con la que se trabaja en las fases de anlisis y, especialmente, de
diseo.
1
El lenguaje UML tiene una notacin grfica muy expresiva que permite representar
en mayor o menor medida todas las fases de un proyecto informtico: desde el
anlisis con los casos de uso, el diseo con los diagramas de clases, objetos, etc.,
hasta la implementacin y configuracin con los diagramas de despliegue.
Tal como indica su nombre, UML es un lenguaje de modelado. Un modelo es una
simplificacin de la realidad. El objetivo del modelado de un sistema es capturar
las partes esenciales del sistema. Para facilitar este modelado, se realiza una
abstraccin y se plasma en una notacin grfica. Esto se conoce como modelado
visual.
El modelado visual permite manejar la complejidad de los sistemas a analizar o
disear. De la misma forma que para construir una choza no hace falta un modelo,
cuando se intenta construir un sistema complejo como un rascacielos, es
necesario abstraer la complejidad en modelos que el ser humano pueda entender.
UML sirve para el modelado completo de sistemas complejos, tanto en el diseo
de los sistemas software como para la arquitectura hardware donde se ejecuten.
Otro objetivo de este modelado visual es que sea independiente del lenguaje de
implementacin, de tal forma que los diseos realizados usando UML se pueda
implementar en cualquier lenguaje que soporte las posibilidades de UML
(principalmente lenguajes orientados a objetos).
UML es adems un mtodo formal de modelado. Esto aporta las siguientes
ventajas:
Mayor rigor en la especificacin.
Permite realizar una verificacin y validacin del modelo realizado.
Se pueden automatizar determinados procesos y permite generar cdigo a partir
de los modelos y a la inversa (a partir del cdigo fuente generar los modelos). Esto
permite que el modelo y el cdigo estn actualizados, con lo que siempre se
puede mantener la visin en el diseo, de ms alto nivel, de la estructura de un
proyecto.
En otro orden, para poder manejar la complejidad de los sistemas actuales que
involucran la comunicacin de hardware y software a grandes distancias,
mediante una red vinculada a bases de datos, con enormes cantidades de
informacin, es necesario organizar el proceso de diseo de forma tal, que los
analistas, clientes y desarrolladores comprendan el sistema y convengan con l.
Contar con un diseo slido es necesario para reducir el periodo de desarrollo de
sistemas contemporneo; adems la posibilidad de modificar aspectos
importantes de un proyecto de desarrollo en las adquisiciones corporativas.
Historia de UML
El UML es creacin de Grady Booch, James Rumbaugh e Ivar Jacobson. Los
cuales de manera independiente, durante la dcada de los ochenta y principios de
los noventa, disearon su propia metodologa para el anlisis y diseo orientado a
objetos. Sus metodologas predominaron sobre las de sus competidores y a
mediados de los noventa decidieron unirse y realizar su trabajo en conjunto.
Los anteproyectos del UML trajeron consigo considerables modificaciones en la
industria del software, por lo cual se consolid un consorcio del UML, figurando
entre sus miembros Microsoft, Oracle, Hewlett-Packard, Texas Instruments, entre
otros. En 1997 se produjo la versin 1.0 del UML, la cual se puso a consideracin
del OMG (Grupo de administracin de objetos) como una respuesta su propuesta
como un lenguaje modelador estndar, ms adelante se generaron otras
versiones, lo cual ha convertido al UML en un estndar en la industria del
software.
Orientacin a objetos
Es importante conocer lo relacionado a la orientacin a objetos para poder trabajar
con el UML. La orientacin a objetos fomenta una metodologa basada en
componentes para el desarrollo de software, de manera que primero se genera un
sistema mediante un conjunto de objetos, luego podr ampliar el sistema
agregndole funcionabilidad a los componentes, y finalmente podr volver a
utilizar los objetos que genero para el sistema cuando cree uno nuevo, con lo cual
se reduce significativamente el tiempo de desarrollo de un sistema.
Un objeto es la instancia de una clase. Usted y yo somos instancia de una clase
llamada persona. Un objeto cuenta con atributos y acciones.
De la clase persona tenemos por ejemplo los siguientes atributos y acciones:
Atributos: altura, peso, edad, entre otros.
Acciones: hablar, caminar, comer, dormir, trabajar, leer, escribir, entre otros.
Adems la de categorizacin la clase tiene otro propsito, es una plantilla para
fabricar objetos
El propsito de la orientacin a objetos es desarrollar software que modele un
esquema del mundo, y mientras ms atributos y acciones se tomen en cuenta,
mayor ser la similitud del modelo con la realidad.
Otros aspectos de la orientacin a objetos son los siguientes:
La abstraccin: es quitar de un objeto las propiedades y acciones y dejar slo las
que sean necesarias.
Herencia: como instancia de una clase, un objeto tiene todas las caractersticas de
la clase a la que pertenece. No importa qu atributos o acciones decida usar en la
clase, siempre cada objeto los heredar.
Un objeto no slo hereda de una clase, sino que una clase puede heredar de otra.
Por ejemplo: lavadoras, microondas, neveras, radios licuadoras, planchas son
clases y forman parte de una ms genrica llamada Electrodomsticos. Y los
Electrodomsticos son una sub-clase de artculos del hogar
Polimorfismo: una operacin tiene un mismo nombre para diferentes clases, pero
cada clase sabe cmo realizar tal operacin.
Actor.
Casos de Uso.
Casos de abusos
Uno de los riesgos que existe cuando la gente sabe que tiene estas relaciones
como un elemento a utilizar en sus modelos de casos de uso, consiste en su
abuso. Mucha gente, y sobre todo la que arrastra prcticas de mtodos
estructurados, la suele utilizar en exceso. No es raro ver modelos de casos de uso
que llegan a tener decenas de inclusiones y extensiones, incluso las inclusiones y
extensiones se vuelven a extender a varios niveles, generando una maraa de
casos de uso que no ofrecen valor al ser mostrados explcitamente
10
11
Iniciar una seccin y ser verificado son dos pasos que pueden incluir otros casos
de uso:
Crear una propuesta
Utilizar software de oficina
Finalizar seccin de la red.
En el proceso crear propuesta pudieran otro detalle, como cuando la propuesta va
a un cliente nuevo incluyen informacin promocional de la empresa, que no es
necesaria para clientes constantes; surgiendo as otro caso de uso que extender
crear propuesta:
Crear propuesta para cliente nuevo
12
Por lo que el diagrama de casos de uso que resulta del caso uso crear propuesta
es el siguiente:
Las clases
Objetos
Actores
Interfaces
Casos de uso
La asociacin
Generalizacin
Dependencia (inclusin y extensin)
Realizacin
13
Las relaciones: conectan a los elementos y de ese modo conectan a los modelos
con la realidad.
Agrupamiento: el paquete es el nico elemento de agrupamiento en el UML, y
permite organizar los elementos estructurales en un modelo.
Anotacin: la nota es el elemento de anotacin del UML; permitiendo adjuntar
restricciones, comentarios, requerimientos y grafios explicativos a sus modelos.
Extensin: los estereotipos o clises son dos estructuras que el UML proporciona
para extender el lenguaje.
14
Diagrama de Colaboracin
Es un diagrama de interaccin que resalta la organizacin estructural de los
objetos que envan y reciben mensaje.
Para representar un mensaje, se dibuja una flecha cerca de la lnea de asociacin
de los dos objetos, la cual apunta al objeto receptor. El mensaje se muestra en
una etiquete prximo a la flecha; por lo general, el mensaje le indica al objeto
receptor que ejecute una de sus operaciones y dentro de un parntesis los
parmetros con los cuales funcionara la operacin, en caso de que los hubiera
15
16
Diagrama de Clases
En UML el diagrama de clases es uno de los tipos de diagramas o smbolo
esttico y tiene como fin describir la estructura de un sistema mostrando sus
clases, atributos y relaciones entre ellos.
Un diagrama de Clases representa las clases que sern utilizadas dentro del
sistema y las relaciones que existen entre ellas.
Estos diagramas son utilizados durante el proceso de anlisis y diseo de los
sistemas informticos, en donde se intentan conformar el diagrama conceptual de
la informacin que se manejar en el sistema.
En una aproximacin a un Caso de Uso guiado hacia el anlisis orientado a
objetos, el diagrama de clases se desarrolla a travs de informacin obtenida en
los Casos de Uso, Diagramas de Secuencia y Diagramas de Colaboracin. Los
objetos encontrados durante el anlisis son modelados en trminos de la clase a
la que instancian, y las interacciones entre objetos son referenciados a relaciones
entre las clases instanciadas.
Los diagramas de clases tienen las siguientes caractersticas:
Las clases define el mbito de definicin de un conjunto de objetos.
Cada objeto pertenece a una clase.
Los objetos se crean por instanciacin de las clases.
17
18
19
20