Capítulo III: MARCO METODOLÓGICO
Tipo de Investigación El presente trabajo de investigación, tuvo como propósito el desarrollo de una aplicación experimental que permitió evaluar la operatividad y funcionalidad de un sistema de bases de datos basado en el modelo de red. Con el fin de alcanzar este objetivo, se analizó los fundamentos de dicho modelo, y en general de las bases de datos, y su adaptación a la solución de este problema. Apoyado en los estudios realizados por los autores Carlos Sabino (1994) y Nilda Chavez (1991), esta investigación se clasifica como Aplicada, debido a que dio respuesta al problema planteado sobre el desuso de este modelo y los beneficios que se obtendrían en aplicaciones donde la información y las consultas se encuentran bien estructuradas. En cuanto al método de investigación, se hace énfasis en la descripción de las características de determinadas teorías y técnicas que son aplicadas a la resolución del problema. Por ello, este trabajo fue de tipo descriptivo, ya que se analizan los fundamentos en los cuales se basa el modelo bajo estudio y su utilización en un sistema de bases de datos. Se desprende inmediatamente de lo anterior, y desde el punto de vista de las fuentes informativas, que esta investigación es documental, 75
76 ya que se nutre principalmente de la revisión del material bibliográfico y estándares sobre la materia. Por último, se puede clasificar esta investigación como de tipo tecnológico, ya que se aplica el concepto de tecnología para el desarrollo de estructuras y sistemas. Se obtiene a través de la aplicación del conocimiento tecnológico un producto de utilidad social que puede ser incorporado al sector productivo, originando un cambio tecnológico que redunda en la mejora de los procesos y en el desarrollo de los nuevos sistemas de bases de datos. Metodología usada en el desarrollo de los niveles conceptual e interno de un sistema de bases de datos basado en el modelo de red Para el desarrollo de este proyecto, y en la aplicación de los resultados obtenidos del análisis de los fundamentos de bases de datos y el modelo de red, se estudió el uso de metodologías de ingeniería de software, y en especial de métodos orientados a objetos. Entre ellas se seleccionó como metodología, la sugerida por James Rumbaugh y otros (1991) conocida como OMT (Object Modeling Technique, Técnica de Modelado de Objetos), a tenor de algunas pequeñas modificaciones realizadas con la finalidad de adaptarla al desarrollo de sistema bajo estudio. Las fases que integran la metodología de desarrollo de la
77 aplicación, se describen a continuación: Fase I: Análisis El objetivo de esta fase, es el desarrollo de un modelo que determine las funciones del sistema de bases de datos. 1. Se obtiene una definición inicial del problema, y en su análisis, se precisan todos los detalles y se determinan las ambigüedades e incongruencias que en el existan. 2. Se construye un Modelo de Objetos de la siguiente manera: a. Se identifican las clases de objetos, asociaciones, atributos y enlaces. b. Se inicia la construcción de un Diccionario de Datos, que contenga la descripción de cada uno de ellos. c. Se organizan y simplifican las clases usando el concepto de herencia. d. Se comprueban las vías de acceso, empleando para ello escenarios e iterando los pasos anteriores cuando fue conveniente. e. Se obtiene un diagrama de modelo de objetos y un diccionario de datos. 3. Se construye un Modelo Dinámico de la siguiente manera: a. Se prepararan escenarios de secuencias típicas de interacción. b. Se identifican los sucesos entre objetos y se prepara un esquema de seguimiento de sucesos para cada escenario. c. Se prepara un diagrama de flujo de sucesos para el sistema de bases de datos.
78 d. Se desarrolla un diagrama de estados para cada clase que tenga un comportamiento dinámico de interés. e. Se comprueba la congruencia y compleción de los sucesos compartidos entre diagramas de estado. f. Se obtiene el diagrama de estados y el diagrama global de flujo de sucesos. 4. Se construye un Modelo Funcional de la siguiente manera: a. Se identifican los valores de entrada y salida. b. Se utilizan diagramas de flujo de datos cuando es necesario, para mostrar las dependencias funcionales. c. Se describe lo que hace cada función. d. Se obtiene el diagrama de flujo de datos. 5. Se verifica y refina cada modelo obtenido realizando variadas iteraciones. a. Se añaden operaciones claves descubiertas durante la preparación del modelo funcional. b. Se verifica la congruencia entre las clases, asociaciones, operaciones y atributos de cada modelo con la definición del problema y con el conocimiento relevante del dominio de este. El resultado de esta fase es un Documento de Análisis, que incluye la definición del problema, el modelo de objetos, el modelo dinámico y el modelo funcional.
79 Fase II: Diseño del Sistema Durante el diseño del sistema de bases de datos: 1. Se selecciona una estructura de alto nivel para soportar la aplicación. 2. Se organiza el sistema en subsistemas, y se asignan los subsistemas a procesadores y tareas. 3. Se selecciona la estrategia básica para implementar los almacenes de datos y sus estructuras subyacentes. 4. Se identificaran los recursos globales del sistema y los mecanismos para controlar el acceso a los mismos. Con esto se obtiene, el Documento de Diseño de Sistema, que representa la estructura de la arquitectura básica del sistema y algunas decisiones estratégicas de alto nivel. Fase III: Diseño de Objetos En esta fase se proporciona una base detallada para la implementación, con la elaboración del modelo de objetos. Este se obtiene de las siguientes etapas: 1. Se obtiene las operaciones para el modelo de objetos a partir de los demás modelos. a. Se busca una operación para cada proceso del modelo funcional. b. Se define una operación para cada suceso del modelo dinámico, dependiendo de la implementación del control.
80 2. Se diseñan los algoritmos para implementar cada operación. a. Se seleccionan algoritmos que minimizan el costo de implementar las operaciones. b. Se selecciona una estructura de datos adecuada para cada algoritmo. c. Se definen nuevas clases y estructuras internas. d. Se asignan las responsabilidades a cada operación que no este asociada claramente con ninguna clase concreta. 3. Se ajusta la estructura de las clases para incrementar la herencia. a. Se abstrae el comportamiento común de grupos de clases. b. Se utiliza la delegación para compartir el comportamiento de aquellas clases que no tengan una herencia semánticamente válida. 4. Se diseña la implementación de las asociaciones. a. Se analiza el recorrido de las asociaciones. b. Se implementa cada asociación como un objeto separado. 5. Se determina la representación exacta de los atributos que son objetos. 6. Se empaqueta las clases y las asociaciones en módulos. Culminada esta fase, se obtiene el Documento de Diseño, conformado por el Modelo de Objetos Detallado, el Modelo Dinámico Detallado y el Modelo Funcional Detallado. Fase IV: Construcción Cumplidas las tres fases anteriores, se alcanza la documentación
81 necesaria y suficiente para la construcción del sistema de bases de datos bajo el modelo de red. En esta fase, se escriben los módulos del sistema según la arquitectura planteada en la documentación, y bajo la plataforma propuesta. Fase V: Pruebas Terminada la construcción del software se inicia la aplicación de las pruebas diseñadas en la fase de construcción, lo que permite medir el rendimiento del sistema y comparar con otros sistemas similares. Herramientas utilizadas en el desarrollo de los niveles conceptual e interno de un sistema de bases de datos basado en el modelo de red En el desarrollo de la aplicación, intervinieron los siguientes elementos de hardware y software: Un servidor UNIX con las siguientes características: Procesador AMD K6 de 266Mhz Memoria 64 Mb. RAM Almacenamiento 2.1 Gb de Disco Duro Unidad de CDROM Unidad de 3 ½ Dispositivos Periféricos Monitor SVGA 15 Teclado Ratón Interfaz de Red Compatible con NE2000 Sistema Operativo LINUX versión 2.0.34 Un equipo PC con las siguientes características: Procesador Intel Pentium MMX 200 Mhz Memoria 32 Mb. RAM
82 Almacenamiento 1.2 Gb de Disco Duro Unidad de CDROM Unidad de 3 ½ Dispositivos Periféricos Monitor SVGA 14 Teclado Ratón Interfaz de Red Compatible con NE2000 Sistema Operativo MSDOS Versión 6.2 NCSA Telnet Versión 2.3 En materia de software, el desarrollo se realizó usando las herramientas de programación que provee el sistema operativo LINUX, en la distribución SLACKWARE 3.5. Este ofrece, GNU C/C++/Objective-C en la versión 2.8.1, que incluye la utilidad de construcción de software Make, el depurador de programas GDB (GNU Debugger), y un sistema de control de versiones llamado RCS (Revision Control System). El sistema fue desarrollado siguiendo las recomendaciones de la Free Software Foundation, Inc. y GNU (GNU s Not Unix), en lo referente a estándares de codificación y distribución. Así mismo, se obtuvo toda la información necesaria sobre las mencionadas herramientas de software, de bibliografías, revistas, manuales y fuentes de documentación en Internet.