Você está na página 1de 13

A abordagem da Engenharia Semitica para o desenvolvimento de

software centrado no usurio

Jair Cavalcanti Leite


Departamento de Informtica e Matemtica Aplicada
Universidade Federal do Rio Grande do Norte
Campus Universitrio - Lagoa Nova
59072-970 - Natal RN
jair@dimap.ufrn.br

Resumo
A teoria semitica revela que uma das possveis causas da baixa usabilidade dos sistemas computacionais que
desenvolvedores e usurios possuem vises distintas da aplicao. Os usurios possuem uma viso externa,
obtida a partir da interface de usurio, enquanto desenvolvedores possuem uma viso interna que obtida a partir
de linguagens de especificao ou de programao. Estas linguagens so baseadas em modelos computacionais e
descrevem o funcionamento do sistema. Diversos pesquisadores argumentam que preciso introduzir no
desenvolvimento de software a atividade de design na qual designers e usurios compartilhem a mesma viso do
produto [Winograd 96]. A Engenharia Semitica uma abordagem que considera que o design de software um
processo metacomunicativo no qual o designer envia uma mensagem para os usurios cujo contedo o modelo
conceitual da aplicao [De Souza 93]. A expresso desta mensagem composta todas as mensagens trocadas
entre usurio e sistema atravs da interface de usurio. Neste trabalho vamos mostrar que o design de software
deve ser conduzido como um processo comunicativo e deve possibilitar que ambos compartilhem o mesmo
modelo conceitual da aplicao. Neste processo o designer deve representar elementos do domnio da aplicao
no como tipos de dados de uma linguagem de programao, mas como signos de interface. A funcionalidade do
software determinada pelo repertrio de funes de aplicao que operam sobre objetos. Objetos e funes de
aplicao so comunicados ao usurio atravs dos signos de interface que formam a mensagem do designer.
Palavras-chaves: Design de Software, Design de Interfaces de Usurio, Semitica Computacional, Interao
Humano-Computador.

