• No se han encontrado resultados

SIDI: Desarrollo del Software de Operatividad e Integración de un Sistema de Información para un Ambiente Real Cooperativo y Distribuido-Edición Única

N/A
N/A
Protected

Academic year: 2017

Share "SIDI: Desarrollo del Software de Operatividad e Integración de un Sistema de Información para un Ambiente Real Cooperativo y Distribuido-Edición Única"

Copied!
112
0
0

Texto completo

(1)

BIBLIOTECAS DEL TECNOLÓGICO DE MONTERREY

PUBLICACIÓN DE TRABAJOS DE GRADO

Las Bibliotecas del Sistema Tecnológico de Monterrey son depositarias de los trabajos recepcionales y de grado que generan sus egresados. De esta manera, con el objeto de preservarlos y salvaguardarlos como parte del acervo bibliográfico del Tecnológico de Monterrey se ha generado una copia de las tesis en versión electrónica del tradicional formato impreso, con base en la Ley Federal del Derecho de Autor (LFDA).

Es importante señalar que las tesis no se divulgan ni están a disposición pública con fines de comercialización o lucro y que su control y organización únicamente se realiza en los Campus de origen.

Cabe mencionar, que la Colección de Documentos Tec, donde se encuentran las tesis, tesinas y disertaciones doctorales, únicamente pueden ser consultables en pantalla por la comunidad del Tecnológico de Monterrey a través de Biblioteca Digital, cuyo acceso requiere cuenta y clave de acceso, para asegurar el uso restringido de dicha comunidad.

(2)

SIDI: Desarrollo del Software de Operatividad e Integración de

un Sistema de Información para un Ambiente Real Cooperativo

y Distribuido-Edición Única

Title SIDI: Desarrollo del Software de Operatividad e Integración de un Sistema de Información para un

Ambiente Real Cooperativo y Distribuido-Edición Única

Authors Donaji Lorena Sedano Flores

Affiliation ITESM-Campus Cuernavaca

Issue Date 2000-11-01

Item type Tesis

Rights Open Access

Downloaded 19-Jan-2017 08:16:04

(3)
(4)

INSTITUTO TECNOLÓGICO Y DE ESTUDIOS

SUPERIORES DE MONTERREY

CAMPUS CUERNAVACA

DIVISIÓN DE INGENIERÍA Y CIENCIAS

SIDI: DESARROLLO DEL SOFTWARE DE OPERATIVIDAD E

INTEGRACIÓN DE UN SISTEMA DE INFORMACIÓN PARA UN

AMBIENTE REAL COOPERATIVO Y DISTRIBUIDO.

T E S I S

QUE PARA OBTENER EL GRADO

DE MAESTRO EN CIENCIAS

COMPUTACIONALES PRESENTA

DONAJILORENA SEDAÑO FLORES

(5)

SIDI: DESARROLLO DEL SOFTWARE DE OPERATIVIDAD E INTEGRACIÓN DE UN SISTEMA DE INFORMACIÓN PARA UN AMBIENTE REAL COOPERATIVO Y DISTRIBUIDO.

Aprobado:

Asesor:

Dr. Víctor Hugo

Director Académico del Departamento de Electrónica. ITESM Campus Cuernavaca.

Revisor:

Dr. Fernando Ramos Quintana.

Director del Programa de Graduados en Informática y Computación. ITESM Campus Cuernavaca.

Revisor:

Dr. Ricardo Fernández del Busto.

(6)

AGRADECIMIENTOS

"A Dios por permitirme existir y dejarme construir mi propio camino, con aciertos y con errores".

"A mis padres por el ejemplo de fortaleza y por enseñarme a realizarme como profesionista". Adela y Rubén

"A mis hermanos que representan las personas que me obligan a ser mejor, para que sepan que todo se puede con voluntad y dedicación". Yolo, Ciilalli, Dani y Víctor

"A quien está conmigo en todo momento exhortándome a superar los retos que día con día se me presentan. Gracias por tu apoyo, por tu amor, por las desveladas, por tu comprensión. Gracias por ayudarme a ser mejor profesionista y mejor persona ". Te Amo Felipe J. Bonilla

"A mis amigos de la Maestría (4) que son ejemplo y apoyo". Oli, Raúl, Octavio y Leonardo

"A mis amigos de la licenciatura (los sietes fantásticos) que creen en mí y en cada una de mis metas," Guille, Miriam, Judith, Carlos, Rey y David.

"A las autoridades de la Universidad Autónoma del Estado de Morelos . que confiaron en mis aspiraciones de crecimiento profesional. En especial al Director de la FCA e I M.A. Raúl Trujillo Escobar y a PROMEP por la beca de estudios de posgrado".

"A los doctores del Programa de Graduados en Informática y Computación del ITESM Campus Cuernavaca, por sus cátedras, sus conocimientos y sus asesorías". "Un especial agradecimiento a mi asesor de tesis Dr. Víctor H. Zarate Silva por la paciencia a este trabajo y a su tesista, de la misma forma a los Doctores Fernando Ramos y Ricardo Fernández.".

(7)

RESUMEN

"La aparición de tecnologías multimedios, de colaboración (groupware, CSCW...), de redes (internet, intranet),... permite actualmente crear servicios que soportan la realización distribuida de acividades, que tradicionalmente se han realizado de forma centralizada. Los nuevos servicios, además de conseguir un ahorro notable de viajes y desplazamientos deben de permitir una realización más eficaz de muchas actividades ".

Telework.net 1999.

El presente trabajo de tesis consiste en desarrollar el software de operación real para un sistema de información cooperativo y distribuido, usando la tecnología del trabajo cooperativo asistido por computadora.

El trabajo cooperativo asistido por computadora es un área considerada como muy prometedora para desarrollos de software, que apoyen la realización de actividades dentro de las organizaciones. En este tipo de desarrollos se requiere estudiar los aspectos de cooperación entre las personas cuando realizan alguna actividad común, así como estudiar aquellas actividades en las que cada persona trabaja individualmente.

Particularmente, nuestro trabajo se enfoca a una organización real : El Programa de Graduados en Informática y Computación del ITESM Campus Cuernavaca, las actividades tanto comunes como individuales de cada persona de esta organización se representan en un sistema de información que permite:

• Representar al grupo de personas de la organización en una herramienta visual.

• Accesar a información compartida que se encuentre distribuida en cada uno de los equipos de cómputo de los integrantes de la organización.

• Calendarízar las actividades de cada uno de los usuarios de la organización.

• Mantener comunicación y compartición de información entre los integrantes de la organización a través de coreo electrónico y mensajes directos.

• Realizar reuniones de trabajo en un editor compartido con los integrantes de la organización.

(8)

SIDI: DESARROLLO DEL SOFTWARE DE OPERATIVIDAD E INTEGRACIÓN DE UN SISTEMA DE INFORMACIÓN PARA UN AMBIENTE REAL COOPERATIVO Y DISTRIBUIDO.

Tabla de contenido

No. de

página Capítulo I Introducción.

1.1 Antecedentes. . 1 1.2 Objetivo general y objetivos particulares de la tesis. 3 1.3 Alcances del trabajo de tesis. 4 1.4 Contenido general de la tesis. 4

Capítulo II Los sistemas distribuidos y el trabajo cooperativo asistido por computadora en el desarrollo de aplicaciones de software en las organizaciones.

2.1. Evolución del desarrollo de aplicaciones de software para 7 una organización en la actualidad.

2.2 Sistemas distribuidos.

2.2.1 Definición. 8 2.2.2 Características. 9 2.2.3 Trabajos actuales. 10 2.3 Trabajo cooperativo asistido por computadora.

2.3.1 Definición. 11 2.3.2 Características. 12 2.3.3 Elementos. 13 2.3.4 Trabajos actuales. 14 2.3.5 Características del software comercial para trabajo 16

cooperativo.

2.3.5.1 Lotus Notes 17 2.3.5.2 Microsoft OutLook 18 2.3.5.3 Novell Groupwise 18 2.4 Correspondencia entre sistemas distribuidos y trabajo 19

cooperativo asistido por computadora en el desarrollo de aplicaciones de software para una organización.

(9)

Capítulo III Antecedentes de SIDI (Sistema de Información Interactivo Distribuido).

