Você está na página 1de 12

11th.

Workshop on Requirements Engineering

PARADIGMA: Uma Ferramenta de Apoio à Elicitação e Modelagem de


Requisitos Baseada em Processamento de Linguagem Natural

Wilson Carlos da Silva1


Luiz Eduardo Galvão Martins2
1
UNASP – Centro Universitário Adventista de São Paulo
2
UNIMEP- Universidade Metodista de Piracicaba
wilson.carlos@unasp.edu.br
lgmartin@unimep.br

Abstract A especificação de requisitos é um documento, ou


The requirements engineers use several techniques artefato, utilizado para a comunicação entre os clientes,
to assist them on the elicitation, analysis, specification, usuários, engenheiros de requisitos e desenvolvedores
validation and requirements management process, but de software. A maioria das especificações de requisitos
the number of those tools in this segment is still é escrita em linguagem natural, sendo complementada,
reduced. The requirements are the base for the às vezes, por outros tipos de notações, tais como
software development, which, most of time is described diagramas, equações, modelos formais etc. A
in natural language. In this paper a tool called especificação de requisitos em linguagem natural
PARADIGMA is presented, it was developed to assist facilita a comunicação entre os atores envolvidos, pois
the requirements engineers to identify in a easier way não há necessidade de treinamento específico para sua
classes, attributes, operations and relationships from compreensão.
the described requirements in natural language, and De acordo com uma pesquisa on-line conduzida
using the Natural Language Processing (more pela Universidade de Trento [9], a maioria dos
specifically the morphosyntatics taggers), generating a documentos disponíveis para análise dos requisitos está
conceptual classes model of UML (Unified Modeling em linguagem natural, ou é constituída de informações
Language). Besides the mentioned characteristics obtidas por intermédio de entrevistas. Esta pesquisa
above, the tool uses the concept of linguistic standards revelou os seguintes números:
that facilitate the creation of diagrams closer to those • 79% dos documentos de especificação de
created by human. The experimentation of the tool was requisitos são escritos em linguagem natural
made by professionals and professors who act in the comum;
area of Requirements Engineering. On the basis of the • 16% dos documentos são escritos em
results, we come to the conclusion of the relevance of linguagem natural estruturada; e
the tool PARADIGMA in the context of the • Somente 5% dos documentos são escritos em
Requirements Engineering. linguagem formal.
De acordo com os dados apresentados, fica evidente
1. Introdução a grande quantidade de documentos em linguagem
natural no processo de Engenharia de Requisitos.
A base para a construção de qualquer software é Existem várias técnicas que auxiliam os engenheiros de
organizada pela Engenharia de Requisitos, a qual requisitos na elicitação dos requisitos, para que
oferece suporte às fases iniciais do ciclo de vida do posteriormente os requisitos possam ser especificados
software. De acordo com Kotonya e Sommerville [5], a da melhor maneira possível. Segundo Davis e Hickey
Engenharia de Requisitos engloba todas as atividades [3], essas técnicas são utilizadas pelos engenheiros de
envolvidas na descoberta, documentação e manutenção requisitos para determinar as necessidades dos clientes
de um conjunto de requisitos para um sistema e usuários do software. Essas necessidades, sendo
computacional. identificadas claramente, poderão levar à construção de

140
11th. Workshop on Requirements Engineering

um sistema com grande chance de atender às 2.1. Etiquetadores de Texto


expectativas e às reais necessidades dos usuários.
O objetivo deste artigo é apresentar uma ferramenta Os etiquetadores (taggers) são as ferramentas
de auxílio à elicitação e modelagem de requisitos, esta utilizadas na etiquetagem automática de corpus. A
ferramenta se apóia nos avanços da área de etiquetagem automática tem sido bastante explorada
Processamento de Linguagem Natural (PLN). A em PLN. As etiquetas ou marcas, chamadas em inglês
ferramenta, chamada PARADIGMA, consegue de POS tags (Part-Of-Speech tags), são,
interpretar textos em linguagem natural (escritos em principalmente, classes gramaticais (morfossintáticas)
Língua Portuguesa) e gerar automaticamente modelos das palavras do corpus.
conceituais de classes (de acordo com a UML). Para realizar a etiquetagem de um texto é necessária
O restante deste artigo está organizado da seguinte a definição de um conjunto finito de etiquetas (tags) e
forma: a seção 2 discute como está o cenário de essas etiquetas devem ter um significado lingüístico
utilização de PLN na Engenharia de Requisitos; a associado. Geralmente o significado dessa etiqueta
seção 3 apresenta uma visão geral da ferramenta refere-se à categoria morfossintática ou gramatical de
PARADIGMA; a seção 4 relata o processo de uma determinada palavra, dentro de uma Língua e
experimentação da ferramenta e o cenário de utilização contexto.
da mesma; na seção 5 são apresentados os resultados O processo de etiquetagem consiste em realizar a
obtidos no processo de experimentação da ferramenta; associação das palavras que aparecem em um dado
na seção 6 é feita uma análise e discussão dos texto a uma determinada etiqueta do conjunto finito de
resultados da experimentação; na seção 7 são etiquetas. Essa associação é feita de acordo com o
apresentados alguns trabalhos correlatos e um algoritmo do etiquetador utilizado.
comparativo entre eles; a seção 8 conclui o trabalho e O processo de etiquetagem é executado com o
traz indicativos de trabalhos futuros. auxílio de três componentes: escrutinador léxico,
responsável por identificar os símbolos do texto
2. PLN na Engenharia de Requisitos (pontuação, palavras da língua, palavras estrangeiras,
símbolos); classificador gramatical, responsável por
A motivação para estudos relacionados ao PLN é atribuir classes gramaticais às palavras; e
revolucionar a forma como o computador é utilizado. A desambigüizador, responsável por resolver o problema
maioria do conhecimento humano é registrada na forma da ambigüidade léxica, para situações onde existem
de linguagem natural; computadores que puderem palavras com significados diferentes, mas com mesma
entender a linguagem natural poderão utilizar essa grafia. Geralmente essa ambigüidade ocorre quando a
informação de forma rápida e para as mais variadas palavra é tratada isoladamente, sendo necessária a
aplicações [2]. análise do contexto para resolver o problema. O
A linguagem é um dos aspectos fundamentais do desambigüizador realiza essa tarefa de analisar e
comportamento humano e é um componente crucial em atribuir somente uma classe gramatical para cada
nossas vidas. Na forma escrita, ela serve de base de palavra do corpus.
conhecimento que passa de uma geração para outra. Na
forma falada, serve como principal meio de 2.2. Contribuições de Ferramentas que
comunicação no dia-a-dia entre as pessoas [2]. Utilizam PLN na Engenharia de Requisitos
Com o avanço da tecnologia e dos computadores
nos últimos anos, as informações estão disponíveis em De acordo com Mich et al. [9], ferramentas que
grande quantidade no formato eletrônico. Essas utilizam PLN na Engenharia de Requisitos podem
informações estão dispostas nas mais variadas trazer uma série de contribuições, dentre as quais
estruturas lingüísticas. A grande quantidade de textos, destacam-se:
principalmente no formato eletrônico, fez com que o • Auxiliar no gerenciamento de Requisitos;
interesse por métodos empíricos de análise da Língua • Permitir que os engenheiros de requisitos
ressurgisse no início da década de 1990, fazendo com concentrem-se no problema, ao invés de se
que os trabalhos na área de lingüística de corpus concentrarem na modelagem;
aumentassem significativamente [1]. • Auxiliar na localização de ambigüidades e
contradições nos documentos de especificação
de requisitos;

