Ponencia en el Congreso Internacional de Ingenieria UCV 2010
1. Ing. Janett Deisy Julca Flores
http://janettjulcaflores.blogspot.com/
Trujillo, Noviembre 2010
DESARROLLO DE UNA
HERRAMIENTA CASE PARA
CONVERTIR EL DIAGRAMA DE
CLASES AL MODELO
RELACIONAL
CII 2010
2. RESUMEN
Investigación realizada en el área de
Ingeniería de Software y Base de
Datos, que permite obtener un
modelo relacional físico a partir de
un diagrama de clases.
Aplicar el Proceso Unificado de
Rational (RUP) y el Lenguaje de
Modelado Unificado (UML) para el
desarrollo de la Herramienta CASE.
CII2010
2
4. RESUMEN
Evaluar estadísticamente la calidad
de la herramienta CASE.
Aplicar pruebas de software a
través de técnicas de Ingeniera de
Software.
4
CII2010
5. Realidad Problemática
Elevado costo de las herramientas
CASE de modelado de datos
existentes en el mercado.
Herramientas CASE complejas al
usuario que generalmente para su
utilización necesitan de un largo
proceso de entrenamiento.
5
CII2010
6. INTRODUCCION
CASE: Ayuda por Computadora a la
Ingeniería de Software.
HERRAMIENTA CASE:
Una herramienta del software que
automatiza (por lo menos en parte)
una parte del ciclo de desarrollo de
software."Excelerator" en 1984
CII2010
6
7. INTRODUCCION
BASE DE DATOS:
Una base de datos es una colección de
datos, que describen las actividades de
una o mas organizaciones relacionadas.
Por ejemplo:
Nombre, dirección, teléfono y edad de
tus amigos.
Denominación, presentación , precio y
cantidad de medicamento.
7
8. Modelado conceptual de datosModelado conceptual de datos
Diseño lógico de base de datosDiseño lógico de base de datos
Diseño físico de base de datosDiseño físico de base de datos
CICLO DE VIDA DE LAS BASES DE DATOSCICLO DE VIDA DE LAS BASES DE DATOS
8
9. INTRODUCCION
RUP (Rational Unified Process)
Metodología disciplinada para asignar
tareas y responsabilidades dentro de una
organización de desarrollo.
CII2010
9
10. UML : Unified Modelling
Language
Es el lenguaje de modelado de
sistemas orientados a objetos
más empleado.
Tipos de diagramas:
Diagrama de Casos de Uso
Diagrama de Clases
Diagrama de Secuencia
Diagrama de Componentes (no es
necesario que sea uml)
Otros…
10
11. INTRODUCCION
Diagrama de Clases: Conjunto de
clases y objetos importantes que forman parte de un
sistema, junto con las relaciones existentes entre clases
y objetos.
CII2010
11
12. PROCESO DE MAPEO
(Técnica Mapping Objects To Relational
Database )
1. Clases hacia Tablas
2. Atributos hacia Columnas
3. Mapeo de Relaciones
- Clase Asociación
- Asociaciones
1. Relación n:m hacia 3 tablas
2. Relación 1:n
3. Relación 1:1
- Generalización
Mapeo 1º CASO: (∑ H≤3) and (∑P≥2)
Mapeo 2º CASO: (∑ H≥4) and (∑P≤2)
Mapeo 3º CASO: (∑ H≥4) and (∑P≥3)
12
Conversión del Tipo de Dato
DC
CII2010
13. Algoritmo
1. Para cada clase almacenada, crear una tabla. Sus
atributos pasan a columnas en la tabla y se crea un
campo id + NombreTabla.
2. Para cada relación almacenada hacer:
2.1. Busca tipo de Relación:
2.1.1. Si tiporelación=Generalización. Evaluar 3 casos:
1. Si (∑ H≤3) y (∑ P≥2). Mapeo 1º CASO
2. Si (∑ H≥4) y (∑ P≤2). Mapeo 2º CASO
3. Si (∑ H≥4) y (∑ P≥3). Mapeo 3º CASO
A. Para cada hijo, hacer lo siguiente:
i. Buscar si hijos están relacionados con otras clases.
a. Se obtiene el tipo de relación:
1. Si tiporelación=Clase Asociación
-En la Tabla3 generada por clase3 se adiciona los
id de Tablas obtenidos de mapear Clase1 y
Clase2, siendo ambos campos clave primaria de la
Tabla3. 13
CII2010
14. 14
2. Si tiporelación=Asociación
Evaluar cardinalidad.
i. Si es n:m
-Crea una tabla adicional (Tabla3), cuyo nombre
es
NombreTabla1_ NombreTabla2.
-Adicionar idTabla1 e idTabla2 y se asigna como
clave principal de Tabla3.
i. Si es 1..n
-Migrar el id de la tabla que tiene en la clase la
cardinalidad 1 hacia la Tabla que tiene en la clase
cardinalidad n.
i. Si es 1:1
-Migrar el id de la tabla que tiene en la clase la
cardinalidad 1 hacia la Tabla que tiene en la clase
cardinalidad n.
B. Para el padre hacer lo siguiente:
1. Buscar si el padre esta relacionado con otras
clases.
Ir hacia a.
Anterior
CII2010
15. 2.1.2. Si tiporelación=ClaseAsociación
-En la Tabla3 generada por clase3 se adiciona
los id de Tablas obtenidos de mapear Clase1
y Clase2, siendo ambos campos clave
primaria de la Tabla3.
2.1.2. Si tiporelación=Asociación
Evaluar cardinalidad.
i. Si es n:m
-Crea una tabla adicional (Tabla3), cuyo nombre
es
NombreTabla1_ NombreTabla2.
-Adicionar idTabla1 e idTabla2 y se asigna como
clave principal de Tabla3.
i. Si es 1..n
-Migrar el id de la tabla que tiene en la clase la
cardinalidad 1 hacia la Tabla que tiene en la clase
cardinalidad n.
i. Si es 1:1
-Migrar el id de la tabla que tiene en la clase la
cardinalidad 1 hacia la Tabla que tiene en la clase
cardinalidad n. 15
CII2010
21. DISEÑO MUESTRAL:
1.1. POBLACION:
222 personas.
1.2. MUESTRA:
Se aplicó el
Muestreo Aleatorio
Estratificado con
Afijación
proporcional para
variables
cualitativas, cuya
formula es:
21
CII2010
22. CUADRO
Distribución de los ALUMNOS y
PROFESIONALES según puntajes en los
diferentes criterios de evaluación de la
funcionalidad.
22
CII2010
23. GRAFICO N° 01
Distribución de los ALUMNOS y
PROFESIONALES según puntajes en los
diferentes criterios de evaluación de la
funcionalidad.
23
CII2010
24. CUADRO
Distribución de los ALUMNOS Y
PROFESIONALES según puntajes en los
diferentes criterios de evaluación de la
usabilidad.
24
CII2010
25. GRAFICO N° 02
Distribución de los estamentos
educativos según puntajes en los
diferentes criterios de evaluación de la
funcionalidad.
25
CII2010
26. CONCLUSIONES
Se desarrolló CASE Object-
Relational, una herramienta que en
base a un diagrama de clases
obtiene un modelo relacional en
SQL Server o Microsoft Access.
Se adaptó el método del trabajo de
la metodología RUP, de manera
satisfactoria, en la realización de la
“Herramienta CASE Object –
Relational”.
26
CII2010
27. CONCLUSIONES
Se aplicaron las pruebas del software,
específicamente pruebas de Caja Negra
que se centran en la interfaz del
software.
Para evaluar la herramienta CASE
Object-Relational tomando los criterios
de evaluación como son: funcionalidad
y usabilidad, ubicándose la
Herramienta Case Object - Relational
en el nivel de MUY EFICIENTE, según la
Escala de Likert.
27
CII2010
28. CONCLUSIONES
Para la implementación de la
“Herramienta CASE Object –
Relational” se utilizo el lenguaje de
programación Visual Basic.net
2003, porque es un lenguaje
orientado a objetos, permite
herencia y polimorfismo, la
reutilización de código. En la
versión 2003 es más sencillo
insertar gráficos trabajando con el
control List View.
28
CII2010
29. RECOMENDACIONES
Una vez concluido este trabajo y
obtenida esta primera versión de la
aplicación que trabaja con SQL Server y
Microsoft Access, se considera hacer
una ampliación hacia otro tipo de DBMS
relacionales como Oracle, etc e
investigar la existencia de otras
técnicas de mapeo y se propone:
Investigar las formas de clasificación de los tipos
de datos usados en la herramienta CASE Objects –
Relational, Microsoft Access y SQL Server.
En definitiva, se trata de ir desarrollando futuras
versiones, completando y mejorando “CASE
Object-Relational”, siempre teniendo presente los
objetivos iniciales.
29
CII2010
Definición 1.
- Ingeniería de Software es el estudio de principios y metodologías para desarrollo
y mantenimiento de sistemas de software.
[Zelkovitz, 1978]