You are on page 1of 200

UNIDAD 4

1

UML

DEFINICIÓN
UML: Quiere decir Lenguaje de Modelado Unificado Su finalidad es transmitir por medio de símbolos la idea de un sistema para pasarlo después al proceso de desarrollo de un sistema. * Para poder desarrollar correctamente un sistema la clave esta en es desarrollar la fase de proceso de tal manera que:

2

Que los analistas, clientes, desarrolladores y otras personas involucradas en el desarrollo de un sistema lo comprendan y convengan en el.

3

¿QUIÉNES SON LOS CREADORES DE UML?
Grady Boochs  James Rumbaugh  Ivar Jacobson

4

5 . A mediados de los noventa decidieron intercambiar sus ideas y desarrollaron un trabajo conjunto.ANTECEDENTES  Durante los años ochentas y noventas ellos trabajaban en empresas distintas. cada uno desarrollo su propia metodología para poder realizar en análisis y diseño de un sistema.

 Las siguientes empresas conformaron posteriormente el consorcio del UML:     DEC Hewlett-Packard Intellicorp 6 .Al irse incorporando el UML al desarrollo del software varias empresas incorporan el desarrollo del UML a sus proyectos.

Microsoft  Oracle  Texas instruments  Rational  7 .

¿CÓMO ESTA CONFORMADO EL UML?  UML esta conformado por diversos elementos gráficos que se combinan para conformar diagramas 8 .

5.TIPOS DE DIAGRAMAS EN UML 1. 7. 8. 3. 6. Diagramas de clases Diagrama de objetos Diagrama de casos de uso Diagrama de estados Diagrama de secuencias Diagrama de actividades Diagrama de colaboraciones Diagrama de componetes 9 . 2. 4.

Diagrama de distribución 10 .9.

11 .

POO Y UML  UML utiliza como el símbolo de una clase un rectángulo. Lavadora LavadoraIndustrial 12 . dentro de el se coloca el nombre de la clase.

la cual representa un conjunto de clases Electrodomésticos 13 .PAQUETES  Los paquetes se representan por una carpeta.

ATRIBUTOS DENTRO DE UNA CLASE Lavadora marca modelo numeroSerie capacidad 14 .

UN OBJETO Y SUS ATRIBUTOS 15 .

LOS ATRIBUTOS TAMBIÉN PUEDEN MOSTRAR EL TIPO DE DATO 16 .

Al terminar el nombre de la operación se termina con paréntesis. en caso de ser una palabra compuesta la segunda palabra debe de comenzar con mayúscula. 17 .OPERACIONES O MÉTODOS  Las operaciones o métodos se escriben comenzando por una letra mayúscula.

OPERACIONES O MÉTODOS 18 .

FIRMA  La firma es el valor que deben de introducirse dentro de un método 19 .

FIRMA 20 .

ESTEREOTIPOS

Los estereotipos nos permitirán organizar un conjunto de métodos y atributos dependiendo del contexto.

21

22

RESPONSABILIDADES

La responsabilidad es la descripción de lo que hace la clase.

23

RESTRICCIONES

Son valores que se colocan entre llaves afuera del rectángulo de la clase. Por ejemplo limitar la capacidad de la lavadora a 6,8, 10 Kgr

24

25 .

NOTAS ADJUNTAS  Las notas adjuntas realizan aclaraciones sobre los métodos o atributos. 26 .

27 .

28 .

29 .

30 .

31

ASOCIACIONES

Se representa por medio de una línea recta y uno o más verbos de relación

32

33

34

la restricción se debe de representar entre llaves. 35 .RESTRICCIONES EN LAS ASOCIACIONES  En ocasiones entre dos clases debe haber una regla.

RESTRICCIONES UTILIZANDO LA CONDICIÓN O (OR)  La condición O permite utilizar dos alternativas 36 .

Una clase de asociación modela los atributos y operaciones de una asociación. 37 .CLASES DE ASOCIACIÓN Una asociación al igual que una clase puede contener atributos y operaciones. Se conecta a una asociación por medio de una línea discontinua y puede asociarse a otra clase.