141
11th. Workshop on Requirements Engineering

• Extrair diretamente dos textos, em linguagem engenheiro de requisitos interage com o modelo para
natural, elementos para gerar modelos realizar os devidos ajustes.
conceituais; Independentemente do processo utilizado para
• Auxiliar na documentação dos requisitos; chegar ao modelo conceitual de classes, o engenheiro
• Rastreabilidade entre os textos em linguagem de requisitos poderá interagir com o modelo. As
natural e os documentos produzidos funcionalidades implementadas na ferramenta incluem:
(artefatos); • Adicionar marcações no texto de entrada em
• Tradução dos documentos em várias línguas. linguagem natural;
• Analisar e aplicar os padrões lingüísticos
3. Ferramenta PARADIGMA: Visão Geral definidos previamente, e classificar as
palavras nos seguintes tipos: classes, atributos,
A maioria das especificações de requisitos de operações e associações;
software é escrita em linguagem natural, e a partir • Exibir o texto de entrada, no momento de
destes documentos de especificação, são gerados os captura, para facilitar o rastreamento pelo
demais documentos necessários para o engenheiro de requisitos, para confirmar se a
desenvolvimento do software. A ferramenta ferramenta classificou as palavras nos tipos
PARADIGMA utiliza recursos do PLN em conjunto corretos;
com padrões lingüísticos identificados nos textos de • Alterar e excluir palavras que estão fora do
especificação de requisitos, permitindo a geração domínio da aplicação;
automatizada de modelos conceituais de classes • Vincular os atributos e operações às suas
utilizando a notação UML. classes respectivas;
A ferramenta PARADIGMA permite obter um • Gerar o modelo conceitual de classes
modelo conceitual de classes através de processo automaticamente, com base nos dados
“manual”, automatizado ou híbrido. No processo capturados pela ferramenta;
manual, o engenheiro de requisitos deverá desenhar o • Alterar e/ou adicionar classes, atributos e
modelo de classes da forma tradicional, identificando operações no modelo de classes gerado;
as classes, atributos, operações e associações através • Adicionar associações entre as classes;
do método heurístico. • Excluir classes, atributos, operações e
No processo automatizado, a ferramenta recebe associações do modelo de classes;
como entrada um texto em linguagem natural. Esse • Adicionar o relacionamento de generalização,
texto pode ser um conjunto de requisitos especificados, caso necessário. Vale ressaltar, que a
cenários de casos de uso ou documentos resultantes das ferramenta não identifica automaticamente
técnicas utilizadas no processo de elicitação de esse tipo de relacionamento, mas dá suporte
requisitos. O texto de entrada é formatado no padrão para a modelagem manual;
exigido pelo etiquetador de texto MXPOST [11]. O • Alterar as multiplicidades das associações;
etiquetador recebe o texto formatado como entrada e • Salvar/Abrir o modelo de classe conceitual
gera um arquivo contendo as marcações das palavras. gerado pela ferramenta;
Essas marcações identificam as palavras em categorias • Organizar o modelo de classes graficamente,
morfossintáticas. através do recurso de arrastar e soltar.
São aplicados os padrões lingüísticos (apresentados
na subseção 3.2) no arquivo contendo as marcações, 3.1. Arquitetura da Ferramenta
através desses padrões cada palavra é classificada nos
tipos: classe, atributo e operação. As associações entre A arquitetura da ferramenta PARADIGMA é
as classes e respectivas multiplicidades são apresentada na Figura 1. Nessa visão de alto nível são
identificadas de acordo com a relação existente entre as apresentados os módulos principais da ferramenta, que
palavras candidatas a classe no texto de entrada. Após englobam os textos em linguagem natural, a
a identificação de todos os elementos que compõem o etiquetagem desse texto, a aplicação dos padrões
modelo de classes, este é gerado de forma lingüísticos no arquivo contendo as palavras com as
automatizada. O engenheiro de requisitos deverá marcações, a interação do engenheiro de requisitos no
interagir no processo automatizado para vincular os ambiente visual e a geração do modelo conceitual de
atributos e operações às respectivas classes. classes como artefato de saída.
No processo híbrido, ocorre a geração automatizada Os textos de entrada devem estar no padrão ASCII,
do modelo de classes, conforme descrito acima, e o para que o etiquetador de texto possa gerar um arquivo

142
11th. Workshop on Requirements Engineering

similar com as marcações necessárias nas palavras. Os elementos, ou seja, palavras dentro de uma frase. Esse
textos em linguagem natural devem ser ajustados no mapeamento tomará como base a classificação
formato exigido pelo etiquetador. Esse formato requer gramatical (classificação sintática) de cada palavra e
que cada palavra, símbolo e pontuação do texto seu posicionamento dentro da frase. De acordo com os
estejam separados por um espaço em branco. padrões lingüísticos, define-se que tratamento será
dado àquela palavra. Se ela é candidata a ser uma
classe, atributo, operação ou se deveremos
simplesmente desprezá-la.
A proposta original era permitir que o engenheiro de
requisitos pudesse configurar seus próprios padrões
lingüísticos, permitindo que a ferramenta se adequasse
à forma de escrita de cada indivíduo. Com as
definições de alguns padrões lingüísticos básicos,
percebeu-se que uma série de fatores influencia no
resultado final, tais como:
• Prioridade de aplicação dos padrões
lingüísticos;
• Ambigüidade produzida por padrões
lingüísticos definidos de forma equivocada;
• Nível de conhecimento do engenheiro de
requisitos em relação à classificação
gramatical das palavras na Língua Portuguesa.
Com base nessas constatações, alterou-se a
Figura 1 – Arquitetura da ferramenta PARADIGMA
proposta, de forma que continuasse utilizando os
O etiquetador de texto realiza a etiquetagem padrões lingüísticos, em um formato diferente, onde o
morfossintática no texto de entrada já formatado. Essa engenheiro de requisitos não teria a liberdade de
etiquetagem é feita com base na definição de um configurá-los, mas a ferramenta traria um conjunto pré-
conjunto finito de etiquetas (tags) e essas etiquetas definido de padrões.
devem ter significados lingüísticos associados a elas. O Tabela 1 – Definições de padrões lingüísticos adotadas na ferramenta
etiquetador utilizado na ferramenta é o MXPOST e o PARADIGMA
Regra Padrões Lingüísticos Candidato à Priorida
artefato de saída do etiquetador é um arquivo no
de
padrão ASCII contendo o texto de entrada devidamente
etiquetado. [Conjunção OU Dois
Pontos OU Vírgula]
Os padrões lingüísticos são o diferencial da E
ferramenta PARADIGMA, através deles é possível [Substantivo
E
aproximar os modelos de classes gerados de maneira [Preposição+ Artigo OU
automatizada dos modelos criados por modelador R-01 Preposição] Atributo 01
E
humano. Substantivo]
O ambiente de modelagem gráfica, ou interface E
gráfica, permite a interação do engenheiro de requisitos [Conjunção OU Vírgula OU
Ponto OU Preposição +
de maneira amigável e intuitiva com o modelo de Artigo]
classes gerado pela ferramenta, sendo possíveis os [Conjunção OU Dois
Pontos OU Vírgula]
ajustes necessários ao modelo. Como artefato de saída E
temos o modelo conceitual de classes gerado a partir R-02 [Nome Próprio OU Atributo 02
dos textos em linguagem natural e ajustados pelo Substantivo]
E
engenheiro de requisitos. [Conjunção OU Vírgula OU
Ponto OU Preposição +
Artigo]
3.2. Padrões Linguísticos Pré-definidos Verbo
E
Artigo
A ferramenta PARADIGMA não é capaz de realizar R-03 E Operação 03
a análise semântica das frases, para suprir essa tarefa [Substantivo OU Nome
Próprio]
foram definidos padrões lingüísticos. Os padrões Substantivo Classe com
lingüísticos nada mais são do que os mapeamentos dos E nome

143
11th. Workshop on Requirements Engineering

R-04 Adjetivo composto 04 A experimentação da ferramenta PARADIGMA


R-05 Substantivo Classe 05 demonstrou-se uma atividade de suma importância.
R-06 Palavras: um, uma (artigo Multiplicidade 1 06 Através dessa atividade, procuramos identificar se a
indefinido). ferramenta atingiu o objetivo proposto de auxiliar o
R-07 Palavras: muitos, muitas, Multiplicidade * 07
vários, várias, bastante, engenheiro de requisitos, através da geração do modelo
pelos, pelas. conceitual de classes a partir dos requisitos em
R-08 Classes que estão dentro Associação 08
da frase terminada por linguagem natural. Foi possível mensurar, de forma
[Ponto] ou [Ponto e Vírgula] preliminar, qual a efetiva contribuição da ferramenta no
contexto da Engenharia de Requisitos.
A definição desses padrões não é uma tarefa trivial,
foram analisados vários textos em linguagem natural, 4.1. Participantes
para que fossem identificados alguns padrões
lingüísticos. Algumas palavras atendem mais que uma Participaram do experimento dois engenheiros de
regra, sendo necessária a definição de prioridades na requisitos com experiência acadêmica e dois
aplicação dos padrões. A Tabela 1 apresenta a lista de engenheiros de requisitos que atuam no mercado de
padrões lingüísticos pré-definidos na sua ordem de trabalho há mais de 3 anos. Os participantes deveriam
prioridade. seguir um cenário de utilização, onde constava a
A simples aplicação dos padrões listados na Tabela descrição funcional do software, as atividades a serem
1 não foi suficiente para identificar os elementos do realizadas durante a experimentação, o questionário
modelo de classes, pois se perceberam os seguintes para avaliar a usabilidade da ferramenta e um espaço
problemas: para sugestões de melhorias da ferramenta.
• Os textos de entrada em linguagem natural
não poderiam conter acentuações, pois a 4.2. Cenário de Utilização
utilização do modelo conceitual para uma
futura implementação apresentaria problemas; Os participantes receberam um roteiro para
• Identificação da mesma classe, atributo e/ou realização do cenário contendo todos os passos
operação com nomes distintos quando se necessários para o processo de experimentação. A
tratava de palavras no plural e singular; descrição funcional em linguagem natural, utilizada no
• O vínculo automático das classes com seus cenário de utilização, foi referente a um software para
respectivos atributos e operações funcionou locação e venda de CDs em uma Mega Store.
de maneira ineficiente. Utilizando essa descrição funcional, os participantes
deveriam elaborar o modelo conceitual de classes da
Os problemas identificados no processo de forma convencional, e desenhar esse modelo em uma
utilização dos padrões lingüísticos foram solucionados ferramenta CASE de sua preferência (as ferramentas
da seguinte forma: utilizadas foram JUDE e Enterprise Architect).
• Eliminação da acentuação em todas as O procedimento de modelagem conceitual de
palavras do texto em linguagem natural; classes, de maneira manual, foi cronometrado. A
• No processo de classificação das palavras em orientação é que essa atividade não sofresse
classe, atributo e/ou operação, deve ser interrupção, caso houvesse interrupção, os
validado se essa palavra não está classificada participantes deveriam anotar todos os tempos
para um dos tipos (classe, atributo, operação) envolvidos na modelagem para que pudéssemos chegar
no singular ou plural; a um tempo total final.
• Não vinculamos os atributos e operações de O próximo passo da experimentação foi gerar o
forma automática no modelo, permitindo que modelo conceitual de classes com o auxílio da
o engenheiro de requisitos realize essa tarefa ferramenta PARADIGMA. Caso o modelo gerado de
através do processo manual de arrastar e forma automática pela ferramenta apresentasse alguma
soltar. Os atributos e operações são divergência do modelo desenvolvido pelo participante,
identificados e ficam à disposição do este deveria realizar os ajustes necessários para chegar
engenheiro de requisitos para uso. ao modelo que ele considerasse “correto”. Essa
atividade também foi cronometrada.
4. Experimentação da Ferramenta Depois da realização das atividades de modelagem
conceitual de classes manualmente e com a ajuda da
ferramenta (automatizada), os participantes

