Análisis de sistemas clase 3

Preview:

Citation preview

Desarrollo de Sistemas de Software

El Modelo Orientado a Objetos para Desarrollar Sistemas de SW

(1) Declaración del proposito

(2) Aspectos Ambientales

(3) Aspectos de Información

(4) Aspectos de Comportamiento

(5) Especificación de requerimientos de usuario

(6) Determinación de la frontera hombre-máquina

(7) Requerimientos del Sistema de Software

(8) Los conceptos sobre orientación a objetos

(9) El Análisis orientado a objetos y la arquitectura del modelo de análisis

(10) Análisis de Casos de Uso

(11) Análisis de clases, responsabilidades y atributos

(12) Análisis de clases: Las relaciones

(13) Análisis de paquetes

ASPECTOS DE INFORMACIÓN

Los aspectos de información describen la información requerida para soportar el sistema de

software por desarrollar, permitiéndonos entender y nombrar dicha información, organizarla y

definir su significado, reducir la redundancia y asegurar su corrección, validez e integridad.

No hay duda de que estos aspectos tienen que estar basados en las políticas de la organización.

Para representar los aspectos de información, a distintos niveles de abstracción, se utilizan los

modelos de datos, que son colecciones de herramientas conceptuales para describir datos,

relaciones entre ellos y restricciones de consistencia que se deben cumplir. Posiblemente el más

conocido de los modelos de datos sea el de entidad – relación.

ASPECTOS DE INFORMACIÓN

El modelo Entidad – Relación

Especificación de entidades, relaciones y atributos

Tabla de evento entidad

Eventos Triviales

Diagrama de transición de estados

Modelo Entidad/Relación

Es una representación conceptual detallada de los datos de la organización.

Muestra entidades, sus atributos, las relaciones y las características de estas

relaciones.

El modelo entidad/relación es el modelo conceptual más utilizado para el diseño

conceptual de bases de datos. Fue introducido por Peter Chen en 1976.

Por qué Modelo Entidad-Relación

Usa la normalización

Valida y mejora el diseño lógico que satisface ciertas restricciones, el

cual evita la duplicación innecesaria de datos

Proceso de descomposición de relaciones con anomalías para producir

relaciones bien-estructuradas más pequeñas

No siempre provoca el mejor rendimiento

Por qué Modelo Entidad-Relación

Ejemplo Redundancia de Datos

VUELO

vuelo# fecha aerolinea avion#

DL242 10/23/08 Delta k-yo-33297

DL242 10/24/08 Delta t-up-73356

DL242 10/25/08 Delta o-ge-98722

AA121 10/24/08 American p-rw-84663

AA121 10/25/08 American q-yg-98237

AA411 10/28/08 American h-fe-65748

Redundancia: La aerolínea se repite para el mismo númerode vueloInconsistencia: Cuando el nombre de la aerolínea cambia para un número de vuelo, ésta debe ser cambiada envarias filas

Entidad

Tipo entidad – colección de entidades (frecuentemente corresponde a una tabla)

Ej. Empleado, Automóvil, Reservación, Curso, etc.

Instancia de una entidad - persona, lugar, objeto, evento, concepto (frecuentemente

corresponde a una fila en una tabla)

Ej. Pedro Picapiedra, Renault, reservación la función de cine de las 5:00pm, Ing. de datos, etc.

Entidad: Denominación

Se identifican con un sustantivo en singular

Ej. Cliente (no clientes).

Su identificación debe ser única, concisa y descriptiva para la organización.

Ej. Una orden de compra de la empresa hacia un proveedor no puede denominarse igual

a una orden de compra de un cliente hacia la empresa.

El nombre usado para una entidad debe ser el mismo en todos los DER en los

cuales aparece dicha entidad en la empresa.

Entidad: Clasificación

Entidad Fuerte

Es aquella que existe independientemente de la existencia de otra entidad. Ej. Factura

Entidad Débil

Es aquella cuya existencia depende de la existencia de otra entidad. Ej. Línea de Factura

Entidad Asociativa

Es una entidad que nace de la asociación de dos entidades y que contiene atributos que relacionan ambas entidades.

Entidad Recursiva (Reflexiva)

Es aquella que tiene una dependencia así misma. Ej. Empleado

Relación

Es una asociación entre una o más entidades que es de interés para la organización.

Es el vinculo funcional que existe entre dos o más entidades.

Ej. La relación entre las entidades alumno y curso es que un alumno puede llevar uno

o más cursos y un curso puede ser llevado por uno, ninguno o más alumnos.

Cardinalidad de Relaciones

1– a – 1

Cada entidad en la relación tiene extactamente una entidad relacionada

1– a – N

Una entidad en un lado de la relación se asocia con muchas entidades en el otro lado de la

relación

N – a – N

Las entidades en cada lado de la relación pueden tener muchas entidades relacionadas

Atributos: Clave Primaria Primary Key (PK)

Es un atributo o una combinación de atributos que identifica de manera

única un registro en una relación

Puede ser:

Simple : Ej. Nro Factura

Compuesta: Ej. Dirección

Atributos: Características de las Claves Primarias

No cambian de valor

No deben ser nulas

Son únicas

Sustituye llaves compuestas muy largas por una declaración

simple

Atributos: Clave Primaria Compuesta

Es una PK que esta compuesta por más de un atributo

Ejemplo:

Identificador de Línea de Factura

(Número de Factura,Código de Artículo)

Atributos: Clave Foránea o Ajena ForeignKey (FK)

Es un atributo en una entidad que es la PK o forma parte de la

PK de otra entidad.

Esta restricción implementará la asociación entre tablas en las

Bases de Datos Relacionales

Atributos: Restricciones de Integridad

El modelo de datos incluye varios tipos de restricciones o reglas de negocio:

Restricciones de Dominio

Todos los valores de un atributo de una entidad deben estar comprendidos en el

mismo dominio.

Restricciones de Integridad

Cada entidad tiene una PK y los valores de una PK tienen que ser válidos,

especialmente NO NULOS.

Cada valor de una FK debe coincidir con el valor de la PK de otra entidad.

Modelo de Datos

producto_ordenado

numero_orden (FK)

id_producto (FK)

cant idad_ordenada

producto

id_producto

nombre_linea (FK)

meta_v enta (FK)

stock

prec io

costo

linea_producto

nombre_linea

meta_v enta

orden_pedido

numero_orden

id_cliente (FK)

f echa_loc

f echa_rec

cliente

id_cliente

nombre

tipo

zip

f ac tura

numero_f actura

numero_orden (FK)

f echa

pago

f echa_pago

numero_f actura (FK)

monto

Materia_Prima

cod_materia_prima

nombre_mat_prima

cant idad

ubicacion

Empleado

cod_emp

cod_ct (FK)

nombre

especialidad

direccion

sueldo

Centro_Trabajo

cod_ct

nombre

ubicacion

Maquinaria

cod_maquina

cod_ct (FK)

nombre_maq

ubicacion_maq

tipo

orden_trabajo

numero_ot

numero_orden (FK)

linea_orden_trabajo

id_producto (FK)

numero_ot (FK)

cod_materia_prima (FK)

as ignac ion_trabajo

numero_ot (FK)

cod_ct (FK)

Modelo de DatosNotación Ingeniería de Información : Genérica

A BA asociada a Uno y Solo Un B

A B

A B

A asociada a Cero o Un B

A asociado a Un o Varios B

A BA asociado a Cero, Un o

Varios B

A BA asociado a Varios B

Modelo de Datos

Notación Chen

muchos

cero o uno

uno a

uno o muchosa

uno a uno

Diagrama Entidad/Relación para el Caso de Estudio versión 1

Professor Coordinador

Pregunta Tema Curso

es un tipo de

crea enseña

incluye contiene

coordina

requisito

ASPECTOS DE INFORMACIÓN

El modelo Entidad – Relación

Especificación de entidades, relaciones y atributos

Tabla de evento entidad

Eventos Triviales

Diagrama de transición de estados

Especificación de Entidades, Relaciones y Atributos

La especificación de entidades, relaciones y atributos constituye lo que

tradicionalmente se ha denominado diccionario de datos.

A continuación veremos las especificaciones para

Entidades Simples

Relaciones

Entidades asociativas

Atributos

Especificación de Entidades Simples

Nombre: Es un nombre único en el modelo para identificar la entidad:

normalmente es un sustantivo en singular para diferenciarlo de un almacenamiento

que generalmente es un sustantivo en plural.

Significado: Describe el papel que desempeña la entidad en el modelo.

Atributos: Establece las características o propiedades que describen la entidad.

Identificadores: Son los atributos claves o llaves que permiten identificar una

ocurrencia de la entidad.

Especificación de Entidades Simples

La entidad Profesor del caso de estudio v.1 se podría especificar así:

Nombre: Profesor

Significado: Persona que facilita el aprendizaje de los cursos a los alumnos.

Atributos: Código-Profesor, nombre, dirección, documento de identidad, fecha de

nacimiento, categoría, condición, dedicación, fecha de ingreso y departamento.

Identificadores: Código-Profesor.

Especificación de Relaciones

Nombre: Es un nombre único, para identificar la relación.

Entidades participantes: Nombran las entidades que toman parte en la relación.

Significado: Describen cuando se produce un enlace de la relación

Multiplicidad o cardinalidad por entidad: Muestra los límites de los enlaces que

pueden tener las ocurrencias de cada una de las entidades participantes en la

relación.

Especificación de Relaciones

La relación Enseña o Dicta del caso de estudio v.1 se podría especificar así:

Nombre: Dicta

Entidades participantes: Profesor y Curso

Significado: Los profesores enseñan cursos, es decir un profesor solo enseña un

conjunto definido de cursos.

Multiplicidad o cardinalidad por entidad: Para profesor la cardinalidad es de 1 a

muchos y para Curso es de uno a muchos.

Especificación de entidades asociativas

Nombre: Es un nombre único, que permite su ubicación en su rol de entidad y relación.

Entidades participantes: Es la lista de las entidades que participan en la relación.

Significado: Explica la razón de su existencia.

Atributos: Es la lista de los datos que describen la relación que representa esta entidad.

Identificadores: Son los atributos claves que permiten diferenciar una ocurrencia de otra

ocurrencia de la relación.

Multiplicidad por entidad: Son las restricciones de cardinalidad por entidad.

Especificación de entidades asociativas

La entidad asociativa Enseña del caso de estudio se podría especificar así:

Nombre: Enseña

Entidades participantes: Profesor y Curso.

Significado: Almacena información respecto a la asociación que existe entre Profesor y

Curso.

Atributos: Horario, Aula, Texto.

Identificadores: Código-profesor, Código-curso.

Multiplicidad por entidad: Para profesor la cardinalidad es de 1 a muchos y para Curso

es de uno a muchos.

Especificación de Atributos

Nombre: Es un nombre único del atributo, que permite referenciarlo.

Entidad: Es la entidad a la que pertenece.

Significado: Es la descripción de la característica o propiedad que representa.

Retención: Establece la manera en que se dispone del valor del atributo y tiene 3 alternativas:

Almacenado

Es el valor común que tiene un atributo y se registra en algún medio.

Derivado

Cuando es resultado de un cálculo o formateo de datos conocidos, por ejemplo el atributo edad de una persona cuyo valor es calculado a partir del atributo fecha de nacimiento.

Temporal

Cuando el atributo tiene significado durante un tiempo conocido, ejemplo: Dirección, celular, saldos de deuda.

Especificación de Atributos

Tipo de dato: Puede ser abstracto o lista. Es abstracto cuando no se conocen de

antemano los posibles valores que puede tener el atributo; mientras que es lista

cuando se conocen dichos valores, por ejemplo si de antemano se sabe que el

estado civil de un profesor solo puede ser soltero o casado, entonces el tipo de

dato de ese atributo corresponde a una lista.

Tipo de dato abstracto o lista de valores: Si el tipo de dato es abstracto, en ese

ítem se define qué tipo de dato abstracto es: númerico, carácter, etc; mientras que

si es de tipo lista, se muestra la lista de los posibles valores que puede asumir el

atributo que se esta definiendo: soltero y casado para el ejemplo del profesor, si el

tipo de dato fuera lista.

Especificación de Atributos

El atributo documento de identidad de la entidad Profesor del caso de estudio v.1 se

podría especificar así:

Nombre: Documento de identidad.

Entidad: Profesor

Significado: Documento personal que corresponde al documento nacional de

identidad (DNI)

