Ingeniería en Sistemas de Informaciónmll/modelos/downloads/Teoria/2018-Modelos... · M. Larrea...

91
Modelos de Software Ingeniería en Sistemas de Información 2018

Transcript of Ingeniería en Sistemas de Informaciónmll/modelos/downloads/Teoria/2018-Modelos... · M. Larrea...

Modelos de SoftwareIngeniería en Sistemas de Información

2018

M. Larrea Modelos de Software

Modelos de Software

Modelado de Datos

2

M. Larrea Modelos de Software

Modelado de Datos

“Modeling means the process of organizing knowledge about a given system”

Bernard Zeigler

3

Modelos de Software

M. Larrea Modelos de Software

Modelado de Datos

El modelado de datos constituye un tipo de modelado estructural, debido a que describe la estructura de algo, cómo algo se forma. Dentro de esta descripción vamos a encontrar información sobre los tipos de datos que tendremos, sus atributos, relaciones y (cuando corresponda) sus funciones.

4

Modelos de Software

M. Larrea Modelos de Software

Modelado de Datos

5

Modelos de Software

Apéndice 3

M. Larrea Modelos de Software

Modelado de Datos

6

Modelos de Software

https://www.lucidchart.com/pages/es/qu%C3%A9-es-un-diagrama-entidad-relaci%C3%B3n

M. Larrea Modelos de Software

Modelado de DatosPara modelar datos, vamos a utilizar el Modelo Entidad Relación

(ER)

7

Modelos de Software

M. Larrea Modelos de Software

Modelado de DatosPara modelar datos, vamos a utilizar el Modelo Entidad-Relación

(ER)

Un diagrama entidad-relación, también conocido como modelo entidad relación o ERD, es un tipo de diagrama que ilustra cómo

las "entidades", como personas, objetos o conceptos, se relacionan entre sí dentro de un sistema

8

Modelos de Software

M. Larrea Modelos de Software

Modelado de DatosPara modelar datos, vamos a utilizar el Modelo Entidad Relación (ER)

9

Modelos de Software

M. Larrea Modelos de Software

Modelado de DatosPara modelar datos, vamos a utilizar el Modelo Entidad Relación (ER)

10

Modelos de Software

El Modelo ER permite modelar los datos relevantes a un sistema de información. Es muy usado en el ámbito de Bases de Datos

M. Larrea Modelos de Software

Modelado de Datos

11

Modelos de Software

M. Larrea Modelos de Software

Modelado de Datos

En este modelo, una entidad es una cosa u objetoLas entidades tienen atributos, que son sus características

Las entidades se relacionan entre si

12

Modelos de Software

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

13

Modelos de Software

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

Cada entidad se representa con un rectángulo, en cuyo interior se ubica el nombre de la entidad.

14

Modelos de Software

Cliente

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

Cada entidad se representa con un rectángulo, en cuyo interior se ubica el nombre de la entidad.

¡Cuidado con los plurales!

15

Modelos de Software

Cliente

Clientes

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

Los atributos de una entidad se dibujan como óvalos (uno por cada atributo) conectados a su respectiva entidad. El nombre del atributo va dentro del óvalo.

16

Modelos de Software

ClienteNombre

DNI Apellido

Fecha Nacimiento

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

Las relaciones entre dos entidades se dibujan como líneas que conectan a las entidades involucradas, con un rombo en el centro. Dentro del rombo va el nombre de la relación.

17

Modelos de Software

Cliente PedidoRealiza

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

Las relaciones entre dos entidades se dibujan como líneas que conectan a las entidades involucradas, con un rombo en el centro. Dentro del rombo va el nombre de la relación.

¿Cuántos pedidos puede hacer un cliente en un negocio? Muchos? Uno? Ninguno?

18

Modelos de Software

Cliente PedidoRealiza

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

Parte de la información asociada a una relación es su cardinalidad. La cardinalidad de una relación indica ¿cuántas instancias de cada entidad están involucradas o podrían estarlo?

En el modelo ER las posibles cardinalidades son:1:1 (Uno a Uno)1:N (Uno a Varios)N:1 (Varios a Uno)N:M (Varios a Varios)(hay flexibilidad para agregar nuevas)

19