1. Introduo
A utilidade de um sistema computacional deve ser considerada em trs nveis distintos. No
nvel do computador a nfase est no hardware e software do sistema. preciso definir como
os procedimentos podem ser automatizados e como as informaes podem ser codificadas.
Neste nvel importante avaliar a qualidade dos diversos elementos do computador como
confiabilidade, segurana, eficincia dentre outras.
No nvel da interao humano-computador a nfase est nas atividades que os usurios devem
fazer e na forma como as informaes so percebidas ou produzidas por eles. Neste nvel, as
tarefas do domnio devem determinar metas para cada usurio que devem poder ser realizadas
utilizando o sistema. neste nvel tambm que se avalia a usabilidade do sistema, isto , a
facilidade de uso e de aprendizado, produtividade e satisfao do usurio, dentre outras
qualidades.
No nvel do contexto todos o componentes podem ser visualizados de forma integrada. Neste
nvel o hardware e o software so visto como um componente nico que interage com os
diversos usurios de maneira a permitir que as tarefas do domnio possam ser realizadas.
Neste nvel avalia-se o quanto o sistema resolve os problemas da organizao, isto , a sua
aplicabilidade.
O foco da cincia da computao est no nvel do computador. Na engenharia de software,
tradicionalmente um campo cientfico pertencente cincia da computao, alguns mtodos e
tcnicas de desenvolvimento abordam apenas o conhecimento necessrio para o
desenvolvimento com foco no nvel do computador sem dar a devida importncia ao nvel da
interao e do contexto. Na dcada de 80, alguns autores ressaltaram a importncia de
desenvolver sistemas centrado-no-usurio com o objetivo de produzir sistemas que
atendessem s necessidades de usurios e melhorassem a sua usabilidade [Norman & Draper
86].
Recentemente diversos autores argumentaram sobre a necessidade de trazer para o
desenvolvimento de software a atividade de design, no mesmo sentido do papel que a
atividade de design industrial desempenha para o desenvolvimento de artefatos em geral, ou
que a arquitetura desempenha para a construo civil [Winograd 86]. Segundo David Liddle,
"o design de software o ato de determinar a experincia do usurio com um pedao de
software. No tem nada a ver sobre como o cdigo opera internamente ou se ele grande ou
pequeno. A tarefa do designer especificar de forma completa e no ambgua a experincia
global do usurio" [Liddle 86]. Neste sentido, design compreende as atividades de concepo,
especificao e prototipagem de um artefato interativo cuja matria prima so os signos que o
formam. A experincia do usurio surge da interao com o sistema atravs destes signos.
Na perspectiva de design o software deve ser visto como um artefato virtual e como tal ele
um produto a ser aplicado com utilidade num certo contexto e por isso chamado de aplicao
de software. Este artefato virtual algo que possui um modelo conceitual prprio a sua
funcionalidade e a sua interatividade. A funcionalidade determina aquilo o que ele faz e que o
torna til para resolver problemas dos usurios. A interatividade determina a maneira como o
usurio dever utilizar o software. A perspectiva de design precisa ampliar o foco e considerar
no apenas o computador, mas tambm os nveis da interao e do contexto.
Este trabalho discute a importncia da perspectiva de design de software e apresenta um
framework conceitual que orienta como esta atividade deve ser desempenhada. No framework
o design de software compreende a concepo, especificao e prototipagem da partes
externas, internas e conceituais do software. A parte externa compreende a interface de
usurio. A parte interna compreende a arquitetura de componentes de software e os algoritmos
e estruturas de dados que implementam estes componentes. A parte conceitual corresponde
aos modelos mentais obtidos das diferentes perspectivas que usurios, programadores e
designers possuem quando interpretam o software. O framework permite o design do software
em termos dos seus elementos externos, internos e conceituais, possibilitando a integrao das
diferentes perspectivas.
Nosso trabalho est fundamentado em teoria semitica e segue a abordagem denominada de
Engenharia Semitica [de Souza 93]. Ele faz parte de um contexto mais amplo que aplica
teoria semitica no design de interfaces e programao para usurio-final. Modelos e
formalismo para o design de interfaces forma descritos em [Leite 98].
Na seo seguinte vamos apresentar um exemplo que mostra diferentes perspectivas de uma
aplicao, diferenciando a importncia da perspectiva de design. Na seo 3 apresentamos a
fundamentao terica que explica estas diferentes perspectivas e discutimos as suas
conseqncias para o design. A seo 3 introduz a abordagem da Engenharia Semitica para
o design de software. Na seo 4 apresentamos o framework conceitual para o design que
distingue os elementos conceituais, computacionais e de interface, de acordo com a teoria
estudada. Na ltima seo discutiremos a importncia da perspectiva de design e da teoria
semitica na engenharia de software.
2. As diferentes perspectivas em um software
Usurios e programadores normalmente possuem diferentes perspectivas de um software. A
perspectiva do usurio de uma aplicao de software est em como ele pode resolver os
problemas do usurio. A perspectiva de um programador est em como uma certa soluo
resolvida por algoritmos. No design centrado-no-usurio o designer precisa ter uma
perspectiva que seja a mais prxima possvel daquela que o usurio tem do sistema. Nesta
seo vamos discutir as perspectivas do usurio e do programador. Na seo 4 discutiremos a
perspectiva do designer.
Para exemplificar as diferentes perspectivas do usurio e do programador, vejamos o exemplo
de um programa simples que, com pequenas alteraes no programa que no alteram a
essncia do algoritmo, pode ser visto como aplicaes de software de distintas.
Vamos supor que um usurio esteja utilizando uma aplicao de software. Vejamos o seguinte
trecho de interao entre o usurio (U) e o sistema (S).
S: Fornea um nmero:
U: 5.3
S: Voc deve digitar apenas nmeros inteiros:
U: 5
S: Fornea outro nmero:
U: 8
S: O resultado 3

Observando a interao do usurio com o sistema podemos concluir que o software realizou
uma subtrao. Assim, a funcionalidade deste software realizar subtraes de dois nmeros
inteiros. Vejamos, agora o algoritmo que poderia gerar este software.
escreva("Fornea um Nmero:");
leia A;
enquanto A no for inteiro faa
escreva(Voc deve digitar apenas nmeros inteiros:)
leia A;
escreva("Fornea outro Nmero:");
leia B;
C = A - B;
escreva("O resultado ", C);

Vejamos agora o que acontece se modificarmos as linhas 1, 6 e 9 deste algoritmo para


escreva("Fornea o valor de venda");
escreva("Fornea o valor de compra");
escreva("O lucro ",C);
Para o programador muito pouca coisa mudou, mas para o usurio este software agora visto
como uma aplicao de clculo de lucros de vendas. As alteraes no programa foram
bastante pequenas, mas produziu um efeito significativo. A perspectiva de software como
artefato deve considerar como o usurio v a aplicao. Os modelos conceituais da
funcionalidade do software so distintos. Desta forma, temos softwares distintos com
aplicaes em domnios distintos. O programa nos fornece uma viso de funcionamento. O
usurio possui apenas a viso de funcionalidade.
Podemos modificar as mesmas linhas do programa e teremos novas possibilidades de
aplicao.
escreva("Saldo atual");
escreva("Valor de saque");
escreva("Saldo resultante",C);
Estas diferentes perspectivas ocorrem pelas diferentes interpretaes que usurios e
programadores fazem do software. Programadores interpretam o software a partir da
linguagem de programao. A semntica da linguagem de programao possibilitar
interpretaes do software em termos de transformaes de estados de variveis de
armazenamento de dados.
A interpretao que o usurio tem do sistema obtida a partir dos elementos da interface de
usurio. A esta interpretao damos o nome de modelo conceitual da aplicao. Cada signo
utilizado no processo de interao vai permitir ao usurio construir o seu modelo conceitual
da aplicao. Vejamos a seguir com a teoria semitica explica estas diferenas de
perspectivas.

3. O modelo conceitual da aplicao


O modelo conceitual uma entidade abstrata que existe na mente dos usurios quando eles
esto interagindo com o sistema. Este modelo conceitual determina, para o usurio, quais os
quais os objetos da aplicao, suas propriedades, relacionamentos e estados. Alm disso, ele
determina tambm o que o usurio pode fazer com a aplicao (a funcionalidade) e como ele
pode interagir com a aplicao (a interatividade).
Ao utilizarmos um sistema operacional, como o Unix ou o MS DOS, sabemos que podemos
construir, armazenar e organizar arquivos de software. Um arquivo na verdade uma
seqncia de bits como comeo e fim definidos. Para o usurio o arquivo algo conceitual
que se refere a documentos, programas, dados, etc. Esta entidade conceitual surge na mente do
usurio e tem como propriedades um nome, um tipo, uma data de criao e um tamanho em
bytes. Arquivos so armazenados em discos em trilhas e setores e podem ser localizados a
partir de uma tabela que associa o seu nome ao local fsico. Para o usurio, arquivos so
colocados "dentro" de uma outra entidade conceitual: o diretrio.
Arquivos e diretrios so os objetos da aplicao e podem ser criados, destrudos ou
modificados por diversas funes da aplicao. Estas funes so, por exemplo, copiar
arquivo, apagar arquivos, construir diretrios, remover diretrios, colocar arquivos em um
diretrio, mover arquivo de um diretrio para outro, etc. Estas funes so tambm entidades
virtuais representadas por um nome que devem indicar, para o usurio, o que o sistema faz.
Por exemplo, o sistema operacional no coloca arquivos dentro de um diretrio. Isto s existe
na mente do usurio. O que o sistema faz trocar o endereo fsico do arquivo na tabela de
arquivos e diretrios. Entretanto, a viso de que diretrios so recipientes que armazenam
arquivos muito mais til para o usurio. Ela permite ao usurio criar na sua mente conceitos
da aplicao que permitem a ele entender o que fazer com o sistema e raciocinar melhor sobre
ele.
O sucesso de uma aplicao vai depender justamente da criao deste modelo conceitual.
Quanto mais claros forem os conceitos e as operaes que se pode fazer com eles, mais o
usurio vai saber como aplic-los na resoluo de seus problemas. O sucesso de sistemas
como o Apple Macintosh deve-se construo de modelos conceituais mais familiares para os
usurios. Os conceitos de pastas e documentos e a representao deles atravs de janelas e
cones permitem ao usurio criar imagens mentais mais claras e que so familiares as
atividades que eles realizam num escritrio. O conceito de pasta como recipiente mais claro
que o de diretrio (que na verdade uma lista de ndices). No Macintosh o usurio move
objetos (documentos, aplicativos, figuras, etc.) de uma pasta para outra e para o topo-de-mesa
(desktop) como faria nos seus escritrios.
A perspectiva de design requer que designer e usurios compartilhem o mesmo modelo
conceitual. Na prxima mostraremos que o design de software precisa ser visto como um
processo comunicativo entre designer e usurio para que o modelo conceitual seja comum a
eles.

4. A fundamentao semitica para as diferentes perspectivas


A semitica a disciplina que estuda os signos e os processos de comunicao e significao
[Eco 76]. Um signo definido por Peirce como aquilo que, sob certo aspecto ou modo,
representa algo para algum. Dirige-se a algum, isto , cria na mente dessa pessoa um signo
equivalente, ou talvez um signo mais desenvolvido. Ao signo assim criado denomino
interpretante do primeiro signo [Peirce 31]. O signo produto de uma relao entre trs
elementos: a expresso que aquilo que representa; o objeto aquilo que representado; e
o seu interpretante a capacidade mental no contexto do processo do signo. O
relacionamento entre estes trs elementos est na figura 1.

E
Expresso

I Interpretante

Objeto
O

Figura 1: O Signo de Peirce


Signos podem ser produzidos a partir de diferentes sistemas de signos. Exemplos so as
palavras ou sentenas de uma lngua, os comandos de uma linguagem de programao ou
smbolos de sinalizao, dentre inmeros outros. Diferentes tipos de cdigos permitem
produzir diferentes tipos de signos e diferentes interpretaes para cada um deles. Numa
aplicao de software, programas so construdos por signos de uma linguagem de
programao e utilizados atravs de signos de interface. Os signos de interface normalmente
so produzidos a partir de palavras e elementos grficos de diferentes tipos de cdigos.
A semitica nos ajuda a entender alguns problemas no desenvolvimento de software e revela o
importante papel que as linguagens possuem na interpretao software. Designers,
programadores, e usurios do sistema utilizam diferentes sistemas de signos para produzirem
e/ou entender a aplicao. Vamos considerar que a aplicao um signo no sentido proposto
por Peirce. Para o usurio a expresso deste signo formada pelas diferentes mensagens de
interao veiculadas pelos signos de interface. O interpretante deste signo o modelo
conceitual que ele adquire e permite-lhe compreender o que fazer e como interagir com a
aplicao. O objeto deste signo as diferentes aplicaes do programa na resoluo de
problemas.
Na perspectiva do programador a expresso o programa fonte que deve ser interpretada de
acordo com a semntica da linguagem de programao. Desta forma, o objeto deste signo o
conjunto de todos os caminhos possveis de execuo e transformao nos estados de dados e
espaos de memria, que definido formalmente pela semntica da linguagem de
programao [Meyer 86]. O programa fonte gera como interpretantes mais imediatos o
funcionamento do programa. Apenas programadores que conheam a fundo a semntica da
linguagem e consigam realizar abstraes a partir de algoritmos e estruturas de dados
codificadas conseguiro chegar a interpretantes de usabilidade.
Por utilizarem expresses diferentes, os interpretantes do designer, do programador e do
usurio no so idnticos ao modelo semntico determinado pela linguagem de programao.
A figura 2 (a) e (b) a seguir representam as diferentes perspectivas para o exemplo do
programa subtrao que ocorrem quando o intrprete o programador (figura 3a) e quando o
usurio (figura 3b). Para o programador, a linguagem de programao restringe os
interpretantes em torno dos conceitos de transformao de estados de dados e espaos de
memria, dificultando a interpretao da aplicao do software. Para o usurio, os signos de
interface devem comunicar como ele pode aplicar o programa na resoluo de problemas.

Programa fonte,
em linguagem de Signos da
programao. E Interface de
Usurio E

Compreenso
e utilizao do
I I modelo
Transformao
Compreenso do conceitual da
de estados de Modelo conceitual
funcionamento aplicao
dados e espaos da aplicao
do programa.
de memria. subtrao

