Você está na página 1de 14

FACULTAD DE INGENIERA

ESCUELA ACADMICO PROFESIONAL DE


INGENIERA CIVIL

MONOGRAFA
TCNICAS DE PROGRAMACN WEB

AUTOR:
Domnguez Malo Fredy Dany

ASESOR:

MAGISTER ADOLFO FAJARDO

NUEVO CHIMBOTE PER


2015

NDICE
I.

INTRODUCCIN........................................................................................ 3
PROBLEMTICA:....................................................................................... 3
IMPORTANCIA DEL PROBLEMA...............................................................3
IMPORTANCIA DEL PROBLEMA...............................................................3
MOTIVACIN............................................................................................. 3
OBJETIVO GENERAL..................................................................................4
OBJETIVO ESPECIFICO............................................................................. 4

II.

CUERPO: TCNICAS DE PROGRAMACIN WEB.........................................5


PROGRAMACIN ORIENTADA A OBJETOS.............................................5
CLASES................................................................................................... 5
CARACTERSTICAS DE LA POO............................................................7
PROGRAMACIN ORIENTADA A ASPECTOS..........................................8
CONCEPTOS:.......................................................................................... 9
PROBLEMAS DE OTROS PARADIGMAS:............................................10
PROGRAMACIN ORIENTADA A AGENTES..........................................10
LNEAS DE INVESTIGACIN Y DESARROLLO...................................11

III.

CONCLUSIN....................................................................................... 12

IV.

BIBLIOGRAFA...................................................................................... 13

I.

INTRODUCCIN

En la actualidad los sistemas de informacin tienen dificultades para


conseguir el xito deseado, debido que una de los sus componentes que es
el desarrollo de aplicacin web tienen dificultades para ser ejecutado, esto
es debido que se requiere un tiempo para la creacin de la programacin y
otro tiempo por separado para la creacin del modelo de datos, no existe
una tcnica que integre ambos aspectos.

PROBLEMTICA:
Problema: Tcnica de Programacin basada en la programacin orientada a
entidades, que renan criterios tcnicos necesarios para mejorar la
Mejorar: Rendimiento del Desarrollo de Aplicacin Web

IMPORTANCIA DEL PROBLEMA


La

experiencia

programadores

prctica
pueden

con

grandes

hacer

frente

proyectos

muestra

algunos

problemas

que
con

los
el

mantenimiento de su cdigo.

IMPORTANCIA DEL PROBLEMA


La programacin orientada a aspectos podra conducir a problemas de
razonamiento

modular,

de

hecho,

al

referirse

los

detalles

de

implementacin de las clases en los aspectos, uno podra inhibir la


mutabilidad

modular

razonamiento

compromiso,

que

requiere

modificaciones de clase, estos deben ser plenamente consciente de los


aspectos que afectan a la clase.

MOTIVACIN
Los casos de uso del calendario MS centrndose en las funciones de
agente y sus objetivos. Para este propsito, algunos actores con la misma
funcionalidad estaban reunidos en un papel de agente nico. En particular,
el profesor y el grupo de estudiantes actores fueron representados por el
papel representativo.
El

diagrama

se

centra

en

el

medio

ambiente

las

dimensiones

organizativas. Programacin de la organizacin se explota aqu para


especificar y gestionar la estrategia de gestin global del sistema, que

implica diferentes roles (de administradores de habitacin individual para


programadores), su coordinacin, y en particular el manejo de los procesos
de reorganizacin necesaria en esos contextos dinmicos
El aporte del proyecto es rbFeatures, un lenguaje de programacin
orientada

la

caracterstica

implementado

sobre

el

lenguaje

de

programacin dinmico Ruby. Con rbFeatures, los programadores utilizan las


lneas de productos de software, variantes y caractersticas como entidades
de primera clase. La extensin de la lnea de productos con nuevas
caractersticas y la provisin de mltiples variantes.

OBJETIVO GENERAL
Cules son los criterios tcnicos de la programacin orientado a entidades
que permitir mejorar el desarrollo de las aplicaciones web?

OBJETIVO ESPECIFICO
Disear un modelo que contemplen las capas entidad como
representacin de las tablas a nivel de objetos.
Proponer una tcnica de programacin
Reducir el tiempo del desarrollo de aplicacin web.

II. TCNICAS DE
PROGRAMACIN WEB
PROGRAMACIN ORIENTADA A OBJETOS
Es un paradigma de programacin que usa los objetos en sus interacciones,
para disear aplicaciones y programas informticos. Est basado en varias
tcnicas,

incluyendo

herencia,

cohesin,

abstraccin,

polimorfismo,

acoplamiento y encapsulamiento. Su uso se populariz a principios de la


dcada de los aos 1990. En la actualidad, existe una gran variedad de
lenguajes de programacin que soportan la orientacin a objeto.
Es un paradigma surgido en los aos 70, que utiliza objetos como elementos
fundamentales en la construccin de la solucin. Un objeto es una
abstraccin de algn hecho o ente del mundo real, con atributos que
representan sus caractersticas o propiedades, y mtodos que emulan su
comportamiento o actividad. Todas las propiedades y mtodos comunes a
los objetos se encapsulan o agrupan en clases. Una clase es una plantilla,
un prototipo para crear objetos; en general, se dice que cada objeto es una
instancia o ejemplar de una clase.
La programacin orientada a objetos es una forma de programar que trata
de encontrar una solucin a estos problemas. Introduce nuevos conceptos,
que superan y amplan conceptos antiguos ya conocidos. Entre ellos
destacan los siguientes:

CLASES
Definiciones de las propiedades y comportamiento de un tipo de objeto
concreto. La instanciacin es la lectura de estas definiciones y la creacin de
un objeto a partir de ella.
HERENCIA
(Por ejemplo, herencia de la clase C a la clase D) es la facilidad mediante la
cual la clase D hereda en ella cada uno de los atributos y operaciones de C,
como si esos atributos y operaciones hubiesen sido definidos por la misma
D. Por lo tanto, puede usar los mismos mtodos y variables pblicas
declaradas en C. Los componentes registrados como "privados" (private)
tambin se heredan, pero como no pertenecen a la clase, se mantienen
escondidos al programador y slo pueden ser accedidos a travs de otros
mtodos pblicos. Esto es as para mantener hegemnico el ideal de POO.

OBJETO
Instancia de una clase. Entidad provista de un conjunto de propiedades o
atributos (datos) y de comportamiento o funcionalidad (mtodos), los
mismos que consecuentemente reaccionan a eventos. Se corresponden con
los objetos reales del mundo que nos rodea, o con objetos internos del
sistema (del programa). Es una instancia a una clase.
MTODO
Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecucin se
desencadena tras la recepcin de un "mensaje". Desde el punto de vista del
comportamiento, es lo que el objeto puede hacer. Un mtodo puede
producir un cambio en las propiedades del objeto, o la generacin de un
"evento" con un nuevo mensaje para otro objeto del sistema.
EVENTO
Es un suceso en el sistema (tal como una interaccin del usuario con la
mquina, o un mensaje enviado por un objeto). El sistema maneja el evento
enviando el mensaje adecuado al objeto pertinente. Tambin se puede
definir como evento la reaccin que puede desencadenar un objeto; es
decir, la accin que genera.
ATRIBUTOS
Caractersticas que tiene la clase.
MENSAJE
Una comunicacin dirigida a un objeto, que le ordena que ejecute uno de
sus mtodos con ciertos parmetros asociados al evento que lo gener.
PROPIEDAD O ATRIBUTO
Contenedor de un tipo de datos asociados a un objeto (o a una clase de
objetos), que hace los datos visibles desde fuera del objeto y esto se define
como sus caractersticas predeterminadas, y cuyo valor puede ser alterado
por la ejecucin de algn mtodo.
ESTADO INTERNO
Es una variable que se declara privada, que puede ser nicamente accedida
y alterada por un mtodo del objeto, y que se utiliza para indicar distintas
situaciones posibles para el objeto (o clase de objetos). No es visible al
programador que maneja una instancia de la clase.
COMPONENTES DE UN OBJETO
Atributos, identidad, relaciones y mtodos.

