DSI 2014-01 S1
-
Upload
independent -
Category
Documents
-
view
0 -
download
0
Transcript of DSI 2014-01 S1
Diseño de Sistemas de Información
Profesor: Ing. Jaime Urbina P.
Ciclo : 2014-01
E-mail : [email protected]
1
Copyright
© 2
014
por
Jaim
e U
rbin
a -
UR
P
Modelo de Dominio
2
• Un modelo de dominio es una representación
visual de las clases u objetos del mundo real en
un dominio de interés.
• (Fowler 96 )
• También se les denomina modelo conceptual,
modelo de objetos del dominio y modelos de
objetos de análisis
…Modelo de Dominio
• Usando UML un modelo de dominio se
representa con un conjunto de diagramas de
clase en los que no se define ninguna operación.
• Muestra:
• Objetos de dominio o clases conceptuales
• Asociaciones entre las clases conceptuales
• Atributos de las clases conceptuales
3
Copyright
© 2
014
por
Jaim
e U
rbin
a -
UR
P
Relaciones entre clases
• Mientras que los diagramas de secuencia y colaboración representan la interacción entre objetos del sistema, los diagramas de clase describen la estructura del sistema desde el punto de vista de clases y objetos.
• Los diagramas de interacción y diagramas de clase, nos permiten entender el comportamiento del sistema, debido a que las relaciones entre objetos proveen el conducto para la interacción entre objetos.
4
Co
pyrig
ht
© 2
01
4 p
or
Ja
ime
Urb
ina
- U
RP
Relaciones de Asociación
• Una asociación muestra la relación entre dos o
mas clases. Por ejemplo: una asociación entre la
clase video y película, significa que los objetos
de la clase video están conectados a objetos de la
clase película.
5
Pelicula Video
Co
pyrig
ht
© 2
01
4 p
or
Ja
ime
Urb
ina
- U
RP
Relaciones de agregación
• La relación de agregación es un caso especial
asociación, en donde un todo es esta compuesto
por un conjunto de partes.
• Responde a la característica:
• A es parte de B
6
Facultad Escuela
Copyrig
ht
© 2
013
por
Jaim
e U
rbin
a -
UR
P
Características de las relaciones
• Tienen un nombre que describe la relación entre dos
clases.
• El nombre a usar debe ser un verbo activo que indique el
significado de la relación.
• El nombre debe estar escrito de tal manera que pueda
leerse de izquierda a derecha o de arriba hacia abajo.
7
Cliente ContratoTiene
Copyrig
ht
© 2
014
por
Jaim
e U
rbin
a -
UR
P
.. Características de la relaciones
• Tienen un rol en cada extremo de la relación que
identifica el propósito de cada clase con respecto a la
asociación.
• Pueden ser usados en vez de los nombres de asociación.
8
ContratosCliente
+Sociotiene
Mora
+Moroso
Copyrig
ht
© 2
014
por
Jaim
e U
rbin
a -
UR
P
• Tienen multiplicidad en cada extremo de la
relación. La multiplicidad de un extremo indica
la cantidad de instancias con las que se puede
relacionar una instancia conectada al otro
extremo de la relación.
9
.. Características de la relaciones
Copyrig
ht
© 2
014
por
Jaim
e U
rbin
a -
UR
P
• Un extremo de una asociación puede tener un número de multiplicidad entero arbitrario. Sin embargo en la práctica la mayoría de asociaciones pertenece a uno de los tres siguiente tipos:
• Asociación de uno a uno
• Asociación de uno a muchos
• Asociación de muchos a muchos
10
.. Características de la relaciones
Copyrig
ht
© 2
014
por
Jaim
e U
rbin
a -
UR
P
Pelicula Video
1..*11 1..*
11
Pelicula RegistroAlquiler
0..*1..*1..* 0..*
Cliente Contrato
111 1
.. Características de la relaciones
Copyrig
ht
© 2
014
por
Jaim
e U
rbin
a -
UR
P
Comportamiento y estructura de
clases • Las responsabilidades de las clases son llevadas a cabo por
las operaciones definidas para la clase.
• Los mensajes en un diagrama de interacción generalmente se mapean como operaciones de la clase que los recibe.
• Sin embargo hay casos especiales en los cuales los mensajes no son operaciones:
• Si la clase que recibe el mensaje es una clase inerfaz
El mensaje se refiere a una operación sobre un elemento de la GUI
• Si los mensajes son enviados o recibidos por actores que representan a una persona,.
12
Copyrig
ht
© 2
014
por
Jaim
e U
rbin
a -
UR
P
.. Comportamiento y estructura de
clases
• La estructura de una clase es definida por los atributos de
la clase.
• Cada atributo es una definición de un tipo de dato
controlado por cada uno de los objetos de la clase.
• Los objetos definidos para una clase pueden tener un valor
definido para cada clase.
• Para definir tanto nombres de atributos como operaciones
se debe tener en cuenta lo siguiente:
• Los atributos y operaciones inician con letra minúscula
• No se permites guiones bajos
• Los nombres compuestos de múltiples palabras son puestos juntos y
cada letra de una palabra es puesto en mayúsculas. 13
Copyrig
ht
© 2
014
por
Jaim
e U
rbin
a -
UR
P
.. Comportamiento y estructura de
clases
14
Atributos
Operaciones
Copyrig
ht
© 2
014
por
Jaim
e U
rbin
a -
UR
P
Herencia
• Herencia.
• Define una relación entre clases donde una clase comparte
la estructura y comportamiento de uno o mas clases.
• Una subclase heredará todos los atributos, operaciones y
relaciones definidas en alguna de sus super clases
• Si las operaciones y atributos son definidos en el nivel mas
alto de la herencia, permitirá que todas las subclases lo
hereden.
• Una subclase puede pude implementar su propia
implementación de una operación.
• La relación de herencia no es nombrada, así como tampoco
aplican los roles y multiplicidad 15
Copyrig
ht
© 2
014
por
Jaim
e U
rbin
a -
UR
P
..Herencia
• Generalización
• La generalización proporciona la capacidad de crear
superclases que encapsulan la estructura y
comportamiento de muchas clases.
• Las clases deben ser analizadas para identificar los
atributos y operaciones comunes ocultas. Estas pueden
ser identificadas entre sinónimos entre atributos y
operaciones de una clase y otra. Por ejemplo: la clase
Estudiante y Profesor tienen ambas nombre, dirección
y número Telefónico.
16
Copyrig
ht
© 2
014
por
Jaim
e U
rbin
a -
UR
P
• ....Generalización
• También tomar en cuenta aquellos atributos y
operaciones que parecen ser específicos. Ejemplo: el
atributo estudianteId de la clase estudiante y profesorId
de la clase Profesor, pueden ser generalizados en un solo
atributo: userId.
17
..Herencia
Copyrig
ht
© 2
014
por
Jaim
e U
rbin
a -
UR
P
• Especialización
• La especialización proporciona la habilidad para crear
subclases que representan refinamientos de una
superclase. Es decir, estructura y comportamiento son
añadidos a una subclase.
• Las operaciones pueden ser redefinidas por una
subclase. No obstante, una subclase no puede restringir
las operaciones definidas en una superclase. Es decir
una subclase no puede proporcionar menos
comportamiento o estructura que una superclase.
18
..Herencia
Copyrig
ht
© 2
014
por
Jaim
e U
rbin
a -
UR
P
Identificación de atributos
• Los atributos son propiedades asociadas a un
clase. Por ejemplo, la Clase Empleado puede
tener los atributos: nombre, dni, y telefono.
20
Copyrig
ht
© 2
014
por
Jaim
e U
rbin
a -
UR
P
Identificación de atributos
• Buscar nombres dentro de la documentación,
algunas serán clases, otros actores y otros atributos.
Por ejemplo el flujo de eventos de un atributo puede
decir: “ El usuario ingresará el nombre del
empleado, documento de identidad, dirección y
teléfono”. Mostrándonos que el empleado tiene los
atributos:
21
Copyrig
ht
© 2
014
por
Jaim
e U
rbin
a -
UR
P
..Identificación de atributos
• Solo se debe identificar atributos que son relevantes para
el sistema o que satisfagan los requerimientos del sistema.
• Las propiedades que están representadas por objetos no
son atributos, por ejemplo:
22
Vendedor RegistroAlquiler
0..*1 0..*1
Copyrig
ht
© 2
014
por
Jaim
e U
rbin
a -
UR
P
Atributos
• Tipos de datos
• String
• Double
• Integer
• Boolean
23
Copyrig
ht
© 2
014
por
Jaim
e U
rbin
a -
UR
P
..Atributos
• Visibilidad
• + Público
• - Privado
• # Protegido
• Implementación
24
Copyrig
ht
© 2
014
por
Jaim
e U
rbin
a -
UR
P
25
Public: Indica que el atributo será visible tanto dentro como fuera de la clase, es decir, es accesible desde todos lados
Private: Indica que el atributo sólo será accesible desde dentro de la clase (sólo sus métodos lo pueden acceder)
Protected: Indica que el atributo no será accesible desde fuera de la clase, pero si podrá ser accesado por métodos de la clase además de las subclases que se deriven
..Atributos
Copyright
© 2
014
por
Jaim
e U
rbin
a -
UR
P