144
11th. Workshop on Requirements Engineering

responderam um questionário referente à utilização da ferramenta identificou atributos e operações. Quanto


ferramenta e caso desejassem, indicando (em alguns aos relacionamentos, nenhum dos identificados por P1
casos) melhorias necessárias na ferramenta coincidiram com os identificados pela ferramenta.
PARADIGMA através do item sugestões.
Utilizou-se os resultados obtidos através da 20

aplicação deste cenário de utilização para a realização 18

das seguintes avaliações: 16

14
• Comparar o modelo conceitual de classes 12
SOMENTE PARADIGMA
gerado pelo engenheiro de requisitos com o 10 SOMENTE PARTICIPANTE 1
AMBOS
modelo conceitual de classes gerado 8

6
automaticamente pela ferramenta 4
PARADIGMA; 2

• Avaliar a relevância da ferramenta no 0

contexto da Engenharia de Requisitos.

S
ES
S

TO

TO
SE

ÇÕ

EN
BU
AS

RA
RI

AM
CL

AT

PE

N
O
O

CI
5. Resultados da Experimentação

LA
RE
Figura 2 – Gráfico comparativo entre o modelo do P1 e o da ferramenta
Todos os participantes utilizaram a mesma
descrição funcional de software para realizar a Na Figura 3, é apresentado o comparativo entre o
atividade de modelagem conceitual de classes. Esses modelo gerado por P2 com o modelo gerado pela
modelos de classes foram criados de forma ferramenta. Foram identificadas 25 classes, das quais
convencional, sem o auxílio da ferramenta 19 classes foram identificadas somente pela ferramenta,
PARADIGMA. e 6 classes foram identificadas por ambos. Nesse caso,
Durante a exposição e análise dos resultados os 100% das classes do modelo gerado por P2 foram
participantes são identificados como Participante 1 contempladas pelo modelo gerado automaticamente.
(P1), Participante 2 (P2), Participante 3 (P3) e Foram identificados 20 atributos, nos quais 4 atributos
Participante 4 (P4). foram identificados somente pela ferramenta; 15
atributos foram identificados somente por P2 e 1
5.1. Comparativo entre os modelos dos atributo foi identificado por ambos. Foram
participantes e da ferramenta identificados 6 operações pela ferramenta e 1 operação
por P2, não havendo operações identificadas por
Os modelos de classes gerados pelos participantes ambos. Quanto aos relacionamentos, somente 1 foi
apresentam diferenças significativas entre si, o que nos identificado por ambos, 17 somente pela ferramenta e 6
levou a realizar um comparativo para cada participante. somente por P2.
Compararam-se os modelos gerados pelos Na Figura 4, é apresentado o comparativo entre o
participantes, com o modelo gerado automaticamente modelo gerado por P3 com o modelo gerado pela
pela ferramenta PARADIGMA. Nesse comparativo, ferramenta. Foram identificadas 30 classes, das quais
consideraram-se os seguintes elementos do modelo: 16 classes foram identificadas somente pela
classes, atributos, operações e relacionamentos. Foram ferramenta; 5 classes foram identificadas somente por
totalizados os elementos identificados somente pela P3 e 9 classes foram identificadas por ambos. Nesse
ferramenta, somente pelo participante e os comparativo, 64% das classes identificadas por P3
identificados tanto pelo participante quanto pela foram contempladas pelo modelo gerado pela
ferramenta. ferramenta. Foram identificados 57 atributos, dos quais
Na Figura 2, visualizamos o comparativo entre o 5 atributos foram identificados somente pela
modelo gerado pelo P1 com o modelo gerado pela ferramenta; 52 atributos foram identificados somente
ferramenta. Foram identificadas 33 classes, das quais por P3, e não houve atributos identificados por ambos.
16 foram identificadas somente pela ferramenta, 8 O P3 não identificou as operações, somente a
foram identificadas somente pelo P1 e 9 classes foram ferramenta identificou 6 operações. Quanto aos
identificadas por ambos, ou seja, 53% das classes do relacionamentos, 4 foram identificados por ambos, 14
modelo gerado pelo P1 foram contempladas no modelo somente pela ferramenta e 13 somente por P3.
gerado pela ferramenta. Os atributos e operações não
foram considerados pelo P1, não existindo base para a
comparação entre os modelos, pois somente a

145
11th. Workshop on Requirements Engineering

20

18

