Sei sulla pagina 1di 21

21/01/2007

Programacin Orientada a Objetos


UML Modelado Orientado a Objetos

Modelado
El modelado es la espina dorsal del desarrollo software de calidad. Se construyen modelos para:
Comunicarnos con otros Explicar el comportamiento del sistema a desarrollar Comprender, nosotros mismos, mejor ese sistema Controlar el riesgo Atacar problemas que sin el modelado su resolucin seria imposible

21/01/2007

Modelado
Objetivos:
Los modelos nos ayudan a visualizar cmo es o queremos que sea un sistema. Los modelos nos permiten especificar la estructura o el comportamiento de un sistema. Los modelos nos proporcionan plantillas que nos guan en la construccin de un sistema. Los modelos documentan las decisiones que hemos adoptado.

Modelado
Principios Bsicos:
La eleccin de qu modelos se creen influye directamente sobre cmo se acomete el problema. Todo modelo puede ser expresado a diferentes niveles de precisin. Los mejores modelos estn ligados a la realidad. Un nico modelo no es suficiente.

21/01/2007

Lenguaje Unificado de Modelado, UML


UML es un lenguaje estndar que sirve para escribir los planos del software software, puede utilizarse para visualizar, especificar, construir y documentar todos los artefactos que componen un sistema con gran cantidad de software. UML es un lenguaje porque proporciona un vocabulario y las reglas para utilizarlo, adems es un lenguaje de modelado, lo que significa que el vocabulario y las reglas se utilizan para la representacin conceptual y fsica del sistema.

Lenguaje Unificado de Modelado, UML


Debido a su estandarizacin y su definicin completa no ambigua, y aunque no sea un lenguaje de programacin, UML se puede conectar de manera directa a lenguajes de programacin como Java, C++ o Visual Basic. Esta correspondencia permite lo que se denomina como ingeniera directa o hacia delante (obtener el cdigo fuente partiendo de los modelos) pero adems es posible reconstruir un modelo en UML partiendo de la implementacin, o sea, la ingeniera inversa.

21/01/2007

Vista General de UML


Bloques de Construccin:
Elementos: Abstracciones de primer nivel Relaciones: Unen elementos entre s. Representan interacciones entre los elementos. Diagramas: Agrupaciones interesantes de elementos.

Vista General de UML


Bloques de Construccin Elementos
Estructurales Comportamiento Agrupacin Anotacin

Reglas Diagramas
Clases Objetos Casos de Uso Secuencia Colaboracin Estados Componentes Despliegue Nombres Alcance Visibilidad Integridad

Afectan

Afectan

Colaboran Relaciones
Dependencia Asociacin Generalizacin Realizacin

Mecanismos Actan
Especificaciones Adornos Divisiones comunes Extensibilidad

21/01/2007

UML: Elementos Estructurales


Clases
Una clase es una descripcin de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semntica. Una clase implementa una o ms interfaces. Grficamente se representa como un rectngulo que incluye su nombre, sus atributos y sus operaciones. <nombre de la clase>

<atributos o datos miembro>

<mtodos u operaciones>

UML: Elementos Estructurales


Interfaz
Es una coleccin de operaciones que especifican un servicio de una determinada clase o componente. Una interfaz describe el comportamiento visible externamente de ese elemento, puede mostrar el comportamiento completo o slo una parte del mismo. Una interfaz describe un conjunto de especificaciones de operaciones (o sea su signatura) pero nunca su implementacin.

21/01/2007

UML: Elementos Estructurales


Casos de Uso
Es la descripcin de un conjunto de acciones que un sistema ejecuta y que produce un determinado resultado que es de inters para un actor particular. Un caso de uso se utiliza para organizar los aspectos del comportamiento en un modelo.

UML: Elementos Estructurales


Componente
Es una parte fsica y reemplazable de un sistema que conforma con un conjunto de interfaces y proporciona la implementacin de dicho conjunto. Un componente representa tpicamente el empaquetamiento fsico de diferentes elementos lgicos, como clases, interfaces y colaboraciones.