38 .

la relación «participa en» se conocerá como vínculo y se representará como una línea que conecta a dos objetos. 39 .VÍNCULOS Así como un objeto es una instancia de una clase . una asociación también cuenta con instancias. Si podemos imaginar a un jugador específico que juega en un equipo específico.

VÍNCULO  Debe de subrayar el nombre del vínculo y del objeto. 40 .

41 .MULTIPLICIDAD  La multiplicidad señala la cantidad de objetos de una clase que pueden relacionarse con un objeto de una clase asociada.

MULTIPLICIDAD: EJEMPLOS 42 .

ASOCIACIONES CALIFICADAS  Cuando existe una relación con multiplicidad existe un nuevo reto que enfrentar: las búsquedas. dicho atributo recibe el nombre de «Calificador» 43 . para ello se utilizará un atributo para identificar y optimizar las búsquedas.

una clase es una asociación consigo misma. Por ejemplo unOcupanteDeAutomovil puede ser un conductor o un pasajero.ASOCIACIONES REFLEXIVAS  En ocasiones. quienes jugarán el papel de pasajeros 44 . Esto ocurre cuando una clase tiene objetos que pueden jugar diversos papeles. En el papel de conductor puede llevar ninguno o más ocupanteDeAutomóvil.

45 .

HERENCIA O GENERALIZACIÓN  En UML la generalización es sinónimo de herencia 46 .

47 .

DEPENDENCIAS  La dependencia se produce cuando una clase utiliza a la otra. 48 .

49 .

SESIÓN 11: CASOS DE USO Para comenzar a analizar comenzaremos imaginando: el caso de uso Una serie de situaciones donde incluso se involucran las personas que utilizan dicho sistema. 50 .

51 .IMPORTANCIA DE LOS CASOS DE USO  Su importancia reside en que obtenemos los puntos de vista sobre los usuarios del sistema y esto nos permitirá tener una mejor organización en el modelado del sistema.

EJEMPLO: LA MÁQUINA DE REFRESCOS El caso de uso es: “Comprar gasesosa” 52 .

 El usuario realizará una selección  Si todo funciona bien la máquina contará con al menos una lata del refresco seleccionado.  53 .¿CÓMO COMIENZA EL CASO DE USO ANTERIOR” El usuario introducirá la moneda en la máquina expendedora.

CASOS DE USO CONDICIONALES Si para el caso anterior se hubieran terminado los refrescos:  Se debería de diseñar algunos casos de uso:  Por ejemplo:  Reabastecer  Recolectar el dinero  54 .

1 El alumno creara de casos de uso El alumno esquematiza casos de uso Usando UML  Resultados del aprendizaje  55 .DIAGRAMAS DE CASO DE USO  Objetivos del aprendizaje  4.

DIAGRAMAS DE CASO DE USO  Definición dentro de UML un diagrama de uso es una especie de diagrama de comportamiento. 56 .

EJEMPLO: UN RESTAURANTE 57 .

REPRESENTACIÓN DE LOS CASOS DE USO El caso de uso se representa por medio de una elipse  Los actores se representan por figuras de alambres  Las líneas unen a los actores con el caso de uso  58 .

EJEMPLO DE UN CASO DE USO 59 .

EJEMPLO Ejemplo del caso de uso «comprar refresco» (se incluye también el caso de uso «reabastecer» y «recolectar») 60 .

61 .

SECUENCIAS DE PASOS EN LOS ESCENARIOS Cada caso de uso es una colección de escenarios y cada escenario es una secuencia de pasos.  Por lo tanto cada página de caso de uso debe tener su propia página donde se listará en modo de texto los siguientes aspectos.  Como puede ver tales pasos no aparecen en el diagrama.  62 .

El actor que inicia el caso de uso  Condiciones previas para el caso de uso  Pasos en el escenario  El actor que se beneficia del caso del uso   Una alternativa para poder representar la descripción de los casos de uso es la de utilizar «el diagrama de actividades» 63 .

