Está en la página 1de 4

desar

ay
Paradigmas en la
ro
ademi

llo
construcción de software
Ac

Sandro Javier RESUMEN manas. El programa se había utilizado previamente, sin nin-
guna falla, en cuatro viajes a la luna” [1].
Bolaños Castro Enfrentarnos con el modelamiento de la realidad
ha sido una de las tareas que desde los principios de Problemas como éste, en los que están involucradas
la humanidad hemos realizado. Las pinturas que so- grandes inversiones e incluso vidas humanas son fre-
bre cavernas se han descubierto, no son más que la cuentes, la pregunta es quién es el responsable? Igual
expresión de lo que el hombre sentía y veía en su o quizá más compleja que la pregunta, es la respuesta,
entorno. Mucho después continuamos cuestionán- sin embargo, un buen punto de partida lo constituye
donos sobre nuestra realidad y cómo representarla la revisión del modelo de construcción de software
de manera que se pueda tener control sobre ella. Ésta que se emplee. Siempre que se trate de desarrollo de
es justo la propuesta que persigue un paradigma; es- software se presenta un importante porcentaje de ries-
tructurar un conjunto de mecanismos que permitan gos, el punto clave es administrarlos y/o en lo posible
de manera formal organizar una realidad, sobre la eliminarlos. No es tarea fácil saber todas las posibles
cual se puedan tomar decisiones. En este artículo, se variaciones que un problema pueda tener, y más aun
presentan los enfoques más importantes acerca de cuando se trata de solucionar un sistema altamente
cómo puede ser vista y modelada la realidad vía la probabilístico. Un ingrediente que se le suma al pro-
construcción de software. blema es el poder determinar con exactitud las varia-
bles implicadas y sobre las cuales lógicamente se tie-
Palabras claves: paradigma, mecanismos, nen que determinar mecanismos de control, es decir,
modelamiento de la realidad, construcción de software se debe tener pleno conocimiento del dominio del
problema sobre el cual se quiere ofrecer una solución.
ABSTRACT: PARADIGMS TOWARD Todas las consideraciones que se tengan en cuen-
SOFTWARE CONSTRUCTION ta para tratar de resolver el problema de desarrollar
software confiable y de calidad, convergen sin lugar
The reality modeling has been one of the task that a dudas en el manejo de la complejidad que entorno
since the beginning of mankind has been made. The al problema existe. Desafortunadamente no se tiene
paintings discovered in caves are the expression of una fórmula mágica que garantice el ciento por cien-
what man felt and saw around him. Sometime after to de efectividad, pero si propuestas que se acercan
that, we still continue asking ourselves about our reality a una solución satisfactoria. Éstas propuestas, que
and how to represent it in such away that we could las podemos reunir como modelos o paradigmas,
master it. This is just the proposal that follows the precisamente buscan organizar el conocimiento y así
paradigm, to structure a set of mechanims that allow, hacerlo accesible y manejable. Un paradigma se pue-
in a formal way, to organize the reality wich we could de definir como: “un conjunto de teorías, estándares y
make decisions about. This article presents the most métodos que representan en conjunción una forma de organi-
important points of view, about how reality, can be zar el conocimiento”[2] . y es justo estos elementos cla-
seen and modeled towards the software construction. ves los que se proponen en modelos como el estruc-
turado o el orientado a objetos.
Todas las Key Words: paradigm, mechanims, reality
consideraciones modeling, software construction.
que se tengan en I. EVOLUCIÓN DE LOS MODELOS
cuenta para “Nuestra vida se desarrolla, con base en paradigmas, en
tratar de resolver
INTRODUCCIÓN
supuestos teóricos generales, en técnicas y procedimientos de
el problema de “Un cohete que impulsaba el Mariner, una sonda espacial aplicación que adaptamos por criterio de una comunidad ”[2].
desarrollar con destino a Venus, tuvo que ser destruido 290 segundos
software después del lanzamiento el 22 de julio de 1962, la pérdida se La apreciación de Kuhn apunta a las propuestas
estimó entre 18 y 20 millones de dólares. que entorno al software se han desarrollado, preci-
confiable y de
samente ese conjunto de supuestos teóricos han sido
calidad, El programa de computador en tierra debió contener el si- producto de lo que históricamente ha pasado en las
convergen sin guiente fragmento: Si no hay contacto del radar con el cohete ciencias computacionales. En el sentido estricto de
lugar a dudas en entonces no corregir su trayectoria la palabra, desde la propuesta de Von Neumann acer-
el manejo de la ca de la primera máquina, no se ha avanzado mucho,
complejidad que El no fue ignorado inadvertidamente, así que el computa-
excepto por las mejoras tecnológicas que se han he-
dor en tierra continuó guiando a ciegas el cohete después de
entorno al cho, pero fundamentalmente manteniéndose el mis-
que se perdió el contacto con el radar. El cohete se extravió y mo modelo. Éste es el primer parámetro de referen-
problema existe. fue destruido antes de que pudiera poner en peligro vidas hu-
82
Ingeniería
Cada enfoque cia sobre el cual crecerían las teorías que buscan dar trar la realidad como una consecuencia lógica de re-
propuesto por un una solución para el mundo real, apoyándose en una lacionar coherentemente las variables del problema.
paradigma máquina sobre la cual se esquematiza una interpreta- Finalmente se tiene como modelo relevante, el orien-
enfatiza en una ción lógica que permite organizar el conocimiento. tado a objetos, cuya abstracción de la realidad con-
verge al objeto como entidad dotada de operacio-
filosofía que El planteamiento teórico realizado en un modelo, nes, información, semántica y relaciones significati-
pretende debe mezclar la interpretación del mundo real con la vas dentro del dominio del problema. El paradigma
describir las interpretación que, al nivel de la máquina, se debe orientado a objetos emplea como método la orien-
formas de ver el hacer del problema. Ambos enfoques deben con- tación a objetos en la que se busca modelar una pers-
mundo y cómo verger a una solución viable sustentada sobre un sis- pectiva del entorno, basada en atributos encapsulados
lógicamente tema computacional. Dentro de los paradigmas de junto con sus comportamientos.
expresarlo en desarrollo de software más importantes podemos
destacar: imperativo, funcional , de modelamiento Cada enfoque propuesto por un paradigma enfatiza
una máquina.
de datos, declarativo, orientado objetos, incluso, el en una filosofía que pretende describir las formas de
paradigma de modelamiento. ver el mundo y cómo lógicamente expresarlo en una
máquina. Sin embargo, algunos ofrecen mejores
La perspectiva que se tenía del mundo y que mecanismos para organizar el conocimiento y ha-
enmarcó el modelo imperativo, fue influenciada fun- cerlo fácilmente manejable. Se debe tener presente
damentalmente por la mismas ideas que concebían que un modelo no es la expresión pura de abstrac-
la organización como unidades funcionales y por ción de la realidad, más bien es una conceptualiza-
tanto, las abstracciones significativas, igualmente ción combinada de modelos, por tanto podría ser un
debían ser procesos en los que entraban insumos para referente importante tomar el modelo que ofrezca
ser transformados en productos. El método utiliza- los mecanismo que, de manera comprobada, permi-
do por el paradigma imperativo fue el método es- tan controlar mejor la complejidad.
tructurado en el que se reflejaba la organización, cuyo
problema podía ser resuelto en una función, “proce-
so”, a la cual se le entregaban argumentos, “insumos”, II. ¿POR QUÉ ESCOGER
y de la cual se obtenía un resultado, “productos”. El ORIENTACIÓN A OBJETOS?
modelo imperativo asume una realidad de procesos
por tanto el principal énfasis es la acción, “orden”, La orientación a objetos no es un modelo tan no-
sobre el conjunto de variables que configuran el pro- vedoso como se pudiera pensar, las primeras ideas
blema. Otra propuesta interesante es la hecha por el sobre el modelo ya venían desde Small Talk, sin
modelo funcional, ésta tiene una gran influencia del embargo, el predominio del modelo imperativo no
modelo imperativo, pues al igual que en éste, el cen- lo dejó emerger con fuerza hasta los ochenta. Desde
tro de abstracción lo constituye la función, la cual es una perspectiva histórica, la orientación a objetos
tratada como valor de primera clase, y de ahí que surge como resultado de un proceso de evolución
herede su nombre. La diferencia radical está en el en los mecanismos de abstracción, los cuales pue-
almacenamiento; mientras en el modelo imperativo den ser vistos como la progresión lógica que empe-
es fundamental, en el modelo funcional el almace- zó en la función , luego pasó por los módulos y TADs
namiento es implícito, eliminando los graves proble- para llegar finalmente a los objetos [3]. La función
mas de transparencia referencial. Aunque el modelo que se constituye como el principal mecanismo de
propone una buena alternativa a los problemas cola- abstracción en los modelos imperativo y funcional;
terales ocasionados al tratar con funciones; es poco es la primera forma importante de representar la rea-
práctico en su semántica. Otro enfoque es el plan- lidad, la consigna fundamental es “dividir y vencer”,
teado por el paradigma de modelamiento de datos, como manera de romper un procedimiento en va-
en éste; se ofrece una solución basada fundamental- rios subprocedimientos y obtener una solución
mente en la necesidad de contar con un esquema atomizando el problema; es la edad de oro del méto-
ágil para el manejo de información; el centro de abs- do estructurado y del mundo de procesos. Las exi-
tracción se dirige hacia los datos que reunidos cons- gencias tecnológicas hacen que la función no sea lo
tituyen entidades y que relacionados constituyen un suficientemente robusta como para soportar ciertos
sistema de infor mación. El paradigma de requerimientos de modelaje comenzando a acusar
modelamiento de datos o modelo relacional se apar- problemas como la falta de seguridad, identidad,
ta un poco del esquema propuesto por el modelo reusabilidad a mayor escala, y consistencia entre otros.
imperativo centrando su interés en las variables del Aparece entonces el módulo en el cual se agrupan
problema, dejando las operaciones en segundo pla- datos y operaciones, con lo cual se eliminan proble-
no e incluso agrupadas dentro de un conjunto de mas, como la falta encapsulación, y se adicionan prin-
interés compuesto entre otras por: consultas, bús- cipios, como el de seguridad, permitiendo además
quedas, y almacenamientos. Otro de los enfoques establecer un espacio de nombres con visibilidad
interesante lo constituye el modelo declarativo, en privada y pública, que constituyen implementación
éste; se organiza el conocimiento basándose en re- e interfaz respectivamente, pero aún faltaría algo
glas con las que se garantizan inferencias conducen- importante, establecer mecanismos de instanciación.
tes a soluciones. El modelo declarativo busca mos-
83
Ingeniería
Llegan entonces los TADs en los que se incorporan cual se cumple con un trabajo buscando ayuda en las
todas las ideas y mecanismos de los módulos, intro- fuentes que tienen la información y en las que tienen
duciendo la identidad producto de la instanciación y los servicios que puedan procesarla, es decir desde
que permite sobre ella montar conceptos como la perspectiva del cliente el agente es quien tiene el
reutilización, semántica y formalización. Finalmen- servicio que el cliente necesita, por tanto él delega la
te, surgen los objetos como medio de hacer concre- tarea sin que ello implique delegar la responsabili-
to el planteamiento formal expresado en los TADs dad, pues ella sigue estando en el cliente quien es
y sobre los cuales se incorporarán una serie de prin- propietario de la información que será manipulada.
cipios que hacen del modelo orientado a objetos, Éste principio es parecido a la división de tareas
buena elección en el momento de pensar en la cons- manejado en otros modelos pero, dista en filosofía.
trucción de software. Lee y Tepfenhart [3], propo- Una de las consecuencias más importantes que tra-
nen que en la orientacion a objetos los principios jeron los TADs, fue precisamente el poder hacer
fundamentales son: encapsulación, ocultación de in- concreta una abstracción, es decir poder inferir de
formación, paso de mensajes, atado posterior, dele- una clase una instancia que constituirá el objeto, cen-
gación, clase - objetos, herencia - polimorfismo y tro del modelo. El hablar de objeto es hablar de iden-
relaciones. Ver fig 1. tidad, es decir, la propiedad de ser un única entidad,
incluso en un mismo contexto en donde existan ob-
La encapsula- jetos de la misma especie, propiedad que lógicamen-
FUNCION
TAD ción es uno de te modelos como el imperativo o funcional no po-
los mecanismos seen. Los objetos también pueden ser organizados
CLASE obtenidos por como estructuras jerárquicas de herencia, copiando
evolución más uno de los principios básicos de la naturaleza y plan-
MODULO
interesantes, éste teamiento fundamental de la teoría evolucionista de
Figura No. 1 per mite reunir Darwin. La taxonomía que permite organizar las es-
estados y com- pecies también nos permitirá organizar nuestras abs-
portamientos en un módulo que divide el espacio de tracciones de la realidad, en la que los objetos pueden
nombres, en los contextos público y privado, intro- reutilizar características de sus padres, tanto estructu-
duciéndose así, el concepto de privacidad. Es im- rales como de comportamiento, incluso modificarlas
portante tener presente que la encapsulación no es y ampliarlas. Finalmente la orientación a objetos ofre-
propia de la orientación a objetos, el mismo modelo ce el principio de las relaciones, en las que se estable-
imperativo, incluso el funcional, tienen encapsula- cen las asociaciones, como relación estructural que
ción a nivel de sus procedimientos, la diferencia ra- conecta los objetos y que permite la construcción de
dical está en que el objeto tiene un mayor nivel de modelos bien formados.
encapsulamiento, ya que en él se reúnen tanto ope-
raciones, como atributos. La encapsulación por sí Cada uno de los principios de la orientación a ob-
misma debe ser complementada con la ocultación jetos trae consigo mecanismos importantes para lo-
de información, la cual define cómo los servicios de grar que la abstracción de la realidad sea, entre otras
un objeto ponen a disposición sus métodos para que características, coherente, flexible, escalable y segu-
otros objetos los utilicen, permitiendo que se hagan ra. Otros modelos hablan de principios similares en
las restricciones sobre lo que el objeto utiliza para sí otras escalas, como es el caso del modelo relacional
y lo que el objeto ofrece; además buscando al máxi- en el cual se tienen tablas, campos y registros que
mo que sus características estructurales no sean ac- corresponderían a clases, atributos y objetos respec-
cedidas desde fuera a no ser que se empleen sus tivamente. Incluso se plantean otros esquemas en los
interfaces controladas. Dado que la percepción de la que no son tan identificables los principios orienta-
Los objetos realidad se dirige hacia la abstracción de objetos es dos a objetos, como es el caso del modelo declarati-
también pueden necesario establecer un mecanismo que les permita vo. Pero sea cual sea el modelo se puede identificar
ser organizados comunicarse, éste es precisamente el envío de men- una estrecha relación con la orientación a objetos.
como sajes, con el cual se garantiza que un objeto agente
estructuras utilice los servicios ofrecidos y que necesita de un
objeto cliente, previo cumplimiento del protocolo III. EL PAPEL DE LA PROGRAMACIÓN
jerárquicas de
herencia, exigido. Como en el paso de mensajes se exige un EN LA ORIENTACIÓN A OBJETOS
origen, un destino y una información, a nivel de un
copiando uno de objeto en particular se asegura que sea exactamente
Aunque un modelo busca expresar las diferentes
los principios formas de ver la realidad, no es ajeno al esquema
ese el servicio requerido y no otro, situación que otros
básicos de la computacional sobre el cual se monta y de hecho no
modelos no se garantiza. Cuando se solicita un ser-
naturaleza y vicio a un objeto se puede optar por definirlo con es ajeno a los mismos lenguajes de programación
planteamiento antelación o definirlo justo en el momento del re- sobre los cuales en últimas hacemos la construcción.
Ello ha hecho que dentro del mismo núcleo del pa-
fundamental querimiento, ésta posibilidad está estrechamente li-
gada con el comportamiento polimórfico que puede radigma existan enfoques de lenguajes de programa-
de la teoría ción que tratan de ajustarse a la propuesta orientada
evolucionista tener un objeto y que garantiza una abstracción ver-
sátil. El modelo también permite utilizar delegación, a objetos, estas propuestas se pueden agrupar en
de Darwin. forma progresiva acorde al enfoque de programa-
basada en el principio de burocracia perfecta en la
84
Ingeniería
Los modelos ción, según Lee y Tepfenhart [3], como: programa- la que se corrigen errores de modelos anteriores, se-
utilizados para la ción basada en objetos, programación basada en cla- ñalando un camino de evolución de esquemas que
construcción de ses, programación orientada a objetos, programación inicialmente fueron menos complejos y que con el
software son orientada a objetos avanzados y programación orien- tiempo requieren absorber más mecanismos que per-
tado a objetos en el límite. Ver fig 2. mitan hacer mejores representaciones de la realidad.
influenciados por
las tendencias La programación Los paradigmas tienen un ciclo de vida en el que se
que en el medio PROGRAMACIÓN ORIENTADA basada en objetos, desarrollan y son útiles hasta cuando se quedan cor-
imperen, es una programa- tos para ofrecer una solución adecuada al problema
A OBJETOS EN EL LÍMITE

