presentacion proyecto

50
UNIVERSIDAD DE CUENCA GESTOR DE BASE DE DATOS(SQLUC) Integrantes: Tania Landivar Jonnathan Peñaranda Gabriela Verdugo Asignaturas: Análisis y Diseño de Software II Programación III: Estructura de Archivos

Upload: gabriela-verdugo

Post on 20-Mar-2017

28 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Presentacion proyecto

UNIVERSIDAD DE CUENCAGESTOR DE BASE DE DATOS(SQLUC)

Integrantes:Tania Landivar

Jonnathan PeñarandaGabriela Verdugo

Asignaturas:Análisis y Diseño de Software II

Programación III: Estructura de Archivos

Page 2: Presentacion proyecto

Índice1. Introducción al proyecto 2. Objetivos3. Contenido 3.1 Diseño e implementación de SQLUC 3.1.1 Patrones Utilizados

3.1.1.1. Chain of Responsability 3.1.1.2. Proxy 3.1.1.3. Factory Method 3.1.1.4. Template Method 3.1.2. Diagrama de Clases Completo 3.2. Estructuras de datos utilizadas

3.3. Estructuras de archivos 3.4. Librerías utilizadas. 3.5. Conclusiones 3.5. Sintaxis del Sistema 3.6. Enlaces de interés

Page 3: Presentacion proyecto

Introducción

SQLUC es un sistema de gestión de base de datos, el cual nos permitirá almacenar, manipular y recuperar datos almacenados en la base de datos. El sistema incluye operaciones como crear, modificar, borrar, tablas o registros de la base de datos.

Page 4: Presentacion proyecto

Objetivos:

● Usar patrones de creación, patrones estructurales o patrones de comportamiento para la elaboración de la Base de Datos.

● Identificar qué patrón puede ser utilizado en diferentes partes de la implementación de la Base de Datos.

● Con el uso de los patrones mencionados anteriormente facilitar la codificación y el diseño del proyecto.

● Hacer el uso mínimo de estructuras de datos.

Page 5: Presentacion proyecto

PATRONES DE DISEÑO UTILIZADOS

Page 6: Presentacion proyecto

❖ Chain of Responsability

Chain of Responsability:❏ Aprobador: Es nuestro Handler que proporciona el método

analizarInstruccion, que será el método utilizado para reenviar las solicitudes.

❏ GestorTabla, GestorRegistros, TablaSelectRegistros, TablaUnirRegistros: Son nuestros ConcreteHandler encargados de controlar o responder a la petición que se le solicita.

Page 7: Presentacion proyecto

Encargado de reenviar las solicitudes.

Handler

Page 8: Presentacion proyecto

ConcreteHandler

Manejan la petición.

Page 9: Presentacion proyecto
Page 10: Presentacion proyecto

❖ Proxy protección

Lo que hace el proxy es analizar qué la instrucción que recibe desde los ConcreteHandler que son GestorTabla y GestorRegistros, cumplan con la sintaxis adecuada para ejecutar dicha instrucción, es decir evalúa la expresión que ingrese el usuario.

Partes de un proxy:Subject :GestorTabla, GestorRegistros. Es clase común entre el proxy y el objeto real.Proxy: ProxyGestorTabla, ProxyGestorRegistros. Mantiene una referencia al objeto real.RealSubject: FabricaTabla, FabricarRegistros. Objeto real que el proxy representa.

Page 11: Presentacion proyecto

Subject

Page 12: Presentacion proyecto

Proxy

Page 13: Presentacion proyecto

RealSubject

Page 14: Presentacion proyecto

ProxyGestorTabla

Page 15: Presentacion proyecto

ProxyGestorRegistros

Page 16: Presentacion proyecto

Factory Method:

Dentro del sistema el “Factory Method” nos permite que la clase delegue a sus subclases que objeto debe ser creado. En este sistema hemos utilizado dicho patrón para la creacion y manipulacion (Eliminar o Modificar) de Tablas y Registros.

Page 17: Presentacion proyecto

❖ Factory Method.

Tablas:❏ Tabla: Se define una clase abstracta de los objetos que se van

a crear.❏ Fábrica Tabla: De acuerdo al comando indicado se devuelve

la instancia que se necesita.❏ Tabla Crear, Tabla Eliminar, Tabla Modificar: Son los

productos concretos.

Page 18: Presentacion proyecto

Factory Method Tablas

Page 19: Presentacion proyecto

Tabla

Page 20: Presentacion proyecto

Fábrica Tabla

Page 21: Presentacion proyecto

TablaCrear

Page 22: Presentacion proyecto

TablaEliminar

Page 23: Presentacion proyecto

TablaModificar

Page 24: Presentacion proyecto

❖ Factory Method.

Registros:❏ Registro: Define una clase abstracta de los objetos que se

van a crear.❏ Fabrica Registros: De acuerdo al comando indicado

devuelve la instancia que se necesita.❏ RegistrosAAgregar, RegistrosAModificar,

RegistrosAEliminar: Estas clases son los productos concretos.

Page 25: Presentacion proyecto

Factory Method Registros

Page 26: Presentacion proyecto

Registro

Page 27: Presentacion proyecto

FabricaRegistros

Page 28: Presentacion proyecto