3.1 Análisis de requerimientos de una organización real: 22

Programa de Graduados en Informática y Computación (PGIC).

3.2 Características de la aplicación de software requerida en la 23

organización PGIC.

3.3 Interfaz hombre­máquina para SIDI (nivel de diseño ¡cónico y textual).

3.3.1 Justificación del desarrollo de la interfaz. 30

3.3.2 Esquema contextúa!. 31 3.3.3 Diagrama de contexto. 32 3.3.4 Modelo ¡cónico y textual. (Nivel de operatividad) 32 3.4 Resumen del capítulo. 33

Capítulo IV Diseño y desarrollo del software operativo de — SIDI

4.1 Justificación. 35 4.2 Descripción de los módulos y funciones a desarrollar para 36

la operatividad de SIDI.

4.2.1 Funciones de acceso al sistema. 44

4.2.2 Funciones de permisos en el sistema para cada 45 uno de los usuarios.

4.2.3 Funciones para las comunicaciones entre los 45 usuarios del sistema.

4.2.4 Funciones de la administración del sistema. 46 4.2.5 Funciones para el acceso a información distribuida. 46 4.2.6 Funciones para el editor síncrono. 47 4.3 Desarrollo e implementación de las funciones. 47 4.3.1 El objeto ventana de registro 48 4.3.2 El objeto ventana principal 50

4.3.3 El objeto ventana de mensajes 52

4.3.3.1 El objeto envío de mensajes 53 4.3.4 El objeto información 53 4.3.5 El objeto ventana de información compartida 54 4.3.6 El objeto sistema de producción 54

4.4 Problemas en la implementación. 55

(10)

Capítulo V Implementación de la integración de SIDI (interfaz y software de operación real) y pruebas de funcionamiento.

5.1 Justificación. 56

5.2 Descripción de las funciones desarrolladas para unir la 56 interfaz con el software operativo desarrollado.

5.3 Problemas con la integración. 59

5.4 Pruebas de funcionamiento de SIDI 59 5.4.1 Pruebas de funcionalidad del software de 61 operatividad de SIDI.

5.4.2 Pruebas de integración de SIDI. 66

5.4.3 Pruebas de implementación de SIDI. 66 5.4.4 Análisis de resultados. 67 6.1 Resumen del capítulo. 67

Capítulo VI Conclusiones y trabajos futuros.

6.1 Conclusiones. 69 6.2 Trabajos futuros. 70

Referencias bibliográficas. 72

Bibliografía 75

Enlaces WWW 77

Apéndices.

A.­ Documento de análisis de requerimientos. B.­ Documento de programación.

(11)

Lista de figuras

No. Fig. Descripción Pag. #Cap. página

II.1

III.2

III. 3 III.4 IIl.5 III.6 III.7 III.8 IV.9 IV.10 IV.10 A IV.10 B IV.10 C IV.10 D IV.10 E

Ejemplo de la arquitectura de un sistema distribuido simple

Nomenclatura de diagramas de contexto utilizada Diagramas de contexto de las actividades comunes Diagramas de contexto de las actividades específicas Los procesos, la información y los resultados que se manejan en PGIC

Esquema contextúal de la interfaz hombre­máquina de SIDI

Diagrama de contexto de la interfaz SIDI

Apariencia de la interfaz hombre­máquina para ambientes organizacionales

Representación de clases y objetos

Esquema contextúal de SIDI (interfaz y software de operación real)

Clase ventana con objeto ventana y sus instancias Clase usuarios con objeto usuarios y sus instancias Clase información con objeto información y sus instancias

Clase comunicaciones con objeto comunicaciones y sus instancias

Clase sistema de producción con objeto sistema de

(12)

IV.10 F Relación entre objetos del sistema 43

IV.11 Apariencia de la ventana de la interfaz (administrador o 51 usuario común)

V.12 Configuración de la interfaz con una base de datos con 57 información de los usuarios pertenecientes a SIDI

(13)

"Lo último que uno sabe en la construcción de un trabajo es qué poner primero".

BLAISE PASCAL.

Capítulo

1

 INTRODUCCIÓN

1.1 Antecedentes.

1.2 Objetivo general y objetivos particulares de la tesis. 1.3 Alcances del trabajo de tesis.

1.4 Contenido general.

1.1 Antecedentes.

Uno de los aspectos más sobresalientes del siglo actual, es el extraordinario crecimiento de la tecnología de cómputo en las organizaciones. Por una parte los sistemas de cómputo (combinación de hardware y software), almacenan datos para generar información útil en la toma de decisiones, mientras que las redes de comunicación de datos propician el intercambio de información y la comunicación entre el personal de las organizaciones.

Muchas veces las bondades de las redes de comunicación de datos -conectividad, velocidad y capacidad de almacenamiento-, son pobre o medianamente aprovechadas por la carencia de programas de aplicación de software que usen y exploten adecuadamente los recursos mencionados.

El desarrollo de la nueva tecnología de información ha sido la causa principal para la evolución de los programas de aplicación de software. Para desarrollar estos programas, una de las áreas más prometedoras es el trabajo cooperativo asistido por computadora

(CSCW, Computer Supported Cooperative Work en inglés). Esta área surgió hace algunos años y continuamente se presentan investigaciones que definen esta área

(14)

forma en la cual los miembros de múltiples disciplinas y diferentes perspectivas puedan trabaj ar en un proyecto específico [LEÓNARDO99].

El campo de aplicación de CSCW es tan amplio que requiere acudir a otras áreas más avanzadas de las ciencias computacionales, que han y siguen contribuyendo al desarrollo de esta disciplina. Las áreas de las ciencias computacionales que pueden mencionarse son:

[RODRIGUEZ97]

Sistemas distribuidos. • Interfaces hombre-máquina. • Inteligencia artificial.

En recientes trabajos las áreas que han tenido mayor relevancia es la interacción humano-computadora y los sistemas de información [GRUDIN99].

En cada una de estas áreas, se han hecho y se siguen haciendo trabajos de investigación a nivel internacional2. Estos trabajos han propuesto métodos, técnicas y soluciones que

pueden ser utilizados en la solución a problemas que se presentan durante el desarrollo de un programa de aplicación de trabajo cooperativo asistido por computadora3 También, se

han hecho trabajos de tesis de maestría en Ciencias Computacionales [MOO97], [CHANDOM197], [RODRIGUEZ97]', en los cuales, como resultado de las investigaciones y el trabajo de los tesistas, se han propuesto también métodos, técnicas y soluciones ante determinados problemas presentados durante el desarrollo de programas de aplicación de software, con características de trabajo cooperativo asistido por computadora.

Los modelos y métodos propuestos han contribuido al desarrollo de la tecnología, pero son también útiles en el desarrollo de programas de aplicación de software con características CSCW, necesarios en organizaciones del mundo real. Lo anterior permite que la tecnología ayude, simplifique y facilite el trabajo de los seres humanos. Cabe mencionar que las organizaciones que tienen instaladas redes de comunicación de datos, son los candidatos

Una lista de congresos anuales referentes a investigaciones sobre CSCW, se encuentra en la referencia bibliográfica.

3

(15)

idóneos en donde se desarrollan programas de aplicación de software con características CSCW.

Los beneficios del trabajo cooperativo al implementarlos en aplicaciones distribuidas puede ser difícil en los aspectos de diseño, construcción y depuración por lo que se apoya en área como la inteligencia artificial distribuida, plantea métodos y técnicas para el diseño de soluciones que agilicen las funciones realizadas entre usuarios y las funciones de operación de los sistemas de cómputo. Las soluciones planteadas por esta área, buscan que la participación del usuario sea mínima o nula, es decir, deben de simular "comportamiento inteligente", como si fueran los usuarios los que realizan la operación [LEONARDO99].

1.2 Objetivo general y objetivos particulares de la tesis.

El Programa de Graduados en Informática y Computación (PGIC) del Instituto Tecnológico y de Estudios Superiores de Monterrey (ITESM), Campus Cuernavaca, es una organización que utiliza una estructura de trabajo con ayuda de la tecnología de comunicaciones de datos. Para su mejor productividad es deseable que cuente con un sistema de aplicación utilizando la tecnología de trabajo cooperativo asistido por computadora.