O O
Figura 2: Signos da Aplicao Subtrao: (a) interpretado pelo programador e (b) interpretado pelo usurio
Com base na discusso da seo anterior podemos concluir que a atividade de design de
software, no sentido mencionado na introduo, requer notaes que permitam ao designer
uma perspectiva prxima daquela que o usurio ter. Isto significa que os modelos conceituais
adquiridos pelo usurio e pelo designer devem ser bastante semelhantes.
Os mtodos de design de software devem utilizar-se apenas de modelos que permitam
antecipar a usabilidade. Os cenrios, esboos e prottipos so exemplos de modelos que
auxiliam o designer a compartilhar a mesma perspectiva do usurio. Notaes mais
tradicionais da engenharia de software como diagramas da arquitetura do software, algoritmos
descritos em linguagem natural estruturada, modelos grficos de estruturas de dados,
linguagens de especificao funcional, dentre outras, visam descrever abstratamente o
funcionamento e no a usabilidade.
Entretanto, no basta apenas utilizar a mesma notao que ser utilizada pelo usurio.
preciso ter a garantia de que mesmo utilizando expresses iguais, as interpretaes do
designer e do usurio sero compatveis entre si.
Para atingirmos este objetivo o processo de design de software deve ser visto como um
processo comunicativo no qual o designer elabora uma mensagem expressa atravs da
interface de usurio cujo contedo o modelo conceitual da aplicao. Ser preciso utilizar
uma notao para a elaborao do modelo conceitual e regras que permitam correlacionar
elementos do modelo com os signos da interface de usurio.
5. A Engenharia Semitica
A Engenharia Semitica uma abordagem na qual sistemas so considerados como artefatos
de metacomunicao [de Souza 93]. Nesta perspectiva a interface vista como uma
mensagem unidirecional e indireta de designers para usurios. Esta mensagem se caracteriza
pela sua capacidade de, ela prpria, enviar e receber mensagens durante o processo de
interao entre o usurio e o sistema.
Quando o usurio entra em contato visual (ou, mais genericamente, sensorial) com a interface,
ele realiza um esforo de interpretao e compreenso a respeito do significado de todos os
seus dispositivos e da informao que eles veiculam. O conceito de signo como apresentado
por Peirce mostra-nos que a mensagem que o designer envia para os usurios tm como
expresso a interface de usurio e como contedo a funcionalidade e o modelo de interao
definidos pelo programa que implementa o sistema [Peirce 31]. O interpretante deste signo ,
para o usurio, o modelo conceitual que ele adquire a partir da interpretao da interface - que
a expresso do sistema - durante o processo de interao.
Por exemplo, o usurio, quando observa um widget na interface, precisa saber como pode
utiliz-lo e qual ser o comportamento do sistema aps a sua ao. O que est sendo
interpretado pelo usurio, mesmo sem perceber, o que o designer quis dizer sobre aquele
widget. A interpretao que a Engenharia Semitica oferece para este processo a de que a
interface est transmitindo uma mensagem para o usurio, do tipo Eis aqui um boto.
Aperte-o e ele realizar tal operao. A interface, isto , os diversos elementos que a
formam (mouse, teclado, widgets, menus, caixas de dilogo, instrues, avisos, comandos,
etc) , pois, uma mensagem formada por outras mensagens.
A abordagem da engenharia semitica nos mostra que as perspectivas do designer e do
usurio podem ser aproximadas pela utilizao de signos de interfaces que gerem as mesmas
interpretaes. Neste processo comunicativo preciso formular o contedo e gerar a
expresso que permita ao designer interpretar o mesmo contedo. Neste caso preciso que o
designer especifique o modelo conceitual da aplicao e que possa mape-lo em signos de
interface. Neste caso temos uma correlao semntica entre expresso e contedo, no qual
signos de interface tm como significado elementos do modelo conceitual. O modelo
conceitual da aplicao funciona como uma representao da semntica do software.

6. Um framework para o design de software