16
5.2. Definição do Modelo Conceitual de Classes
14 Padrão
12
SOMENTE PARADIGMA
10 SOMENTE PARTICIPANTE 2

8
AMBOS
Os modelos conceituais de classes gerados pelos
6

4
participantes apresentaram diferenças significativas
2 entre si. Alguns adicionaram detalhes a mais, outros
0
geraram modelos mais gerais, subtraindo detalhes
S

S
ES
S

importantes. A descrição funcional pode ter


TO

TO
SE

ÇÕ

N
U
AS

IB

E
A

AM
CL

ER
AT

influenciado, pois não trazia muitas informações


N
P

IO
O

C
A
EL

referentes aos atributos e operações, fazendo com que


R

Figura 3 – Gráfico comparativo entre o modelo do P2 e o da ferramenta


os participantes focassem mais na identificação das
classes e dos relacionamentos.
60
Para a realização de um comparativo com o modelo
50
conceitual de classes gerado pela ferramenta, foi criado
40

SOMENTE PARADIGMA
um modelo PADRÃO, construído a partir dos
30 SOMENTE PARTICIPANTE 3 elementos que foram identificados em pelo menos 75%
AMBOS

20 dos modelos dos participantes. Como a ênfase maior


10
dos participantes foi para a identificação das classes,
foram levados em consideração as classes e os
0
relacionamentos.
S

S
ES
S

TO

TO
SE

ÇÕ

Foram identificadas 27 classes, considerando todos


N
U
AS

IB

E
A

AM
CL

ER
AT

N
P

IO
O

os modelos gerados manualmente pelos participantes, e


C
A
EL
R

Figura 4 – Gráfico comparativo entre o modelo do P3 e o da ferramenta dessas apenas duas apresentaram ambigüidade em sua
identificação (essas classes foram COMPRA e
Na Figura 5, é apresentado o comparativo entre o VENDA). 50% dos participantes identificaram a classe
modelo gerado por P4 com o modelo gerado pela COMPRA referindo-se à visão do cliente realizando o
ferramenta. Foram identificadas 25 classes, das quais ato de comprar CDs na loja, e os outros 50% dos
21 foram identificadas somente pela ferramenta, 4 participantes identificaram a classe VENDA referindo-
classes foram identificadas por ambos. Nesse caso, se à visão da loja realizando o ato de vender CDs. Para
100% das classes identificadas por P4 foram a definição do modelo conceitual de classes padrão,
contempladas pelo modelo gerado pela ferramenta consideramos a classe VENDA/COMPRA como única
PARADIGMA. Foram identificados 13 atributos, onde (definida como VENDA), totalizando então 26 classes
8 atributos foram identificados somente por P4 e 5 identificadas por todos os participantes.
foram identificados por ambos. Foram identificados 6
operações pela ferramenta e 1 operação por P4, não
havendo operações identificadas por ambos. Quanto
aos relacionamentos, 18 deles foram identificados
somente pela ferramenta e 4 somente por P4, não
havendo relacionamentos identificados por ambos.

25

20

15
SOMENTE PARADIGMA
SOMENTE PARTICIPANTE 4
AMBOS
10

0
S

S
ES
S

TO

TO
SE

ÇÕ

N
U
AS

IB

E
A

AM
CL

ER
AT

N
P

IO
O

C
A
EL
R

Figura 6 – Modelo Conceitual de Classes PADRÃO


Figura 5 – Gráfico comparativo entre o modelo do P4 e o da ferramenta

146
11th. Workshop on Requirements Engineering

O modelo conceitual de classes PADRÃO é


apresentado na figura 6. A partir do modelo de classes 5.3. Avaliação da Usabilidade da Ferramenta
padrão, realizou-se o comparativo com o modelo
conceitual de classes gerado pela ferramenta Através do cenário de utilização, os participantes
PARADIGMA, da mesma forma que foram puderam avaliar algumas características da ferramenta
comparados os modelos dos participantes PARADIGMA para indicar o grau de concordância
individualmente. A Figura 7 apresenta o diagrama de quanto à sua facilidade de uso. Essa avaliação foi feita
classes gerado automaticamente pela ferramenta e a através de um questionário que utilizou a escala de
Figura 8 traz o resultado da comparação, onde foram Likert de 5 pontos. Para a análise dos resultados foi
identificadas 25 classes, considerando os dois modelos utilizada uma abordagem quantitativa para mensurar o
de classes, o padrão e o gerado pela ferramenta grau de concordância dos participantes referente à
PARADIGMA. pesquisa realizada. Utilizamos os seguintes pesos para
cada ponto da escala: Concordo Completamente (5),
Concordo (4), Indiferente (3), Discordo (2), Discordo
Completamente (1).

Tabela 2 – Questionário de avaliação de usabilidade da ferramenta

Figura 7 – Modelo Conceitual de Classes gerado pela farramenta

Constatou-se que 100% das classes do modelo A Tabela 2 apresenta os resultados do questionário
conceitual de classes PADRÃO foram identificadas no e as respectivas médias ponderadas por questão e a
modelo conceitual de classes gerado pela ferramenta. A média geral. A média ponderada foi feita utilizando a
ferramenta identificou 20 classes a mais do que as seguinte fórmula: MP = [(Peso x Quantidade de
apresentadas no modelo PADRÃO. Quanto aos Resposta)/Total de Participantes]. Os resultados
relacionamentos, foram identificados 23, dos quais 17 maiores que 3 foram considerados concordantes, os
somente pela ferramenta PARADIGMA, 5 somente no menores que 3 foram considerados discordantes e os
modelo PADRÃO e 1 relacionamento nos dois iguais a 3 foram considerados indiferentes.
modelos.
25
6. Análise e Discussão dos Resultados
20
No cenário de utilização proposto para a
15
experimentação da ferramenta, buscou-se fazer uma
SOMENTE PARADIGMA
SOMENTE PADRÃO
avaliação da ferramenta PARADIGMA para uso no
10
AMBOS
contexto da Engenharia de Requisitos. Os resultados da
experimentação foram de grande valia para a
5 descoberta de alguns desafios pertinentes à utilização
do processamento de linguagem natural para a Língua
0
CLASSES RELACIONAMENTOS
Portuguesa, algumas propostas de trabalhos futuros e
algumas melhorias na ferramenta PARADIGMA.
Figura 8 – Gráfico comparativo entre o modelo PADRÃO e o gerado pela
ferramenta PARADIGMA.