21/01/2007

UML: Elementos Estructurales


Nodo
Es un elemento fsico que existe en tiempo de ejecucin y representa un recurso computacional que, por lo general, dispone de algo de memoria y, con frecuencia, de capacidad de procesamiento. Un conjunto de componentes puede residir en un nodo.

UML: Elementos de Comportamiento


Interaccin
Es un comportamiento que comprende un conjunto de mensajes intercambiados entre un conjunto de objetos, dentro de un contexto particular para conseguir un propsito especfico. Una interaccin involucra otros muchos elementos, incluyendo mensajes, secuencias de accin (comportamiento invocado por un objeto) y enlaces (conexiones entre objetos). La representacin de un mensaje es una flecha dirigida que normalmente con el nombre de la operacin.

Smbolo de interaccin

21/01/2007

UML: Elementos de Comportamiento


Mquinas de estados
Es un comportamiento que especifica las secuencias de estados por las que van pasando los objetos o las interacciones durante su vida en respuesta a eventos, junto con las respuestas a esos eventos. Una maquina de estados involucra otros elementos como son estados, transiciones (flujo de un estado a otro), eventos (que disparan una transicin) y actividades (respuesta de una transicin).

UML: Elementos de Agrupacin


Paquete
Es un mecanismo de propsito general para organizar elementos en grupos. Los elementos estructurales, los elementos de comportamiento, incluso los propios elementos de agrupacin se pueden incluir en un paquete. Un paquete es puramente conceptual (slo existe en tiempo de desarrollo).

21/01/2007

UML: Elementos de Anotacin


Nota
Es un smbolo para mostrar restricciones y comentarios junto a un elemento o un conjunto de elementos. Son comentarios que se pueden aplicar para describir, clasificar y hacer observaciones sobre cualquier elemento de un modelo.

UML: Relaciones
Dependencia
Es una relacin semntica entre dos elementos en la cual un cambio a un elemento (el elemento independiente) puede afectar a la semntica del otro elemento (elemento dependiente). Se representa como una lnea discontinua, posiblemente dirigida, que a veces incluye una etiqueta.

Ejemplo de dependencia

21/01/2007

UML: Relaciones
Asociacin
Es una relacin estructural que describe un conjunto de enlaces, los cuales son conexiones entre objetos. La agregacin es un tipo especial de asociacin y representa una relacin estructural entre un todo y sus partes. La asociacin se representa con una lnea continua, posiblemente dirigida, que a veces incluye una etiqueta. A menudo se incluyen otros adornos para indicar la multiplicidad y roles de los objetos involucrados.

Ejemplo de Asociacin

UML: Relaciones
Generalizacin
Es una relacin de especializacin / generalizacin en la cual los objetos del elemento especializado (el hijo) pueden sustituir a los objetos del elemento general (el padre). De esta forma, el hijo comparte la estructura y el comportamiento del padre. (Herencia) Ejemplo de Generalizacin

10

21/01/2007

UML: Relaciones
Realizacin
Es una relacin semntica entre clasificadores, donde un clasificador especifica un contrato que otro clasificador garantiza que cumplir. Se pueden encontrar relaciones de realizacin en dos sitios: entre interfaces y las clases y componentes que las realizan, y entre los casos de uso y las colaboraciones que los realizan.

UML: Diagramas
Diagrama de clases
Muestran un conjunto de clases, interfaces y colaboraciones, as como sus relaciones. Estos diagramas son los ms comunes en el modelado de sistemas orientados a objetos y cubren la vista de diseo esttica o la vista de procesos esttica (s incluyen clases activas).

11

21/01/2007

UML: Diagramas
Diagramas de Objetos
Muestran un conjunto de objetos y sus relaciones, son como fotos instantneas de los diagramas de clases y cubren la vista de diseo esttica o la vista de procesos esttica desde la perspectiva de casos reales o prototpicos.

