Vous êtes sur la page 1sur 15

Programacin IV

Programacin por Capas


Vctor Saquicela G.

Universidad de Cuenca
Facultad de Ingeniera

Cuenca, Ecuador

Historia
Inicios

Antes

Actualidad

Futuro

Introduccin a la Programacin por Capas


Cuando se construye software como producto empresarial o comercial, se llevan a cabo varias tcnicas de manera que el desarrollo se haga en forma ordenada y as poder asegurar un avance contnuo del proyecto, un producto final de calidad, y adems realizar posteriores mejoras sea una tarea ms fcil. Existen muchas prcticas de programacin, dependiendo del tipo de software que se va a desarrollar y de la disciplina o disciplinas de programacin que se utilicen en el desarrollo del producto. Una de las ms utilizadas se llama la programacin por capas, que consiste en dividir el cdigo fuente segn su funcionalidad principal.

Modelo Tradicional
Todas las capas estn ubicadas en un nico elemento y al actualizar un elemento se tendrn que afectar todos.

Caractersticas de la Programacin en Capas.


La programacin por capas es una tcnica de ingeniera de software propia de la programacin por objetos, stos se organizan principalmente en 3 capas: la capa de presentacin o frontera, la capa de lgica de negocio o control, y la capa de datos. Siguiendo el modelo, el desarrollador se asegura avanzar en la programacin del proyecto de una forma ordenada, lo cual beneficia en cuanto a reduccin de costos por tiempo, debido a que se podr avanzar de manera ms segura en el desarrollo, al ser dividida la aplicacin general en varios mdulos y capas que pueden ser tratados de manera independiente y hasta en forma paralela. Otra caracterstica importante de recalcar es la facilidad para las actualizaciones de la aplicacin. En este aspecto, la programacin en capas juega un papel de suma importancia ya que sigue un estndar conocido en el ambiente de desarrollo de aplicaciones, lo cual da al programador una gua para hacer mejoras a la aplicacin sin que esto sea una tarea tediosa y desgastante, siguiendo el estndar establecido para tal fin y dividiendo las tareas en partes especficas para cada capa del proyecto.

Capas

Capa de Presentacin o Frontera


La presentacin del programa ante el usuario, debe manejar interfaces que cumplan con el objetivo principal de este componente, el cual es facilitar al usuario la interaccin con la aplicacin. Para esto se utilizan patrones predefinidos para cada tipo de aplicacin y para cada necesidad del usuario. La interfaz debe ser amigable y fcil de utilizar, ya que el usuario final es el que se va a encargar de utilizar el sistema y de dar retroalimentacin al equipo de desarrollo en caso de que haya algo que mejorar. Las interfaces deben ser consistentes con la informacin que se requiere, no se deben utilizar ms campos de los necesarios, as como la informacin requerida tiene que ser especificada de manera clara y concisa, no debe haber ms que lo necesario en cada formulario y por ltimo, las interfaces deben satisfacer los requerimientos del usuario, por lo cual no se debe excluir informacin solicitada por el usuario final y no se debe incluir informacin no solicitada por el mismo. Dentro de la parte tcnica, la capa de presentacin contiene los objetos encargados de comunicar al usuario con el sistema mediante el intercambio de informacin, capturando y desplegando los datos necesarios para realizar alguna tarea. En esta capa los datos se procesan de manera superficial por ejemplo, para determinar la validez de su formato o para darles algn orden especfico. Esta capa se comunica nicamente con la capa de Reglas de Negocio o Control.

Capa de Lgica de Negocio o Control


Es llamada capa de reglas de negocio porque en esta se definen todas las reglas que se deben cumplir para una correcta ejecucin del programa. Es aqu donde se encuentra toda la lgica del programa, as como las estructuras de datos y objetos encargados para la manipulacin de los datos existentes, as como el procesamiento de la informacin ingresada o solicitada por el usuario en la capa de presentacin. Representa el corazn de la aplicacin ya que se comunica con todas las dems capas para poder llevar a cabo las tareas. Por ejemplo, mediante la capa de presentacin obtiene la informacin ingresada por el usuario, y despliega los resultados. Si la aplicacin se comunica con otros sistemas que actan en conjunto, lo hace mediante esta capa. Tambin se comunica con la capa de datos para obtener informacin existente o ingresar nuevos datos. Recibe los datos que ingres el usuario del sistema mediante la capa de presentacin, luego los procesa y crea objetos segn lo que se necesite hacer con estos datos; esta accin se denomina encapsulamiento. Al encapsular los datos, el programa asegura mantener la consistencia de los mismos, as como obtener informacin precisa de las bases de datos e ingresar en las mismas, solamente la informacin necesaria, asegurando as no tener datos duplicados ni en las bases de datos, ni en los reportes solicitados por el usuario.

