Un enfoque cognitivo dirigido a objetos desde y para la Sociología

Casos de uso, abstracción e iteraciones.
Dr. Gardy Augusto Bolívar Espinoza y Mtro. Salvador de León Jiménez1 Resumen:

A partir de lo años cincuenta, las “ciencias cognitivas” experimentaron avances espectaculares. Por su parte, en el mismo periodo, las ciencias sociales iniciaron un proceso de la apertura que trajo relevantes innovaciones pero que no participó ni fue beneficiado directamente del proceso transdisciplinario cognitivo. La pregunta principal de este ensayo es si la sociología podría incrementar aún más su apertura e innovación si incorporara más directamente algunos de los avances reciente de las ciencias cognitivas, específicamente: la metodología orientada a objetos (OO); el modelaje de software (ULM); y sus métodos específicos principales: los “casos de uso” la “abstracción” y la “iteración”. La hipótesis es que se puede utilizar con ventaja, en prácticamente todos los procesos de investigación de las ciencias sociales e incluso en el análisis político y el diseño de organizaciones pequeñas auto reguladas y con fines sociales (OAFS) sin que esto signifique sacrificios teóricos o riesgos ideológicos tecnológicos mayores.

1

.

1

Profesores investigadores de los departamentos de Sociología y Administración de la UAMAzcapotzalco.

Introducción
El incremento y el éxito de las relaciones interdisciplinarias después de la segunda guerra se manifestaron en todos los dominios del conocimiento pero se hizo ostensible en la creación de Ciencias Cognitivas y en las oportunidades teóricas que estas abrieron a las demás ciencias. La estrecha colaboración entre la filosofía, la lingüística y la sicología mediante el apoyo de la lógica y las matemáticas hicieron posible el desarrollo de dos fuertes nuevos paradigmas: la corriente “cognitivista” con el estandarte de la Inteligencia Artificial; y la postura “conectivista” con los avances insospechados de la neurofisiología. La primera corriente de las ciencias cognitivas manifestó pronto su mayor productividad y hegemonía influenciando todos los campos del saber y la cultura mediante nuevas tecnologías que invadieron gran parte de la sociedad moderna a través de software, sistemas de bases de datos y conectividad eficiente convirtiéndose, de hecho, en una nueva disciplina desligada de las ciencias cognitivas originales que reina en todo proceso de organización, preservación, difusión y producción de conocimientos. La segunda pese a sus avances extraordinarios y a una postura epistemológica más sólida –aunque apoyada en la experimentación aportada por la corriente cognitiva— ofrece auspiciosos avances para todas las ciencias y en especial a las sociales. Por su parte, la apertura de las ciencias sociales, con posterioridad a la segunda guerra, trajo una proliferación de innovaciones en la intersección de los límites de sus disciplinas tradicionales y la fundación de nuevos territorios y enlaces. Sin embargo, poco se avanzó respecto de la apropiación de las nuevas tecnologías creadas por las ciencias cognitivas y poco se contribuyó en el avance de la investigación sobre el conocimiento social. A pesar que la cuasi fusión transdisciplinaria que inauguraron estas nuevas ciencias, marcaron un camino a seguir para el desarrollo de las ciencias sociales y en especial para| la sociología. Las ciencias sociales, pueden y deben beneficiarse de los avances en las ciencias cognitivas, que no son más que una consecuencia de la apertura de todas las ciencias. En especial se requiere un diálogo más profundo sobre: los supuestos epistemológicos que subyacen a las ciencias cognitivas y, por ende, a su relación con las ciencias sociales. En segundo lugar, a las aplicaciones técnicas y las consecuencias que estas traen para la investigación en el mismo dominio. En tercer lugar, a las innovaciones que se pueden desarrollar desde las ciencias sociales en el uso de las nuevas tecnologías en un dominio todavía amplio por explorar. Este artículo tiene por objetivo colaborar al acercamiento de las ciencias sociales con las ciencias cognitivas a través de la puesta en conocimiento de los elementos básicos de la orientación a objetos visto desde su probable aplicación en las ciencias sociales. Interesa especialmente, presentar el recurso cibernético de los “casos de uso” teniendo en mente la descomposición de una organización social y abordando su complejidad a través de identificación de “objetos” y actores. Esta construcción sólo es posible mediante el proceso de abstracción y de la iteración que son condición para desarrollar el “modelo conceptual” en que están inscritos los objetos y los actores. El acercamiento al problema de estudio por medio de iteraciones, o correcciones sucesivas permiten completar el modelo, en dos sentidos: a) respecto de la comprensión del sistema en su totalidad, como una espiral evolutiva e incremental que comprende: la intensidad de los cambios y el número de elementos cambiantes; y, b) en el análisis del sistema, como el conjunto de actividades que en cada iteración logra descomponer la

2

