0 calificaciones0% encontró este documento útil (0 votos)
75 vistas8 páginas
El documento describe los diagramas de clases en UML. Un diagrama de clases representa las clases principales de un sistema orientado a objetos, mostrando sus atributos, operaciones y relaciones. Las clases describen conjuntos de objetos que comparten características.
El documento describe los diagramas de clases en UML. Un diagrama de clases representa las clases principales de un sistema orientado a objetos, mostrando sus atributos, operaciones y relaciones. Las clases describen conjuntos de objetos que comparten características.
El documento describe los diagramas de clases en UML. Un diagrama de clases representa las clases principales de un sistema orientado a objetos, mostrando sus atributos, operaciones y relaciones. Las clases describen conjuntos de objetos que comparten características.
Las clases representan los bloques de construccin ms importantes de cualquier sistema
orientado a objetos. Una clase es una descripcin de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semntica. La representacin grfica de clases en UML se muestra en la siguiente figura. Esta notacin es independiente de cualquier lenguaje de programacin. El primer bloque de la figura representa el nombre de la clase, el segundo bloque contiene los atributos, y el tercer bloque contiene las operaciones. El nombre de la clase puede ser simple (ej: Figura o puede indicar el camino completo (paquete donde reside la clase (ej: Grafico::Figura. En la definicin de los atributos se pueden incluir sus tipos (ej: altura:Real. Lo mismo para las operaciones (ej: mover(a:int, b:int):boolean. !o es necesario mostrar todas las caracter"sticas. # $eces las clases tienen tantas caracter"sticas, que no es con$eniente mostrarlas todas. En estos casos tambi%n se pueden organi&ar las caracter"sticas usando estereotipos. 'or ejemplo: Responsabilidades Una responsabilidad es un contrato o una obligacin de una clase. #l modelar clases, un buen comien&o consiste en especificar las responsabilidades de los elementos. Una clase bien estructurada tiene al menos una responsabilidad (deber"a tener pocas. (rficamente, las responsabilidades se e)presan en una seccin al final de la clase. 'or ejemplo: Uso de clases Modelar el vocabulario de un sistema: 'ara modelar el $ocabulario de un sistema, *ay que identificar aquellas cosas que utili&an los usuarios para describir el problema o la solucin. 'ara esto se pueden utili&ar tarjetas +,+ y anlisis basado en casos de uso. Una $e& identificadas las abstracciones, *ay que identificar sus responsabilidades. El siguiente es un ejemplo del modelado del $ocabulario de un sistema. Modelar la distribucin de responsabilidades: 'ara modelar la distrubucin de responsabilidades en un sistema, *ay que identificar un conjunto de clases que colaboren entre ellas para lle$ar a cabo alg-n comportamiento. Luego *ay que identificar el conjunto de responsabilidades para cada clase. 'or ejemplo: .bser$e cmo estas clases colaboran de forma que ninguna clase *ace muc*o ni muy poco. Relaciones Las clases casi nunca se encuentran aisladas. 'or lo general la mayor"a de ellas colaboran con otras de $arias maneras. 'or tanto, al modelar un sistema tambi%n *ay que modelar la forma en que las clases se ralacionan. En el modelado orientado a objetos *ay tres tipos de relaciones: dependencias, generali&aciones y asociaciones. Una dependencia es una relacin de uso, que declara que un cambio en la especificacin de un elemento (por ejemplo la clase Evento puede afectar a otro elemento que la utili&a (por ejemplo la clase Ventana, pero no necesariamente a la in$ersa (la flec*a $a dirigida *acia el elemento del cual se depende. Una dependencia quiere decir que un elemento utili&a a otro. Una generalizacin conecta una clase general (llamada superclase o padre con otra clase ms especiali&ada (llamada subclase o *ijo. Es una relacin /es-un/ o /es-una/. 'or ejemplo, el CuadroDialogo es una Ventana. Las asociaciones son relaciones estructurales entre instancias, que especifican que los objetos de un elemento estn conectados con los objetos de otro. Es legal que los objetos de una clases est%n conectados con objetos de la misma clase. 0ay cuatro tipos de /adornos/ que se le pueden poner a estas relaciones: nombre, rol, multiplicidad y agregacin. Ejemplo: Nombre: Una asociacin puede tener un nombre, que se utili&a para describir la naturale&a de la relacin. 'ara e$itar ambig1edades, se puede indicar una direccin al nombre, es decir, la direccin en que se debe leer el nombre. Rol: Un rol es la cara que la clase de un e)tremo de la asociacin presenta a la clase del otro e)tremo. Es el rol que juega la clase en la asociacin. Multiplicidad: ,epresenta el n-mero de objetos que pueden conectarse a tra$%s de una relacin de asociacin. 2e puede indicar una multiplicidad de e)actamente uno (3, cero o uno (4..3, muc*os (4..5, o uno o ms (3..5. 6ambi%n se puede indicar un $alor e)acto (por ejemplo, 7. Agregacin: # $eces se desea modelar una relacin de tipo /todo8parte/, en la cual una clase representa algo grande (el todo, que consta de elementos ms peque9os (las partes. Este tipo de relacin se denomina agregacin, y es una relacin /tiene-un/ o /tiene-una/. Ejemplo: Composicin: La composicin es un tipo especial de asociacin, que tambi%n modela relaciones /todo8parte/. La diferencia es que tiene una fuerte relacin de pertenencia y $idas coincidentes de la parte con el todo. Las /partes/ pueden crearse despu%s del /todo/, pero una $e& creadas, $i$en y mueren con el /todo/ (se pueden eliminar e)pl"citamente antes. :uiere decir que una /parte/, solamente puede estar relacionada con un /todo/. Ejemplo: En el siguiente ejemplo se muestran algunas de la relaciones antes descritas. .bser$en el poder de e)presin de esta notacin. Algunos conceptos 'ara diferenciar a las clases abstractas, el nombre de %stas se pone en cursi$a. Las clases abstractas no pueden tener instancias directas. La visibilidad de una caracter"stica especifica si puede ser utili&ada por otros objetos. 0ay tres ni$eles de $isibilidad en UML: public (cualquiera la puede usar, la caracter"stica es precedida por el s"mbolo ;, protected (cualquier descendiente la puede utili&ar, se especifica con el s"mbolo <, y private (solamente la propia clase la usa, se especifica con el s"mbolo =. El alcance de una caracter"stica define si la caracter"stica aparece en cada instancia de la clase, o si slo *ay una caracter"stica para todas las instancias. 'ara definir alcance de clase, las caracter"sticas se subrayan. 'or defecto, las caracter"sticas tienen alcance de instancia. Ejemplo: 0ay otras propiedades poco utili&adas. 'or ejemplo, leaf, que indica que una clase es una *oja, y por tanto no permite que otras clases *erenden caracter"sticas de ella. La propiedad root indica que una clase no puede tener padres. 'or ejemplo: La multiplicidad define el n-mero de instancias que puede tener una clase. Esta es 4, 3 o n. 'or defecto, las clases tienen multiplicidad n. 2i se quiere definir una multiplicidad diferente de n, *ay que especificarla. 'or ejemplo: Esto quiere decir que la clase ControladorRed solamente puede tener una instancia. # su $e&, para esta clase pueden *aber dos o ms puertoConsola. Ejemplo de diagrama de clases de una Universidad. Se quiere desarrollar un sistema de informacin para la Universidad de Oriente segn la descripcin siguiente. La Universidad se caracteriza mediante su nombre y la ciudad donde se sita. En la Universidad estn vinculados dos tipos de ersona! "raba#adores$ que la Universidad emplea$ y Estudiantes$ que estudian en la Universidad. %ada ersona tiene una %& y un nombre. Los "raba#adores pertenecen a dos grupos! '& y (S. %ada "raba#ador tiene asociada una fec)a de inicio de su contrato. %ada miembro del '& tambi*n tiene una categor+a$ mientras que cada miembro del (S tiene un puesto. Los miembros del '& pueden o no ser 'octores. Las actividades que desarrolla el '& son investigar y ense,ar$ mientras que la actividad que desarrolla el (S es administrar. La Universidad se compone de un con#unto de 'epartamentos$ cada uno de los cuales tiene un nombre y un con#unto de "raba#adores adscrito. Un "raba#ador no puede estar adscrito a ms de un 'epartamento. Un '& est adscrito obligatoriamente a un 'epartamento$ mientras que un (S$ no. %ada 'epartamento est dirigido por un 'octor. Un Estudiante- puede ser bien -Estudiante de grado$ de una determinada titulacin$ bien -Estudiante- de 'octorado$ de un determinado programa de 'octorado. Un Estudiante de grado puede tambi*n colaborar con un 'epartamento como becario y puede realizar un .% dirigido por un miembro del '&-. Un -Estudiante de 'octorado realiza una tesis dirigida por un 'octor. uede suponer que un Estudiante no puede estudiar en ms de una Universidad y que un "raba#ador no puede ser empleado por ms de una Universidad. roporcione un modelo de esta descripcin en forma de un diagrama de clases U/L utilizando para nombres de clases nicamente las palabras que aparecen en negrita en la descripcin anterior. Las palabras que aparecen en cursiva proporcionan pistas para la definicin de los otros elementos del modelo. 0o )ace falta proporcionar informacin de tipado para las propiedades que pueda definir. ara ms puntuacin$ a,ada a su modelo los elementos necesarios para tomar en cuenta lo siguiente! Una ersona puede ser a la vez "raba#ador y Estudiante$ Un Estudiante no puede ser a la vez -Estudiante de grado y -Estudiante de 'octorado$ Los nicos tipos de "raba#ador que e1isten son '& y (S$ Un "raba#ador no puede ser a la vez '& y (S. Diagrama de clases Ejemplo de diagrama de clases de una Universidad. Un diagrama de clases es un tipo de diagrama esttico que describe la estructura de un sistema mostrando sus clases, orientados a objetos. Definiciones[editar] Propiedad de objetos que tienen propiedades y/u operaciones que contienen un contexto y un dominio, los primeros dos ejemplos son clases de datos y el tercero clase de lgica de negocio, dependiendo de qui!n dise"e el sistema se pueden unir los datos con las operaciones. El diagrama de clases incluye muc#a ms in$ormacin como la relacin entre un objeto y otro, la #erencia de propiedades de otro objeto, conjuntos de operaciones/propiedades que son implementadas para una inter$a% gr$ica. Presenta las clases del sistema con sus relaciones estructurales y de #erencia. El diagrama de clases es la base para elaborar una arquitectura &'( o &'P.