Ver Mensaje Individual
  #15  
Antiguo 16-04-2009
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
Cita:
Empezado por rgstuamigo Ver Mensaje
Bueno actualmente estoy desarrollando un Sistema de Informacion que trabaja de acuerdo a las especificaciones de UML,el cual todavia estoy en desarrollo;Al empezar dicho sistema tuve muchas dudas de como implementarlo,ya que habia elegido a delphi para el desarrollo,aunque pude hacerlo en java,pero ya habia comenzado con delphi y tuve que seguir,al pasar algunos dias me di cuenta que la forma de trabajar en delphi no es muy adecuada a UML,como lo son otros lenguajes de programacion, y a veces en este foro tuve que postear muchas veces algunas dudas que tenia e incluso llegue hasta pelearme con algunos por aqui(mentira solo algunos debates)para poder entender algunas cosas.
Sobre tus dudas te diria que sigas lo que dice UML acerca de un sistema; pero para resumirte un poco UML nos dice que un sistema debe tener 3 capas ;al hacer un digrama de colaboracion de algun caso de uso te daras cuenta que la primera capa es la capa de datos,la segunda capa de negocio, la tercera capa de presentacion. Acontinuacionte explico algo de cada una:
*La capa de datos son clases encargadas de gestionar la conexion,insercion,actualizacion,etc de los datos con la base de datos.
Generalmente por cada tabla de tu base de dato tendras al menos una clase que se encargue de gestionar lo anteriomente dicho.generalmente estas clases se llaman "clase entidad".
*La capa de Negocio son clases tambien que utilizan objetos de las clases entidades para ejecutar cualquier accion hacia la base de datos,en mi caso es aqui lo que hago las validaciones antes de hacer alguna accion que pueda cambiar mi base de datos.En esta capa esta el negocio de la aplicacion y es como una intermediaria.Generalmente se llaman en UML "Clase Control".
*La capa de presentacion son clases interfas ,es decir son tus clases de tu formulario, donde el usuario se comunica con el sistema, estas clases utilizan a las clases controles.Ten en cuenta que la capa anterior es decir capa de negocio debe ser independiente de esta capa de presentacion en otras palabras por ejemplo no tienes que tener un metodo por ejemplo que llame o utilize digamos a un Edit especifico de algun formulario,pero tu diras ¿Por que?,pues por que que pasaria si por alguna razon en algun tiempo cambias de interfaz,tendrias problemas,en otras palabras es como construir un auto ,la capa de datos seria el motor del auto,la capa de negocio seria las piezas externas al motor como cables,enchufes,etc y la capa de presentacion seria la carcaza del auto, es decir la lata que cubre el auto de tal forma que si se quiere cambiar de caparazon por asi decirlo,tranquilamente se hace ya que el negocio no dependeria de la capa de presentacion.
Para profundizar mas podrias leer algun libro de UML 2.0.el tema es amplio.
Saludos...
Hola rgstuamigo, fíjate que no sabía que UML propone capas. ¿Seguro que UML propone eso?

Porque que yo sepa el estudio del modelo de 3 capas, o de 3 niveles como le suelen llamar algunos, corresponde más a un apartado de la "teoría" OO y no al estándar del lenguaje unificado.

Cuanto mucho podríamos estar hablando del uso del patrón Capas (Layers), pero aún así el estudio escapa a lo que propone UML.

UML sólo ofrece diagramas. Que los patrones, discusiones y/o cualquier documento que trate sobre OO se apoyen en el uso de UML para exponer sus ideas es una cosa pero de allí a que en UML todo se organiza en tres capas me parece un error conceptual.

No es que pretenda traer problemas ni discutir, pero a mi modo de ver es necesario hacer esa aclaración.

Tal vez estoy equivocado, pero debo decir que en ningún lado he leído que UML propone capas.

Craig Larmman en su libro UML y Patrones expone, no de forma exaustiva, pero si con los suficientes detalles sobre el patrón Layers. Recomiendo su lectura. Aquí y aquí hay otro poco sobre el tema, por si interesa.

En parte estoy de acuerdo con que Delphi tal vez se no ajuste totalmente a algunos diseños de UML, como ser por ejemplo los paquetes (recuerdo, que en una ocasión preguntabas y comparabas el uso de las unidades con los paquetes den Java).

Pero he aquí que es un error en hacer que el lenguaje se adapte a UML. Se supone que UML debe ser independiente del lenguaje. A mi modo de ver UML ya ofrece bastante diagramas, y creo que una buena cantidad de ellos se pueden usar con bastante comodidad "en Delphi".

La idea de los tantos diagramas de UML es ofrecer vistas parciales, está en uno en saber y aprender elegir cuando, y que diagramas son útiles. Diagramar por diagramar no es la solución.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita