Análise e deseño detallado de aplicacións de informática e de xestión/Metodoloxía para o desenvolvemento de bases de datos relacionais

En Galilibros, o Wikibooks en galego.
Saltar ata a navegación Saltar á procura


Unha vez analizadas por riba as distintas fases que implica a creación dunha base de datos, toca presentar unha metodoloxía para o desenvolvemento de bases de datos, estudando en primeiro lugar o concepto de metodoloxía e as súas partes básicas, para a continuación considerar a metodoloxía proposta coas súas distintas fases, e rematar coa análise das características que cómpre que posúa unha metodoloxía de desenvolvemento.

Aínda que a metodoloxía proposta podería aplicarse ao desenvolvemento dunha base de datos, sexa cal sexa o seu modelo, está especialmente enfocada no desenvolvemento dentro do modelo relacional.

Concepto de metodoloxía[editar]

Partindo de que unha metodoloxía está formada por un grupo de modelos, linguaxes e outras tantas ferramentas que facilitan a representación dos datos en cada fase do proceso de deseño dunha base de datos, xunto coas regras que permiten o paso dunha fase á seguinte, a análise de todos estes elementos resulta fundamental de cara a comprender e aplicar de xeito correcto unha metodoloxía de deseño.

Enténdese por ferramenta calquera recurso a disposición da metodoloxía que serve para realizar as operacións que nela se prevén. É dicir, serán ferramentas os diagramas, gráficos, teorías, etc. que se aplicarán nas distintas fases do proceso de desenvolvemento. Os modelos, linguaxes e documentación son tamén ferramentas, pero considéranse individualmente dada a súa importancia.

Definido un modelo de datos coma un conxunto de conceptos, regras e convencións que permiten describir e manipular os datos da parte do mundo real que constitúe o noso universo do discurso (a parte a representar na base de datos), o esquema obtido ao aplicar un modelo de datos a un certo universo do discurso constituirá a visión que ten o deseñador do mundo real, que contempla este mundo baixo os obxectivos que impón o sistema de información que está a crear.

Unha linguaxe de datos está sempre baseada nun determinado modelo de datos e resulta de definir unha sintaxe para o mesmo, o que vai permitir expresar un esquema (por exemplo, o modelo relacional) e unha sintaxe concreta (como por exemplo, a do SQL).

A documentación permitiranos describir dunha forma normalizada os resultados de cada etapa do proceso, facilitando deste xeito o labor do deseñador e axudando ao mantemento da base.

As regras actuarán sobre os elementos de entrada en cada fase para conseguir as saídas de cada unha delas, permitindo nalgúns casos elaborar distintas alternativas do deseño.

Estes cinco conceptos (modelos, linguaxes, documentación, regras e outras ferramentas) están estreitamente ligados: unha linguaxe permite a expresión organizada dos conceptos do modelo, os modelos non poden aplicarse de forma satisfactoria sen unha metodoloxía, e unha metodoloxía será máis eficaz co apoio de ferramentas que faciliten a súa aplicación e con regras que permitan pasar dunha etapa a outra, axudando a desenvolver os problemas que vaian aparecendo no proceso de deseño, que debe estar perfectamente documentado para que poidan facerse revisións e o mantemento. Os participantes (directivos, usuarios e informáticos) constitúen un elemento esencial no desenvolvemento.

Enfoque proposto[editar]

A metodoloxía proposta pretende resolver un dos principais problemas do desenvolvemento dunha base de datos, que non ten nada que ver co computador, as teorías ou os modelos máis ou menos atinados, senón a comunicación entre as distintas persoas que interveñen durante o proceso. Trátase xeralmente de persoas con diferentes mentalidades, formación e experiencia que se ven obrigadas a traballar en equipo para desenvolver un sistema útil.

As dúas causas fundamentais que poden conducir a un deseño incorrecto son:

  • a falta de coñecemento do dominio da aplicación, coñecemento que non posúe o deseñador informático pero si o usuario (aínda que non sempre saiba expresalo de forma precisa);
  • e a falta de experiencia no modelado, experiencia que si que debera ter o deseñador, pero que o usuario que coñece o dominio da aplicación non adoita posuír.

