Análisis y Diseño
Guía Teórica desarrollada por el profesor del curso:
Modelo Físico
Ing. Daniel Yucra
Ingeniería de Software I
Ingeniería de Software I
Workflow Detail: Design the
Database
El
propósito
de
este
detalle es el flujo de
trabajo para identificar las
clases de diseño que se
persiste en una base de
datos.
Ingeniería de Software I
La base de datos de diseño se encarga de diseñar la persistencia de almacenamiento de datos para ser utilizados por el sistema
Ingeniería de Software I
El modelo de datos describe la lógica
y las representaciones físicas de la
persistencia de los datos utilizados por
la aplicación. En los casos en que la
aplicación utilizará una base de datos
relacional
sistema
de
gestión
(RDBMS), el modelo de datos también
puede incluir elementos de modelo
para procedimientos almacenados,
disparadores, limitaciones, etc. que
definen
la
interacción
de
los
componentes de aplicación con el
RDBMS.
Ingeniería de Software I
Conceptual.- Esta etapa implica la identificación del alto nivel clave para el negocio y entidades del sistema y sus relaciones que definen el alcance del problema que debe ser abordado por el sistema. Estas claves las empresas y entidades del sistema se definen usando el modelado de los elementos del perfil UML para el modelado de negocio incluido en el Modelo de Análisis de Negocios y Análisis de la Clase modelo de elementos del Modelo de análisis
Data Model
Business Entity
Business Worker Business Analysis Model
Ingeniería de Software I
Lógico.-Esta etapa implica el perfeccionamiento de los fundamentos conceptuales de alto nivel del negocio y entidades del sistema en más detallada lógico entidades. Estas entidades lógicas y sus relaciones pueden ser, opcionalmente, definido en un modelo lógico de datos utilizando el modelado de los elementos del perfil UML para diseño de bases de datos.
Ingeniería de Software I
Física.-Esta etapa implica la transformación de la lógica de clase en los diseños detallados y optimizado física tabla de base de datos diseños. El físico etapa también incluye la cartografía de la tabla de base de datos para los diseños y tablespaces a la base de datos en el componente de almacenamiento de base de datos de diseño.
Ingeniería de Software I
Design Model Element Corresponding Data Model Element
Class Table
Attribute Column
Association Non-Identifying Relationship
Association Class Intersection Table
Composite Aggregation Identifying Relationship
Many-to-Many Association Intersection Table
Multiplicity Cardinality
Qualified Association Intersection Table
Generalization (Inheritance) Separate Table
La persistencia de las clases de modelo de diseño puede ser transformado a los cuadros en el modelo de datos. El siguiente cuadro muestra un resumen de la cartografía entre los elementos de diseño Modelo y Modelo de elementos de datos.
La transformación de modelo de diseño de elementos para
elementos modelo de datos
Ingeniería de Software I
•
El modelador de datos es capaz de construir
automáticamente un Modelo de datos a partir de un
Modelo Conceptual.
• Cumplir con determinados requisitos:
Tiene que existir un componente de Base de Datos
en la vista de componentes.
Marcar
las
clases
que
participan
en
al
transformación
como
clases
persistentes.
Agrupar todas las clases en un paquete (la
transformación ocurre solo a nivel paquete).
Construcción Modelo de Datos a partir de un
Modelo Conceptual
Ingeniería de Software I
PARA SQL SERVER
Tipo en el Modelo
Conceptual
Tipo en el Modelo
de Datos
STRING
VARCHAR (255)
INTEGER
INT
DOUBLE
FLOAT
DATE
DATETIME
BOOLEAN
BIT
BYTE
SMALLINTDATE
SINGLE
FLOAT
LONG
INT
CURRENCY
MONEY
Ingeniería de Software I
PARA ORACLE
Tipo en el Modelo
Conceptual
Tipo en el Modelo
de Datos
STRING
VARCHAR (255)
INTEGER
NUMBER(10,0)
DOUBLE
FLOAT
DATE
DATE
BOOLEAN
NUMBER (5,0)
BYTE
NUMBER (3,0)
SINGLE
FLOAT
LONG
NUMBER (20,0)
CURRENCY
FLOAT
Ingeniería de Software I
PARA DB2
Tipo en el Modelo
Conceptual
Tipo en el Modelo
de Datos
STRING
VARGRAPHIC (255)
INTEGER
INTEGER
DOUBLE
DOUBLEFLOAT
DATE
TIMESTAMP
BOOLEAN
SMALLINT
BYTE
SMALLINT
SINGLE
REAL
LONG
BIGINT
CURRENCY
DOUBLE
Ingeniería de Software I
•
Para los atributos declarados como parte de la
identidad de objetos, al Modelador de Datos
crea una restricción de la llave primaria.
Con nombre:
“PK_”+Nombre Tabla +
correlativo.
•
Si no se especifica la llave de una clase el
Modelador de Datos crea una llave primaria
para la tabla correspondiente:
De tipo ENTERO.
Con Nombre: Nombre Tabla + “ID”
La restricción de la llave primaria.
Ingeniería de Software I
Data Model
•
Ver que el Rational
Rose este activado el
Data Model.
Buscar:
•
Add – Ins
Ingeniería de Software I
•
Component View.
Deberá:
•
Crear la BD
•
Configurar
para
que manejador de
BD desea Trabajar
Ingeniería de Software I
Consideraciones:
• Debe tener terminado el Modelo Lógico.
• Cada atributo representara una columna
en la tabla.
• La llave primaria se autogenera.
• Las relaciones entre clases se mantiene
en el modelo físico.
Ingeniería de Software I
•
Debe definir
el tipo de dato
Ingeniería de Software I
Ingeniería de Software I
Ingeniería de Software I
CREATE TABLE T_Cliente (
razonSocial VARCHAR ( 255 ) NOT NULL, direccion VARCHAR ( 255 ) NOT NULL, T_Cliente_ID CHAR ( 10 ) NOT NULL,
CONSTRAINT PK_T_Cliente0 PRIMARY KEY NONCLUSTERED (T_Cliente_ID)
) GO
Ingeniería de Software I
Ingeniería de Software I
Parte I: Caso
Una compañía de navegación fluvial ha decidido implementar un sistema para administrar sus viajes de un modo más flexible y preciso. Por eso han encargado la realización de una aplicación. El texto de abajo describe en texto informal los requerimientos preliminares de datos:
Un barco tiene un nombre, fecha de inicio de actividades, una capacidad máxima en volumen -m3- y una capacidad máxima en peso –toneladas-. Un barco puede realizar muchos viajes y cada viaje tiene una fecha de comienzo y una fecha de finalización. El viaje es realizado por un solo barco. En un viaje se puede recorrer varios puertos. Un puerto puede ser recorrido en uno o más viajes. De un puerto sólo interesa saber su nombre. Cada vez que entra en un viaje se entra en un puerto, se desea registrar fecha de entrada y la fecha de salida
Los barcos pueden ser de dos tipos: barcos de carga y barcos de pasajeros. De los barcos de carga se desea saber el tipo de mercadería que puede trasladar. De los barcos de pasajeros se desea saber la cantidad de pasajeros que puede trasladar.
Preguntas:
1.Realizar el Modelo Lógico: Identificar las clases, Identificar las asociaciones y multiplicidad, Identificar atributos, Identificar generalizaciones, si los hubiera. Luego Realizar el Modelo Físico.