complejidad en elementos estructurales y dinámicos. En este contexto, expondremos: 1) La superación del método estructurado; 2) Los elementos del método orientado a objetos; 3) las relaciones entre clases; 4) El lenguaje orientado a objetos.

La superación del Método estructurado
Superación de método estructurado 

La Metodología Orientada a Objetos (MOO) surge como una alternativa al paradigma estructurado. Mientras la primera supone la descomposición de sistemas a través de objetos, clases y actores, la segunda consideraba la descripción algorítmica y funcional de los sistemas a través de entradas, procesos y salidas. Esta diferencia metodológica tiene profundas consecuencias y beneficios para las ciencias sociales y, evidentemente, para todo tipo de investigación. Por un lado, el análisis del sistema que se pretende estudiar como el modelo en el que se plasma, es realizado en forma consistente, congruente y objetiva. Por el otro, su traslado hacia un sistema de información y su ordenamiento en bases de datos se hace posible. En un análisis estructurado, los datos se organizan en el mejor de los casos, en bases interrelacionadas lo que trae como consecuencia consultas complejas y repetitivas mientras que en las bases orientadas a objetos estas entidades entregan la información en forma más apegada a la realidad del sistema y sin los errores que pueden producirse por la falta de normalización.. Ambos problemas difíciles de resolver –el análisis y el diseño de un sistema-- son abordados con éxito con la orientación a objetos (OO) con la ventaja adicional que se está trabajando, al mismo tiempo en la elaboración de software. No sólo se ahorra tiempo sino coherencia y transparencia. Las ciencias sociales en general están muy lejos de si quiera implementar el método estructurado para le análisis de sistemas.
Sistema y el “objeto” como eje 

3

El elemento central del paradigma (OO) es el objeto2. “Un objeto es cualquier cosa a la que se le aplica un concepto” (Martin, Odell; 1997, 26). Es fundamental entender que el objeto, en la perspectiva cognitivista esta referenciado en muchas ocasiones a algo tangible, sin embargo, su referencia principal es conceptual, es decir algo que tiene nombre, definición y que hay muchos del mismo tipo3. Los procesos, al descomponerse en los objetos que lo integran, permiten seguir transversalmente la configuración de un

2

Vale destacar que la designación de “objeto” supone toda la disputa entre dialécticos y positivistas lógicos iniciada a fines del siglo XIX y que todavía parece no estar zanjada pero quizás planteada en mejores términos

3 La idea de que el mundo podía verse en términos de objetos o procesos fue una innovación de los griegos y en el siglo XVII se encuentra a Descartes observando que los humanos aplican de forma natural una visión orientada a objetos del mundo (Booch, 1996: 42).

sistema que lo contiene. En la medida en que un objeto puede ser una cosa o un hecho conceptualmente conocido como un “acuerdo”, una asignación, una renuncia, es posible vislumbrar la interacción de los objetos del sistema, las responsabilidades de cada uno de ellos, así como reconfigurar su quehacer o agregarle comportamientos. Los objetos tienen diferentes dimensiones que definen su papel en el sistema. Por un lado tienen estructura con la cual se les describe en el espacio (lo que son); tienen comportamiento, es decir, hace algo o se les hace algo (lo que hacen); y, en tanto tienen estructura y comportamiento, establecen relaciones con otros objetos que, vistas en su conjunto, en el tiempo y el espacio, configuran al sistema y sus cambios (lo que tienen), los cuales pueden darse a gran velocidad y en inconmensurables magnitudes. El paradigma OO da la posibilidad de visualizar estática y dinámicamente a los sistemas dado que percibe a los objetos del sistema en el tiempo y el espacio, los identifica y sabe de sus permutaciones estructurales y de comportamiento con lo cual es factible adecuar cualquier sistema4. Desde la perspectiva orientada a objetos, un sistema es el conjunto de objetos interrelacionados participando con su comportamiento y estructura de acuerdo a la meta o finalidad de dicho sistema. Cuando se habla de la orientación a objetos se pone el énfasis en un análisis de sistemas que busca las cosas, tangibles y conceptuales que al colaborar entre ellas, hacen que el sistema y los subsistemas involucrados funcionen5. Un proceso fundamental del análisis es la clasificación de los objetos ya que permite una agrupación que en si misma es compleja ya que requiere un conocimiento del sistema en cuestión. Corresponde a la clasificación darle nombre y definición al objeto y su persistencia, es decir, identificara los elementos del mismo tipo. Cuando se han clasificado a los objetos entonces hablamos de clases de objetos y el objeto mismo se vuelve una instancia de la clase. Por ejemplo: si hablamos de la clase vehículo, una instancia de la clase es una motoneta, un automóvil, una bicicleta, etc. La construcción bien pudo darse a la inversa preguntándonos por la motoneta, el automóvil y la bicicleta: ¿a qué clase pertenece en éste sistema?, a Vehículo sin embargo, al situarse dichos objetos en un sistema diferente pueden ser clasificados como mercancía, o en otro como, propiedad, etc. Es fundamental realizar dicha clasificación ya que de ella depende la estructura y el comportamiento con la que se asocien entre ellos y con el resto de objetos en un sistema determinado. Esta estructura es una condición sin la cual el objeto no puede participar y por tanto no podría ser parte de la clase. Por. Ejemplo, una persona que en un sistema es identificado como alumno, y es tal, en función a que tiene matrícula, pero no puede ser profesor ya que en este caso tendría que tener el número de empleado. Estas estructuras

