Ver Mensaje Individual
  #3  
Antiguo 14-06-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Hola FaraonDX, bienvenido a clubdelphi.

No se si estoy entendiendo bien tu pregunta. Tu dirás si me equivoco.

Cita:
Empezado por FaraonDX
cuál es el procedimiento a seguir desde el punto de vista arquitectonico para diseñar sistemas de base de datos, es decir cuantas unit debe tener la aplicación según el análisis y diseño realizado anteriormente y en cual introdusco esta clase o la otra
La cantidad de unit que deberá tener una aplicación es como tu dices: dependerá del análisis y diseño que se haya realizado anteriormente. No es tan sencillo poder encontrar la cantidad de unidades (módulos) exacta para llevar a cabo tu aplicativo.
POr más empleo de métricas, y buenas prácticas que uses para determinar tanto el acomplamiento y cohesión que hay presente entre los módulos (y en el módulo). Hay un factor subjetivo que afecta (en mi experiencia) en forma proporcional a la complejidad del sistema.

Una primera aproximación para determinar la cantidad de unidades puede ser esta:
Cita:
La cantidad de módulos o unidades responde a la cantidad de entidades y/o a la cantidad de tablas de su base de datos.
Es decir que si en tu base de datos hay 10 tablas, tu sistema puede llegar a tener alrrededor de entre 7 y 13 unidades. (Consideré un factor de error del 30%) Suponiendo que estamos en la etapa de estimación, considerar este porcentaje de error (30%) es válido. Pero si estamos en la etapa de construción este factor debería ser por lo menos la mitad, ya que se supone que la mayoría de sus requisitos y análisis ya fueron validados y validados. El factor debería ir decreciendo a medida que se avanza.

Cita:
Empezado por FaraonDX
aunque tengo mi propio estilo para el diseño, pienso que debe existir una manera estandar de hacer las cosas principalmente para los sistemas de Base de Datos
El estandar de diseño por excelencia para POO es UML. Y sería recomendable su uso. Recuerda que el estándar está para ser usado y permite hablar del mismo tema sin temor a interpretar erroneamente lo que otro ha diseñado. Es un lenguaje común que favorece la comunicación y entendimiento. ¿Es bueno saber que si tu te pierdes, otro te puede hablar en tu mismo idioma, no crees?

Cita:
Empezado por FaraonDX
¿Puedo utilizar estos controles en un sistema diseñando OO? si lo puedo utilizar ¿Como es que lo utilizo en las clases si existe una relación de modelo de tres capas ?
¿Que te impide emplear los controles dataware? Por algo están...

No se como debería interpretar la parte de modelo de tres capas. He visto muchas definiciones de lo esto significa. En lo personal, tres capas significa para mi esto:

-------------
Capa Interfaz -> Entrada y Salida de datos.
-------------
Capa Lógica -> Clases, y/o funciones o procedimientos que operan sobre los datos ingresados y/o recuperados de la base datos (para luego mostrarlos)
-------------
Capa Datos -> Módulo de datos (DataModule), Base de datos.
-------------

Si es que lo que entiendo por tres capas es correcto, y viendo lo que comentas sobre dataware, estos están en la capa de Interfaz, ya que se adosan a esta última. Ten en cuenta que estos componentes responderán a las fuentes de Datos (DataSource, etc).

Ahora, veo que parece que estás siguiendo un enfoque OO (Sería lógico. ya que es un punto fuerte que ofrece Delphi).

Por un lado tienes las units que responden a tu interfaz y por el otro las que tienen definida toda tu estructura (diagrama de clases) con sus jerarquías, relaciones, etc... Y por el otro las más bajas: la de datos.

La pregunta a la respuesta ¿Cuantas unit son necesarias? Debe responder a estos 3 tipos de units.
Como dije antes:
Cita:
Empezado por Yo
a la cantidad de entidades
Una clase es una entidad. Eso lo sabemos, y dicha clase puede (no necesariamente) ser una representación de alguna tabla. Por lo tanto deberías contemplar este caso: estarías contando doble (la de lógica y de datos)

La cantidad de units responderá en sintesis a una compensación y equilibrio entre tus tres capas.

Me encantaría seguir comentando sobre lo referente a la capa lógica. Pero esto sería oportuno dedicarlo y tratarlo en un hilo aparte.
Como recomendación, deberás tener en cuenta que la cantidad de unidades lógicas a contar responderá también a esta pregunta:

Cita:
¿Consideramos todas las unidades que respondan al arbol de jerarquía? ¿O por el contrario, sólo las que responden en la especialización para responder al problema en cuestión?
Esta última pregunta es vital saber responder. ¿Cuántas contar?
Veamos con un ejemplo: tienes 15 clases, por comodidad cada una declarada en una unidad diferente. De estas 15, 5 son desdendientes. Estas 15 clases fueron definidas en un momento anterior y son para propósito general.

Te da un sistema para hacer y notas que puedes reutilizar la clase inferior que mantienen una relación de herencia (las 5). La pregunta es: ¿Incluirías a la cuenta, las 5 de propósito general , las 15 en su totalidad, o sólo la que empleas para heredar y trabajar?

Lo que trato de decirte es que deberás saber donde termina y comienza tu sistema. Seguir un modelo OO tiene sus claras ventajas pero al momento de la reutilización de módulos y unidades se hace confuso hacer una estimación para llevar el análisis y diseño de tu sistema.

En síntesis. Deberás responderte.

Cita:
¿Donde termina la unión de lo que hace al sistema y comienza lo que responde al propósito general?
Ante cada nuevo sistema, hay un nuevo análisis. Y esta misma pregunta se repite justo en el primer momento de inicio del proyecto. Es necesario saber dar la respuesta, hay que estimar el tamaño, de ello dependerá el buen diseño y evitará confusiones en el futuro.

Espero haberte sido de ayuda. Y si entendí mal, mil disculpas.
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita