Sie sind auf Seite 1von 14

Paradigma

El trmino paradigma significa ejemplo o modelo.


Etimologa
El trmino paradigma1 se origina en la palabra griega
(pardeigma) que a su vez se divide en dos vocablos "par" (junto) y "digma"
(modelo), en general, etimolgicamente significa modelo o ejemplo . A su
vez tiene las mismas races que demostrar.
En trminos generales se puede definir al trmino paradigma como la forma de
visualizar e interpretar los mltiples conceptos, esquemas o modelos del
comportamiento en todas las etapas de la humanidad en lo psicolgico y
filosfico, que influyen en el desarrollo de las diferentes sociedades as como
de las empresas, integradas e influenciadas por lo econmico, intelectual,
tecnolgico, cientfico, cultural, artstico, y religioso que al ser aplicados
pueden sufrir modificaciones o evoluciones segn las situaciones para el
beneficio de todos.
Paradigma de programacin
Un paradigma de programacin es una propuesta tecnolgica que es adoptada
por una comunidad de programadores cuyo ncleo central es incuestionable en
cuanto a que unvocamente trata de resolver uno o varios problemas
claramente delimitados. La resolucin de estos problemas debe suponer
consecuentemente un avance significativo en al menos un parmetro que
afecte a la ingeniera de software. Tiene una estrecha relacin con la
formalizacin de determinados lenguajes en su momento de definicin. Un
paradigma de programacin est delimitado en el tiempo en cuanto a
aceptacin y uso ya que nuevos paradigmas aportan nuevas o mejores
soluciones que la sustituyen parcial o totalmente.
Un paradigma de programacin provee (y determina) la visin y mtodos de un
programador en la construccin de un programa o subprograma. Diferentes
paradigmas resultan en diferentes estilos de programacin y en diferentes
formas de pensar la solucin de problemas (con la solucin de mltiples
problemas se construye una aplicacin).
Ejemplo :
Probablemente el paradigma de programacin que actualmente es el ms
usado a todos los niveles es la orientacin a objeto. El ncleo central de este
paradigma es la unin de datos y procesamiento en una entidad llamada
"objeto", relacionable a su vez con otras entidades "objeto".

Tradicionalmente datos y procesamiento se han separado en reas diferente


del diseo y la implementacin de software. Esto provoc que grandes
desarrollos tuvieran problemas de fiabilidad, mantenimiento, adaptacin a los
cambios y escalabilidad. Con la orientacin a objetos y caractersticas como el
encapsulado, polimorfismo o la herencia se permiti un avance significativo en
el desarrollo de software a cualquier escala de produccin.
Tipos de paradigmas de programacin ms comunes

Imperativo o por procedimientos: es considerado el ms comn y est


representado, por ejemplo, por C, BASIC o Pascal

Funcional: est representado por Scheme o Haskell. Este es un caso del


paradigma declarativo.

Lgico: est representado por Prolog. Este es otro caso del paradigma
declarativo.

Declarativo: por ejemplo la programacin funcional, la programacin


lgica, o la combinacin lgico-funcional.

Orientado a objetos: est representado por Smalltalk, un lenguaje


completamente orientado a objetos.

Programacin declarativa

Programacin declarativa
La Programacin Declarativa, es un paradigma de programacin que est
basado en el desarrollo de programas especificando o "declarando" un

conjunto de condiciones, proposiciones, afirmaciones, restricciones,


ecuaciones o transformaciones que describen el problema y detallan su
solucin. La solucin es obtenida mediante mecanismos internos de control,
sin especificar exactamente cmo encontrarla (tan slo se le indica a la
computadora que es lo que se desea obtener o que es lo que se est
buscando). No existen asignaciones destructivas, y las variables son
utilizadas con Transparencia referencial

Programacin estructurada

