Download 3.- justificación de la solución adoptada

Document related concepts

Microsoft Access wikipedia , lookup

SQL Server Compact wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Paradox (base de datos) wikipedia , lookup

Adaptive Server Anywhere wikipedia , lookup

Transcript
3.- JUSTIFICACIÓN DE LA SOLUCIÓN ADOPTADA
JUSTIFICACIÓN DE LA SOLUCIÓN ADOPTADA
3.1.- Plataformas tecnológicas disponibles
Del análisis realizado en apartados anteriores acerca de la problemática que nos ocupa
así como de los objetivos a lograr, se desprende que las necesidades del Departamento
de Organización Industrial y Gestión de Empresas son muy específicas, por lo que en el
mercado no existe ninguna aplicación de base de datos que satisfaga dichas necesidades.
Es necesario, por tanto, recurrir al diseño personalizado de la aplicación, utilizando para
ello un entorno de desarrollo adecuado que facilite la creación de la misma.
Un entorno de desarrollo integrado (IDE o Integrated Development Environment) no es
más que una aplicación que reúne varios programas necesarios para el desarrollador:
editor, compilador, depurador, etc. A aquéllos que ofrecen herramientas para la
construcción de interfaces de usuario se les suele llamar herramientas de desarrollo
rápido de aplicaciones (RAD o Rapid Application Development). En el mercado
podemos encontrar varias herramientas de este tipo que son adecuadas para la creación
de aplicaciones de bases de datos, siendo las más destacadas:
™ Microsoft Office Access
Es la herramienta más conocida y utilizada para la creación de aplicaciones de bases de
datos. Permite al programador llevar a cabo desarrollos rápidos y crear aplicaciones de
acuerdo a necesidades específicas. Cuenta con un interfaz de usuario muy amigable, a
través del cual podemos crear:
o Bases de datos, por medio de la construcción de tablas y relaciones.
o Consultas, diseñándolas gráficamente o haciendo uso del lenguaje de consulta
estructurado (SQL o Structured Query Language).
o Formularios, que constituyen el interfaz de usuario de la aplicación de base de
datos.
o Módulos, que contienen código Visual Basic.
El motor de base de datos que posee Access recibe el nombre de motor Jet, y es un
sistema de bases de datos personal pensado para manejarse desde un único ordenador o
Página 12 de 197
JUSTIFICACIÓN DE LA SOLUCIÓN ADOPTADA
a lo sumo una red local pequeña. Además, está dirigido sobre todo a bases de datos
pequeñas, pues el tamaño máximo de archivo de una base de datos Jet es de 2 gigabytes.
Desde Access también existe la posibilidad de crear y gestionar bases de datos de
Microsoft SQL Server tan fácilmente como se hace con las bases de datos Jet. SQL
Server es un servidor de bases de datos, es decir, un programa que almacena datos
estructurados en forma de tablas relacionales, escucha un puerto TCP/IP a través del
cual acepta conexiones de clientes autentificados, admite comandos en lenguaje SQL, y
devuelve al cliente a través de la red los datos resultantes del procesamiento de los
comandos SQL. Microsoft SQL Server es un software que no está incluido en Microsoft
Access. Sin embargo, el motor Jet es un sistema de base de datos que viene integrado en
Access y está formado por una serie de archivos DLL de distribución gratuita que se
instalan en el directorio de sistema de Windows.
Veamos a continuación cuáles son las semejanzas y diferencias entre Jet y SQL Server.
Las semejanzas son:
9 Ambos son sistemas de almacenamiento de datos en forma de tablas
relacionales.
9 Ambos admiten comandos en lenguaje SQL, aunque el de SQL Server está
mucho más desarrollado.
En cuanto a las diferencias, éstas son más complejas:
9 Potencia en el manejo de datos y conexiones simultáneas. El motor Jet está
pensado para ser manejado desde un único ordenador o a lo sumo una red local
pequeña, y está dirigido sobre todo a bases de datos pequeñas. De hecho, el
tamaño máximo de archivo de una base de datos Jet es de 2 gigabytes. Para Jet,
el acceso simultáneo a los datos es una excepción más que algo habitual.
Dispone de un sistema de bloqueo, pero no está pensado para que intenten
acceder simultáneamente muchos clientes a los datos. Por el contrario, SQL
Server puede manejar perfectamente bases de datos de terabytes con millones de
registros y funciona sin problemas con miles de conexiones simultáneas a los
Página 13 de 197
JUSTIFICACIÓN DE LA SOLUCIÓN ADOPTADA
datos. Es un servidor y está pensado para gestionar tantos clientes simultáneos
como admita la potencia del hardware del equipo en el que esté instalado.
9 SQL Server admite la programación cliente-servidor, y Jet no. La programación
cliente-servidor se utiliza cuando queremos realizar aplicaciones que utilicen
redes y que comuniquen entre sí a varios ordenadores. Básicamente, consiste en
que el programa se divide en dos partes: la parte cliente, que reside en el equipo
donde está el usuario y se encarga de la interacción con éste, y la parte servidor,
que reside en un ordenador conectado a la red permanentemente y se encarga de
manipular los datos. Ambas partes de la aplicación se comunican entre sí
utilizando algún protocolo de red TCP/IP. La justificación de este paradigma es
la minimización del tráfico de red, sobre todo para evitar ralentizaciones.
9 SQL Server es un ejecutable autónomo, y Jet son archivos DLL. Los archivos
DLL contienen bibliotecas: funciones que han de ser llamadas desde otros
ejecutables y se ejecutan en el espacio de memoria de ellos. Por tanto, si
utilizamos bases de datos Jet, las sobrecargas que se produzcan debido al manejo
de los datos recaerán en último extremo sobre la aplicación que llama al motor
Jet. Sin embargo, SQL Server es una aplicación completa que realiza toda la
gestión relacionada con los datos. Una aplicación que interactúe con SQL Server
sólo tiene que enviarle una cadena de caracteres (la sentencia SQL) y esperar a
que le devuelvan los datos, pues SQL Server se encarga de todo. Esta división
de papeles es mucho más conveniente cuando queremos realizar aplicaciones
que utilicen redes.
Por otro lado, Access dispone del lenguaje de programación Visual Basic para
aplicaciones (VBA o Visual Basic for Applications) que le permite extender su
funcionalidad y mejorar su rendimiento. VBA no es más que un descendiente de Visual
Basic destinado a la edición del comportamiento de las aplicaciones de Microsoft
Office. Se trata de un lenguaje potente y fácil de usar, pues las funciones de VBA se
derivan en gran parte de Visual Basic. De hecho, el entorno de desarrollo integrado
(IDE) en el que podemos introducir, modificar y probar nuestro código VBA se asemeja
mucho al utilizado por Visual Basic, y recibe el nombre de editor de Visual Basic (VBE
o Visual Basic Editor).
Página 14 de 197
JUSTIFICACIÓN DE LA SOLUCIÓN ADOPTADA
Para poder ejecutar una aplicación desarrollada con Access el usuario de la aplicación
tendrá que tener instalado Access en su equipo. No obstante, existe la posibilidad de
generar un programa de instalación personalizado con todas las funciones necesarias
para instalar una aplicación desarrollada con Access. Además de instalar los archivos de
la aplicación en los sistemas de los usuarios, el programa de instalación puede instalar
los archivos run-time de Access (la versión run-time de Access permite ejecutar
aplicaciones, pero no cambiarlas o crearlas), crear accesos directos de Windows y
configurar los sistemas de los usuarios de muchas otras formas.
™ Microsoft Visual Basic .NET
Es una herramienta basada en un lenguaje de programación potente y fácil de usar:
Visual Basic. Un lenguaje de programación sirve para crear programas o aplicaciones, y
está formado por un conjunto de sentencias (comprensibles por los humanos) que
representan órdenes que se le dan a la computadora. Visual Basic es un lenguaje de
propósito general con el que pueden crearse todo tipo de aplicaciones.
Visual Basic .NET cuenta con un entorno de desarrollo integrado (IDE) muy eficaz, así
como con numerosas herramientas para la creación visual de interfaces de usuario.
Además, el acceso a datos es flexible y sencillo, siendo posible obtener acceso a alta
velocidad a Microsoft SQL Server, Oracle, DB2, Microsoft Access y muchos más.
Los programadores puede utilizar Visual Basic .NET para:
9 Crear aplicaciones basadas en Windows rápidas y eficaces.
9 Crear aplicaciones Web sofisticadas y seguras.
9 Crear aplicaciones para Pocket PC rápidas y eficaces.
9 Crear aplicaciones Web inteligentes, sofisticadas y seguras para dispositivos
móviles.
9 Utilizar servicios Web XML en cualquiera de las aplicaciones mencionadas.
Se trata, por tanto, de una herramienta de propósito múltiple con la que podemos
abordar cualquier tipo de proyecto.
Página 15 de 197
JUSTIFICACIÓN DE LA SOLUCIÓN ADOPTADA
™ Microsoft Visual C# . NET
Visual C# .NET posee características similares a Visual Basic .NET con la salvedad del
lenguaje de programación en el que se basa: C# en lugar de Visual Basic. El lenguaje
C# ha sido diseñado a partir de la sintaxis de C++ e incluye nuevas construcciones de
lenguaje intuitivas que simplifican las tareas de programación.
Tanto Visual Basic como C# están basados en la misma plataforma (.NET) y hacen uso
de los mismos recursos (.NET Framework), por lo que podemos obtener los mismos
resultados con uno y otro. En general, C# es para los programadores a los que les gusta
escribir y controlar todo su código. En cambio, Visual Basic es mas RAD (Rapid
Application Development) y fácil de usar.
™ Microsoft Visual FoxPro
Se trata de una herramienta basada en un lenguaje de programación centrado en datos:
Visual FoxPro. Este estrecho acoplamiento entre lenguaje y datos hacen de Microsoft
Visual FoxPro una gran herramienta para construir soluciones de base de datos de todas
las dimensiones.
Visual FoxPro le ofrece al desarrollador un conjunto sólido de herramientas para crear
aplicaciones de bases de datos en el equipo de escritorio, en el servicio cliente/servidor
o en la Web, a través de componentes y servicios Web XML.
Aunque Visual FoxPro posee un motor de base de datos propio, la tendencia es que
cada vez más aplicaciones basadas en Visual FoxPro utilicen Microsoft SQL Server
para almacenar datos de la solución. Por supuesto, esto no es algo exigido; depende de
los requisitos de la aplicación. Mientras SQL Server ofrece seguridad, confiabilidad,
posibilidad de manejar grandes volúmenes de datos y muchas otras características
típicas de un completo motor de base de datos relacional, el sistema de base de datos de
Visual FoxPro es un sistema DBF basado en archivos abiertos que carece de muchas de
aquellas características. Por ejemplo, el tamaño máximo de una base de datos de Visual
FoxPro es de 2 gigabytes, mientras que SQL Server puede manejar perfectamente bases
de datos de terabytes con millones de registros.
Página 16 de 197
JUSTIFICACIÓN DE LA SOLUCIÓN ADOPTADA
™ Borland Delphi
Delphi es un lenguaje de programación y un entorno de desarrollo rápido de software
diseñado para la programación visual. El principal uso de Delphi es para el desarrollo de
bases de datos cliente-servidor y multicapas. Debido a que es una herramienta de
propósito múltiple, se usa también para proyectos de casi cualquier tipo.
En la actualidad, Delphi incluye en el mismo entorno de desarrollo los lenguajes Delphi
y C#. El lenguaje de programación Delphi está basado en una versión moderna de
Pascal, denominada Object Pascal, que expande las funcionalidades del primero. Por
otro lado, el lenguaje de programación C# ha sido diseñado a partir de la sintaxis de
C++ e incluye nuevas construcciones de lenguaje intuitivas que simplifican las tareas de
programación.
Los programadores puede utilizar Delphi para crear todo tipo de aplicaciones, al igual
que sucede con Visual Basic .NET o Visual C# .NET, al ser herramientas de propósito
múltiple. Destacar, además, que existe una versión de Delphi para sistemas Unix y
Linux, llamada Kylix.
Página 17 de 197
JUSTIFICACIÓN DE LA SOLUCIÓN ADOPTADA
3.2.- Solución tecnológica adoptada
Recordemos cuáles son las características principales que debe tener la aplicación de
base de datos que queremos construir:
9 Monousuario, es decir, será manejada desde un único ordenador.
9 Basada en Windows, o sea, se instalará en equipos que tienen el sistema
operativo Microsoft Windows.
9 Debe permitir una gestión eficaz del sistema de información asociado a los
proyectos fin de carrera en el Departamento de Organización Industrial y
Gestión de Empresas de la Universidad de Sevilla
9 Ha de estar dotada de un interfaz gráfico de usuario atractivo e intuitivo, para
que pueda ser utilizada por el personal administrativo del Departamento.
9 El volumen de datos a manejar será pequeño.
Teniendo en cuenta todas estas características, la herramienta de desarrollo elegida para
construir la aplicación de base de datos ha sido Microsoft Office Access.
Las motivaciones de esta decisión han sido las siguientes:
9 Puesto que no hay que manejar grandes volúmenes de datos, podemos utilizar
una base de datos nativa de Access, es decir, una base de datos Jet. El tamaño
máximo de una base de datos Jet es de 2 gigabytes, más que suficiente para el
caso que nos ocupa. De hecho, si tenemos en cuenta que introducir seis
proyectos fin de carrera evaluados por un tribunal de tres profesores supone un
incremento en el tamaño de la base de datos de unos 20 kilobytes, se deduce que
podrían gestionarse sin problemas medio millón de proyectos con 2 gigabytes de
capacidad, o sea, unos cinco mil proyectos al año durante cien años, lo cual
supera con creces el ritmo actual y cualquier previsión al alza.
9 Al ser una aplicación de base de datos monousuario, no tendrá que utilizar redes
ni comunicar entre sí a varios ordenadores. Por tanto, resulta innecesario recurrir
a un servidor de base de datos como Microsoft SQL Server. En este caso, es más
Página 18 de 197
JUSTIFICACIÓN DE LA SOLUCIÓN ADOPTADA
apropiado utilizar un sistema de base de datos como el motor Jet integrado en
Microsoft Access.
9 La principal dificultad a la hora de construir la aplicación de base de datos que
nos ocupa reside en programar la secuencia utilizada para designar a los
profesores de los tribunales. Para ello, es imprescindible diseñar primero de
forma adecuada las tablas y relaciones que componen la base de datos. En este
sentido, Access es la herramienta que posee el interfaz de usuario más amigable
y más cómodo para el diseño de bases de datos relacionales. Además, Access
dispone del lenguaje programación Visual Basic para Aplicaciones (VBA o
Visual Basic for Applications), potente y fácil de usar, pues las funciones de
VBA se derivan en gran parte de Visual Basic. Utilizaremos VBA para
programar la secuenciación de los tribunales, pues se trata de un lenguaje muy
potente y más fácil de comprender que otros lenguajes como C# o Delphi.
9 Microsoft Access permite la creación de interfaces de usuario al estilo Windows
de modo rápido y fácil.
9 Al ser un producto de Microsoft, las aplicaciones desarrolladas con Access están
basadas en Windows.
Por todo ello, se considera que Microsoft Office Access es la herramienta de desarrollo
más adecuada para abordar la realización del presente proyecto.
Página 19 de 197