La propuesta de solución para este tipo de aplicación de software es extenso, por lo que el trabajo se divide en dos subsistemas:

• Interfaz hombre - máquina ó interacción humano-computadora.

• Desarrollo del software de operación real de la interfaz y la integración de los dos subsistemas.

(16)

El objetivo final de los dos subsistemas es:

Desarrollar un programa de aplicación para una organización real: PGIC, aplicando los conceptos de trabajo cooperativo asistido por computadora.

El desarrollo final se denomina SIDI (Sistema de Información Distribuido Interactivo).

En particular el objetivo del presente de tesis es:

Desarrollar el software de operatividad y de integración del sistema de información para un ambiente organizacional real en un ambiente distribuido .

1.3 Alcances del trabajo de tesis.

Los alcances del trabajo de tesis son:

Diseño y desarrollo del software de operación SIDI. Este trabajo consiste en codificar las funciones para cada una de las operaciones señaladas (por medio de iconos y texto) como válidas en la interfaz, e integrarlas en la aplicación fmahSIDI.

Las funciones a desarrollarse son:

• Operaciones de administrador del sistema.

• Comunicación entre usuarios por medio de correo electrónico y sistema de mensajes internos.

• Operaciones de acceso a información compartida y distribuida entre los equipos de los usuarios de la organización.

• Operaciones para llevar a cabo reuniones en línea a través de un editor compartido. Como parte de desarrollos futuros, fuera del alcance de este trabajo de tesis, para que a la aplicación SIDI se le incorporen funciones, que le permitan una gestión con cierto grado de inteligencia y autonomía en el diseño general se propone el desarrollo de un sistema multiagentes para tareas como: manejo de un planificador de tareas para el grupo de usuarios, manejo de múltiples permisos de acceso, manejo de un mayor número de niveles de acceso al sistema con la inherente complejidad de ello.

1.4 Contenido general de la tesis.

(17)

El capítulo 1, objeto de estas líneas, explica la justificación, los objetivos, los alcances y el contenido del trabajo de tesis.

El capítulo 2 explica la evolución del desarrollo de los programas de aplicación; se mencionan los conceptos y las áreas de las ciencias computacionales que han contribuido al desarrollo de aplicaciones de trabajo cooperativo asistido por computadora: los sistemas distribuidos y la inteligencia artificial distribuida, también se menciona el concepto y las características del trabajo cooperativo asistido por computadora. El capítulo concluye con la explicación sobre la correspondencia entre los sistemas distribuidos y el trabajo cooperativo asistido por computadora, en el desarrollo de programas de aplicación para las organizaciones del mundo real.

El capítulo 3 explica los antecedentes del Sistema de Información Distribuido Interactivo (SIDI), y comprende:

• Análisis de requerimientos de la organización Programa de Graduados en Informática y Computación (PGIC).

• Propuesta de programa de aplicación a desarrollar en el PGIC.

Se concluye con la explicación del modelo de la interfaz desarrollada para SIDI. Se expone también el modelo icónico y textual utilizado para representar las operaciones en la interfaz.

El capítulo 4 explica el diseño y desarrollo del software de operación para la interfaz hombre-máquina y los problemas presentados en la implementación. El capítulo termina con la explicación del software desarrollado.

(18)

Al final de este trabajo se encuentran las referencias bibliográficas y los apéndices: Apéndice A) Documento de análisis de requerimientos.

Apéndice B) Documento de programación.

(19)

"...el incremento de la productividad incentivado por un ambiente favorable y herramientas de calidad es esencial para satisfacer la creciente demanda de software."

M.D. MClROY, E.N. PlNSON Y B.A. TAGUE

Capítulo 2 LOS SISTEMAS DISTRIBUIDOS Y EL

TRABAJO COOPERATIVO ASISTIDO POR

COMPUTADORA EN EL DESARROLLO DE

APLICACIONES DE SOFTWARE EN LAS

ORGANIZACIONES.

2.1 Evolución del desarrollo de aplicaciones de software para una organización en la actualidad.

2.2 Sistemas Distribuidos.

2.3 Trabajo cooperativo asistido por computadora.

2.4 Correspondencia entre sistemas distribuidos y trabajo cooperativo asistido por computadora, en el desarrollo de aplicaciones de software para una organización. 2.5 Resumen del capítulo.

2.1 Evolución del desarrollo de programas de aplicación para las organizaciones en la actualidad.

Uno de los aspectos más sobresalientes del siglo actual es el extraordinario crecimiento de la tecnología de cómputo en las organizaciones, lo cual, ha dado como resultado que en toda organización grande o pequeña, para ayudar a automatizar las actividades, se dependa de equipos de procesamiento de información.

En esta era de redes de computadoras uno de los aspectos mas importantes es la forma en la cual los usuarios interactuan con las computadoras y mas específicamente como ellos interactúan en ambientes colaborativos [LEONARDO99].

(20)

computadora (CSCW, Computer Supported Co-operative Work, en inglés). El trabajo cooperativo asistido por computadora utiliza la tecnología de trabajo en grupo. En esta tecnología se combina la forma en que los grupos de personas trabajan para realizar tareas comunes, haciendo uso de tecnologías actuales de hardware, software, servicios y técnicas de desarrollo [GRUDIN99].

El campo de aplicación del trabajo en grupo es tan amplio que se requiere acudir a otras áreas más avanzadas, que han y siguen contribuyendo al desarrollo de esta disciplina. Las áreas que pueden mencionarse: [RODRIGUEZ97].

Sistemas Distribuidos.

• Interfaces Hombre - Máquina. • Inteligencia Artificial.

A continuación haremos un análisis mas detallado de cada una.

2.2 Sistemas distribuidos.

2.2.1 Definición.

Un sistema distribuido consiste en una colección de elementos de cómputo autónomos unidos por una red de comunicaciones y equipadas con un programa distribuido, cuya función es obtener un solo resultado. El software del sistema distribuido permite que éstos coordinen sus actividades y permiten que puedan compartir los recursos del sistema -hardware, software y datos. [COULOURIS95].

Un ejemplo de la arquitectura de un sistema distribuido simple se muestra en la figura 1.

Computadores Personales

arnpk

Gateway Servidores de Logñ, impresoras y archivos otros servidores

(21)

El crecimiento acelerado de las redes de computadoras y la disponibilidad de computadoras personales de alto rendimiento han sido algunos de los factores que han permitido el desarrollo de los sistemas distribuidos.

El desarrollo alcanzado en el área de las comunicaciones de datos permite que actualmente existan muchos trabajos e investigaciones sobre el diseño de sistemas distribuidos y sus principios subyacentes. Los trabajos sobre los sistemas distribuidos continúan, pero existen ya implementaciones prácticas y existe un cuerpo considerable de conocimiento teórico y empírico sobre su diseño. [COULOURIS95].

2.2.2 Características.

Los sistemas distribuidos trabajan de forma que a un usuario externo se le da la apariencia de estar trabajando en un solo sistema, y ofrecen los protocolos para el intercambio de información y los métodos para distribuir el control y la información. [CHANDOMI97].

Para que un sistema pueda considerarse distribuido, seis son las características claves responsables de la utilidad de dichos sistemas. [COULOURIS95]: compartición de recursos, apertura, concurrencia, escalabilidad, tolerancia a fallas y transparencia. Los sistemas y los programas de aplicación de software deben ser cuidadosamente diseñados para asegurar que se cumplan estas características, pues éstas, no son consecuencias automáticas de la distribución. La definición básica de las características de los sistemas distribuidos se mencionan a continuación:

 Compartición de recursos.­ (resourse sharing en inglés). El rango se extiende desde los componentes de hardware y software, tales como datos, archivos, bases de datos, ventanas, programas, objetos y otros. Es decir, puede existir sólo una sola copia de herramientas de desarrollo, compiladores, librerías y editores por sistema distribuido. Esta característica es el soporte para el trabajo cooperativo. (CSCW).