Programacin estructurada
La programacin estructurada es una forma de escribir programas de
ordenador (programacin de computadora) de manera clara. Para ello
utiliza nicamente tres estructuras: secuencia, seleccin e iteracin; siendo
innecesario el uso de la instruccin o instrucciones de transferencia
incondicional (GOTO, EXIT FUNCTION, EXIT SUB o mltiples RETURN).
Hoy en da las aplicaciones informticas son mucho ms ambiciosas que
las necesidades de programacin existentes en los aos 1960,
principalmente debido a las aplicaciones grficas, por lo que las tcnicas de
programacin estructurada no son suficientes. Ello ha llevado al desarrollo
de nuevas tcnicas, tales como la programacin orientada a objetos y el
desarrollo de entornos de programacin que facilitan la programacin de
grandes aplicaciones.

Programacin dirigida por eventos

Programacin dirigida por eventos


La programacin dirigida por eventos es un paradigma de programacin en
el que tanto la estructura como la ejecucin de los programas van
determinados por los sucesos que ocurran en el sistema, definidos por el
usuario o que ellos mismos provoquen.
Para entender la programacin dirigida por eventos, podemos oponerla a lo
que no es: mientras en la programacin secuencial (o estructurada) es el
programador el que define cul va a ser el flujo del programa, en la
programacin dirigida por eventos ser el propio usuario o lo que sea que
est accionando el programa el que dirija el flujo del programa. Aunque
en la programacin secuencial puede haber intervencin de un agente
externo al programa, estas intervenciones ocurrirn cuando el programador
lo haya determinado, y no en cualquier momento como puede ser en el
caso de la programacin dirigida por eventos.
El creador de un programa dirigido por eventos debe definir los eventos que
manejarn su programa y las acciones que se realizarn al producirse cada
uno de ellos, lo que se conoce como el administrador de evento. Los
eventos soportados estarn determinados por el lenguaje de programacin
utilizado, por el sistema operativo e incluso por eventos creados por el
mismo programador.
En la programacin dirigida por eventos, al comenzar la ejecucin del
programa se llevarn a cabo las inicializaciones y dems cdigo inicial y a
continuacin el programa quedar bloqueado hasta que se produzca algn
evento. Cuando alguno de los eventos esperados por el programa tenga

lugar, el programa pasar a ejecutar el cdigo del correspondiente


administrador de evento. Por ejemplo, si el evento consiste en que el
usuario ha hecho click en el botn de play de un reproductor de pelculas,
se ejecutar el cdigo del administrador de evento, que ser el que haga
que la pelcula se muestre por pantalla.
Un ejemplo claro lo tenemos en los sistemas de programacin Lexico y
Visual Basic, en los que a cada elemento del programa (objetos, controles,
etctera) se le asignan una serie de eventos que generar dicho elemento,
como la pulsacin de un botn del ratn sobre l o el redibujado del control.
La programacin dirigida por eventos es la base de lo que llamamos interfaz
de usuario, aunque puede emplearse para desarrollar interfaces entre
componentes de Software como mdulos del ncleo tambin.
En los primeros tiempos de la computacin, los programas eran
secuenciales, tambin llamados Batch. Un programa secuencial arranca,
lee parmetros de entrada, procesa estos parmetros, y produce un
resultado, todo de manera lineal y sin intervencin del usuario mientras se
ejecuta.
Con la aparicin y popularizacin de los pc, el software empez a ser
demandado para usos alejados de los clsicos acadmicos y empresariales
para los cuales era necesitado hasta entonces, y qued patente que el
paradigma clsico de programacin no poda responder a las nuevas
necesidades de interaccin con el usuario que surgieron a raz de este
hecho...

Programacin modular

Programacin modular

La programacin modular es un paradigma de programacin que consiste

en dividir un programa en mdulos o subprogramas con el fin de hacerlo