IDENTIFICACIN DE UN OBJETO
Un objeto se representa por medio de una tabla o entidad que est
compuesta por sus atributos y funciones correspondientes.
En comparacin con un lenguaje imperativo, una "variable" no es ms que
un contenedor interno del atributo del objeto o de un estado interno, as
como la "funcin" es un procedimiento interno del mtodo del objeto.

CARACTERSTICAS DE LA POO
Existe un acuerdo acerca de qu caractersticas contempla la "orientacin a
objetos". Las caractersticas siguientes son las ms importantes:
ABSTRACCIN
Denota las caractersticas esenciales de un objeto, donde se capturan sus
comportamientos. Cada objeto en el sistema sirve como modelo de un
"agente" abstracto que puede realizar trabajo, informar y cambiar su
estado, y "comunicarse" con otros objetos en el sistema sin revelar cmo se
implementan estas caractersticas. Los procesos, las funciones o los
mtodos pueden tambin ser abstrados, y, cuando lo estn, una variedad
de tcnicas son requeridas para ampliar una abstraccin. El proceso de
abstraccin permite seleccionar las caractersticas relevantes dentro de un
conjunto e identificar comportamientos comunes para definir nuevos tipos
de entidades en el mundo real. La abstraccin es clave en el proceso de
anlisis y diseo orientado a objetos, ya que mediante ella podemos llegar a
armar un conjunto de clases que permitan modelar la realidad o el problema
que se quiere atacar.
ENCAPSULAMIENTO
Significa reunir todos

los

elementos

que

pueden

considerarse

pertenecientes a una misma entidad, al mismo nivel de abstraccin. Esto


permite aumentar la cohesin de los componentes del sistema. Algunos
autores

confunden

este

concepto

con

el

principio

de

ocultacin,

principalmente porque se suelen emplear conjuntamente.


MODULARIDAD
Se denomina modularidad a la propiedad que permite subdividir una
aplicacin en partes ms pequeas (llamadas mdulos), cada una de las
cuales debe ser tan independiente como sea posible de la aplicacin en s y
de las restantes partes. Estos mdulos se pueden compilar por separado,
pero tienen conexiones con otros mdulos. Al igual que la encapsulacin, los
lenguajes soportan la modularidad de diversas formas.

PRINCIPIO DE OCULTACIN
Cada objeto est aislado del exterior, es un mdulo natural, y cada tipo de
objeto expone una interfaz a otros objetos que especifica cmo pueden
interactuar con los objetos de la clase. El aislamiento protege a las
propiedades de un objeto contra su modificacin por quien no tenga
derecho a acceder a ellas; solamente los propios mtodos internos del
objeto pueden acceder a su estado. Esto asegura que otros objetos no
puedan cambiar el estado interno de un objeto de manera inesperada,
eliminando efectos secundarios e interacciones inesperadas. Algunos
lenguajes relajan esto, permitiendo un acceso directo a los datos internos
del objeto de una manera controlada y limitando el grado de abstraccin. La
aplicacin entera se reduce a un agregado o rompecabezas de objetos.
POLIMORFISMO
Comportamientos

diferentes,

asociados

objetos

distintos,

pueden

compartir el mismo nombre; al llamarlos por ese nombre se utilizar el