4

4 En ciencias sociales es habitual encontrarse con estados de gran incertidumbre dado el alto dinamismo del entorno económico, político, social, etc., lo que sabemos hace mucho más complejo comprender e incidir sobre cualquier sistema (cfr. Domínguez). 5 “… un objeto es una cosa, generalmente extraída del vocabulario del espacio del problema o del espacio de la solución; una clase es una descripción de un conjunto de objetos similares. Todo objeto tiene identidad (puede nombrarse o distinguirse de otra manera de otros objetos), estado (generalmente hay algunos datos asociados a él), y comportamiento (se le pueden hacer cosas al objeto, y él a su vez puede hacer cosas a otros objetos).” (Booch, Rumbaugh, Jacobson, 1999: 10-11)

son los que van identificando cómo colabora un objeto con otros para llevar a cabo un proceso.
La abstracción 

La abstracción, es una de las vías fundamentales por la que los humanos combatimos la complejidad (Booch, 1996: 46) y nos sirve para identificar objetos: su estructura, su responsabilidad y la colaboración. Por ello, el resultado del proceso de abstracción es uno o muchos concepto(s) u objeto(s) en función de la perspectiva en que se encuentre el observador del sistema. (Martin, Odell, 351). Este proceso de abstracción ha sido utilizado por las ciencias sociales para describir sistemas organizados: sociales, empresas, políticos y hacer nuevos esquemas o configuraciones distintas en función al cambio necesario en situaciones problemáticas. Boch, sostiene “Incapaces de dominar en su totalidad un objeto complejo, decidimos ignorar sus detalles no esenciales, tratando en su lugar con el modelo generalizado e idealizado del objeto” (1996: 22). Esto es la abstracción, objetos conceptuales que representan al mundo real; un conjunto generalizado de operaciones generales (colaboración de objetos); conjunto de operaciones específicas (colaboración de objetos a un nivel de mayor detalle); o un objeto que almacena operaciones como parte de su comportamiento (Booch, 1996: 47). Desde una perspectiva de las ciencias sociales, la abstracción, es eminentemente teórica debido que no hay sistema que imitar, no necesariamente se parte del Representacionismo, si no que este se debe construir: en primer término por que las ciencias sociales requieren de una crítica de la observación ingenua; en segundo, por que permanentemente se debe ejercer la crítica a la crítica al realismo ingenuo. Por último, por que el “cliente” no es un “privado” es más bien el sentido común público que debe ser constantemente interpretado. El análisis, que lleva a la construcción de casos de uso –dentro del modelado conceptual--, hecho por “analistas” debe tener un peso más importante que el dado por los fundadores de la metodología orientada a objetos. No se trata de recabar información de la realidad para construir la copia cibernética de los mismos. El analista debe ser en realidad, el teórico, en el sentido clásico, es decir, aquel que partiendo de la observación empírica debe construir un modelo, o sistema que requiere de ideas que los sustente. En este sentido, los sistemas son construcciones teóricas que requieren de una gran especialización. Es decir el analista no es un observador ingenuo es más bien un constructor de sistemas susceptibles de ser transmitido por medios electrónicos computacionales. Cuando el analista utiliza como metodología de descomposición de sistema basado en el paradigma orientado a objetos, producto de la abstracción encontrará las clases fundamentales del sistema, identificará los comportamientos fundamentales, así como las relaciones que de conjunto se organizan en procesos denominados casos de uso. Es en estos últimos –los casos de uso- donde se concretiza el primer nivel de abstracción, ahí se encontrarán entrelazados los actores y sus responsabilidades sobre los objetos inmersos en dichos procesos. Cuando el proceso de abstracción se realiza con la mira del paradigma estructurado se da prioridad a los procesos en sentido vertical y departamental de la organización (no como casos de uso), pero se deja de lado que los objetos cuyo comportamiento es

5

transversales a los procesos y que incluso trascienden tanto temporalmente como espacialmente la ejecución de los mismos más allá de las fronteras del propio sistema. El proceso mismo de la abstracción lleva consigo otros descubrimientos de hechos y características adicionales ya sea que le suceden, hacen o tienen los objetos clasificados de un sistema. Esas características se tratan en los apartados siguientes.

Los elementos del método orientado a objetos
Herencia y Polimorfismo 

Como ya se anoto, una clase es una categoría de objetos específicos que no son sino una instancia de dicha clase. Como instancia de una clase, un objeto tiene todas las características de la clase de la que proviene a esto se le conoce como herencia (Schmuller, 2007). La herencia es un concepto importante en la descomposición orientada a objetos ya que cuando es identificado (lo que es) un objeto como parte o tipo de una clase, se desprende una estructura (lo que tiene), comportamiento y relaciones dentro del sistema (lo que hace). Incluso se puede llegar más lejos, cuando existe una clasificación, se tienen tipos de objetos pertenecientes a dicha clase, sin embargo podemos encontrar subtipos los cuales heredan las características de las clases mayores como las del subtipo a que pertenecen. Un ejemplo habitual en estos casos es la del transporte. Cuando identificamos la clase Transporte, podemos identificar barco, tren, auto, bicicleta, avión, etc. Sin embargo, esta clasificación puede llevar a subtipos de la clase: terrestre, aéreo, naval. Y de esta manera un tren puede heredar las características de Transporte, pero solo las terrestres, no las aéreas. De esta manera la herencia nos lleva a identificar el comportamiento de la case y subclase, lo que se traduce en las operaciones que realiza. Una operación común a objetos del mismo tipo puede ser igualmente utilizada por objetos de otro tipo en un determinado nivel. Esta operación común al tener el mismo nombre se encuentra como la operación de diferentes clases. P. ej., la operación abrir, puede ser utilizada en una ventana, un periódico, un regalo, una cuenta de banco o un curso de filosofía. En la orientación a objetos cada clase sabe como realizar esta operación, pero la capacidad de adecuar la operación a diferentes clases, eso es el polimorfismo. En este dominio una operación puede tener el mismo nombre en diversas clases, y funcionar distinto en cada una. Cómo es posible que funciones: con el paso de mensajes a través del cual se identifica a la clase y sus características con las cuales llevar a cabo la operación referida. En el análisis social con orientación de objetos, en un consejo se pueden identificar políticas, políticos, los objetos de que hablan las políticas y hacer con ello un sistema de interacción de objetos, con estructuras que heredan de la clasificación, identificando las operaciones recurrentes que realizan.
Encapsulamiento 

6

El encapsulamiento es una propiedad de los objetos que se convierte en una ventaja en el paradigma de análisis orientado a objetos ya que es utilizado a través de la abstracción para ocultar características de los objetos en función a la dimensión que de ellos se observe: su estructura, su colaboración y relaciones. Podemos tener una representación o modelo de objetos que es una abstracción del sistema, sin mostrar la estructura de datos de los objetos o su colaboración en forma de paso de mensajes. De esta manera podemos representa al sistema en una dimensión de conceptos6 u objetos, y en otras dimensiones hacer la descomposición estructural, por un lado, y por otro, de comportamiento. (Booch, 1996: 56). “El encapsulamiento proporciona como una cubierta protectora alrededor de cada dato del objeto.” (Martin, Odell, 143). P. ej., un objeto académico tiene un comportamiento distinto como objeto consejero que como objeto profesor. En cada caso queda oculta la estructura que le hace posible tener el comportamiento propio de objeto consejero a objeto profesor. Es importante tener presente que aunque oculto, la estructura debe corresponder con el comportamiento y las relaciones entre objetos, ya que de lo contrario el comportamiento no es soportado por la estructura y las relaciones no se pueden establecer. Cuando se identifica la clase EquipoDeCómputo y se tiene una serie de operaciones que se deben de realizar con él, entonces la estructura, debe permitir que dichas operaciones se lleven a cabo.
Comprar Equipo
Equipo de Computo

Recibir Equipo

Número de Serie Modelo Manufacturador Costo Precio de Venta

Devolución de Equipo

7

Vender de Equipo

En las ciencias sociales el encapsulamiento es muy habitual en el análisis de problemáticas generales y específicas. Se le ha dado en llamar diferentes niveles de análisis, en los cuales se denotan características distintas de los mismos objetos.
Jerarquía 

La Jerarquía da orden a partir de clasificar al conjunto de abstracciones (Booch, 1996:66). A partir de identificar estructuras y comportamientos para conjuntos similares de objetos se puede inducir la herencia –de estructura y comportamiento- que tienen por pertenecer a un tipo o clase de objeto específico. Con el ordenamiento jerárquico se pueden aglutinar objetos cuya estructura o comportamiento no pertenecen a ellos

6 Los mapas conceptuales y mapas mentales son una representación de los conceptos que un individuo hace de una problemática o hecho específico. Dicha representación oculta los detalles de cada concepto y las responsabilidades que cada uno tiene en el comportamiento global del sistema.