147
11th. Workshop on Requirements Engineering

Percebeu-se que os padrões lingüísticos auxiliaram das classes que compunham o modelo PADRÃO. Nas
de forma efetiva na descoberta dos elementos do comparações individuais, obtivemos um bom índice de
modelo conceitual de classes a partir de textos em identificação de classes pela ferramenta, iguais as
linguagem natural, tornando-se um diferencial frente às identificadas pelos participantes. O modelo que
ferramentas que se propõem a realizar atividades apresentou o pior índice foi de 53%, sendo que 50%
similares às realizadas pela ferramenta PARADIGMA. dos participantes tiveram 100% das suas classes
Constatou-se, após uma bateria de testes, que a identificadas automaticamente pela ferramenta. O que
identificação dos elementos do modelo conceitual de ocorreu em todos os casos é que a ferramenta
classes com a aplicação dos padrões lingüísticos identificou elementos adicionais, os quais tiveram de
ocorreu com um índice maior de acertos quando o texto ser excluídos pelo participante no ajuste do modelo de
em linguagem natural está escrito na voz ativa, com classes definido como “correto” para ele.
redução da utilização de sujeito oculto nas orações. Os atributos e operações atingiram um índice baixo
Percebeu-se que algumas palavras que não fazem de aproveitamento devido aos resultados apresentados
parte do domínio da aplicação são identificadas como pelos participantes. Em alguns momentos foram
classes, atributos ou operações, demandando esforço apresentados atributos e operações que não constavam
por parte do engenheiro de requisitos para remoção na descrição funcional, caso impossível da ferramenta
desses elementos. Nos trabalhos futuros pode-se avaliar identificar. Em outros momentos, atributos
a possibilidade da ferramenta trabalhar em conjunto apresentados na descrição funcional foram
com uma base de conhecimento, onde pudessem ser simplesmente ignorados, ou seja, a ferramenta
catalogadas palavras do domínio da aplicação e/ou identificou mas o participante não.
algumas palavras padrões que devam ser Quanto aos relacionamentos, são necessárias
desconsideradas, mesmo havendo ocorrência no texto melhorias na especificação dos padrões lingüísticos
em linguagem natural. Outro item importante é a para identificá-los de forma mais eficiente. Atualmente,
possibilidade de desprezar parte do texto no momento o escopo da definição de um relacionamento está
de realizar as identificações dos elementos. restrito a uma frase terminada por ponto ou ponto e
Outro aspecto importante percebido nos resultados vírgula.
da experimentação foi sobre a questão da ambigüidade. Os resultados referentes ao tempo gasto para ajustar
A ambigüidade pode ocorrer em vários momentos e o modelo gerado pela ferramenta e o questionário para
por várias razões. Ficou evidente a existência da avaliar a facilidade de uso da ferramenta, foram obtidos
ambigüidade na criação do modelo conceitual de através da utilização da ferramenta pelos participantes,
classes dos participantes. Quais elementos devem ser sem nenhuma forma de treinamento. Os participantes
modelados em um modelo conceitual de classes ? baixaram a ferramenta em um link na internet e
Depende do que se quer mostrar, neste experimento realizaram as atividades de acordo com roteiro de
cada participante teve uma interpretação diferente de utilização e o arquivo de ajuda.
quais elementos deveriam adicionar nesse modelo. Após a criação do modelo conceitual de classes de
Alguns desconsideraram os atributos e operações, forma convencional e o ajuste do modelo gerado
outros adicionaram atributos e operações que não automaticamente pela ferramenta, o tempo utilizado
apareciam na descrição funcional. Alguns identificaram para cada uma dessas atividades foi anotado. Percebeu-
os atributos e operações, mas deixaram de considerar se que somente um dos participantes demorou mais
alguns atributos que estavam evidentes na descrição tempo no processo de ajuste do modelo gerado pela
funcional. Quando simplesmente dizemos modelo ferramenta do que na atividade de criar o modelo da
conceitual de classes, abrimos margem para algo muito forma convencional.
abrangente, no qual cada engenheiro de requisitos pode Quanto ao questionário, o posicionamento, ou o
modelar com mais ou menos detalhes, e foi justamente grau de concordância dos participantes em relação às
o que ocorreu no processo de experimentação da afirmativas apresentadas foi de 3,75. O significado
ferramenta. Mesmo com um número pequeno de disto é que, em regra geral, os participantes
participantes conseguimos modelos bem diferentes. concordaram com as afirmativas que avaliaram a
Essa diferença nos modelos criados pelos intuitividade da ferramenta, facilidade de uso sem o
participantes nos mostra o quão desafiador é auxílio da ajuda, auxílio satisfatório ao engenheiro de
desenvolver uma ferramenta que gere um modelo requisitos, recursos suficientes para gerar o modelo
conceitual de classes automaticamente e atenda às conceitual de classes utilizando a linguagem UML.
expectativas de cada engenheiro de requisitos. Ficou As observações dos participantes foram sempre em
evidente que a ferramenta conseguiu identificar 100% relação à grande quantidade de elementos identificados

148
11th. Workshop on Requirements Engineering