Retención: Almacenado

Tipo de dato: Abstracto

Tipo de dato abstracto: Numérico

Especificación de Atributos

El atributo estado-civil de la entidad Profesor del caso de estudio v.1 se podría

especificar así:

Nombre: Estado Civil

Entidad: Profesor

Significado: Registra su relación conyugal

Retención: Almacenado

Tipo de dato: Lista

Lista de valores: Soltero, casado

ASPECTOS DE INFORMACIÓN

El modelo Entidad – Relación

Especificación de entidades, relaciones y atributos

Tabla de evento entidad

Eventos Triviales

Diagrama de transición de estados

Tabla de Evento Entidad

La tabla de evento entidad es producto de la comparación de los aspectos de información y

los eventos. Permite asegurarnos de que todas las ocurrencias o registros de las entidades y

relaciones sean:

Creadas (c), leídas (l), actualizadas (a), comparadas (m) y eliminadas (e).

en el momento adecuado, es decir cuando ocurren los eventos correspondientes.

Recordar como eventos tenemos:

1. Profesor consulta pregunta

2. Profesor ingresa pregunta

3. Coordinador revisa pregunta

4. Profesor actualiza pregunta

5. Profesor elimina pregunta

Tabla de Evento Entidad para la versión 1 del caso de estudio

1 2 3 4 5

Profesor (E) m m m m

Coodinador (E) m

Pregunta (E) l c l,a l,a l,e

Curso (E) l l l l l

Tema (E) l l l l l

Crea (R) l c l e

Dicta (R) l l l

Coordina (R) l

Contiene (R) l c l l e

Incluye (R) l

Entidad (E)-Relación (R)Evento

ASPECTOS DE INFORMACIÓN

El modelo Entidad – Relación

Especificación de entidades, relaciones y atributos

Tabla de evento entidad

Eventos Triviales

Diagrama de transición de estados

Eventos Triviales

Como establecimos en el estudio de los aspectos ambientales, los eventos que crean,

actualizan, eliminan y permiten consultar todas las entidades se denominan eventos

triviales.

Normalmente estos eventos son accionados por las entidades triviales que son

aquellas que no cumplen su función como entidad en el diagrama E-R debido a que

solo se tiene a una sola persona o una sola instancia como es en el caso del

Administrador y el Coordinador

Eventos Triviales

N° Nombre de Evento

6 Administrador crea profesor

7 Administrador consulta profesor

8 Administrador modifica profesor

9 Administrador elimina profesor

10 Administrador crea coodinador

11 Administrador consulta coodinador

12 Administrador modifica coodinador

13 Administrador elimina coodinador

14 Administrador crea curso

15 Administrador consulta curso

16 Administrador modifica curso

17 Administrador elimina curso

18 Coordinador crea tema

19 Coordinador consulta tema

20 Coordinador modifica tema

21 Coordinador elimina tema

ASPECTOS DE INFORMACIÓN

El modelo Entidad – Relación

Especificación de entidades, relaciones y atributos

Tabla de evento entidad

Eventos Triviales

Diagrama de transición de estados

Diagrama de Transición de Estados

El diagrama de transición de estados muestra los efectos del tiempo sobre las

entidades y sus relaciones, considerar las reglas de negocio.

Ejemplo de estados: Creada, aprobada, No aprobada, Eliminada.

Considerar que el estado posee un tiempo determinado como dicho estado.

Una acción es algo que pasa de inmediato

Creada

Aprobada No Aprobada

Profesor ingresa preguntacrear

Coordinador revisa preguntaactualizar

Profesor actualiza Preguntaactualizar

Profesor actualiza preguntaactualizar

Coordinador revisa preguntaactualizar

Profesor elimina Preguntaeliminar

Profesor elimina Preguntaeliminar

Profesor elimina Preguntaeliminar

Para la versión 2 del caso de estudio:

1. Dibujar el diagrama de entidad relación. (6 puntos)

2. Especificar por lo menos un entidad, una relación y un atributo relevantes. (4 puntos)

3. Preparar la tabla de evento entidad. (4 puntos)

4. Escribir la lista de eventos triviales. (3 puntos)

5. Dibujar el diagrama de transición de estados para la entidad que tenga más estados. (3 puntos)

Tarea 3