Modelos de Software

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

“En el sistema de registro de personas del estado, cada persona posee un certificado de nacimiento. Una persona no puede tener muchos certificados de nacimiento y un certificado de nacimiento pertenece a una única persona. Toda persona tiene que tener un certificado de nacimiento”

20

Modelos de Software

Persona Certificado NacimientoPosee

1:1

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

“En el sistema de registro de personas del estado, cada persona posee un certificado de nacimiento. Una persona no puede tener muchos certificados de nacimiento y un certificado de nacimiento pertenece a una única persona. Toda persona tiene que tener un certificado de nacimiento”

21

Modelos de Software

Persona Certificado NacimientoPosee

11

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

“En el sistema de registro de personas del estado, cada persona posee un certificado de nacimiento. Una persona no puede tener muchos certificados de nacimiento y un certificado de nacimiento pertenece a una única persona. Toda persona tiene que tener un certificado de nacimiento”

22

Modelos de Software

Persona Certificado NacimientoPosee

11

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

“El jugador en GTAV puede llevar tantas armas como desee. El juego no pone límites al respecto”

23

Modelos de Software

Jugador ArmaLleva

1:N

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

“En un colectivo pueden viajar muchas personas”

24

Modelos de Software

Persona ColectivoViaja

N:1

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

“Una persona puede ser dueña de muchas propiedades, y una propiedad puede tener muchos dueños”

25

Modelos de Software

Persona PropiedadDueño

N:M

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

Dentro de las variantes que podemos encontrar en cuanto a cardinalidad, tenemos:La posibilidad de considerar 0.

26

Modelos de Software

Persona PropiedadesFormado por

N:0..M

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

Dentro de las variantes que podemos encontrar en cuanto a cardinalidad, tenemos:La posibilidad de considerar 0.La posibilidad de considerar cotas específicas.

27

Modelos de Software

Equipo Rally PilotoFormado por

1:2

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

Dentro de las variantes que podemos encontrar en cuanto a cardinalidad, tenemos:La posibilidad de considerar 0.La posibilidad de considerar cotas específicas.

28

Modelos de Software

Equipo Futbol JugadoresFormado por

1:11..30

M. Larrea Modelos de Software

Modelado de Datos

29

Modelos de Software

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

Las relaciones pueden tener atributos. En este caso se representan como óvalos conectados al rombo.

30

Modelos de Software

Equipo Futbol JugadoresFormado por

Fecha de Compra

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

Es posible también tener una relación entre más de dos elementos.

31

Modelos de Software

Consulta PacienteAtiende

Médico

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

Si la relación no tiene atributos, y su nombre no es relevante al modelado se puede omitir el rombo.

32

Modelos de Software

Equipo Jugador1 n

M. Larrea Modelos de Software

Modelado de Datos

Dentro del Modelado de Datos aparece el concepto de Clave. Una clave es un subconjunto del conjunto de atributos de una entidad. La clave permite identificar unívocamente a cada entidad. Los valores de una clave no pueden ser todos iguales para dos o más entidades.

33

Modelos de Software

M. Larrea Modelos de Software

Modelado de Datos

Visualmente, un modelo ER se forma con:

Los atributos que forman la clave de una entidad aparecen subrayados.

34

Modelos de Software

Dueño

Nombre

DNI

Modelos de Software

Base de Datos Relacional

En una base de datos relacional se establecen interconexiones (relaciones) entre los datos. Estos últimos se encuentran guardados en tablas, y a través de dichas conexiones se pueden relacionar los datos de diferentes tablas

Modelos de Software

Base de Datos Relacional

Cantante

Nombre

Lady Gaga

Vicentico

Modelos de Software

Base de Datos Relacional

Cantante

Nombre

Lady Gaga

Vicentico

Album

Año Nombre

2011 Born This Way

2004 Los Rayos

2009 The Fame Monster

Modelos de Software

Base de Datos Relacional

Cantante

Clave Nombre

1 Lady Gaga

2 Vicentico

Album

Clave Año Nombre

1 2011 Born This Way

2 2004 Los Rayos

3 2009 The Fame Monster

Modelos de Software

Base de Datos Relacional

Cantante

Clave Nombre

1 Lady Gaga

