DSI 2014-01 S1

25
Diseño de Sistemas de Información Profesor: Ing. Jaime Urbina P. Ciclo : 2014-01 E-mail : [email protected] 1 Copyright © 2014 por Jaime Urbina - URP

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

19

..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