propiamente, sino a los objetos de donde provienen. P. Ej. Un miembro de la comunidad universitaria, tiene distintas clasificaciones: administrativo, alumno o profesor. Por ser miembro de la comunidad ya tiene cierta estructura de datos y comportamiento la cual es heredada al subtipo, administrativo, alumno o profesor. Pero tomando el caso del alumno, éste al ser de una licenciatura específica tendrá un comportamiento propio de esa licenciatura, además de haber heredado la estructura y comportamiento propio de ser alumno y ser miembro de la comunidad. Cuando hablamos de jerarquía estamos identificando que una gran parte de la estructura que posee un objeto le viene heredada por la encapsulación que tiene en el sistema. Un usuario de biblioteca tiene una estructura por ser usuario de biblioteca, por ser alumno y por ser miembro de determinada comunidad universitaria. La jerarquía incidirá también en el comportamiento del objeto ya que el objeto que recibe la herencia no puede renunciar a ella. De esta manera podremos crear estructuras jerárquicas que permitan visualizar al sistema a partir de la clasificación de objetos por su generalización o especialización.
Modularidad 

La modularidad es lo que se ha denominado en el pensamiento de sistémico: sistemas conteniendo sistemas. Es la descomposición y organización de un sistema en módulos que permiten el manejo de la complejidad sistémica. Al igual que el encapsulamiento, la modularidad es un proceso que se lleva a cabo en cualquier disciplina que trabaje con el pensamiento sistémico a través de la abstracción. En la descomposición orientada a objetos sirve identificar los acoplamientos entre módulos de tal manera que un fuerte acoplamiento significa una fuerte interdependencia de los objetos, por el contrario, un acoplamiento débil es el ideal para lograr el reemplazo de objetos contenidos en componentes específicos. La modularidad juega un papel fundamental en la MOO, garantiza el reemplazo de componentes que cambian o deberán cambiar de comportamiento dentro de los sistemas. En las políticas públicas es muy común observar fuertes acoplamientos ahí donde hay mayores estructuras rígidas, pero cuando se hace un análisis y diseño orientado a objetos la sustitución de procedimientos dentro de los sistemas es con el menor riesgo dado que se tiene identificados apropiadamente los comportamientos de objetos específicos. Cuando se analizan sistemas con orientación a objetos la modularidad permite conformar paquetes de objetos de tales dimensiones que su comprensión a través del modelado de objetos se hace más comprensible para las organizaciones.

8

Relaciones entre clases
Relaciones 

Ahora bien, en distintos momentos hemos destacado las relaciones entre los objetos que derivan de sus comportamientos. Estas relaciones están dadas por operaciones en donde ya sea que soliciten o que entreguen. Es fundamental que los objetos sepan cuál es su responsabilidad en las operaciones que anidan ya que es obvio que al no cumplir con ella el sistema no puede dar curso a su cometido. En todos los ámbitos sistémicos, ya

sean administrativos, políticos, sociales o cualquier actividad humana donde los objetos no satisfagan las solicitudes de otros o no puedan obtener los servicios de otros, los sistemas se atascan y deben buscar nuevas configuraciones o establecer nuevas relaciones. Las relaciones que son del tipo enlace (cfr. Booch, 1996), se manifiesta cuando un objeto envía mensajes a otro siendo en dicho mensaje donde se especifica una solicitud en particular. Con esto la operación propia de un objeto es la relación que establecen los objetos. Podemos encontrar también relaciones de agregación en donde un objeto se relaciona con un objeto que es parte de el mismo (recuerde cuando hablamos de herencia). Por ejemplo, cuando una clase Transporte, que es la agregada, envía mensajes de características de velocidad, a un agregado como puede ser Terrestre. De esta forma la herencia misma de estructura y comportamiento, permite la relación entre una clase y subclase. Es necesario que pueda observarse que estas relaciones se dan no solo en el ámbito de la administración de sistemas computarizados. También se observa en el ámbito de, por ejemplo, una entidad social como puede ser una escuela. Una clase Alumno, puede estar asociado con un subtipo del mismo denominado UsuarioDeBiblioteca, y donde la relación de agregación permite el paso de mensajes como ClaveDeAlumno. De igual manera vemos en la asignación de presupuesto entre Estados y Municipios. Siendo el primero el tipo y el segundo el subtipo. Las relaciones pueden establecerse por enlace o agregación, en función al tipo de mensajes.
La clase como elemento de seguimiento  9