2 Vicentico

Album

Clave Año Nombre

1 2011 Born This Way

2 2004 Los Rayos

3 2009 The Fame Monster

Composición

Cantante Album

1 1

1 3

2 2

Modelos de Software

Base de Datos Relacional

Composición

Cantante

Album

M. Larrea Modelos de Software

Modelado de Datos

41

Modelos de Software

M. Larrea Modelos de Software

Modelado de Datos

42

Modelos de Software

M. Larrea Modelos de Software

Modelado de Datos

La agregación permite formar una nueva entidad sobre la base de una relación

43

Modelos de Software

M. Larrea Modelos de Software

Modelado de Datos

44

Modelos de Software

M. Larrea Modelos de Software

Modelado de Datos

45

Modelos de Software

M. Larrea Modelos de Software

Modelado de Datos

46

Modelos de Software

M. Larrea Modelos de Software

Modelado de Clases

Conceptos del Paradigma OO

47

M. Larrea Modelos de Software

Modelado de Clases

Conceptos del Paradigma OO

ClaseUna clase es un módulo y un tipo de dato

48

M. Larrea Modelos de Software

Modelado de Clases

Conceptos del Paradigma OO

ClaseUna clase es un tipo de dato abstracto posiblemente

equipado con una implementación total o parcial

49

M. Larrea Modelos de Software

Modelado de Clases

Conceptos del Paradigma OO

ClaseUna clase está compuesta de tres elementos básicos. Su

nombre, sus atributos y sus operaciones.

50

M. Larrea Modelos de Software

Modelado de Clases

Conceptos del Paradigma OO

OperacionesUna operación tiene un nombre, parámetros de entrada y

una salida.

51

M. Larrea Modelos de Software

Modelado de Clases

Conceptos del Paradigma OO

ObjetoUn objeto es una instancia de una clase. La interfaz de un

objeto es el conjunto de operaciones que provee.

52

M. Larrea Modelos de Software

Modelado de Clases

Conceptos del Paradigma OO

AtributoUn atributo es un dato perteneciente al objeto, definido en la clase. Un atributo tiene un tipo y cada atributo es único

dentro de la clase (por nombre). Los atributos y las operaciones tienen una visibilidad.

53

M. Larrea Modelos de Software

Modelado de Clases

[Nombre] [Nombre] [Nombre]

[Atributos] [Atributos]

[Operaciones]

54

M. Larrea Modelos de Software

Modelado de Clases

Alumno Alumno Alumno

lu: entero lu: entero

f( ) : entero

55

M. Larrea Modelos de Software

Modelado de Clases

Alumno Alumno

-lu: entero -lu: entero

+f( ) : entero

56

M. Larrea Modelos de Software

Modelado de Clases

Alumno

Alumno

Una clase standard

Una clase abstracta

Alumno *

Alumno <<abstract>>

57

M. Larrea Modelos de Software

Modelado de Clases

<<entidad>>AlumnoUna clase standard

58

M. Larrea Modelos de Software

Modelado de Clases

Diagrama de ClaseAlumno

nombre : Stringapellido : Stringedad: intlu: longint

59

M. Larrea Modelos de Software

Modelado de Clases

Diagrama de ClaseAlumno

+nombre : String-apellido : String#edad: intlu: longint

+ público, - privado, # protegido

60

M. Larrea Modelos de Software

Modelado de Clases

Diagrama de ClaseAlumno

+nombre : String-apellido : String#edad: intlu: longint

¿Qué pasa en Java si no ponemos visibilidad?

61

M. Larrea Modelos de Software

Modelado de Clases

Diagrama de ClaseAlumno

<<algo>> +nombre : String<<algo>> -apellido : String#edad: intlu: longint

62

M. Larrea Modelos de Software

Modelado de Clases

Diagrama de Clase

Alumno

#edad: int

+Alumno( edad: int )#obtenerEdad( ) : int-clonar( ) : Alumnoigual( alu: Alumno ) : Boolean

63

M. Larrea Modelos de Software

Modelado de Clases

Diagrama de Clase

Alumno

#edad: int+Alumno( edad: int )<<consulta>> #obtenerEdad( ) : int-clonar( ) : Alumnoigual( alu: Alumno ) : Boolean