ción fundamentada
PROGRAMACIÓN ORIENTADA
principalmente A OBJETOS AVANZADOS de organizar la complejidad. Justo en el momento en
económicas y PROGRAMACIÓN en los principios de el que un modelo no es lo suficientemente robusto
encapsulación y como para soportar el modelamiento de un problema
ORIENTADA A OBJETOS
tecnológicas. PROGRAMACIÓN
BASADA EN CLASES ocultación de infor- surge una crisis que exige de nuevas propuestas, éstas
PROGRAMACIÓN
BASADA EN OBJETOS
mación, carece de generalmente son referidas a la crisis del software.
Encapsulación los restantes princi-
ocultación de información
pios de la orienta- No se puede afirmar categóricamente que un mo-
Instanciación
Herencia ción a objetos; el delo sea mejor que otro, lo que si su puede sostener
Recursión
Ada es lenguaje re- es que un modelo sea más completo que otro, visto
Herencia Múltiple
Asociaciones presentativo para desde la perspectiva de los mecanismos que un mo-
Agregaciones
este enfoque. La delo ofrece para permitir hacer una mejor abstrac-
ción de la realidad. Lógicamente entre más formas
Comportamiento dinámico
Reglas programación ba-
sada en clases ab- de ver la realidad compile un modelo, resultará más
Figura No. 2
sorbe las caracte- complejo utilizarlo.
rísticas del anterior
La orientación a objetos es el modelo más amplia-
esquema de programación, añadiendo mecanismos
mente utilizado, por la variedad de características y
propios de las clases, como es la instanciación; el CLU
riqueza de sus mecanismos de abstracción. Sin em-
es el lenguaje representativo para este enfoque. La
bargo no es el santo grial y de hecho que se ha teni-
programación orientada a objetos absorbe las carac-
do que expandir a propuestas más avanzadas como
terísticas del anterior esquema de programación, aña-
la propuesta de componentes, patrones y arquitec-
diendo mecanismos propios de la herencia y
turas que siguen teniendo su base en el modelo, pero
recursión; el Small Talk es el lenguaje representativo
con conceptos más adecuados a las exigencias de las
para este esquema. La programación orientada a ob-
nuevas tecnologías entre las cuales se debe destacar
jetos avanzados absorbe las características del ante-
las dirigidas a la web.
rior esquema de programación, añadiendo caracte-
rísticas como la herencia múltiple, asociaciones,
agregaciones y comportamiento dinámico; el C++ es REFERENCIAS
el lenguaje representativo para este esquema. La pro-
[1] Ravi Sethi, Programming Languages, Concepts and Constructs.
gramación orientada a objetos en el límite observe las Wilmington Delaware USA, Ed. Addison Wesley 1992.
características del anterior esquema de programación, [2] Thomas Kuhn, Estructura de las Revoluciones Científicas,
añadiendo el mecanismo propio del modelo declara- Mexico, Ed. Fondo de Cultura 1975.
tivo, las reglas; el R++ es el lenguaje representativo [3] Richar C. Lee, William M. Tepfenhart, UML and C++: A Practical
para este esquema. En este último se hace la propues- Guide to Object Oriented Development, New Jersey, Ed. Prentice
ta interesante de unir a través de un lenguaje el mode- Hall 1997, 446 p.
lo orientado a objetos y el modelo declarativo.
BIBLIOGRAFÍA
El poder contar con una clasificación, incluso den-
[1] Bertran Meyer, Construcción de software Orientado a objetos,
tro de la misma propuesta orientada a objetos es fun- Segunda Edición, Madrid Ed. Prentice Hall 1999, 1248 p.
damental, como base de elección tecnológica en el
[2] Peter Coad y Edward Nash Yourdon, Object Oriented Analysis,
momento de construir los modelos que se plantean Englewood Cliffs N.J, Ed. Prentice Hall 1990.
sobre un problema. Se pierden muchos esfuerzos y [3] Richar C. Lee, William M. Tepfenhart, UML and C++ : A Practical
dinero si no se escoge adecuadamente una platafor- Guide to Object Oriented Development, New Jersey, Ed. Prentice
ma y un buen modelo. Por tanto el objetivo primor- Hall 1997, 446 p.
dial es iniciar determinando los elementos concep- [4] James Runbaught, Ivar Jacobson, and Grady Booch, The Unified
tuales y tecnológicos que se requieren para sacar ade- Modeling Language Reference Manual, USA, Ed. Addison-
Wesley Object Tecnology Series 1999, 480 p.
lante un proyecto de software.
[5] Walker Royce, Software Project Management, USA, Ed. Addison-
Wesley Object Tecnology Series 1998, 448 p.
CONCLUSIONES
Los modelos utilizados para la construcción de Sandro Javier Bolaños Castro
software son influenciados por las tendencias que Ingeniero de Sistemas, Universidad Distrital. Candidato a Maestría
en Teleinformática, Universidad Distrital. Profesor Facultad de Inge-
en el medio imperen, principalmente económicas y niería, Universidad Distrital.
tecnológicas. Se aprecia además una progresión en
85
Ingeniería