UML: Diagramas
Diagramas de Casos de Uso
Muestran un conjunto de casos de uso y actores (tipo especial de clases) y sus relaciones. Cubren la vista esttica de los casos de uso y son especialmente importantes para el modelado y organizacin del comportamiento.

12

21/01/2007

UML: Diagramas
Diagramas de Secuencia y Colaboracin
Constan de un conjunto de objetos y sus relaciones, incluyendo los mensajes que sepueden enviar unos objetos a otros. Cubren la vista dinmica del sistema. Los diagramas de secuencia enfatizan el ordenamiento temporal de los mensajes

UML: Diagramas
Diagramas de Secuencia y Colaboracin
Un diagrama de colaboracin destaca la organizacin de los objetos que participan en una interaccin.

13

21/01/2007

UML: Diagramas
Diagramas de Actividades
Se centra en mostrar el flujo de actividades dentro de un sistema. Los diagramas de actividades cubren la parte dinmica de un sistema y se utilizan para modelar el funcionamiento de un sistema resaltando el flujo de control entre objetos.

UML: Modelado Estructural


El modelado estructural es la parte de UML que se ocupa de identificar todas las partes importantes de un sistema as como sus interacciones. Para modelar las partes importantes del vocabulario del sistema se utilizan las clases, que nos permiten: identificacin y representacin de sus propiedades y sus operaciones mediante el mecanismo de abstraccin. Las relaciones se utilizan para poder modelar las interacciones entre las clases. Ejemplo: es como armar una computadora

14

21/01/2007

UML: Diagrama de Clases


Los diagramas de clases son los ms utilizados en el modelado de sistemas orientados a objetos. Un diagrama de clases muestra un conjunto de clases, interfaces y colaboraciones, as como sus relaciones. Los diagramas de clases son importantes no slo para visualizar, especificar y documentar modelos estructurales, sino que tambin para construir sistemas ejecutables aplicando ingeniera directa e inversa.

UML: Diagrama de Clases


En UML se usan un rectngulo para representar las clases, con distintos compartimentos para indicar sus atributos y sus operaciones. Una clase es identifica por un nombre que la distingue del resto, el nombre es una cadena de texto. Ese nombre slo se denomina nombre simple; un nombre de camino consta del nombre de la clase precedido del nombre del paquete en el que se encuentra incluida

15

21/01/2007

UML: Diagrama de Clases: Elementos


Atributo
Un atributo es una propiedad de una clase identificada con un nombre. Describe un rango de valores que pueden tomar las instancias de la propiedad. Los atributos representan propiedades comunes a todos los objetos de una determinada clase, por ejemplo: todos los monitores tienen la propiedad dimensin, que se suele medir en pulgadas. Un cliente tiene las propiedades nombre, apellidos, direccin, telfono, etc. Una instancia de una determinada clase tendr valores concretos para sus atributos, mientras que las clases tienen rangos de valores que pueden admitir sus atributos.

UML: Diagrama de Clases: Elementos


Atributo
Pueden ser de tres tipos los cuales definen su grado de comunicacin y visibilidad con el entorno.
Public: Indica que el atributo ser visible tanto dentro como fuera de la clase. Private: Indica que el atributo ser visible solo dentro de la clase. Solo sus funciones miembro pueden acceder a l. Protected: El atributo no ser visible fuera de la clase. Pero si puede ser accedido por la funciones miembro de la clase y de las subclases que se deriven de ella.

16

21/01/2007

UML: Diagrama de Clases: Elementos


Operacin:
Una operacin representa algo que el objeto puede hacer. Por ejemplo, un comportamiento esperado por cualquier usuario de un monitor es que este se pueda encender y apagar. El nombre de las operaciones sigue las mismas reglas de notacin que los atributos pero suelen ser verbos cortos que indican una accin o comportamiento de la clase. Las operaciones tambin se clasifican en public, private y protected.

UML: Diagrama de Clases: Elementos