Cuando hablamos de la MOO se puso como eje al objeto, y mencionamos de manera colateral la clasificación de los mismos para efectos de dar mayor claridad y énfasis a la propia metodología. Sin embargo, cuando se procede a realizar el análisis de sistemas con orientación a objetos, es fundamental la clasificación. Con base siempre en la abstracción podemos llegar a las clases a través de comportamientos comunes o siguiendo lo que hace un usuario a un conjunto de objetos de manera reiterada lo que identifica casos de uso. El proceso de clasificación es una pieza clave para que en cualquier ámbito de la actividad humana se puedan descomponer los sistemas. Seguir el comportamiento de una clase o tipo de objetos, necesariamente nos remite a diversos estados en los que puede encontrarse una instancia de la misma, es decir un objeto. Por ejemplo, un objeto alumno, puede estar en diferentes estados: inscrito, aprobado o reprobado, dado de baja, egresado, etc., y cada uno hace referencia a operaciones o comportamientos propios de todos los objetos que pertenezcan a dicha clase. A la inversa, cuando observamos objetos que tienen un comportamiento igual, es decir, hacen lo mismo, nos encontramos evidentemente ante una clase de objetos. Adicionalmente debe uno descubrir la estructura de dicho objeto para poder soportar todas las operaciones o comportamiento esperado. Veamos el caso de una asignación de becas para estudios de posgrado a un profesor determinado. La beca, además de tener identidad, puede ser asignada, cancelada, terminada, prorrogada o duplicada. Para que la beca pueda hacer lo que se anota, debe poseer cierta estructura como lo es un monto, una fecha de inicio y terminación, una adscripción, un estado, un asignado y otros. Cuando sabemos que hay más de una beca que hacen lo mismo (comportamiento y operaciones) y tienen la misma estructura, podemos entonces identificar al conjunto de becas de posgrado como una clase.

Ahora bien, si seguimos el caso de uso para descubrir clases, el hilo conductor son los usuarios, su rol, su responsabilidad y su interacción en procesos específicos del sistema de donde se desprenderán las clases. Un caso de uso nace al describir conceptualmente al sistema en su conjunto, de donde se desprenden diversos productos como son objetos, actores y procesos u operaciones. De tal manera que en un caso de uso podemos identificar la acción de los actores sobre objetos específicos. Jacobson define el caso de uso como una forma o patrón o ejemplo concreto de utilización, un escenario que comienza con algún usuario del sistema que inicia alguna transacción o secuencia de eventos interrelacionados (Booch, 1996; 181). Es justamente el análisis de sistemas a través de casos de uso que es viable utilizar para hacer una intersección entre las ciencias sociales y la MOO ya que es más apegada al lenguaje cotidiano de una organización cualesquiera que sea esta. Un caso de uso inicia con breves descripciones del entorno del sistema y es justo en el lenguaje, en los términos utilizados por los agentes principales de donde se comienzan a desprender objetos, comportamientos, actores, estructuras, estados y relaciones, todos ellos usando la abstracción, haciendo jerarquización, clasificación y construyendo así sistemas del orden social y/o automatizado.
Casos de uso 

El modelado se dirige a través de los denominado Casos de Uso. “Un caso de uso es un conjunto de acciones para satisfacer un comportamiento, cada bloque de acciones es disparado por eventos generados por actores para satisfacer alguno de los propósitos del sistema.” (Franco Díaz, 68). El caso de uso viene a ser el inicio de la descripción del sistema organizacional ya que en él confluyen los actores en colaboración para desempeñar una tarea, un proceso una función. Los casos de uso provienen del entorno propio de la organización, por ello describen una dimensión muy cercana a los actores involucrados. Prácticamente el caso de uso describe qué se hace, quién lo hace, que información requiere, por ello bien puede ser utilizado para describir procesos sociales, políticos, públicos, educacionales. El caso de uso es la gran abstracción que describe al sistema de manera general, encapsulando sus especificidades a un análisis de las distintas dimensiones del mismo. Los casos de usos tienen múltiples cualidades respecto de problemas que tradicionalmente han estorbado al desarrollo de las ciencias sociales y que al parecer son inevitables. Por ejemplo si los modelos se adaptan o no a la realidad, si estos pretenden interferir y cambiar esta realidad, y, a veces, si los fines de este cambio son aceptables. Los caos de uso de derivan de la observación y suponen la iteración permanente. Es decir, dentro de la concepción misma del sistema, en el caso que estemos en esa etapa, el cambio es parte integrante y permanente del diseño. Las partes esenciales de los casos de uso son el nombre del caso de uso, los actores y la relación que tienen los casos de uso con otros casos de uso. El nombre del caso de uso refleja algún comportamiento del sistema y que se obtiene del lenguaje propio de quienes interactúan con él. Un actor es un sujeto que interactúa en el caso de uso. Formalmente “Un actor representa un conjunto de coherente roles que los usuarios de los casos de uso juegan al interactuar con éstos… un rol que es jugado por una persona, un dispositivo, un hardware o incluso otro sistema al interactuar con nuestro sistema.” (Booch, Rumbaugh, Jacobson, 1999:194). Concretamente qué puede ser un caso de uso: asignación de grupo, asignación de beca, acreditación de plan de estudios, venta de

10

producto, etc. Y en el mismo sentido, qué puede ser un actor: estudiante, vendedor, profesor, servidor de datos, sistema de pensiones, etc. Por su parte la interacción refleja lo que hace el actor en el caso de uso, su responsabilidad. Un actor tiene diferentes responsabilidades dentro de un sistema, que están circunscritas a el rol o papel que desempeña en diferentes contextos dentro del comportamiento del sistema. De manera gráfica podemos identificar el caso de uso, el actor y la interacción entre ellos, de la siguiente forma: • Diagrama de Casos de uso
A lt o N iv e l