64

M. Larrea Modelos de Software

Modelado de Clases

Diagrama de Clase

Alumno*

#edad: int+Alumno( edad: int )<<consulta>> #obtenerEdad( ) : int-clonar( ) : Alumno*igual( alu: Alumno ) : Boolean

65

M. Larrea Modelos de Software

Modelado de Clases

Diagrama de Clase

Alumno

#edad: int+Alumno( edad: int )<<consulta>> #obtenerEdad( ) : int-clonar( ) : Alumnoigual( alu: Alumno ) : Boolean

66

M. Larrea Modelos de Software

Modelado de Clases

Diagrama de Clase

Alumno <<abstract>>

#edad: int+Alumno( edad: int )<<consulta>> #obtenerEdad( ) : int-clonar( ) : Alumno <<abstract>>igual( alu: Alumno ) : Boolean

67

M. Larrea Modelos de Software

Modelado de Clases

Diagrama de Clase

Alumno

#edad: int#compañero: Alumno

NO ES UML

68

M. Larrea Modelos de Software

Modelado de Clases

Conceptos del Paradigma OO

AsociaciónUna asociación es una relación entre dos o más clases.Herencia, Generalización, Composición, Agregación y

Asociación

69

M. Larrea Modelos de Software

Modelado de Clases

Conceptos del Paradigma OO

Generalización/EspecializaciónAlgunas clases son similares pero no idénticas. Tienen

atributos en común. Aparece la relación “esUn”.

70

M. Larrea Modelos de Software

Modelado de Clases

Diagrama de Clases

71

M. Larrea Modelos de Software

Modelado de Clases

Diagrama de Clases

Discriminador

72

M. Larrea Modelos de Software

Modelado de Clases

Conceptos del Paradigma OO

Composición/AgregaciónTanto la composición como la agregación hacen referencia

a una relación en donde una clase está hecha/formada/compuesta por otras.

73

M. Larrea Modelos de Software

Modelado de Clases

Conceptos del Paradigma OO

Composición/AgregaciónSe establece la relación “esParteDe”.

La composición es una relación más fuerte que agregación. La agregación es una relación más fuerte que

asociación.

74

M. Larrea Modelos de Software

Modelado de Clases

Conceptos del Paradigma OO

ComposiciónLa relación de composición indica una dependencia en la

existencia. Si B compone a A, entonces B y A existen juntos y desaparecen juntos. Un B sólo existe como parte

de un A.

75

M. Larrea Modelos de Software

Modelado de Clases

Diagrama de Clases

76

M. Larrea Modelos de Software

Modelado de Clases

Conceptos del Paradigma OO

AgregaciónLa relación de agregación indica una dependencia en la

existencia pero más flexible. Si B compone a A, entonces B y A existen juntos, pero pueden existir separados. Un B

puede pertenecer a varios A.

77

M. Larrea Modelos de Software

Modelos de Software

Diagrama de Clases

78

M. Larrea Modelos de Software

Modelos de Software

Conceptos del Paradigma OO

AsociaciónLa asociación es el vínculo más débil entre dos clases. No

hay dependencia en la existencia de los objetos involucrados.

Si B está asociado a A, entonces B conoce a A.

79

M. Larrea Modelos de Software

Modelos de Software

80

M. Larrea Modelos de Software

Modelos de Software

Conceptos del Paradigma OO

Multiplicidad en las relacionesLa multiplicidad de una relación específica a cuántas instancias puede relacionarse un objeto a través del

vínculo en cuestión.

81

M. Larrea Modelos de Software

Modelos de Software

82

M. Larrea Modelos de Software

Modelos de Software

83

M. Larrea Modelos de Software

Modelos de Software

84

M. Larrea Modelos de Software

Modelos de Software

85

M. Larrea Modelos de Software

Modelos de Software

86

M. Larrea Modelos de Software

Modelos de Software

87

M. Larrea Modelos de Software

Modelos de Software

Diagrama de Clases

88

M. Larrea Modelos de Software

Modelos de Software

Descripción de Restricciones

89

M. Larrea Modelos de Software

Modelos de Software

90

Modelos de SoftwareIngeniería en Sistemas de Información

2018