CONCEPCIÓN DE LAS RELACIONES DE LOS CASOS DE USO • Inclusión – Permite reutilizar los pasos del caso de uso dentro de otro. 64 .

65 .

66 .EXTENSIÓN • Nos ayuda a reutilizar un caso de uso al añadir los pasos necesarios.

67 .GENERALIZACIÓN (HERENCIA)  Un caso de uso puede heredar de otro caso de uso.

LOS ACTORES TAMBIÉN SE PUEDEN GENERALIZAR 68 .

AGRUPAMIENTO  Los casos de uso también pueden ser agrupados bajo las siguientes consideraciones: Cuando el sistema consta de varios subsistemas.  69 .  Cada requerimiento puede ser representado por medio de un caso de uso.  Cuando se entrevista a usuarios para obtener los requerimientos de un sistema.

EJEMPLO  Diseño de una red LAN para una firma de consultoría. ¿Cómo comenzaría el proceso de crear el modelo para una red LAN dentro de una consultoría? 70 .

71 .

72 .

73

74

75

76

77 .

78 .

DESARROLLO PARA CREAR UNA PROPUESTA 79 .

Los temas son de tipo cotidiano.ACTIVIDADES Actividad Individual:  Desarrollar 3 Diagramas de caso de uso donde se muestren inclusión y extensión. proyecto 80 .  Actividad por equipos Desarrolle 3 Diagramas de caso de uso donde se agrupen por lo menos 4 casos de uso por cada uno   Nota deberá estar encaminado al seleccionado por los equipos de trabajo.

UNIDAD 4: MODELACIÓN EN UML 81 Diagrama de secuencias .

Resultados del aprendizaje: El esquematiza secuencias usando UML alumno  82 .SESIÓN 12: SECUENCIAS  Objetivos del aprendizaje: El alumno creara las secuencias de objetos.

¿QUÉ ES UN DIAGRAMA DE SECUENCIA?  El diagrama de secuencias consta de objetos que se representan del modo usual: Rectángulos con nombres (subrayado)  Mensajes representados por líneas de flechas continuas con una punta de flecha  Tiempo: Representado como una progresión Lineal.  83 .

ELEMENTOS DE UN DIAGRAMA DE SECUENCIAS 84 .

Mensaje asincrónico: El objeto no esperará la respuesta antes de continuar.MENSAJES  Existen tres tipos de mensajes:    Simple Sincrónico Asincrónico  Mensaje Simple: Es la transferencia del control de un objeto a otro. Mensaje sincrónico: El objeto espera la respuesta del otro objeto antes de continuar.   85 .

SIMBOLOGÍA UTILIZADA PARA LOS MENSAJES. 86 .

TIEMPO El tiempo se representará en dirección vertical  El tiempo iniciará en la parte superior y terminará en la parte inferior.  Por lo tanto el diagrama de secuencias tendrá dos dimensiones:  La dimensión horizontal es la disposición de los objetos  La dimensión vertical es el paso del tiempo  87 .

EJEMPLO Mensaje Línea del tiempo Objeto 88 .

89 .NOTA  Los actores son aquellos que inician la secuencia. pero no son parte de la representación del diagrama de secuencias.

(Interfaz gráfica de usuario) pulsa una tecla alfanumérica ¿Qué es lo que pasa internamente al teclear una letra? 90 .EJEMPLO  Supongamos ahora que el usuario de una GUI.

5. 6. El Sistema Operativo le notifica al CPU El Sistema operativo actualiza la GUI La CPU notifica a la tarjeta de video La tarjeta de video envía un mensaje al monitor El monitor presenta el carácter alfanumérico en la pantalla con lo que se hará evidente al usuario. La GUI notifica al Sistema Operativo que se oprimió una tecla. 3. 4. 2. 91 .SECUENCIA 1.

92 .

