Story Transcript
Diagrama de clase Se utiliza para representar los tipos de objetos dentro del sistema (proceso) y las diversas relaciones estáticas que existen entre ellos Contenido Generalidades de un diagrama de clase ....................................................................................... 2 Pasos de construcción de un diagrama de actividad .................................................................... 3 Identificar clases........................................................................................................................ 3 Identificar asociaciones entre clases......................................................................................... 4 Simbología ..................................................................................................................................... 4 Notación de un diagrama de clase ................................................................................................ 5 Visibilidad(acceso) ................................................................................................................. 5 Multiplicidad ......................................................................................................................... 5 Sección de nombre.................................................................................................................... 6 Sección de atributos .................................................................................................................. 6 Sección de operaciones ............................................................................................................. 6 Ejemplo de diagrama de clases ..................................................................................................... 7 Bibliografía .................................................................................................................................... 9
Modelos de proceso para el desarrollo de software
V1.0
Ing. Guillermo Espinosa Ruiz
Generalidades de un diagrama de clase Los diagramas de clases se enfocan en el detalle de:
Interfaces
Clases
Dependencias, asociación y generalización.
Dentro de los diagramas de clase se pueden describir paquetes o subsistemas, los cuales son usados para agrupar elementos del modelo en secciones. Se utilizan estos diagramas para:
Modelar el vocabulario del sistema.
Establecer las colaboraciones.
Modelar un esquema lógico de bases de datos.
2|Página
Modelos de proceso para el desarrollo de software
V1.0
Ing. Guillermo Espinosa Ruiz
Pasos de construcción de un diagrama de actividad
Identificar clases
Identificar asociaciones entre clases
Identificar clases Para identificar las clases que deben estar dentro de los diagramas de clase podemos seguir las siguientes indicaciones: • •
Se agregan trabajadores o actores identificados desde los casos de uso. Se agregan objetos de negocio
Desde un contexto de un sistema de una aerolínea, podemos considerar las siguientes clases:
Podemos observar que se agregan actores y elementos que por sí mismos no funcionan como com actores pero son elementos envueltos dentro del proceso.
3|Página
Modelos de proceso para el desarrollo de software
V1.0
Ing. Guillermo Espinosa Ruiz
Identificar asociaciones entre clases Nosotros debemos reflexionar sobre las relaciones existentes entre los trabajadores, objetos del negocio y elementos existentes; con el fin de establecer asociaciones entre clases y reglas
Simbología
Clase (Modelado de vocabulario) • Para modelar actores, y objetos de negocio se utiliza uno de los símbolos.
Clase (Enfoque de colaboraciones / bd ) • Representa el elemento con atributos y métodos.
Asociación • Se etiqueta el tipo de relación y se indica con un triángulo el sentido de la relación.
Generalización • Se indica con una flecha terminada en triángulo, representa que un elemento es una especificación de una clase más general.
Agregación • Asociación especial, en donde indica que una clase agrega objetos de un tipo de clase.
Multiplicidad • Indica la cardinalidad de la relación.
4|Página
Modelos de proceso para el desarrollo de software
V1.0
Ing. Guillermo Espinosa Ruiz
Notación de un diagrama de clase Los diagramas de clase orientados hacia el código tienen tres secciones: Sección de nombre
Sección de atributos
Sección de operaciones
Ventana + tamaño: Area = (100,100) # visibilidad: Boolean = false + tamañoDefault: Rectangle + create () + hide() + display (location:Point)
Visibilidad(acceso) Adorno
+ # ~
Nombre Público Privado Protegido
Paquete
Descripción elemento puede
Cualquier acceder al atributo. Solamente la clase puede realizar operaciones con el atributo. Solamente la clase o algún descendiente de la clase pueden realizar operaciones con el atributo. Cualquier elemento en el mismo paquete de la clase puede realizar operaciones con el atributo.
Multiplicidad Sirve para establecer restricciones sobre el número de elementos que se relacionan. Elemento
Multiplicidad
Arreglo Más de 1
Arreglo Rangos definidos
Arreglo Valor nulo
Descripción Se requiere especificar un arreglo usando el tipo de datos específico. Por ejemplo colores[7]. Nombres[]
Nombres[2 ..*]
Representa que el arreglo deberá tener al menos dos posiciones.
Direcciones[0..1]
Representa que el arreglo puede tener un valor nulo o solamente una cadena
5|Página
Modelos de proceso para el desarrollo de software
V1.0
Ing. Guillermo Espinosa Ruiz
Sección de nombre Se recomienda lo siguiente:
Se debe de abreviar cualquier abreviación • Abreviar palabras aumenta la complejidad al momento de interpretar el diagrama. UML no forza el uso de convenciones • Sin embargo se recomienda iniciar los nombres con Mayúsculas. • Escribir utilizando minúsculas. • Cualquier palabra compuesta inicia con Mayúscula. • Evitar cualquier símbolo o signos de puntuacion. Sección de atributos La estructura de cada atributo debe seguir el siguiente esquema:
Visibilidad
nombre
• opcional
• Obligatorio
+
Direccion
multiplicidad: tipo= valor inicial • opcional
[3]:string
Cualquier atributo subrayado indica que es asociado a nivel de clase
Sección de operaciones Las operaciones son funciones que se encuentran ligadas a clases particulares, se requiere:
Visibilidad • opcional
+
nombre( • Obligatorio
parámetro: tipo, ...) • opcional
obtenerDireccio obtenerDireccion(id:string)
: tipo de resultado • opcional
:string
Cualquier operación subrayada indica que es asociado a nivel de clase
6|Página
Modelos de proceso para el desarrollo de software
V1.0
Ing. Guillermo Espinosa Ruiz
Ejemplo de diagrama de clases Se presenta un ejemplo, enfocado hacia el modelado de vocabulario y relaciones generales.
A continuación podemos considerar un ejemplo orientado al modelado de sistemas.
7|Página
Modelos de proceso para el desarrollo de software
V1.0
Ing. Guillermo Espinosa Ruiz
Dentro de las relaciones podemos considerar implementaciones.
8|Página
Modelos de proceso para el desarrollo de software
V1.0
Ing. Guillermo Espinosa Ruiz
Bibliografía Arlow, J., & Neustadt, I. (2002). UML and the unified process: Practical Object Oriented Analisis & Design. Great Britain: Addison Wesley. Booch, G., Rumbaugh, J., & Jacobson, I. (2005). The unified modeling language user guide. USA: Addison wesley. Fowler, M. (2003). UML distilled: A brief guide to the standard object modeling language. USA: Addison wesley. Grässle, P., Baumann, H., & Baumann, P. (2005). UML 2.0 in action: A project based tutorial. Great Britain: Packt Publishing. Sommerville, I. (2005). Ingeniería de software. Madrid: Pearson educación.
9|Página