ms legible y manejable.
Se presenta histricamente como una evolucin de la programacin
estructurada para solucionar problemas de programacin ms grandes y
complejos de lo que sta puede resolver.
Al aplicar la programacin modular, un problema complejo debe ser
dividido en varios subproblemas ms simples, y estos a su vez en otros
subproblemas ms simples. Esto debe hacerse hasta obtener
subproblemas lo suficientemente simples como para poder ser resueltos
fcilmente con algn lenguaje de programacin. sta tcnica se llama
refinamiento sucesivo, divide y vencers anlisis descendente (TopDown).
Un mdulo es cada una de las partes de un programa que resuelve uno
de los subproblemas en que se divide el problema complejo original. Cada
uno de estos mdulos tiene una tarea bien definida y algunos necesitan de
otros para poder operar. En caso de que un mdulo necesite de otro, puede
comunicarse con ste mediante una interfaz de comunicacin que tambin
debe estar bien definida.
Si bien un modulo puede entenderse como una parte de un programa en
cualquiera de sus formas y variados contextos, en la prctica es comn
representarlos con procedimientos y funciones. Adicionalmente, tambin
pueden considerarse mdulos las libreras que pueden incluirse en un
programa o, en programacin orientada a objetos, la implementacin de un
tipo de dato abstracto.

Programacin orientada a objetos

Programacin orientada a objetos


La programacin orientada a objetos o POO (OOP segn sus siglas en
ingls) es un paradigma de programacin que usa objetos y sus
interacciones, para disear aplicaciones y programas informticos. Est
basado en varias tcnicas, incluyendo herencia, abstraccin, polimorfismo y
encapsulamiento. Su uso se populariz a principios de la dcada de los
aos 1990. En la actualidad, existe variedad de lenguajes de programacin
que soportan la orientacin a objetos.
Clase
En la programacin orientada a objetos, una clase es una construccin que se utiliza
como un modelo (o plantilla) para crear objetos de ese tipo. El modelo describe el
estado y el comportamiento que todos los objetos de la clase comparten. Un objeto de

una determinada clase se denomina una instancia de la clase. La clase que contiene
(y se utiliz para crear) esa instancia se puede considerar como del tipo de ese objeto,
por ejemplo, una instancia del objeto de la clase "Personas" sera del tipo "Personas".
Una clase por lo general representa un sustantivo, como una persona, lugar o
(posiblemente bastante abstracta) cosa - es el modelo de un concepto dentro de un
programa de computadora. Fundamentalmente, encapsula el estado y el
comportamiento del concepto que representa. Encapsula el estado a travs de
marcadores de datos llamados atributos (o variables miembro o variables de
instancia), encapsula el comportamiento a travs de secciones de cdigo reutilizables
llamados mtodos.

Objeto
En el paradigma de programacin orientada a objetos (POO, o bien OOP en ingls),
un objeto se define como la unidad que en tiempo de ejecucin realiza las tareas de
un programa. Tambin a un nivel ms bsico se define como la instancia de una
clase.
Estos objetos interactan unos con otros, en contraposicin a la visin tradicional en
la cual un programa es una coleccin de subrutinas (funciones o procedimientos), o
simplemente una lista de instrucciones para el computador. Cada objeto es capaz de
recibir mensajes, procesar datos y enviar mensajes a otros objetos de manera similar
a un servicio.
Abstraccin
La abstraccin consiste en aislar un elemento de su contexto o del resto de los
elementos que lo acompaan. En programacin, el trmino se refiere al nfasis en el
"qu hace?" ms que en el "cmo lo hace?" (caracterstica de caja negra). El
comn denominador en la evolucin de los lenguajes de programacin, desde los
clsicos o imperativos hasta los orientados a objetos, ha sido el nivel de abstraccin
del que cada uno de ellos hace uso.
Los lenguajes de programacin son las herramientas mediante las cuales los
diseadores de lenguajes pueden implementar los modelos abstractos. La abstraccin
ofrecida por los lenguajes de programacin se puede dividir en dos categoras:
abstraccin de datos (pertenecientes a los datos) y abstraccin de control
(perteneciente a las estructuras de control).

Los diferentes paradigmas de programacin han aumentado su nivel de abstraccin,


comenzando desde los lenguajes de mquina, lo ms prximo al ordenador y ms
lejano a la comprensin humana; pasando por los lenguajes de comandos, los
imperativos, la orientacin a objetos (OO), la Programacin Orientada a Aspectos
(POA); u otros paradigmas como la programacin declarativa, etc.