93 . La fachada (Interfaz que la máquina de refrescos presenta al usuario). El dispensador (que entrega el refresco) También consideraremos que el registrador de dinero controlará al dispensador.EJEMPLO 2: LA MÁQUINA DE REFRESCOS      Antes de retomar el ejemplo que anteriormente habíamos analizado daremos por hecho que existen los siguientes elementos dentro del sistema. El registrador del dinero ( que lo colecta).

LA SECUENCIA 1) 2) 3) 4) 5) 6) El cliente inserta el dinero en la alcancía que se encuentra en la fachada de la máquina. 94 . El registrador hace que el refresco en la fachada de la máquina. El cliente hace su elección El dinero viaja hacia el registrador El dispensador verifica si la gaseosa elegida está en el dispensador Dado que es el mejor escenario asumimos que si hay gaseosas. y el registrador actualiza su reserva de efectivo.

95 .DIAGRAMA DE SECUENCIAS DE INSTANCIAS  Dado que en el caso anterior se planteo el mejor escenario (condiciones normales de trabajo). el diagrama realizado se llamará “Diagrama de secuencias de instancias”.

DIAGRAMA DE SECUENCIAS DE INSTANCIA 96 .

Este diagrama se origina cuando no tenemos las condiciones ideales para el desarrollo de las actividades dentro del diagrama de secuencia.DIAGRAMA DE SECUENCIAS GENÉRICO  1. 2. para el ejemplo anterior podemos considerar los siguientes casos: Monto incorrecto Sin refresco 97 .

Para el escenario “Monto incorrecto” i. Por lo tanto debemos considerar algunos pasos extra para satisfacer las condiciones anteriores. El registrador verifica si la alimentación del usuario concuerda con el precio del refresco. Si el monto es mayor que el precio. ii. el registrador calcula la diferencia y verifica si cuenta con cambio 98 . 1.

99 . iii. el registrador devuelve el cambio al cliente y todo transcurre como antes. el registrador regresará el monto alimentado y mostrará un mensaje que indique al cliente que se inserte el monto exacto. iii. iii. Si la diferencia no se encuentra se reserva el cambio. el registrador no hace nada y la máquina esperará más dinero. Si la cantidad insertada es menor al precio.Si se puede devolver la diferencia.

100 .

SIN REFRESCO (GASEOSA). 2. la máquina mostrará un mensaje de agotado. 1. La máquina mostrará un mensaje que solicitará al cliente que haga otra elección El cliente tendrá la opción de oprimir un botón para que regrese su dinero 101 . 3. Una vez que el cliente elige una marca agotada.

Si el cliente elige una marca en existencia. Si el cliente elige otra marca agotada. Si no lo es la máquina seguirá por el escenario “Monto incorrecto”. 5. el proceso se repetirá hasta que el cliente elija una marca existente o presione el botón para regresar dinero 102 .4. todo procederá como el mejor escenario si el monto insertado es correcto.

DIAGRAMA DE SECUENCIAS 103 .

Resultados del aprendizaje: El alumno esquematiza estados usando UML 104 .SESIÓN 13: DIAGRAMAS DE ESTADO Objetivos del aprendizaje: El alumno creará los estado de un objeto.

Ejemplo:  Al principio de cada año existen condiciones que hace que los precios se eleven 105 .CONSIDERACIONES  Siempre existen cambios que afectan a los objetos Las interacciones con otros usuarios también provocan cambios en los objetos que comprenden los sistemas.

106 .

ANÁLISIS  ¿Qué variables se ponen de manifiesto en la ilustración anterior? 107 .

¿QUÉ ES UN DIAGRAMA DE ESTADOS?  Un diagrama de estados es una de las alternativas que tenemos para caracterizar los cambios en un sistema . 108 . Algunos ejemplos comunes: Cuando acciona un interruptor la luz cambia de su estado de apagada a encendida.    Cuando presiona un botón de un control remoto el aparato cambia su estado de apagado a encendido.