Com base na fundamentao terica discutida anteriormente e na abordagem proposta pela
Engenharia Semitica vamos apresentar um framework conceitual para o design de software.
Neste framework diferenciamos a viso do usurio da viso do programador, de acordo com o
que foi discutido na seo 3 e mostramos como a abordagem da engenharia semitica pode ser
posta em prtica.
De acordo com a abordagem da Engenharia Semitica, o design do software um processo
comunicativo, no qual o designer envia uma mensagem para o usurio cuja expresso a
interface de usurio. Neste processo ambos devem compartilhar o mesmo contedo que o
modelo conceitual da aplicao. Assim, designer e usurio compartilham a mesma perspectiva
do software. O modelo conceitual funciona como elemento que une as perspectivas do usurio
e do designer e serve de base para a implementao computacional do sistema.
A seguir vamos mostrar como o design do software requer a especificao de signos que
atendam as diferentes perspectivas.
6.1 O processo de design
Na abordagem da Engenharia Semitica, o design e a prototipao da interface de usurio
devem ser vistos como a produo de uma mensagem num processo iterativo que deve ser
complementado por um processo de avaliao. A produo da mensagem deve ser conduzida
em trs etapas: a formulao do contedo, a especificao abstrata da mensagem e a
elaborao da expresso da mensagem do designer para o usurio. A elaborao da expresso
feita atravs da construo do prottipo.
Na primeira destas etapas, a formulao do contedo, deve-se conceber e especificar os
componentes do modelo conceitual da aplicao. Deve-se especificar os signos conceituais
que representam os objetos e as funes da aplicao e os comandos de funo.
Na segunda etapa, o designer precisa complementar esta especificao considerando que estes
componentes so parte do processo comunicativo existente entre o designer e o usurio. Ele
deve realizar a especificao de cada componente do modelo conceitual como parte da
mensagem global que enviada ao usurio.
Na terceira e ltima etapa a expresso da mensagem deve ser concebida e especificada para
que possa ser apresentada ao usurio durante o processo de interao. Os signos de interface
possuem caractersticas de interatividade e podem ser acionados pelos usurios atravs da
ferramenta de acionamento. Os signos tm como expresso preferencial os widgets
disponveis na maioria das ferramentas de interfaces. Seus significados (contedo da
mensagem) so os elementos do modelo conceitual da aplicao. Isto significa que o design
da interface de usurio deve estar associado semanticamente com a especificao deste
modelo.

6.2 Os signos da aplicao


O framework para o design prev a representao de objetos da aplicao de trs formas
distintas de acordo com as diferentes perspectivas. Na perspectiva do usurio os objetos da
aplicao esto representados como signos de interface, codificados atravs de elementos
grficos como os cones e os widgets de interface. A interface de usurio composta por
signos de interface.
Na perspectiva do programador os objetos da aplicao esto representados como signos
computacionais, codificados em linguagens de programao. O programa , portanto,
formado pelo conjunto de signos computacionais que implementam a aplicao e descrevem o
seu funcionamento.
Na perspectiva conceitual os objetos da aplicao esto representados atravs de signos
conceituais que so diagramas de representao que permitem descrever cada um dos objetos
da aplicao, suas propriedades e relacionamentos de maneira abstrata. A viso conceitual
permite uma viso lgica da aplicao independente da linguagem na qual ela ser programa
ou do estilo de interface que ser utilizado. O conjunto de signos conceituais forma o modelo
conceitual da aplicao. A figura 3 mostra estas diferentes vises.

6.3 Especificando o modelo conceitual da aplicao


Nos sistemas computacionais interativos o modelo conceitual da aplicao formado por
alguns tipos de conceitos que so comuns a maioria deles. Evidentemente, o designer quem
deve determinar quais conceitos so teis para a aplicao que ele est projetando. Vamos
utilizar alguns tipos pr-definidos de conceitos. Eles so os objetos da aplicao, as funes
da aplicao e os comandos de funo.

Usurio

Signos de Interface

Signos Conceituais
Designer
Signos Computacionais
Programador

Figura 3: as diferentes perspectivas representadas por diferentes tipos de signos da aplicao