Estereotipo:
Como norma general, cuando se dibuja una clase no hay que mostrar todos sus atributos ni todas sus operaciones, slo se deben mostrar los subconjuntos de estos ms relevantes y una buena prctica es utilizar estereotipos para organizar los atributos y las operaciones.

17

21/01/2007

UML: Diagrama de Clases: Relaciones entre clases


Cardinalidad:
Grado y nivel de dependencia entre clases. Es especialmente utilizado cuando se modelan clases para definir esquema lgico de bases de datos. Puede ser:
De 1 a muchos De 0 a muchos Nmero fijo

Agregando flechas a cualquier extremo tendramos una relacin de asociacin.

UML: Diagrama de Clases: Relaciones entre clases


Herencia (Especializacin/ Generalicacin):
Indica que una subclase hereda los mtodos y atributos (public y protected) especificados por una superclase.

18

21/01/2007

UML: Diagrama de Clases: Relaciones entre clases


Agregacin:
Para modelar objetos completos, no bastan los tipos de datos bsicos (enteros, reales, caracteres, etc.). Cuando se requiere componer objetos con instancias de otras clases definidas por el programador se le conoce como agregacin. Existen dos tipos:
Por valor: El tiempo de vida del objeto incluido est condicionado por el tiempo de vida del que lo incluye. Esto se conoce como composicin. Por referencia: No existe tal condicin. Esta modalidad se conoce como agregacin.

UML: Diagrama de Clases: Usos comunes


Normalmente se utilizarn los diagramas de clases de unas de estas tres formas:
Para modelar el vocabulario de un sistema.
El modelado del vocabulario de un sistema implica tomar decisiones sobre qu abstracciones son parte del sistema en consideracin y cules caen fuera de sus lmites. Los diagramas de clases se utilizan para especificar estas abstracciones y sus responsabilidades.

Para modelar colaboraciones simples.


Una colaboracin es una sociedad de clases, interfaces y otros elementos que colaboran para proporcionar un comportamiento cooperativo mayor que la suma de todos sus elementos.

Para modelar el esquema lgico de una base de datos

19

21/01/2007

UML: Diagramas de Casos de Uso


Los diagramas de casos de uso se emplean para visualizar el comportamiento de un sistema, un subsistema o una clase, de forma que los usuarios puedan comprender cmo utilizar ese elemento y de forma que los desarrolladores puedan implementarlo.

UML: Diagramas de Casos de Uso


Estos diagramas representan la vista de casos de uso esttica de un sistema. Esta vista cubre principalmente el comportamiento del sistema (los servicios visibles externamente que proporciona el sistema). Normalmente se emplearn los diagramas de casos de uso de una de las dos formas siguientes:
Para modelar el contexto de un sistema. Para modelar los requisitos de un sistema.

20

21/01/2007

UML: Diagramas de Casos de Uso: Modelado de Contexto


Para modelar el contexto de un sistema:
Identificar los actores en torno al sistema, definiendo grupos :

Que requieren ayuda del sistema para llevar a cabo sus tareas Que son necesarios para ejecutar las funciones del sistema; Que interactan con el hardware externo o con otros sistemas software; y Que realizan funciones secundarias de administracin y mantenimiento.
Hay que organizar los actores similares en jerarquas de generalizacin / especializacin. Hay que introducir esos actores en un diagrama de casos de uso y especificar las vas de comunicacin de cada actor con cada uno de los casos de uso del sistema.

UML: Diagramas de Casos de Uso: Requisitos de un sistema


Al construir un sistema, es importante que al comenzar exista un acuerdo sobre qu debera hacer el sistema. Para modelar los requisitos de un sistema hay que:
Establecer el contexto del sistema, identificando los actores a su alrededor. Considerar el comportamiento que cada actor espera o requiere del sistema. Nombrar esos comportamientos comunes como casos de uso. Factorizar comportamiento comn en casos de uso que puedan ser utilizados por otros. Factorizar comportamiento variante en otros casos de uso que extiendan los flujos principales. Adornar esos casos de uso con notas que enuncien los requisitos no funcionales.

21

Potrebbero piacerti anche