Para resolver o problema de comunicación entre o usuario e mailo deseñador proponse, do mesmo xeito que se fai noutras metodoloxías, utilizar un enfoque baseado no modelo entidade-relación.

Este modelo, que resulta sinxelo pero ao mesmo tempo bastante potente, permite establecer un diálogo entre o usuario e o deseñador, diálogo que facilitará que se despexen as dúbidas e aclaren aspecto do universo do discurso que se vai modelar.

En realidade, o modelo entidade-relación permite representar conceptualmente os obxectos a modelar cun bo nivel de abstracción. Existen "entidades" e "interrelacións", e practicamente nada máis, o que facilita a comprensión. Permite asemade a colaboración dos especialistas cos usuarios, de xeito que estes últimos poden participar activamente coma protagonistas do deseño. Isto resulta imprescindible para que a creación da base de datos se faga correctamente.

Ao determinar as fases da metodoloxía, cómpre definir certos niveles de abstracción distintos de xeito apropiado, é dicir, sen demasiados niveles, conseguir que a cada nivel lle correspondan decisións de deseño ben definidas. As tres grandes fases seguintes resultan un un número de niveles idóneo:

  • Modelado conceptual. O seu obxectivo é obter unha boa representación dos recursos de información da empresa, con independencia dos usuarios ou aplicacións en particular, e lonxe de consideracións sobre a eficiencia do computador.
  • Deseño lóxico. O seu obxectivo é transformar o esquema conceptual obtido no paso anterior, adaptándoo ao modelo de datos en que se apoia o sistema de xestión de bases de datos que se vai utilizar. Neste libro imos facer referencia ao modelo relacional, pero esta fase ben podería adaptarse a calquera outro modelo.
  • Deseño físico. O seu obxectivo consiste en conseguir unha integración do esquema lóxico o máis eficiente posible.

Cómpre salientar que cada fase é un proceso iterativo, o que significa que nelas vanse producindo refinamentos sucesivos antes de avanzar á fase seguinte.

Adoita existir unha relación estreita entre as dúas últimas fases, posto que poden producirse cambios no deseño lóxico derivados de requisitos do deseño físico, é dicir, moitas veces cómpre adaptar o deseño lóxico para conseguir unha maior eficiencia do sistema. Porén, non convén que exista unha relación estreita entre estes dous niveis e mailo nivel conceptual, xa que este ten que representar os recursos de información da empresa con completa independencia dos aspectos técnicos.

Daquela, as fases de deseño quedan reducidas á análise funcional (modelado conceptual) e maila análise orgánica ou deseño (deseño lóxico e físico dos datos).

Nunha primeira fase, a partir do esquema conceptual resultado da etapa previa ao desenvolvemento da base de datos, e considerando o modelo de datos en que se basea o sistema de xestión de bases de datos e mailos requisitos dos procesos, obtense:

  • o esquema lóxico global, o esquema global da base de datos no modelo propio do sistema de xestión de bases de datos;
  • as vistas principais do usuario, estruturas externas derivadas do esquema lóxico global que resulten de maior interese durante a utilización do sistema.

Durante a segunda fase, a partires do esquema lóxico global e tendo en conta os requisitos dos procesos, as especificacións do modelo de datos concreto do sistema de xestión de bases de datos que se vai utilizar, e a configuración e características do equipo físico e mailo sistema operativo, prodúcese o esquema interno, tamén chamado "vista do sistema".

A continuación procederase coa integración da base de datos, para pasar á carga e explotación.

Ao basearmos no modelo entidade-relación, chegamos a un conxunto de entidades e relacións (cos seus correspondentes atributos) así como restricións semánticas. Aplicando certas regras de derivación, obteremos un conxunto de relacións, cada unha das cales representa un conxunto de atributos e dependencias funcionais. Ademais obtéñense outras restricións semánticas coma as definidas sobre os dominios ou as de integridade referencial. Culmínase co proceso de normalización, que neste modelo resulta moi doado.