Os objetos da aplicao so definidos em termos de propriedades e relacionamentos devem
ser representados no sistema para que os usurios possam operar sobre eles. Estas operaes -
as funes da aplicao - permitem que os conceitos sejam criados, transformados, destrudos,
etc. Os comandos de funes permitem ao usurio controlar a execuo de uma funo pelo
computador.
As funes da aplicao so responsveis por operaes com os objetos da aplicao. Elas
devem determinar quais transformaes ocorrem no sistema e quais so os conceitos que so
modificados, criados ou destrudos. A funes modificam o estado do sistema. Uma
determinada funo da aplicao pode levar o sistema de um estado p de para um estado q.
Os estado inicial que o sistema est antes que uma determinada funo seja executado
tambm chamado de pr-condio. O estado final, isto , aps a funo da aplicao ter sido
executada chamado de ps-condio.
Na especificao do modelo conceitual no estamos interessados ainda em como eles vo ser
representados computacionalmente, isto , qual estrutura de dados ser utilizada para
representar o conceito numa linguagem de programao. Tambm no vamos representar
ainda como o conceito ser visto pelo usurio - se na forma de um cone, de uma tabela, de
uma lista, etc. Por enquanto estamos interessados em fazer uma especificao abstrata dos
conceitos da aplicao.
A execuo de cada funo da aplicao deve ser controlada por comandos de funo. Este
conceito refere-se ao conjunto de aes que o usurio deve desempenhar para que uma
determinada funo seja iniciada, interrompida ou cancelada, por exemplo. As aes que o
usurio deve fazer so aquelas que ele desempenha com os dispositivos da interface de
usurio, como pressionar tecla X, escrever um nome com o teclado, pressionar com o mouse,
mover com o mouse, etc. Existem diferentes formas de interao que determinam comandos
de funo distintos. No MS DOS, os comandos so elaborados pela digitao de sentenas.
Este estilo chamado de linguagem de comando. No Windows 95/98, os comandos so
desempenhados pelo acionamento de objetos da interface num estilo chamado de
manipulao direta.
A especificao do modelo conceitual pode ser descrita em linguagens diagramticas como a
Unified Modeling Language (UML) [Booch et al. 99].
6.4 Exemplificando com um cadastro de clientes
Para exemplificarmos a aplicao do framework e as diferentes perspectivas do software
vamos descrever os signos elaborados no design de parte de uma aplicao Sistema de
Biblioteca. Vamos nos limitar funo de cadastrar cliente e consultar arquivo de clientes.
Para permitir o cadastro de clientes da biblioteca, a aplicao deve possuir objetos como
registro de clientes que contm informaes sobre cada cliente. Cada registro de cliente
composto por dados para o nome, a matrcula e para informar se o cliente possui livros
emprestados. Os registro de clientes so armazenados em um arquivo de cliente.
Para que o usurio possa cadastrar as informaes de cliente ser necessrio introduzir um
objeto de interface que permita ao usurio fornecer os dados. Este objeto o formulrio de
registro, que possui os objetos CampoNome, CampoMatricula, BotoEmprstimos,
BotoGravar e BotoCancelar. Para que o usurio possa visualizar o arquivo de registro de
clientes, o objeto tabela de registros responsvel pela sua representao
Estes objetos esto representados de forma abstrata usando diagramas de classes UML. O
diagrama representa tambm os relacionamentos entre elas, como mostrado na figura 4.

1 representa 1
Arquivo de usurios Tabela de registros

armazena

0..*
Registro de usurio 0..* representa Formulrio de usurio

1 1 1 1 1 1 1 1
nome livros Campo Boto
Boto
emprestados Nome emprestimo
cancelar
matricula
Campo Boto
Matricula gravar

Figura 4: Signos conceituais para a aplicao cadastrar cliente usando diagramas de classes UML
O diagrama de classes permite uma viso abstrata e esttica dos objetos da aplicao. Para
visualizarmos o modelo de interao preciso diagramas que possibilitam uma viso
dinmica. O diagrama de atividades utilizado para descrever as atividades do usurio e do
sistema durante o processo de cadastramento. O diagrama de atividades UML descrito na
figura 5 o elemento conceitual que descreve a funcionalidade e o modelo de interao desta
funo da aplicao cadastrar cliente.
Sistema Usurio

Escolher cadastrar
usurio

exibir formulrio
de usurio
Fornecer dados
Pressionar gravar
Ler registro usurio
do formulrio

gravar registro apagar formulrio


na tabela de usurio

Figura 5: Signos conceituais para a aplicao cadastrar cliente usando diagramas de atividades UML
Os signos conceituais descrevem de forma abstrata os objetos que devero ser percebidos pelo
usurio do sistema atravs de signos de interface. A figura 6 mostra dois possveis signos de
interfaces associados aos objetos tabela de registro e formulrio de registro e seus respectivos
componentes. Os outros objetos como arquivos de clientes e registro e cliente so possuem
signos de interfaces correspondentes uma vez que no so visualizados pelo usurio.
Tabela de registro de clientes

Nome Matrcula Emprstimos


Adriana Silva 0023456 Sim
Ana C Pereira 00298765 No

Formulrio de registro de clientes

Nome:

Matrcula:

Possui livros emprestados?

Sim No

Gravar Cancelar

Figura 6: Signos de Interface para a aplicao cadastrar cliente

