Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INF 3751
TALLER DE DASARROLLO DE SOFTWARE
CONTENIDO.
Introducción.
¿Qué es UML?
UML, ¿Método o Lenguaje de Modelado?
Breve historia de UML.
Las versiones que existen de UML.
Fases del Desarrollo de un Sistema
Tipos de diagramas UML.
Diagramas estructurales.
Diagramas de comportamiento.
Relaciones.
Herramientas Software para construir diagramas UML.
¿QUÉ ES UML?
Estos diagramas contenidos en UML son la forma más común y más utilizada de
modelado de software. Modelar consiste en hacer un diseño previo de una aplicación
antes de proceder a su desarrollo e implementación. De forma similar que un
arquitecto dibuja planos sobre la casa que va a construir, un analista de software (u
otros perfiles) crea distintos diagramas UML que sirven de base para la posterior
construcción/mantenimiento del sistema. El modelado es la principal forma de
visualizar el diseño de una aplicación con la finalidad de compararla con los requisitos
antes de que el equipo de desarrollo comience a codificar
UML ofrece ese modelado utilizando diagramas y se denomina lenguaje por ser una
forma común de expresarse por todos los analistas, desarrolladores y usuarios. Está
desarrollado para ayudar a todos estos (y más) perfiles a especificar, visualizar,
construir y documentar todos los componentes de un proyecto. A pesar de que cada
diagrama UML en particular aporta su visión particular al modelado, el lenguaje en
su conjunto tiene algunas características que interesa resaltar:
UML
MODELO VISTAS
DIAGRAMAS SIMBOLOS REGLAS
Vistas: Las vistas muestran diferentes aspectos del sistema modelado. Una vista no
es una gráfica, pero sí una abstracción que consiste en un número de diagramas y
todos esos diagramas juntos muestran una "fotografía" completa del sistema. Las
vistas también ligan el lenguaje de modelado a los métodos o procesos elegidos para
el desarrollo. Las diferentes vistas que UML tiene son:
o Vista Use-Case: Una vista que muestra la funcionalidad del sistema como la
perciben los actores externos.
o Vista Lógica: Muestra cómo se diseña la funcionalidad dentro del sistema, en
términos de la estructura estática y la conducta dinámica del sistema.
o Vista de Componentes: Muestra la organización de los componentes de código.
o Vista Concurrente: Muestra la concurrencia en el sistema, direccionando los
problemas con la comunicación y sincronización que están presentes en un
sistema concurrente.
o Vista de Distribución: muestra la distribución del sistema en la arquitectura
física con computadoras y dispositivos llamados nodos.
Diagramas: Los diagramas son las gráficas que describen el contenido de una vista.
UML tiene nueve tipos de diagramas que son utilizados en combinación para proveer
todas las vistas de un sistema: diagramas de caso de uso, de clases, de objetos, de
estados, de secuencia, de colaboración, de actividad, de componentes y de
distribución.
Las fases del desarrollo de sistemas que soporta UML son: Análisis de
requerimientos, Análisis, Diseño, Programación y Pruebas.
Análisis de
Pruebas Requisitos
Programacion Análisis
Diseño
Análisis de Requerimientos
UML tiene casos de uso (use-cases) para capturar los requerimientos del cliente. A
través del modelado de casos de uso, los actores externos que tienen interés en el
sistema son modelados con la funcionalidad que ellos requieren del sistema (los
casos de uso). Los actores y los casos de uso son modelados con relaciones y tienen
asociaciones entre ellos o éstas son divididas en jerarquías. Los actores y casos de
uso son descritos en un diagrama use-case. Cada usecase es descrito en texto y
especifica los requerimientos del cliente: lo que él (o ella) espera del sistema sin
considerar la funcionalidad que se implementará. Un análisis de requerimientos
puede ser realizado también para procesos de negocios, no solamente para sistemas
de software.
Análisis
Diseño
Programación
En esta fase las clases del diseño son convertidas a código en un lenguaje de
programación orientado a objetos. Cuando se crean los modelos de análisis y diseño
en UML, lo más aconsejable es trasladar mentalmente esos modelos a código.
Pruebas
Diagrama de clases
Diagrama de componentes
Diagrama de despliegue
Diagrama de objetos
Diagrama de paquetes
Diagrama de perfiles
Diagrama de actividades
Diagramas de interacción.
Diagrama de secuencia
Diagrama de comunicación
Se centran en las condiciones que cambian dentro y entre las líneas de vida a lo largo
de un eje de tiempo lineal.
El diagrama global de interacciones brinda una descripción general del flujo de control
donde los nodos del flujo son interacciones o usos de interacción.
RELACIONES Y ARTEFACTOS.
Relaciones.
Cuando diferentes objetos trabajan en función a una meta o propósito y se logra por
medio de la colaboración entre las partes a través de las relaciones.
En pocas palabras se define como la conexión entre elementos. Para diferenciar las
distintas relaciones se utilizan una Simbología con base en varios tipos de líneas.
De los diferentes tipos de relaciones a las que más se les da importancias son: las
dependencias, las generalizaciones y asociaciones. También existe la relación de
realización.
Dependencias
Las clases o paquetes utilizan en su mayoría en su contexto, para indicar que una
clase utiliza a otra como argumento en la asignatura de una operación.
Generalizacion
Esta hace referencia a la relación de una súper clase o clase padre con una subclase
o clase hija. La generalización significa que los objetos hijos se pueden emplear en
cualquier clase donde pueda aparecer el padre, pero no a la inversa. Es decir, el hijo
puede sustituir al padre, pero el padre no puede sustituir al hijo. Estas s on sus
características:
El hijo hereda atributos y operaciones del padre. El hijo puede agregar atributos y
operaciones. Puede tener operaciones polimórficas
Es una relación estructural que especifica que los objetos de un elemento están
conectados con los objetos de otro. Permitiendo a una asociación entre dos clases
se puede pasar de un objeto de una clase hasta un objeto de otra clase.
Realización
Es una relación semántica entre clasificadores donde este especifica unas normas o
un reglamento con otro clasificador que garantiza que se cumplirá.
Entidad, Frontera y Control son formas definidas por el usuario representando ciertos
estereotipos. En la notación estándar la etiqueta del estereotipo se escribe entre
cuñas (< >) sobre el nombre de la metaclase. Otra opción menos habitual pero
posible es substituir la etiqueta por un símbolo (a la derecha).
UML define algunos estereotipos de clase que amplían un diagrama de clases. Seis
son considerados estándar, pero hay tres que, sin ser estándar, se usan mucho, y
con los que puede implementarse el modelo “Model-View-Controller” (MVC) en UML.
Son estos:
Los tres estereotipos pueden dibujarse como clases. En los rectángulos se escribe el
nombre del estereotipo. Los modeladores aplican estas formas principalmente en
diagramas de secuencia. Lee nuestro artículo sobre diagramas de secuencia con
UML si quieres profundizar en los diagramas de entidad-frontera-control.
Artefactos.
Desde UML 2.0, los artefactos son las entidades físicas que son desplegadas en
Nodos, Dispositivos y Ambientes de Ejecución. Otros elementos de UML, tales como
las clases y los componentes, son primero manifestados como artefactos, y las
instancias de dichos artefactos son luego desplegados. Los artefactos pueden
también estar compuestos por otros artefactos.
HERRAMIENTAS SW. PARA CONSTRUIR DIAGRMAS UML
StarUML: Si Grady Booch mismo habla bien de ella, tenía que poner StarUML en la
lista. StarUML es la mejor opción si buscas una herramienta rápida, fácil de usar y
razonablemente barata en comparación a otras herramientas UML.
ArgoUML ha sido durante mucho tiempo una de las herramientas UML gratuitas de
código abierto más populares para el escritorio. Aunque ya no se mantiene, muchos
modeladores continúan usando el programa para tareas más pequeñas. Software
multiplataforma, el requisito mínimo es Java 5 ArgoUML soporta todos los tipos de
diagramas de la versión 1.4 de UML y perfiles UML. El programa también ofrece
algunas formas decorativas que no forman parte del estándar UML: si utilizas estos
formularios, te desviarás del estándar UML. Por lo tanto, asegúrate de que esto no
cause ningún problema de comprensión posteriormente. Utiliza OCL (Object
Constraint Language) para asignar información restrictiva a un modelo.
No hay una herramienta UML que sirva para todo. Piense bien para que la quiere
(¿documentación?, ¿generación de código?, ¿diseño inicial?...) y luego bus que una
herramienta que sea buena en eso.