Sunteți pe pagina 1din 22

Análisis y Diseño del Software

EL LENGUAJE UNIFICADO DE MODELADO


UML 2.0
CONTENIDO

 Introducción al modelado del software


 Presentación de UML
 Modelado de Clases
 Diagrama de Clase

2
MODELADO DE CLASES

 Es el más utilizado y más conocido de los diagramas orientados


a objetos. Es la fuente de generación de código.
 El diagrama de clase representa clases, sus partes y la forma en
la que las clases de los objetos están relacionados con otro.
 Una clase es una definición de un tipo de objeto.

3
MODELADO DE CLASES

 Es el más utilizado y más conocido de los diagramas orientados


a objetos. Es la fuente de generación de código.
 El diagrama de clase representa clases, sus partes y la forma en
la que las clases de los objetos están relacionados con otro.
 Una clase es una definición de un tipo de objeto.

4
MODELADO DE CLASES – USO COMUNES

 Modelar el vocabulario de un sistema. Involucra decidir sobre las


abstracciones que son parte del sistema y las que están fuera de sus
fronteras.
 Modelar colaboraciones simples. Una colaboración es una sociedad de
clases, interfaces, y otros elementos que trabajan juntos para
proporcionar algún
comportamiento cooperativo que es mayor que la suma de todos los
elementos.
 Modelar un esquema de base de datos lógico. Es como el
anteproyecto para un diseño conceptual de una base de datos.

5
MODELADO DE CLASES – REPRESENTACIÓN

Una clase es una descripción de un conjunto de objetos que comparten los


mismos atributos, operaciones, relaciones y semántica.

• Nombre
• Atributos
• Operaciones

6
MODELADO DE CLASES – ELEMENTOS

 Clases
 Atributos, Métodos
 Objetos
 Relaciones
 Herencia
 Composición,
 Agregación
 Asociación y Uso

7
MODELADO DE CLASES – ELEMENTOS

 Atributos: describe las características de una clase de objetos.


 Operaciones: define el comportamiento de una clase de objetos
 Estereotipos: ayuda a entender este tipo de objeto en el contexto
de otras clases de objetos con roles similares dentro del diseño
del sistema.
 Asociación: es un término formal para un tipo de relación.
 Herencia: permite organizar las definiciones de la clase para
simplificar y facilitar su implementación.

8
MODELADO DE CLASES – ATRIBUTOS

 Los atributos de una clase no deberían ser manipulables directamente por el


resto de objetos. Por esta razón se crearon niveles de visibilidad para los
elementos que son:
 (-) Privado : es el más fuerte. Esta parte es totalmente invisible (excepto para
clases friends en terminología C++)
 (#) Los atributos/operaciones protegidos están visibles para las clases friends y
para las clases derivadas de la original.
 (+) Los atributos/operaciones públicos son visibles a otras clases (cuando se
trata de atributos se está transgrediendo el principio de encapsulación)

9
MODELADO DE CLASES – OPERACIONES

 Una operación es la implementación de un servicio que puede ser


solicitado desde cualquier objeto de la clase para afectar el comportamiento.
 Una clase puede tener cualquier número de operaciones o carecer de ellas.
 Un nombre de operación es un verbo o frase verbal que representa algún
comportamiento.
 En una operación se puede establecer su firma, abarcando el nombre, tipo
y valor de omisión de todos los parámetros y tipo de regreso .

10
MODELADO DE CLASES – RELACIONES

 Las relaciones existentes entre las distintas clases nos indican


como se comunican entre sí los objetos de esas clases.
 Los mensajes “navegan” por las relaciones existentes entre las
distintas clases.
 Las relaciones pueden ser:
 Herencia, Asociación, Agregación, Composición y Dependencia

11
MODELADO DE CLASES – HERENCIA

 Indica que una subclase hereda los métodos y atributos


especificados por una Super Clase, por ende la Subclase además
de poseer sus propios métodos y atributos, poseerá las
características y atributos visibles de la Super Clase
 La herencia puede ser:
 Simple, Múltiple

12
MODELADO DE CLASES – HERENCIA SIMPLE

 Cuando heredan de una sola clase. Ej. Tiempo


Hora
Minuto
segundo

ToStr

TiempoC
centesima
13
ToStr
MODELADO DE CLASES – HERENCIA MÚLTIPLE

 Cuando heredan de dos o mas clases. Ej.


Tiempo Fecha
Hora Dia
Minuto Mes
segundo año

ToStr ToStr

TiempoHora

14

ToStr
MODELADO DE CLASES – ASOCIACIÓN

 Una asociación es una relación entre instancias de clases,


especificando que los objetos de una clase deben
``conocer'' de alguna manera los objetos de la otra. Por
ejemplo:
 Un objeto de la clase A envía un mensaje a un objeto de la clase B.
 Un objeto de la clase A crea un objeto de la clase B.
 Un objeto de la clase A recibe un mensaje con un objeto de la
clase B como argumento

15
MODELADO DE CLASES – ASOCIACIÓN

Profesor Carrera
Nombre 1 Dirige 0..1 Código
especialidad nombre

Toda carrera tiene un director


Un profesor puede dirigir una carrera

Empleado Departamento
Código 1..* Pertenece 1
Nombre
Nombre

Un empleado pertenece a un departamento


16
A un departamento le pertenecen 1 o mas empleados
MODELADO DE CLASES – COMPOSICIÓN

Es una relación de todo y parte de, donde el todo esta formado por
objetos parte de que lo componen. Se pueden observar las siguientes
características:
 Dependencia existencial: El elemento dependiente desaparece al
destruirse el que lo contiene y, si es de cardinalidad 1, es creado al
mismo tiempo.
 Pertenencia fuerte: Se puede decir que el objeto contenido es parte
constitutiva y vital del que lo contiene.

17
MODELADO DE CLASES – COMPOSICIÓN

Todo

Ventana Modulo

1 1

0..2 Parte de 1..n


ScrollBar Aula

Una ventana está 18


Un módulo está
compuesta por cero
compuesto por una o
o hasta 2 ScrollBars
mas aulas
MODELADO DE CLASES – AGREGACIÓN

Es una relación de contenedor y contenido, donde el contenedor contiene


objetos contenido. Se pueden observar las siguientes características:
 Independencia existencial: El elemento contenido no desaparece al
destruirse el que lo contiene.
 Pertenencia débil: Se puede decir que el objeto contenedor no contiene
realmente al objeto contenido, sino que tiene una referencia a él.

19
MODELADO DE CLASES – AGREGACIÓN

Todo
Producto Polígono

0..n 0..n

1..n Parte de 3..n

Ingrediente Punto

Un producto está compuesto por uno o A un polígono se le puede agregar


mas ingredientes 20
puntos
Un ingrediente puede estar en 0 o mas Un punto puede formar parte de 0 o
productos. mas polígonos
MODELADO DE CLASES – DEPENDENCIA

 Significa que una clase necesita de otra para poder prestar sus servicios

Ecuacion Math
coeficientes
Resolver Potencia
Raiz

21
MODELADO DE CLASES – DIAGRAMA

22

S-ar putea să vă placă și