Sei sulla pagina 1di 35

Desarrollo de Software Orientado a Objeto usando UML

Qu es UML?
UML = Unified Modeling Language Un lenguaje de propsito general para el modelado orientado a objetos. Impulsado por el Object Management Group (OMG, www.omg.org) Documento OMG Unified Modeling Language Specification UML combina notaciones provenientes desde: Modelado Orientado a Objetos Modelado de Datos Modelado de Componentes Modelado de Flujos de Trabajo (Workflows)

Inconvenientes en UML
Definicin del proceso de desarrollo usando UML. UML no es una metodologa No cubre todas las necesidades de especificacin de un proyecto software. Por ejemplo, no define los documentos textuales Ejemplos aislados Monopolio de conceptos, tcnicas y mtodos en torno a UML y el OMG

Perspectivas de UML
UML es el lenguaje de modelado orientado a objetos estndar predominante ahora y en los prximos aos Razones: Participacin de metodlogos influyentes Participacin de importantes empresas Estndar del OMG Evidencias: Herramientas que proveen la notacin UML Edicin de libros (ms de 300 en www.amazon.com) Congresos, cursos, camisetas, etc.

Modelos y Diagramas
Un modelo captura una vista de un sistema del mundo real. Es una abstraccin de dicho sistema, considerando un cierto propsito. As, el modelo describe completa-mente aquellos aspectos del sistema que son relevantes al propsito del modelo, y a un apropiado nivel de detalle. Diagrama: una representacin grfica de una coleccin de elementos de modelado, a menudo dibujada como un grafo con vrtices conectados por arcos

... Modelos y Diagramas


Un proceso de desarrollo de software debe ofrecer un conjunto de modelos que permitan expresar el producto desde cada una de las perspectivas de inters

El cdigo fuente del sistema es el modelo ms detallado del sistema (y adems es ejecutable). Sin embargo, se requieren otros modelos ...

Cada modelo es completo desde su punto de vista del sistema, sin embargo, existen relaciones de trazabilidad entre los diferentes modelos

Diagrama de Casos de Uso Diagrama de Clases Diagrama de Objetos Diagramas de Comportamiento

Diagramas de UML 1.5


Diagrama de Estados Diagrama de Actividad Diagramas de Interaccin Diagrama de Secuencia Diagrama de Colaboracin

Diagramas de implementacin Diagrama de Componentes Diagrama de Despliegue

Diagrama de Casos de Uso


Casos de Uso es una tcnica para capturar informacin respecto de los servicios que un sistema proporciona a su entorno No pertenece estrictamente al enfoque orientado a objeto, es una tcnica para captura y especificacin de requisitos

Diagrama de Secuencia
Muestra la secuencia de mensajes entre objetos durante un escenario concreto Cada objeto viene dado por una barra vertical

El tiempo transcurre de arriba abajo


Cuando existe demora entre el envo y la atencin se puede indicar usando una lnea oblicua

Diagrama de Secuencia
Los Diagramas de Secuencia y de Colaboracin son usados para describir grficamente un caso de uso o un escenario Un Diagrama de Secuencia muestra los objetos de un escenario mediante lneas verticales y los mensajes entre objetos como flechas conectando objetos Los mensajes son dibujados cronolgicamente desde arriba hacia abajo Los rectngulos en las lneas verticales representan los periodos de actividad de los objetos.

Diagrama de Colaboracin
El Diagrama de Colaboracin modela la interaccin entre los objetos de un Caso de Uso Los objetos estn conectados por enlaces (links) en los cuales se representan los mensajes enviados acompaados de una flecha que indica su direccin El Diagrama de Colaboracin ofrece una mejor visin del escenario cuando el analista est intentando comprender la participacin de un objeto en el sistema

Diagrama de Colaboracin
Son tiles en la fase exploratoria para identificar objetos La distribucin de los objetos en el diagrama permite observar adecuadamente la interaccin de un objeto con respecto de los dems La estructura esttica viene dada por los enlaces; la dinmica por el envo de mensajes por los enlaces

Diagrama de Clases
El Diagrama de Clases es el diagrama principal para el anlisis y diseo del sistema Un diagrama de clases presenta las clases del sistema con sus relaciones estructurales y de herencia La definicin de clase incluye definiciones para atributos y operaciones El modelo de casos de uso debera aportar informacin para establecer las clases, objetos, atributos y operaciones

Diagrama de Estados
El Diagrama de Estados modela el comportamiento de una parte del sistema Tpicamente se elabora un diagrama de Estados para cada clase que tenga un comportamiento significativo

El comportamiento es modelado en trminos del estado en el cual se encuentra el objeto, qu acciones se ejecutan en cada estado y cul es el estado al que transita despus de un determinado evento

Diagrama de Estados
Los Diagramas de Estados representan autmatas de estados finitos, desde el p.d.v. de los estados y las transiciones Son tiles slo para los objetos con un comportamiento significativo El formalismo utilizado proviene de los Statecharts (Harel)

Diagrama de Estados
Cada objeto est en un estado en cierto instante El estado est caracterizado parcialmente por los valores algunos de los atributos del objeto El estado en el que se encuentra un objeto determina su comportamiento Cada objeto sigue el comportamiento descrito en el D. de Estados asociado a su clase
Los D. De Estados y escenarios son complementarios