Este enfoque proposto é un punto medio entre o de integración directa do sistema (sen análise previa) e mailo puramente teórico (que deixa de lado a intervención dos usuarios). Neste enfoque da metodoloxía poderase ir adaptando o rigor do sistema a medida que se progresa co deseño, pensando, durante cada fase, no tipo de usuarios que están involucrados. Con isto conséguense certas vantaxes:

  • Requírese menos especialización por parte do deseñador.
  • Os usuarios poden participar no deseño.
  • O deseño pódese verificar máis facilmente por parte das persoas involucradas.
  • A estrutura obtida resulta flexible e fácil de manter.
  • Cada fase do proceso conta coa súa propia documentación, segundo as características da fase correspondente.

As ferramentas de enxeñaría de software asistida por computador adoitan permitir metodoloxías máis ou menos formais, polo que o enfoque é compatible coa aplicación deste tipo de ferramentas.

Características dunha metodoloxía de deseño[editar]

As características axeitadas para unha boa metodoloxía de desenvolvemento e que en maior ou menor medida reúne a metodoloxía proposta son:

Claridade e comprensibilidade[editar]

É importante que no proceso de deseño participen distintas clases de persoas (usuarios, técnicos, analistas, etc.). Por tanto, a metodoloxía ten que ser sinxela abondo para que se lle poida explicar aos distintos tipos de usuario.

Capacidade para soportar a evolución dos sistemas[editar]

Cómpre deseñar o programa de xeito que estea preparado para o cambio. Unha boa metodoloxía permitirá que a evolución teña lugar sen obstáculos, de xeito de que o cambio do universo do discurso poda aplicarse sen necesidade de volver realizar dende cero o deseño da base de datos, e se poida partir dos esquemas orixinais. O fundamental para conseguirmos este obxectivo será unha boa documentación de cada unha das fases do proceso de desenvolvemento da base de datos.

Facilitar a portabilidade[editar]

Resulta esencial que o sistema poda establecerse en distintas plataformas. Para obter esquemas portables, a metodoloxía fai uso dos seguintes recursos:

  • Etapas de deseño independentes. Isto permite desviarse en determinados momentos cara outro tipo de sistemas. Deste xeito, non resultaría difícil aplicar a mesma metodoloxía ao modelo relacional ou ao xerárquico, por exemplo.
  • Unha fase intermedia entre o modelado conceptual e o deseño lóxico no sistema de xestión de bases de datos relacionais concreto que se vai utilizar. Esta fase intermedia permite dispor dun esquema relacional específico, que facilita a migración entre diferentes sistemas de xestión de bases de datos relacionais, ou mesmo entre versións distintas do mesmo software.

Por tanto, a portabilidade que ofrecen os propios sistemas de xestión de bases de datos, que adoitan traballar en distintas plataformas, facilita tamén a transferencia de bases de datos duns ambientes a outros.

Versatilidade respecto a tipos de aplicacións[editar]

A metodoloxía proposta non está orientada a un tipo de aplicacións concreto, senón que pode utilizarse en aplicacións diversas, como a xestión dunha biblioteca, dun hospital, dunha universidade, etc., ou para o deseño de bases de datos estatísticas, científicas ou de calquera outro tipo, aínda que en determinados casos habería que facer as adaptacións oportunas.

Flexibilidade[editar]

Preténdese que a metodoloxía sirva para proxectos de calquera dimensión. Para proxectos grandes e pequenos utilízanse modelos, ferramentas e linguaxes similares. Por suposto, para pequenos proxectos poderían simplificarse algunhas das etapas da metodoloxía proposta.

Rigor[editar]

Preténdese imprimir un carácter rigoroso aos principios metodolóxicos propostos. E, se ben se busca esta rigorosidade en todo momento, tamén se busca que a metodoloxía non resulte excesivamente formalista, xa que isto provocaría o rexeitamento por parte de certo tipo de usuarios. Pódese ser rigoroso sen resultar demasiado formalista.

Adopción de estándares[editar]

Procuráronse aplicar todos aqueles estándares que recomendan as organizacións internacionais. Utilizáronse modelos e linguaxes moi estendidos, coma o modelo entidade-relación ou a linguaxe SQL, e a metodoloxía pode utilizarse con numerosas ferramentas de enxeñaría de software asistida por computador (CASE).