A c to r

A lt o N iv e l

F u n c ió n d e l N e g o c io q u e n o e s E l e m e n t a l, p o r l o c u a l e s In t e r m e d i a .

I n t e rm e d io

I n t e rm e d io

C a s o d e U s o E le m e n ta l

• • Fte: “Manual de modelado orientado a objetos. Material del curso de análisis de sistemas 2007-I” de Salvador de León Jiménez. • Como se puede apreciar en el gráfico, el actor se encuentra en interacción con dos casos de uso que son identificados de alto nivel, uno de ellos no tiene derivaciones, en el mismo están contenidos los procedimientos, los hechos en si de la problemática en cuestión. Pero en un segundo caso de uso de alto nivel, éste se vincula (no se divide) con dos casos de uso intermedios, donde éste contiene propiamente hechos o procesos de deberán derivar a otros proceso o, en función a la modularidad antes vista, secciones más pequeñas de problemas, más focalizadas. El caso de uso de nivel elemental contiene la interacción de un actor pero donde solo hace una cosa, en un lugar y momento específico. Esto es, a diferencia del caso de uso de alto nivel, donde se identifican todas las interacciones del actor en un solo caso de uso; en el nivel elemental, donde estamos a un nivel de detalle mayor, solo se puede mostrar al actor en una y solo una interacción en función a su responsabilidad en el caso de uso en cuestión. Es importante destacar que en un primer nivel de análisis, se debe de identificar del sistema qué hace para posteriormente desglosar cómo lo hace. En el caso de uso se modela qué hace el sistema y quién intervine para hacerlo.
Iteración 

E le m e n t a l

E le m e n t a l

11

La iteración es el proceso cíclico en una espiral evolutiva por donde transita el ciclo

de vida del sistema, es decir, los cambios, su velocidad y número de elementos que permutan, y que hacen del sistema una entidad dinámica. En el ciclo de vida del desarrollo de sistemas de información, la iteración es un conjunto bien definido de actividades, con un plan y unos criterios de evaluación bien establecidos, que acaba en una versión, bien interna o externa. (Booch, Rumbaugh, Jacobson, 1999). En el análisis de sistemas la iteración juega un papel fundamental que permite organizar de manera incremental los resultados del mismo así como del modelado. Por ello, en cada iteración se agrega complejidad de los sistemas conforme se avanza su comprensión y conocimiento. La iteración es un procedimiento que también se debe fortalecer en el sentido teórico. Además de servir para ir adaptado y mejorando los sistemas bosquejados por los analistas lo que permite integrar procedimientos técnicos más avanzados futuros sin tener que reconstruir desde cero el sistema, la iteración es parte intrínseca del sistema que se construye. Los sistemas complejos lo son por que cambian constantemente y por que es su naturaleza. De ahí que el sistema debe partir con “fallas” y continuar con fallas a pesar de que debe seguir funcionando.

El Lenguaje Unificado de Modelado (LUM)
Definición 

El Lenguaje Unificado de Modelado (UML, por sus siglas en inglés) permite que el MOO pueda ser expresado, tener una nomenclatura gráfica como lo tiene la arquitectura, la electrónica, la física, etc. En el desarrollo de sistemas, los lenguajes de modelado, fueron muy variados y propiamente cada autor ofrecía una salida gráfica a diseños específicos7. Fue necesario unificar los distintos métodos con los que se representaban las abstracciones de los sistemas para poder establecer un lenguaje común para el análisis y modelado de sistemas. Tanto los métodos orientados a objetos, como su desarrollo a través del LUM, son una herramienta fundamental para describir, analizar y mejorar los sistemas de organizaciones complejas en el ámbito público, social y privado. Del conjunto de métodos que ofrece la metodología orientada a objetos a la ingeniería de software, nos parece que a las ciencias sociales el análisis y modelado orientado a objetos le beneficiará aplicando el LUM en la descripción y documentación de sistemas.
Lenguaje y software 

12

El lenguaje LUM está referido a la elaboración de Software entendiendo que debe

7 P. ej., el Diagrama de Flujo de Datos, visualiza el sistema como una red de procesos; los diagramas de flujo, representan gráficamente los algoritmos de un proceso. Jackson, se basa en el principio de que la base inicial del diseño del programa son los datos del problema y no los requisitos funcionales exigidos; Warnier, dirigido a la secuencia de procesos; ORM, orientado a objetos, método conceptual para el modelado de los datos; ROOM, modelo de sistemas de tiempo real.

imitar la realidad. Dejando de lado los problemas que este tipo de aseveración supone respecto de la tradición filosófica suponemos que los criterios por la cual se adopta esta terminología son pragmáticos en dos sentidos. Primero en cuanto a su utilización práctica segundo como forma de inversa de una reducción eidética. No se trata de adoptar una postura representacionistas sino asumir en lenguaje cibernético que no tenga diferencia para la elaboración de los programas en cuanto a los dos niveles.
El LUM y el sistema 