Capa de Lgica de Negocio o Control


Toda regla de negocio debe ser implementada en esta capa; la capa de negocios debera ser vista como un conjunto de servicios expuestos a las capas de presentacin de las aplicaciones. Es muy importante definir y disear los componentes de esta capa en trminos de negocios. Por ejemplo, un componente podra ser ServiciosFinancieros, una clase dentro de este componente podra ser ServiciosBancarios, y un mtodo dentro de la clase podra ser ObtenerBalances. Estos componentes deberan estar orientados a las tareas y no orientados a las entidades, para facilitar el desarrollo y mantenimiento de las aplicaciones.

Capa de Datos
Es la encargada de realizar transacciones con bases de datos y con otros sistemas para obtener o ingresar informacin al sistema. El manejo de los datos debe realizarse de forma tal que haya consistencia en los mismos, de tal forma los datos que se ingresan as como los que se extraen de las bases de datos, deben ser consistentes y precisos.

Es en esta capa donde se definen las consultas a realizar en la base de datos, tanto las consultas simples como las consultas complejas parla generacin de reportes ms especficos.
Esta capa enva la informacin directamente a la capa de reglas de negocio para que sea procesada e ingresada en objetos segn se necesite, esta accin se denomina encapsulamiento.

Ventajas y Desventajas
La programacin en capas no es una tcnica rgida que debe implementarse solamente de una forma, sino que los desarrolladores de proyectos tienen mltiples maneras de implementarla segn las tecnologas y tendencias que se utilicen. La satisfaccin de los requerimientos del usuario es la base para escoger el modelo de implementacin a seguir. La tendencia a utilizar el modelo de programacin en capas es grande cuando se trata principalmente de aplicaciones empresariales donde se deben manejar gran cantidad de subsistemas y mdulos, as como generar reportes lo suficientemente complejos como para necesitar un orden estricto a la hora de desarrollar el proyecto. Dentro del concepto de programacin en capas, existen dos trminos esenciales para el mejor entendimiento de los conceptos relativos a esta metodologa, es aqu donde radica la importancia de la cohesin y el acoplamiento dentro de una aplicacin generada mediante este mtodo. Cohesin. Este termino es utilizado para describir el comportamiento que deben tener los mdulos y objetos de un sistema o subsistema, comportamiento que describe la forma en que deben trabajar los objetos y mdulos entre si, con alta cohesin para que trabajando en conjunto los mdulos y objetos puedan alcanzar un solo propsito de manera ms eficaz y rpida. Determina que las operaciones de un objeto deben trabajar en conjunto para alcanzar un propsito comn. Es deseable que haya alta cohesin.

Ventajas y Desventajas
Acoplamiento. Se refiere al grado de dependencia que existe entre los mdulos. Este grado de dependencia debe ser considerablemente bajo ya que el trabajo se divide en mdulos para que cada uno tenga un funcionamiento especfico y puede ser ms factible la implementacin por separado de cada uno. En caso de haber alto acoplamiento entre mdulos no se estara alcanzando el principal objetivo de este modelo, el cual es dividir una tarea grande en varias pequeas, ya que los mdulos actuaran como uno solo al estar altamente acoplados entre s y se perdera el objetivo primordial de dividir el proyecto.

Ventajas
Al implementar este modelo de programacin, se asegura un trabajo de forma ordenada y separada, debido a que sigue el principio de divide y vencers. Cada capa est dividida segn su funcionalidad cuando se quiere modificar el sistema basta con cambiar un objeto o conjunto de objetos de una capa. Esto se llama modularidad.

Desventajas
Cuando se implementa un modelo de programacin en capas, se debe llegar a un balance entre el nmero de capas y subcapas que componen el programa. Este debe ser el necesario y suficiente para realizar un trabajo especfico con eficiencia y ser lo ms modular posible. De lo contrario se tiene una serie de desventajas como: prdida de eficiencia, realizacin de trabajo innecesario o redundante entre capas, gasto de espacio de la aplicacin debido a la expansin de las capas, o bien una alta dependencia entre los objetos y capas que contradice el objetivo principal del modelo.

Algunas tecnologas que implementaciones la Programacin en Capas


En la actualidad, la mayora de las programas comerciales web que se desarrollan se hacen usando dos tecnologas: la herramienta Visual Studio .Net de Microsoft y tecnologas Java.

Vous aimerez peut-être aussi