1. INSTITUTO TECNOLÓGICO SUPERIOR “SAN GABRIEL”
ANALISIS Y DISEÑO ORIENTADO A OBJETOS
NOMBRES: Graciela Cefla
SEMESTRE: Cuarto Sistemas
FECHA: 12/10/2016
TAREA N°: 2
TEMA: Concepto, simbología y ejemplo de los tipos de diagramas como son:
diagrama de objetos, diagrama de clases, diagrama de estados.
2. DIAGRAMA DE OBJETOS
Los Diagramas de Objetos están vinculados con los Diagramas de Clases. Un objeto es una
instancia de una clase, por lo que un diagrama de objetos puede ser visto como una instancia
de un diagrama de clases. Los diagramas de objetos describen la estructura estática de un
sistema en un momento particular y son usados para probar la precisión de los diagramas de
clases.Nombre de los objetosCada objeto esrepresentadocomoun rectángulo,que contiene
el nombre del objetoysuclase subrayadasyseparadaspor dospuntos.AtributosComoconlas
clases,losatributosse listanenunáreainferior.Sinembargo,losatributosde losobjetosdeben
tener un valor asignado.
Juan necesitaleerunlibropara la clase de español,comono lo tiene necesitapedirloprestado
a la biblioteca.El diagramade éste caso de uso se diseñamediante dosindividuos"sociode la
bibliotecaybibliotecario( actores),c/u llevandounrol diferente dentrodelsistemayse dibujan
mediante una silueta humana,la tarea que es llevada a cabo por ellos es representada por un
ovalo y finalmente manteniendo una asociación dibujada por una línea o flecha.
En el caso del ejemplo se tienencomocasosde usode la cafeteraRecibirDinero,PedirAzúcar,
Pedir Producto, Dar Vueltas y Cancelar.
DIAGRAMA DE CLASES
El diagrama de clases recoge las clases de objetos y sus asociaciones. En este
diagrama se representa la estructura y el comportamiento de cada uno de los objetos
del sistema y sus relaciones con los demás objetos, pero no muestra información
temporal.
Con el fin de facilitar la comprensión del diagrama, se pueden incluir paquetes como
elementos del mismo, donde cada uno de ellos agrupa un conjunto de clases.
Este diagrama no refleja los comportamientos temporales de las clases, aunque para
mostrarlos se puede utilizar un diagrama de transición de estados.
3. Los elementos básicos del diagrama son:
Clases
Una clase describe un conjunto de objetos con propiedades (atributos) similares y un
comportamiento común. Los objetos son instancias de las clases.
No existe un procedimiento inmediato que permita localizar las clases del diagrama
de clases. Estas suelen corresponderse con sustantivos que hacen referencia al
ámbito del sistema de información y que se encuentran en los documentos de las
especificaciones de requisitos y los casos de uso.
Dentro de la estructura de una clase se definen los atributos y las operaciones o
métodos:
Los atributos de una clase representan los datos asociados a los objetos
instanciados por esa clase.
Las operaciones o métodos representan las funciones o procesos propios de los
objetos de una clase, caracterizando a dichos objetos.
El diagramade clasespermite representar clasesabstractas.Una Clase abstractaes
una clase que no puede existir en la realidad, pero que es útil conceptualmente para
el diseño del modelo orientado a objetos. Las clases abstractas no son instánciales
directamente sino en sus descendientes. Una clase abstracta suele ser situada en la
jerarquía de clases en una posición que le permita ser un depósito de métodos y
atributos para ser compartidos o heredados por las subclases de nivel inferior.
Las clases y en general todos los elementos de los diagramas, pueden estar
clasificados de acuerdo a varios criterios, como por ejemplo su objetivo dentro de un
programa. Esta clasificación adicional se expresa mediante un Estereotipo. Algunos
de los autores de métodos OO, establecen una clasificación de todos los objetos que
pueden aparecer en un modelo. Los tipos son:
Objetos Entidad.
Objetos limite o interfaz.
Objetos de control.
Interfaces
Una interfaz es una especificación de la semántica de un conjunto de operaciones de
una clase o paquete que son visibles desde otras clases o paquetes. Normalmente, se
corresponde con una parte del comportamiento del elemento que la proporciona.
Paquetes
Los paquetes se usan para dividir el modelo de clases del sistema de información,
agrupando clases u otros paquetes según los criterios que sean oportunos. Las
dependencias entre ellos se definen a partir de las relaciones establecidas entre los
distintos elementos que se agrupan en estos paquetes (ver Diagrama de paquetes).
Notación
Clases
Una clase se representa como una caja, separada en tres zonas por líneas
horizontales.
En la zona superior se muestra el nombre de la clase y propiedades generales como
el estereotipo. El nombre de la clase aparece centrado y si la clase es abstracta se
4. representa en cursiva. El estereotipo, si se muestra, se sitúa sobre el nombre y entre
el símbolo: << .... >>.
La zona central contiene una lista de atributos, uno en cada limnea. La notación
utilizada para representarlos incluye, dependiendo del detalle, el nombre del
atributo, su tipo y su valor por defecto, con el formato:
Visibilidad nombre: tipo = valor-inicial {propiedades}
La visibilidad será́ en general publica (+), privada (-) o protegida (#), aunque puede
haber otrostiposde visibilidad dependiendo del lenguaje de programaciónempleado.
En la zona inferior se incluye una lista con las operaciones que proporciona la clase.
Cada operación aparece en una limnea con formato:
Visibilidad nombre (lista-de-parámetros): tipo-devuelto {propiedad}
La visibilidad será́ en general publica (+), privada (-) o protegida (#), aunque como
con los atributos, puede haber otros tiposde visibilidad dependiendo del lenguaje de
programación. La lista de parámetros es una lista con los parámetros recibidos en la
operación separados por comas. El formato de un parámetro es:
Nombre: tipo = valor-por-defecto
La notación especificada se puede simplificar según el nivel de detalle con el que se
quiera trabajar en un momento dado.
Relaciones
Una relación de asociación se representa como una línea continua entre las clases
asociadas. En una relación de asociación, ambos extremos de la línea pueden
conectar con la misma clase, indicando que una instancia de una clase, está asociada
a otras instancias de la misma clase, lo que se conoce como asociación reflexiva.
La relación puede tener un nombre y un estereotipo, que se colocan junto a la línea.
El nombre suele corresponderse con expresiones verbales presentes en las
especificaciones, y define la semántica de la asociación. Los estereotipos permiten
clasificar las relaciones en familias y se escribirán entre el símbolo: << ... >>.
Las diferentes propiedades de la relación se pueden representar con la siguiente
notación:
Multiplicidad: La multiplicidad puede ser un número concreto, un rango o
una colección de números. La letra ‘n’ y el símbolo ‘*’ representan cualquier
número.
5. Orden:Se puede especificar silasinstanciasguardanun ordenconla palabra
clave ‘{ordered}’. Si el modelo es suficientemente detallado, se puede incluir una
restricción que indique el criterio de ordenación.
Navegabilidad: La navegación desde una clase a la otra se representa
poniendo una flecha sin relleno en el extremo de la línea, indicando el sentido de
la navegación.
Rol o nombre de la asociación: Este nombre se coloca junto al extremo de la
líneaque está unidaa una clase,para expresar como esaclase hace uso de la otra
clase con la que mantiene la asociación.
Además, existen notaciones específicas para los otros tipos de relación, como son:
Agregación: Se representa con un rombo hueco en la clase cuya instancia es
una agregación de las instancias de la otra.
Composición: Se representa con un rombo lleno en la clase cuya instancia
contiene las instancias de la otra clase.
Dependencia: Una línea discontinua con una flecha apuntando a la clase
cliente. La relación puede tener un estereotipo que se coloca junto a la línea, y
entre el símbolo: << ... >>.
Herencia:Estarelaciónse representacomo unalíneacontinuaconuna flecha
hueca en el extremo que apunta a la superclase.
Interfaces
Una interfaz se representa como una caja con compartimentos, igual que las clases.
En la zona superior se incluye el nombre y el estereotipo <>. La lista de operaciones
6. se coloca en la zona inferior, igual que en las representaciones de clases. La zona en
la que se listan los atributos estará́ vacía o puede omitirse.
Existe una representación más simple para la interfaz: un círculo pequeño asociado
a una clase con el nombre de la interfaz debajo. Las operaciones de la interfaz no
aparecen en esta representación; si se quiere que aparezcan, debe usarse la primera
notación.
Entre una clase que implementa las operaciones que una interfaz ofrece y esa
interfaz se establece una relación de realización que, dependiendo de la notación
elegida, se representará con una línea continua entre ellas cuando la interfaz se
representa como un circulo y con una flecha hueca discontinua apuntando a la
interfaz cuando se represente como una clase.
Paquetes
Los paquetes se representan mediante un icono con forma de carpeta y las
dependencias con flechas discontinuas entre los paquetes dependientes
(ver Diagrama de paquetes).
Ejemplo
Estudio del sistema encargado de la gestión de préstamos y reservas de libros y
revistas de una biblioteca. Dependiendo del momento del desarrollo el diagrama
estará́ más o menos detallado. Así́, el diagrama tendría la siguiente estructura en el
proceso de análisis:
7. DIAGRAMA DE ESTADOS
Diagrama de Estados Volver En cualquier momento, un objeto se encuentra en un
estado particular,laluz está encendidao apagada, el auto en movimiento o detenido,
la persona leyendo o cantando, etc. El diagrama de estados UML captura esa
pequeña realidad. Estado El estado representa situaciones durante la vida de un
objeto. Se representa con un rectángulo que tiene sus esquinas redondeadas.
Transición Una flecha representa el pasaje entre diferentes estados de un objeto. Se
etiquetaconelevento que lo provocayconla acciónresultante.EstadoInicialEstado
Final evento / acción Estado Cátedra de Proyecto.
Este tipo de diagramas muestra la secuencia de estados por los que pasa un caso de
uso o un objeto a lo largo de su vida. En cuanto a la representación, un diagrama de
estadosesun gráfico cuyosnodossonestadosycuyosarcosdirigidossontransiciones
etiquetadas con los nombres de los eventos. Un estado se representa mediante una
caja redondeada con el nombre del estado en el interior y una transición se
representamedianteunaflechadesde elestado origenalestado destino.Unconjunto
de diagramas de estado para los casos de uso, permitirá al diseñador desarrollar
metódicamente un diseño que le garantice el orden correcto de los eventos del
sistema. A continuación se muestran los diagramas de estado de algunos casos de
uso del sistema:
8. EJEMPLO
El ascensor est´a en la planta 0 con la puerta abierta y est´a activa la senal ˜ de Led viajero
en nivel 0. S´olo saldr´a de este estado cuando se active la senal ˜ de Simulaci´on llamada
a nivel 2. Y0 = Led viajero en nivel 0 Dado que el programa implementado en el PLC lee
en cada momento las senales ˜ de salida del ascensor, hay que vigilar cu´antas de estas
est´an activas. Es decir, hay que contar que las senales ˜ de Final de Carrera apertura de
Puerta en nivel 0, Final de Carrera cierre de Puerta en nivel 1, Final de Carrera cierre de
Puerta en nivel 2, Final de Carrera cierre de Puerta en nivel 3 y Cabina en nivel 0 van a
estar activas y por tanto hay que incluirlas en la transici´on. Si no se hace, el programa
implementado en el PLC no reconocer´a la transici´on. As´ı pues, la transici´on que va al
siguiente estado debe ser la suma de todas las senales ˜ activas. X0 = (Final de Carrera
apertura de Puerta en nivel 0 ) & (Final de Carrera cierre de Puerta en nivel 1 ) & (Final
de Carrera cierre de Puerta en nivel 2 ) & (Final de Carrera cierre de Puerta en nivel 3 )
& (Simulaci´on llamada a nivel 2 ) & (Cabina en nivel 0 ).