pela ferramenta, principalmente os elementos que estão de sequência. Fica evidente a necessidade de pesquisas
fora do domínio da aplicação. Devemos ponderar o que para atender aos aspectos dinâmicos dos sistemas em
é menos trabalhoso no momento de gerar um modelo desenvolvimento, a maioria das ferramentas se
conceitual de classes. Identificar e adicionar uma classe especializou-se em atender a visão estática.
manualmente ou eliminar as classes que não fazem Na Tabela 4 são analisadas as ferramentas que
parte do contexto? Como no cenário de utilização não geram o diagrama de classes como saída e os
se previu uma atividade para realizar essa ponderação, repectivos métodos utilizados para chegar a esse
não temos base para afirmar qual é menos onerosa. diagrama.
A ferramenta LIDA exige uma grande interação do
7. Trabalhos Correlatos engenheiro de requisitos em todo o processo de
definição do diagrama de classes. As demais
Vários estudos têm proposto recentemente a ferramentas realizam boa parte do processo de forma
utilização de ferramentas lingüísticas para suporte à automatizada, permitindo a interação do engenheiro de
Engenharia de Requisitos [4][6][7][8][10]. Existem requisitos após a geração do diagrama de classes
duas razões principais para que isso ocorra. Primeiro, o inicial.
progresso feito na área de PLN. Segundo, a A ferramenta PARADIGMA permite a geração
necessidade de prover aos engenheiros de requisitos automatizada do diagrama de classes, aplicando as
ferramentas que dêem suporte aos estágios iniciais do regras identificadas em estruturas comuns de escrita
ciclo de vida do software [9]. dos requisitos em linguagem natural, para a Língua
O estudo comparativo entre as ferramentas NL- Portuguesa, os quais chamamos de padrões
OOPS, DIPETT-HAIKU, CM-BUILDER, LIDA RCR lingüísticos. Foram identificados oito regras para
e GOOAL apresentado nas Tabelas 3, 4 e 5 foi identificação de classes, atributos, operações,
realizado por [7]. O código-fonte ou versões funcionais relacionamentos e multiplicidades (conforme
das ferramentas não foram analisadas diretamente, por apresentado na Subseção 3.2). Após essa identificação
razões diversas. O quadro comparativo obtido foi inicial, o engenheiro de requisitos poderá interagir com
produzido com base nos artigos escritos e publicados o diagrama realizando os ajustes necessários, utilizando
pelos autores [7]. a edição gráfica da própria ferramenta PARADIGMA.
A partir do estudo comparativo realizado por [7],
Tabela 4 – Identificando classes utilizando PLN
adicionou-se a ferramenta PARADIGMA. Esse estudo PARADIGMA CM- LIDA GOOAL
abrangeu ferramentas desenvolvidas em projetos que BUILDER

propõem a utilização do PLN, em que as ferramentas Candidato à R-04/R-05 Substantivo Engenheiro Substantivo
Classe [Padrões de
recebem como entrada textos em linguagem natural, e Lingüísticos] Requisitos
geram diagramas que dão suporte ao paradigma OO. Identificando
Classes
Palavras
atendem a R-
que Freqüência
do
Engenheiro
de
Técnica de
análise
Na Tabela 3 são apresentados os tipos de diagramas 04/R-05 na substantivo Requisitos linguistica
ordem de no texto
que cada ferramenta gera como saída. prioridade
Identificando R-08 [Padrões Sujeito/ Engenheiro Linguagem
Associações Lingüísticos] Verbo/ de Natural
Tabela 3 – Modelagem OO automática utilizando PLN Objeto Requisitos semi-
LISTA DE FERRAMENTAS estruturada
1. PARADIGMA Multiplicidade R-06/R-07 Utiliza os Engenheiro Não
2. NL-OOPS [Padrões determinante de
3. DIPETT-HAIKU Lingüísticos] s indefinidos, Requisitos
4. CM-BUILDER artigos
5. LIDA indefinidos
6. RECORD ou artigos
7. GOOAL definidos
Ferramentas 1 2 3 4 5 6 7 com
Tipo de substantivo
Diagrama no singular
Casos de Não Não Não Não Não Sim Não Identificando R-01/R-02 Sim Engenheiro Sim
Atributos [Padrões de
Uso
Lingüísticos] Requisitos
Classes Sim Não Não Sim Sim Não Sim Identificando R-03 [Padrões Não Engenheiro Sim
Objetos Não Sim Sim Não Sim Sim Não Operações Lingüísticos] de
Seqüência Não Não Não Não Não Não Sim Requisitos
Atividade Não Não Não Não Não Não Não

A ferramenta CM-BUILDER basea-se na freqüência


Os diagramas que a maioria das ferramentas geram
com que cada substantivo aparece no texto para
são os diagramas de classes e objetos. O diagrama de
selecionar as palavras candidatas às classes. Resumem
casos de uso é provido somente pela ferramenta
em 10 passos, o processo necessário, para partir dos
RECORD, e GOOAL é a única que provê o diagrama
textos já etiquetados até o diagrama de classes (geração

149
11th. Workshop on Requirements Engineering

automatizada). Esse diagrama inicial é gerado em um 8. Conclusão