Modularidad
En programacin modular, y ms especficamente en programacin orientada a
objetos, 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 que se puedan compilar por separado, pero que tienen conexiones con
otros mdulos. Al igual que la encapsulacin, los lenguajes soportan la Modularidad
de diversas formas.
Segn Bertrand Meyer "El acto de particionar un programa en componentes
individuales para reducir su complejidad en algn grado. . . . A pesar de particionar un
programa es til por esta razn, una justificacin ms poderosa para particionar un
programa es que crea una serie de lmites bien definidos y documentados en el
programa. Estos lmites, o interfaces, son muy valiosos en la comprensin del
programa.

Encapsulamiento

En programacin modular, y ms especficamente en programacin orientada a


objetos, se denomina encapsulamiento al ocultamiento del estado, es decir, de los
datos miembro, de un objeto de manera que slo se puede cambiar mediante las
operaciones definidas para ese objeto.
Cada objeto est aislado del exterior, es un mdulo natural, y la aplicacin entera se
reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos
asociados a un objeto contra su modificacin por quien no tenga derecho a acceder a
ellos, eliminando efectos secundarios e interacciones.

Herencia
En orientacin a objetos la herencia es el mecanismo fundamental para implementar
la reutilizacin y extensibilidad del software. A travs de ella los diseadores pueden
construir nuevas clases partiendo de una jerarqua de clases ya existente
(comprobadas y verificadas) evitando con ello el rediseo, la modificacin y
verificacin de la parte ya implementada. La herencia facilita la creacin de objetos a
partir de otros ya existentes, obteniendo caractersticas (mtodos y atributos) similares
a los ya existentes.
Es la relacin entre una clase general y otra clase ms especifica. Por ejemplo: Si
declaramos una clase prrafo derivada de una clase texto, todos los mtodos y
variables asociadas con la clase texto, son automticamente heredados por la
subclase prrafo.

Polimorfismo

En programacin orientada a objetos el polimorfismo se refiere a la capacidad para


que varias clases derivadas de una antecesora utilicen un mismo mtodo de forma
diferente.
Por ejemplo, podemos crear dos clases distintas: Pez y Ave que heredan de la
superclase Animal. La clase Animal tiene el mtodo abstracto mover que se
implementa de forma distinta en cada una de las subclases (peces y aves se mueven
de forma distinta).
Como se mencion anteriormente, el concepto de polimorfismo se puede aplicar tanto
a funciones como a tipos de datos. As nacen los conceptos de funciones polimrficas
y tipos polimrficos. Las primeras son aquellas funciones que pueden evaluarse o ser
aplicadas a diferentes tipos de datos de forma indistinta; los tipos polimrficos, por su
parte, son aquellos tipos de datos que contienen al menos un elemento cuyo tipo no
est especificado.
1.6.2 Lenguaje de Modelado Unificado
Muchas de las metodologas de anlisis y diseo de aplicaciones orientadas a objetos utilizan el
lenguaje UML como lenguaje de modelado.
El Lenguaje de Modelado Unificado (UML - Unified Modeling Language) es un lenguaje que
permite modelar, construir y documentar los elementos que forman un producto de software que
responde a un enfoque orientado a objetos. Este lenguaje fue creado por un grupo de estudiosos
de la Ingeniera de Software formado por: Ivar Jacobson, Grady Booch y James Rumbaugh en el
ao 1995. Desde entonces, se ha convertido en el estndar internacional para definir organizar y
visualizar los elementos que configuran la arquitectura de una aplicacin orientada a objetos. Con
este lenguaje, se pretende unificar las experiencias acumuladas sobre tcnicas de modelado e
incorporar las mejores prcticas actuales en un acercamiento estndar.
UML no es un lenguaje de programacin sino un lenguaje de propsito general para el modelado
orientado a objetos y tambin puede considerarse como un lenguaje de modelado visual que
permite una abstraccin del sistema y sus componentes.
Entre sus objetivos fundamentales se encuentran:
1. Ser tan simple como sea posible, pero manteniendo la capacidad de modelar toda la gama de
sistemas que se necesita construir.
2. Necesita ser lo suficientemente expresivo para manejar todos los conceptos que se originan en
un sistema moderno, tales como la concurrencia y distribucin, as como tambin los mecanismos
de la ingeniera de software, como son el encapsulamiento y los componentes.
3. Debe ser un lenguaje universal, como cualquier lenguaje de propsito general.
4. Imponer un estndar mundial.