comportamiento correspondiente al objeto que se est usando. O, dicho de
otro modo, las referencias y las colecciones de objetos pueden contener
objetos de diferentes tipos, y la invocacin de un comportamiento en una
referencia producir el comportamiento correcto para el tipo real del objeto
referenciado. Cuando esto ocurre en "tiempo de ejecucin", esta ltima
caracterstica se llama asignacin tarda o asignacin dinmica. Algunos
lenguajes proporcionan medios ms estticos (en "tiempo de compilacin")
de polimorfismo, tales como las plantillas y la sobrecarga de operadores de
C++.
HERENCIA
Las clases no se encuentran aisladas, sino que se relacionan entre s,
formando

una

jerarqua

de

clasificacin.

Los

objetos

heredan

las

propiedades y el comportamiento de todas las clases a las que pertenecen.


La herencia organiza y facilita el polimorfismo y el encapsulamiento,
permitiendo a los objetos ser definidos y creados como tipos especializados
de

objetos

preexistentes.

Estos

pueden

compartir

(y

extender)

su

comportamiento sin tener que volver a implementarlo. Esto suele hacerse


habitualmente agrupando los objetos en clases y estas en rboles o
enrejados que reflejan un comportamiento comn. Cuando un objeto hereda
de ms de una clase se dice que hay herencia mltiple; siendo de alta

complejidad tcnica por lo cual suele recurrirse a la herencia virtual para


evitar la duplicacin de datos.
RECOLECCIN DE BASURA
La recoleccin de basura o garbage collection es la tcnica por la cual el
entorno de objetos se encarga de destruir automticamente, y por tanto
desvincular la memoria asociada, los objetos que hayan quedado sin
ninguna referencia a ellos. Esto significa que el programador no debe
preocuparse por la asignacin o liberacin de memoria, ya que el entorno la
asignar al crear un nuevo objeto y la liberar cuando nadie lo est usando.
En la mayora de los lenguajes hbridos que se extendieron para soportar el
Paradigma de Programacin Orientada a Objetos como C++ u Object Pascal,
esta caracterstica no existe y la memoria debe desasignarse expresamente.

PROGRAMACIN ORIENTADA A ASPECTOS


Es un paradigma de programacin relativamente reciente cuya intencin es
permitir una adecuada popularizacin de las aplicaciones y posibilitar una
mejor separacin de incumbencias (Obligacin o correspondencia de hacer
algo).

CONCEPTOS:
Debido a la escasa literatura en espaol sobre el tema, se presenta la
terminologa original en ingls.
ASPECT (ASPECTO) es una funcionalidad transversal (cross-cutting) que se
va a implementar de forma modular y separada del resto del sistema. El
ejemplo ms comn y simple de un aspecto es el logging (registro de
sucesos) dentro del sistema, ya que necesariamente afecta a todas las
partes del sistema que generan un suceso.
JOIN POINT (PUNTO DE CRUCE O DE UNIN) es un punto de ejecucin
dentro del sistema donde un aspecto puede ser conectado, como una
llamada a un mtodo, el lanzamiento de una excepcin o la modificacin de
un campo. El cdigo del aspecto ser insertado en el flujo de ejecucin de la
aplicacin para aadir su funcionalidad.
ADVICE (CONSEJO) es la implementacin del aspecto, es decir, contiene el
cdigo que implementa la nueva funcionalidad. Se insertan en la aplicacin
en los Puntos de Cruce.

POINTCUT (PUNTOS DE CORTE) define los Consejos que se aplicarn a


cada Punto de Cruce. Se especifica mediante Expresiones Regulares o
mediante patrones de nombres (de clases, mtodos o campos), e incluso
dinmicamente

en

tiempo

de

ejecucin

segn

el

valor

de

ciertos