formato que permite a importação para uma ferramenta
CASE, de tal forma que o engenheiro de requisitos A ferramenta apresentada neste artigo auxilia o
possa interagir com o diagrama gerado [4]. engenheiro de requisitos nas atividades de elicitação e
A ferramenta GOOAL utiliza uma linguagem modelagem de requisitos, utilizando os recursos de
natural semi-estruturada. As descrições dos requisitos PLN, mais especificamente os etiquetadores
em linguagem são traduzidas para a linguagem semi- morfossintáticos. A ferramenta PARADIGMA utiliza
estruturada 4W, a partir dessa linguagem, a ferramenta as marcações adicionadas nos textos em linguagem
identifica os elementos do diagrama. O engenheiro de natural pelos etiquetadores, em conjunto com os
requisitos pode interagir nos modelos gerados para padrões lingüísticos pré-definidos, para identificar as
realizar as correções necessárias. classes, atributos, operações, associações e
As ferramentas capazes de identificar os multiplicidades, gerando automaticamente um modelo
relacionamentos entre as classes de forma automática conceitual de classes (atendendo ao padrão UML).
são: PARADIGMA, CM-BUILDER e a GOOAL. Na A experimentação da ferramenta PARADIGMA foi
Tabela 5, são apresentados os tipos de relacionamentos realizada por professores e profissionais da área de
que cada ferramenta é capaz de identificar Engenharia de Requisitos, os resultados trouxeram
automaticamente. informações relevantes sobre a ferramenta, das quais
A associação e suas multiplicidades são podemos destacar:
identificadas por todas as ferramentas. A agregação é • A ferramenta apresentou um bom desempenho
identificada somente pela ferramenta CM-BUILDER. na identificação das classes. Os percentuais de
A composição, generalização e dependência não são classes identificadas pela ferramenta que
identificadas automaticamente por nenhuma das coincidiram com as classes criadas pelos
ferramentas. participantes variaram de 53% a 100%. O
Os relacionamentos estão diretamente ligados ao modelo conceitual de classes padrão, que foi
estilo de escrita em linguagem natural. Para a correta criado a partir dos modelos gerados pelos
identificação dos relacionamentos de agregação, participantes, teve 100% de suas classes
composição, generalização e dependência, deveriam atendidas pela ferramenta PARADIGMA.
ser seguidos alguns padrões estruturados de escrita. • O método adotado para identificar as
Alguns padrões de escrita que permitem facilmente associações se mostrou pouco eficiente,
a identificação de alguns relacionamentos são: demandando melhorias futuras.
• Agregação: “... pertence a...”
• Generalização: “... é um tipo de...” Os resultados mostraram que a ferramenta
• Composição: “... é parte de...” PARADIGMA é intuitiva e cumpriu eficazmente seu
• Dependência: “... utiliza...” ou “... depende papel no processo de identificação de elementos
de...” conceituais do domínio da aplicação, auxiliando o
Como os textos de entrada em linguagem natural engenheiro de requisitos durante a elicitação e
não são descritos seguindo essas regras de padrões modelagem de requisitos, que são atividades
estruturados, a identificação desses tipos de fundamentais do ciclo de vida do software. A
relacionamentos acaba sendo realizada pela ferramenta libera o engenheiro de requisitos de boa
intervenção do engenheiro de requisitos. A ferramenta parte da atividade de modelagem, possibilitando que
PARADIGMA permite representar no modelo este dedique mais tempo e esforço nas atividades de
conceitual de classes, na forma gráfica, somente os elicitação e análise dos requisitos. Os primeiros
seguintes tipos de relacionamentos: associação e modelos conceituais de classes, tipicamente obtidos a
generalização. partir dos textos resultantes de entrevistas e outras
técnicas de elicitação, podem ser gerados
Tabela 5 – Identificando relacionamentos entre classes utilizando PLN automaticamente pela ferramenta, precisando o
PARADIGMA CM- GOOAL
BUILDER
engenheiro de requisitos fazer apenas alguns ajustes no
Associação Sim Sim Sim modelo gerado.
Multiplicidade na Simples/ Simples/ Simples/ Como trabalhos futuros identificou-se a necessidade
Associação Múltipla Múltipla específica de explorar os diagramas dinâmicos da UML, pois a
Agregação Não Sim Não
Composição Não Não Não maioria das ferramentas de geração automática de
Generalização Não Não Não modelos está focada nos diagramas que representam a
Dependência Não Não Não estrutura estática do sistema. Também se faz necessária

150
11th. Workshop on Requirements Engineering

a utilização de uma base de conhecimentos em


conjunto com a ferramenta, para facilitar a [5] KOTONYA, G.; SOMMERVILLE, I. “Requirements
identificação das palavras que fazem parte do domínio Engineering: process and techniques”, New York: John
Wiley & Sons Ltda, 1998.
da aplicação, bem como a implementação de uma stop
list, ou seja, termos do domínio da aplicação ou da [6] LI, K., DEWAR, R.G., POOLEY, R.J. “Requirements
Língua em geral, que não devem ser considerados no capture in natural language problem statements”, Technical
modelo. Outros aspectos que devem ser trabalhados no Report HW-MACS-TR-0023, Heriot-Watt University,
futuro envolvem a busca de soluções para aumento de Edinburgh, Scotland, UK, 2004.
eficiência na identificação dos relacionamentos,
permitindo assim a identificação dos tipos [7] LI, K., DEWAR, R.G., POOLEY, R.J. “Object-oriented
generalização, agregação e composição; e a Analysis Using Natural Language Processing”, Technical
comunicação com outras ferramentas CASE que Report HW-MACS-TR-0033, Heriot-Watt University
Edinburgh, Scotland, UK, 2005.
atendem às demais fases do ciclo de vida do software.
[8] LIU, D., SUBRAMANIAM, K., EBERLEIN, A., FAR,
Referências B.H. “Natural Language Requirements Analysis and Class
Model Generation Using UCDA”, Springer, 2004.
[1] AIRES, Rachel V.X. “Implementação, adaptação,
combinação e avaliação de etiquetadores para o português do [9] MICH, L., FRANCH, M. and NOVI INVERARDI, P.
Brasil”, 2000. 154 f. Dissertação de mestrado – Instituto de “Requirements Analysis using Linguistic Tools: Results of
Ciências Matemáticas de São Carlos, Universidade de São an On-line Survey”. Technical Report 66, Department of
Paulo, São Carlos, 2000. Computer and Management Sciences, 2003.

[2] ALLEN, James, “Natural Language Understanding”. The [10] OVERMYER, S.; LAVOIE, B.; and RAMBOW, O.
Benjamin/Cummings Publishing Company Inc, 1995. “Conceptual Modeling through Linguistic Analysis Using
LIDA”. In Proceedings of 23rd International Conference on
[3] DAVIS, A.M., HICKEY, A.M. “Elicitation Technique Software Engineering (ICSE 2001), Toronto, Canada, 2001.
Selection: How Do Experts Do It”, Proceedings of the 11th
International Requirements Engineering Conference, IEEE [11] RATNAPARKHI, A., “A Maximum Entropy Part-Of-
Computer Society Press, 2003. Speech Tagger” Proceedings of the Empirical Methods in
Natural Language Processing Conference, University of
[4] HARMAIN, H.M., GAIZAUSKAS R. “CM-Builder: An Pennsylvania, 1996.
Automated NL-based CASE Tool”, In Proceedings of the
15th IEEE International Conference on Automated Software
Engineering (ASE'2000), 2000, p. 45-53.

151

Você também pode gostar