El LUM permite a los creadores de sistemas generar diseños que capturen sus ideas en una forma convencional y fácil de comprender para comunicarlas a otras personas. Un sistema puede ser considerado desde la perspectiva de solución de problemas de “negocios” como la combinación de software y hardware para satisfacer las demandas de un cliente. El analista es el que documenta el problema del cliente y los comunica a los desarrolladores que son programadores que son los que desarrollan el programa que resolverá el problema y los distribuirán en equipos de computación (Schmuller, op. cit). La metodología orientada a objetos ofrece una colección de métodos para abordar la descomposición de sistemas. Sin embargo, hace falta un ingrediente más, que fue fundamental para el éxito del modelado orientado a objetos, el lenguaje gráfico. Los elementos básicos del modelado con LUM son los siguientes.
Modelado y Proceso Unificado de Desarrollo 

El proceso de descubrimiento y modelado de sistemas utilizando el LUM, tiene definidos un vocabulario y reglas de modelado que permite la comunicación clara para la comprensión de problemas específicos y construcción de modelos no ambiguos y completos.8 Todo análisis de sistema, incluso el orientado a objetos, debe estar inmerso en un proceso ordenado, iterativo e incremental, independiente del lenguaje de modelado que utilice, en este caso el LUM. Dicho proceso debe ser dirigido por el caso de uso, es decir guiado por él, dado que se sigue el comportamiento del sistema para la obtención de las primeras abstracciones. Cuando se describe a una organización, ya sea para automatizar procesos o para hacer un análisis de contextual del mismo, los casos de uso se insertan en lo que se denomina el modelo conceptual –conception- y la diagramación con LUM, se procesa

13

8 “El modelado no es solo parte de la industria de la construcción. Sería inconcebible crear una nueva aeronave o automóvil sin construir previamente modelos, desde modelos informáticos a modelos físicos para el túnel de viento y prototipos a escala real. Los nuevos dispositivos electrónicos, desde los microprocesadores o las centrales telefónicas, requieren algún grado de modelado para comprender mejor el sistema y comunicar las ideas a otros. … En los campo de la sociología, la economía y la gestión empresarial, se construyen modelos para poder validad teorías o probar las nuevas con un coste y unos riesgos mínimos.” (Booch, Rumbaugh, Jacobson, 1999: 5)

en el modelo funcional –inception-9. El modelo conceptual, permite apropiarse del lenguaje y conceptos principales del dominio del problema, conocer la situación actual y proyectar la situación deseada. Como producto del modelo conceptual se obtiene las primeras abstracciones, los objetos esenciales, los actores: sus roles y responsabilidades, así como la organización de casos de uso de alto nivel. Bibliografía Adler, Daniel (2006). « Sciences Cognitives » en Encyclopédie Universalis, Francia. Adler, Daniel (1992). Introduction aux sciences cognitives. Gallimard, Folio essais, Francia. Bertalanffy, Ludwig Von, W. Roos Ashby, G. M. Weinsberg y otros (1987). Tendencias en la teoría general de sistemas. Selección y prólogo de George J. Klir. Alianza Universidad, Barcelona. Booch, Grady (1996). Análisis y diseño orientado a objetos con aplicaciones. Addison Wesley Iberoamericana S.A, y Diaz de Santos, E.U.A. Booch, Grady y James Rumbaugh e Ivar Jacobson (1999)El lenguaje unificado de moedelado. Addison Wesley Iberoamericana, Madrid. Borzeix, Anni, Alban Bovier y Patrik Pharo (1998). Sociologie et connaissance. Nouvelles aproches cognitives. CNRS, Éditions Sociologie, París De León (2007). Manual de modelado orientado a objetos. Material del curso de análisis de sistemas, 2007-I. Salvador de León Jiménez Domínguez Torres, Alejandro (2000). Cambio y Conocimiento en los Sistemas. Los principios, métodos, algoritmos y códigos. Fundación Arturo Rosenblueth, México. Martín, James y James J. Odell (1997). Métodos orientados a objetos: conceptos fundamentales. Prentice-Hall Hispanoamericana, S.A. México. Schmuller, Joseph (2007). Aprendiendo UML en 24 horas. Prentice Hall. Pearson Education Latinoamérica. Internet. Simon, Herbert A. (2006). Las ciencias de lo artificial. Editorial Comares, Granada. Van den Broeken D’Obrenan (2005). “Automatisation”. © Encyclopædia Universalis 2005, tous droits réservés, Francia. Wallerstein Immanuel (coordinador) (1997), Abrir las ciencias sociales. Comisión Gulbenkian para reconstrucción de las ciencias sociales, Siglo XXI, México.
14

9 En el desarrollo de sistemas de información, a la fase de incepción o elaboración le siguen la de construcción y el de transición.