(22)

 Modelo basado en objetos: cada entidad del sistema es visto como un objeto con una interfaz que provee los accesos a sus operaciones.

 Apertura.­ (openess en inglés). Característica que determina si un sistema puede extenderse en diversas formas. Es la capacidad de aceptar extensiones de hardware (periféricos, memoria, interfaces de comunicación) y de software (servicios de utilerías, protocolos de comunicación).

 Concurrencia.­ (concurrency en inglés). Cuando varios procesos existen en una sola computadora. En un sistema distribuido existen muchas computadoras y pueden existir muchos procesos en ejecución. (Paralelo).

 Escalabilidad.­ (scalabity en inglés). Capacidad de un sistema de operar efectiva y eficientemente a diferentes escalas. El más pequeño sistema distribuido factible puede probablemente consistir de dos estaciones y un servidor de archivos, o considerando un sistema distribuido construido alrededor de una LAN podría contener varios cientos de estaciones y muchos servidores de archivos, servidores de impresión y otros servidores de propósitos especiales. La escalabilidad consiste en que en cualquiera de los sistemas distribuidos, el sistema y el software de aplicación no sería necesario cambiarlos cuando la escala del sistema aumente (cuando se agreguen recursos para ser compartidos).

 Tolerancia a fallas.­ (fault tolerancy en inglés). Capacidad de un sistema distribuido de seguir funcionando (disponibilidad), aún en presencia de fallas. Esto se puede lograr utilizando redundancia en hardware o redundancia en software. • Transparencia.­ (transparency en inglés). Se define como el ocultamiento de los

usuarios y el programa de aplicación de la separación de los componentes en un sistema distribuido, para que el sistema sea percibido como una totalidad más bien que como un conjunto independiente de componentes.

2.2.3 Trabajos actuales.

(23)

operados por los supermercados y otras tiendas para coordinar su control de almacén y su control de ventas. [COULOURIS95].

Otros trabajos que tienen que ver con los sistemas distribuidos, son los desarrollos de software para redes de área amplia (WAN). Internet es una colección mundial de redes de área local y amplia interconectadas. Internet soporta a varias aplicaciones que tiene carácter de distribuidas. La mejor aplicación con carácter distribuido, que se conoce es el correo electrónico. Otras aplicaciones distribuidas son: los servicios de Netnews, Gopher y el

World Wide Web. [COULOURIS95].

2.3 Trabajo cooperativo asistido por computadora.

2.3.1 Definición.

El término de trabajo cooperativo asistido por computadora fue originalmente usado por Cashman y Greif para un pequeño negocio en 1984, a partir de entonces el interés en esta área ha crecido notablemente [WOODCOCK97]. En ese año se empezaron a utilizar aplicaciones para automatización de oficinas dando con ello inicio a las investigaciones y trabajos en esta área [GRUDIN99]. Este término suele considerarse como sinónimo de

groupware, pero, [MORRI et al 1988], establece que groupware ofrece la infraestructura y soporte para ayudarnos a trabajar juntos. Quizá una distinción más precisa entre estos dos términos la presenta [HIROSHI et al 1994}: El trabajo cooperativo asistido por computadora examina como la gente trabaja en grupos y como la tecnología groupware,

puede ayudar a soportar la colaboración. Groupware es un término para sistemas basados en computadoras diseñados explícitamente para soportar grupos de gente trabajando.

(24)

• La comunicación tiene que abarcar los aspectos tecnológicos y sociales. En lo social se definen los objetivos, se discuten alcances, se analizan avances y se intercambian ideas sobre las tareas grupales. En lo tecnológico se efectúa mediante redes de computadoras, transmisión de datos, protocolos y dispositivos de comunicación, entre otros. Esta comunicación puede ser síncrona o asincrona. La comunicación síncrona, se refiere a la que ocurre a un mismo tiempo como por ejemplo, en una conversación en tiempo real. La comunicación asincrona se refiere a la que ocurre en tiempos diferentes, como por ejemplo el correo electrónico. Además la comunicación puede ser local (con usuarios que se encuentran en el mismo edificio) o remota (con usuarios que se encuentran geográficamente separados en oficinas en diferentes edificios).

• La colaboración, significa trabajar de forma conjunta con una o más personas, lo que implica que las personas involucradas compartan información.

• La coordinación que sirve para establecer relaciones entre las tareas y los productos. La coordinación es un prerrequisito para el logro de los propósitos y es la ejecución explícita de los aspectos interactivos del trabajo complejo, distribuido a muchas personas. Sin la coordinación es muy posible llegar a conflictos y/o a llegar a realizar tareas o acciones repetidas.

• La negociación, es el proceso necesario cuando varias personas unen esfuerzos para diseñar un producto en forma cooperativa. Se involucran convenios y las decisiones de diseño se establecen de común acuerdo entre las partes involucradas a fin de obtener un producto final de calidad.

2.3.2 Características.

Para que un sistema pueda considerarse de trabajo cooperativo asistido por computadora, debe contener algunas de las características siguientes [ELLIS97]:

• Sistemas de mensajes: intercambio asincrono de mensajes de tipo texto (correo electrónico, bbs).

(25)

• GDSS (Sistemas de apoyo a grupos en la toma de decisiones): agilizan el proceso de toma de decisiones, mejoran la calidad de decisiones que resulten.

• Conferencia por computadora: que pueden ser en tiempo real, teleconferencia y conferencia de escritorio.

• Agentes inteligentes: son elementos autónomos (programas de computación) que se pueden utilizar para que ayuden a que las aplicaciones colaborativas puedan realizar sus funciones con un mayor grado de autonomía.

• Sistemas de coordinación. • Sistemas distribuidos.

2.3.3 Elementos.

La construcción y desarrollo de la tecnología no ha sido suficiente para el desarrollo de esta área, se requiere también de aprender como la gente trabaja en grupos y en la organización así el como la tecnología afecta a esto [GRUDIN99]. Por esto, los elementos que integran el trabajo cooperativo asistido por computadora puede dividirse en dos tipos:

[WOODCOCK97]

Elementos Tecnológicos. • Elementos Humanos. Los elementos tecnológicos son:

• Sistemas de comunicación digital: se refiere a elementos tales como transmisión de voz, correo electrónico y sistemas de videoconferencia.

• Facilidades para espacio de trabajo compartido: se refiere a proveer un área en la cual un grupo de personas pueden "verse" y trabajar virtualmente, tales como pizarrones electrónicos y pantallas compartidas

• Facilidades para compartir información: se refiere a habilitar a un grupo de personas para almacenar, accesar, iniciar y manipular información compartida.

• Facilidades para soportar actividades compartidas: se encarga de proveer el soporte para la realización de tareas específicas.

(26)

• Aspectos individuales: son la forma en que los usuarios organizan su trabajo individual y su comunicación con los demás. Además de identificar la información y las tareas que el usuario no comparte con los demás.

• Aspectos organizacionales: involucra el entendimiento de cómo pequeños o grandes grupos se organizan y se manejan, así como la forma en que la información de la organización puede ser presentada al usuario. Involucra un adecuado conocimiento y manejo de la organización.

• Aspectos de diseño del trabajo en grupo: esto requiere un análisis del trabajo cooperativo y el posterior diseño de soluciones.

• Aspecto del dinámica del grupo: esto se refiere a la forma en la cual la gente colabora, el desempeño de los grupo al trabajar en esta forma.

2.3.4 Trabajos actuales.

Existen diferentes tipos de aplicaciones de trabajo cooperativo asistido por computadora y diferentes opciones de diseño. Conociendo algunas de ellas, las perspectivas de desarrollo de programas de aplicación para trabajo cooperativo asistido por computadora pueden ser mejores. Las aplicaciones asincronas más comunes de trabajo cooperativo asistido por computadora son [BRINCK98]:

• Correo electrónico: es la aplicación más común de trabajo cooperativo asistido por computadora. Los sistemas de correo electrónico actualmente son capaces de enviar mensajes a grupos de usuarios, filtrar mensajes, crear grupos de correo e incluir archivos en el mensaje. Otras características que han sido desarrolladas incluyen: ordenamiento automático y procesamiento de mensajes, enrutamiento automático y comunicación estructurada.

 Grupos de noticias y listas de correo: son similares al correo electrónico excepto que funcionan para grandes grupos de personas que opinan sobre algún tema en especial.

 Hipertexto: es un sistema para ligar documentos de texto unos con otros, el servicio Web es un claro ejemplo de ello.

(27)