Los objetivos de UML son muchos, pero se pueden sintetizar sus funciones:

Visualizar: UML permite expresar de una forma grfica un sistema de forma


que otro lo puede entender.
Especificar: UML permite especificar cules son las caractersticas de un
sistema antes de su construccin.
Construir: A partir de los modelos especificados se pueden construir los
sistemas diseados.
Documentar: Los propios elementos grficos sirven como documentacin del
sistema desarrollado que pueden servir para su futura revisin.

Un modelo UML esta compuesto por tres clases de bloques de construccin:

Elementos: Los elementos son abstracciones de cosas reales o


ficticias (objetos, acciones, etc.)
Relaciones: relacionan los elementos entre s.
Diagramas: Son colecciones de elementos con sus relaciones.

Los diagramas de clases: se utilizan para mostrar la estructura


esttica del sistema modelado pueden contener clases, interfaces,
paquetes, relaciones e incluso instancias, como objetos o enlaces. Los
diagramas de clases son una potente herramienta de diseo ayudando a
los desarrolladores a planificar y establecer la arquitectura y estructura
del sistema y subsistema antes de escribir el ningn cdigo esto permite
asegurar que el sistema este bien diseado desde el principio.
El diagrama de clase describe los tipos de objetos que hay en el sistema
y las diversas clases de relaciones estticas que existen entre ellos. Hay
dos tipos principales de relaciones estticas: Asociaciones (por ejemplo,
un diente puede rentar diversas videocintas).Subtipos (una enfermera es
un tipo de persona). Los diagramas de clase tambin muestran los
atributos y operaciones de una clase y las restricciones a que se ven
sujetos, segn la forma en que se conecten los objetos.

Un diagrama de clases muestra un conjunto de clases, interfaces, y


colaboraciones y sus relaciones. Grficamente un diagrama de clase es
una coleccin de vrtices y arcos.
Propiedades comunes: Un diagramas de clase es justo un tipo especial
de diagrama y comparte propiedades comunes al igual que todos los

otros diagramas -un nombre y un contenido grfico son una proyeccin


dentro de un modelo.
Contenido.
Un diagrama de clases comnmente con tiene lo siguiente:
Clases
Interfaces
Colaboraciones
Dependencia
Generalizacin
Relaciones de asociacin
Para el modelo de diseo esttico de la vista de un sistema, tpicamente
se usan diagramas de clases en alguna de estas tres alternativas:
1. Modelo del vocabulario de un sistema. El modelo del vocabulario
de un sistema involucra tomar decisiones acerca de las cuales son
parte del sistema y cuales quedan fuera del ambiente. Los
diagramas de clase especifican estas abstracciones y sus
responsabilidades.
1 Modelado simple de colaboraciones. Una colaboracin es una
sociedad de clases, interfaces, y otros elementos, estos trabajan
juntos para proveer igual comportamiento de colaboracin, esto es
ms grande que la suma de todos los elementos. Por ejemplo,
cuando se esta modelando la semntica de una transaccin en un
sistema distribuido, no se puede fijar la vista en una simple clase,
para entender cual ir. Esta semntica es llevada fuera por un
conjunto de clases que trabajan juntas. Los diagramas de clases se
usan para visualizar y especificar este conjunto de clases y sus
relaciones.
2 Modelo lgico del esquema de la base de datos. Pensar en un
esquema como la eliografa(dibujo) para el diseo conceptual de
una base de datos. En muchos dominios se quiere almacenar

mucha informacin persistente en una base de datos relacional o


en base de datos orientada a objetos. Se pueden modelar
esquemas para estas bases de datos usando diagramas de clases.

Das könnte Ihnen auch gefallen