parmetros.
INTRODUCTION (INTRODUCCIN) permite aadir mtodos o atributos a
clases ya existentes. Un ejemplo en el que resultara til es la creacin de
un Consejo de Auditora que mantenga la fecha de la ltima modificacin de
un objeto, mediante una variable y un mtodo SETULTIMAMODIFICACION
(FECHA), que podran ser introducidos en todas las clases (o slo en
algunas) para proporcionarles esta nueva funcionalidad.
TARGET (DESTINATARIO) es la clase aconsejada, la clase que es objeto de
un consejo. Sin AOP, esta clase debera contener su lgica, adems de la
lgica del aspecto.
PROXY (RESULTANTE) es el objeto creado despus de aplicar el Consejo al
Objeto Destinatario. El resto de la aplicacin nicamente tendr que
soportar al Objeto Destinatario (pre-AOP) y no al Objeto Resultante (postAOP).
WEAVING (TEJIDO) es el proceso de aplicar Aspectos a los Objetos
Destinatarios para crear los nuevos Objetos Resultantes en los especificados
Puntos de Cruce. Este proceso puede ocurrir a lo largo del ciclo de vida del
Objeto Destinatario:

Aspectos en Tiempo de Compilacin, que necesita un compilador

especial.
Aspectos en Tiempo de Carga, los Aspectos se implementan
cuando el Objeto Destinatario es cargado. Requiere un ClassLoader

especial.
Aspectos en Tiempo de Ejecucin.

PROBLEMAS DE OTROS PARADIGMAS:


Muchas veces nos encontramos, a la hora de programar, con problemas que
no podemos resolver de una manera adecuada con las tcnicas habituales
usadas en la programacin imperativa o en la programacin orientada a
objetos. Con stas, nos vemos forzados a tomar decisiones de diseo que

repercuten de manera importante en el desarrollo de la aplicacin y que nos


alejan con frecuencia de otras posibilidades.
A menudo, hace falta escribir lneas de cdigo que estn distribuidas por
toda o gran parte de la aplicacin, para definir la lgica de cierta propiedad
o comportamiento del sistema, con las consecuentes dificultades de
mantenimiento y desarrollo. En ingls este problema se conoce como
scattered code, que podramos traducir como cdigo disperso. Otro
problema que puede aparecer, es que un mismo mdulo implemente
mltiples comportamientos o aspectos del sistema de forma simultnea. En
ingls este problema se conoce como tangled code, que podramos traducir
como cdigo enmaraado. El hecho es que hay ciertas decisiones de diseo
que son difciles de capturar, debido a que determinados problemas no se
pueden encapsular claramente de igual forma que los que habitualmente se
resuelven con funciones u objetos.

PROGRAMACIN ORIENTADA A AGENTES


La presente lnea de investigacin surge de dos observaciones. Por un lado,
observamos que el paradigma orientado a agentes an hoy no se encuentra
con sesudamente definido dentro de las diferentes reas de las ciencias de
la computacin. Por el otro lado, la combinacin de conceptos y
herramientas de los diferentes paradigmas de programacin en lenguajes
actuales demostraron ser la va ms adecuada para la elaboracin de
herramientas

de

desarrollo

de

software

que

permitan

representar

adecuadamente los problemas y soluciones de dominios de la vida real. A


partir de estas observaciones comenzamos una investigacin cuyo objetivo
es establecer las bases para dar origen a una definicin definitiva del
paradigma orientado a agentes, mostrando que constituye la convergencia
entre los dems paradigmas. Con este fin nos proponemos desarrollar un
lenguaje de programacin que incorpore sus ideas elementales de manera
armnica. Para su desarrollo escogimos un lenguaje multiparadigma basado
en la programacin lgica, por sus numerosas extensiones y la facilidad con
la que permite definir nuevas estructuras sintcticas, semnticas y de
control. Como conclusin de este trabajo utilizaremos el nuevo lenguaje
para desarrollar aplicaciones prcticas en diversos campos como la robtica,
la domtica, el desarrollo de aplicaciones mviles, etc.

LNEAS DE INVESTIGACIN Y DESARROLLO