usuarios y determina los horarios adecuados para programar reuniones entre los mismos usuarios.

 Sistemas de escritura colaborativa: pueden soportar tiempo real o no. Los procesadores de palabras deben proveer un soporte asincrono para que el autor del documento y los usuarios participantes puedan hacer cambios y anotaciones al documento. El autor del documento debe contar con herramientas que le permitan planear y coordinar el proceso de opiniones de los usuarios sobre el documento. Un soporte síncrono permite que los autores de los cambios en los documentos vean los cambios efectuados, para esto se requiere de un canal adicional de comunicación para los usuarios involucrados en el trabajo, pudiendo ser un videófono o un "chat.".

Las aplicaciones síncronas o de tiempo real más comunes son [BRINCK98]:

• Pizarrones compartidos: permite que dos o más usuarios vean y dibujen en un espacio de dibujo compartido de forma simultánea, incluyendo a usuarios remotos. Regularmente estos sistemas se usan para conversaciones informales, pero han demostrado ser útiles en conversaciones estructuradas o en tareas más sofisticadas donde un grupo de personas trabajen en la creación de dibujos, gráficos, publicaciones o aplicaciones de ingeniería. Los pizarrones compartidos deben de proveer mecanismos para distinguir a cada uno de los usuarios participantes. • Videocomunicaciones: estos sistemas permite realizar llamadas telefónicas a un

usuarios o a varios con vídeo. Se requiere un sistema telefónico con un componente visual adicional para poder realizar videocomunicación. No es muy utilizado todavía primeramente por el costo, y después porque para algunas operaciones resulta más apropiado aún el uso del audio teléfono.

(28)

gente, tema de discusión y otros. Muchos sistemas de "chat" proveen controles de acceso a los salones o moderadores para controlar las discusiones.

 Sistemas para soporte de decisión: son diseñados para facilitar a los grupos la toma de decisiones. Proveen herramientas para cosas como: crítica a ideas, razonamientos, colocar peso y probabilidad a eventos y alternativas, y para votar. • Juegos multiusuarios: Esto se ha convertido en algo más común en Internet. Los

juegos por internet son un ejemplo del prototipo de aplicaciones multiusuario más que cooperativas, pero con algunos juegos actuales se requiere de la cooperatividad de algunos jugadores para ganar.

En el marco del desarrollo del trabajo cooperativo asistido por computadora, están apareciendo propuestas de nuevos servicios como son educación, reunión, tele-trabajo, tele-conferencia. Alguno de estos trabajos aparecen como experimentos asociados a Internet, Intranet. Otros como experiencias sobre redes de banda ancha. Otros son ya comerciales, como LOTUS NOTES/DOMINO, Videoconferencia, Microsoft exchange/backoffice, Netscape communicator [QUEMADA99].

Los nuevos programas de aplicación de trabajo cooperativo asistido por computadora, deben proveer servicios que además de conseguir un ahorro notable de viajes y desplazamientos, deben permitir una realización más eficaz de muchas actividades.

2.3.5 Características del software comercial para trabajo cooperativo.

Como se menciona en el final del párrafo anterior, se han desarrollado aplicaciones de software comercial con características de trabajo cooperativo, las cuales tienen características que es importante mencionar en este trabajo con la finalidad de observar la importancia de este trabajo en el marco de aplicaciones ya existentes.

(29)

2.3.5.1 Lotus Notes.

Es una plataforma para el desarrollo y la explotación de aplicaciones en red que permite a los grupos de trabajo existentes en una organización compartir información sin tener en cuenta el sistema operativo con el que se trabaja o la plataforma a la que pertenece.

Es considerada la herramienta líder de software de trabajo cooperativo. [LNOTES].

Características • Proporciona

herramientas e interfaces que permiten a los usuarios crear y compartir información de manera sencilla. • Proporciona soporte para enviar, recibir, gestionar correo electrónico. • Proporciona un

entorno para crear y ejecutar aplicaciones de Notes personalizadas según las necesidades de las empresas.

Ventajas / Desventajas • Requiere de un

entorno cliente /servidor

(servidor de notas).

• Aun con la ayuda del servidor para realizar mis actividades de compartición y enví de mensajería, el sistema requere de recursos de computo muy potentes.

Requerimientos • De preferencia un

modelo AS-400 para servidor o servidor PC integrado con minimo 64 mb en ram, procesador pentium mínimo y un disco duro lo suficientemente grande para almacenar: los programa de Lotus Notes y los datos utilizados por el servidor de Notes, Todas las aplicaciones de Notes que se ejecutan en el servidor de Notes, todas las bases de datos almacenadas en el servidor de Notes.

Precio

(30)

2.3.5.2 Microsoft OutLook

Microsoft presento una propuesta de software denominada Oficina2000 que permite a las organización un mayor éxito con el uso de comunicación reforzada y colaboración. Esta herramienta ayuda a organizar la información y mejora la.comunicación y colaboración en la empresa [MICROSOFT].

Características

• Comunicación reforzada y colaboración entre usuarios. • Mas acceso a

datos de tarjetas y análisis para manejar correo. calendario, contactos, tareas. • Personalización

del sistema y posible

recuperación de datos perdidos.

Ventajas / Desventajas

• Microsoft esta por todos lados por los que sus productos son fácilmente

asimilables por el consumidor. • Es una

herramienta muy general que maneja

información que no ha todos los usuarios les pueda parecer útil.

Requerimientos

• Equipos pentium con 32 mb en ram y mínimo 153 mb en disco duro. • Funciona en

sistema operativo Windows 95

Precio

• Por licencia versión

profesional 349 dólares.

2.3.5.3 Novell GroupWise

Es un conjunto de herramientas necesarias para reunir, acceder y comunicar información. Es una propuesta de colaboración global basada en estándares abiertos de la empresa Novell [NOVELL].

Características

• Correo electrónico

• Gestión de tareas, notas, citas

• Workflow

• Gestión de documentos • Gestión de

imágenes

Ventajas / Desventajas

• Permite concentrar toda la información en un único lugar • Es posible

utilizarlo en los servidores y clientes comunes de las organizaciones

Requerimientos

• Equipos pentium con 32 mb en ram y disco duro de al menos 500 mb para instalación de clientes

• Funcionan en redes intranet con sistema operativo

Precio

(31)

• Comunicación de usuarios a través de Internet

• Conexión de usuarios móviles • Acceso por

medio de Web • Publicación de

documentos por la Web

• Librería para ampliar las ventajas de esta herramienta a la plataforma NT • Sistema Cliente

servidor

novell

• Un servidor Novell con la aplicación GroupWise instalada. 2.4 Correspondencia entre sistemas distribuidos y trabajo cooperativo asistido por computadora, en el desarrollo de aplicaciones de software para una organización.

El enfoque de desarrollo de sistemas de información ha evolucionado con el tiempo, sin embargo la información sigue siendo el aspecto más importante que se maneja en las organizaciones para la adecuada toma de decisiones.

Las organizaciones más innovadoras están tomando caminos radicalmente nuevos para resolver los problemas de cómputo, usando sistemas que pueda resolver las necesidades altamente cambiantes de sus operaciones. Estas organizaciones, quieren computadoras que trabajen para ellos, no en su contra, que se adapten a los usuarios y proporcionen las herramientas que permitan a los usuarios de la información moldear ésta en diversas formas nuevas. [NORTON95].

Un concepto clave que hace posible los sistemas de información flexibles, es la tecnología de trabajo cooperativo asistido por computadora, denominada por algunos "la herramienta operacional de los noventas".

(32)

Un aspecto clave y fundamental para un sistema de trabajo cooperativo asistido por computadora es el aspecto de comunicación, necesaria para asegurar la coordinación requerida para el desarrollo armonioso de la aplicación.

La tecnología desarrollada por los sistemas distribuidos en los aspectos de comunicación y coordinación entre procesos puede aprovecharse para brindar soluciones ad-hoc a los sistemas de trabajo cooperativo asistido por computadora.

En el área del trabajo cooperativo asistido por computadora se han hecho varios desarrollos pero todavía existen varios puntos por resolver [RODRIGUEZ97]:

• Desarrollar software amigable con el usuario. • Aplicar la dinámica social en las actividades. • Estandarizar términos.

