• Me gusta
02 uml aplicado-al_diseno_con_componentes
Próxima SlideShare
Cargando en...5
×

02 uml aplicado-al_diseno_con_componentes

  • 204 reproducciones
Subido el

este es un libro que explica sobre las interfaces y las descripcion d elos casos de uso

este es un libro que explica sobre las interfaces y las descripcion d elos casos de uso

  • Full Name Full Name Comment goes here.
    ¿Está seguro?
    Tu mensaje aparecerá aquí
    Sea el primero en comentar
    Be the first to like this
Sin descargas

reproducciones

reproducciones totales
204
En SlideShare
0
De insertados
0
Número de insertados
0

Acciones

Compartido
Descargas
4
Comentarios
0
Me gusta
0

Insertados 0

No embeds

Denunciar contenido

Marcada como inapropiada Marcar como inapropiada
Marcar como inapropiada

Seleccione la razón para marcar esta presentación como inapropiada.

Cancelar
    No notes for slide

Transcript

  • 1. Diseño Basado en Componentes Curso 2008 / 09 Tabla de contenidos Diseño Basado en Componentes Introducción a UML Paquetes en UML Implementación de interfaces UML aplicado al Diagramas de componentes diseño basado en Diagramas de despliegue componentes BibliografíaIngeniería InformáticaUniversidad Carlos III de Madrid Diseño Basado en Componentes Curso 2008 / 09 2 Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Introducción a UML. Elementos Introducción a UML. Definición e historia principales (i) UML es un lenguaje gráfico y formal para el modelado de Cosas – representan distintos aspectos del sistemas. modelo: – Visualizar, especificar, construir y documentar los artefactos de – Estructura: son los “sustantivos” de UML, tales como un sistema. clase, interfaz, atributo, componente, nodo... – Lenguaje, no método – ligado a USDP, pero sirve para otros – Comportamiento: son los “verbos” de UML, tales métodos. como acción, actividad, interacción, estado, – Orientado a objetos – toma sus conceptos de los lenguajes OO. mensaje... Origen histórico. – Agrupamiento: son los paquetes, que se usan para – Antes de 1994: la “guerra de los métodos”. agrupar elementos relacionados semánticamente en – 1994: Booch y Rumbaugh en Rational – 1995: Jacobson se unidades coherentes. les une. – Anotación: son las “notas”, que pueden añadirse en – 1997: primera versión estándar certificada por el OMG. cualquier parte del modelo para capturar información no gráfica.3 4 1
  • 2. Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Introducción a UML. Elementos Introducción a UML. Elementos principales (ii) principales (iii) Relaciones – representan conexiones entre las Modelado de requisitos Diagrama de casos de uso cosas: Diagrama de clases – Asociación Modelado estático – Dependencia Diagrama de objetos – Generalización Colaboración – Otros: include y extend Interacción Secuencia Mecanismos de extensión: estereotipos, Modelado dinámico valores etiquetados (tagged values) y Diagrama de estados restricciones (constraints). Diagrama de actividad Diagramas – representan un conjunto de cosas Diagrama de componentes y relaciones. Modelado físico Diagrama de despliegue5 6 Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Paquetes en UML (i) Paquetes en UML (ii) Sirven para organizar los elementos de un modelado en diferentes grupos (incluidos los Cada paquete constituye un “espacio de diagramas). Podrían darse estructuras recursivas, donde un paquete incluye otro nombres”: unicidad de nombres (no se permiten paquete. dos elementos del mismo tipo con el mismo También sirven para organizar modelos nombre). grandes, agrupar elementos relacionados o Se pueden incluir dependencias entre paquetes crear namespaces. para indicar que el contenido de uno de ellos Concepto clave: “Fuerte cohesión interna y bajo acoplamiento externo” (mostrar). necesita de algún modo parte del contenido del Un paquete puede ser incluido en cualquier tipo otro paquete. de diagrama y, a su vez, puede contener también otros diagramas.7 8 2
  • 3. Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Paquetes en UML. Visibilidad Paquetes en UML. Accesibilidad (i) El nombre completo cualificado de un elemento x que resida dentro del paquete Pq1 es: Pq1::x Para que un elemento de un paquete tenga acceso (permisos) a otro elemento de otro Los elementos de un paquete pueden tener paquete se debe crear una relación entre ambos visibilidad pública (+), privada (-) o protegida (#). paquetes. Un elemento de un paquete puede referenciar: Se debe tener este tipo de permiso por ejemplo, – Elementos públicos de cualquier paquete al que tenga para crear una asociación entre dos elementos permisos: nombre cualificado (P::A). de distintos paquetes, o para definir el tipo de – Elementos (incluso privados) de su paquete, o cualquier paquete que incluya al suyo. dato de un atributo. – Elementos protegidos de sus paquetes padre (relación de generalización).9 10 Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Paquetes en UML. Accesibilidad (ii) Paquetes en UML. Accesibilidad (iii) Las relaciones de permiso son: Las relaciones de permiso no son simétricas ni – <<import>>: Incorpora el espacio de nombres de un transitivas. paquete a otro (ojo a duplicados). No hace falta – Pq1 puede acceder al contenido público de Pq2 y Pq2 cualificar nombres. Puede darse un alias a cada al de Pq3 pero: elemento importado y definir una nueva visibilidad. Pq2 no puede acceder a ningún contenido de Pq1. – <<access>>: permite acceder al espacio de nombres Pq1 no puede acceder a ningún contenido de Pq3. de otro paquete sin llegar a incorporar sus elementos. Los elementos accedidos se indican con su nombre cualificado. P Pq1 Pq2 «import» Pq3 «import» «import» R -S +Q11 12 3
  • 4. Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Paquetes en UML. Accesibilidad (iv) Paquetes en UML. Generalización (i) Debido a que no son simétricas, la siguiente asociación UML define el concepto de generalización entre es poseída por el paquete de la izquierda, y sólo puede paquetes. ser navegable en el sentido A B. Conceptos como “principio de sustitución” y visibilidad también son utilizados a nivel paquete. Un contenido también puede ser sobrescrito en «Import» un paquete hijo. ClaseA ClaseB El paquete hijo hereda los contenidos públicos y protegidos del padre, incluyendo los contenidos importados (no accedidos por el padre).13 14 Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Paquetes en UML. Generalización (ii) Paquetes en UML. Tipos de paquetes (i) Según el metamodelo de UML, existen dos tipos especiales de Pac k ag e paquetes GUI Modelo (raíz): sirve para +Ventana +Formulario representar el primer nivel de #GestorEventos agrupamiento. Otros modelos -Evento pueden ser utilizados para mostrar un contenido desde distintos Su bsystem Mod el puntos de vista. isInstantiable : Boolean GUI Win Subsistema: sirve para +GUI::Ventana GUI MAC descomponer un sistema completo +Formulario #GUI::GestorEventos a un elevado nivel de abstracción. +VBForm También es un tipo de clasificador, por lo que puede proporcionar interfaces y definir operaciones (servicios) de alto nivel.15 16 4
  • 5. Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Paquetes en UML . Tipos de paquetes (ii) Implementación de Interfaces (i) Subsistema: Subsistema1 Realization elements Una interfaz (<<interface>>) es una colección de un – Puede ser mostrado con tres Funcion1(parm1: string): boolean Clase1 conjunto de operaciones que se utiliza para especificar Funcion2() compartimentos: un servicio de una clase o componentes. Operaciones: se implementarán Specification Elements mediante una clase pública del UC1 Colaboracion Una interfaz no puede tener atributos ni asociaciones subsistema. Son los servicios del subsistema. UC2 navegables. Elementos de especificación: casos de Separan la especificación de una funcionalidad de su uso e interfaces que se muestran al exterior ocultando su verdadera implementación. realización. La realización de una interfaz es una dependencia con Elementos de realización: contiene los elementos que realizan los casos de el estereotipo <<realize>>. uso, o las clases que implementan las operaciones del subsistema. Una interfaz puede ser vista en su forma de icono (un – Son el origen de los futuros círculo) o su forma extendida incluyendo sus componentes. operaciones.17 18 Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Implementación de Interfaces (ii) Implementación de Interfaces (iii) UML 1.X UML 2.X <<realize>>19 20 5
  • 6. Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Diagramas de componentes (i) Diagramas de componentes (ii) Definición de componente: Filosofía: “Alta cohesión interna, bajo – Un componente es una unidad de ‘despliegue’ independiente. acoplamiento externo”. – Un componente podría ser utilizado por cualquier Las interfaces implementadas o utilizadas por organización sin necesidad de ningún conocimiento un componente son realmente utilizadas y/o previo. implementadas por su contenido. – Un componente no tiene estado persistente en sí mismo, lo tienen (opcionalmente) sus objetos. Unos componentes hacen uso de otros. Esto se – Implementa una serie de interfaces y utiliza otras. denota mediante una relación de dependencia. – Encierran otros elementos de modelado como por Para bajar el acoplamiento, no se hace que un ejemplo clases, permitiendo a otros componentes acceder a ellos. componente dependa de otro, sino de una o – Ejemplos: ficheros fuente, controles ActiveX, varias de sus interfaces.21 JavaBeans, Assemblies .Net, documentos,... 22 Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Diagramas de componentes (iii) Diagramas de componentes (iv) Diagrama de componentes: UML 2.X – Representa la estructura física de implementación. Iconic form – Un componente puede ser un ejecutable, librería dll, documento... UML 1.X Iconic Form Indexer.exe Normalizer.dll INormalize Expanded form dependency realization Expanded Form «interface» lNormalize Indexer.exe Normalizer.dll Config( ) getNormal( )23 24 6
  • 7. Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Diagramas de despliegue (i) Diagramas de despliegue (ii) Nodo: Diagramas de despliegue: – Representa una parte física (hardware) de un sistema. – Capturan la topología física del sistema. – No tiene porqué ser un elemento computacional, Infra-Red Camera Ultrasonic Sonar Sensor podría ser un sensor. – No suelen utilizarse con sistemas <<Processor>> monolíticos donde sólo se usan Pentium Pentium Motherboard Motherboard – Sobre cada nodo se ejecutan los distintos periféricos estándar. componentes del sistema. – Pueden ser vistos de diversas Automatic OCR ∼ ∼ Steering Motor Driving Motor – Pueden usarse estereotipos para diferencias sus formas: diferentes tipos y taggedValues para indicar sus Sólo nodos en el diagrama (y sus cualidades. asociaciones o dependencias). Nodos con dependencias a sus <<Processor>> <<Processor>> <<Processor>> <<Processor>> Server Asociaciones entre nodos: respectivos componentes. Caching Server Caching Server Deploys Deploys http.exe http.exe Server Deploys Deploys dbadmin.exe dbadmin.exe tktmstr.exe – Representan conexiones físicas entre nodos (redes...). Nodos que incluyen dentro sus rting.exe rting.exe tktmstr.exe logexc.exe logexc.exe componentes.25 26 Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Diagramas de despliegue (iii) Diagramas de despliegue (iv) Vista de Metamodelo de UML: En un diagrama de despliegue se pueden incluir tanto instancias de componentes como instancias de nodos. Esto permite diseñar escenarios concretos de ejecución.27 28 7
  • 8. Diseño Basado en Componentes Curso 2008 / 09 Bibliografía UML and the Unified Process (Capítulos 11, 17, Diseño Basado en Componentes 21, 22, 23) Jim Arlow Addison Wesley, 2002 Utilización de UML en Ingeniería del Software UML aplicado al con Objetos y Componentes (Capítulos 13 y 14) diseño basado en Perdita Stevens Addison Wesley, 2000 componentes El Lenguaje Unificado de Modelado Grady Booch, James Rumbaugh, Ivar Jacobson Ingeniería Informática Addison Wesley, 1999 Universidad Carlos III de Madrid29 El Estándar de UML v. 1.5: http://www.omg.org Diseño Basado en Componentes Curso 2008 / 09 Diseño Basado en Componentes Curso 2008 / 09 Acoplamiento Alto acoplamiento Bajo acoplamiento Volver31 8