109 . Luego de un tiempo una lavadora cambia su estado de lavar a enjuagar. El diagrama de estados en UML captura este tipo de cambios. En ocasiones el diagrama de estados también se le conoce como “motor de estado”. y muestra los puntos inicial y final de una secuencia de cambios de estado. Presenta los estados en los cuales puede encontrarse un objeto junto con las transiciones entre los estados.

Un diagrama de Estados muestra las condiciones de un solo objeto.

110

SIMBOLOGIA

111

DETALLES EN EL ICONO DE INICIO

112

EJEMPLO: LA MAQUINA DE FAX

113

 114 .SUCESOS Y ACCIONES También se puede agregar ciertos procesos a las líneas de transición. Puede indicar un suceso que provoque una transición (desencadenar un suceso).  La actividad de cómputo (la acción) que se ejecute y haga que suceda la modificación del estado.

EJEMPLO DE UN DIAGRAMA DE ESTADOS 115 .

116 .CONDICIONES DE SEGURIDAD Para el caso anterior tendríamos el caso de que se active el protector de pantalla (esto es por seguridad).

117 .

SUBESTADOS Se presentan cuando dentro de un estado tenemos otro.  Existen dos tipos de subestados.  Secuenciales  Concurrentes  118 .

SECUENCIALES 119 .

CONCURRENTES 120 .

ESTADOS HISTÓRICOS 121 .

EJERCICIOS Desarrollar tres diagramas de estados para 3 objetos cotidianos (individual).  Desarrollar tres diagramas de estados para 5 objetos de su proyecto (por equipos).  122 .

SESIÓN 14: ACTIVIDADES  Objetivos de aprendizaje: El alumno creara las actividades de un objeto Resultados del aprendizaje: El alumno esquematiza actividades usando UML  123 .

Se representa de manera semejante al de secuencia pero con un rectángulo redondeado. Los diagramas de flujo han sido diseñados para mostrar una visión simplificada de lo que ocurre durante una operación o proceso. 124   .ACTIVIDADES  Este tipo de diagramas es muy parecido a los antiguos diagrama de flujo.

125 .

DECISIONES 126 .

OTRA FORMA DE MOSTRAR DECISIONES 127 .

ACTIVIDADES CONCURRENTES 128 .

INDICACIONES 129 .

EJEMPLO: PROCESO DE CREACIÓN DE UN DOCUMENTO 130 .

131 .

SESION 15: DIAGRAMA DE COLABORACIÓN  OBJETIVOS DEL APRENDIZAJE: El alumno creara la colaboración entre objetos RESULTADOS DEL APRENDIZAJE: El alumno esquematiza colaboración usando UML  132 .

 El diagrama de colaboración muestra a los objetos y los mensajes que se envían entre ellos. 133 .DIAGRAMAS DE COLABORACIÓN  Los diagramas de colaboración muestran la forma en que los objetos colaboran entre sí. tal como sucede con el diagrama de secuencias.

SIMBOLOGÍA 134 .

UN EJEMPLO CON LA GUI 135 .

DIAGRAMA 136 .

UN DIAGRAMA DE COLABORACIÓN TAMBIÉN PUEDE REPRESENTAR LOS CAMBIOS DE ESTADO 137 .

LA MÁQUINA DE GASESOSAS 138 .

DIAGRAMA DE COLABORACIÓN 139 .

VARIOS OBJETOS RECEPTORES DE UNA CLASE.  En ocasiones un objeto envía un mensaje a diversos objetos de la misma clase. 140 . por ejemplo un profesor le pide a un grupo de estudiantes que entreguen una tarea.

141 .

RESULTADOS  Los resultados serán representados por medio de la sintaxis de “:=“ 142 .

EJEMPLO DE UN CALCULO 143 .

OBJETOS ACTIVOS: SE REPRESENTAN POR MEDIO DE UN RECTANGULO MÁS GRUESO. 144 .

SINCRONIZACIÓN  La sincronización se da cuando un objeto envía sus mensajes cuando se han enviado otros mensajes. Ejemplo: Creación de una campaña de publicidad  145 .