• Manejar interacciones entre múltiples tareas ejecutadas por múltiples grupos. Otro aspecto importante, es aprovechar las ventajas que nos ofrecen los avances en los sistemas distribuidos, para desarrollar aplicaciones de trabajo cooperativo asistido por computadora, en organizaciones del mundo real. Acercar las investigaciones y los avances tecnológicos a las necesidades de los usuarios de las organizaciones.

2.5 Resumen del capítulo.

El desarrollo de aplicaciones ha evolucionado con el tiempo, en la actualidad se requiere que éstas apoyen la labor de las organizaciones en los aspectos de compartir información, mantener comunicación entre el personal de la organización y lograr que el personal realice sus tareas cooperativamente.

Este tipo de aplicaciones de software hacen uso de la tecnología de trabajo cooperativo asistido por computadora (CSCW por sus siglas en inglés). Esta tecnología se apoya de otras áreas de las ciencias computacionales como los sistemas distribuidos, la inteligencia artificial y la inteligencia artificial distribuida.

(33)
(34)

"El software está entre el usuario y la máquina." HARLAND D. MILLS.

Capítulos Antecedentes de SIDI (Sistema de Información

Distribuido Interactivo).

3.1 Análisis de requerimientos de una organización real: Programa de Graduados en Informática y Computación (PGIC).

3.2 Características de la aplicación de software requerida en la organización PGIC. 3.3 Interfaz hombre-máquina para SIDI (nivel de diseño icónico y textual).

3.4 Resumen del capítulo.

3.1 Análisis de requerimientos de una organización real: Programa de Graduados en Informática y Computación (PGIC).

(35)

Con los datos obtenidos de la organización se definieron las características de SIDI. La interfaz hombre-máquina para ambientes organizacionales[MOTHE98], es la primera parte de los desarrollos de SIDI y se explica a continuación.

3.2 Características de la aplicación de software requerida en la organización PGIC.

Como se menciono PGIC mantiene relación con entidades internas y externas para efectos de este trabajo se incorporaron algunos de los usuarios pertenecientes a la División de Ingeniería y Ciencias (DIC), los cuales mantienen relación con los usuarios y las tareas del PGIC. Estos usuarios son: el director y la secretaria de DIC, los jefes de las divisiones académicas que conforman DIC y catedráticos que pertenecen al claustro de maestros DIC. Todos ellos conforman el grupo de trabajo de PGIC.

Cada uno de los integrantes del grupo de trabajo PGIC realizan actividades inherentes al puesto que desempeñan. Entre estas actividades hay algunas en las cuales es necesario que interactúen dos o más individuos de la misma organización, quienes además pueden estar geográficamente distantes. Unir estas actividades en un sistema de software no puede realizarse arbitrariamente sino deben respetarse las actividades individuales y comunes que hace cada integrante de esta organización de acuerdo a la jerarquía de su puesto, tomando también en cuenta sus preferencias personales.

Las actividades que se sugieren en primera instancia unificar, son aquellas en las que el personal trabaje conjuntamente y que involucren el manejo de intercambio de datos y comunicación entre usuarios.

(36)

Actividades comunes Descripción • Reuniones de trabajo.

• Revisión de documentos.

Envío de mensajes.

Envío de documentos a todo el personal

Se reúnen todos los integrantes del grupo de trabajo de PGIC, cada vez que son convocados. Es generado un documento (minuta de la reunión).

Se reúnen o se distribuye un documento para hacer observaciones sobre él.

Se envían mensajes para dar a conocer alguna decisión o aviso que tenga que ver con todos los integrantes del grupo de trabajo PGIC o para convocar a reuniones.

Se envían documentos que es necesario que conozca todo el personal del grupo de trabajo PGIC.

Y las actividades específicas de los integrantes del grupo de trabajo PGIC son:

Actividades específicas Descripción Envío y recepción de correo electrónico.

Calendarización de actividades.

Envío de documentos y memorandas

Generación, almacenamiento recuperación de documentos.

Cada individuo de la organización hace uso de esta herramienta para envío de información a través de la red de comunicación de datos.

De acuerdo a las actividades que exige el puesto que desempeña dentro de la organización, cada usuario planifica sus actividades.

Los usuarios pueden enviar a uno o a varios de los integrantes de la organización, la información que le sea requerida o que considere pertinente sea conocida por los demás.

(37)

• Generación de bases

almacenar sus datos. de datos para

• Mantenimiento de la integridad y seguridad de sus datos.

Algunos de los datos referentes a los estudios de posgrado, tienen forma de bases de datos, por lo cual algunos usuarios almacenan información de esta forma. Estas bases de datos al igual que el punto anterior pueden ser exclusivas o compartidas.

Es responsabilidad de cada usuario conservar la integridad y la seguridad de la información que almacena y de la información que proporciona dentro y fuera de la organización.

La información que cada integrante del grupo de trabajo PGIC maneja podemos clasificarla de la siguiente manera:

Información Descripción

Documentos

• Almacenes de información (Bases de datos).

Toda información que se encuentre contenida en un archivo de texto, sean reportes, cartas, convenios, avisos, memorandas; etc.. Además puede ser que estos documentos sean generados por el propio usuario o pueden ser enviados por otro usuario de la misma organización o de alguna entidad externa.

No todos los documentos se encuentran almacenados en equipos de cómputo, algunos de ellos se almacenan manualmente en algún archivero.

Toda información que tenga formato de base de datos y que maneje información referente al grupo de trabajo PGIC.

Las actividades comunes y específicas de la organización podemos representarlas en diagramas de contexto. Esta representación nos permite conocer las entidades, los procesos, los flujos de datos y los almacenes de información involucrados en cada una de las actividades.

(38)

Procesos

Flujos

Entidades Externas

Almacén

Figura 2 Nomenclatura de diagramas de contexto utilizada[/)/í£5^M4;V9J|.

Los procesos para las actividades comunes en diagramas de contexto se muestran en la figura 3.

Minutas de la reunión

Figura 3 Diagramas de contexto de las actividades comunes.

Los procesos para las actividades específicas en diagramas de contexto se muestran en la figura 4.

(39)

carpeta de archivos y los datos de profesores, alumnos, tesistas en formatos con datos y se almacenan en una carpeta de base de datos.

Los procesos, la información y los resultados que se manejan dentro de la organización PGIC, permiten definir cuatro principales características del programa de aplicación a desarrollar:

• La integración del personal de la organización en un grupo de trabajo, con lo cual se permitirá la realización de las tareas comunes y de las actividades individuales.

Calendarizar

Generar

Almacenar

Lista de actividades (oidenada por ficha yhoa)

Archivos de texto o Bases de datos

Equipos de computo o AicHvero

Documentos y tases de datos (computados)