Para que a aplicao seja implementada, os signos conceituais e os signos de interface devem
ser codificados como signos computacionais de uma linguagem de programao. Os objetos
da aplicao Tabela de registros, Registro de cliente e Formulrios de registro de cliente -
descritos anteriormente na forma de signos conceituais e de interface podem ser descritos
como estruturas de dados em uma linguagem de programao (estilo linguagem C), como
mostra a figura 7.
Struct Tabela {
Registro cliente;
Struct Form {
} TabelaRegistros[100]; Textbox CampoNome;
Struct Registro { Numbox CampoMatricula;
Char nome; RadioButton Emprstimos;
Int matricula; PushButton Gravar;
Boolean emprstimos; PushButton Cancelar;
} } Formulrio registro;

Figura 7: Signos computacionais para a aplicao cadastrar cliente

7. Concluso
Este artigo mostrou um framework que descreve como incorporar a atividade de design no
desenvolvimento de software de maneira a integrar as diferentes perspectivas que usurios,
designers e programadores possuem em relao a uma aplicao. Discutimos com base em
teoria semitica que a perspectiva de programao inadequada ao design, pois a
interpretao obtida do cdigo fonte do programa descreve o funcionamento da aplicao.
Usurios interpretam a aplicao a partir de signos veiculados pela interface de usurio.
Durante este processo de interao o usurio adquire o modelo conceitual da aplicao.
Para que a atividade de design seja realizada adequadamente, designer e usurios precisam
compartilhar modelos conceituais semelhantes.
A Engenharia Semitica uma abordagem na qual o design visto como um processo de
produo de signos. Ela considera que o sistema computacional veicula uma mensagem
atravs da interface, compostas por signos de interface, cujo contedo o modelo conceitual
da aplicao. Neste processo comunicativo o designer deve formular o modelo conceitual e
expressa-lo atravs dos signos de interface.
O framework apresentado neste trabalho mostra que o processo de produo de signos durante
do design envolve a especificao dos signos conceituais que descrevem o modelo conceitual
e dos signos de interface que sero vistos pelo usurio. Os signos de interface devem estar
semanticamente relacionados com os primeiros uma vez que a interpretao do usurio deve
convergir em torno do modelo conceitual pretendido pelo designer.
Em [Leite 98] apresentamos uma Linguagem para Especificao da Mensagem do Designer
(LEMD) que permite a descrio da interface de maneira abstrata como sendo uma mensagem
enviada do designer para o usurio. Mostramos ainda como os elementos desta descrio
podem ser mapeados em signos de interface disponveis nas principais interfaces grficas,
como botes, caixa de texto, menus e vrios outros.
Atualmente estamos aplicando este mtodo no re-design de uma aplicao de software para
telemarketing. Vamos comparar esta verso com a j existente atravs de testes de usabilidade
com o objetivo de avaliar as vantagens de nosso framework.
Nosso prximo objetivo desenvolver uma ferramenta de apoio ao design que permita ao
designer integrar os diferentes signos conceituais, com signos de interface e signos
computacionais. Esta ferramenta inclui ainda recursos para a construo de modelos de tarefas
e cenrios de uso.

8. Referncias

Booch, G.; Rumbaugh, J. & Jacobson, I. The Unified Modeling Language, Addison-Wesley, 1999.
De Souza, C.S. The Semiotic Engineering of User Interface Languages. International Journal of
Man-Machine Studies 39. Academic Press. 1993. pp. 753-773.
Eco, U. A Theory of Semiotics. Bloomington, IN. Indiana University Press. 1976. Edio brasileira:
Tratado Geral de Semitica, coleo estudos 73, ed. Perspectiva, 2a. Edio, So Paulo 1991.
Leite, J. Modelos e Formalismos para a Engenharia Semitica de Interfaces de Usurio. Tese de
doutorado, Pontifcia Universidade Catlica do Rio de Janeiro, 1998.
Liddle D. Design of the Conceptual Model in Winograd, T. (Ed.) Bringing Design to Software.
Addison-Wesley, 1996.
Meyer B. A Theory of Programming Languages. Prentice-Hall, 1986.
Peirce, C.S. 31-58. Collected Papers (1931-1958). Edio brasileira: Semitica. So Paulo, Ed.
Perspectiva (coleo estudo, n.46) 1977.
Winograd, T. (Ed.) Bringing Design to Software. Addison-Wesley, 1996.

Você também pode gostar