146 .

147 .

ACTIVIDAD  Realizar 2 diagramas de colaboración para dos casos cotidianos. Realizar 2 diagramas de colaboración para su proyecto  148 .

SESIÓN 16: COMPONENTES  Objetivos del aprendizaje: El alumno creará las actividades de un objeto. Resultados del aprendizaje: El alumno esquematiza componentes usando UML  149 .

¿Qué podríamos tomar como un componente? 150 .¿QUÉ ES UN COMPONENTE?  Un componente de software es una parte física del sistema y que se encuentra dentro del sistema.

¿QUÉ PODEMOS TOMAR COMO UN COMPONENTE? Una tabla  Un archivo de datos  Un ejecutable  Una biblioteca de vínculos dinámicos  Documentos  Otras cosas por el estilo  151 .

¿QUÉ RELACIÓN GUARDA EL COMPONENTE CON UNA CLASE? Un componente puede ser la implementación de más de una clase 152 .

2.¿PORQUÉ PREOCUPARSE POR EL COMPONENTE?  Nos interesa aunque este se encuentre dentro del sistema debido a: Los clientes pueden ver la estructura del sistema finalizado. 3. Los desarrolladores cuenten con la estructura del sistema con la cual trabajar más adelante. Quienes escriban las notas técnicas puedan entender de que escribirán Usted se aliste para volver a utilizar los componentes. 1. 153 . 4.

Definición: Una interfaz es una clase que no contiene atributos (solamente contiene métodos).UML E INTERFACES  Dentro de la programación orientada a objetos y UML existe el concepto de interfaz.  154 .

155 .Es sencillo como ejemplo podemos tener una interfaz que contenga al método área. esa interfaz la podemos relacionar a otras clases u objetos.

Componentes de distribución Componentes para trabajar en el producto Componentes de ejecución 1. Componentes de distribución: Estos conforman el fundamento de los sistemas ejecutables (por ejemplo DLL. 3. ejecutables. ActiveX y Java Beans). 2.TIPOS DE COMPONENTES 1. 156 .

 157 .  Se encuentran compartidas entre varías aplicaciones  Facilitan la gestión y el aprovechamiento de la memoria del sistema. Ventajas: Reducen el tamaño de los archivos ejecutables.DLL  Biblioteca de enlace dinámico: Este término se refiere a los archivos con código ejecutable que se cargan bajo demanda de un programa por parte del sistema operativo.

DESVENTAJAS La principal desventaja reside en que al actualizarse la versión de un software las DLL pueden ser sustituidas por una versión incompatible con el sistema (El software que dependa de dicha DLL dejará de funcionar de manera total o parcial). 158 . Brindan mayor flexibilidad frente a los cambios.

En el lado del cliente: Son pequeños programas que pueden incluirse dentro de una página Web. funciona en el lado del servidor y en el lado del cliente. 159   .ACTIVEX  Es una tecnología de Microsoft que se utiliza en el desarrollo de páginas dinámicas. por ejemplo un calendario o para implementar un servicio de FTP. Esta tecnología es particular del Internet Explorer.

ya que un applet de java no puede tomar privilegios para realizar acciones dañinas (por ejemplo borrar el disco duro). 160 .ACTIVEX  Lado del cliente: Se parecen a los applets de java en su funcionamiento. la diferencia fundamental es la seguridad. los ActiveX si pueden tener estos privilegios.

UN ACTIVE X PUEDE OCUPARSE PARA COSAS BUENAS Y MALAS 161 .

 162 .  Se usan para encapsular varios objetos en un único objeto (la vaina o Bean en inglés). para hacer uso de un solo objeto en lugar de varios más simples.JAVA BEANS Los JavaBeans son un modelo de componentes creado por Sun Microsystems para la construcción de aplicaciones en Java.

2. COMPONENTES PARA TRABAJAR CON EL PRODUCTO  Un ejemplo de ello son los archivos de bases de datos y los archivos de código. 163 .