(40)

]*« lacmatttf iefci unan» (ramal» d*ctráxana!itl tai Míjami»! «d>nl»<~

Reportes M e«io ráitdums Listados Convenios Cartas

Resultados, etc.. Todo archivo de texto.

Cad* l «ufen* (munido fUctrgnxa

e oí «« tono*» «fcicltf tanas

Datos de alumnos Datos de p rofesores Datos de materias Datos de cursos Datos de tesistas, etc.. Todo archivo con formato defcase de datos.

Figura 5 Los procesos, la información y los resultados que se manejan en PGIC.

• La información debe clasificarse como documentos o bases de datos y dentro de esos rubros pueden generarse carpetas para dividir la información más específicamente.

• La información en general que se genere o que reciba cada uno de los integrantes de la organización deberá clasificarse por permisos de acceso a los demás integrantes de la organización.

• Deben agilizarse los procesos de intercambio de información.

La implantación de todas las actividades enumeradas en este texto, a un programa de aplicación de software requieren del desarrollo de dos subsistemas:

• Una interfaz hombre-máquina.

(41)

La interfaz es la parte de desarrollo que correspondió a la tesis de la Maestra en Ciencias Computacionales Adriana Mothe [MOTHE98]. En dicho trabajo de tesis, se encuentra explicado el análisis correspondiente a las reglas para los permisos que se definieron para accesar los documentos y las bases de datos de SIDI.

El desarrollo del software para la operación real de la interfaz y el software de integración de ambos corresponde al presente trabajo de tesis. Estos desarrollos requieren del uso de las técnicas y métodos de tres áreas:

• Comunicación de Datos. • Trabajo Cooperativo. • Sistemas Distribuidos.

Estos desarrollos deben cumplir con los siguientes objetivos particulares:

• Permitir la realización de tareas conjuntas e individuales a un grupo de trabajo cooperativo, el cual es la base del sistema de software planteado. El grupo de trabajo cooperativo está integrado por el personal del PGIC y personal de DIC, cada uno de ellos pertenece a una clasificación y se le otorgan permisos de acuerdo a la clasificación a la que pertenezca.

• Clasificar, almacenar y colocar permisos a la información que genera cada uno de los integrantes del PGIC.

• Permitir el acceso e intercambio de información entre los integrantes del grupo de trabajo cooperativo, siempre que la información y el integrante del grupo tengan los permisos necesarios para accesarla.

• Clasificar la información que se maneja en el PGIC en bases de datos y archivos. • Permitir conferencias directas entre integrantes del Grupo de Trabajo, es decir, los

integrantes, -si cuenta con ese tipo de permisos-, convocará a juntas de trabajo a través del sistema. Dichas juntas deben realizarse a través del sistema y deberá permitir guardar en documentos de texto los acuerdos logrados.

(42)

El desarrollo final de SIDI está destinado a ayudar al grupo de trabajo PGIC y funcionará para la realización de tareas comunes, para el almacenamiento, la recuperación y el intercambio de información, para la creación de documentos y para establecer comunicación síncrona y asincrona entre los integrantes del grupo de trabajo.

Para el software de operación real y de integración se necesitan los módulos siguientes: • Módulo para agregar o eliminar usuarios al sistema desarrollado. (Habilitado sólo

para el administrador del sistema).

• Módulo para el almacenamiento de la información de cada uno de los integrantes del grupo de trabajo cooperativo. Para este módulo deben considerarse la clasificación a la que pertenecen los usuarios, los permisos que se le habilitarán a los documentos (exclusivo o compartido) y el lugar físico y lógico donde se contendrá la información.

• Módulo para integración de bases de datos existentes o en desarrollo, deberán tomarse en cuenta las mismas consideraciones que en el módulo de documentos. • Módulo para permitir la comunicación entre los integrantes del grupo de trabajo.

Por medio de correo electrónico, sistema de mensajes y conferencia directa. • Módulo para calendarización de las actividades de los usuarios.

Una explicación de los módulos y la interrrelación de ellos se presenta en el Apéndice A.

3.3 Interfaz hombre­máquina para SIDI (nivel de diseño icónico y textual).

3.3.1 Justificación del desarrollo de la interfaz.

La necesidad de trabajar en grupo nos lleva a apoyarnos en sistemas computacionales, desarrollando software amigable para trabajo cooperativo en grupo. Este software amigable nos conduce inevitablemente al diseño de una interfaz hombre-máquina ya que ésta es el corazón de enlace con el grupo[MOTHE98].

(43)

y cual no lo es. En segundo lugar, se determinó la preferencia en cuanto a apariencia y funcionalidad de la interfaz con cada uno de los usuarios.

Para lograr este punto, se tuvieron entrevistas con los usuarios para obtener la información y la opinión acerca del diseño de la interfaz.

El diseño de la interfaz se basa en el modelado orientado a objetos. Esta metodología se considera una herramienta poderosa que se aplica con efectividad en el desarrollo de interfaces. La interfaz desarrollada permite al usuario concentrarse únicamente sobre el trabajo que quiere realizar. La interfaz maneja la información de forma distribuida, es simple, fácil de usar e intuitiva para el usuario. Cada objeto del sistema (usuarios, información, comunicaciones) es representado por medio de agentes visuales, que son los iconos del sistema. Cada usuario tiene su propio icono y será mostrada en todas las tareas que ejecute el sistema. El usuario selecciona los iconos con los cuales desea trabajar y los coloca en una ventana de metas (en esta ventana el usuario configurará las tareas que desea realizar), el sistema interpretará y evaluará con el sistema de producción la meta a ejecutarse y realizará la acción deseada [MOTHE98].

3.3.2 Esquema contextual.

El esquema contextual donde se muestran las partes del sistema y su interacción con el usuario, así como la estructura de la interfaz se muestra en la figura 6.

Mundo exterior

Usuario •Keáttieaaf** ~

Figura 6 Esquema contextual de la interfaz hombre­máquina de S1D1. [MOTHE98|

(44)

3.3.3 Diagrama de contexto.

Siguiendo la representación del modelo orientado a objetos, los objetos del sistemas se representan en la figura 7.

El usuario por medio del objeto ventana principal, interactúa con la interfaz, pudiendo realizar las operaciones contenidas en los iconos, como lo muestra la figura 6.

En el trabajo de la interfaz se desarrolló la apariencia de la interfaz (agentes visuales representados por iconos) y las reglas de producción para dar cierta "inteligencia" a la interfaz. Las reglas de producción se encuentran en el objeto "sistemas de producción".

Figura 7 Diagrama de contexto de la interfaz SIDI [MOTHE98],

3.3.4 Modelo icónico y textual (Nivel de operatividad).

La interfaz fue probada con los usuarios que la usarán en el PGIC, y el análisis de resultados realizado por la Maestra en Ciencias Computacionales Adriana Mothe demostró que la interfaz cumplió con las expectativas de los usuarios de la organización [MOTHE98].

(45)

sólo para un grupo de 5 usuarios de la organización y la operación de los iconos es de manera local, esto sirve de base para el desarrollo propuesto en este trabajo ya que fundamenta las necesidades de los usuarios en un modelo local. La apariencia de la interfaz desarrollada se muestra en la figura 8.

El modelo trabaja con cinco usuarios, con loi cuales se establece d modelo Iconico y textual de la interfaz.

«mando Ramoi Quntana i Victa Hugo ZwaleSfra Di. LLK Enrique Suca Sueca Ljc. Orna Regalado Paramo

La interfaz propone un modelo iconlco y textual de las operaciones y de los usuarios pertenecientes ala organización.

Figura 8 Apariencia de la interfaz hombre­máquina para ambientes organizacionales |MOTHE98|.

La segunda parte: el desarrollo del software de operación es la que permitirá que los servicios de comunicaciones (correo, mensajes, editor, acceso a información distribuida) sean proporcionados a todos los usuarios de la organización.

Además, este último subsistema permitirá que un usuario determinado como administrador, integre nuevos usuarios o elimine a aquellos que ya no estén en la organización.

El diseño y desarrollo de esta parte se explica en el capítulo 4.

3.4 Resumen del capítulo.

(46)
(47)

"Para cada problema existe una solución simple, elegante y errónea ".

H.L. MENCKEN.

Capítulo 4 Diseño y desarrollo del software operativo de S1DL

4.1 Justificación

4.2 Descripción de los módulos y funciones a desarrollar para la operatividad de SIDI. 4.3 Desarrollo e implementación de las funciones.

4.4 Problemas en la implementación. 4.5 Resumen del capítulo.

4.1 Justificación.

SIDI es un sistema de información distribuido interactivo. El software de operatividad de SIDI permite que el usuario del grupo de trabajo PGIC pueda establecer comunicación síncrona y asincrona con los demás integrantes de la organización, permite accesar a datos compartidos y de mantener la seguridad de la información de cada usuario. La seguridad de la información es a través del establecimiento de un directorio común en cada equipo de cómputo de los integrantes de la organización. Los usuarios de SIDI sólo pueden accesar a la información de ese directorio, siempre que los permisos establecidos también los permitan.

El desarrollo final SIDI (interfaz y software de operación integrados) para funcionar correctamente, deberá ser instalado en un ambiente con las siguientes características:

• Una red de comunicación de datos con protocolo TCP/IP en la organización. • Equipos con procesador Pentium o superior, con sistema operativo Windows 95 o

superior conectados en una red de comunicación de datos TCP/IP.

(48)

Estos requerimientos están basados las características del lenguaje de programación en el que fue desarrollada la aplicación SIDI, Visual Basic3, el cual para ser instalado en un equipo de computo requiere del sistema operativo Windows95 y al menos 100 Mb en disco duro libres para la instalación completa [CEBALLOS98].

Para el desarrollo de esta aplicación la metodología apropiada es la orientada a objetos por las ventajas que ofrece de diseño y la diversidad de lenguajes de programación que se basan en esta metodología.

Para representar las clases y los objetos del software de operación real se utilizó la nomenclatura sugerida en el texto [MARTIN et al 1997], figura 9:

Clase

Empleado Nombre Posición Monto de sueldo

Contratar

Representación de la Estructura de Datos

Operaciones permisibles

Figura 9 Representación de clases y objetos [MART1N97|.

4.2 Descripción de los módulos y funciones a desarrollar para la operatividad de SIDI.

Para el desarrollo se tomaron en cuenta los requerimientos que se presentaron en el documento de análisis de requerimientos (ver Apéndice A). Pero también los requerimientos de la interfaz desarrollada.

(49)

El esquema contextual donde se muestran las partes del sistema y su interacción con el usuario, así como la estructura de la interfaz con el software de operatividad se muestra en la figura 10.

Las módulos desarrollados:

• Módulo de acceso al sistema.

Nos sirve para determinar si el usuario pertenece al grupo de trabajo PGIC. Este módulo recibe de una base de datos de configuración -colocada en los equipos de cómputo de los usuarios al momento de la instalación- la información de cada uno de los integrantes del sistema. Los datos se almacenan en memoria durante la operación de SIDI.

Interfaz Operación real

Usuario

•Acceso al sistema •CoBQpiraciOD.de la ijtferbz y

penóos nacíalos. •CoMUKacioaes teñidor •ComnacacioKS cumie •Exrá/nctfci» de mensajes •Emnaírecepcün le emafl •EtJÉncnrartido. •Acceso afeases de datos coMpartiias. •AcceM a doaanentes y directoría» CORJI artifes •CafeadarizBciánde acta* Fucines de admiú fcadaí Mundo Exterior leonas: •Doc •Menajes •Carrea •Bates de datos •CakBjUrio •Compartir Mama» •Sotana depndtccinde reghj •Meajajes de enor Figura 10 Esquema contextual de SIDI (interfaz y software de operación real) • Módulo de configuración de la interfaz y tipos de permisos heredados.

(50)

la organización y este nivel se utiliza en SIDI para determinar los permisos de acceso a información compartida y el uso de las funciones de comunicaciones. En el apéndice A se explica a detalle los usuarios que pertenecen a cada nivel.

La apariencia de la interfaz determina las funciones de software que se habilitan de acuerdo al nivel que tiene el usuario en SIDI. Este nivel, como ya se mencionó, también determina los permisos que tendrá el usuario para el acceso a información compartida, durante la operación de SIDI.

Los módulos servidor y cliente son los que permitieron que SIDI realice funciones de cooperación, comunicación y compartición de información distribuida.

Estos módulos son la característica de la aplicación que permite que SIDI no dependa de una computadora central (Servidor) para funcionar. Cada usuario puede ejecutar SIDI y trabajar con los usuarios que en ese momento estén conectados, cada usuario que ejecuta la aplicación SIDI habilita en su equipo de cómputo los puertos de comunicaciones para funcionar como servidor y como cliente al mismo tiempo. Cada equipo de cómputo funciona como servidor para atender las peticiones de los usuarios que estén trabajando en SIDI y funciona como cliente para enviar mensajes, enviar correo, trabajar en el editor síncrono y para accesar información distribuida.

• Módulo de comunicaciones servidor.

Nos sirve para habilitar los puertos de comunicaciones de los equipos de cómputo. Cuando el puerto de comunicaciones es habilitado, el equipo de cómputo funciona como servidor, escuchando peticiones de los clientes.

Cabe mencionar que todos los equipos funcionan como servidores, para evitar que las operaciones de comunicaciones y compartición de información sean responsabilidad de un equipo servidor central.

• Módulo de comunicaciones cliente.

Nos sirve para habilitar los puertos de comunicaciones de los equipos de cómputo. Cuando el puerto de comunicaciones es habilitado, el equipo de cómputo funciona como cliente, enviando peticiones a un determinado servidor.

(51)

Módulo de envío/recepción de mensajes.

Nos sirve para enviar mensajes síncronos a través de la red a un determinado usuario perteneciente a SIDI, siempre que éste se encuentre activo en el sistema.

Módulo de envío/recepción de correo electrónico.

Nos sirve para enviar mensajes asincronos a través de la red a un determinado usuario perteneciente a SIDI, aun cuando éste se encuentre desactivo en SIDI. Los mensajes se almacenan en la cuenta de correo electrónico de la persona a la que se está enviando el mensaje.

Módulo de editor compartido.

Nos sirve para organizar una sesión de mensajes síncronos a través de la red a un determinado grupo de usuarios perteneciente a SIDI. El usuario que convoca la junta o sesión, al termino de ésta podrá guardar el contenido en un archivo de texto

en su equipo de cómputo.

Módulo de acceso a bases de datos compartidas.

Nos sirve para accesar información distribuida en los equipos de cómputo de los usuarios pertenecientes a SIDI. Cabe mencionar que para accesar la información, los datos deben estar almacenados en un directorio compartido en el equipo de cómputo del usuario dueño de la información. El directorio es definido durante la instalación de SIDI y la privacidad se garantiza a través de un conjunto de reglas de permisos de acceso en un módulo de programación. Los permisos de acceso están determinados por el nivel del usuario en SIDI.

Módulo de acceso a documentos y directorios compartidos.

(52)

• Módulo de calendarización de actividades.

Nos sirve para accesar el TaskPlus1 y colocar ahí las actividades y las fechas importantes en el desempeño de las funciones de cada uno de los integrantes de la

organización.

• Módulo de funciones de administrador.

Nos sirve para que un usuario dentro de la organización tome las funciones de administrador del sistema y pueda realizar las funciones de anexar, modificar y eliminar usuarios en SIDI y anexar, modificar o eliminar permisos a la información compartida a los usuarios del sistema.

Para el desarrollo de cada uno de estos módulos se necesitó de un conjunto de variables y de un conjunto de instrucciones en un lenguaje de programación (código).

El modelo de objetos utilizado en el diseño del software de operación real de SIDI, se basa en encapsular código y datos en una única unidad llamada objeto. Los objetos tienen

asociados: un conjunto de variables que contienen los datos del objeto, un conjunto de mensajes a los que el objeto responde y partes de código que operan sobre el objeto (métodos). Las clases son conjunto de objetos que comparten una estructura común y un comportamiento común [WINBLAD93].

Las clases, los objetos y la interrelación de ellos, que se utilizaron en los módulos desarrollados se muestran en las figuras 10-A a la 10-F. En cada clase representada en las figuras mencionadas, hay un objeto principal que hereda sus métodos a los objetos unidos a él, esa herencia se representa por los círculos vacíos. Las clases son: ventanas, usuarios, información, comunicaciones y sistema de producción.

• Ventanas: En esta clase está definido el objeto ventana, que contiene las

características de las pantallas de operación del sistema. Cada ventana tiene el logotipo de la aplicación, el título del sistema: SIDI y una descripción de la función de la ventana.

• Usuarios: En esta clase están definidos los datos relevantes del usuarios como

son: Identificador del usuario, nombre del usuario, puesto desempeñado en la organización, nivel de acceso al sistema, identificador del equipo de cómputo del usuario, cuenta de correo electrónico del usuario, identificador del icono de

Figure

Figura 1 Ejemplo de la arquitectura de un sistema distribuido simple.
Figura 2 Nomenclatura de diagramas de contexto utilizada[/ ) /í£5^M4;V9J|.
Figura 6 Esquema contextual de la interfaz hombre­máquina de S1D1. [MOTHE98|
Figura 7 Diagrama de contexto de la interfaz SIDI [MOTHE98], 3.3.4 Modelo icónico y textual (Nivel de operatividad).
+3

Referencias

Documento similar

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

Luis Miguel Utrera Navarrete ha presentado la relación de Bienes y Actividades siguientes para la legislatura de 2015-2019, según constan inscritos en el

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

El contar con el financiamiento institucional a través de las cátedras ha significado para los grupos de profesores, el poder centrarse en estudios sobre áreas de interés