1. UNIVERSIDAD NACIONAL DE TRUJILLO
FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS
ESCUELA ACADÉMICO PROFESIONAL DE INFORMÁTICA
“PROGRAMACION POR CAPAS”
CURSO
TOPICOS ESPECIALES EN INGENIERIA DE SOFTWARE
DOCENTE
ING. ARTURO DIAZ PULIDO
INTEGRANTES
CASTRO REYNA FRANK PETER
ACATE VENEGAS KAREN SOFIA
IWAMATSU FERNANDO
TRUJILLO - PERÚ
2014
2. PROGRAMACION POR CAPAS
Universidad Nacional de Trujillo
Índice
Caratula….………………………………………………………………….................. 1
Índice…………..….………………………………………………………………...….. 2
Dedicatoria…………………………………………………………………..…..…..… 3
Introducción……..………………………………………………………………....….. 4
MARCO TEORICO……………………………………………………………..….…. 5
Capítulo I : Programación por capas………………………………………..... 5
Capítulo II : Características………………………………………………….... 6
Capítulo III : Capas y Niveles……………………………………………...….. 7
Capítulo IV : Ventajas y Desventajas…………………………………….….. 10
Capítulo IV : Ejemplo de programaciónpor capas………………………..... 11
Conclusiones………………………….……………………………………………..… 16
Referencias Bibliográficas………………………………………………………..…. 17
1
3. PROGRAMACION POR CAPAS
Universidad Nacional de Trujillo
Dedicatoria
Dedicado al conocimiento para brindar un enfoque
diferente sobre la ingeniería de software y como base de
conocimiento para nuestros compañeros y nuestro profesor
Arturo Díaz Pulido por sus enseñanzas.
Acate Venegas Karen Sofía
Castro Reyna Frank Peter
Iwamatsu Fernando
2
4. Universidad Nacional de Trujillo
PROGRAMACION POR CAPAS
Introducción
La programación por capas es una técnica que se usa para el desarrollo de
software el cual permita que dicho software sea escalable, mantenible, consistente
y que tenga un aspecto mucho más profesional de desarrollo, no como la clásica
programación secuencial.
En el diseño de sistemas informáticos actual se suelen usar las arquitecturas
multinivel o Programación por capas. En dichas arquitecturas a cada nivel se le
confía una misión simple, lo que permite el diseño de arquitecturas escalables que
pueden ampliarse con facilidad en caso de que las necesidades aumenten.
3
5. Universidad Nacional de Trujillo
PROGRAMACION POR CAPAS
Marco Teórico
Capítulo I:
Programación por Capas
La programación por capas es una arquitectura cliente-servidor en el que el
objetivo primordial es la separación de la lógica de negocios de la lógica de diseño;
un ejemplo básico de esto consiste en separar la capa de datos de la capa de
presentación al usuario.
La ventaja principal de este estilo es que el desarrollo se puede llevar a cabo en
varios niveles y, en caso de que sobrevenga algún cambio, sólo se ataca al nivel
requerido sin tener que revisar entre código mezclado. Un buen ejemplo de este
método de programación sería el modelo de interconexión de sistemas abiertos.
Además, permite distribuir el trabajo de creación de una aplicación por niveles; de
este modo, cada grupo de trabajo está totalmente abstraído del resto de niveles, de
forma que basta con conocer la API que existe entre niveles.
La programación orientada a capas se caracteriza por ser un tipo de diseño en el
desarrollo de software mediante clases las cuales se separan generalmente en:
La capa de datos.
La capa de negocios.
La capa de presentación.
El diseño más utilizado actualmente es el diseño en tres niveles (o en tres capas)
4
6. Universidad Nacional de Trujillo
PROGRAMACION POR CAPAS
Capítulo II:
Características
La programación por capas es una técnica de ingeniería de software propia de la
programación por objetos, éstos se organizan principalmente en 3 capas: la capa
de presentación o frontera, la capa de lógica de negocio o control, y la capa de
datos. Siguiendo el modelo, el desarrollador se asegura avanzar en la
programación del proyecto de una forma ordenada, lo cual beneficia en cuanto a
reducción de costos por tiempo, debido a que se podrá avanzar de manera más
segura en el desarrollo, al ser dividida la aplicación general en varios módulos y
capas que pueden ser tratados de manera independiente y hasta en forma
paralela.
Por otra parte, otra característica importante de recalcar es la facilidad para las
actualizaciones de la aplicación. En este aspecto, la programación en capas juega
un papel de suma importancia ya que sigue un estándar conocido en el ambiente
de desarrollo de aplicaciones, lo cual da al programador una guía para hacer
mejoras a la aplicación sin que esto sea una tarea tediosa y desgastante, siguiendo
el estándar establecido para tal fin y dividiendo las tareas en partes específicas
para cada capa del proyecto.
5
7. Universidad Nacional de Trujillo
PROGRAMACION POR CAPAS
Capítulo III:
Capas y niveles:
1. Capa de presentación:
La presentación del programa ante el usuario, debe manejar interfaces que
cumplan con el objetivo principal de este componente, el cual es facilitar al
usuario la interacción con la aplicación. Para esto se utilizan patrones
predefinidos para cada tipo de aplicación y para cada necesidad del usuario.
La interfaz debe ser amigable y fácil de utilizar, ya que el usuario final es el que
se va a encargar de utilizar el sistema y de dar retroalimentación al equipo de
desarrollo en caso de que haya algo que mejorar.
Las interfaces deben ser consistentes con la información que se requiere, no se
deben utilizar más campos de los necesarios, así como la información
requerida tiene que ser especificada de manera clara y concisa, no debe haber
más que lo necesario en cada formulario y por último, las interfaces deben
satisfacer los requerimientos del usuario, por lo cual no se debe excluir
información solicitada por el usuario final y no se debe incluir información no
solicitada por el mismo.
Dentro de la parte técnica, la capa de presentación contiene los objetos
encargados de comunicar al usuario con el sistema mediante el intercambio de
información, 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 algún orden
específico.
Esta capa se comunica únicamente con la capa de Reglas de Negocio o Control.
6
8. Universidad Nacional de Trujillo
PROGRAMACION POR CAPAS
2. Capa de negocio:
Es llamada capa de reglas de negocio porque en esta se definen todas las reglas
que se deben cumplir para una correcta ejecución del programa.
Es aquí donde se encuentra toda la lógica del programa, así como las
estructuras de datos y objetos encargados para la manipulación de los datos
existentes, así como el procesamiento de la información ingresada o solicitada
por el usuario en la capa de presentación.
Representa el corazón de la aplicación ya que se comunica con todas las demás
capas para poder llevar a cabo las tareas. Por ejemplo, mediante la capa de
presentación obtiene la información ingresada por el usuario, y despliega los
resultados. Si la aplicación se comunica con otros sistemas que actúan en
conjunto, lo hace mediante esta capa. También se comunica con la capa de
datos para obtener información existente o ingresar nuevos datos.
Recibe los datos que ingresó el usuario del sistema mediante la capa de
presentación, luego los procesa y crea objetos según lo que se necesite hacer
con estos datos; esta acción se denomina encapsulamiento.
Al encapsular los datos, el programa asegura mantener la consistencia de los
mismos, así como obtener información precisa de las bases de datos e ingresar
en las mismas, solamente la información necesaria, asegurando así no tener
datos duplicados ni en las bases de datos, ni en los reportes solicitados por el
usuario.
7
9. Universidad Nacional de Trujillo
PROGRAMACION POR CAPAS
3. Capa de datos:
Es la encargada de realizar transacciones con bases de datos y con otros
sistemas para obtener o ingresar información 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 generación de
reportes más específicos.
Esta capa envía la información directamente a la capa de reglas de negocio
para que sea procesada e ingresada en objetos según se necesite, esta acción se
denomina encapsulamiento.
8
10. Universidad Nacional de Trujillo
PROGRAMACION POR CAPAS
Capítulo IV:
Ventajas y Desventajas:
La programación en capas no es una técnica rígida que debe implementarse
solamente de una forma, sino que los desarrolladores de proyectos tienen
múltiples maneras de implementarla según las tecnologías y tendencias que se
utilicen.
La satisfacción de los requerimientos del usuario es la base para escoger el modelo
de implementación a seguir. La tendencia a utilizar el modelo de programación en
capas es grande cuando se trata principalmente de aplicaciones empresariales
donde se deben manejar gran cantidad de subsistemas y módulos, así como
generar reportes lo suficientemente complejos como para necesitar un orden
estricto a la hora de desarrollar el proyecto.
Dentro del concepto de programación en capas, existen dos términos esenciales
para el mejor entendimiento de los conceptos relativos a esta metodología, es aquí
donde radica la importancia de la cohesión y el acoplamiento dentro de una
aplicación generada mediante este método.
9
11. PROGRAMACION POR CAPAS
Universidad Nacional de Trujillo
Capítulo V:
Ejemplo de programación por capas:
La Programación por Capases una Arquitectura Cliente-Servidor, cuyo principal
objetivo es separar La Lógica de Negocio de la Lógica de Diseño.
Esquema de programación en 3 capas
10
12. PROGRAMACION POR CAPAS
Universidad Nacional de Trujillo
Convertir el código a la arquitectura 3 capas:
El Módulo MostrarCategoría contiene todo el código fuente en un mismo archivo,
en este se puede observar la conexión a la Base de Datos, la consulta SQL y el
despliegue de la información al Usuario.
Modulo MostrarCategoria:
11
13. Universidad Nacional de Trujillo
PROGRAMACION POR CAPAS
Módulo MostrarCategoria en arquitectura 3 capas:
Empezamos creando la estructura física de los archivos, bajo la Arquitectura 3
Capas.Crearemos 3 carpetas (para la Capa de Datos, Capa de Negocio y Capa de
Presentación).
Capa de Datos, creamos la Clase de conexión que se conectará a la Base de
Datos.
Capa de Negocio, creamos la Clase Categoría que tendrá todas las
consultas SQL
Capa Presentación, creamos el módulo Categoría que llamará a la
ClaseCategoria solicitando información y desplegará el resultado en
pantalla
12
14. Universidad Nacional de Trujillo
PROGRAMACION POR CAPAS
Capa de datos ClaseConexion.php :
Declaramos la Clase Conexión, para poder conectarnos la base de Datos MySQL
Capa de Negocio ClaseCategoria.php:
Vinculamos a la Capa de Datos, con la función “include”Declaramos la Clase
Categoría, con sus atributos y métodos .El Método buscarTodo() especifica el
código de la consulta SQL
13
15. Universidad Nacional de Trujillo
PROGRAMACION POR CAPAS
Capa de Presentación ModuloCategoria.php :
Vinculamos a la Capa de Negocios, para instanciar un objeto de la claseCategoria,
y así poder llamar al Método mostrarTodo que nos devolverá un Conjunto de
Datos, realizamos un recorrido para mostrar el resultado en pantalla.
14
16. Universidad Nacional de Trujillo
PROGRAMACION POR CAPAS
Conclusiones:
La programación en capas ha sido una de las últimas tendencias en cuanto a
software comercial se refiere, es una tendencia que bien aplicada puede resultar en
un desarrollo de software eficiente.
Sin embargo, no todos los equipos ni empresas desarrolladoras usan un sistema
rígido, ni existe una forma estricta en la que tenga que implementarse el modelo
de capas, cada quién debe hacerlo según sus necesidades, alcances y lo más
importante; las tendencias y nuevas tecnologías que vayan surgiendo.
Es importante tener en cuenta que no importa el lenguaje de programación usado,
o el tipo de implementación que se le dé al modelo; se debe buscar una alta
cohesión y un bajo acoplamiento dentro de los objetos y capas para lograr que la
aplicación sea fácilmente desarmable y sea más sencillo realizar mejoras y
actualizaciones al sistema.
15
17. Universidad Nacional de Trujillo
PROGRAMACION POR CAPAS
Referencias bibliográficas:
[1]http://www.di-mare.com/adolfo/cursos/2007-2/pp-3capas.pdf
[1]http://todoenjava.blogspot.com/2013/01/programacion-orientadaobjetos.html
[1]http://es.wikipedia.org/wiki/Programaci%C3%B3n_por_capas
[1]http://www.slideshare.net/bboypeterdbc/savedfiles?s_title=programacinpor-capas-en-php&user_login=ramir0ck
16