Para alcanzar los objetivos propuestos por esta lnea de investigacin, se
abordarn los ejes principales detallados a continuacin.
Caractersticas esenciales y deseables de un lenguaje orientado a agentes
Determinaremos cual es el conjunto mnima de caractersticas que debe
poseer un lenguaje para cumplir con los lineamientos de la orientacin a
agentes, clasificndolas entre caractersticas inter-agentes o exgenas e
entra-agentes o endgenas. Para esto, analizaremos varias plataformas y
lenguajes que actualmente incorporan en alguna medida conceptos de
agencia.
Representacin

del

conocimiento

razonamiento

mediante

FLUX

Desarrollaremos las estructuras mentales que podrn incorporar los agentes


de nuestro lenguaje adaptando el mtodo de programacin lgica FLUX
basado en el clculo fluente. Este mtodo utiliza
CONSTRAINT HANDLING RULES

para implementar el razonamiento en

dominios parcialmente observables, por lo que ser necesario su estudio y


la eventual colaboracin con el grupo de investigacin.
Implementacin del lenguaje en Ciao Prolog Implementaremos el lenguaje
sobre

Ciao

Prologo

multiparadigma

una

desarrollada

plataforma
y

de

mantenida

desarrollo

por

el

grupo

ejecucin
CLIP.

Esta

herramienta brinda facilidades para incorporar nuevas caractersticas


mediante las tcnicas de meta programacin

y compilacin de control.

Adems,

Prolog

en

versiones

recientes

de

Ciao

construcciones para la comunicacin entre agentes

se

incorporaron

que nos resultaran

tiles para construir sobre ellas nuestro lenguaje permitiendo abstraernos


de esas cuestiones.

III. CONCLUSIN
En la Programacin Orientada a los programas son representados por un
conjunto de objetos que interactan. Un objeto engloba datos y operaciones
sobre estos datos. La Programacin Orientada constituye una buena opcin
a la hora de resolver un problema, sobre todo cuando ste es muy extenso.
En este enfoque de programacin, se facilita evitar la repeticin de cdigo,
no slo a travs de la creacin de clases que hereden propiedades y
mtodos de otras, sino adems que el cdigo es reutilizable por sistemas
posteriores que tengan alguna similitud con los ya creados.
Pese a las grandes ventajas que ofrece la programacin orientada gracias a
caractersticas propias como la herencia y la encapsulacin, an quedan
problemas por solucionar. No hay un lenguaje dominante que elimine la
dependencia que existe entre unos y otros, y las definiciones de las clases
pueden resultar errneas despus de meses de trabajo. Por otro lado, todos
los elementos del programa deben de ser vistos como objetos y la transicin
a este tipo de programacin hace que sea necesario el reciclaje de muchos
de los programadores.
Aun as, las lneas de investigacin no se detienen y empieza a hablarse de
programacin orientada. Aunque es todava un paradigma en estado
embrionario, cada vez es ms gente la que se interesa por ella.

IV. BIBLIOGRAFA

BOOCH,

Applications". 2da. edicin, Benjamn/Cummings Publishing, 1993.


CARMONA, Rhadams. El Enfoque Orientado a Objetos. Gua para

estudiantes de Algoritmos y Programacin. UCV. 2004.


COTO, Ernesto. Notacin Algortmica para estudiantes de Algoritmos y

Programacin. UCV.
DEITEL & DEITEL. "Cmo Programar en Java". Pearson Prentice Hall,

2004
JOYANES AGUILAR, Luis; RODRGUEZ BAENA, Luis; FERNNDEZ,
Matilde.

"Texto:

"Object-oriented

Fundamentos

Analysis

de

and

Design

Programacin,

with

Algoritmos,

Estructuras de Datos y Objetos". McGraw-Hill, 2003


JOYANES AGUILAR, Luis; RODRGUEZ BAENA, Luis; FERNNDEZ,
Matilde.

Grady.

"Libro

de

problemas:

Fundamentos

de

Programacin,

Algoritmos, Estructuras de Datos y Objetos". McGraw-Hill, 2003


WU, Thomas C. Introduccin a la Programacin Orientada a Objetos
en Java. McGraw-Hill. 2001

Você também pode gostar