Diagrama de Estados
Los D. de Estados son autmatas jerrquicos que permiten expresar concurrencia, sincronizacin y jerarquas de objetos Los D. de Estados son grafos dirigidos Los D. De Estados de UML son deterministas Los estados inicial y final estn diferenciados del resto La transicin entre estados es instantnea y se debe a la ocurrencia de un evento

Caso especial de Diagrama de Estados donde:


Todos (o la mayora de) los estados son estados de accin Todas (la mayora de) las transiciones son disparadas como consecuencia de la finalizacin de la accin.

El Diagrama de Actividades puede especificar:


El comportamiento de los objetos de una clase

La lgica de una operacin (mtodo)


Parte o toda la descripcin de un Caso de uso La descripcin de un Flujo de Trabajo

Un diagrama de Componentes permite modelar la estructura del software y la dependencia entre componentes Un componente es un grupo de clases que trabajan estrechamente. Los componentes pueden corresponder cdigo fuente, binario o ejecutable Una relacin de dependencia indica que un componente utiliza otro, por lo cual depende de l

Los diagramas de componentes describen los elementos fsicos del sistema y sus relaciones

Muestran las opciones de realizacin incluyendo cdigo fuente, binario y ejecutable

Los componentes representan todos los tipos de elementos software que entran en la fabricacin de aplicaciones informticas. Pueden ser simples archivos, paquetes de Ada, bibliotecas cargadas dinmicamente, etc.

Las relaciones de dependencia se utilizan en los diagramas de componentes para indicar que un componente utiliza los servicios ofrecidos por otro componente

El Diagrama de Distribucin modela la distribucin en tiempo de ejecucin de los elementos de procesamiento y componentes de software, junto a los procesos y objetos asociados En el Diagrama de Distribucin se modelan los nodos y la comunicacin entre ellos

Cada nodo puede contiene instancias de componentes

Los Diagramas de Despliegue muestran la disposicin fsica de los distintos nodos que componen un sistema y el reparto de los componentes sobre dichos nodos

Nodo

Por qu la Orientacin a Objetos?


Proximidad de los conceptos de modelado respecto de las entidades del mundo real
Mejora captura y validacin de requisitos Acerca el espacio del problema y el espacio de la solucin

Modelado integrado de propiedades estticas y dinmicas del mbito del problema


Facilita construccin, mantenimiento y reutilizacin

Por qu la Orientacin a Objetos?


Conceptos comunes de modelado durante el anlisis, diseo e implementacin
Facilita la transicin entre distintas fases Favorece el desarrollo iterativo del sistema Disipa la barrera entre el qu y el cmo

Sin embargo, existen problemas ...

Problemas en OO
...Los conceptos bsicos de la OO se conocen desde hace dos dcadas, pero su aceptacin todava no est tan extendida como los beneficios que esta tecnologa puede sugerir

...La mayora de los usuarios de la OO no utilizan los conceptos de la OO de forma purista, como inicialmente se pretenda. Esta prctica ha sido promovida por muchas herramientas y lenguajes que intentan utilizar los conceptos en diversos grados

Problemas en OO
Un objeto contiene datos y operaciones que operan sobre los datos, pero ... Podemos distinguir dos tipos de objetos degenerados: Un objeto sin datos (que sera lo mismo que una biblioteca de funciones) Un objeto sin operaciones, con slo operaciones del tipo crear, recuperar, actualizar y borrar (que se correspondera con las estructuras de datos tradicionales) Un sistema construido con objetos degenerados no es un sistema verdaderamente estn constituidas Las aplicaciones de gestin orientado a objetos mayoritariamente por objetos degenerados

Objetos
Objeto = unidad atmica que encapsula estado y comportamiento La encapsulacin en un objeto permite una alta cohesin y un bajo acoplamiento Un objeto puede caracterizar una entidad fsica (coche) o abstracta (ecuacin matemtica)

Objetos
En UML, un objeto se representa por un rectngulo con un nombre subrayado
Otro objeto

Un objeto

Otro objeto ms

Objetos
Un coche Azul 979 Kg 70 CV ...

Objeto = Identidad + Estado + Comportamiento El estado est representado por los valores de los atributos Un atributo toma un valor en un dominio concreto

Mensaje y Estmulo
Un estmulo causar la invocacin de una operacin, la creacin o destruccin de un objeto o la aparicin de una seal Un mensaje es la especificacin de un estmulo Tipos de flujo de control: Llamada a procedimiento o flujo de control anidado Flujo de control plano Retorno de una llamada a procedimiento Otras variaciones
Esperado (balking) Cronometrado (time-out)

Interaccin
Los objetos interactan para realizar colectivamente los servicios ofrecidos por las aplicaciones. Los diagramas de interaccin muestran cmo se comunican los objetos en una interaccin Existen dos tipos de diagramas de interaccin: el Diagrama de Colaboracin y el Diagrama de Secuencia

Diagramas de interaccin
El Diagrama de Secuencia es ms adecuados para observar la perspectiva cronolgica de las interacciones El Diagrama de Colaboracin ofrece una mejor visin espacial mostrando los enlaces de comunicacin entre objetos El D. de Colaboracin puede obtenerse automticamente a partir del correspondiente D. de Secuencia (o viceversa)

Potrebbero piacerti anche