RegistrosAAgregar

Page 29: Presentacion proyecto

RegistrosAEliminar

Page 30: Presentacion proyecto

RegistrosAModificar

Page 31: Presentacion proyecto

❖ Template Method

❏ Template: Es la interfaz que implementa el método Template y los métodos que deben implementar siempre las clases que implementen esta interfaz.

❏ TablaCrear, TablarEliminar, TablaModificar: Son las clases concretas del manejo de las tablas que implementan los métodos de la clase template.

❏ RegistrosAAgregar, RegistrosAModificar, RegistrosAEliminar: Son las clases concretas para el manejo de los registros estas clases implementan los métodos de la clase Template.

Page 32: Presentacion proyecto
Page 33: Presentacion proyecto

Template

Page 34: Presentacion proyecto

Diagrama de Clases Completo

Page 35: Presentacion proyecto

Estructuras de Datos y Archivos

Page 36: Presentacion proyecto

ESTRUCTURAS DE DATOS UTILIZADAS

ArrayList: Se utilizó para cargar los campos ya se de las tablas o registros.

Page 37: Presentacion proyecto

ESTRUCTURA DE ARCHIVOS

● Se utilizarán archivos(.csv), para hacer físico las tablas con sus respectivos registros.

● Tendremos un archivo llamado METADATA, en el cual constará el nombre de las tablas y cada tabla con el número de registros que tiene, los campos , su estado de borrado y lo más importante la clave para identificar cada tabla.

Page 38: Presentacion proyecto

TABLA:

Page 39: Presentacion proyecto

Programación en Capas

Page 40: Presentacion proyecto

❖ La programación por capas se refiere a un estilo de programación que tiene como objetivo separar la lógica de diseño de la lógica de negocios. Una de las ventajas que podemos destacar sobre este estilo es que el desarrollo del software se puede llevar a cabo en varios tipos de niveles, así, cuando suceda algún cambio solo nos iremos sobre el nivel requerido.

Page 41: Presentacion proyecto

❖ En nuestro sistema hemos implementado tres capas en cuanto a lo que es el gestor base de datos➢ Capa de Lógica.➢ Capa de Presentación➢ gestorbd

❖ Para la implementación de los patrones de Diseño hemos implementado las capas necesarias para identificar cada uno de los patrones.➢ p.cadenaResponsibilidad➢ p.fabricaRegistros➢ p.fabricasTabla➢ p.proxy➢ p.templateMethod

Page 42: Presentacion proyecto

Capas

Page 43: Presentacion proyecto

Capa de Lógica

Capa de Presentación

Page 44: Presentacion proyecto

GestorBD

Page 45: Presentacion proyecto

LIBRERÍAS UTILIZADAS

Permite crear ficheros CSV (del inglés comma-separated values) son un tipo de documento sencillo para representar datos en forma de tabla, en las que las columnas se separan por comas y las filas por saltos de línea.

Hace mucho más sencilla el acceso al contenido de estos ficheros.

Page 46: Presentacion proyecto

CONCLUSIONES

● En la realización del proyecto no sirvió de gran ayuda hacer uso de la programación en capas para así hacer una buena distribución de cada una de las clases y para realizar cambios cuando fueron necesarios sólo en la capa que contenía la clase que necesitaba ser cambiada.

● Gracias al uso de patrones ya sea de creación, comportamiento o estructurales se facilitó la codificación dentro de la base de datos.

● Para que la implementación sea fácil de compresión para otros programadores no se debe implementar más patrones de los posibles dentro del diseño del proyecto o sistema ya que en lugar de tornarse fácil de compresión lo haríamos difícil y confuso para que alguien más pueda implementarlo.

● El uso de estructuras de datos también fue de gran ayuda para asi hacer el manejo de los datos más llevadero

Page 47: Presentacion proyecto

SINTAXIS DEL SISTEMATABLAS

Eliminar tablas:

ELIMINAR TABLA nombre_tabla

Modificar tablas:

MODIFICAR TABLA nombre_tabla CAMPO nombre_campo POR nombre_campo

Crear tablas:

CREAR TABLA nombre_tabla CAMPOS campo1, … , campoN CLAVE campo1 LONGITUD ##

Page 48: Presentacion proyecto

REGISTROS

Crear Registro:

CREAR REGISTRO nombre_tabla VALOR vCampo1 , vCampo2 ,... , vCampoN

Modificar Registro:

MODIFICAR REGISTRO nombre_tabla CLAVE valorCampoClave CAMPO campo POR valor_campo_nuevo

Eliminar Registro:

ELIMINAR REGISTRO nombre_tabla CLAVE valorCampoClave

Page 49: Presentacion proyecto

SELECCIONAR TABLAS

SELECCIONAR DE nombre_tabla DONDE nombre_campo = “Algo”

JOIN - UNIR TABLAS

UNIR nombre_tabla1, nombre_tabla2 POR nombre_campo = ”Algo”

Page 50: Presentacion proyecto

ENLACES DE INTERÉS

● Ficheros CSV : https://www.adictosaltrabajo.com/tutoriales/csv/

ENLACE DEL CÓDIGO DEL PROYECTO.

● https://github.com/TaniaLandivar/Gestor-BaseDatos-SQLUC/tree/master