Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Principos de Diseño de Clases: Phd. Ana María Zambrano V
Principos de Diseño de Clases: Phd. Ana María Zambrano V
LEGIBILIDAD DE CÓDIGO:
Asignar nombres significativos para identificadores de
atributos, variables, y métodos.
Inicializar los atributos
EXPERTO EN INFORMACIÓN:
Asignar una responsabilidad al experto en información, la
clase que tiene la información necesaria para llevar a cabo la
responsabilidad.
1
29/10/2018
ALTA COHESIÓN
Fragmentar clases que tengan demasiadas responsabilidades.
BAJO ACOPLAMIENTO
Ley de Demeter: “Habla sólo con tus amigos ”
2
29/10/2018
3
29/10/2018
Caso de uso:
Ayuda a descubrir que es lo que el sistema debe
hacer.
Describe las interacciones entre los usuarios de un
Sistema.
Reglas:
o Cada caso de uso está relacionado como
mínimo con un actor
o Cada caso de uso es un iniciador (es decir, un
actor)
o Cada caso de uso lleva a un resultado relevante
4
29/10/2018
Caso de uso:
Actor
o Entidad externa que interactúa con el sistema.
o Función/rol que el usuario va a desempeñar en el
sistema.
o Relación:
Generalización
Gerente
Empleado
Médico
5
29/10/2018
Relaciones
Las relaciones entre un
actor y un caso de uso, se
dibujan con una línea
simple.
Para relaciones entre casos
de uso, se usan etiquetas
<<include>>
<<exclude>>
6
29/10/2018
Nombre
Caso uso
Número CU
Actor
PhD. Ana María Zambrano V.
Caso de uso:
Relaciones entre casos de uso
7
29/10/2018
<<Include>>
<<Extends>>
Pagar reservación
Caso opcional
8
29/10/2018
Caso abstracto
Pagar reserva
Caso de uso:
Notación
Nombre Caso
uso
Número CU
Nombre del
Actor PhD. Ana María Zambrano V.
9
29/10/2018
Caso de uso:
Ejemplo: venta en un almacén
Actor 1 Actor 2
Comprar
productos
Registrar datos
Cambiar
Cliente productos Cajero
10
29/10/2018
11
29/10/2018
Nombre de clase
Atributos de clase
M[eMM
Métodos de clase
12
29/10/2018
Asociación
Agregación
Composición
Generalización / Especialización
Dependencia
Asociación
<Descripción>
Clase A <rol A> <rol B> Clase B
<mult A> <mult B>
13
29/10/2018
Asociación
Asociación
Número de Símbolo
objetos
0 ó más *
1 ó más 1..*
De 2 a 6 2..6
Sólo 8 8
14
29/10/2018
Asociación
Número de Símbolo
objetos
0 ó más *
1 ó más 1..*
De 2 a 6 2..6
Sólo 8 8
Asociación
Estudiante Profesor
Universidad
Asociación ternaria
15
29/10/2018
Agregación y composición
Agregación
Un objeto de un tipo, PUEDE contener a otro Relación
tipo “Todo/Parte”.
Una cosa grande (todo) consta de elementos más
pequeños (partes)
Se indica por un rombo transparente
Universidad Estudiante
*
Ciudad Aeropuerto
*
PhD. Ana María Zambrano V.
16
29/10/2018
Composición
Compuesto por..
Las partes no pueden existir sin que exista el objeto
todo.
El primero no tiene sentido suelto, y el segundo
necesita definir al primero para ampliar su
significado.
Composición
17
29/10/2018
18
29/10/2018
19
29/10/2018
Generalización
Generalización o Herencia
Cada instancia de las clases “hijas” es a su vez una
instancia de la clase padre:
Persona
20
29/10/2018
Generalización o Herencia
La subclase además de
poseer sus propios
métodos y atributos, y
poseerá los atributos
visibles de la clase padre.
Generalización o Herencia
21
29/10/2018
Dependiencia
Un cambio en una clase puede afectar a otra clase
que la usa.
Clase_A Clase_B
Atributo1:int
Metodo
(b: Clase_B)
Dependiencia
22
29/10/2018
Interfaz
Una interfaz es un “contrato,”
significa que cualquier clase
que realice dicha interfaz está
obligada a implementar los
métodos de la interfaz.
A las clases abstractas puras, es
decir, a las clases que no
contienen ninguna
implementación, se les llama
interfaces.
Una interfaz sólo contiene las
cabeceras de las operaciones,
no su implementación.
23
29/10/2018
Ejercicio Universidad
Ejercicio Biblioteca
24
29/10/2018
Ejercicio Universidad
Ejercicio Dieta
25
29/10/2018
Ejercicio Empleado
Ejercicio Empleado
26
29/10/2018
Ejercicio GUI
27
29/10/2018
Ejercicio Biblioteca
Ejercicio Biblioteca
28
29/10/2018
Ejercicio Artista
29
29/10/2018
30
29/10/2018
31
29/10/2018
32
29/10/2018
33
29/10/2018
34
29/10/2018
35