3. COMPONENTES DE EJECUCIÓN  Se crean como resultado de un sistema en ejecución. 164 .

Dentro del diagrama se coloca el nombre del componente.REPRESENTACIÓN DE UN COMPONENTE  Para representar un componente utilizaremos un rectángulo que tiene dos rectángulos más en el lado izquierdo. 165 .

EJEMPLO DE UN COMPONENTE 166 .

COMPONENTES DENTRO DE UN PAQUETE 167 .

RELACIONES ENTRE UN COMPONENTE Y LAS CLASES QUE LO COMPONEN. 168 .

REPRESENTACIÓN DE UNA INTERFAZ 169 .

170 .

EJEMPLO  Se utilizo la tecnología llamada ActiveX para poder realizar una página que contiene la animación de una esfera. la cual puede ser manipulada por el usuario de manera interactiva. 171 .

172 .

 El complemento de Adobe Reader para Internet Explorer.  Los instaladores para software desde páginas web (por ejemplo Microsoft Office 2010). por ejemplo: El complemento de Adobe Flash Player  Los complementos para Mozilla Firefox.OTROS EJEMPLOS  Existen varios componentes en los navegadores Web.  173 .

Resultados del aprendizaje: El esquematiza clases/objetos usando UML alumno  174 .SESIÓN 17: CLASES Y OBJETOS  Objetivos del aprendizaje: El alumno creara las clases y los objetos.

REPRESENTACIÓN  Se representan por medio de rectángulos los cuales tendrán los siguientes elementos. Nombre de la clase Atributos Métodos 175 .

EJEMPLO: LA CLASE CUENTA 176 .

Estas relaciones pueden ser de tipo:    Asociativas Herencia De uso 177 .DIAGRAMA DE CLASES  Un diagrama de clases se utiliza para visualizar las relaciones que existen entre las clases que conforman el sistema.

la cual describe una conexión entre objetos  De manera gráfica se representa por medio de una línea continua que une a las clases entre sí.ASOCIACIÓN La asociación se define como una conexión entre clases.  178 .  Es una asociación estructural.

ASOCIACIÓN 179 .

 Por ejemplo la relación entre una cuenta y el dinero.Las asociaciones también pueden darse en una sola dirección.  180 .

181 .

MULTIPLICIDAD 182 .

  Gráficamente se muestra por una flecha discontinua con una punta de flecha que apunta del cliente al proveedor.  Muestra la relación entre un cliente y el proveedor empleado por el cliente  En donde:  Cliente es el objeto que solicita servicio  Servidor es el objeto que provee el servicio solicitado.DEPENDENCIA Es un tipo de relación más débil que la asociación. 183 .

184 .EJEMPLO: RESOLUCIÓN DE UNA ECUACIÓN DE 2° GRADO.

HERENCIA La relación entre una superclase y sus subclases.  Forman jerarquías  Forman taxonomías  185 .

186 .

¿PARA QUÉ UTILIZAMOS UN DIAGRAMA DE CLASES? Para realizar la abstracción de un dominio  Formalizar el análisis de conceptos  Definir una solución de un diseño  Construir componentes de software  187 .

188 .

2 diagramas de clase con Asociación  2 Diagramas de clase con Dependencia  2 Diagramas de clase con herencia  Nota: cada clase debe contener 3 métodos y tres atributos. (primero temas cotidianos y luego para el proyecto). y cada diagrama de clase debe contener por lo menos 3 clases relacionadas. 189 .EJERCICIOS  Construya los siguientes diagramas de clases. cada clase debe de mostrar sus métodos y atributos.

en base al siguiente diagrama de clases inicial. Realizar el modelado para un restaurante.AGRUPAMIENTO DE  CLASES (PAGINA 251). 190 .

191 .

192 .

193 .

 Basándose en el siguiente ejemplo agrupe las clases de acuerdo a la clase principal donde pertenece. 194 .

195 .

196 .

197 .

198 .

199 .

USO DE LA HERENCIA 200 .