Análisis en un Modelo de Procesos CSCW. Organización

Anuncio
Análisis en un Modelo de Procesos CSCW. Organización, Roles
e Interacción Persona-Ordenador-Persona
Victor M. R. Penichet, Maria D. Lozano, José A. Gallud, Ricardo Tesoriero
Departamento de Sistemas Informáticos
Universidad de Castilla-La Mancha
02071 Albacete, España
{ victor.penichet, maria.lozano, jose.gallud }@uclm.es; ricardo@dsi.uclm.es
Resumen
Este artículo presenta una propuesta para llevar a
cabo el proceso de análisis para entornos CSCW,
una etapa del modelo de procesos esencial en este
tipo de sistemas. La metodología presentada para
abordar la etapa de análisis proporciona los
mecanismos suficientes para especificar la
organización de los participantes de un sistema,
los roles que desempeñan, la interacción de los
usuarios con el sistema y la interacción entre los
participantes a través del sistema, es decir, la
interacción persona-ordenador-persona.
1. Introducción
La etapa de análisis de cualquier sistema es una
etapa fundamental que posibilita el estudio en
profundidad de determinadas características del
dominio del problema. Se trata de descubrir el qué
describiendo los requisitos del sistema sin detallar
aspectos de implementación. Se estudian los
elementos del dominio del problema y sus
relaciones. Se trata de acercar la especificación
del sistema recogida en la elicitación de requisitos
en un “lenguaje más cercano a la persona” a una
especificación más cercana al desarrollador.
Sin duda, el lenguaje más utilizado para
modelar la realidad es UML, actualmente en su
versión 2.0 [9]. El modelado de sistemas
tradicionales se ha abordado por medio de
diagramas de clases, objetos y paquetes que
describen la parte estática, estructural del sistema.
Capturan la organización física de los elementos
en el sistema, cómo se relacionan [12].
Para abordar el modelado del comportamiento
de los elementos en el sistema, esto es, para
describir la parte dinámica, se suelen emplear
diagramas de actividades esencialmente. Estos
diagramas forman parte de la metodología de
algunos modelos de procesos muy conocidos
como RUP [6].
Sin embargo, estos mecanismos de
representación de la realidad no facilitan
especificar naturalmente la interacción personaordenador-persona que tiene lugar en los sistemas
CSCW [4][5][7][14], sistemas que, por otro lado,
son cada día más habituales debido a las
crecientes necesidades de los usuarios y al avance
de las tecnologías y las infraestructuras de red.
Algunas
otras
aproximaciones
como
AMENITIES o, más recientemente, CIAM
abordan esta problemática desde una perspectiva
diferente. AMENITIES (A MEthodology for
aNalysis and desIgn of cooperaTIve systEmS) [3]
es una metodología que surge con el objeto de
abordar la complejidad de los entornos
colaborativos. Se centra en el concepto de grupo y
cubre aspectos relevantes de su comportamiento y
estructura.
Por otro lado, CIAM (Collaborative
Interactive Applications Methodology) [8] es un
marco metodológico basado en un conjunto de
modelos que permiten a los ingenieros guiar el
proceso de diseño y desarrollo de la interfaz de
usuario en aplicaciones interactivas para el trabajo
en grupo.
La metodología que se propone en este
artículo para el análisis de sistemas CSCW
posibilita un análisis de la estructura y del
comportamiento del sistema centrado en el
usuario y dirigido por las tareas que se
desempeñan. En el estudio de la estructura,
además de los objetos del sistema se tiene en
cuenta quiénes son y de qué manera participan,
cómo se organizan y qué roles desempeñan. El
estudio
del
comportamiento
se
aborda
describiendo la funcionalidad desde un punto de
vista CSCW, abordando sus características típicas
[15], así como sus características espaciotemporales, muy importante en estos sistemas [7].
La descripción del trabajo realizado por medio
de un sistema, es decir, lo que se hace en él, se
puede representar con flujogramas, máquinas de
estados finitos, modelos de workflow, diagramas
de flujo de datos, etc. Una de las técnicas más
utilizadas es el uso de modelos de tareas. También
estos modelos han tenido en cuenta las
colaboraciones que se dan en un sistema CSCW
pero sobre todo han permitido modelar la
interacción del usuario con el sistema
[10][13][16]. Una de las notaciones más utilizadas
para ello es CTT [10], notación que ha sido
adoptada como parte de la metodología que se
presenta. Sin embargo, se ha elaborado un
diagrama adicional que facilita el modelado de la
colaboración entre los participantes de un sistema
CSCW de un modo más natural.
El resto del artículo se organiza de la siguiente
manera. En el apartado 2 se enumeran los pasos
de la metodología que facilitaría el análisis de
sistemas CSCW. En el apartado 3 se presenta un
sencillo caso de estudio para ilustrar el modelado.
Los apartados 4 y 5 describen los dos grandes
pasos en los que se divide el análisis así como los
diagramas empleados para su modelado. El
apartado 6 describe la necesidad de la trazabilidad
entre etapas así como en el interior de la etapa
para mantener la coherencia del modelado.
Finalmente, el apartado 7 muestra algunas
conclusiones del trabajo.
2. Pasos en el análisis de sistemas CSCW
La Figura 1 muestra un esquema de los pasos que
se siguen en la etapa de análisis del modelo de
procesos que se presenta en este artículo:
identificación
y
descripción
de
roles,
identificación y descripción de tareas, análisis de
la estructura del sistema y análisis del
comportamiento del sistema.
El análisis de un sistema colaborativo
comienza con una identificación previa de roles y
tareas a partir de la información recabada en la
elicitación de requisitos. Una vez identificados los
primeros roles y tareas, se puede comenzar la
descripción de los mismos y en paralelo los
primeros diagramas de tareas (TD), colaboración
(CD) y estructura organizativa (OSD). Estos
diagramas se describirán en sucesivos apartados.
Por un lado, la identificación de los primeros
roles permite al analista realizar un primer esbozo
de la estructura organizativa de los actores del
sistema. Este diagrama, junto con el diagrama de
clases de UML modelan la estructura del sistema.
Así mismo, la identificación de las primeras tareas
permite ordenarlas, creando un primer esbozo de
los diagramas de tareas y los diagramas de
colaboración, que modelan el comportamiento de
los actores del sistema.
Elicitación de Requisitos
Actores
Requisitos
Análisis
Identificación de Roles Tareas
Identificación y
Descripción de Roles
Identificación y
Descripción de Tareas
Estructura y Comportamiento
Estructura
Clases
Comportamiento
OSD
CD
TD
Diseño
Figura 1. Pasos de la etapa de análisis en entornos CSCW
Por otro lado, del análisis de las primeras
versiones de los diagramas surgen nuevos roles y
tareas. Tras esa primera identificación de roles y
tareas, un proceso iterativo de refinamiento
permitirá obtener un modelo de mayor calidad,
que permita obtener una especificación completa
del sistema.
Del mismo modo que la trazabilidad entre las
etapas de elicitación de requisitos y análisis
permiten obtener especificaciones coherentes y
completas, es necesario tener en cuenta una
trazabilidad intra-etapa entre sus pasos. Dicha
trazabilidad se detallará más adelante.
3. Caso de estudio
Con el objetivo de ilustrar los conceptos
novedosos introducidos en este artículo se
presenta este sencillo caso de estudio. Se trata de
una aplicación groupware que debe permitir la
elaboración de un documento entre varios autores
a través de Internet. Cuando los autores del
documento tienen un borrador, uno de ellos se
encarga de enviar, por medio de la misma
aplicación, el documento candidato a ser
publicado a unos revisores. Los revisores analizan
el documento y dan su opinión acerca de si ha de
ser publicado o no. Un documento público puede
ser leído por todos los usuarios del sistema,
aunque no sean autores o revisores.
A lo largo del artículo, los ejemplos
presentados se refieren ejemplo. Lógicamente no
se hace una especificación completa por falta de
espacio. Sólo se aclaran algunos puntos.
4. Identificación de roles y tareas
En una primera etapa de elicitación de requisitos
se identificarían, entre otras cosas, los actores del
sistema y la información relativa a los requisitos,
que darán lugar a los roles que los usuarios
pueden desempeñar y las tareas que tienen que
llevar a cabo en el sistema [11]. La relación entre
roles y tareas es tan estrecha que la identificación
y descripción de roles y tareas irá muy ligada y en
paralelo.
Conocidos los requisitos del sistema y los
actores que intervienen en él, se pueden generar
una serie de roles que determinen qué hace quién.
Se trata de algo determinante en la organización
del diseño de un sistema colaborativo.
Para describir los roles y las tareas
identificados, se emplearán unas plantillas
similares a las utilizadas en la elicitación de
requisitos por Durán [2]. Son plantillas más
sencillas en cuanto a número de metadatos que
describen el concepto en cuestión, pero necesarias
para ubicar rápidamente todos los roles y tareas
del sistema.
Además
se
emplearán
matrices
de
rastreabilidad [2] que ponen en relación actores
con roles y requisitos con tareas. Las matrices de
rastreabilidad simplemente muestran de forma
explícita información que ya está recogida, con el
objetivo de facilitar al analista, desarrollador, etc.
el acceso a la misma y llevar a cabo posteriores
actividades de mantenimiento y evolución. Una
última matriz pone en relación las tareas asociadas
a cada rol.
La identificación de los roles y las tareas, su
descripción y el uso de las plantillas y las matrices
de rastreabilidad se describen en los siguientes
apartados.
4.1. Identificación y descripción de roles
El concepto de rol se ha definido como conjunto
de tareas que puede desempeñar un actor. Un
actor es lo que es debido al rol que desempeña en
cada momento en el sistema [11].
En [1] se dice que un rol (user role) es una
colección abstracta de necesidades, intereses,
expectativas,
comportamientos
y
responsabilidades, y que conjuntos diferentes de
estos elementos, constituyen roles diferentes.
Un modelo de roles es una lista de los roles
que hay en el sistema, descritos en términos de los
comportamientos, responsabilidades, necesidades,
intereses y expectativas que lo caracterizan. Cada
rol ha de tener un nombre asociado que capture su
naturaleza.
La Figura 2 muestra los pasos que se siguen
en la identificación y descripción de los roles en
este artículo, pasos que se describen a
continuación.
Para construir ese listado de roles, Constantine
[1] propone una serie de interrogantes previos:
• ¿Quiénes usarían o podrían usar el sistema?
• ¿Cuál es la clase general o el grupo al que
pertenecen?
• ¿Qué distingue el cómo puedan utilizar el
sistema?
• ¿Qué caracteriza su relación con la
aplicación?
• ¿Qué necesitan de la aplicación?
•
¿Cómo se comportan en relación a la
aplicación y cómo esperan que la aplicación
se comporte?
Identificación y Descripción de Roles
PASO 1
Interrogantes y generalización de tipos de
actores: Listado de Candidatos
PASO 2
Refinamiento: Listado de Roles del Sistema
PASO 3
Descripción de los Roles: modelo organizativo
PASO 4
Descripción de los Roles: modelo de contexto
Diagramado
Realización de los diagramas correspondientes
para realizar los modelos
Figura 2. Pasos en la identificación y descripción de
roles
Para identificar los roles se suele comenzar
pensando en usuarios (agentes o grupos)
particulares, reales, y después se va generalizando
y abstrayendo hasta llegar al rol. En [1] se
propone la técnica tormenta de ideas o
brainstorming para, partiendo de una lista de roles
candidatos, llegar al modelo de roles definitivo.
Del estudio de la información recogida y
elaborada en la elicitación de requisitos, se pueden
extraer los diferentes roles que se necesitan en el
Tabla 1.
sistema para que sean desempeñados por los
usuarios finales (actores en general) que harán uso
de la aplicación.
Los roles identificados se deben agrupar por
roles similares con los objetivos de evitar tener
roles demasiado parecidos que realmente pudieran
ser uno solo, evitar duplicados, simplificar y
generalizar el modelo, etc. [1]. Es un paso de
refinamiento.
Los roles se describirán empleando una
plantilla como la que se muestra en la Tabla 1, con
los metadatos utilizados en la descripción de los
roles identificados. Puesto que los roles se
describen en base a las tareas, hay una matriz que
pone en relación explícita estos conceptos (ver
apartado 6). Con estos metadatos se obtiene la
información necesaria sobre los roles del sistema
para el modelo de organización:
• Los tres primeros campos (Versión, Autores,
Fuentes) son comunes a las plantillas de
elicitación de requisitos y su significado es el
mismo [2].
• Los roles pueden ser desempeñados por los
actores si cumplen ciertas restricciones. Una
Capacidad
es
una
habilidad
o
responsabilidad asociada a un actor que le
permite desempeñar roles y llevar a cabo
tareas [3]. Por lo tanto, para que algún actor
pueda desempeñar un rol, éste debe tener unas
determinadas Habilidades, y se le pueden
exigir unas determinadas Responsabilidades,
necesarias para que lo pueda hacer.
Descripción del rol Writer a partir de la plantilla para la descripción de los Roles del sistema: modelo
organizativo
Rol- 1
Versión
Autores
Fuentes
Descripción
Responsabilidades
Habilidades
Permisos
Comentarios
Writer
v1.0 (22 marzo, 2007)
• Victor M. R. Penichet (LoUISE)
• Estudio interno (LoUISE)
Un usuario del sistema que desempeñe este rol puede elaborar documentos.
Las responsabilidades que se requieren de un actor para que pueda desempeñar
este rol son las siguientes:
• R1: Es el responsable directo de cuanto se escriba en el documento
• R2: El contenido ha de ser original
• R3: Debe introducir contenidos
Las habilidades que se requieren de un actor para que pueda desempeñar este
rol son las siguientes:
• H1: Capacidad investigadora
• H2: Capacidad de expresión
Puede escribir en los documentos, crearlos, modificarlos y destruirlos.
No hay ningún comentario adicional.
Los actores que desempeñen un cierto rol,
normalmente tendrán una serie de Permisos o
privilegios para poder realizar ciertas acciones
en el sistema.
• La Descripción esboza cómo es ese rol,
mientras que los Comentarios dan algún tipo
de información adicional.
Para el ejemplo mostrado en el apartado 3,
tras su estudio se identificarían una serie de roles
que desempeñarían los actores del sistema. La
identificación de los roles se habría realizado en la
etapa de elicitación de requisitos, por lo que no se
mostrará en detalle.
Los roles identificados son los siguientes:
• Writer, para aquellos usuarios autores que
puedan escribir un documento.
• Chair_writer, para aquellos que puedan tomar
la decisión de enviar al proceso de revisión un
documento candidato.
• Reviewer, para los usuarios que pueden ser
revisores de documentos candidatos.
• Chair_reviewer, para revisores que además
puedan decidir si un documento puede ser
publicado.
• Notifier, para agentes que informarán
automáticamente a los autores del resultado
del proceso de revisión y a los lectores de si
hay un nuevo documento publicado.
• Reader, para los actores del sistema que
puedan leer documentos públicos.
La Tabla 1 muestra la descripción, a modo de
ejemplo, del rol Writer.
•
1:M. Si hay una tarea para resolver el requisito,
solo que esta tarea es en realidad una tarea
compuesta. Las tareas resultantes de esa
descomposición surgen en esta etapa de análisis.
El número de tareas identificadas se irá viendo
incrementado con el estudio y el análisis de las
mismas, principalmente por dos motivos: por
descomposición de tareas complejas en otras más
sencillas y por la identificación de nuevas tareas.
Se trata de describir el trabajo que se debe realizar
en el sistema.
Como se ha comentado con anterioridad, la
notación CTT para modelar tareas se ha utilizado
extensamente y es el diagrama seleccionado en
este artículo para representar las tareas.
Como se verá en los próximos apartados, CTT
permite modelar la interacción del usuario con el
sistema, sin embargo la interacción personaordenador-persona, es decir, la interacción entre
las personas a través de las máquinas no se
modela con facilidad. Para solventar esta situación
proponemos un nuevo diagrama que modela la
colaboración entre usuarios.
Así mismo, se describen las tareas por medio
de plantillas similares a la empleada para la
descripción de los roles.
Los metadatos que aparecen en la plantilla
para la descripción de las tareas son los siguientes:
• Los tres primeros campos (Versión, Autores,
Fuentes) son comunes a las plantillas de
elicitación de requisitos y su significado es el
mismo [2].
4.2. Identificación y descripción de tareas
1
R
El concepto de tarea se ha definido como una
porción de trabajo necesaria para lograr un
objetivo determinado [11]. Al iniciar el análisis
del sistema se podría decir que siempre hay una
tarea para resolver un requisito identificado en la
etapa de elicitación de requisitos. Existe una
relación 1:1 entre los conceptos requisito y tarea,
fruto de esa equivalencia semántica inicial.
Siempre hay una tarea, aunque sea abstracta, que
resuelve un requisito.
En la etapa de análisis, algunas tareas se
descomponen en otras y así sucesivamente hasta
llegar a otras que son atómicas y no se pueden
dividir más. Tal y como se expresa en la Figura 3,
en esta etapa es probable que la relación entre
requisitos y tareas ya no sea 1:1 sino más bien
1
1
T
R
*
T
T
- Al comenzar el análisis desde
la etapa de elicitación de
requisitos, siempre hay una
tarea, aunque sea abstracta,
que resuelve un requisito.
- En el análisis, la tarea se
descompone en otras, cada vez
más concretas y de menor
granularidad, hasta llegar a
tareas atómicas.
T
T
T
T
T
T
T
Figura 3. Relación entre requisitos y tareas en la etapa
de análisis
Objetivo representa el subproblema al que está
asociada la tarea. El conjunto de tareas
asociadas a él, resuelven este objetivo del
sistema, este subproblema.
• Requisito muestra la relación de esta tarea con
alguno de los requisitos identificados en la
etapa anterior.
• Descripción
permite
introducir
los
comentarios necesarios para saber qué hace la
tarea
• Tarea a la que Pertenece en caso de que
forme parte de otra.
• Objetos. Las tareas están relacionadas o
afectan a algunos objetos del dominio del
sistema que deben mostrarse de manera que el
diseñador sea consciente de ello. Los objetos
del sistema y sus relaciones se representan,
como se verá posteriormente, por medio del
clásico diagrama de clases de UML.
• Modo de Ejecución representa una de las
caracterizaciones introducidas en el modelo.
Las tareas pueden ser de Usuario, de
Interacción, de Aplicación o Abstractas. Esta
clasificación está abierta, por lo que es posible
caracterizarla como otra. Sería el caso, por
ejemplo de las tareas compuestas.
• Composición indica si la tarea es compuesta o
atómica.
En caso de que la tarea sea compuesta existen dos
metadatos adicionales:
• Tareas Dependientes enumera aquellas tareas
que componen la que se describe.
• Descripción
como
Tarea
Compuesta
proporcionaría información adicional, en caso
de que fuera necesaria, relativa a su
composición.
Si además la tarea es de grupo, se deben
incorporar a la descripción de la tarea los
siguientes metadatos:
• CSCW permite caracterizar la tarea según las
características típicas del CSCW que han sido
comentadas en el modelo de tareas. Así, una
tarea podría caracterizarse como de
coordinación, comunicación, colaboración y/o
cooperación.
• Tiempo es el metadato que permite
caracterizar la tarea según su ejecución sea en
tiempo real o no.
• Lugar es el metadato que permite caracterizar
la tarea según se lleve a cabo en el mismo
•
lugar o los actores estén distribuidos
geográficamente.
• Descripción como Tarea de Grupo
proporcionaría información adicional, en caso
de que fuera necesaria, relativa al hecho de
que sea tarea de grupo.
Para el ejemplo del apartado 3 se identifican
multitud de tareas como escribir en el documento,
enviarlo, responder comentarios, etc.; así como
varias tareas de grupo como compartir el
documento que se elabora en conjunto, el proceso
de envío/recepción del documento, etc.
En los apartados siguientes se muestran unos
diagramas que modelan la interacción donde se
pueden observar estas y otras tareas. En un
proceso de análisis normal, además, se deberían
haber identificado y descrito por medio del uso de
plantillas previamente.
5. Estructura y comportamiento
La división entre estructura y comportamiento se
ha utilizado tradicionalmente en Ingeniería del
Software para el modelado del sistema en todo el
ciclo de vida del software.
La etapa de análisis del modelo de procesos
presentado en este artículo contempla un conjunto
de diagramas estructurales y de comportamiento
que permiten llevar a cabo de forma completa el
análisis del sistema.
Los diagramas que se presentan se han
desarrollado con el objeto de aumentar la
expresividad de la especificación y conseguir que
sea más completa, especialmente desde el punto
de vista del usuario como parte de un grupo y de
las interacciones que puedan darse entre ellos.
En la Tabla 2 se muestran de forma resumida
los elementos organizativos que se emplean en los
diagramas junto con su notación. Del mismo
modo, la Tabla 3 resume las posibles relaciones
entre elementos organizativos.
5.1. Análisis de la estructura
Para representar la estructura del sistema se
emplean dos diagramas estructurales que reflejan
la parte estática del sistema. En primer lugar el
diagrama de clases correspondiente al paquete
Classes de UML 2.0 [9] muestra los objetos del
dominio que se utilizan en el sistema así como las
relaciones que existen entre ellos.
Tabla 2.
Elementos organizativos de los diagramas
Descripción
Notación
Un Actor es una o varias personas,
u otro u otros sistemas externos,
que interactúan con el sistema.
ACTOR_1
Un Grupo es un conjunto de
Actores, individuos o colectivos,
que desempeñan roles para lograr
un Objetivo común.
Un elemento Individuo es un, y
sólo un, Actor que desempeña
roles.
Un Usuario es
Individuo humano.
un
Un
Agente
es
un
Individuo no humano.
Individual_1
elemento
User_1
elemento
Un Rol es el conjunto de Tareas
que puede desempeñar un Actor.
Tabla 3.
GROUP_1
Agent_1
ROLE_1
Relaciones entre elementos
Descripción
Notación
Una Relación de Desempeño es una
Relación Organizativa Estructural que
identifica el Rol que juega un Actor.
Una Relación de Agregación es una
Relación Organizativa Estructural que
identifica una asociación entre el
todo y las partes.
Una Relación de Jerarquía es una
Relación Organizativa Estructural que
identifica una dependencia de grado
entre dos Actores.
Task_role_1
Interacción Cooperativa
es
una
Relación
Cooperative_Interaction
Organizativa
Colaborativa entre dos
Actores que expresa
Task_role_2
una interacción entre
ellos, encaminada al logro de un Objetivo común
que no podría alcanzarse sin dicha interacción.
Esos objetos se representan mediante clases
(con los atributos y las operaciones que
comparten) que abstraen los conceptos y que están
relacionadas entre sí representando las
asociaciones que se dan entre los objetos del
dominio del problema.
Para describir la estructura organizativa de los
actores que participan en un sistema CSCW se ha
desarrollado un diagrama que la representa: OSD.
Especifica los participantes del sistema, su
organización y los roles que desempeñan.
Diagrama de la estructura organizativa
El diagrama para la estructura organizativa de los
actores de un sistema (Organizational Structure
Diagram, OSD) representa la distribución de los
diferentes elementos organizativos del mismo, es
decir, cómo se organizan los actores del sistema y
cómo se relacionan (en términos estructurales)
para constituir los grupos y jerarquías, qué roles
desempeñan, etc.
El OSD se emplea para representar la
estructura organizativa de todo el sistema. El
sistema se construye con una finalidad y para
llegar a alcanzar ese fin último, los actores del
mismo han de organizarse de una determinada
manera.
Si el sistema fuera demasiado complejo, se
podrían realizar diversos OSD complementarios,
representando, por ejemplo, subsistemas en los
que se dividiera el sistema principal.
En un OSD, podría aparecer cualquiera de los
elementos organizativos descritos, sin embargo,
en sucesivas iteraciones, elementos más abstractos
como actor o individuo se irán sustituyendo por
elementos más concretos como grupo, usuario o
agente. En cualquier caso se muestra también el
rol que juegan cada uno en el sistema.
En cuanto a las relaciones que se dan entre los
elementos organizativos de un OSD, podrían
aparecer relaciones de jerarquía, agregación o
desempeño.
La Figura 4 muestra un ejemplo de OSD para
el sistema descrito como caso de estudio en el
apartado 3.
5.2. Análisis del comportamiento
Para modelar el comportamiento de los elementos
en el sistema, se ha definido un nuevo diagrama,
el CD (Diagrama de Colaboración), que esboza
las colaboraciones que tienen lugar entre actores
del sistema.
WHOLE_SYSTEM
INTERNAL
Reader
EXTERNAL
Author_notifier
Reader_notifier
Writer
Reader
Notifier
AUTHORS
REVIEWERS
Reviewer
Author
Chair_author
Reviewer
Chair_writer
Chair_reviewer
Chair_reviewer
Figura 4. Diagrama de la Estructura Organizativa del sistema del caso de estudio
Así mismo, el TD (Diagrama de Tareas) es un
diagrama que se considera fundamental para
representar lo que el usuario hace, las
interacciones con el sistema. Como TD se ha
adoptado la notación ConcurTaskTrees [10] por
ser ampliamente aceptada. Sin embargo, otras
notaciones para modelar tareas como las
presentadas en [13], [16], etc. podrían adaptarse
igualmente.
Diagrama de tareas
El diagrama de tareas permite modelar la parte de
la realidad, del dominio del problema, que tiene
que ver con el trabajo que realizan los actores en
un sistema. Concretamente tiene en cuenta las
tareas que realiza un actor del sistema de manera
individual, su interacción con el sistema.
Por falta de espacio, no se entrará en detalle
en la descripción de esta notación que, por otro
lado, se puede encontrar en [10].
Diagrama de colaboración
El diagrama de colaboración (Collaborative
Diagram, CD) representa las colaboraciones
establecidas entre los diferentes elementos
organizativos de una estructura organizativa, es
decir, las interacciones que existen entre los
actores de un sistema a través del mismo.
Estos diagramas se pueden emplear para
representar las colaboraciones de todo el sistema o
de parte de él. Si el sistema no es muy complejo,
el CD puede mostrar todas las colaboraciones que
se dan en él. De lo contrario, se pueden utilizar
varios para representar partes de él. En cualquier
caso, la intersección de todos los diagramas que
representan esos subsistemas daría lugar a la
representación de las colaboraciones que se dan en
el sistema en su totalidad.
Lo más adecuado, normalmente, es generar
varios CDs por OSD que modelan la interacción
persona-ordenador-persona entre los actores de
esa estructura representada por el OSD.
Sharing_draft
Send_comment
Receive_doc
Reader
Answer_comments
Send_doc
AUTHORS
Commenting_draft
Receive_opinion
Commenting
Receive_to_review
Send_opinion
Ask_for_comments
Sending_to_review
Receive_comment
REVIEWERS
Receive_approval
Receive_refusal
WHOLE_SYSTEM
Notifying_ko
INTERNAL
Notifying _ok
Send_approval
Send_to_review
Send_refusal
Chair_author
Reviewer
Chair_reviewer
Receive_reviewed_doc
Send_reviewed_doc
Sending_to_decide
Figura 5. Diagrama de colaboración del sistema del caso de estudio
Los elementos empleados para formar un CD
son los mismos que los que se han utilizado para
representar la estructura organizativa por medio
de los OSD. Un CD representa las colaboraciones
que tienen lugar entre los participantes de un
sistema organizados como se muestra en el OSD.
En cuanto a las relaciones posibles entre los
elementos, aunque es factible mostrar algunas
relaciones de jerarquía, agregación o desempeño
por claridad, lo normal es que aparezcan
relaciones de interacción cooperativa que
describen la interacción entre dos participantes a
través del sistema.
La Figura 5 muestra un ejemplo de CD para el
sistema descrito como caso de estudio en el
apartado 3.
6. Trazabilidad inter e intra-etapa
Es fundamental mantener la coherencia y la
consistencia entre los elementos que aparecen
entre las distintas etapas, así como en el interior
de cada etapa.
Puesto que en el artículo se habla en todo
momento de análisis, se hará hincapié en la
trazabilidad intra-etapa, no describiendo la
trazabilidad que se da entre la etapa de análisis y
las etapas de elicitación de requisitos y diseño del
sistema.
La trazabilidad para mantener la coherencia y
la consistencia del modelo se ha de dar entre roles
y tareas puesto que son conceptos muy
relacionados pero que se identifican en un
principio separadamente.
Así mismo, una vez identificados y descritos
tanto los roles como las tareas del sistema, los
diagramas comentados con anterioridad permiten
modelar la estructura organizativa de los actores
del sistema, las colaboraciones que existen entre
ellos y las interacciones de los usuarios con el
sistema. Muchos de los elementos que se emplean
en un diagrama se emplean también en los otros
diagramas.
En principio, el uso de elementos
unívocamente identificados en los distintos
diagramas debería mantener la coherencia y la
consistencia del modelo. Se debe tener especial
cuidado con las implicaciones que tendría la
modificación de un elemento en un modelo con
respecto a los otros, que probablemente se verían
afectados.
El rol se ha definido en base a un conjunto de
tareas, por lo que roles y tareas están íntimamente
relacionados. El número de roles y, sobre todo, de
tareas de un sistema puede ser muy elevado. Una
matriz que ponga en relación los roles con las
tareas asociadas, es decir, el rol identificado con la
funcionalidad que le proporcionaría al actor que lo
desempeñara, facilita la comprensión del sistema.
La matriz tareas-roles asocia el conjunto de
tareas que define cada rol. El rol es la selección de
un conjunto de tareas, por lo que éstas podrían
estar asociadas también a varios roles. La Tabla 4
muestra un esquema de la matriz tareas-roles para
mantener esa trazabilidad.
Tabla 4.
Tarea-<id1>
Tarea -<id2>
…
Tarea -<idn>
Esquema de matriz tareas-roles
Rol<id1>
●
Rol<id2>
●
…
Rol<idm>
●
…
●
7. Conclusión
En el presente artículo se ha propuesto una
metodología para llevar a cabo el análisis de
sistemas CSCW haciendo especial hincapié en las
colaboraciones entre los participantes del sistema,
su organización y los roles que desempeñan. La
metodología también permite modelar las
interacciones de los usuarios con el sistema así
como los objetos manipulados en el dominio del
problema y sus relaciones. Para llevar a cabo todo
esto, se proponen una serie de diagramas y el
modelo de procesos a seguir para el correcto
desarrollo sistemático del sistema.
Agradecimientos
Los autores agradecen la financiación de este
trabajo al proyecto CICYT TIN2004-08000-C0301, así como la ayuda de la JCCM PCC-05-005-1.
Referencias
[1] Constantine, L. L. and Lockwood, L. A. D.,
Software for use: a practical guide to the
models and methods of usage-centered design,
Addison Wesley, Reading, Mass, 1999.
[2] Durán, Amador: Un Entorno Metodológico de
Ingeniería de Requisitos para Sistemas de
Información. Tesis Doctoral. Universidad de
Sevilla. 2000
[3] Garrido Bullejos, José Luis; AMENITIES: Una
metodología para el desarrollo de sistemas
cooperativos basada en modelos de
comportamiento y tareas. Tesis Doctoral.
Granada 2003
[4] Greif, I.: Computer-Supported Cooperative
Work: A Book of Readings. Morgan
Kaufmann, San Mateo CA, 1988
[5] Grudin, J. 1994. Computer-Supported
Cooperative Work: History and Focus.
Computer 27, 5 (May. 1994), 19-26
[6] Jacobson, I., Booch, G., and Rumbaugh, J.
1999 The Unified Software Development
Process.
Addison-Wesley
Longman
Publishing Co., Inc.
[7] Johansen, R. (1988): Groupware: Computer
support for business teams. New York: The
Free Press
[8] Molina, Ana Isabel: Una Propuesta
Metodológica para el Desarrollo de la
Interfaz de Usuario en Sistemas Groupware.
Tesis Doctoral. Universidad de Castilla-La
Mancha. 2006
[9] Object
Management
Group.
UML
Superstructure Specification, v2.0; 2005
[10] Paterno’, F.; Model-based Design and
Evaluation of Interactive Applications.
F.Paternò, Springer Verlag, November 1999,
ISBN 1-85233-155-0
[11] Penichet, Victor M. R.; Lozano, Maria D.;
Gallud, Jose A.; Montero, Francisco:
Ontología para Estructuras Organizativas
Colaborativas. VII Congreso Internacional
Interacción 2006. U. de Castilla-La Mancha,
Puertollano, Spain; 15 Nov 2006.
[12] Pilone, Dan; Pitman, Neil: UML 2.0 in a
Nutshell. O'Reilly Media; ISBN-13: 9780596007959 – 2nd edition. 2005
[13] Pinelle, D., Gutwin, C., Greenberg, S.: Task
analysis for groupware usability evaluation:
Modeling shared-workspace tasks with the
mechanics of collaboration. ACM (TOCHI)
Volume 10 , Issue 4, Pages: 281 - 311. (2003)
ISSN:1073-0516
[14] Poltrock, S. and Grudin, J. Computer
Supported Cooperative Work and Groupware.
Companion on Human Factors in Computing
Systems (Boston, Massachusetts, United
States, April 24 - 28, 1994). C. Plaisant, Ed.
CHI '94. ACM, 355-356`
[15] Poltrock, S. and Grudin, J. 1999. CSCW,
groupware and workflow: experiences, state
of art, and future trends. CHI '99 Human
Factors in Computing Systems (Pittsburgh,
Pennsylvania, May 15 - 20, 1999). CHI '99.
ACM Press, New York, NY, 120-121
[16] Van der Veer, G. C.; Van Welie, M. 2000.
Task based groupware design: Putting theory
into practice. Symposium on Designing
Interactive Systems. ACM, 326–337
Descargar