utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software,...

148
Pontifícia Universidade Católica de Minas Gerais Programa de Pós-Graduação em Engenharia Elétrica Utilização de metas e rastreabilidade baseada em léxico estendido para manipulação do conhecimento em uma pequena empresa. Fernando Corrêa de Mello Júnior Belo Horizonte 2007

Upload: others

Post on 30-Oct-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

Pontifícia Universidade Católica de Minas Gerais

Programa de Pós-Graduação em Engenharia Elétrica

Utilização de metas e rastreabilidade baseada em léxico

estendido para manipulação do conhecimento em uma pequena

empresa.

Fernando Corrêa de Mello Júnior

Belo Horizonte

2007

Page 2: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

3

Fernando Corrêa de Mello Júnior

Utilização de metas e rastreabilidade baseada em léxico

estendido para manipulação do conhecimento em uma pequena

empresa.

Dissertação de Mestrado apresentada no Programa de Pós-

graduação em Engenharia Elétrica, da Pontifícia

Universidade Católica de Minas Gerais, como parte dos

requisitos para obtenção do título de Mestre em Engenharia

Elétrica.

Orientador: Prof. Dr. Carlos Alberto Marques Pietrobon.

Belo Horizonte

2007

Page 3: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

4

Fernando Corrêa de Mello Júnior

Utilização de metas e rastreabilidade baseada em léxico estendido para manipulação do

conhecimento em uma pequena empresa.

Dissertação de Mestrado apresentada no Programa de Pós-graduação em Engenharia Elétrica,

da Pontifícia Universidade Católica de Minas Gerais, como parte dos requisitos para obtenção

do grau de Mestre em Engenharia Elétrica.

Belo Horizonte, 12 de março de 2007.

Prof. Dr. Carlos Alberto Marques Pietrobon (Orientador) – PUC Minas.

Prof. Dr. Arndt Von Staa – PUC Rio.

Prof. Dr. Carlos Augusto Paiva da Silva Martins – PUC Minas.

Prof. Dr. José Celso Borges de Andrade – PUC Minas.

Page 4: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

5

A meus pais, Maria de Lourdes e Fernando, mestres antes de todos os mestres.

À minha esposa, Renata, e às minhas filhas, Júlia e Daniela, sinais e

significados de minha vida.

Page 5: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

6

Agradecimentos

O final desta etapa de estudo não significa um fim, mas o começo de novas jornadas e

perspectivas. Portanto, consciente disso, expresso sinceros agradecimentos a muitos e tantos

adorados familiares e amigos que se revelaram ao longo desse tempo. Dessa forma, agradeço:

Ao meu orientador, Professor Dr. Carlos Alberto Marques Pietrobon, pelas

contribuições e pelo profissionalismo na condução desta pesquisa.

A Terezinha Nepomuceno, sou imensamente grato, pela gentileza e disponibilidade me

ensinando os tortuosos caminhos da língua portuguesa e pelas inúmeras leituras e correções

gramaticais deste trabalho.

A todos os pesquisadores da Pontifícia Universidade Católica de Minas Gerais por

compartilharem seus conhecimentos nos diálogos produtivos da sala de aula e pelo incentivo à

pesquisa e em especial, à colega Fabiana Costa Guedes.

Aos meus pais, pela sólida formação dada até minha juventude proporcionando-me a

continuidade dos estudos até o mestrado, meus eternos agradecimentos.

Aos meus companheiros da empresa onde trabalho, José Reinaldo, Gustavo, e Carlos,

pela cobertura, direta ou indireta, que me deram nessa longa travessia, assim como pela

confiança e compreensão.

Devo agradecer também à Renata, minha esposa, pelo incentivo e apoio na organização

técnica final deste trabalho.

Agradeço, afetuosamente, as minhas filhas, Júlia e Daniela, pelo carinho e dedicação e,

sobretudo, por compreenderem minhas ausências nas longas horas dedicadas à produção deste

trabalho.

Page 6: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

7

RESUMO

Para garantir a qualidade do produto final, durante o processo de desenvolvimento de um

software, faz-se necessária a manipulação de diversos tipos de conhecimento. Essa manipulação

envolve desde o conhecimento obtido junto ao usuário, a partir de suas necessidades, até o

conhecimento gerado pela equipe de desenvolvimento, por meio de atividades de conversão

dos requisitos em um produto executável. A manipulação adequada desse conhecimento além

de auxiliar na produção de software de maior qualidade, agiliza o ganho de experiência do

desenvolvedor. Entretanto, a obtenção e a distribuição desse conhecimento são problemáticas

devido à falta de ferramentas de captura e recuperação e de cultura. Portanto, o objetivo deste

estudo é fornecer subsídios para facilitar a captura e a recuperação do conhecimento relativo ao

desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de

requisitos. Este estudo propôs a implantação da modelagem de metas, como apoio à

transmissão do conhecimento entre o usuário e o engenheiro de software e, na modelagem de

um banco de conhecimento, a partir da rastreabilidade de requisitos baseada em léxico dos

conceitos relacionados ao desenvolvimento, com o objetivo de apoiar a equipe de responsáveis

pelo software. Desenvolveu-se uma ferramenta com o intuito de agilizar a comunicação e a

manipulação dos conhecimentos adquiridos a partir do uso de modelagem de metas e da

rastreabilidade de requisitos. Os resultados obtidos neste trabalho evidenciam que tanto a

modelagem de metas, quanto o formato da apresentação da rastreabilidade de requisitos ajudam

na comunicação entre os envolvidos durante o processo de desenvolvimento. A modelagem de

metas auxilia a manipulação do conhecimento junto ao usuário, principalmente, na fase de

elicitação e agiliza o ganho de experiência por parte do engenheiro de requisito. O formato da

rastreabilidade de requisitos baseada em léxico acelera o processo de pesquisa e se mostra

eficiente nas manipulações tanto histórica como técnica do conhecimento.

Palavras-Chave: Engenharia de Requisitos, Manipulação do Conhecimento, Modelagem de

Metas, Rastreabilidade de Requisitos, Léxico, Desenvolvimento de Software.

Page 7: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

8

ABSTRACT

In order to assure the final product quality, it is necessary the manipulation of a wide variety of

knowledge during the software development process. This manipulation embodies, since the

user’s knowledge acquisition during the requirement elicitation process, to the knowledge

created and assembled by the development team through their activities by turning the

requirements into an executable product. An appropriate use of this knowledge does not only

promote the improvement of the software quality production but also increases the experience

gained by the software developer. However, it is difficult to acquire and distribute this

knowledge due to the lack of capturing tools, recovery tools management and culture as well.

Therefore, this study aims to supply subsidies to facilitate the capture and the recovery of the

knowledge related to the software development process, based on the goal-oriented models,

lexical and requirements traceability. This study has proposed an implementation of a goal-

oriented model to give support on transferring the knowledge from the user to the software

engineer. It also, has carried out in the modeling of a knowledge data from requirements

traceability based on the lexical model in order to help the development team. It was developed

a tool with the purpose of improving both the communication and the knowledge manipulation

which were acquired through the goals-oriented models and requirements traceability. The

results of this work indicated that not only the goal-oriented model but also the presentation

format of the requirements traceability can help the communication among all the people

involved in the software development process. The goals-oriented model supports the

manipulation of the user's knowledge, especially in the elicitation phase, and it improves the

process of obtaining more of the experience acquired by the software requirement engineer.

The requirements traceability format based on the lexical model accelerates the research

process and it has shown effectiveness in the historical and technical knowledge manipulation.

Key-words: Requirements Engineering, Knowledge Manipulation, Goal-oriented Models,

Requirements Traceability, Lexical, Software Development.

Page 8: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

9

LISTA DE FIGURAS

Figura 1 – Modelo de Domínio baseado na Ferramenta C&L (2006) ........................................27

Figura 2 –Meta-Modelo Rastreabilidade Toranzo. .....................................................................29

Figura 3 – Modelo de domínio desenvolvido baseado em Borges e Falbo, (2001)....................31

Figura 4 – Estrutura da Memória Organizacional de ODE.........................................................32

Figura 5 – Hierarquia do Conhecimento .....................................................................................36

Figura 6 – Tipos de Rastreabilidade de Requisitos .....................................................................48

Figura 7 – Modelo de Domínio baseado em Kruchten (2003) e Pádua (2003) ..........................51

Figura 8 – PMI – Gerência de Projetos baseado em Martins (2005) ..........................................53

Figura 9 - PMI – Elementos da Gerência de Projetos baseado em Martins (2005) ....................54

Figura 10 - PMI – Diagrama de Atividades das Fases................................................................56

Figura 11 - Modelo de Visualização Projeto Discovery .............................................................58

Figura 12 – Diagrama de domínio para aquisição do conhecimento no desenvolvimento de um

software .......................................................................................................................................60

Figura 13 – Diagrama de domínio para aquisição do conhecimento no desenvolvimento de um

software utilizando Modelagem de Metas ..................................................................................61

Figura 14 – Diagrama de atividade da modelagem de metas na fase de concepção...................65

Figura 15 – Caso de uso referente a proposta de manipulação do conhecimento.......................69

Figura 16 – Modelo de Domínio da Modelagem de Metas da Ferramenta DBML....................75

Figura 17 – Ferramenta de Modelagem de Metas.......................................................................76

Figura 18 – Parte do Modelo de Metas do Software Controle de Licenciados...........................77

Figura 19 – Modelo de Metas Referente a alteração do módulo de Estatística ..........................80

Figura 20 – Diagrama de domínio referente aos macros relacionamentos existentes no

desenvolvimento de um software................................................................................................81

Figura 21 – Caso de uso da rastreabilidade baseada em léxico ..................................................84

Figura 22 – Rastreabilidade baseada no Léxico Estendido.........................................................85

Figura 23 – Apresentação da Composição da Rastreabilidade ...................................................91

Figura 24 – Formatação da rastreabilidade na voz ativa e voz passiva.......................................93

Figura 25 – Análise de Impacto na Voz Ativa ............................................................................94

Figura 26 – Análise de Impacto na Voz Passiva.........................................................................94

Figura 27 - Apresentação do Tempo e da Visão .........................................................................96

Figura 28 – Análise de formação do léxico...............................................................................101

Page 9: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

10

Figura 29 – Modelo de Domínio da Rastreabilidade baseado no léxico...................................104

Figura 30 – Principais pacotes da Ferramenta da Rastreabilidade............................................105

Figura 31 – Interface da análise de rastreabilidade para a manipulação do conhecimento ......107

Figura 32 – Tela de formatação do texto da análise..................................................................111

Page 10: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

11

Lista de Tabelas

Tabela 1 – Definição de pequena empresa .................................................................................33

Page 11: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

12

Lista de Quadros

Quadro 1 – Relacionamento entre as fases do projeto e do ciclo de vida do processo ...............57

Quadro 2 – Resumo dos resultados da modelagem de metas ...................................................113

Quadro 3 – Resumo dos resulados da rastreabilidade de requisitos baseado em léxico...........122

Page 12: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

13

LISTA DE SIGLAS

CMMI - Capability Maturity Model Integration

ER – Engenharia de Requisitos

GRE – Gerência de Requisitos

GRE_RL – Gestão de Requisitos Baseado em Rastreabilidade e Léxico

IBGE – Instituto Brasileiro de Geografia e Estatística

LAL - Léxico Ampliado da Linguagem

LEL - Linguagem Estendida do Léxico

LN – Linguagem Natural

MCT – Ministério da Ciência e Tecnologia

MPS/BR – Melhoria de Processo de Software Brasileiro

ODE - Ontology-based software Development Environment

PHP - Hypertext Preprocessor

PLN - Processamento da Linguagem Natural

PMBOK - Project Management Body of Knowledge

PMI - Project Management Institute

PU – Processo Unificado

RUP – Rational Unified Process - Processo Unificado Rational

SEBRAE - Serviço Brasileiro de Apoio às Micro e Pequenas Empresas

SGBD – Sistema de Gerenciamento de Banco de Dados

SOFTEX - Associação para Promoção da Excelência do Software Brasileiro

SWEBOK - Software Engineering Body of Knowledge

TRE - Treinamento

UML – Unified Modeling Language (Linguagem Unificada de Modelagem)

XML - Extensible Markup Language

Page 13: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

14

SUMÁRIO

1 INTRODUÇÃO .................................................................................................... 17

1.1 Problema ............................................................................................................ 18

1.2 Objetivos ............................................................................................................ 20

1.2.1 Objetivos Específicos ...................................................................................... 21

1.3 Motivação........................................................................................................... 21

1.4 Escopo ................................................................................................................ 22

1.5 Metodologia ....................................................................................................... 22

1.6 Contribuições Esperadas .................................................................................... 24

1.7 Trabalhos correlatos ........................................................................................... 25

1.7.1 Modelagem Orientada a Metas....................................................................... 25

1.7.2 Cenários .......................................................................................................... 26

1.7.3 Rastreabilidade ............................................................................................... 28

1.7.4 Estação TABA ................................................................................................. 30

1.7.5 Gerência de Conhecimento sobre Processos de Software .............................. 30

1.7.6 Infra-estrutura para Gerência de Conhecimento em ODE............................. 31

2 REFERENCIAL TEÓRICO ................................................................................. 33

2.1 Pequena Empresa ............................................................................................... 33

2.2 Conhecimento..................................................................................................... 35

2.3 Léxico................................................................................................................. 38

2.4 Metas .................................................................................................................. 41

2.4.1 Identificação de Metas .................................................................................... 41

2.5 Engenharia de Requisitos ................................................................................... 44

2.6 Rastreabilidade ................................................................................................... 46

2.7 Processo desenvolvimento de Software ............................................................. 49

2.7.1 Rational Unified Process - RUP ..................................................................... 50

2.7.2 Gerência de Projetos....................................................................................... 52

2.8 Projeto Discovery............................................................................................... 57

3 PROCESSO DE DESENVOLVIMENTO COM MODELAGEM DE METAS.. 59

3.1 Processo de Desenvolvimento baseado em Metas ............................................. 62

Page 14: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

15

3.1.1 Fase Concepção .............................................................................................. 62

3.1.2 Fase Elaboração ............................................................................................. 65

3.1.3 Fase Construção ............................................................................................. 66

3.1.4 Fase Transição ................................................................................................ 67

3.2 Verificação e Validação ..................................................................................... 67

4 MODELO PROPOSTO ........................................................................................ 68

5 IMPLANTAÇÃO DA MODELAGEM DE METAS ........................................... 71

5.1 Passos para a Implantação.................................................................................. 71

5.1.1 Treinamento dos integrantes da equipe .......................................................... 71

5.1.2 Seleção de um projeto em andamento............................................................. 72

5.1.3 Modelagem de metas ....................................................................................... 72

5.1.4 Verificação com o usuário .............................................................................. 73

5.1.5 Implantação de modelagem de metas em novos projetos ............................... 73

5.2 Ferramenta DBML ............................................................................................. 73

5.3 Estudo de Caso ................................................................................................... 77

6 RASTREABILIDADE BASEADA EM LÉXICO ............................................... 81

6.1 Formatação Básica da Rastreabilidade baseada em Léxico ............................... 84

6.2 Apresentação da Rastreabilidade ....................................................................... 88

6.2.1 Composição ..................................................................................................... 90

6.2.2 Formatação ..................................................................................................... 92

6.2.3 Impacto............................................................................................................ 93

6.2.4 Tempo .............................................................................................................. 95

6.2.5 Visão................................................................................................................ 96

6.3 – Processo de Formação da Rastreabilidade ...................................................... 97

6.4 IMPLEMENTAÇÃO DA SOLUÇÃO ............................................................ 102

6.4.1 Banco de Conhecimento................................................................................ 102

6.4.2 A Ferramenta Gestão de Requisitos Baseada em Rastreabilidade e Léxico 104

6.4.2.1 Análise da Rastreabilidade ......................................................................... 105

6.4.2.2 Análise da História ..................................................................................... 107

Page 15: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

16

7 ANÁLISE DE RESULTADOS .......................................................................... 112

7.1 Análise de Resultados da Modelagem de Metas.............................................. 112

7.2 Análise dos resultados da Rastreabilidade baseada em Léxico........................ 121

8 CONCLUSÃO E TRABALHOS FUTUROS..................................................... 128

8.1 Conclusão ......................................................................................................... 128

8.2 Trabalhos Futuros............................................................................................. 130

REFERÊNCIAS..................................................................................................... 131

APÊNDICE A - XML do modelo de meta do estudo de caso 1 ............................ 137

APÊNDICE B - XML do modelo de meta do estudo de caso 2 ............................ 142

APÊNDICE C – Formação do banco de conhecimento......................................... 146

Page 16: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

17

1 INTRODUÇÃO

O processo de desenvolvimento de software normalmente é executado por grupos de

pessoas, os quais adotam metodologias de desenvolvimento, com o intuito de criar softwares

capazes de atingir as necessidades dos clientes/usuários. Entre os diversos fatores relacionados

à obtenção de um processo e de um produto de qualidade está a manipulação do conhecimento.

Segundo Natali e Falbo (2003), a manipulação do conhecimento é um importante recurso para

as organizações promoverem o aprendizado para os desenvolvedores. O conhecimento

adquirido e armazenado é reusado para melhorar as atividades e as decisões necessárias para a

execução de um projeto.

Entretanto, quando são consideradas pequenas empresas, tem-se diversas dificuldades e

riscos no seu ambiente e no processo produtivo, que estão diretamente relacionados ao

conhecimento. Por exemplo:

a) Pouca disponibilidade de tempo para se efetuarem os levantamentos e os estudos

preliminares, durante a fase de concepção. Esse tempo deve ser suficiente para dar apoio às

atividades de: previsão de custo, tempo de desenvolvimento do software e elaboração da

proposta (KRUCHTEN, 2003);

b) Inexistência de uma base histórica de conhecimento que possa apoiar o

desenvolvimento das atividades citadas anteriormente (PRESSMAN, 2002);

c) Determinação do escopo real do projeto. Essa determinação se torna uma

dificuldade, uma vez que, geralmente, existe uma falta de entendimento entre o engenheiro de

requisito e o usuário no repasse das informações necessárias para o desenvolvimento do

software. Isto é, o engenheiro tem dificuldade em entender as reais necessidades do usuário,

assim como, o usuário não sabe repassar exatamente as informações absolutamente necessárias

(LAMSWEERDE, 2001). Além desse problema de comunicação e entendimento entre os

envolvidos existem também as variações das necessidades particulares dos clientes. Essas

variações se encontram na forma de conduzir os negócios do cliente e os objetivos a serem

atingidos pelo produto. Tudo isso torna o trabalho mais complexo e exige uma maior

flexibilidade e parametrização do produto;

d) Diversidade relacionada tanto à natureza quanto às categorias dos produtos de

software a serem desenvolvidos. Essa diversidade muitas vezes inviabiliza a contratação do

desenvolvimento do produto, devido à falta ou dificuldade de se obter o conhecimento

necessário para elaboração do produto;

Page 17: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

18

e) Problemas de integração das diversas ferramentas livres de apoio ao

desenvolvimento. Nesse caso, os custos de aquisição de ferramentas integradas podem estar

fora da realidade financeira da empresa. Como conseqüência, pode haver a diminuição da

produtividade na geração dos artefatos, os quais são obtidos nas atividades durante o

desenvolvimento de software;

f) Desequilíbrio entre os custos de produção e a remuneração obtida pelo

desenvolvimento do produto. Esse desequilíbrio está relacionado com custos reais, necessários

à produção do software, e o valor que o mercado está disposto a pagar pelo produto;

g) Falta de recursos próprios da empresa para investir, a longo prazo, na criação de

uma base de conhecimento capaz de ajudar em todas as atividades de produção de softwares.

Essa base de conhecimento apoiaria a reutilização dos artefatos e conhecimentos dos projetos já

desenvolvidos, ou em desenvolvimento aumentando, com isso, a produtividade da equipe

envolvida no projeto. E ainda, ajudaria a equipe de desenvolvimento na troca de informações

sobre o projeto de uma forma rápida e segura, de forma que, se poderia obter a melhoria do

entendimento real das necessidades do usuário em relação do produto.

Colocada essa realidade, são considerados relevantes os estudos que visem minimizar o

impacto desses fatores no processo produtivo de um software, particularmente, os que têm a

manipulação do conhecimento como foco.

Nesse trabalho, estuda-se a manipulação do conhecimento no apoio do desenvolvimento

de software, em uma pequena empresa, utilizando a modelagem de metas e a rastreabilidade de

requisitos baseado em léxico1.

1.1 Problema

Durante o desenvolvimento de software é necessário ter e manipular o conhecimento.

Na literatura existem várias pesquisas que tratam do processo de desenvolvimento

(PRESSMAN, 2002), da gestão de software (MARTINS, 2005) e do gerenciamento do

conhecimento (NATALI E FALBO, 2003). Duas situações devem ser pensadas: a transmissão

do conhecimento entre o desenvolvedor e o usuário e a geração do conhecimento entre os

desenvolvedores. Assim, considera-se um problema o como se obter do usuário o conhecimento 1 Léxico: Conjunto de vocábulos de um idioma, dicionário dos vocábulos usados por um autor (FERREIRA, 1999).

Page 18: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

19

necessário ao desenvolvimento e, ainda, como apoiar a equipe de desenvolvimento de modo

que esta possa transmitir e utilizar todo o conhecimento gerado durante a produção do software.

Para a determinação das reais necessidades do usuário a serem desenvolvidas, existem

os seguintes entraves: dificuldade de transmissão do conhecimento necessário entre os

envolvidos e a mutabilidade dos requisitos. Caso esses problemas não sejam minimizados, as

empresas correm os riscos de produzir um software fora do escopo, fora do custo e do tempo

planejado e, consequentemente, com baixa qualidade.

O perfil do desenvolvedor tem uma grande influência na atividade de levantamento de

requisitos. O desenvolvedor deve ser capaz de afastar-se do mundo técnico, representado pelas

técnicas e ferramentas de desenvolvimento, e se voltar para o mundo do negócio do cliente.

Deve ter a capacidade de entender e modelar o desejo do cliente através dos objetivos a serem

atingidos com o produto. Esse entendimento deverá ser suficiente para balizar todas as

atividades do desenvolvimento do software. A partir do momento em que o desenvolvedor sabe

efetivamente o que o usuário necessita, ele tem condições de minimizar o risco da atividade de

levantamento e obter um produto final mais adequado às necessidades desse usuário.

Os usuários e os engenheiros de software são responsáveis por determinar o que o

software deverá fazer, definindo os requisitos e o escopo do desenvolvimento. Para o usuário, o

software é um meio para atingir seus objetivos, principalmente, os de negócios. O

desenvolvedor tem a visão técnica do desenvolvimento de softwares, porém, muitas vezes, não

tem a compreensão necessária daquilo que precisa ser desenvolvido, ou seja, a real necessidade

do usuário do ponto de vista tanto funcional quanto da qualidade do produto. A diferença entre

esses dois pontos de vista opostos dificulta e/ou inviabiliza o desenvolvimento do software.

Uma das formas de minimizar esses riscos seria recorrer, sempre, a um especialista no

domínio do produto, para ajudar a “traduzir”, isto é, explicitar claramente a necessidade do

usuário em uma linguagem capaz de ser entendida pelos desenvolvedores. Grandes empresas,

muitas vezes, investem nesse profissional, normalmente, denominado analista de negócio ou

analista de domínio, o qual atua entre o usuário e o desenvolvedor. Mas, essa realidade,

normalmente, não se aplica às pequenas empresas, devido, principalmente, ao custo e à

dificuldade de se encontrar e alocar esse profissional.

A geração do conhecimento entre os desenvolvedores está ligada às demais atividades

técnicas e de gestão do desenvolvimento do software. É normal encontrar-se a equipe de

desenvolvimento de uma empresa atuando em mais de um projeto ao mesmo tempo e, ainda, a

existência de uma rotatividade entre os integrantes da equipe. Para se obter sucesso no

desenvolvimento, faz-se necessária a transmissão rápida e eficaz do conhecimento, relativo às

Page 19: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

20

decisões técnicas e de gestão, entre os integrantes da equipe. Assim, a falta de informações

sobre as soluções adotadas poderá transformar o desenvolvimento em um empreendimento sem

os devidos retornos esperados, podendo aumentar ou gerar um conflito entre os envolvidos no

processo.

Segundo Togneri et al. (2004), os problemas relativos à transmissão do conhecimento

entre os integrantes da equipe de desenvolvimento podem resultar em uma série de

dificuldades, tais como: perda do conhecimento sobre a aplicação em desenvolvimento,

podendo ficar restrita à pessoa e não à empresa; escassez de conhecimento sobre o domínio da

aplicação, o que dificulta a especificação dos requisitos; dificuldade em localizar as

informações sobre as soluções adotadas no desenvolvimento e dificuldade na reutilização do

conhecimento entre projetos semelhantes.

Neste trabalho, pretende-se focalizar os aspectos relacionados à necessidade de se obter,

reter, armazenar e distribuir o conhecimento gerado pela equipe de desenvolvimento de

software.

1.2 Objetivos

Diante desses pressupostos, o objetivo geral dessa dissertação é utilizar a modelagem de

metas e a rastreabilidade de requisitos baseado em léxico na manipulação do conhecimento

necessário para o desenvolvimento de software com qualidade e que seja adequado à pequena

empresa. Essa manipulação deverá permitir o armazenamento e a transmissão entre os

envolvidos no processo de desenvolvimento, tanto na fase externa, que envolve a captura do

requisito junto ao usuário, quanto na fase interna, que envolve as atividades de

desenvolvimento e as atividades de gestão.

Page 20: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

21

1.2.1 Objetivos Específicos

a) Desenvolver uma ferramenta que possibilite manipular o conhecimento necessário,

entre as partes envolvidas, para o desenvolvimento de software, com a utilização da

modelagem de metas e a com a rastreabilidade dos requisitos baseado em léxico;

b) Criar um modelo de banco de dados de conhecimento, a fim de que se possa registrar

e relacionar os léxicos existentes em todo o desenvolvimento de um produto de

software;

c) Fazer a rastreabilidade dos artefatos e atividades feitas no desenvolvimento do

produto a partir da base de conhecimento modelada para a ferramenta;

d) Verificar se os conhecimentos armazenados e recuperados ajudarão na melhoria da

qualidade do trabalho da equipe de desenvolvimento e do produto de software gerado.

1.3 Motivação

A grande motivação deste trabalho partiu de uma situação problema, vivenciada por

diversas pequenas empresas de desenvolvimento e manutenção de software. Estas empresas

possuem recursos financeiros e humanos limitados, que inviabilizam e desencorajam o

desenvolvimento de alguns projetos. Essa inviabilização parte, principalmente, em relação à

contratação de mão de obra especializada (especialistas no domínio), que detêm o

conhecimento sobre o domínio do projeto a ser desenvolvido, o que minimizaria os problemas

relacionados à atividade de elicitação. Além disso, enfrenta-se dificuldades de criar uma maior

independência de informações ou conhecimento entre os membros da equipe. Assim, percebe-

se a necessidade de estudar mecanismos simples e baratos que pudessem ajudar as pequenas

empresas a resolver os problemas de conhecimento na produção de softwares, que seriam

gerados com maior qualidade, a um custo compatível com a realidade das mesmas.

Page 21: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

22

1.4 Escopo

O escopo dessa dissertação, referente à manipulação do conhecimento, será baseado no

processo de desenvolvimento e de gestão de projetos de uma pequena empresa de

desenvolvimento de software.

1.5 Metodologia

O trabalho aqui descrito pode ser caracterizado como sendo uma pesquisa aplicada, pois

envolve o estudo de problemas relativos à manipulação de conhecimento em uma empresa de

desenvolvimento de software. A pesquisa descrita nesse trabalho pode ser considerada como

qualitativa, uma vez que, os resultados obtidos foram analisados de modo a explicar a

manipulação do conhecimento em uma pequena empresa de desenvolvimento de software.

Inicialmente, efetuou-se um levantamento bibliográfico dentro do contexto dos

problemas relativos à transmissão do conhecimento para o desenvolvimento de um software.

Esses problemas se relacionam tanto com a engenharia de requisitos, como com a distribuição

do conhecimento entre os integrantes da equipe de desenvolvimento da empresa. Durante o

levantamento restringi-se o estudo, focalizando os temas modelagem de metas e rastreabilidade

de requisitos baseado em léxico.

A partir desse estudo, fez-se uma avaliação de uma pequena empresa, com o objetivo de

identificar a ocorrência dos principais problemas relacionados à engenharia de requisitos e à

distribuição do conhecimento. Na engenharia de requisitos foram percebidos os seguintes

entraves: dificuldades em compreender as reais necessidades dos usuários e dificuldades em

documentar essas necessidades.

Na distribuição do conhecimento entre os integrantes da equipe de desenvolvimento, foi

identificada uma grande dependência técnica em relação a um determinado membro da equipe

do projeto. Esta dependência dificultava tanto a implementação de novas funcionalidades,

quanto a resolução de problemas dos produtos em fase de manutenção. Nas empresas de maior

porte esse problema é minimizado, devido ao fato do conhecimento estar distribuído entre um

maior número de pessoas e entre os setores da própria empresa.

Page 22: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

23

O passo seguinte foi dividir a pesquisa em duas partes. A primeira parte abrangeu o

estudo e a criação de uma ferramenta para ajudar na documentação dos requisitos dos usuários,

e a segunda parte, a formação de uma base de conhecimento que possibilitasse o

compartilhamento do conhecimento gerado na produção do software entre os integrantes da

equipe. Acredita-se que a união destas duas partes gera o conhecimento necessário para o

desenvolvimento de software com qualidade.

Para a criação da ferramenta de modelagem e documentação dos requisitos, o trabalho

baseou-se na modelagem de metas descrita por Lamsweerde (2001), mas focalizando apenas os

conceitos de captura da necessidade do usuário e o registro através da modelagem gráfica. A

seguir, foi alterado o processo de desenvolvimento da empresa para utilizar a modelagem de

metas nas atividades de engenharia de requisitos de modo que, cada meta modelada

“trafegasse” no processo de desenvolvimento vinculando-se em todos os artefatos durante a

execução das atividades.

Após os estudos e a alteração do processo, implementou-se a modelagem de metas. Esta

modelagem foi implementada, inicialmente, de forma manual, pelos engenheiros de software.

Os engenheiros utilizaram a modelagem de metas tanto nos levantamentos de requisitos,

juntamente com os usuários, quanto nas reuniões de verificação dos requisitos, com a equipe de

desenvolvimento. O passo seguinte foi o desenvolvimento da ferramenta de modelagem. Os

modelos de metas passaram a ser construídos utilizando essa ferramenta desenvolvida. A

seguir, implantou-se o desenvolvimento colaborativo, em que o usuário não podendo ficar

dentro das dependências da empresa, faria o início da modelagem de metas e transmitiria o

modelo para a equipe de desenvolvimento efetuar o refinamento do mesmo. Durante todo o

processo de implementação da modelagem de metas foram levantados os problemas e as

vantagens da sua utilização.

A segunda parte da pesquisa consistiu em estudar mecanismos de registro e recuperação

do conhecimento, gerado pela equipe de desenvolvimento durante as suas atividades de

construção do software. A partir destes estudos, o banco de conhecimento foi modelado

baseando-se em três trabalhos: cenários (LEITE ET AL, 1997), ontologia baseada na

Linguagem Estendida do Léxico (LEL) (FELICÍSSIMO ET AL, 2003), e rastreabilidade

(TORANZO, CASTRO e MELLO, 2002).

Após a modelagem do banco de conhecimento, desenvolveu-se uma ferramenta para

armazenar e recuperar o conhecimento produzido pelos engenheiros de software. O primeiro

módulo da ferramenta consistiu em verificar a utilização de cenário, com base no léxico e na

interpretação da narrativa do requisito, efetuada pelo usuário (LEITE ET AL, 1997), LEL

Page 23: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

24

(FELICÍSSIMO ET AL, 2003). A partir da interpretação, ou seja, da identificação dos léxicos

existentes na narrativa, foi desenvolvida a rastreabilidade destes léxicos para a formação e

geração do conhecimento (TORANZO, CASTRO e MELLO, 2002).

O passo seguinte foi um estudo de identificação dos léxicos e seus relacionamentos nos

modelos de processo de desenvolvimento e gestão de projetos, baseado, respectivamente, no

Rational Process Unified (RUP) e na metodologia Process Management Institute (PMI). Uma

vez identificados os léxicos, os seus relacionamentos foram mapeados e implementados no

banco de conhecimento.

Por fim, fez-se uma análise da eficiência deste mapeamento, na geração e transmissão

do conhecimento pela equipe de desenvolvimento do software. Após esse trabalho de análise da

eficiência, foram importadas para o banco de conhecimento as informações históricas dos

projetos já realizados, de acordo com o léxico e os relacionamentos definidos. As informações

importadas eram relativas à gestão de projetos. A seguir, iniciou-se o trabalho para validar a

usabilidade das interfaces utilizadas para recuperar o conhecimento e para detectar novas

necessidades de melhoria.

1.6 Contribuições Esperadas

Esta dissertação pretende fornecer as seguintes contribuições:

a) Adequar e validar o modelo de metas a ser usado por pequenas empresas de

desenvolvimento de software, com o objetivo de apoiar na elaboração do escopo, na

transmissão das informações e no entendimento necessário ao desenvolvimento de software,

entre os usuários e os engenheiros de softwares;

b) Apresentar um modelo de base de conhecimento o que permitirá aos stakeholders

trabalharem de modo integrado, com uma única forma de apresentação e navegação, com todas

as visões relativas ao desenvolvimento: processo, gestão e técnica. E ainda, permitir a

rastreabilidade entre estas visões;

c) Apoiar a transmissão do conhecimento, ou seja, melhorar a comunicação necessária

entre o usuário e a equipe de desenvolvedores e dentro da própria equipe. Esta melhoria na

comunicação irá diminuir a dependência do conhecimento individual das pessoas envolvidas no

processo de desenvolvimento;

Page 24: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

25

d) Apresentar um modelo que possa atingir os objetivos de rastreabilidade

normalmente exigidos pelos modelos de maturidade;

e) Ajudar o desenvolvedor na interpretação da narrativa do usuário sobre suas

necessidades. Considera-se narrativa a história que o usuário conta para o desenvolvedor e que

diz respeito às suas necessidades, ou seja, seus requisitos. Esta história geralmente está

relacionada à experiência passada do usuário em relação ao seu próprio negócio e objetivos a

serem atingidos. A forma como é feita a narrativa pode influenciar na apreensão dos

significados por parte do desenvolvedor.

1.7 Trabalhos correlatos

O registro dos requisitos de software ajuda a transformar as necessidades do usuário em

uma documentação capaz de apoiar a criação do conhecimento necessário ao desenvolvimento

do software. Consideram-se trabalhos correlatos os que enfocam a aquisição das necessidades

do usuário como ponto forte na qualidade do produto final. Dentre eles, destacam-se os

seguintes:

1.7.1 Modelagem Orientada a Metas

Dardenne, Fickas e Lamsweerde, (1991) e Lamsweerde (2001) baseiam seus estudos na

modelagem de metas para a aquisição e gerenciamento dos requisitos. Nessa modelagem, os

requisitos a serem desenvolvidos fornecem o suporte às metas e através das metas trabalha-se o

escopo do produto. Nessas propostas, a modelagem das metas e requisitos é construída de duas

formas: uma através de um grafo e outra através de um modelo formal. No grafo, são indicadas

as condições em que cada sub-meta e requisito fornecem o suporte à meta hierarquicamente

superior.

O software de modelagem de metas Objectiver 1.5.1. baseia-se nos conceitos de

Lamsweerde (2001). Trata-se de uma ferramenta para modelar metas e requisitos do software e

que pode ser adquirida e utilizada pelas empresas. No software, verifica-se que existe uma

Page 25: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

26

integração do registro das metas, do registro dos requisitos e do modelo de classe de objetos. A

integração desses três elementos gera a rastreabilidade entre os modelos e apresenta o

conhecimento dos problemas a serem resolvidos e da solução adotada pelo engenheiro de

software (OBJECTIVER, 2006). Para o este projeto não se considerou o uso dessa ferramenta,

pelos seguintes motivos:

• Esse software não implementa todos os modelos complementares utilizados pelo

desenvolvedor previstos na UML (Unified Modeling Language). Os demais modelos

UML são importantes para o registro do conhecimento das soluções adotadas no

desenvolvimento;

• A ferramenta não se integra com as demais ferramentas de modelagem UML,

normalmente, utilizadas pela equipe de desenvolvimento, o que gera um custo adicional.

Portanto, o Objectiver (2006) seria mais uma ferramenta de modelagem para o

desenvolvedor exigindo um investimento a mais para a produção do software;

• O registro das metas e requisitos deve ser uma tarefa de mão dupla, ou seja, usuário e

desenvolvedor integrados, para se evitar um custo adicional na aquisição dessa

ferramenta e treinamento de utilização da mesma para o usuário.

A proposta da ferramenta, desse trabalho, é uma simplificação em relação ao Objectiver

(2006). Deseja-se apenas gerar o modelo de metas/requisitos, dentro de um processo

colaborativo de desenvolvimento e que seja integrado com a base de conhecimento que estamos

propondo.

1.7.2 Cenários

Leite e Franco, (1993), Leite et al. (1997), e Silva, Leite e Breitman, (2005) descrevem

um processo para capturar e registrar as necessidades do usuário. Esse processo visa adquirir o

conhecimento baseado em cenários e Léxico Ampliado da Linguagem (LAL). Apresentam,

ainda, uma ferramenta para a edição colaborativa de cenários e léxicos, com o controle de

criação e atualização dos mesmos. Essa ferramenta apóia o processo de desenvolvimento de

software guiado por requisitos, tanto na documentação, quanto na transmissão do conhecimento

relativo ao vocabulário do sistema a ser construído. A figura 1 apresenta o modelo de domínio

obtido a partir do banco de dados disponibilizado da ferramenta C&L (C&L, 2006).

Page 26: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

27

Figura 1 – Modelo de Domínio baseado na Ferramenta C&L (2006)

Pode-se verificar que o conhecimento é transmitido nos seguintes itens: cenário, léxico

e conceito.

• Na descrição do cenário são registrados todos os léxicos existentes na narrativa. Esse

registro facilita, para o engenheiro de software, o entendimento do requisito a partir dos

conceitos previamente cadastrados na ferramenta C&L;

• O léxico, dicionário do projeto, contém as informações importantes para o entendimento

do sistema, tais como: o vocábulo, os conceitos e os impactos existentes no projeto. O

entendimento dos impactos e do cenário a ser desenvolvido será facilitado pela

identificação dos léxicos, previamente cadastrados;

• O projeto pode ter vários cenários que caracterizam os requisitos a serem

desenvolvidos. Isso ajuda na documentação e transmissão do conhecimento entre os

envolvidos no projeto.

A ferramenta permite cadastrar os conceitos estruturados a partir de uma hierarquia dos

mesmos. As informações geradas ficam estáticas dentro do cenário, ou seja, os léxicos são

identificados e são apresentados os seus conceitos. Na proposta, dessa dissertação, as

informações são trabalhadas de forma estática e dinâmica. A análise estática consiste na

apresentação do conceito e na identificação de todos os léxicos utilizados na narrativa do

usuário. A análise dinâmica apresenta todo o conhecimento já existente e rastreável de cada

léxico. São considerados importantes esses dois tipos de análise na transmissão do

conhecimento entre os envolvidos na identificação das soluções adotadas anteriormente. A

Page 27: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

28

união destas duas análises representa o conhecimento já elaborado para o projeto em

desenvolvimento ou já desenvolvido. Esse conhecimento é a base para o engenheiro de

software tomar as decisões necessárias para o projeto.

Nitsche e Bortoli (2006), desenvolveram uma ferramenta para auxiliar a comunicação

entre engenheiros de requisito e cliente, na etapa de definição dos requisitos. A ferramenta é

baseada nos conceitos do LAL de acordo com o apresentado em Leite e Franco (1993). Similar

a C&L (2006), a ferramenta consiste na dicionarização dos léxicos utilizados pelo domínio do

software a ser construído. A dicionarização é obtida a partir da definição dos símbolos e dos

contextos utilizados pelo léxico. Nesse dicionário é identificado o conceito, ou seja, as noções e

o impacto que podem ser representados como uma rastreabilidade do léxico a partir da

identificação da ligação com outros léxicos.

1.7.3 Rastreabilidade

Toranzo, Castro e Mello (2002) propõem um meta-modelo, para efetuar a

rastreabilidade dos elementos que compõem o desenvolvimento de um sistema. A figura 2

apresenta o meta-modelo, que utiliza como base a classe elemento. A classe elemento

representa qualquer nível de abstração das necessidades de rastreabilidade do sistema. Através

de suas subclasses ElementoGeneralizável e Relacionamento é possível fazer a rastreabilidade,

a qual é feita a partir do relacionamento entre os elementos, de modo a identificar as hierarquias

existentes entre eles. Para cada elemento rastreável é possível identificar os seguintes itens:

• Satisfação: indica as dependências de satisfação existentes entre os elementos. Por

exemplo: um conjunto de requisitos satisfaz uma meta. A meta somente será atingida se

esse conjunto de requisitos for contemplado;

• Recurso: indica as dependências de recursos existentes entre os elementos. Por

exemplo: um método é um recurso de uma determina classe;

• Responsabilidade: indica a participação de pessoas que atuam em um determinado

elemento. Por exemplo: um determinado desenvolvedor define um conjunto de

requisitos;

Page 28: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

29

• Representação: indica a forma como é feita a representação de um determinado

elemento. Por exemplo: o diagrama de metas representa as metas e os requisitos que a

satisfazem;

• Alocação: indica o tipo de associação existente entre os elementos na hierarquia. Por

exemplo: os pacotes, ou seja, subsistemas que compõem um determinado sistema;

• Agregação: indica o tipo de associação de composição entre os elementos. Por exemplo:

uma história é composta por um conjunto de classes e métodos.

Figura 2 –Meta-Modelo Rastreabilidade Toranzo.

Fonte: Toranzo, Castro e Mello (2002)

A diferença da proposta, dessa dissertação, em relação a Toranzo, Castro e Mello (2002)

é que esses autores propõem um meta-modelo de rastreabilidade, mas não apresenta o como

utilizar a rastreabilidade. Não fica claro como é feita a apresentação dos resultados de

rastreabilidade a partir da base de conhecimento. Considera-se a apresentação um importante

fator na transmissão do conhecimento. A apresentação da rastreabilidade, dessa dissertação, é

uma estrutura baseada em linguagem natural, que possui formato baseado em sujeito, verbo,

objeto e estado. Acredita-se que a formação de sujeito, verbo e objeto facilitará a compreensão

do conhecimento por parte da equipe de desenvolvimento, por se tratar de uma apresentação

mais natural, mais próxima da linguagem escrita. A identificação do estado completa as

informações sobre um determinado relacionamento, ajudando no entendimento da solução

adotada. Pode-se citar, por exemplo, que se uma atividade for executada por um determinado

Page 29: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

30

usuário, em uma determinada data e em um determinado tempo, poderá ser representada da

seguinte forma:

• Sujeito: nome do usuário

• Verbo: executou

• Objeto: a atividade de elicitação.

• Estado: na data de 12/09/2006.

A formatação dessas informações, de acordo com o citado acima, é importante para a

“experiência” gerada no conhecimento.

1.7.4 Estação TABA

O projeto TABA (MONTONI ET AL, 2006) visa apresentar uma forma de trabalhar os

processos de desenvolvimento com base na gerência de conhecimento, para garantir a produção

de produtos de alta qualidade e melhorar os processos de software. O formato para a obtenção

do conhecimento, apresentado por Montoni et al. (2006), é feito de forma textual e baseado na

ligação existente entre as atividades e os artefatos produzidos. Considera-se que, além do

problema de manter as informações atualizadas, o formato textual é um dificultador para a

transmissão do conhecimento. Esse dificultador está relacionado às diversas interpretações que

podem surgir sobre o registro do conhecimento entre as atividades e os artefatos.

1.7.5 Gerência de Conhecimento sobre Processos de Software

No processo de desenvolvimento de software, Borges e Falbo (2001) descrevem uma

ferramenta para apoiar a disseminação do conhecimento. A figura 3 apresenta um modelo de

domínio da ferramenta, que trabalha com a estruturação do conhecimento, a partir das lições

aprendidas na realização do projeto. As lições aprendidas abrangem determinados objetos, tais

como: atividade, artefato, procedimento. A idéia de Borges e Falbo (2001) é apoiar o líder do

projeto na adaptação do processo de desenvolvimento, a partir de um processo padrão e das

Page 30: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

31

experiências adquiridas com as lições aprendidas. Entretanto, o conhecimento ficou restrito ao

processo e não vem integrado a todos os elementos do desenvolvimento, uma vez que se

considera as lições aprendidas apenas uma parte do conhecimento gerado. Além das lições

aprendidas, considera-se como sendo uma base de conhecimento todas as decisões técnicas que

envolvem qualquer modelagem do sistema.

Borges e Falbo (2001) tratam o conhecimento no nível textual, o que pode ser um

complicador para a sua utilização. Na proposta, dessa dissertação, aliada ao texto, está a

estruturação do conhecimento em um grafo. Este relata a seqüência natural do relacionamento

(sujeito, verbo, objeto e estado).

Figura 3 – Modelo de domínio desenvolvido baseado em Borges e Falbo, (2001)

1.7.6 Infra-estrutura para Gerência de Conhecimento em ODE

Segundo Natali e Falbo (2003), o conhecimento obtido no desenvolvimento de software

é um recurso importante de uma organização e o seu uso promove um aprendizado evolutivo,

evitando que um mesmo erro seja cometido novamente. Os autores apresentam uma infra-

Page 31: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

32

estrutura para apoiar a gerência do conhecimento de forma a armazenar a memória

organizacional da empresa, baseado em ontologia.

A figura 4 apresenta um modelo de domínio capaz de armazenar três tipos de

conhecimento: instâncias de ontologia, artefatos gerados e lições aprendidas. Através dos

relacionamentos de composição é criada a base do conhecimento que, necessariamente, tem que

estar apoiado em uma ontologia. Diferentemente desta proposta, o modelo apresentado nesse

trabalho, permitirá armazenar todos os tipos de artefatos gerados no desenvolvimento,

relacionando-os com as atividades que foram necessárias para a sua implementação, sem se

basear em ontologia. A lição aprendida será considerada um léxico. Acredita-se que, dessa

forma, é possível relacioná-la com qualquer outro léxico, seja ele, artefato ou atividade, seja do

processo ou da gestão do projeto.

Figura 4 – Estrutura da Memória Organizacional de ODE

Fonte: Natali e Falbo (2003)

Page 32: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

33

2 REFERENCIAL TEÓRICO

2.1 Pequena Empresa

O mercado brasileiro de empresas de informática é composto na sua maioria por

pequenas empresas. Em 2001, a SOFTEX realizou uma pesquisa para identificar as principais

características de seus associados. Essa pesquisa mostrou que 77% das organizações associadas

são consideradas como microempresa e/ou de pequeno porte. O critério de classificação do

Serviço Brasileiro de Apoio às Micro e Pequenas Empresas (Sebrae), foi utilizado para a

definição do porte da empresa (MCT, 2001).

O Sebrae (2006) utiliza os critérios de receita bruta anual e número de pessoas alocadas

para a definição do porte da empresa. A tabela 1 apresenta as faixas utilizadas pelo Sebrae para

empresas do setor de serviços.

TABELA 1

Definição de Micro e Pequena Empresa

Critérios de Enquadramento Receita Bruta Anual Pessoas

Microempresa Até R$ 433.755,14 Decreto nº 5.028/2004

de 31 de março de 2004. Pequeno Porte R$ 433.755,14 a R$ 2.133.222,00

Microempresa até R$ 240.000,00 SIMPLES

Pequeno Porte R$ 240.000,00 a R$ 2.400.000,00

Microempresa até 9Número de Pessoas Alocadas

Pequeno Porte 10 a 49Fonte: Serviço Brasileiro de Apoio às Micro e Pequenas Empresas - Sebrae (2006).

As pequenas empresas apresentam características distintas das empresas de maior porte.

Essas características influenciam na análise de qualquer estudo que as envolve. Kelly e

Culleton (1999), no seu trabalho de melhoria de processo de desenvolvimento de software para

pequenas empresas, apresentam as seguintes características para pequenas empresas:

• Os engenheiros de software estão envolvidos em todas as atividades que envolvem o

processo de engenharia de software;

Page 33: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

34

• São empresas criativas, dinâmicas e inovadoras;

• O sucesso das organizações frequentemente está vinculado à criatividade e inovação

dos seus empregados.

O Instituto Brasileiro de Geografia e Estatística (IBGE, 2001), realizou um estudo com

o objetivo de apresentar um panorama das micro e pequenas empresas comerciais e de serviços

no Brasil. Nesse estudo, foram apresentadas algumas características sobre as micro e pequenas

empresas, tais como:

• Baixa intensidade de capital;

• Altas taxas de natalidade e de mortalidade;

• Forte presença de proprietários, sócios e membros da família como mão-de-obra

ocupada nos negócios;

• Poder decisório centralizado;

• Estreito vínculo entre os proprietários e as empresas, não se distinguindo,

principalmente em termos contábeis e financeiros, pessoa física e jurídica;

• Registros contábeis pouco adequados;

• Contratação direta de mão-de-obra;

• Utilização de mão-de-obra não qualificada ou semi-qualificada;

• Baixo investimento em inovação tecnológica;

• Maior dificuldade de acesso ao financiamento de capital de giro;

• Relação de complementaridade e subordinação com as empresas de grande porte.

A empresa na qual foi realizada o estudo de caso dessa dissertação, apresenta várias das

características apontadas tanto pelo IBGE, quanto por Kelly e Culleton (1999). Dentre essas

características pode-se destacar:

• A maior parte das pessoas alocadas é sócia da empresa;

• Os projetos são distribuídos entre os sócios para serem elaborados;

• Um dos sócios fica como responsável técnico, gestão e por iniciar a fase de

concepção do projeto;

• Os demais integrantes da empresa participam da construção do projeto e realizam

todas as atividades do processo de engenharia de software. Geralmente, estão

envolvidos em mais de um projeto;

• Toda a equipe necessita ter a capacidade de representar a empresa junto ao cliente,

tanto na elaboração do projeto, quanto na elucidação das dúvidas;

Page 34: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

35

• A hierarquia do poder é horizontal, ou seja, não existe uma sobreposição clara de

poder entre os sócios. O que dificulta, às vezes, algumas decisões sobre o processo de

desenvolvimento;

• Como parte da estratégia de desenvolvimento, a empresa busca parcerias com outras

empresas maiores, o que acarreta uma diversidade muito grande de domínio de

software a serem construídos. Sendo assim, a empresa é muito suscetível às

mudanças tecnológicas apresentadas pelo mercado.

Com Base nas características da pequena empresa, as técnicas a serem adotadas tanto

para o processo, quanto para o desenvolvimento dos produtos devem ser motivantes e com

resultados adequados à sua realidade. Isso é importante para minimizar o risco de abandonar a

utilização das técnicas no decorrer do tempo. Os produtos que são desenvolvidos e/ou

adquiridos para a automação da empresa devem ser:

• Baratos, devido à falta de capital para investimento próprio. O capital existente é

utilizado para o treinamento nas tecnologias a serem usadas no desenvolvimento dos

produtos solicitados pelos clientes e na própria elaboração desses produtos;

• Fáceis de usar e de aprender, afim de motivar a utilização da ferramenta pelas pessoas

envolvidas no processo de desenvolvimento;

• Fornecer uma visão abrangente sobre todos os elementos do desenvolvimento, ou

seja, com a possibilidade de trabalhar de forma integrada.

2.2 Conhecimento

Segundo Ferreira (1999), conhecer é o ato de ter noção, informação, saber; e

conhecimento é o ato ou efeito de conhecer, apontando experiência, discernimento, critério,

apreciação. Portanto, o conhecimento envolve uma interpretação baseada na experiência sobre

alguma coisa, fato ou informação. Assim, gerenciar, distribuir e criar conhecimento envolvem o

fato e o registro da experiência obtida com esse fato. Desse modo, o registro é fundamental para

que o processo de desenvolvimento de software possa ser bem sucedido a longo prazo.

De acordo com a Figura 5, Tuomi (1999) apresenta a hierarquia do conhecimento, para

uma memória organizacional, obtida a partir do dado, informação, conhecimento, inteligência e

sabedoria. Dado é o fato mais simples que, a partir da estruturação, torna-se a informação. A

Page 35: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

36

interpretação ou o significado dado para a informação gera o conhecimento. A utilização desse

conhecimento, a partir de uma escolha das alternativas disponíveis, gera a inteligência. Quando

o comportamento inteligente é guiado por valores e compromissos, esse comportamento torna-

se sabedoria. A curva, representada no gráfico, é para simbolizar que a hierarquia do

conhecimento é obtida através do aprendizado.

Figura 5 – Hierarquia do Conhecimento

Fonte: Tuomi (1999)

De acordo com essa hierarquia do conhecimento, a estruturação, ou seja, a interpretação

ou significado dado para os dados e as informações obtidas, durante o processo de

desenvolvimento de software, podem gerar o conhecimento necessário para ser reutilizado pela

equipe de desenvolvimento. Essa estruturação consiste no registro dos relacionamentos

existentes entre os elementos, envolvendo os três itens da produção de um software: processo

de desenvolvimento (ciclo de vida), gestão de projetos e artefatos produzidos.

Segundo Polanyi, Nonaka e Takeuchi (apud Tuomi, 1999), o conhecimento é dividido

em: explícito e tácito. O conhecimento explícito é transmitido formalmente e o tácito é um

conhecimento pessoal difícil de ser formalizado. Para Ferreira (1999), o conhecimento explícito

é o que pode ser expresso formalmente, de forma clara, pode ser desenvolvido e pode ser

explicado. O conhecimento tácito por não ser expresso de algum modo, é deduzido. Portanto, o

conhecimento gerado, durante a realização das atividades do desenvolvimento de um software,

Page 36: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

37

deve ser mapeado, a fim de se obter o registro do conhecimento explícito. Esse registro deverá

ser feito através de uma representação. Esta representação facilitará para o desenvolvedor a

obtenção do conhecimento tácito necessário para a realização de suas atividades. Assim, pode-

se evoluir na hierarquia do conhecimento, conforme apresentada por Tuomi (1999).

O conhecimento gerado necessita ser representado através de um modelo para que

possa ser realmente usado de forma eficaz. Esse modelo auxiliará a equipe de desenvolvedores

a tomarem as decisões sobre o conhecimento obtido e afetará as atividades do desenvolvimento

do projeto. Segundo Davis (apud Campos, 2001, p.49), o conceito de representação de

conhecimento engloba as seguintes idéias:

a) É um mecanismo usado para se raciocinar sobre o mundo, em vez de agir

diretamente sobre ele. Esse raciocínio deve ser feito na correspondência especificada entre os

dois mundos: o da semântica da representação e o da fidelidade, sendo que, esta última é difícil

de ser atingida completamente, pois a única representação completa de um objeto é o próprio

objeto;

b) É uma aproximação imperfeita da realidade (abstração), pois ao selecionar-se uma

representação, esta-se tomando um conjunto de decisões sobre “como” e o que “ver” desse

mundo;

c) É uma teoria fragmentada de raciocínio que especifica quais inferências são válidas

e quais são recomendadas. Uma representação é motivada por alguma percepção de como as

pessoas argumentam ou por alguma crença sobre o que significa raciocinar;

d) É um meio de computação pragmaticamente eficiente. A representação pode tornar

o entendimento possível, mas não facilmente computável;

e) É um meio de expressão, isto é, uma linguagem na qual se pode dizer coisas sobre o

mundo real.

Segundo Davis (1992) (apud Campos, 2001 p.49), o modelo da representação do

conhecimento nunca será completo. No entanto, deve ser o suficiente para comunicar o

entendimento e ajudar na interpretação por parte de quem irá utilizá-lo. Portanto, a criação do

modelo de forma eficiente e eficaz auxiliará na implementação de um comportamento

inteligente (TUOMI, 1999). Isso ajudará o ciclo de transmissão do conhecimento entre os

desenvolvedores.

Segundo Togneri et al. (2004), é necessário ter uma gerência do conhecimento “para

facilitar a captura, o armazenamento, a organização e o compartilhamento do conhecimento,

visando promover o seu reuso e disseminação”. Segundo Ramesh (2002), a gerência do

conhecimento envolve a aquisição, a assimilação e o uso do conhecimento explícito e tácito

Page 37: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

38

existente em toda a organização. De acordo com autor, “o processo de conhecimento na

engenharia de software é qualquer conhecimento explicito ou tácito que envolve as atividades,

passos e processos envolvidos na criação de uma solução de software”. Portanto, o essencial

para a geração do conhecimento é a criação de uma rede de relacionamentos entre

objetos/objetos, pessoas/pessoas e de relacionamentos entre objetos e pessoas. O autor

acrescenta que não basta somente disponibilizar o conhecimento para os envolvidos; deve ser

avaliada a forma de apresentação, a capacidade de absorção das pessoas envolvidas e o valor

que essas pessoas dão ao conhecimento. Estes são fatores críticos para o sucesso da

transferência do conhecimento entre os integrantes da equipe de desenvolvimento (RAMESH,

2002).

O conhecimento, normalmente, é fragmentado nas diversas ferramentas, documentos e

pessoas envolvidas no processo de desenvolvimento. A unificação destes fragmentos de forma

que possam ser recuperados e aplicados no desenvolvimento do produto é a maior preocupação

do conhecimento em desenvolvimento de software. Essa unificação é feita a partir da

rastreabilidade entre os elementos e pela implementação dos seus relacionamentos (RAMESH,

2002). Segundo esse autor, desenvolvedores com menor experiência se beneficiarão da

unificação desses fragmentos a partir do entendimento dos relacionamentos existentes e dos

registros dos desenvolvedores mais experientes sobre as soluções adotadas. Por fim, “para que

ocorra o aprendizado organizacional, o conhecimento sobre os projetos, incluindo aquele no

processo de Engenharia de Requisitos (ER), deve ser documentado e organizado em uma

memória organizacional, que apoiará as tomadas de decisões em projetos futuros” (TOGNERI

ET AL., 2004).

2.3 Léxico

Segundo Ferreira (1999), léxico “é o conjunto de vocábulos de um idioma; dicionário

dos vocábulos usados por um autor”. Em sistemas computadorizados, o léxico é utilizado nos

sistemas de Processamento da Linguagem Natural (PLN). Specia e Rino (2002) descrevem o

processo de formação de um léxico enriquecido, e Fano et al. (1989) descrevem uma

ferramenta de PLN para apoiar o desenvolvimento de software. O léxico é utilizado, também,

para ajudar no entendimento e na especificação de requisitos (LEITE E FRANCO, 1993).

Page 38: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

39

Em sistemas de PLN, o léxico é um recurso lingüístico voltado tanto para a

interpretação, quanto para a geração da Linguagem Natural. Segundo Specia e Rino (2002), o

léxico:

Consiste em um conjunto de palavras ou expressões da LN, chamadas de itens lexicais, associadas à sua descrição, ou seja, a um conjunto de traços (morfológicos, sintáticos e semânticos, por exemplo) cujos valores fornecem as informações necessárias para que tais palavras ou expressões sejam processadas pelo sistema. Cada item, juntamente com sua descrição, é chamado de entrada lexical. (SPECIA e RINO, 2002, p. 1).

Na engenharia de software o léxico é usado para definir tanto o universo de discurso do

domínio da aplicação, quanto o universo de discurso do processo de desenvolvimento de um

software.

Na atividade de desenvolvimento de um produto de software existem vários tipos de

entrada lexical. Essas entradas podem ser mapeadas, a partir do domínio do problema relativo

aos requisitos do software, no ciclo de vida do processo de desenvolvimento do produto e nas

atividades de gestão do processo de desenvolvimento. O conhecimento a ser transmitido para a

equipe de desenvolvimento será obtido a partir da identificação desses léxicos e dos seus

relacionamentos. Esses relacionamentos formarão a rastreabilidade de qualquer entrada lexical.

Uma entrada lexical pode variar o seu conceito de acordo com a sua utilização. Por

exemplo, a entrada lexical “escopo” que na sua semântica representa o limite da visão sobre um

determinado alvo, ou seja, pode ter seu significado alterado. Quando o engenheiro de software

determina o “escopo” de um projeto, ele está relacionado com os requisitos de usuário. Quando

o líder de um projeto, através das suas atividades de gestão, determina o “escopo”, este está

relacionando-o às atividades que deverão ser trabalhadas para atingirem o objetivo do projeto.

Semelhante a este contexto, os tipos de entrada lexical variam no processamento da linguagem

natural. Eles podem estar representados na sua forma canônica, necessitando de algum processo

de derivação para serem entendidos.

No sistema de PLN, este tipo de variação está representado pelas flexões de gênero,

número, grau, modo e tempo (SPECIA e RINO, 2002 e FANO ET AL., 1989). Portanto, para

que o conhecimento possa ser gerado a partir da rastreabilidade, todo léxico deverá estar

relacionado a um tipo de léxico. O tipo de léxico é uma especialização do próprio léxico. Este

relacionamento permitirá o entendimento do problema, ou seja, o léxico “escopo” poderá estar

ligado ao tipo de léxico “projeto” e ao tipo de léxico “produto”, ou ainda, ao tipo de léxico

Page 39: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

40

“visão de processo” e ao tipo de léxico “visão de gestão”. Assim, o conceito do “léxico escopo”

irá variar de acordo com o relacionamento que possuir com outros léxicos (tipo léxico).

Para Fano et al. (1989), o processo de desenvolvimento da base de conhecimento para a

formação de um sistema de PLN inicia-se com a identificação do léxico e do seu conceito e

deve, também, ser evolutivo. O processo é evolutivo devido aos seguintes fatores: a)

complexidade de se determinar e entender os termos do domínio do problema; b) a iteratividade

do ciclo de vida do processo de desenvolvimento de software, que permitem o surgimento de

novos requisitos, durante o desenvolvimento. Portanto, à medida que o conhecimento vai sendo

adquirido, deve-se reavaliar a formação da base do conhecimento.

Similar ao processo de desenvolvimento, a rastreabilidade formará o conhecimento

através da identificação do léxico e seus relacionamentos durante todo o ciclo de vida do

produto. Para cada léxico e seus relacionamentos deve-se identificar também os conceitos

existentes sobre os mesmos. Essas identificações consistem em uma das atividades da equipe de

desenvolvimento e deverão ser apoiadas por ferramentas, para facilitar o seu manuseio e

atualização, de forma que, o conhecimento gerado possa ser armazenado e utilizado por todos

os integrantes da equipe de desenvolvimento.

De acordo com Leite e Franco (1993), a construção do léxico é baseada na idéia de

aquisição do vocabulário, ou seja, “entender a linguagem do problema sem se preocupar em

entender o problema”. A principal meta “é registrar os sinais (palavras e frases), que são

peculiares do domínio”. Portanto, a compreensão do universo de discurso será realizada mais

rapidamente, se os envolvidos no processo de desenvolvimento de um software utilizar em um

vocabulário comum. Essa compreensão do vocabulário ajudará na transmissão do

conhecimento durante a atividade de elicitação de requisitos.

A Linguagem Estendida do Léxico1 (LEL) é gerada a partir de símbolos. Esses símbolos

são definidos de acordo com o domínio que se deseja representar (LEITE e FRANCO, 1993). O

léxico é identificado por um nome e por sua descrição, ou conceito. As entradas do LEL são

classificadas conforme a classificação utilizada no Universo de Discurso: Sujeito, Objeto,

Verbo e Estado. Leite e Franco (1993) apresentam a criação da linguagem léxico estendido em

quatro passos: identificar as principais fontes de informações do universo do discurso; criar

uma lista de sinais relevantes para o universo do discurso; definir o significado desses sinais e

validar o léxico criado.

1 LEL – Léxico Estendido da Linguagem é uma representação dos símbolos da linguagem, ou LAL – Léxico Ampliado da Linguagem (Silva, Leite e Breitman, 2005).

Page 40: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

41

2.4 Metas

Normalmente, um software é desenvolvido para melhorar ou aprimorar a rotina de

trabalho e/ou o negócio de uma empresa ou de um departamento. A área de informática serve

de suporte para vários departamentos, para que estes possam atingir ou alavancar os negócios

da empresa. Assim, a informática se apresenta como uma ferramenta fundamental para a

melhoria e racionalização do processo produtivo.

Ao contratar o desenvolvimento de um software, em busca de maior eficiência e

produtividade, o cliente se preocupa com os objetivos a serem alcançados.

A Meta é o objetivo que o sistema (software + ambiente), como um todo, deverá atingir

na visão do usuário, ou seja, na visão do negócio no qual o produto a ser construído estará

inserido (DARDENNE, FICKAS e LAMSWEERDE, 1991), (LAMSWEERDE, 2001).

Um modelo de metas envolve quatro conceitos importantes, segundo Dardenne, Fickas

e Lamsweerde (1991):

• Agente: é quem processa a ação. Ou seja, é aquele que tem a responsabilidade sobre as

metas, ou o que tem o desejo de ela ser alcançada – Ex: stakeholderes, atores;

• Metas: são os objetivos que o sistema deverá alcançar. Não pode ser descrita

exclusivamente em termos de objetos e ações. Não é operacional, e sim o alvo a ser

atingido pelo sistema a ser construído. Ex: Maior capacidade de previsão de tempo de

desenvolvimento, melhor controle sobre as vendas, dentre outras;

• Restrições: são as condições/ações que influenciam a realização das metas. Podem ser

feitas antes, durante e após a realização. São obtidas através dos relacionamentos

existentes entre as metas. Ex: para ter maior capacidade de previsão, deve-se antes

trabalhar as atividades do planejamento;

• Riscos: Identificação dos riscos ou obstáculos para se conseguir atingir a meta desejada.

2.4.1 Identificação de Metas

Durante o desenvolvimento de software, o foco inicial a ser trabalhado e modelado deve

ser o negócio do cliente. Esta postura permite identificar como o sistema contribuirá para a

Page 41: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

42

melhoria do processo produtivo do cliente, de modo que se possa entender o domínio no qual o

software está inserido. Essa atividade deve-se iniciar procurando identificar quais as metas que

o usuário pretende alcançar com o produto a ser desenvolvido. Adotando-se esta postura,

obriga-se o usuário a descrever seu negócio e suas atividades, impedindo que detalhes do

software sejam discutidos em um primeiro momento.

A forma de perguntar é muito importante nesta fase de levantamento. Não se deve

iniciar com expressões do tipo “O que você quer?”. A tendência é que ele não responda o que

ele realmente quer. Para cada meta dos stakeholders deve-se procurar trabalhar e refinar através

das perguntas “Como você quer?” e “Por quê você quer?”. O “Como?“ irá permitir um melhor

entendimento e ajudará na formulação do refinamento e identificação das sub-metas. O “Por

quê?“ ajudará a elaborar o nível superior de abstração das metas, construindo assim, toda a

hierarquia das metas (LAMSWEERDE, 2001). Estas duas perguntas ajudarão a compreender o

negócio e a forma como o sistema deverá estar inserido.

Durante esse trabalho de refinamento de metas, os requisitos funcionais e não

funcionais surgirão naturalmente. Os requisitos não funcionais, em determinados momentos,

poderão sofrer fusões com as metas. É importante modelar o requisito não funcional como

metas, pois estes darão apoio às demais metas e requisitos funcionais. Deve-se ter sempre em

mente que Meta é o que se deve atingir, e Requisito é o que deverá ser feito para atingir-se as

metas.

Os requisitos devem relacionar-se com as metas, funcionando como mecanismo de

suporte para o alcance das mesmas. Todas as metas devem ser suportadas por requisitos. Uma

meta sem requisito poderá indicar que ela não deve ser atingida, ou que necessita de um melhor

refinamento. Por sua vez, um requisito que não dá suporte a nenhuma meta indica que este

requisito não faz parte do escopo, ou necessita de um maior refinamento (LAMSWEERDE,

2001).

Segundo Lamsweerde (2001), a modelagem de metas apresenta as seguintes

vantagens:

a) Permite a resolução e documentação de conflitos entre os stakeholders. Fica mais

fácil e transparente discutir e buscar uma aprovação, entre os stakeholders, através do gráfico

gerado na modelagem, além de indicar o caminho que o projeto deverá seguir. E, sobretudo,

ficará representada no gráfico a decisão tomada e o porquê da decisão. Isso, ainda, ajuda a

justificar e explicar a presença de especificações não compreendidas pelo cliente;

b) Melhora a elaboração do escopo do produto. Durante a fase de concepção do

projeto é de extrema importância identificar o escopo a ser construído. O escopo é a base do

Page 42: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

43

planejamento e das estimativas de recursos, de custos e de tempo do projeto (MARTINS,

2005). As metas, avaliadas como objetivo do usuário, ajudarão na criação e no controle dos

limites do projeto, a partir da ligação de todos os requisitos com as metas identificadas e

refinadas. O produto deverá dar suporte às metas durante a sua execução;

c) Facilita o levantamento de requisitos. Para o usuário, é mais fácil descrever seus

objetivos do que propriamente os requisitos do software, devido a inúmeros problemas

detectados na fase de elicitação de requisitos (GOGUEN E LINDE, 1993). Pois, para o usuário

é mais fácil, inicialmente, dizer que tem a necessidade de controlar melhor a alocação das

atividades de todos os seus colaboradores, do que dizer que o produto deve permitir a seleção

de uma atividade, alocação da quantidade de horas, a data, os problemas na execução etc.

Através dessa abordagem e do múltiplo refinamento das metas, os requisitos necessários para a

implementação surgirão naturalmente;

d) Melhora a comunicação entre os stakeholders. A modelagem gráfica, do tipo grafo,

facilita a comunicação entre os envolvidos. O modelo ajuda a visualizar o conjunto de metas e a

comunicar e entender a estrutura desejada pelos stakeholdes do produto a ser construído. Um

modelo representa uma simplificação do software a ser construído. Dessa forma, a

documentação e a visualização das decisões que devem ser tomadas ao longo do projeto ficam

registradas e embasadas;

e) Facilita a negociação das prioridades do desenvolvimento. Se perguntar a um

usuário qual requisito deve ser feito primeiro, a tendência é que ele responda “todos”. Para o

usuário é difícil separar um requisito do outro. Entretanto, se perguntar qual meta é prioritária,

o usuário consegue identificar as mais importantes e de maior relevância para o seu trabalho.

Essa identificação ajuda na divisão do projeto.

Page 43: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

44

2.5 Engenharia de Requisitos

Independentemente do processo de desenvolvimento escolhido, seja ele rígido baseado

em fases e fluxos (KRUCHTEN, 2003), (LARMAN, 2002), (PADUA, 2003), seja ele baseado

nos processos ágeis (BECK, 2004), a engenharia de requisitos aplicada no desenvolvimento de

qualquer produto de software resulta em melhorias no processo e na gestão da qualidade do

produto final (NUSEIBEH E EASTERBROOK, 2000). A análise de requisitos é a atividade

mais crítica no ciclo de vida de um software. Erros durante essa etapa podem causar

conseqüências desastrosas para o software, para o cliente e para o desenvolvedor

(DARDENNE, FICKAS e LAMSWEERDE, 1991). Existem inúmeros problemas e formas de

levantar requisitos de software, conforme descritos por Nuseibeh e Easterbrook (2000) e

Goguen e Linde (1993). Mas, independentemente da forma escolhida, todas buscam o

entendimento do que deve ser feito, ou seja, transformar as necessidades e desejos dos clientes

em um software executável e controlado pelo computador.

Acredita-se que, além de buscar o entendimento do que precisa ser feito, é necessário

modelar esses requisitos, com o propósito de melhorar esse entendimento e, assim, gerar o

conhecimento necessário, para o desenvolvimento do software, conforme os trabalhos de

cenários, metas, modelagem de requisitos não funcionais. Conforme descreve-se no seção 2.4

(metas), considera-se que, independentemente da forma de levantamento dos requisitos

escolhida, deve-se começar entendendo onde o usuário deseja chegar, registrando o “como” e o

“por que” de cada meta, identificando os agentes e as suas restrições.

A atividade de análise dos requisitos é dividida em dois passos, segundo Dardenne,

Fickas e Lamsweerde (1991):

1- Elicitação dos requisitos: fase geradora do conhecimento necessário para a

elaboração da arquitetura do sistema;

2- Especificação Formal: momento em que o modelo elaborado na elicitação será

refinado e validado através de uma linguagem formal.

A atividade inicial da elicitação é o levantamento e o refinamento de metas, que devem

ser realizados através de algum processo de modelagem. Durante essa atividade é importante a

identificação dos agentes envolvidos e das restrições que darão suporte à satisfação de cada

meta. O modelo proposto por Lamsweerde (2001) apresenta um diagrama baseado em grafos,

utilizado para representar o refinamento hierárquico de metas e sua ligação com os requisitos e

Page 44: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

45

submetas, indicando a condição e a forma de contribuição de cada sub-meta / requisito para a

meta hierarquicamente superior. Esta modelagem permite realizar a representação de todo

processo de levantamento, facilitando o entendimento e a comunicação com o usuário.

Acredita-se que as vantagens citadas por Lamsweerde (2001) somente serão atingidas se

a atividade de levantamento for efetuada de forma integrada, ou seja, usuário e desenvolvedor

gerando o conhecimento necessário para o desenvolvimento, a fim de melhorar a comunicação

entre eles. O modelo de metas apresentado por Lamsweerde (2001) utiliza o modelo formal e o

modelo gráfico. Acredita-se que o modelo formal é uma boa forma de documentar e validar

requisitos, mas não apresenta vantagens para a integração com o usuário e para a solução dos

problemas de levantamento existentes. Por outro lado, o modelo gráfico apresenta a vantagem

de ser mais eficiente na comunicação entre o desenvolvedor e o usuário, no entanto,

Lamsweerde (2001) não discute como será desenvolvido esse modelo. Entende-se que o

modelo deve ser criado pelo desenvolvedor, a partir das informações fornecidas pelo usuário,

considerando que eles possam trabalhar juntos, ou não. Entende-se que, a forma apresentada

por esse autor não pressupõe a integração com o usuário em sua plenitude.

Na proposta, dessa dissertação, o modelo é desenvolvido através de refinamentos

sucessivos, efetuados tanto pelo desenvolvedor quanto pelo usuário. O modelo criado não será

mais um modelo de desenvolvimento de software, e, sim, um modelo de comunicação e

validação entre o usuário e o desenvolvedor. A documentação inicial do desenvolvimento

poderá se tornar um investimento para ambos os interessados. A aquisição do conhecimento do

sistema a ser construído será realizada através dos conceitos elaborados durante este

refinamento. O sucesso desse refinamento poderá influenciar diretamente na aquisição do

conhecimento e na geração da documentação necessária para o usuário e o desenvolvedor. O

modelo de metas refinado, aliado ao modelo de requisitos, os quais darão suporte às metas,

deve ser construído gradualmente e registrado em um banco de dados.

Sem o apoio de uma ferramenta é muito difícil aplicar os conceitos de construção em

mão dupla e a geração de documentação automática para o usuário e para o desenvolvedor, de

acordo com as necessidades do projeto. Sem o registro das metas e requisitos em um banco de

dados, é difícil a sua gestão, pois pode consumir um investimento muito grande de tempo para

gerenciar as atividades e os conflitos existentes.

As atividades de modelar meta, identificar requisitos e as histórias (narrativas do

usuário) para a sua execução devem ser atividades em espiral e transversal, em todas as fases do

desenvolvimento. Acredita-se que o conhecimento deve ser adquirido gradualmente, através de

feedback do usuário. Esse feedback poderá confirmar o que está sendo feito e poderá gerar

Page 45: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

46

mudanças que ocorrem nos requisitos. Essas mudanças podem estar relacionadas ao não-

entendimento na fase inicial, ou à própria mudança gerada pelo crescimento da necessidade do

usuário, ou ainda, por alguma mudança na direção dos negócios do usuário, ou por força de lei.

2.6 Rastreabilidade

A rastreabilidade é uma parte relevante do processo de desenvolvimento e deve ser

considerada pelas empresas, para melhorar a qualidade do produto final e para a obtenção do

nível de maturidade, tanto para o CMMI, a partir do nível 2, quanto para o MPS/BR (2006), a

partir do nível G. A sub-prática 1.4 (Manter a Rastreabilidade Bidirecional de Requisitos), da

gerência de requisitos do modelo de maturidade CMMI (2006), descreve a necessidade de

implementação da rastreabilidade na empresa da seguinte forma:

A intenção desta prática específica é manter a rastreabilidade bidirecional dos requisitos para cada nível de decomposição do produto. Quando os requisitos são bem gerenciados, a rastreabilidade pode ser estabelecida, desde um requisito fonte até seus requisitos de mais baixo nível e destes de volta para o seu requisito fonte. Tal rastreabilidade bidirecional auxilia a determinar se todos os requisitos fonte foram completamente tratados e se todos os requisitos de mais baixo nível podem ser rastreados para uma fonte válida. A rastreabilidade de requisitos pode também cobrir os relacionamentos com outras entidades, como produtos de trabalho intermediários e finais, mudanças na documentação de design, planos de testes e tarefas de trabalho. A rastreabilidade deverá cobrir os relacionamentos horizontais e verticais, como as interfaces. A rastreabilidade é particularmente necessária na condução da análise do impacto de mudanças de requisitos nos planos do projeto, atividades e produtos de trabalho. (CMMI, 2006, p.97).

A partir dessa sub-prática, pode-se destacar os seguintes elementos:

• Bidirecionalidade, ou seja, ter a possibilidade de acompanhar os efeitos de qualquer

artefato produzido durante o ciclo de vida do produto, tanto do mais alto nível para o

mais baixo nível, quanto ao contrário, do mais baixo nível para o nível mais alto. Por

alto nível pode-se considerar as metas e os requisitos do usuário e, por baixo nível,

tabelas de banco de dados e métodos implementados das classes de objetos.

Page 46: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

47

• Relacionamento com outras entidades, ou seja, ter a possibilidade de relacionar esses

artefatos produzidos com as atividades que foram necessárias para a sua produção.

Essas atividades são relacionadas com o ciclo de vida do produto e com as atividades de

gestão de projeto.

Segundo Ramesh (2002), a rastreabilidade é um dos componentes chaves para a

transmissão do conhecimento. A rastreabilidade deve permitir o acompanhamento do requisito

durante todo o seu processo de transformação no produto de software. A transformação dos

requisitos em software envolve desde as atividades de elicitação de requisitos, até a criação do

produto para ser utilizado pelos usuários. Essa transformação é mapeada a partir da criação e

manutenção dos relacionamentos entre objetos1 e pessoas2. Estes relacionamentos formarão a

rastreabilidade, e esta ajudará a criar, armazenar, recuperar, transferir e aplicar o conhecimento

para a criação de um produto de software. Segundo o autor, a “rastreabilidade ajuda a gerar o

conhecimento explícito e tácito sobre o processo de desenvolvimento de software e suas

saídas”, pois, a habilidade de relacionar as fontes do conhecimento levará os envolvidos a

“insights” e idéias sobre o produto que está sendo construído. E ainda facilitará a colaboração, a

comunicação e a criação do conhecimento entre os integrantes da equipe de desenvolvimento

(RAMESH, 2002).

O desenvolvimento de software é uma atividade de risco, principalmente devido às

possíveis mudanças de requisitos que ocorrem durante todo o projeto. A rastreabilidade poderá

ajudar nessa gestão de mudança, uma vez que, é possível: identificar o impacto da alteração;

calcular o impacto em todo o relacionamento entre os objetos alterados; eliminar os

relacionamentos que não têm impacto na alteração; efetuar a alteração em todos os

relacionamentos; verificar o impacto das alterações após terem sido implementadas. A partir

dessa análise, é possível então calcular o tempo e o custo do impacto das alterações (DICK,

2005).

De acordo com Gotel e Finkelstein (1994), a rastreabilidade de requisitos refere-se à

habilidade de descrever e seguir o ciclo de vida do requisito de forma bidirecional, ou seja,

tanto para frente quanto para trás. Gotel e Finkelstein (1994) dividem a rastreabilidade em

dois tipos básicos a serem implementados:

a) Rastreabilidade do Pré-Requisito: preocupa-se com a rastreabilidade dos

requisitos antes de iniciar o processo de transformação do requisito em software;

1 Objetos – Artefatos produzidos nas atividades de construção de um software. 2 Pessoas – Indivíduos envolvidos nas atividades de construção de um software.

Page 47: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

48

b) Rastreabilidade do Pós-Requisito: preocupa-se com a rastreabilidade dos

requisitos a partir do desenvolvimento do processo de transformação do requisito em

software.

Figura 6 – Tipos de Rastreabilidade de Requisitos

Fonte: Gotel e Finkelstein (1994)

A figura 6 apresenta o relacionamento entre os dois tipos de rastreabilidade

apresentada por Gotel e Finkelstein (1994). A Rastreabilidade do Pré-requisito está relacionada

com a obtenção dos requisitos junto com o usuário e a Rastreabilidade do Pós-requisito está

relacionada com os artefatos e a ligação entre estes artefatos com os requisitos levantados junto

com o usuário para a produção do produto final.

Existem várias propostas e métodos para construir uma rastreabilidade de requisitos,

tais como: matriz de rastreabilidade, referências cruzadas, redes de relacionamentos, dentre

outras. Esses trabalhos dão maior ênfase a algum aspecto da divisão proposta por Gotel e

Finkelstein (1994). Toranzo, Castro e Mello (2002), por exemplo, apresentam um meta-modelo

baseado em uma rede de relacionamentos entre os elementos. Esse modelo trabalha bem a

rastreabilidade do pós-requisito. Leite et al. (1997), Leite e Franco (1993), descrevem a

aquisição do requisito baseada em cenários. A forma proposta permite iniciar o processo de

rastreabilidade do pré-requisito, uma vez que o enfoque é a descrição do usuário a partir de suas

necessidades. Após a criação do cenário é feita a “interpretação” das necessidades descritas. Na

Page 48: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

49

mesma linha de trabalho, Antoniol et al. (2002) trabalharam a rastreabilidade entre o código e a

documentação, a partir de um processo que interpreta os textos dos documentos analisados.

Para efetuar a rastreabilidade segundo Kean (1998), três questões devem ser trabalhadas

e definidas:

a) O que necessita ser rastreável?

b) Quais relacionamentos necessitam ser feitos?

c) Como, quando e quem é responsável pelas informações mantidas no banco de dados?

O propósito de se trabalhar estas três questões é dar maior qualidade às informações

rastreáveis, de modo que essas possam realmente se transformar em conhecimento a ser

utilizado por toda a equipe. É de suma importância a determinação do que deve ser rastreável e

os seus relacionamentos devem estar focados na característica da empresa, na capacidade de

absorção pelos integrantes da equipe e o valor que cada membro da equipe dá ao conteúdo

rastreável. Da mesma forma, é necessário ter um responsável por verificar estes

relacionamentos e depois validar se os objetivos de rastreabilidade foram atingidos com os

dados e informações armazenadas no banco de dados.

2.7 Processo desenvolvimento de Software

Segundo Pressman (2002), a Engenharia de Software “é uma disciplina que integra

processo, métodos e ferramentas para o desenvolvimento de software”. Assim, todo

desenvolvimento de software deve seguir um processo pré-definido e gerido, de forma a

garantir a qualidade do produto final durante todo o desenvolvimento do produto de software.

Segundo Booch, Rumbaugh, Jacobson (2000) “um processo é um conjunto de passos

parcialmente ordenados com a intenção de atingir uma meta”. Para Pressman (2002),

“é um dialogo no qual o conhecimento, que deve se transformar em software,

é reunido e embutido no software. O processo provê interação entre usuários

e projetistas, entre usuários e ferramentas em desenvolvimento e entre

projetistas e ferramentas em desenvolvimento [tecnologia]. É um processo

interativo no qual a própria ferramenta serve como meio de comunicação,

Page 49: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

50

com cada nova rodada de diálogo atraindo mais conhecimento útil do

pessoal envolvido” (PRESSMAN, 2002, p.17).

A definição de Pressman (2002) ajuda a compreender a necessidade de estudar e

verificar mecanismos que possam auxiliar a transmissão do conhecimento entre todos os

envolvidos, sejam eles, usuários, projetistas e ferramentas. Na proposta, dessa dissertação, o

mecanismo para apoiar a elicitação dos requisitos do usuário é baseado em metas e o

mecanismo para apoiar a comunicação entre os desenvolvedores é a rastreabilidade com base

no léxico.

A seguir, são detalhados o processo de desenvolvimento RUP (Rational Unified

Process) e a Gestão de Projetos, com a finalidade de apoiar a identificação das fontes de

informação do universo do discurso relativo ao processo e a gestão. As classes e os

relacionamentos existentes entre as classes representam os léxicos, de processo e de gestão, a

serem identificados e trabalhados pela empresa durante o desenvolvimento de um projeto.

2.7.1 Rational Unified Process - RUP

Segundo Larman (2004), o “PU (Processo Unificado) surgiu como um processo popular

para o desenvolvimento de software visando à construção de sistemas orientados a objetos”. O

PU utiliza uma abordagem de desenvolvimento iterativo, cujo ciclo de vida é baseado em

refinamentos e incrementos através das iterações. Essas iterações utilizam uma realimentação, a

partir dos usuários, para uma adaptação dos requisitos do sistema (LARMAN, 2004).

O RUP é um processo de engenharia de software desenvolvido pela Rational Software

Corporation, a partir de um refinamento detalhado do PU (LARMAN, 2004). De acordo com

Kruchten (2003), “seu objetivo é assegurar a produção de software de alta qualidade que

satisfaça as necessidades de seus usuários finais dentro de prazos e orçamentos previsíveis”. O

RUP é um guia que orienta a construção de modelos através da UML (Unified Modeling

Language). A UML é uma linguagem gráfica adequada para a modelagem de sistemas. Através

dos seus diagramas, ela consegue representar a estrutura, o relacionamento e o comportamento

do sistema a ser construído (BOOCH, RUMBAUGH, JACOBSON, 2000).

Page 50: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

51

Figura 7 – Modelo de Domínio baseado em Kruchten (2003) e Pádua (2003)

A figura 7 apresenta o modelo de domínio do RUP, baseado em Kruchten (2003) e

Pádua (2003). Nesse modelo o processo RUP é uma agregação de fases e fluxos. Essas fases e

fluxos são utilizados pela equipe de desenvolvimento para a elaboração de um projeto.

As fases são representadas por um período de tempo, são separadas por marcos bem

definidos que orientam o progresso do processo de desenvolvimento do software. O seu

conjunto representa o ciclo do desenvolvimento do software. As fases podem ser especializadas

em concepção, elaboração, construção e transição.

Os fluxos do RUP são especializados em fluxo técnico e fluxo gerencial. Os fluxos

técnicos correspondem às atividades de desenvolvimento do projeto. Os fluxos gerenciais

correspondem às atividades de controle e garantia de qualidade que agem na realização dos

fluxos técnicos e na elaboração do produto final.

Page 51: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

52

Dentro de cada fase existem o planejamento e a execução de uma ou mais iterações.

Uma iteração consiste em um script ou roteiro, a partir de um conjunto de fluxos. Esses scripts

utilizam critérios de aprovação para a sua realização. Esses critérios indicam a forma de

aprovação dos produtos gerados nas atividades existentes na iteração.

Uma atividade é um trabalho desempenhado por um indivíduo e pode ser dividida em

etapas, as quais podem ser especializadas em reflexão, desempenho e revisão. A reflexão

corresponde ao entendimento da natureza e dos artefatos ligados à atividade. O desempenho

corresponde à criação ou à atualização dos artefatos. A revisão se relaciona à inspeção dos

resultados baseada em critérios pré-estabelecidos. A atividade é executada por uma pessoa, a

qual é representada pelo papel que desempenha no processo de elaboração do software. Uma

pessoa pode desempenhar um ou mais papéis durante o ciclo de produção do software.

Uma atividade consome e gera artefatos, que são produtos ou sub-produtos tangíveis.

São produzidos, modificados ou usados nas atividades executadas pelos indivíduos alocados no

processo. Os artefatos podem ser especializados em várias formas e formatos, tais como

modelos, elementos de modelo, documentos, relatórios e códigos fontes. Os artefatos e as

decisões tomadas na produção dos artefatos correspondem ao conhecimento gerado durante o

desenvolvimento.

2.7.2 Gerência de Projetos

A Gerência de Projetos é um processo que vem sendo estudado, desenvolvido e

melhorado ao longo das últimas décadas. Em 1969, foi fundado o Project Management Institute

(PMI) nos Estados Unidos. O PMI é uma entidade internacional que regulamenta e distribui

conhecimentos relacionados com a Gerência de Projetos. Sua missão, segundo Martins (2005),

é “promover o profissionalismo e desenvolver o estado da arte na gestão de projetos provendo

aos seus associados serviços e produtos; e estabelecendo a aceitação do gerenciamento de

projetos como uma disciplina e uma profissão”.

O PMI elaborou o Project Management Body of Knowledge (PMBOK). Este é um

guia que descreve as áreas de conhecimento necessárias aos profissionais que trabalham com

gerenciamento de projetos. O principal objetivo do guia é “identificar o subconjunto do

Conjunto de conhecimentos em gerência de projetos que é amplamente reconhecido como boa

Page 52: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

53

prática”. A idéia do guia é fornecer uma visão geral das práticas de gerência de projetos

reconhecida pelo seu valor e sua utilidade (PMBOK, 2004).

A figura 8 apresenta um modelo de domínio que descreve as áreas de conhecimento

mapeadas a partir do PMBOK. No PMBOK os processos são organizados em fases, sendo elas:

iniciação, planejamento, execução, controle e encerramento. Estas fases são interligadas pelas

atividades divididas em áreas de conhecimento, através de resultados que são produzidos e

utilizados pelas mesmas. As áreas de conhecimento trabalhadas no PMBOK são:

gerenciamento integrado, gerenciamento do escopo, gerenciamento do tempo, gerenciamento

de custos, gerenciamento de qualidade, gerenciamento de recursos humanos, gerenciamento de

comunicações, gerenciamento de risco e gerenciamento de aquisições.

Figura 8 – PMI – Gerência de Projetos baseado em Martins (2005)

A figura 9 apresenta o diagrama de domínio dos elementos da gerência de projetos.

Os elementos são distribuídos dentro das fases, ou seja, durante a fase de iniciação é definida a

missão e o objetivo do projeto, bem como a alocação do responsável (gerente) e a geração do

termo de referência. São identificados e separados o escopo do projeto e o escopo do produto,

para facilitar o gerenciamento do projeto e a sua rastreabilidade. Cada escopo tem suas metas a

Page 53: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

54

serem atingidas. No caso do escopo do produto, as metas são refinadas nos requisitos do

usuário. Neste momento, também, são listadas as premissas e restrições levantadas para a

execução. Os riscos são identificados e criados os planos de ações corretivas que deverão ser

executados. O resultado das atividades desenvolvidas deve ser o plano de projeto.

Figura 9 - PMI – Elementos da Gerência de Projetos baseado em Martins (2005)

Na fase de planejamento, as metas são convertidas em um plano de ação e estima-se o

prazo e o custo do projeto. São identificados os stakeholders (pessoas e entidades que têm

interesse no projeto como: os desenvolvedores e os clientes). O resultado das atividades de

planejamento deverá ser o escopo detalhado, a estrutura de divisão de trabalho, o cronograma, a

alocação das pessoas envolvidas, o plano de tratamento de risco e o plano de comunicação. De

acordo com Martins (2005), “do equilíbrio de todos estes elementos, obtemos um projeto de

qualidade, onde, ao final do projeto, o custo e o prazo foram respeitados, o produto foi entregue

conforme pedido pelo cliente e o moral da equipe continuou elevado”.

Page 54: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

55

A fase de execução do projeto corresponde às ações necessárias para que haja o

sincronismo entre o planejado e o executado. Nessa fase, deve ser garantido o esforço

necessário para o cumprimento das estimativas e, principalmente, o caminho crítico elaborado

na fase de planejamento. O caminho crítico das atividades determinadas para execução do

projeto corresponde, segundo Martins (2005), “ao caminho cuja duração é a mais longa do

cronograma, e qualquer atraso em uma das atividades deste caminho provoca atraso no projeto

inteiro”.

A fase de controle é o elo entre todas as fases do projeto. Inicia-se no planejamento e

ocorre paralelamente à fase de execução e finaliza na fase de encerramento. O objetivo dessa

fase é o acompanhamento das atividades, com o intuito de medir, comparar e avaliar. Pode-se

assim, indicar os ajustes e as ações corretivas e preventivas necessárias para o projeto. Assim,

serão conhecidos e gerenciados os desvios que aparecem durante a execução. O controle deve

ser feito nos seguintes itens: escopo, tempo, custos, riscos, qualidade, comunicação; ou seja, em

todas as áreas do conhecimento alocadas e desenvolvidas no projeto. Esses ajustes são

registrados através das lições aprendidas.

O encerramento consiste na fase de formalização do aceite do projeto e encerramento de

todos os contratos firmados para a execução. Também é feita a avaliação e análise das falhas

ocorridas. A partir da avaliação, é elaborada uma lista de recomendações para evitar tais

ocorrências em novos projetos. A lista de recomendações é implementada pelo registro das

lições aprendidas. Constrói-se assim, a base histórica de desenvolvimento de projetos.

Page 55: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

56

A figura 10 apresenta um diagrama de atividades mostrando a relação existente entre as

fases do projeto. O relacionamento entre cada fase é feito através de atividades que asseguram a

ligação entre as fases. São apresentados, também, os principais artefatos produzidos em cada

fase durante a sua execução.

Figura 10 - PMI – Diagrama de Atividades das Fases

Para o gerenciamento dos projetos é necessário distinguir o ciclo de vida do projeto das

fases de gerenciamento de projetos. O quadro 1 apresenta a relação entre as fases do ciclo de

vida do produto e as fases de projeto. O ciclo de vida do produto, ou seja, o processo de

software fornece a base das atividades que abrangeram o planejamento a ser desenvolvido

acompanhado e executado pela gestão de projetos. Este relacionamento é baseado na classe de

atividades cujos relacionamentos fazem a união entre as duas disciplinas – processo de

engenharia de software e gestão de projetos. Esses relacionamentos devem ser mapeados para a

construção do conhecimento integrado do desenvolvimento do software.

Page 56: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

57

Fase Inicialização Planejamento Execução Controle Finalização

Concepção X X

Elaboração X X X

Construção X X X

Transição X X X X

Quadro 1 – Relacionamento entre as fases do projeto e do ciclo de vida do processo RUP

A fase de inicialização ocorre no ciclo de vida concepção. Tanto a inicialização quanto a

concepção tratam da elaboração da proposta e do início do desenvolvimento do projeto. A fase

de planejamento deve ocorrer em todos os ciclos de vida do processo unificado. Na concepção,

é elaborado o planejamento do projeto como um todo. Esse planejamento é caracterizado como

sendo o plano de fase. Por se tratar de um processo iterativo a fase de planejamento também

deve ocorrer no final de cada iteração. Ou seja, no final de cada iteração é feito o plano de

iteração da próxima iteração a ser desenvolvida no projeto. A fase de execução corresponde ao

trabalho de transformar as necessidades do usuário em um produto de software, de acordo com

o que foi planejado e modelado. Esse trabalho é feito nos ciclo de vida elaboração, construção e

transição. A fase de controle corresponde à verificação e comparação entre o planejado e o

executado, e ocorre em paralelo com a execução. A fase de finalização corresponde à

implantação do projeto e a aquisição do aceite do cliente. No ciclo de vida do processo

unificado, a fase de finalização corresponde à última iteração da transição.

2.8 Projeto Discovery

O Projeto Discovery (PIETROBON, 2007), tem por objetivo estudar como visualizar a

informação e conhecimento sobre processo de desenvolvimento de software, gerando um

ambiente de visualização que seja hipermídia, multimídia e interativo, fazendo uso de

ferramentas para modelar o processo, o conhecimento e a visualização. Ele é um visualizador

de conhecimento sobre processos, que segue o modelo visto na figura 11. Da figura percebe-se

que, dado um item de processo, pode-se obter um conhecimento utilizando um recurso visual.

Por exemplo, caso se queira saber quem está envolvido na atividade de teste, pode-se obter a

resposta em fotos ou um texto com o nome das pessoas.

Page 57: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

58

Figura 11 - Modelo de Visualização Projeto Discovery

Fonte: Pietrobon, 2007.

Intuitivamente, o ambiente funciona da seguinte maneira: dado um item de processo P,

determina-se o que se quer saber (item de conhecimento - C) e então se escolhe a forma de se

obter este conhecimento, ou seja, a forma de visualização (V) que vai ser a mais adequada para

se obter este conhecimento.

Algumas características do modelo / ambiente proposto são:

• Pode-se ter mais de uma maneira de visualizar os dados e, portanto, mais de uma

maneira de se obter o conhecimento;

• Uma visualização pode fornecer mais de um item de conhecimento;

• Um conhecimento para ser alcançado necessita de mais de um item de processo;

• Diversos itens de processo podem permitir alcançar o conhecimento;

• Um item de conhecimento pode ser obtido por meio de diversos mecanismos de

visualização;

• Com o passar do tempo, existe um acréscimo da quantidade de conhecimento do

usuário;

• Nem todos os usuários podem ter acesso a todos os conhecimentos

Este trabalho de pesquisa se enquadra no Projeto Discovery, fornecendo meios de

visualizar conhecimento sobre os itens de processos relacionados a requisitos de software.

Visual Conhecimento

Processo

PVC

Page 58: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

59

3 PROCESSO DE DESENVOLVIMENTO COM MODELAGEM DE METAS

A partir do pressuposto de que as metas auxiliam na geração dos requisitos do

software, verifica-se a sua capacidade de transmissão do conhecimento entre o usuário e o

engenheiro de software, através da modelagem, dentro de um processo de desenvolvimento de

software.

Para a transmissão do conhecimento, trabalha-se apenas com a modelagem visual, que

consiste em: metas e requisitos. Os demais objetos trabalhados na modelagem de metas

conforme Lamsweerde (2001), não foram tratados, pois, considera-se que estão diluídos nos

artefatos e processos, já usualmente utilizados. Os objetos desconsiderados podem estar

relacionados com os elementos já usualmente utilizados na gestão de projetos e nos diagramas

da UML. Os agentes podem estar relacionados com os atores que fazem interação com o

produto de software e/ou com os stakeholders que estão envolvidos na produção. Os obstáculos

podem ser relacionados com a gerência de risco. Neste caso, a gerência de risco passa a

considerar também a possibilidade de que os requisitos possam ou não atingir as metas

modeladas.

A situação a ser trabalhada está representada no diagrama de domínio, na figura 12. De

acordo com essa figura, as necessidades do usuário podem ter interpretações diferentes por

parte do engenheiro de software. Essa interpretação permite construir os modelos do mundo

real através da UML, os quais serão transformados em software. A interpretação feita pelo

engenheiro de software permite conhecer o domínio que está sendo desenvolvido. O ato de

desenvolver e o ato de conhecer geram a experiência para o engenheiro. Esta experiência será

utilizada nos próximos projetos a serem desenvolvidos, a partir da utilização de algum tipo de

banco de conhecimento. Este banco de conhecimento equivale, na proposta, à rastreabilidade

baseada em léxico.

Page 59: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

60

Figura 12 – Diagrama de domínio para aquisição do conhecimento no desenvolvimento de um software

A questão a ser pensada, de acordo com o modelo apresentado, é: qual o tempo

necessário para que o engenheiro de software tenha conhecimento suficiente, tanto para

interpretar as reais necessidades do usuário, quanto para tomar as decisões relativas á

construção do produto? Mesmo os engenheiros de software mais experientes em

desenvolvimento de projeto podem ter dificuldades de entender e trabalhar um determinado

domínio ainda não conhecido. Pois, segundo Tuomi (1999), o conhecimento é a interpretação

da informação, portanto a experiência do domínio será afetada pela capacidade de interpretar a

informação. Essa experiência poderá diminuir ou alongar o período necessário para a

compreensão do que tem que ser desenvolvido, afetando a aquisição do conhecimento por parte

do engenheiro de software.

A tomada de decisão para a construção dos modelos que representaram o mundo real é a

inteligência (TUOMI, 1999). Portanto, o conhecimento obtido por meio da interpretação pode

não ser suficiente para que as decisões de projeto sejam tomadas. Esse impasse afeta o ciclo de

vida do produto e as alterações dos requisitos.

Parte-se da hipótese de que a modelagem de metas ajudará a diminuir o tempo

necessário para adquirir o conhecimento sobre um determinado domínio. A modelagem de

metas permitirá ao engenheiro de software abstrair-se do seu mundo técnico e voltar-se para o

mundo real do usuário. Essa abstração do mundo técnico ocorrerá a partir do momento em que

Page 60: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

61

o engenheiro de software se preocupar mais em entender os objetivos de negócio do usuário e

não somente com os requisitos do sistema.

Dessa forma, a figura 13 apresenta o modelo de aquisição das necessidades do usuário

baseada em metas. Uma vez que atender as metas é o objetivo de negócio do usuário, então

todas as suas necessidades devem dar suporte a uma ou mais metas de negócio. Tanto o

engenheiro de software, quanto o usuário devem estar focados nessas metas. Para o engenheiro,

as metas ajudam no entendimento do que tem que ser desenvolvido. E para o usuário, as metas

ajudam a definir o que o software deverá fazer. O entendimento das metas auxilia a

compreensão das necessidades a serem desenvolvidas. Essa compreensão melhorará a

interpretação das necessidades a serem implementadas. Por conseqüência, o tempo necessário

para efetuar o entendimento poderá diminuir.

Figura 13 – Diagrama de domínio para aquisição do conhecimento no desenvolvimento de um software utilizando Modelagem de Metas

Page 61: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

62

3.1 Processo de Desenvolvimento baseado em Metas

O modelo de processo de desenvolvimento baseado em Metas consiste na

implementação da modelagem de metas, no processo de engenharia de requisitos, inicia-se na

fase de concepção, passando por todas as fases do processo RUP (KRUCHTEN, 2003). O

conhecimento será obtido a partir das atividades de engenharia de requisito e será transmitido

para a equipe de desenvolvimento através do modelo de metas.

A importância de se iniciar com metas, de forma bem definida com os stakeholders, está

na identificação do modelo do negócio do cliente. Deve-se primeiramente conhecer o propósito

que o cliente tem para o software. O trabalho de identificação e modelagem das metas deve ser

feito de forma colaborativa entre o engenheiro de software e o usuário.

A partir do processo, baseado no RUP, já definido para o desenvolvimento do software,

foram feitas alterações nas atividades e no documento de especificação de requisitos e na

proposta de desenvolvimento de software, de forma a abranger as atividades de modelagem de

metas e o registro da mesma nos documentos. Nas seções seguintes são descritas essas fases

considerando estas modificações

3.1.1 Fase Concepção

Um processo de desenvolvimento de software inicia-se com a solicitação, por parte do

cliente, de um produto de software. Os desenvolvedores precisam fazer o levantamento de

requisitos capaz de balizar a atividade de construir a proposta de desenvolvimento do software

(KRUCHTEN, 2003). Normalmente, os custos da fase de concepção são absorvidos pelos

desenvolvedores. Estes por sua vez têm dificuldade em repassar esse custo para o cliente.

Sendo assim, esta fase é de vital importância para o sucesso financeiro e para o cumprimento

do tempo estabelecido na construção do produto.

Nesta fase, o primeiro passo é a identificação dos stakeholders envolvidos no processo

do levantamento inicial. Isso tem por objetivos: delinear o escopo do produto; identificar os

principais requisitos a serem desenvolvidos, em nível suficiente para balizar a construção da

Page 62: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

63

proposta; e fazer as estimativas iniciais de custo e tempo de desenvolvimento (KRUCHTEN,

2003, e LARMAN, 2004).

O levantamento deve iniciar-se com a identificação das metas que cada stakeholders

tem em relação ao produto a ser construído. A partir desta identificação e, antes de iniciar o

processo de detalhamento dos requisitos, o desenvolvedor deverá analisar as metas e modelá-

las de modo a preparar-se para o passo de refinamento. Os requisitos já identificados,

preliminarmente, devem ser alocados às suas metas, de forma que estas metas tenham o suporte

desses requisitos para serem atingidas (LAMSWEERDE, 2001). É importante que durante todo

o processo de levantamento e refinamento, sejam verificadas as metas e os requisitos que estão

sem suporte ou sem ligação. Essas metas e requisitos devem sempre ser reavaliados, e

aprovados pelos stakeholders, pois no modelo final, nenhuma meta poderá ficar sem suporte de

requisito, ou requisito sem estar ligado a uma ou mais metas. Os trabalhos de alocar os

requisitos e as metas forçam o desenvolvedor a pensar no problema sem se preocupar com a

solução do mesmo. Este processo consiste em verificar as respostas do por que e do como, na

visão do usuário. Conforme já descrito anteriormente, o por que mostra ao desenvolvedor a

hierarquia superior da meta ou requisito, e o como mostra a forma de se obter respostas para a

meta ou o requisito que está sendo analisado.

O refinamento das metas corresponde ao processo de responder ao “Como?” e ao “Por

quê?” de cada meta ou requisito (LAMSWEERDE, 2001). O refinamento deve ser feito pelos

stakeholders e pelo desenvolvedor, de forma a obter um melhor entendimento, entre ambos, do

que tem que ser feito, definindo assim, o escopo do projeto. É importante para cada nível de

refinamento identificar as condições (and / or) e a forma de contribuição (positivo ou negativo)

de cada “sub-meta” (ou meta refinada), com a meta do nível hierarquicamente superior

(LAMSWEERDE, 2001).

A cada meta modelada ou refinada, o desenvolvedor deverá identificar a situação em

que ela se encontra. A situação poderá ser totalmente refinada, parcialmente refinada ou não

refinada. Esta identificação ajudará o entendimento entre as partes e permitirá identificar os

esforços que devem ser feitos para o trabalho de identificação de todas as metas que o produto

deverá atingir.

A meta totalmente refinada indica que o entendimento já foi absorvido pelo

desenvolvedor e, portanto, todos os requisitos já foram identificados de forma a atender a meta.

Se a meta ainda se encontra parcialmente refinada, isto indica que, existe o

entendimento, mas ainda há dúvidas sobre os requisitos que darão suporte à meta. É possível

que no momento de alocar os requisitos, a meta tenha que ser um pouco mais refinada.

Page 63: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

64

Não refinada, indica que a meta não está entendida e, portanto, não é possível alocar

requisitos que lhes dêem suporte.

Provavelmente, durante o processo de refinamento serão encontrados conflitos entre as

metas. Esses conflitos devem ser identificados e gerenciados. Para cada conflito deve-se tomar

uma decisão juntamente com os stakeholders envolvidos. Essa decisão poderá enfocar uma

adequação da meta, um conjunto de metas ou ainda poderá ser a eliminação das metas

conflitantes. Neste último caso, é preciso selecionar um ramo do gráfico do modelo de metas

desenhado. Essas decisões deverão ser identificadas por cores diferentes, para representar a

decisão tomada. O gerenciamento desse conflito irá ajudar na elaboração do escopo do trabalho

a ser desenvolvido. Sendo assim, todos os conflitos devem estar registrados no modelo.

O processo de refinamento poderá gerar várias dúvidas quanto ao que vem a ser meta e,

ou, requisito do sistema. O objetivo do refinamento é chegar a um nível tal que o refinamento

seguinte corresponda ao detalhamento dos requisitos do projeto a ser desenvolvido. Nesse

ponto, o modelo de metas deverá estar entendido e acordado entre todos os stakeholders, com

os requisitos de usuário já alocados em todas as metas.

Ao término do trabalho de levantamento dos requisitos e do refinamento das metas, são

desenvolvidos o escopo final do produto, as estimativas de custo e prazo e elaborada a proposta

de desenvolvimento. As metas darão apoio nessas atividades a partir do momento em que as

necessidades de negócio foram mapeadas. Além disso, as metas também darão sustentação a

decisões tomadas para o desenvolvimento do projeto.

A figura 14 apresenta um diagrama de atividade que resume a proposta de modelagem

de metas na fase de concepção. Apresenta, principalmente, a necessidade de desenvolver o

refinamento de metas até a definição dos requisitos, através da colaboração entre o cliente e o

desenvolvedor.

Page 64: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

65

Figura 14 – Diagrama de atividade da modelagem de metas na fase de concepção

3.1.2 Fase Elaboração

Após a aprovação do projeto, inicia-se a fase de elaboração. A fase de elaboração

caracteriza-se pelo desenvolvimento conceitual do projeto e a criação dos modelos que servirão

de base para a construção do produto (KRUCHTEN, 2003 e LARMAN, 2004).

Inicia-se, assim, o detalhamento dos requisitos. Esse detalhamento inicia-se com o

modelo de metas, o qual já contém os requisitos de usuário a serem detalhados e a identificação

dos stakeholders que darão suporte ao levantamento dos requisitos. Todos os requisitos

Page 65: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

66

detalhados e os novos requisitos identificados deverão dar suporte a uma ou mais metas. Não

poderá haver metas sem requisitos e requisitos sem metas (LAMSWEERDE, 2001). Qualquer

uma dessas situações deverá indicar a necessidade refinar as metas, ou melhorar a identificação

do requisito, ou que o requisito ou a meta estão fora do escopo do desenvolvimento a ser

realizado.

Na fase de concepção, os requisitos preliminares foram apenas alocados a cada meta. Na

fase de elaboração, os refinamentos dos requisitos, através das “histórias” relatadas pelos

usuários, melhoram o conhecimento necessário sobre o que tem que ser desenvolvido. O que

permitirá aos desenvolvedores não se desviarem dos objetivos do sistema a ser construído.

Esse processo poderá ajudar a garantir a qualidade do software. Este acompanhamento será

feito a partir da rastreabilidade baseada em léxico.

O Gestor do projeto deve acompanhar essas atividades do processo, de forma a garantir

e controlar a qualidade do produto e do próprio processo. Deve acompanhar a construção dos

planos de testes que irão verificar e validar requisitos com as metas. Nos planos de testes alfa e

beta, deve ser indicado como o software estará ajudando a atingir a meta, sendo esses testes a

verificação e a validação, respectivamente, do que o software realmente terá que fazer e atingir.

O usuário deverá acompanhar a execução do planejamento dos testes betas, a fim de verificar

se o modelo de metas desenvolvidas será atingido. O gestor deverá relacionar as atividades e os

artefatos para a produção do software na rastreabilidade baseada no léxico, de forma que o

conhecimento sobre o desenvolvimento seja transmitido entre os integrantes da equipe de

desenvolvimento.

3.1.3 Fase Construção

A fase de construção corresponde à transformação da solução proposta em um produto

executável, capaz de ser implantado para o usuário (KRUCHTEN, 2003 e LARMAN, 2004).

Nesta fase são feitos os testes para garantir que o produto será entregue com qualidade e sem

erros. Os testes devem ser executados de acordo com o planejamento efetuado. O nível de

qualidade do produto é obtido a partir dos testes e da verificação da conformidade com o que o

usuário deseja em relação ao software, ou seja, a conformidade atingida entre modelo de

metas/requisitos.

Page 66: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

67

3.1.4 Fase Transição

Essa fase caracteriza-se pela disponibilização do produto para a comunidade de

usuários, bem como a avaliação dos objetivos alcançados (KRUCHTEN, 2003 e LARMAN,

2004). Essa avaliação deverá seguir, no primeiro momento, o plano de teste beta. No segundo

momento, o usuário deverá fazer a validação de acordo com o modelo de metas em seu poder.

A idéia é a de que no primeiro momento, o usuário seja conduzido, pelo desenvolvedor, durante

os testes de verificação. No segundo momento, o usuário, já treinado, irá validar sem a presença

do desenvolvedor, mas com o foco no plano de metas acordado entre as partes. O documento de

aceite do usuário deverá ter como base o plano de metas e deverá indicar o grau de

conformidade/qualidade atingido pelo produto.

3.2 Verificação e Validação

Durante todo o processo de desenvolvimento, é importante que o desenvolvedor

identifique quais metas foram atingidas para certificar-se de que as decisões tomadas

correspondem às interpretações feitas inicialmente. Este passo tem por objetivo balizar a

aquisição da experiência. Esta experiência será reusada durante os passos seguintes. Isso é feito

através da verificação dos requisitos modelados ou desenvolvidos, com as metas identificadas e

modeladas durante o refinamento. Os modelos do projeto, os planos de testes, os planos de

implantação e treinamento, devem sempre focar as metas a serem atingidas. Essa verificação

deverá ser apoiada, também, pela rastreabilidade baseada em léxico.

A validação do usuário, através do modelo de metas, estará ratificando a experiência

adquirida pelo desenvolvedor, mostrando os acertos e os erros apresentados pelo produto em

relação às metas a serem atingidas.

Page 67: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

68

4 MODELO PROPOSTO

Como foi visto nos capítulos anteriores, o foco desse trabalho é para que pequenas

empresas consigam capturar, reter e disseminar o conhecimento sobre a aplicação e o processo

de desenvolvimento. A figura 15 ilustra o fluxo do conhecimento durante o processo de

transformação dos requisitos em um produto de software. Através dessa figura, pode-se

compreender como o conhecimento obtido junto ao usuário é capturado e disseminado para que

a equipe de desenvolvimento possa realizar suas atividades.

Na figura 15 são apresentados os dois pontos do conhecimento que devem ser tratados

no desenvolvimento de um software. O primeiro ponto do conhecimento se refere às

necessidades do usuário. O segundo ponto do conhecimento se refere à geração da base de

conhecimento pela equipe de desenvolvimento.

Nota-se que as necessidades do usuário, representadas nessa figura, são obtidas como

um conjunto de narrativas1 que devem ser interpretadas, compreendidas e satisfeitas pelo

engenheiro de requisitos para o desenvolvimento do produto. O engenheiro de requisitos, na

atividade de elicitação, deve utilizar a modelagem de metas como ferramenta para a

interpretação e compreensão dessas narrativas do usuário.

No modelo proposto, tem-se que, a partir do modelo de metas, o engenheiro de

requisitos transmite o conhecimento necessário para a equipe de desenvolvimento realizar suas

atividades de transformação dos requisitos em artefatos de software. Essa transmissão,

normalmente, é efetuada em reuniões técnicas entre os integrantes da equipe e através do

registro do modelo de metas no banco de conhecimento.

Após o entendimento dos requisitos, a equipe de desenvolvimento realiza atividades

para a construção do software. Essas atividades podem ser relacionadas à especificação,

modelagem, programação e gestão do projeto. O produto resultante dessas atividades são os

artefatos, os quais irão representar uma parte ou o todo de um produto de software. As

atividades e os artefatos representam o conjunto de narrativas que caracterizam o conhecimento

gerado pela equipe de desenvolvimento.

A equipe de desenvolvimento tem que tomar decisões durante a realização das suas

atividades. Essas decisões são tomadas em função do conhecimento existente e refletem-se nos

artefatos produzidos e por conseqüência, na qualidade do produto final. Assim, essas decisões 1 Narrativa: a maneira de narrar; Narração; História; (FERREIRA, 1999). Narração: exposição escrita ou oral de um fato; Ato ou efeito de narrar. (FERREIRA, 1999).

Page 68: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

69

acumuladas geram a experiência da equipe para a produção do software. Essa experiência deve

ser armazenada no banco de conhecimento para que a própria equipe possa usufruir, mais tarde,

do conhecimento gerado durante o desenvolvimento.

Nessa proposta, o modelo de metas, as atividades, os artefatos e as decisões de projeto

devem ser armazenados no banco de conhecimento a partir dos conceitos relacionados à

rastreabilidade baseada no léxico. Dessa forma, a manipulação da rastreabilidade irá consistir

na manipulação do conhecimento gerado na produção do software. Essa manipulação permitirá

a transmissão do conhecimento entre os integrantes da equipe, de modo a propiciar,

conseqüentemente, a melhoria da qualidade das atividades e dos artefatos produzidos.

Figura 15 – Caso de uso referente a proposta de manipulação do conhecimento

Page 69: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

70

Nos capítulos seguintes procura-se o modo de se obter esse modelo de disseminação de

conhecimento. O detalhamento será apresentado nos capítulos cinco (5) e seis (6). O capítulo

cinco (5) apresentará a implantação e a ferramenta para a manipulação do conhecimento

relacionado às necessidades do usuário baseado na modelagem de metas. O capítulo seis (6)

apresentará a manipulação do conhecimento pela equipe de desenvolvimento, a partir da

rastreabilidade baseada em léxico. O capítulo sete (7) apresentará a solução proposta para o

banco de conhecimento e a ferramenta desenvolvida para a manipulação do conhecimento

descrita no capítulo seis (6). O capítulo oito (8) apresentará os resultados, conclusão e trabalhos

futuros.

Page 70: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

71

5 IMPLANTAÇÃO DA MODELAGEM DE METAS

A inserção das atividades de modelagem de metas no fluxo do processo de

desenvolvimento da pequena empresa, descrito no capítulo 3, foi elaborado de forma aderente

ao MPS/BR (2006). São utilizados do MPS/BR o processo Gerência de Requisitos (GER) e o

Treinamento (TER). Isso foi necessário devido à falta de experiência da equipe na

documentação dos requisitos utilizando metas e devido à política adotada na empresa para a

institucionalização da modelagem de metas como ferramenta de apoio a gerencia de requisitos.

Do GER buscou-se o a comunicação contínua entre os fornecedores dos requisitos e o

engenheiro de requisitos (GRE 1), na melhoria do entendimento dos requisitos (GER 2) e na

rastreabilidade dos requisitos entre os planos de projeto e os produtos (GER 5) (MPS/BR,

2006).

5.1 Passos para a Implantação

O processo de implantação da modelagem de metas orientou-se de acordo com os

resultados esperados do processo de treinamento TER do MPS/BR. A responsabilidade do

treinamento é da empresa desenvolvedora, visto que se refere à uma atividade da engenharia de

requisito. A estratégia do treinamento foi elaborada de modo a garantir que todos os integrantes

da equipe tenham o conhecimento necessário sobre a modelagem de metas, de acordo com as

atividades definidas para o processo.

5.1.1 Treinamento dos integrantes da equipe

Para o treinamento dos integrantes da equipe foi preparado um material e um estudo de

caso baseado em Lamsweerde (2001), com relação à modelagem de metas. Depois foi

apresentada a forma de se utilizar as perguntas como e por que, para fazer o modelo de metas,

Page 71: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

72

focando principalmente a estrutura hierárquica que as duas perguntas ajudam a construir. O

treinamento foi realizado nas dependências da empresa no formato de reuniões técnicas. Essas

reuniões caracterizam-se pela apresentação do tema por um membro da equipe. Após a

apresentação há a discussão da técnica entre os integrantes.

5.1.2 Seleção de um projeto em andamento

Os integrantes da equipe de desenvolvimento desenvolveram o modelo de metas dos

projetos em andamento. Optou-se por escolher um projeto em andamento pelo fato dos

requisitos já serem de domínio dos integrantes, o que facilitaria o entendimento da

rastreabilidade entre o requisito e a meta, a discussão entre os integrantes e a verificação de

conformidade do modelo desenhado.

O objetivo desse passo, foi o de avaliar o quanto as metas ajudariam os integrantes a se

abstraírem do mundo técnico e voltar-se para o mundo do negócio. E ainda, possibilitaria

identificar as dificuldades para a criação do modelo. Nesse contexto, o desenvolvimento do

modelo não poderia envolver o usuário, mas somente, o entendimento existente sobre o produto

até o momento.

5.1.3 Modelagem de metas

O desenvolvedor iniciou o modelo a partir de um requisito qualquer do projeto. E,

através da pergunta por que, o desenvolvedor deveria identificar a meta a ser atingida. Depois

com o como verificou se o requisito realmente atendia à meta. O passo seguinte foi fazer o

mesmo, ou seja, perguntar o como e o por que de cada meta modelada e de cada requisito

colocado no modelo.

Se o desenvolvedor tivesse dificuldade em iniciar a modelagem de metas, deveria

colocar como meta os requisitos não funcionais, identificados para o desenvolvimento dos

projetos em andamento. Depois disso, ele deveria fazer o processo de responder o como e o por

que.

Page 72: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

73

5.1.4 Verificação com o usuário

A partir do modelo de metas pronto, o desenvolvedor verificou com o usuário o

resultado da modelagem. O objetivo desse passo é validar as metas levantadas e verificar se as

metas ajudam a identificar novos requisitos dos projetos já em andamento.

5.1.5 Implantação de modelagem de metas em novos projetos

A implantação de metas para os novos projetos iniciou-se com a adesão do usuário no

processo de modelagem. Foram explicados os conceitos de meta e a ligação com requisitos.

Não foi dada ênfase à forma de fazer o refinamento, visto que, inicialmente, seria uma tarefa do

desenvolvedor. O desenvolvedor iria estudar o modelo de metas e solicitar o refinamento em

um ou mais pontos do modelo. Desta forma, os novos projetos foram trabalhados, utilizando

metas como levantamento de requisitos, mas com a modelagem feita manualmente.

5.2 Ferramenta DBML

Desenvolveu-se a ferramenta DBML (Desenvolvimento Baseado em Metas e Léxico)

para dar apoio à atividade de elicitação de requisitos baseado em metas. Os objetivos da

ferramenta são:

• Possibilitar uma maior integração entre os clientes e os desenvolvedores;

• Permitir aos desenvolvedores fazerem o modelo de metas e a documentação dos

requisitos de forma mais amigável e integrada com as demais ferramentas da empresa;

• Fornecer aos desenvolvedores um documento atualizado para fazer a atividade de

verificação de metas com todos os outros artefatos produzidos durante o trabalho;

• Permitir uma maior agilidade na comunicação e na diminuição do tempo da fase de

concepção;

Page 73: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

74

• Dar apoio ao processo de validação junto ao cliente.

A ferramenta de modelagem de metas é dividida em dois módulos: Gestão e

Modelagem. O primeiro módulo tem como objetivo facilitar a comunicação e o registro das

metas e dos requisitos e, o segundo módulo tem como finalidade efetuar a modelagem visual

das metas.

O módulo de gestão da ferramenta foi desenvolvido em PHP (Hypertext Preprocessor).

A plataforma na internet foi escolhida, para facilitar a comunicação entre os clientes e os

desenvolvedores. Dessa forma, o processo de refinamento das metas pode ser feito à distância.

O desenvolvedor cadastra inicialmente os envolvidos e o tipo de papel de cada stakeholder, de

forma que todos os interessados tenham acesso à ferramenta e ao modelo de metas do projeto.

O módulo de modelagem foi desenvolvido em Delphi. O processamento do módulo é

local, sem necessidade de estar integrado à rede. A comunicação entre os dois módulos é feita a

partir de arquivos XML. No apêndice 1 e 2 é apresentado um exemplo de um arquivo XML

utilizado na integração entre os dois módulos da ferramenta.

A utilização da DBML começa com a lista de metas e requisitos levantados inicialmente

com o usuário. O resultado do primeiro levantamento das metas é convertido em um modelo

inicial a ser refinado em mão dupla. As metas e os requisitos são cadastrados e é liberado o

arquivo XML do projeto. Os stakeholders devem realizar o download do arquivo e efetuar a

verificação e a identificação de novas metas, de acordo com a sua própria visão. No final, os

stakeholders devem transmitir o modelo para o desenvolvedor através do módulo de Gestão.

Uma vez que as metas dos stakeholders foram cadastradas na ferramenta, inicia-se o

processo de entendimento e análise do conflito. Para cada meta o desenvolvedor cadastra o seu

grau de refinamento, ou seja, verifica se a meta está suficientemente entendida e se já é possível

efetuar o detalhamento dos requisitos. Esse trabalho pode ser feito juntamente com o cliente, ou

separadamente, dependendo da forma de comunicação desenvolvida entre o cliente e o

desenvolvedor.

De posse das metas é feito o cadastro preliminar dos requisitos e realizada a ligação

com as metas. O desenvolvedor irá fazer as previsões de tempo, recurso e custo para o

desenvolvimento. A ferramenta irá emitir a proposta para ser aprovada e assinada pelo cliente.

Sendo aprovada a proposta, o modelo de metas projetado é utilizado para efetuar toda a

elicitação de requisitos. Todos os requisitos são cadastrados a partir da metas, para garantir o

alinhamento entre desenvolvedores e metas. A partir desse momento, todos os modelos gerados

serão cadastrados e alinhados com os requisitos que estarão automaticamente alinhados com as

metas.

Page 74: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

75

A figura 16 apresenta o diagrama de domínio da ferramenta. As metas e os requisitos

são especializações do escopo. Os requisitos dão suporte às metas através dos seus

relacionamentos. As metas são definidas pelos stakeholdes e são refinadas, indicando a

contribuição e a condição do refinamento. Cada meta poderá estar em um determinado grau de

refinamento.

Figura 16 – Modelo de Domínio da Modelagem de Metas da Ferramenta DBML

A figura 17 apresenta as principais funcionalidades da ferramenta de modelagem de

Metas. O desenho oval em cinza representa o nome do projeto ou do módulo que está sendo

analisado. Os desenhos ovais em verde apresentam as metas a serem atingidas pelos requisitos

representados pelos retângulos azuis. Quando se deseja indicar um conflito entre as metas, o

desenho oval verde é convertido para um oval em amarelo. Ao clicar com o mouse direito sobre

qualquer meta, são apresentadas as funções de: propriedades da meta, associação, conflito e

necessidade de refinamento das metas. Na janela de propriedades das metas é possível indicar

um nome e uma descrição para a meta, bem como indicar as respostas das perguntas como e

por que. Essas descrições serão usadas mais tarde para análise do léxico. Na janela de

Page 75: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

76

associação, é possível ligar a uma meta ou requisito, indicando a forma de contribuição,

positiva (+), ou negativa (-). Na janela de propriedade dos requisitos é possível indicar um

nome e a descrição do mesmo. O modelo de metas pode ser analisado para indicar o grau de

refinamento das metas, bem como a consistência de suporte entre metas e requisitos. O

resultado da análise é apresentado na janela Análise.

Figura 17 – Ferramenta de Modelagem de Metas

A ferramenta de modelagem de metas não tem por objetivo efetuar o controle de versão

das metas/requisitos. Este controle será efetuado no módulo de Gestão, através da integração

com o banco de conhecimento, que será apresentado no capítulo 6.

Page 76: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

77

5.3 Estudo de Caso

Para ilustrar o desenvolvimento utilizando metas, é apresentada uma parte do

levantamento de metas de um projeto de controle de produção e comercialização de sementes

híbridas. Esse estudo de caso foi efetuado como parte do treinamento dos desenvolvedores e

posteriormente validado pelo usuário.

Figura 18 – Parte do Modelo de Metas do Software Controle de Licenciados

A figura 18 apresenta parte das metas e dos requisitos que deram suporte às metas para

o desenvolvimento do projeto de controle de licenciados. Dentre as metas existe um conflito

entre a meta de redução de custo e a meta de gerenciamento. Após a análise do conflito, a meta

redução de custo foi indicada com a cor amarela e isso representa um adiamento da análise e

solução do conflito durante a fase de elicitação, visto que a meta de gerenciamento foi

considerada mais adequada às necessidades do negócio do cliente do que a meta de redução de

custo. No apêndice 1 é apresentado o arquivo XML gerado nessa modelagem.

A seguir é apresentada de forma descritiva a modelagem de metas transcrita das janelas

de propriedade da ferramenta, conforme a figura 18:

Page 77: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

78

Nome do Projeto: Licenciados.

• Meta Gerenciamento:

o Descrição: Melhorar o gerenciamento da distribuição de sementes entre os

licenciados.

o Como?

• Controlar melhor a distribuição das sementes;

• Controlar a comercialização das sementes;

• Controlar o faturamento a ser cobrado a título de royalty.

o Por que?

• O negócio da empresa é a pesquisa e não a produção e comercialização

de sementes para plantio, desta forma é de vital importância conhecer as

informações de negócio para o planejamento e o futuro da empresa.

• Meta Controle:

o Descrição: Controlar a distribuição de sementes.

o Como?

• Através da confecção dos planos de comercialização, produção e

marketing.

o Por que?

• É necessário o controle da distribuição para conhecer e efetuar o

planejamento do que tem que ser produzido e identificar as técnicas a

serem utilizadas no plantio, melhorando o gerenciamento.

• Meta Comercialização:

o Descrição: Controlar a comercialização das vendas das sementes feitas pelos

licenciados.

o Como?

• Recolhendo mensalmente as informações de comercialização dos

licenciados através da fatura;

• Recolhendo informações de comercialização dos concorrentes através de

um levantamento de mercado.

o Por que?

• Através das informações de comercialização, consegue-se visualizar se o

planejado foi alcançado e efetuar o cálculo do royalty;

Page 78: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

79

• Permitir, também, a identificação do foco de maior potencial agrícola e

de mercado.

• Requisito Plano de Produção:

o Permitir cadastrar o plano de produção solicitado pelo licenciado, com os dados

técnicos relativos à produção da semente.

• Requisito Pl. Comercialização:

o Permitir cadastrar os dados relativos aos valores de previsão de venda das

sementes produzidas, bem como as regiões e as formas de comercialização.

• Requisito Plano de Marketing:

o Permitir cadastrar o plano de marketing contendo as informações de mercado e

da região a qual se pretende atuar.

• Requisito Receber Fatura:

o Permitir cadastrar os dados da fatura emitida pelo licenciado na venda dos

produtos licenciados para comercialização.

• Requisito Calcular Royalty:

o Calcular o valor do Royalty a ser pago pelo licenciado, a partir dos dados da

fatura e do tipo de produto comercializado.

O segundo estudo de caso apresentado tem como objetivo verificar a eficácia da

utilização de metas na transmissão do conhecimento com o propósito de verificar se houve,

realmente, uma redução do número de possíveis alterações dos requisitos após a entrega de

qualquer parte do produto. Muitas das alterações dos requisitos surgem a partir do momento

em que o usuário tem acesso ao produto. A partir da sua utilização surgem novas necessidades.

Este estudo de caso é um exemplo de um dos levantamentos feito para o módulo de estatística

de um projeto da empresa.

O módulo de estatística já tinha sido implantado e o usuário tinha uma necessidade de

alteração. A verificação foi feita da seguinte forma:

• Primeiro o usuário falou da sua necessidade de alteração.

• Na elicitação da necessidade foi definido o que o sistema deveria fazer.

• A partir do requisito definido efetuou-se a identificação das metas.

• Durante este processo, verificou-se a necessidade de alteração do requisito previamente

definido.

A necessidade do cliente era totalizar o faturamento mensal e comparar com o mesmo

mês do ano anterior. No primeiro momento, sem preocupar-se com as metas que o usuário

Page 79: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

80

necessitava atingir, foi determinada a forma de pesquisa e a forma de apresentação da alteração

solicitada. Após a definição da alteração e do acordo entre as partes do que deveria ser feito

pelo desenvolvedor, foi utilizada a modelagem de metas para verificar se o requisito realmente

atendia à necessidade do cliente.

Iniciou-se com a pergunta por que ele desejava esta alteração, ou seja, qual a meta de

negócio que ele desejava atingir. No final, foram identificados novos requisitos que deveriam

ser feitos. No caso, os novos requisitos foram: o cálculo do mês em relação ao total do ano atual

e do ano anterior e ainda a plotagem do gráfico apresentando todas as relações calculadas.

A figura 19 apresenta o gráfico de metas feito após o levantamento de requisitos. Foram

identificadas as metas: Conhecer o Faturamento, para ajudar na tomada de decisões; e

Melhorar a Disponibilização de Recursos, para melhora da alocação dos recursos, de acordo

com as características do faturamento mensal e anual. Os requisitos cálculo de faturamento

mensal, cálculo de faturamento anual e o cálculo das relações existentes entre os meses e os

totais anuais dão suporte às duas metas. O requisito de plotagem do gráfico dá suporte aos

requisitos de cálculo. No apêndice 2 é apresentado o arquivo XML gerado nessa modelagem.

Figura 19 – Modelo de Metas Referente a alteração do módulo de Estatística

Page 80: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

81

6 RASTREABILIDADE BASEADA EM LÉXICO

Neste capítulo é apresentada a segunda parte da proposta de manipulação do

conhecimento que trata da rastreabilidade baseada em léxico.

A figura 20 apresenta os elementos e os relacionamentos existentes no desenvolvimento

de um produto de software. Esse desenvolvimento é feito através de atividades realizadas por

uma equipe de pessoas, alocadas em organizações ou empresas. Essas atividades devem estar

estabelecidas dentro de um processo definido. Cada projeto, a partir das suas características,

deve ter um processo adequado ao seu desenvolvimento. As atividades produzem e consomem

artefatos que irão formar ou compor o produto final. No desenvolvimento dessas atividades é

necessário que haja atividades relacionadas à gestão do projeto para a garantia da qualidade. Os

elementos e os relacionamentos entre esses elementos geram o conhecimento na produção de

um software.

Figura 20 – Diagrama de domínio referente aos macro relacionamentos existentes no desenvolvimento de um software

Page 81: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

82

Para manipular e propagar o conhecimento gerado por todos esses elementos e

relacionamentos, propõe-se usar rastreabilidade baseada em léxico. A rastreabilidade baseada

em léxico nos permite associar os conceitos existentes nos léxicos de cada

elemento/relacionamento dentro do contexto. Essa associação de conceitos através da

rastreabilidade pode facilitar a aquisição, propagação e manipulação do conhecimento.

Os elementos envolvidos na retenção e transmissão do conhecimento estão relacionados

às atividades do processo, atividades de gestão e artefatos produzidos. Portanto, para manipular

o conhecimento relativo ao desenvolvimento de um software, esse trabalho parte das seguintes

premissas:

• Todos os elementos existentes no desenvolvimento do software, tais como: processo,

gestão, metas, requisitos, atividades e artefatos, são considerados como léxico. Por ser

um léxico o elemento tem a ele associado um conceito. Esse conceito pode variar de

acordo com o contexto utilizado;

• As estruturas dos relacionamentos existentes entre os léxicos formarão o conhecimento

a ser manipulado pela equipe de desenvolvimento.

Ramesh (1998) agrupa as organizações quanto à forma de entender e fazer a

rastreabilidade dos requisitos, agrupando os usuários em low-end users e high-end users. Por

low-end users entende-se a rastreabilidade como uma imposição dos responsáveis pelo projeto,

e esses implementam modelos mais simples de dependência entre os requisitos e os artefatos.

Nesse relacionamento de dependência não existe o registro da rastreabilidade ligada ao

processo e à gestão. Por high-end user entende-se a rastreabilidade como um importante

elemento para a qualidade final do projeto. Com o high-end user implementam-se esquemas

mais ricos de rastreabilidade dos requisitos. Além do relacionamento dos requisitos com os

artefatos, são implementados os elementos do processo e da gestão, os quais incluem na

rastreabilidade as razões das tomadas de decisão sobre um relacionamento e a confecção de um

artefato.

Pode-se classificar os agrupamentos de usuário proposto por Ramesh (1998), quanto ao

entendimento1 e compreensão2, considerando também a definição de conhecimento apresentada

por Tuomi (1999). O primeiro grupo, low-end users tem a rastreabilidade como apoio à

atividade de elicitação, no que se refere à descoberta da formação do requisito e/ou artefato.

Esta formação indica qual ou quais artefatos geraram o requisito. O conhecimento, neste caso, é

manipulado para o entendimento do domínio do problema não para a sua compreensão. O 1 Entendimento - Juízo, opinião. (FERREIRA, 1999). 2 Compreensão - Faculdade de perceber; percepção. Conjunto das características gerais que formam um conceito e que são os atributos dos objetos designados por um termo. (FERREIRA, 1999).

Page 82: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

83

entendimento permite ter uma visão da formação do artefato ou requisito. A compreensão, além

dessa visão, permite visualizar os motivos ou fatos que apoiaram a transformação do requisito

no artefato.

Essa rastreabilidade, do grupo low-end users, apóia a equipe em situações de dúvida em

relação a uma questão já existente a nível de desenvolvimento. Ela dificulta a elaboração de

questões sobre o desenvolvimento que estão fora do contexto do produto em construção. Nesse

contexto, ela ajuda a manipular o conhecimento adquirido pela equipe de desenvolvimento,

enquanto o produto está sendo desenvolvido. Mas, dificulta a utilização do conhecimento

gerado pela construção de projeto por equipes diferentes ou, ainda, pela construção de um outro

projeto. Os engenheiros de software poderão ter inúmeras dúvidas com relação ao como foi

desenvolvido o software. Essas dúvidas poderão surgir devido à falta de visualização das

atividades e das decisões que envolveram a transformação do requisito no artefato.

Por sua vez, o segundo grupo (high-end user) pode maximizar a manipulação do

conhecimento. Essa maximização ocorre porque permite ao engenheiro de software

compreender o processo de transformação do requisito em um artefato de software. A

compreensão desse processo pode ajudar na geração da experiência necessária para avaliar o

desenvolvimento e para a tomada de decisão sobre os impactos e as alterações no projeto

corrente, sempre que necessário. E pode ainda, auxiliar na busca de conhecimento para apoiar a

elaboração de novos projetos.

Independentemente do tipo de grupo low-end users ou high-end user considerado por

Ramesh (1998), na rastreabilidade, a implementação do léxico poderá ajudar na compreensão

do problema ou requisito que está sendo rastreado. Além disso, pode identificar a formação ou

transformação do requisito e identificar os conceitos que estão vinculados a cada elemento da

rastreabilidade.

A rastreabilidade, que mostra a formação e a razão em todos os sentidos (high-end

user), ajuda a equipe de desenvolvimento a compreender e a formar uma opinião sobre todo o

conjunto de artefatos desenvolvidos. Nesse caso, o conhecimento é tratado em um aspecto mais

abrangente, o que permite ao integrante da equipe obter os conceitos já existentes e ainda a

formar os seus próprios “conceitos” sobre o processo utilizado e sobre o produto em

desenvolvimento.

A figura 21 resume a idéia da manipulação do conhecimento com base na

rastreabilidade e no léxico. O engenheiro de software no momento de pesquisar a

rastreabilidade de qualquer elemento deve ter à sua disposição os relacionamentos existentes

entre os artefatos, atividades do processo e atividades de gestão. Vinculado, a cada elemento,

Page 83: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

84

ou seja, a cada léxico existe um conceito. Esse conceito é apresentado junto com a

rasteabilidade para ajudar na disseminação do conhecimento. Essa disseminação irá apoiar ao

engenheiro de software na tomada de decisões sobre o projeto.

Figura 21 – Caso de uso da rastreabilidade baseada em léxico

6.1 Formatação Básica da Rastreabilidade baseada em Léxico

A rastreabilidade corresponde à ligação entre dois ou mais elementos. A rastreabilidade

baseada no léxico estendido corresponde à ligação entre os diversos elementos do léxico de

modo a identificar os relacionamentos entre sujeito, verbo, objeto e estado (figura 22).

Page 84: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

85

Figura 22 – Rastreabilidade baseada no Léxico Estendido

O sujeito e o objeto, normalmente, são os elementos representados pelas atividades de

processo e gestão e pelos artefatos produzidos. Exemplos desses elementos podem ser vistos

nos modelos de domínio do RUP (figura 7) e do PMI (figura 8) apresentados no capitulo 2

seção 2.7. O sujeito é relacionado a outro léxico o qual atua como objeto e, esse relacionamento

é obtido por meio da identificação do verbo que os correlaciona. Essa identificação pode ajudar

na interpretação e na compreensão da rastreabilidade, uma vez que ela identifica o tipo de ação

existente entre os dois elementos. O relacionamento entre os léxicos pode ser complementado

com informações existentes no estado.

O estado é caracterizado por ser um complemento. Esse complemento também pode ser

um léxico que corresponde a uma caracterização do relacionamento existente entre o sujeito e o

objeto. Esse complemento é importante para completar as informações essenciais, para que haja

o entendimento e a compreensão necessários à rastreabilidade entre o sujeito e o objeto.

O complemento pode ser especializado em situação, dados complementares e condição.

Na figura 22, a especialização está representada como incompleta, pois existe a possibilidade de

inclusão de novas especializações importantes na manipulação do conhecimento. Por exemplo,

uma empresa poderá optar pela especialização de uma ação também. Ou seja, a empresa deseja

vincular à rastreabilidade a ação que a equipe deve executar, quando ocorrer aquele tipo de

ligação existente entre os dois léxicos.

O mais importante é que se possa criar as condições necessárias para a manipulação do

conhecimento do processo de software, respeitando as características da empresa e das pessoas

envolvidas no mesmo. Visto que, o conhecimento está relacionado à experiência anterior das

Page 85: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

86

pessoas, acredita-se que, quanto mais completa for a rastreabilidade, maior será o conhecimento

gerado, auxiliando como suporte na tomada de decisões.

No estudo efetuado, utiliza-se o complemento nas seguintes situações para a

manipulação do conhecimento:

1) Situação: o complemento situação possibilita completar a informação da rastreabilidade

entre os dois léxicos com algum critério de execução. Como por exemplo:

A meta X é suportada pelo Requisito Y que está totalmente concluído.

• Léxico sujeito: Meta X

• Verbo de ligação1: é suportado

• Léxico objeto: Requisito Y

• Complemento: Totalmente concluído

O complemento totalmente concluído foi obtido a partir do registro da situação do

desenvolvimento do requisito. Esse tipo de complemento normalmente apóia a busca de

conhecimento do processo do desenvolvimento.

2) Condição: esse complemento indica uma condição para que o relacionamento entre os dois

léxicos ocorra. Como por exemplo:

A DIRF (Declaração de Imposto de Renda Pessoa Física) deverá ser gerada a partir

dos atendimentos que estiverem na condição de repassado.

1. Léxico sujeito: DIRF

2. Verbo de ligação: é gerada

3. Léxico objeto: atendimentos

4. Complemento: repassados

1 Verbo de Ligação: nessa dissertação o conceito de verbo de ligação está relacionado ao fato de ligar o sujeito ao objeto e não na concepção da gramática normativa brasileira, tais como ser, estar, permanecer, ficar.

Page 86: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

87

O complemento repassados é uma condição que pode existir para atendimentos

realizados pelo médico. No caso apresentado, a DIRF somente será gerada com os valores

desses atendimentos. Os demais, atendimentos, não podem fazer parte dos valores a serem

informados na DIRF. Essas condições correspondem a uma máquina de estado (diagrama de

estado da UML), relativo à classe atendimentos. Esse tipo de complemento normalmente apóia

a busca do conhecimento relativo às regras de negócio do software que está sendo

desenvolvido.

3) Dados Complementares: esse complemento possibilita completar a informação da

rastreabilidade com dados gerais que não foram necessários no mapeamento da

rastreabilidade pela empresa. Por exemplo:

O Requisito X foi definido pelo Stakeholder Y conforme descrito no documento Z.

• Léxico sujeito: Requisito X

• Verbo de ligação: foi definido

• Léxico objeto: Stakeholders Y

• Complemento: Documento Z

O complemento Documento Z é um documento disponível para download, e se encontra

na apresentação do relacionamento entre os dois léxicos. Esse documento tem as informações

complementares relativas à definição do requisito X pelo Stakeholder Y, importantes para a

geração do conhecimento por parte do engenheiro de software. Esse tipo de complemento

normalmente apóia a busca de conhecimento mais detalhado sobre um determinado elemento

do léxico que não foi contemplado na rastreabilidade.

A vantagem da rastreabilidade baseada em léxico está na forma da apresentação, pois a

mesma se assemelha:

a) Ao formato natural da linguagem escrita de comunicação utilizada pelas pessoas;

b) Ao formato das técnicas de trabalho, desenvolvido pelo engenheiro de software.

O engenheiro de software, através das técnicas de modelagem, relaciona os elementos

existentes no domínio do problema com os elementos existentes no domínio da solução e,

ainda, relaciona os elementos dentro do domínio do problema e dentro do domínio da solução.

Page 87: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

88

O engenheiro de software busca com esses relacionamentos construir um projeto de um produto

de software

6.2 Apresentação da Rastreabilidade

A utilização da rastreabilidade, como fonte de conhecimento, está relacionada

diretamente com a forma da sua apresentação, ou seja, sua visualização. É importante que a

apresentação da rastreabilidade tenha uma navegação fácil e rápida, de forma a obter o

conhecimento necessário. Dentro do propósito do Projeto Discovery (PIETROBON, 2007), este

trabalho se propõe a apresentar uma abordagem que facilite esta visualização. Segundo

Nascimento e Ferreira (2005), os objetivos da visualização são “ampliar nossas atividades

cognitivas, melhorando o entendimento e aproveitamento do que é exposto e levando à

aquisição e solidificação do conhecimento”.

A sugestão de trabalhar em forma hierárquica, ou seja, visualizar em forma de árvore, é

devido à sua simplicidade, facilidade de implementação e de domínio publico. Existem classes

disponíveis nas mais diversas linguagens de programação, o que agiliza o processo de

construção da ferramenta. E, ainda, não existe a necessidade de efetuar um treinamento, visto

que, as pessoas estão acostumadas com os conceitos e com a sua navegação, a partir da sua

utilização em outros softwares. Cada nó da árvore representa o sujeito e/ou objeto. A relação

existente entre o sujeito e objeto corresponde ao verbo. Cada nó pode ser representado por um

ícone, com o objetivo de facilitar a identificação do léxico. Dessa forma, acredita-se que a

visualização proposta poderá atingir os dois atributos apresentados por Mackinlay, (1986) (aput

Nascimento e Ferreira, 2005 p.10). Esses atributos consistem em: expressividade (mostrar os

dados de interesse do usuário) e efetividade (facilidade de compreender os dados apresentados).

Segundo Sommerville,

Existem muitas relações entre requisitos e outros requisitos e entre os requisitos e o projeto de sistema. Há também elos entre os requisitos e as razões básicas da proposição desses requisitos. Quando são propostas modificações, é preciso verificar o impacto dessas mudanças sobre outros requisitos e o projeto de sistema. A facilidade de rastreamento é uma propriedade geral de uma especificação de requisito, que reflete a facilidade de se encontrar requisitos relacionados. Existem três tipos de informações

Page 88: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

89

sobre a facilidade de rastreamento, que podem ser mantidas: informações sobre a facilidade de rastreamento de origem que vinculam os requisitos aos stakeholders que propuseram esses requisitos; informações sobre a facilidade de rastreamento de requisitos que vinculam requisitos dependentes dentro do seu respectivo documento, essa informação é utilizada para avaliar quantos requisitos provavelmente serão afetados e a extensão das mudanças; informações sobre a facilidade de rastreamento de projeto que vinculam os requisitos aos módulos de projeto em que esses requisitos são implementados, para a avaliação do impacto das mudanças.” (SOMMERVILLE, 2003, p. 120).

Gotel e Finkelstein (1994), trabalham a rastreabilidade fundamentada nos seguintes

itens: contribuição, contribuidor, estrutura social, relação de contribuição, estrutura da

contribuição e rastreamento baseado em contribuição. Ramesh e Jarke (2001) apresentam um

meta modelo que divide a rastreabilidade em três dimensões: as fontes, os interessados e os

objetos de produto ou do processo. Esses autores agrupam os relacionamentos existentes entre

as dimensões em dois grupos. Um relacionado ao produto e o outro ao processo. Os autores

Toranzo, Castro e Mello, (2002) classificam a rastreabilidade em quatro níveis: ambiental,

organizacional, gerencial e desenvolvido. Quanto aos relacionamentos existentes entre os

elementos, o autor aponta os seguintes: satisfação, recurso, responsabilidade, representação,

alocado e agregação.

Entende-se que essas divisões reconhecidas por esses autores representam uma visão

diferente dos relacionamentos entre os elementos. A forma como será apresentado o resultado

para o usuário da rastreabilidade, nesses autores, também é diferente. Por outro lado, acredita-se

que todas elas apresentam a possibilidade de efetuar a manipulação do conhecimento, uma vez

que tratam dos principais elementos do processo de desenvolvimento integrados na

rastreabilidade: gestão, processo e artefatos.

A manipulação do conhecimento pode estar diretamente relacionada com a capacidade

da rastreabilidade transmitir informações. A visualização dos elementos rastreados deve

considerar os objetivos e levar o usuário a rastrear um determinado elemento para adquirir

algum tipo de conhecimento. Os objetivos do usuário consistem na busca de conhecimento para

realizar alguma atividade ou para ajudar na tomada de alguma decisão. Para facilitar e apoiar

essa busca do conhecimento, a rastreabilidade tem que ser vista sob a ótica da

apresentação/visualização que será feita junto ao usuário.

A visão da apresentação da rastreabilidade busca facilitar a aquisição do conhecimento

por parte do usuário e acredita-se que as visões apresentadas pelos autores Gotel e Finkelstein

(1994), Ramesh e Jarke (2001) e Toranzo, Castro e Mello, (2002) estão incorporadas dentro da

Page 89: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

90

forma, aqui, de apresentar a rastreabilidade. A apresentação da rastreabilidade é dividida em

dois itens: formação e visão. Cada um tem uma função específica na busca do conhecimento

por parte do usuário.

Quanto à formação da apresentação da rastreabilidade, essa foi subdividida em:

composição, formatação, impacto e tempo, para qualquer elemento rastreável. Essa formação

da apresentação busca incorporar os principais relacionamentos existentes entre os elementos

dentro da rastreabilidade. A análise da rastreabilidade desses elementos consiste na fonte de

informação que o usuário necessita para a busca do conhecimento, capaz de agilizar o seu

processo de adquirir experiência e de tomada de decisão.

Com o objetivo de separar o conhecimento de acordo com a sua origem, a visualização

proposta neste trabalho, dessa formação da rastreabilidade, foi dividida em três visões: visão

técnica, visão de processo e visão de gestão. Essas visões podem ser trabalhadas pelo usuário

em um formato de combinação entre os elementos técnicos, os elementos de processo e os

elementos de gestão. Ou seja, esses elementos da formação da rastreabilidade podem ser vistos

de modo agrupado ou individualmente, de acordo com a necessidade do usuário da

rastreabilidade. Essa combinação é importante para aliar a rastreabilidade aos objetivos que o

usuário tem na aquisição do conhecimento específico junto à sua função exercida no projeto.

Essa separação, também, diminui o conjunto de léxicos a serem apresentados para a busca do

conhecimento na rastreabilidade baseada em léxico. O controle dessas combinações de visões e,

por conseqüência, do número de léxicos apresentados simultaneamente, também, pode agilizar

o processo do conhecimento efetuado pelo usuário.

Nas seções seguintes são descritas as divisões apresentadas nessa seção correspondentes

à composição, formatação, impacto, tempo e das visões: técnicas, processo e gestão. Para cada

uma, mostra-se como é a visualização na estrutura hierárquica.

6.2.1 Composição

A composição representa os relacionamentos existentes diretamente entre os léxicos,

que expressam que um léxico sujeito é constituído por vários léxicos objetos. Esses

relacionamentos e esses léxicos objetos fazem parte diretamente da constituição do léxico

Page 90: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

91

sujeito, seja a rastreabilidade anterior à sua transformação (pré-requisito), seja a rastreabilidade

posterior à sua transformação (pós-requisito).

A visualização conjunta da composição, em um mesmo nível hierárquico, pode permitir

ao usuário da rastreabilidade uma maior agilidade no processo de conhecer, pois são

apresentados todos os elementos que constituem o item analisado.

A figura 23 exemplifica a apresentação da composição. De acordo com a figura, o

requisito Gerar Fatura tem quatro composições: é narrada por, foi realizada, é formada por e

foi autorizado. Essas quatro composições são representadas pelos verbos de ligação existentes

entre o sujeito em análise e os objetos. No exemplo apresentado, o sujeito em análise é o

Requisito – Gerar Fatura, o qual é narrado pelas histórias Selecionar Espelhos e Visualizar

Valores. Para o desenvolvimento desse requisito foram necessárias as atividades de Elicitação,

Modelagem, Programação e Teste. Esse desenvolvimento foi autorizado pelo Ator Fernando e

é formado pela classe de interface intGerarFatura, pela classe de controle contGeracaoFatura e

pelas classes entidades Fatura, Atendimento, Convênio, Espelho e Procedimento.

.

Figura 23 – Apresentação da Composição da Rastreabilidade

A composição pode variar de acordo com o tipo de léxico representado pelo léxico

sujeito. Mas, normalmente serão representados por questões como as listadas a seguir:

• Documentos utilizados para o seu entendimento;

Page 91: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

92

• Atividades realizadas para a sua transformação;

• Artefatos produzidos pelas atividades que estão diretamente ligados ao léxico analisado;

• Relação existente entre o que foi planejado e o que foi executado;

• Decisões necessárias para a execução das atividades que representam as lições

aprendidas para o léxico analisado;

• Modelos produzidos que representam o léxico analisado;

• Classes utilizadas para a sua transformação em um produto de software;

• Métodos implementados às necessidades das classes;

• Tabelas de banco de dados, cujo objetivo é mapear as classes entidade modeladas.

6.2.2 Formatação

A rastreabilidade deve ser apresentada em duas formatações simultâneas, ou seja, a

voz ativa e a voz passiva. A voz ativa indica a composição do artefato na hierarquia direta, ou

seja, indica que um léxico L1 é constituído de um léxico L0. Ela representa o processo de

relacionamento no formato natural, ou seja, a composição natural do léxico analisado. A voz

passiva representa o processo de relacionamento inverso da composição, ou seja, indica por

quem o léxico analisado é constituído. A análise simultânea destas duas formatações ajuda na

agilização da compreensão do elemento que está sendo rastreado.

A figura 24 apresenta a formatação da rastreabilidade simultânea na voz ativa e voz

passiva. No exemplo apresentado, a História - Visualizar Valores - é formada pelas classes

atendimento, espelho, intGerarFatura e Procedimento. Simultaneamente, para ajudar na

compreensão do item analisado, é apresentada a voz passiva. A voz passiva indica que o sujeito

História Visualizar Valores é uma narrativa do requisito Gerar Fatura .

Page 92: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

93

Figura 24 – Formatação da rastreabilidade na voz ativa e voz passiva

6.2.3 Impacto

A análise do item impacto consiste na possibilidade de se conhecer a composição de

cada léxico objeto relacionado ao léxico sujeito analisado. O impacto é apresentado em forma

de árvore na rastreabilidade. Essa análise permite avaliar o impacto a partir do entendimento da

constituição de qual ou quais elementos poderão ser afetados em uma possível mudança. Esse

entendimento é obtido a partir da identificação da rastreabilidade do elemento ligado

diretamente ao item analisado. Ou seja, o impacto é apresentado a partir da navegação em

árvore de toda a rastreabilidade de todos os elementos que constitui o elemento analisado.

A figura 25 apresenta um exemplo da análise de impacto na Voz Ativa do léxico

Meta–Atender bem o médico. Ela é composta pelo relacionamento é suportado por que está

ligado diretamente com os requisitos Calcular Impostos, Digitar Rapidamente e Gerar o

Espelho. Com a apresentação do impacto é possível navegar em cada um desses itens,

verificando a sua composição. No exemplo apresentado o Requisito – Digitar Rapidamente é

composto pelos relacionamentos é narrada por e foi autorizado. No próximo nível de impacto,

o exemplo mostra a constituição da História Digitar Rapidamente. Ela é composta pelo

relacionamento é formada por. Este relacionamento está ligado às classes Atendimento e

Procedimento. Assim, é possível verificar o impacto de qualquer mudança na meta Atender

bem o médico.

Page 93: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

94

Figura 25 – Análise de Impacto na Voz Ativa

A apresentação do impacto também deve ser feita na Voz Passiva. Na figura 26, é

apresentada uma análise da rastreabilidade de impacto de alteração da classe atendimento. No

exemplo, é apresentado o possível impacto até a Meta – Atender bem o médico.

A análise de impacto indica que qualquer alteração na classe atendimento poderá

afetar a história Digitar Rapidamente, e que, por conseqüência, a composição poderá afetar os

requisitos Gerar Espelho e Digitar Rapidamente. Neste último caso, ainda poderá afetar a meta

Atender bem o médico.

Figura 26 – Análise de Impacto na Voz Passiva

Page 94: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

95

6.2.4 Tempo

A rastreabilidade deverá ser apresentada de forma temporal. Ela deve permitir a visão

da composição, da formatação e do impacto em um determinado período de tempo. A

comparação temporal da rastreabilidade pode ajudar a fortalecer o conhecimento adquirido.

Esse fortalecimento ocorre através da aquisição da experiência que existe nas alterações dos

léxicos e dos relacionamentos da rastreabilidade. Essas alterações ocorrem durante todo o ciclo

de vida do projeto e do produto e são registradas através da manutenção dos artefatos e da

atualização da base de conhecimento. A experiência é adquirida a partir do momento em que se

pode comparar um léxico no tempo. Essa comparação poderá ajudar a compreender a situação

atual de um determinado léxico identificando as decisões tomadas no decorrer do tempo.

Toda alteração da base de conhecimento deverá ser atualizada a partir de uma data de

vigência. Qualquer alteração em um artefato, por exemplo, seja inclusão de um novo método,

seja uma alteração de um método atual, deverá ser atualizada na base de conhecimento da

rastreabilidade com a data da alteração. Se a alteração da base for uma atualização de um léxico

já existente, deverá ser criado um novo registro de rastreabilidade e o registro anterior deverá

ter a sua data final atualizada com a data da alteração menos um dia. Dessa forma, garante-se a

formação temporal da base de conhecimento.

É de suma importância ter-se a condição de navegar nas decisões de projeto em um

determinado período, bem como, de promover para a gerência de alteração de requisitos a

possibilidade de verificar quais foram as alterações de um determinado léxico (artefato). Essa

temporalidade ajuda na rastreabilidade vertical, ou seja, na identificação das versões da base de

conhecimento e na comparação entre os léxicos da mesma base.

A figura 27 corresponde a uma parte da interface da consulta da rastreabilidade baseada

em léxico. O tempo é trabalhado de acordo com a informação da data e da lista apresentada nos

histórico de alterações. O resultado da pesquisa corresponde às informações existentes no

banco de conhecimento de acordo com a data informada. Na pasta histórico de alterações sâo

apresentadas todas as alterações registradas na base de conhecimento para o léxico pesquisado.

Dessa forma, é possível efetuar as comparações necessárias para se obter o entendimento,

relativo às alterações ocorridas para o léxico durante o seu ciclo de vida.

Page 95: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

96

Figura 27 - Apresentação do Tempo e da Visão

6.2.5 Visão

O volume de informações trabalhadas na rastreabilidade é muito grande. Essas

informações têm o propósito de ajudar os desenvolvedores a tomarem decisões sobre o projeto.

As decisões são tomadas de acordo com o conhecimento adquirido. Para ajudar na aquisição do

conhecimento, a apresentação da rastreabilidade deverá seguir a combinação de três visões:

técnica, de processo e de gestão.

A divisão dessas visões é apresentada como argumento de pesquisa e busca do

conhecimento na tela de consulta da rastreabilidade da ferramenta desenvolvida (figura 27). Ela

é importante para agilizar a busca do conhecimento em relação à aquisição dos objetivos e em

relação ao que se deseja pesquisar e o conhecimento que se quer obter.

a) Visão técnica.

A visão técnica corresponde, na rastreabilidade dos léxicos, aos modelos criados para a

representação do mundo real e aos artefatos que representam a conversão dos requisitos em

algo executável. A visão técnica reflete o domínio da aplicação em termos de solução de

software.

Page 96: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

97

b) Visão de processo.

Essa visão corresponde à identificação das atividades definidas no processo para a

elaboração de cada léxico da visão técnica.

c) Visão de Gestão

Essa visão corresponde à identificação das lições aprendidas, dos objetivos e motivos da

tomada de decisão para cada atividade desenvolvida na visão do processo. A visão de gestão se

detém na comparação entre o previsto e o realizado relacionadas às previsões de tempo, custo e

resultado do projeto.

As visões são trabalhadas na rastreabilidade baseada em léxico de acordo com a seleção

a ser efetuada no momento da realização da pesquisa. Essa seleção poderá ser de uma ou mais

visões de acordo com a figura 27.

6.3 – Processo de Formação da Rastreabilidade

Sayão e Leite (2005) descrevem o processo de formação da rastreabilidade composto

das seguintes etapas: definição, registro dos elos, recuperação de entidades associadas e

evolução dos elos. Na rastreabilidade baseada no léxico, utiliza-se o processo de formação da

seguinte forma:

• Definição: envolve definir todos os léxicos que serão rastreáveis. Nessa definição, é

importante separar os léxicos internos dos externos. Os léxicos internos se referem à

tecnologia, ao processo e à gestão. Eles são controlados internamente pela empresa

desenvolvedora. Os léxicos externos se referem aos requisitos e à transformação dos

mesmos em artefatos, e são controlados pelos usuários e pelos engenheiros de

requisitos. É importante separar os léxicos externos e internos devido ao formato

diferenciado da aquisição e da atualização do banco de conhecimento. Os léxicos

internos são obtidos a partir da definição da tecnologia, do processo a ser utilizado e da

característica de gestão da empresa. Esses léxicos, normalmente, são padronizados e

mudam de acordo com o tipo de projeto. São mais fáceis de serem reusados. A sua base

Page 97: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

98

de conhecimento é adquirida em treinamentos feitos pelos engenheiros de software. Os

léxicos externos são obtidos a partir das atividades de elicitação de requisitos e do

entendimento do domínio do projeto. O conhecimento é adquirido gradualmente durante

a elaboração do produto e dos retornos obtidos nas iterações do processo de

desenvolvimento;

• Registro dos Elos: envolve a definição dos tipos de relacionamentos existentes entre os

léxicos e a definição dos seus conceitos. Nos léxicos internos, os tipos de

relacionamentos e conceitos estarão apoiados no processo de desenvolvimento definido

pela empresa. É obtido a partir de definições de projetos anteriores, reaproveitando-se o

processo de projetos similares. Nos léxicos externos, a formação dos elos, ou

relacionamentos, irá acontecer durante o processo de desenvolvimento. Esses léxicos

envolvem o registro da composição de todos os artefatos. Os conceitos relativos a esses

léxicos deverão ser atualizados sempre que o contexto do conceito principal do léxico

mudar em relação a sua utilização;

• Recuperação: é apresentada na ferramenta através da apresentação da rastreabilidade

baseada no léxico;

• Evolução: são os aperfeiçoamentos feitos na base de conhecimento a partir da análise de

manipulação do conhecimento e da parametrização para organizar futuros

relacionamentos entre os léxicos.

O processo de geração do conhecimento, necessário ao desenvolvimento de software,

inicia-se com o planejamento das atividades que devem ser seguidas durante a confecção do

software. Nessa fase, identificam-se os léxicos, relativos às atividades de gestão e do processo,

e as estruturas de relacionamentos que existirão entre os léxicos. As estruturas de

relacionamento devem ser compostas de acordo com o contexto e a visão desejada para a gestão

do conhecimento.

A execução das atividades, relacionadas com a geração dos artefatos, será a base para a

transformação das necessidades do usuário em um produto executável pelo computador. O

registro dessas atividades formará o conhecimento dos desenvolvedores. Esse registro é feito a

partir dos léxicos e das estruturas de relacionamento proposto.

A parte final da geração do conhecimento corresponde ao registro das lições aprendidas

durante todo o desenvolvimento, ou seja, as lições aprendidas na execução das atividades

(gestão) e as lições aprendidas na construção de algum artefato de software.

O conhecimento, conforme é concebido neste trabalho, divide-se em:

Page 98: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

99

• Conhecimento externo: corresponde à busca do conhecimento a ser desenvolvido,

mediado pelo usuário;

• Conhecimento interno: corresponde ao registro de todos os elementos produzidos

durante a confecção do software.

A rastreabilidade do conhecimento externo inicia-se com a modelagem de metas. O

próprio modelo sugerido por Lamsweerde (2001) apresenta a rastreabilidade dos requisitos em

relação às metas que o produto deverá atingir. Dessa forma, cada meta ou cada requisito será

considerado um léxico e o relacionamento de suporte, obtido a partir dos refinamentos,

formarão o conhecimento necessário ao desenvolvimento.

A rastreabilidade do conhecimento interno corresponde ao trabalho de registrar a

rastreabilidade dos requisitos, modelados a partir de metas, com todas as atividades realizadas e

artefatos produzidos. Essa rastreabilidade deve ser feita de modo a registrar a transformação do

requisito em algo executável e registrar as decisões tomadas durante a realização das atividades.

Esse registro corresponde à atualização do banco de conhecimento.

O sucesso da manipulação do conhecimento, a partir da rastreabilidade, está na

capacidade de se manter o banco de conhecimento atualizado. Esta atualização deverá ocorrer

no momento em que a atividade manipuladora dos léxicos estiver sendo executada. Um

conhecimento gerado e não atualizado, ou atualizado fora do tempo, poderá perder o sentido

para uma determinada pessoa que tem a necessidade de usar o conhecimento armazenado.

Nesse caso, é necessário desenvolver programas que façam a manutenção do banco de

conhecimento no momento em que está sendo gerado. As atividades consideradas relevantes

para a atualização do banco são:

a) A análise da história: a história corresponde à necessidade do usuário relativo a um item do

desenvolvimento. Nessa análise são gerados os léxicos e os relacionamentos relativos ao

domínio do problema;

b) A modelagem nas ferramentas utilizadas para o desenvolvimento: o engenheiro de

requisitos utiliza ferramentas para modelar o projeto. Dentre essas ferramentas pode-se

citar:

• Ferramenta de banco de dados: deve ler a estrutura do banco de dados e atualizar o

banco de conhecimento com os dados das tabelas, campos e formatos. No momento

da atualização deverá registrar a data da alteração e quem a fez, através do

relacionamento entre o tipo de léxico “tabela” e tipo de léxico “usuário”;

• Ferramenta de Modelagem UML: normalmente as ferramentas de modelagem UML

fazem exportação em XML. Esses arquivos XML são entradas de dados para a

Page 99: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

100

atualização dos modelos UML. No caso, o modelo de classe de software foi o único

utilizado para a atualização do banco de conhecimento. O modelo de classe

representa de forma estática o domínio do problema apresentando os léxicos que

devem ser relacionados para a estruturação do conhecimento relativo ao software.

Os modelos dinâmicos, tais como, diagrama de estado e diagrama de interação não

são mantidos na mesma intensidade do diagrama de classe. O diagrama de estado

representa uma análise da classe efetuada, normalmente, no inicio do projeto e é

facilmente atualizado na própria ferramenta de rastreabilidade. O Diagrama de

seqüência é uma representação da execução da história; e a análise da história já foi

contemplada na ferramenta, conforme item a;

c) Cadastramento da ferramenta de rastreabilidade: os léxicos e os relacionamentos

identificados durante a fase de planejamento e de execução das atividades devem ser

cadastrados na ferramenta;

d) Identificação das tabelas descritivas: a partir da identificação e alteração do conteúdo das

tabelas descritivas do sistema, o léxico deverá ser atualizado. As tabelas descritivas

normalmente correspondem a um estado, ou a uma situação que determinadas classes

podem assumir durante o seu ciclo de vida no sistema. A sua atualização é difícil devido ao

fato de que a responsabilidade de atualização é do usuário do sistema e está fora do controle

da empresa desenvolvedora. Normalmente, são identificadas na análise de novas histórias

e/ou nas mudanças de requisitos;

e) Integração com outros sistemas: normalmente existem sistemas que apóiam a gestão do

processo de desenvolvimento de software. A equipe que trabalha nesse processo tem que

efetuar a atualização dos resultados de suas atividades. Esse controle representa fontes de

rastreabilidade para a atualização do banco de conhecimento, uma vez que esses sistemas

registram a realização das atividades em relação à produção dos artefatos.

Page 100: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

101

Figura 28 – Análise de formação do léxico

A figura 28 apresenta o diagrama de domínio que faz parte da formação do

conhecimento baseado na rastreabilidade. As classes representam os léxicos que devem ser

mapeados. Os relacionamentos entre as classes representam os elos entre os léxicos. Os léxicos

e os seus conceitos deverão ser obtidos a partir dos elementos do desenvolvimento do sistema,

tais como visões técnicas, processo e gestão.

A visão técnica é obtida através dos artefatos. Os artefatos podem ser especializados nos

modelos e nos documentos que representarão o domínio do problema. O domínio do problema

corresponde ao glossário do sistema. Os conceitos dos léxicos são fornecidos pelos usuários

durante a atividade de elicitação de requisitos e pelas técnicas de modelagem do projeto.

A visão do processo é obtida a partir das atividades que pertencem a um ciclo de vida. O

ciclo de vida corresponde ao processo de desenvolvimento definido pela empresa. Na definição

desse processo, a empresa estabelece as atividades e por conseqüência os conceitos relativos à

cada atividade. As atividades são desenvolvidas por pessoas.

Page 101: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

102

A visão de gestão corresponde às decisões que devem ser tomadas pelas pessoas durante

a execução da atividade para a geração do artefato. A ligação das decisões com as atividades e

os artefatos corresponde à gestão do conhecimento realizado pela empresa. As atividades têm

estimativas que correspondem às decisões de planejamento do projeto.

6.4 IMPLEMENTAÇÃO DA SOLUÇÃO

A implementação da solução da rastreabildiade baseada em léxico, consistiu na

modelagem de um banco de conhecimento e no desenvolvimento de uma ferramenta capaz de

manipular este banco, atingindo os objetivos da apresentação definida na seção 6.2.

6.4.1 Banco de Conhecimento

O banco de conhecimento consiste no registro e na manipulação dos léxicos e seus

relacionamentos baseado na construção de sujeito, verbo, objeto e estado. A sua modelagem

deve implementar o formato de apresentação discutido no capítulo 5.

A figura 29 apresenta o diagrama de domínio relativo ao modelo do banco de

conhecimento implementado na ferramenta de rastreabilidade baseada em léxico. As principais

classes para a manipulação do conhecimento são: Léxico, TipoLexico, LéxicoTipo, Conceito,

Conhecimento, Complemento, Visão e Vigência. A classe Léxico representa qualquer elemento

relativo ao desenvolvimento de software. Essa classe consiste em uma entrada lexical que tem a

ela associada uma descrição ou conceito. Esses conceitos representam informações sobre um

determinado domínio. A classe TipoLexico representa um agrupamento da classe léxico de

forma que se possa representar as variações que um determinado léxico pode ter, de acordo

com a sua utilização ou contexto. Essas variações para um mesmo léxico estão representadas na

classe LexicoTipo. Essa classe representa o relacionamento entre as classes Léxico e

TipoLéxico. A classe LexicoTipo pode ter a ela associada as variações dos conceitos relativos a

classe Léxico. Os conceitos são representados pela classe Conceito. Essa classe pode ser

especializada nas subclasses conceitoLexico e ConceitoLexicoTipo. Esse conjunto de classes e

Page 102: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

103

subclasses representa o dicionário ou glossário utilizado pelo domínio do software que está

sendo construído de acordo com o contexto utilizado.

A classe Conhecimento consiste na representação do relacionamento entre sujeito, verbo

e objeto. O sujeito e o objeto são obtidos a partir da classe LexicoTipo. Essa classe irá fornecer

tanto o sujeito, quanto o objeto no relacionamento da rastreabilidade. A classe Léxico sem a sua

contextualização não formará nenhum relacionamento na rastreabilidade baseada no léxico

sendo, então, sempre necessário identificar o contexto em que o léxico está sendo utilizado. A

classe Conhecimento está relacionada com a classe Complemento. A classe Complemento

corresponde ao estado e é especializada nas subclasses: situação, condição e

dadosComplementares.

A classe Visão agrupa o conhecimento gerado de forma que o mesmo possa ser

recuperado de acordo com os objetivos desejados pelo engenheiro de software. Essa classe

pode ser especializada nas subclasses: técnica, processo e gestão.

A classe Vigência permite a geração histórica do conhecimento, registrando todas as

suas atualizações ocorridas durante o desenvolvimento do projeto. É importante para viabilizar

a pesquisa histórica de todas as alterações existentes no banco de conhecimento, a partir das

atividades efetuadas pela equipe de desenvolvimento.

Page 103: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

104

Figura 29 – Modelo de Domínio da Rastreabilidade baseado no léxico

6.4.2 A Ferramenta Gestão de Requisitos Baseada em Rastreabilidade e Léxico

A base de conhecimento deve ser manipulada a partir de uma ferramenta (GRE_RL –

Gestão de Requisitos Baseada em Rastreabilidade), projetada para facilitar a manipulação do

conhecimento pelos integrantes da equipe. A figura 30 representa os principais pacotes que

foram implementados para a manipulação da rastreabilidade. Os principais pacotes são o léxico,

a rastreabilidade e a manutenção. O pacote léxico tem como objetivo fazer a manipulação dos

dados básicos do cadastro da rastreabilidade, bem como o de atualizar as composições da

rastreabilidade que não serão obtidas a partir da manutenção automática e da análise da história.

O pacote rastreabilidade tem por objetivo fazer a manipulação da base de conhecimento. Nesse

pacote será possível fazer a análise da rastreabilidade de qualquer léxico e a análise da

formatação da história. O pacote de manutenção tem por objetivo fazer a integração das

Page 104: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

105

ferramentas utilizadas pela empresa com a base de conhecimento da rastreabilidade. A base do

conhecimento é mantida a partir da atualização do diagrama de classe de software,

desenvolvido com a UML, e a partir da manutenção das tabelas armazenadas no banco de

dados e utilizadas pelo software.

Figura 30 – Principais pacotes da Ferramenta da Rastreabilidade

6.4.2.1 Análise da Rastreabilidade

A análise da rastreabilidade tem por objetivo transmitir o conhecimento armazenado no

banco de conhecimento. A interface da análise da rastreabilidade foi elaborada para que o

usuário possa obter todas as informações rapidamente, garantindo, desse modo, a absorção do

conhecimento.

A figura 31 apresenta a interface da análise da rastreabilidade para a manipulação do

conhecimento. Essa interface é composta por várias outras interfaces. A primeira delas tem por

objetivo selecionar um determinado léxico para se efetuar a análise. A seleção pode ser feita

indicando o tipo de léxico e/ou a descrição do léxico. De acordo com a seleção efetuada será

Page 105: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

106

apresentada uma lista posicionada à direita na tela. A partir da formação dessa lista deverá ser

selecionado um item de léxico para efetuar a análise da rastreabilidade.

A interface de análise é dividida em Voz Ativa, Voz Passiva, Histórico de Alterações,

Conceitos, Léxicos Consultados e Download. O conteúdo das interfaces é preenchido de acordo

com a data da pesquisa e visão desejada. A interface Voz Ativa lista a rastreabilidade da

composição de forma direta e, a pasta Voz Passiva apresenta a rastreabilidade da composição de

forma inversa. A interface Histórico de Alterações apresenta todas as alterações efetuadas para

o léxico que está sendo analisado. A interface Conceito apresenta todos os conceitos que o

léxico tem de acordo com o contexto utilizado. O contexto é indicado para cada ligação do

léxico com o tipo de léxico. A interface Léxico Consultados armazena todos os léxicos

consultados pelo usuário formando uma lista seqüencial das análises efetuadas. Essa interface

permite efetuar a pesquisa a partir da identificação de léxico analisado carregado na lista. Isso

agiliza o processo de consulta e navegação. A pesquisa do léxico pode ser feita clicando em

qualquer léxico das interfaces Voz Ativa, Voz Passiva e Léxico Consultados. A interface

Download apresentada os arquivos disponíveis registrados nos dados complementares do

relacionamento entre os léxicos (figura 31).

Abaixo da interface da seleção da pesquisa do léxico e do resultado da seleção é

apresentado o conceito do léxico. Esse conceito é preenchido toda vez que o mouse é

posicionado em cima de qualquer léxico. O conceito é apresentado de acordo com o tipo de

léxico a que ele estiver relacionado. Se o léxico não tiver um conceito relacionado ao tipo de

léxico, o conceito original do léxico é apresentado (figura 31).

Page 106: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

107

Figura 31 – Interface da análise de rastreabilidade para a manipulação do conhecimento

6.4.2.2 Análise da História

A análise da rastreabilidade, citada na seção anterior, permite a manipulação do

conhecimento de forma pontual, ou seja, a partir da seleção de um item do léxico e do estudo

do resultado da sua apresentação em todas as interfaces. Durante o processo de

desenvolvimento, a atividade de elicitação de requisito gera cenários para a elaboração do

projeto. Esses cenários correspondem às histórias que devem ser implementadas para satisfazer

as necessidades do usuário. Portanto, a análise da história consiste em uma importante fonte de

origem para a manipulação do conhecimento.

Na ferramenta, a análise da história consiste na busca e/ou identificação de todos os

léxicos que irão envolver o cenário correspondente à história. O resultado final, apresentado

Page 107: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

108

após a análise da história, será uma possível composição de todos os léxicos e relacionamentos

que deverão ser tratados durante as atividades de modelagem e implementação.

A criação e análise dessas histórias, além de ajudar na identificação do conhecimento

armazenado para uma solicitação do usuário, poderão dar suporte para a consulta da base de

conhecimento e para o cadastramento mais rápido dos léxicos. Com relação à consulta da base

de conhecimento, o apoio está no fato de a análise da história buscar todos os léxicos

armazenados e o resultado dessa busca corresponder a uma provável composição. Com o

conceito de análise de impacto, descrito no capítulo 5, e com a navegação em árvore, é possível

analisar a composição de cada léxico participante da análise da história montada. Com relação à

rapidez do cadastramento, a ferramenta de análise permite alterar o resultado apresentado,

incluindo novos léxicos e relacionamentos. Não há necessidade, portanto, de se efetuar um

cadastramento isolado no módulo de léxico, o que levaria a uma atividade mais lenta de

cadastro e não contribuiria para a absorção do conhecimento.

O processo de análise da história consiste em efetuar uma leitura no texto informado e

identificar os léxicos já cadastrados e léxicos ainda inexistentes. A história será considerada

como um léxico sujeito e todos os léxicos encontrados serão considerados como objetos para a

formação da composição. A partir desse conceito será montado o impacto, ou seja, a

identificação de novos sujeitos e objetos na história.

Esse processo de identificação corresponde a:

a) Separar frase por frase.

A classe analisadora da história separa primeiramente todas as frases existentes no

cenário. A separação das frases é efetuada pelo ponto final. Após a identificação de cada frase,

essas são adicionadas a uma lista a ser analisada.

b) Analisar a frase.

Em cada frase existente na lista, é efetuada a identificação do sujeito, verbo, objeto e

estado. O processo de identificação do sujeito e objeto consiste em:

• Identificação do sujeito e objeto efetuada pela antecedência de elemento

identificador. O elemento identificador pode ser representado por um artigo a, o,

as, os, um, uns, uma, umas, ou ainda pelas preposições pelo, pela, pelos, pelas.

Esses artigos e preposições devem ser cadastrados na ferramenta. Isso é

Page 108: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

109

necessário para flexibilizar e ajudar na identificação do sujeito e objeto. Os

usuários têm formas diferentes de expressar suas idéias. No decorrer do

desenvolvimento, ou o usuário é orientado a escrever as suas histórias em um

formato mais rígido, ou os elementos identificadores são cadastrados para ajudar

na identificação dos sujeitos e objetos;

• Identificação do sujeito a partir da primeira palavra da frase. Caso a primeira

palavra não corresponda a um elemento identificador e não tenha sido

identificado nenhum sujeito para a frase, a primeira palavra será considerada o

sujeito da frase. Não foi implementada a possibilidade de identificação de

sujeitos compostos;

• Identificação do sujeito e objeto a partir da pesquisa no banco de conhecimento.

Uma outra forma de identificar o sujeito e o objeto é a busca na base de

conhecimento dos léxicos já cadastrados. Por exemplo: se na análise da história

foi identificado o léxico Atendimento, a ferramenta busca no banco de dados a

existência desse léxico. Caso exista o léxico, então ele será considerado um

sujeito ou um objeto. Se o léxico aparecer no início da frase, será considerado

um sujeito. Se o léxico analisado aparecer após a identificação do sujeito da

frase, esse então, será considerado o objeto;

• Identificação do verbo de ligação. O conteúdo da frase existente entre o sujeito e

o objeto será considerado o verbo de ligação. Esse conteúdo poderá identificar

os métodos que deverão ser implementados. Esse verbo de ligação identificado

não será mapeado diretamente para a análise da história entre o sujeito e o

objeto. O verbo que irá representar o relacionamento entre o sujeito e o objeto

será obtido a partir do cadastro de tipos de relacionamentos efetuados

previamente na ferramenta. Esse cadastro corresponde à identificação dos

possíveis tipos de relacionamentos existentes entre os dois tipos de léxicos

encontrados na análise. Caso não seja possível identificar o verbo, na base de

dados existentes, a relação entre o sujeito e o objeto será cadastrada na análise

como sendo do tipo de formação;

• Alteração do texto original. O texto original é alterado com o acréscimo do

símbolo @ antes do sujeito e do verbo da frase. Além desse acréscimo, todos os

léxicos identificados no banco de conhecimento têm o seu texto transformado

em letras maiúsculas. Isso é importante para destacar a identificação efetuada

pela ferramenta;

Page 109: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

110

• Identificação do estado. O estado é identificado como um texto encontrado após

a identificação do objeto e antes do ponto final da frase.

O resultado final da análise da história corresponde ao texto alterado e à apresentação da

possível composição da rastreabilidade de todos os léxicos encontrados. O próximo passo deve

corresponder à análise e validação do resultado apresentado.

A análise e a validação deverão ser feitas da seguinte forma:

• Identificação das duplicidades de contexto do léxico.

Os léxicos poderão aparecer duplicados no resultado da análise. Essa duplicidade se

deve ao fato de o léxico poder estar ligado a mais de um tipo de léxico, ou seja, contexto. O

usuário deverá verificar qual tipo de léxico está relacionado à história que está sendo analisada.

Os léxicos/tipos de léxicos que não corresponderem à história deverão ser excluídos. É

importante ressaltar que é possível que todos os léxicos/tipos de léxicos possam ser excluídos.

Isso acontece quando o léxico encontrado estiver em um contexto que ainda não foi tratado nos

cadastramentos anteriores, ou seja, na base histórica de léxico já existente.

• Cadastramento dos léxicos inexistentes.

Os léxicos identificados pela ferramenta e não encontrados no banco de conhecimento e

os léxicos que não foram encontrados, mas foram identificados visualmente pelo usuário,

deverão ser cadastrados na composição da história. Esse cadastramento corresponde à

identificação: do conceito do léxico, do tipo de léxico, da existência de um conceito diferente

em relação ao tipo de léxico, do tipo de relacionamento (verbo de ligação) e do complemento

(estado).

• Análise da composição e do impacto.

Após o cadastramento é possível fazer a análise da composição e do impacto da história.

Essa análise é importante para as atividades de previsão e validação da implementação da

história.

• Atualização do banco de conhecimento.

Uma vez aprovada a análise da história, o usuário deverá confirmar a sua realização.

Essa confirmação é necessária para atualizar o banco de conhecimento e disponibilizá-lo para

os demais usuários.

A figura 31 apresenta a interface para efetuar a formatação do texto da análise da

história. A interface é dividida em duas partes, a parte de identificação e a parte do resultado. A

primeira parte consiste na identificação do nome do léxico que corresponde à história e à

descrição do texto relativo à história. A segunda parte é constituída das interfaces de Voz Ativa,

Formatação Atual e Acertar Formatação. Essa segunda parte é preenchida após a solicitação

Page 110: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

111

da análise da história. A interface formatação atual apresenta a rastreabilidade gerada após a

execução da análise de acordo com o processo discutido. A interface acertar a formatação

permite ao engenheiro de software fazer os acertos na composição gerada. A interface voz ativa

corresponde à análise final da história após os acertos efetuados. No exemplo apresentado na

figura 32, a história digitar rapidamente é formada pelas classes Atendimento e Procedimento,

pelas tabelas Atendimento e Procedimento e pelo ator Faturista. O exemplo foi montado para

apresentar o resultado de que para o mesmo léxico Atendimento é possível identificar e listar

todos os contextos em que ele aparece (classe e tabela). O usuário que está fazendo a análise da

história deverá verificar esta composição e efetuar os devidos acertos.

Figura 32 – Tela de formatação do texto da análise

Page 111: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

112

7 ANÁLISE DE RESULTADOS

As propostas apresentadas neste trabalho foram implementadas numa pequena empresa

e o resultado qualitativo da sua aplicação foi medido e analisado. Primeiramente, apresenta-se a

análise da aplicação da modelagem de metas para a aquisição do conhecimento a partir das

necessidades do usuário e depois, discute-se o resultado da manipulação do conhecimento

utilizando a rastreabilidade baseado em léxico.

7.1 Análise de Resultados da Modelagem de Metas

Os resultados obtidos, nesse trabalho, confirmam algumas das vantagens e conclusões

apontadas por Lamsweerde, (2001). Dentre eles, destacam-se:

• A modelagem de metas fornece uma base de apoio que ajuda a melhorar o

entendimento, interpretação e a documentação dos requisitos. Essa base de apoio

funciona como sendo a razão da existência dos requisitos;

• O processo de refinamento das metas ajuda na transmissão do conhecimento e

fornece um suporte para os stakeholders tomarem as decisões sobre os requisitos a

serem desenvolvidos;

• O modelo gráfico utilizado para efetuar a modelagem de metas mostrou-se eficiente

para visualizar a rastreabilidade entre as metas (nível estratégico) e os requisitos

(nível técnico). Essa visualização facilita a documentação e a leitura do modelo por

parte dos envolvidos.

Page 112: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

113

O quadro 2 apresenta um resumo dos resultados em relação à modelagem de Metas para

a manipulação do conhecimento.

Item Analisado Resultado

Manipulação do conhecimento para

pequenos projetos.

Melhorou o entendimento, a comunicação e a

criação do escopo.

Manipulação do conhecimento para grandes

projetos.

Inadequado para o projeto como um todo.

Transmissão do conhecimento entre os

envolvidos.

Melhora a assimilação por parte do

engenheiro de requisito. Ajuda na

comunicação através da modelagem visual.

Implantação do processo colaborativo para

a modelagem de metas.

Gerou latência, no desenvolvimento, para o

engenheiro de software.

Utilização das perguntas como e por que no

apoio ao entendimento do problema,

durante a atividade de elicitação.

Ajuda o engenheiro de requisitos a identificar

as falhas no levantamento e no entendimento

das necessidades dos usuários.

Utilização das perguntas como e por que

durante o processo de entrevista.

Pode interromper o raciocínio lógico do

usuário.

Manipulação do conhecimento na fase de

concepção, ou seja, modelagem do

problema.

Útil para o entendimento do problema e para

a criação do escopo.

Manipulação do conhecimento na fase de

elaboração, ou seja, modelagem da solução.

Não foram identificados benefícios diretos

para a modelagem da solução.

Manipulação do conhecimento na fase de

construção

A modelagem de metas não forneceu

subsídios para apoiar o desenvolvimento nesta

fase.

Manipulação do conhecimento na fase de

Transição

Não foi viável vincular o aceite do sistema

com a conformidade das metas, ou seja,

garantir a qualidade pela conformidade do

sistema em relação às metas a serem

atingidas.

Redução do tempo na atividade de

elicitação de requisitos

Não foi possível efetuar nenhum tipo de

medição para comprovar.

Quadro 2 – Resumo dos resultados da modelagem de metas

Page 113: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

114

Os resultados apresentados no quadro 2 são avaliados e analisados detalhadamente a

seguir:

a) Desenvolvimento do diagrama do modelo de metas.

Após a aplicação da modelagem de metas em projetos de portes distintos, isto é,

projetos de grande e pequeno porte, verificou-se que nos projetos de pequeno porte o processo

de modelagem foi realizado sem maiores problema. O modelo visual permitiu a identificação

rápida dos requisitos, a elaboração do escopo e a melhoria na comunicação entre os envolvidos.

A confecção do modelo de metas foi feito na atividade de elicitação de requisitos sem a

necessidade de efetuar vários refinamentos. A comunicação foi beneficiada devido à descrição

dos requisitos estarem apoiadas por um modelo visual. O modelo visual agilizou as reuniões

entre o engenheiro de requisitos e os integrantes da equipe. Cabe ressaltar que se considera

como projetos de pequeno porte aqueles que consistem em alterações nos sistemas já

implantados. Essa alteração consistia em mudança de requisitos ou inclusão de novos módulos.

Normalmente o tempo médio dessas alterações foi de no máximo 45 dias.

Mas, para projetos de maior porte, teve-se muita dificuldade em criar o modelo de metas

eficaz. O modelo criado ficou muito grande e sem a identificação clara das metas e seus

requisitos. Esse modelo não permitiu a comunicação visual entre os integrantes dificultando o

seu entendimento. Além desses fatores, gastou-se muito tempo para validar o modelo. Como o

engenheiro de software não tinha condição de completar todas as metas e requisitos, verificou-

se a necessidade de um maior número de refinamentos. Todos esses fatores inviabilizaram a

transmissão do conhecimento, uma vez que esses dificultaram o acompanhamento do

refinamento, a rastreabilidade das metas e a interligação existente entre as metas. Os requisitos

vinculados às metas ficaram com um formato muito abstrato, dificultando, assim, a sua

interpretação.

A solução do problema foi a subdivisão do projeto em módulos, agrupando as

metas/requisitos de acordo com as suas macro funcionalidades. Essa divisão foi feita após a

elaboração do diagrama de contexto. Para cada módulo identificado no diagrama de contexto

fez-se o modelo de metas dos módulos. Esses modelos ficaram menores e mais fáceis de serem

acompanhados, tanto pela equipe de desenvolvimento, quanto pelo usuário, uma vez que o

modelo ficou mais claro de ser lido, pois diminuiu o número de ligações existentes entre os

requisitos e os conjuntos de metas. A equipe de desenvolvimento conseguiu fazer a

Page 114: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

115

rastreabilidade entre as metas e requisitos de uma forma mais rápida e eficiente. Os requisitos

obtidos durante o refinamento dos módulos foram mais facilmente identificados e alocados às

metas.

b) Implantação do processo de modelagem colaborativa com o usuário

Um das propostas dessa dissertação foi a implantação da modelagem de metas efetuada

de forma colaborativa entre o desenvolvedor e o usuário. Nesse sentido algumas tentativas

foram efetuadas para essa implantação. As tentativas consistiram na modelagem de metas para

alterações de requisitos de um projeto em andamento, um novo projeto de pequeno porte e, o

desenvolvimento de um projeto de maior porte.

Tanto nas alterações de requisitos como nos projetos de pequeno porte não foi possível

usar o processo colaborativo descrito no capítulo 3.1. Isso porque, durante o processo de

levantamento de dados junto ao usuário, o desenvolvedor, praticamente, criou o modelo de

metas. Ou seja, o objetivo da transmissão do conhecimento para a interpretação das

necessidades por parte do engenheiro de software, já havia sido atingido. Dessa forma, não foi

possível verificar se processo colaborativo auxiliaria a transmissão do conhecimento de forma

eficiente.

Para caracterizar o processo colaborativo em um projeto de maior porte, utilizou-se um

projeto que consistia de um número maior de iterações entre o levantamento de requisitos, a

análise por parte do desenvolvedor e a necessidade de refinamento do entendimento. A

tentativa de implantação neste projeto não foi bem sucedida, pois se obteve uma latência para o

desenvolvedor, ou seja, não se pode afirmar onde ocorreu o problema, se no processo

colaborativo ou na confecção do modelo.

Durante a fase de concepção desse projeto, não foi possível testar o processo

colaborativo uma vez que o tempo para apresentação da proposta do projeto era escasso. O

engenheiro aplicou o modelo de metas sem a presença física do usuário, ou seja, utilizou apenas

os resultados obtidos em reuniões para o levantamento inicial.

Durante a fase de elaboração do projeto efetuou-se uma tentativa de implantação do

processo colaborativo. Nessa tentativa, durante os refinamentos, obteve-se uma latência para o

desenvolvedor. Acredita-se que essa latência tenha sido gerada por dois motivos:

• Dificuldades obtidas na confecção do modelo durante a fase de concepção. Essas

dificuldades geraram um grau de desconfiança, que se transferiu para a implantação

do processo na fase de elaboração;

Page 115: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

116

• Dificuldade de alocar tempo para fazer o refinamento por parte do usuário. Acredita-

se que o problema não foi a falta de vontade de usuário em desenvolver o modelo, e

sim, a falta de tempo e, principalmente, pela criação do modelo não ser uma

atividade diária do usuário. As prioridades do usuário são as atividades relacionadas

com o seu negócio.

Desta forma, obteve-se maior sucesso para a modelagem de metas quando o

desenvolvedor realizou todo o modelo. Ou seja, o usuário se fazia necessário apenas na

validação do que deveria ser desenvolvido. Essa validação consistia na efetivação do

conhecimento transmitido ao desenvolvedor. O desenvolvedor, exercitando o trabalho de

identificar as metas e liga-las aos requisitos ajudou a dominar o problema de uma forma mais

rápida. Não foi possível quantificar o que vem a ser mais rápido, pois não foi possível efetuar

um comparativo devido à falta de projetos semelhantes. No entanto, obteve-se uma redução do

retrabalho na entrega dos produtos de algumas alterações.

Durante a implantação do processo colaborativo de metas, observou-se um entrave na

forma de posicionar os conceitos relativos à modelagem para os usuários. A modelagem de

metas foi testada em três empresas diferentes. Antes de iniciar-se o levantamento explicava-se a

metodologia proposta e como se atuaria durante o levantamento. Essa explicação foi feita para

os dois níveis: gerencial e operacional. Em duas empresas, que se caracterizavam pelo formato

de gestão baseada em metas de resultados, obteve-se problemas com o entendimento. Num

primeiro momento, os gestores confundiram a modelagem de metas com as metas a serem

atingidas com o processo de desenvolvimento. Ou seja, metas a serem atingidas com relação ao

prazo de entrega, com as metas a serem atingidas com o produto.

c) Processo para implantação da modelagem de metas

Inicio-se a implantação da modelagem de metas internamente na empresa sem a

presença do usuário. Isso acarretou alguns problemas para o desenvolvedor. Os

desenvolvedores, normalmente, identificaram as metas a serem atingidas em relação aos lucros

ou a alguma outra parte financeira. No trabalho, considerou-se que praticamente todo produto a

ser construído, de uma forma ou de outra, deve melhorar a relação custo/resultado da empresa

e, com certeza, são metas a serem atingidas. Mas, as metas que irão ajudar na transmissão do

conhecimento envolvem as regras de negócio e como o usuário manipula essas regras de

negócio para atingir os seus objetivos.

Page 116: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

117

Considerou-se que a visão inicial de metas, envolvendo a parte financeira, se justifica

porque os desenvolvedores, geralmente, não são preparados para trabalhar com o processo de

negócio e sim trabalhar técnicas de análise e modelagem de sistema. A partir do momento em

que os desenvolvedores foram forçados a pesquisar as metas a serem atingidas, juntamente com

o usuário, tiveram que pensar no problema separado da solução. E isto foi benéfico para o

desenvolvimento, pois ajudou o desenvolvedor a migrar do mundo técnico para o mundo do

usuário, ajudando na melhoria da interpretação dos requisitos. Assim, o entendimento do

problema foi visto com a visão do usuário e não com a visão do engenheiro de software. A

solução, ou seja, a visão do engenheiro de software a respeito do negócio ficou para a

posteriori, ajudando na criação dos modelos UML do projeto.

A solução para minimizar o trabalho de identificação das metas, sem a presença do

usuário, consistiu na alocação dos requisitos não funcionais como meta. Essa sugestão

melhorou os modelos iniciais de metas criados pelos desenvolvedores.

O modelo de metas ajudou os engenheiros de software a entender o problema de uma

forma esclarecedora, durante as reuniões técnicas. Os engenheiros não discutiam somente a

solução que deveria ser adotada, mas discutiam principalmente o problema. Essa discussão

ampliou o nível de entendimento do domínio, melhorando por conseqüência as soluções para os

projetos.

d) Dificuldade na realização da entrevista focada nas perguntas como e por que

As perguntas como e por que, aplicadas diretamente durante o processo inicial de

entrevistas para o detalhamento de uma meta, interromperam o raciocínio lógico do usuário. O

usuário, durante o relato das suas necessidades, não conseguiu se fixar em apenas um ponto, ou

seja, na meta. As interrupções tornaram as entrevistas cansativas e sem uma coerência lógica.

Portanto, não se obteve o resultado esperado. Mas, as perguntas mostraram-se úteis para a

verificação e validação junto ao usuário. As perguntas como e por que foram úteis na hora de

preencher o modelo de metas na ferramenta. Os engenheiros de software, às vezes tiveram

dificuldades de responder as perguntas, ficando, assim, caracterizada uma falta de entendimento

durante o levantamento de requisito. Isso indicava, portanto, uma necessidade de retornar ao

usuário para fazer a elicitação das dúvidas.

e) Antecipação das possíveis alterações de requisitos

Page 117: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

118

A análise do estudo do segundo estudo de caso, apresentado no capítulo 5, seção 5.3,

indica que a modelagem de metas contribuiu na melhoria da atividade de elicitação dos

requisitos, antecipando ou evitando futuras modificações. A análise desse estudo de caso foi

realizada através de uma reunião, onde foram levantados três pontos de vista, que consistiram

em verificar:

• Se o usuário deveria ou não, já ter solicitado tudo que ele necessitava no primeiro

momento. No estudo de caso efetuado, o usuário já deveria ter solicitado a comparação

com o resultado anual, uma vez que, ao final da elicitação do requisito, ficou claro que

ela correspondia a uma necessidade importante para o seu trabalho;

• Se não houve falha do engenheiro de software na identificação das necessidades da

comparação anual, durante a atividade de elicitação. O engenheiro deveria ter a

capacidade de identificar essa necessidade sem nenhum esforço adicional, visto que,

qualquer análise financeira possivelmente envolverá uma análise anual;

• Se as solicitações iniciais deveriam ter sido desenvolvidas e, posteriormente,

identificadas as alterações, as quais seriam tratadas como uma nova iteração do processo

de desenvolvimento pois, esse processo preconiza, exatamente, a possibilidade de

mutabilidade dos requisitos.

O terceiro ponto de vista ocorre, naturalmente, durante todo o ciclo de vida do projeto,

mas, para produzir um projeto com qualidade e dentro dos prazos e custos inicialmente

definidos, faz-se necessário reduzirmos o número de iterações para acertos dos requisitos já

desenvolvidos. O ideal é que as novas iterações tratem da implementação de novas

funcionalidades e para o amadurecimento do conhecimento sobre o produto que está sendo

desenvolvido. Iterações para correções aumentam o custo final do produto. E, a empresa, pode

ter dificuldade em repassar esse custo para o cliente.

Com relação aos outros dois pontos de vista, considera-se que, a modelagem de metas

pode ajudar tanto o usuário a definir melhor a sua necessidade, quando o engenheiro, a perceber

situações incompletas com relação às necessidades do usuário. Se o engenheiro já tivesse algum

entendimento do domínio, com certeza ele poderia detectar a falta do requisito de comparação

anual. Mas, se com a utilização da modelagem de metas o requisito anual foi devidamente

identificado, então pode-se dizer que houve a transferência do conhecimento e da experiência

no domínio do problema para o engenheiro de software;

f) Transmissão de conhecimento fases do processo

Page 118: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

119

Os engenheiros de software, durante o desenvolvimento dos projetos e, principalmente,

na fase de concepção, realizaram reuniões técnicas para elaborar a proposta e verificar soluções

para os projetos em desenvolvimento.

As reuniões da fase de concepção demonstraram ter maior efeito na transmissão do

conhecimento. A modelagem visual e o preenchimento das respostas como e por que ajudaram

na transmissão do conhecimento, visto que, primeiro era apresentado o modelo de metas e,

depois, efetuada a leitura dos requisitos desejados pelo usuário. Durante a leitura, detectou-se

um entendimento mais rápido por parte das pessoas envolvidas na reunião.

Os resultados da transmissão do conhecimento na fase de elaboração devem ser melhor

estudados, para que se possa afirmar que existe a transmissão do conhecimento durante a

solução do problema. Na fase de concepção, apenas um integrante da equipe efetua o

levantamento e é necessária a transmissão do conhecimento para a construção da proposta. Nas

reuniões da fase de elaboração, já existia um conhecimento do assunto por toda a equipe.

Assim, o conhecimento já fora adquirido não havendo, portanto, a necessidade da aquisição

durante essa fase. Como não ocorreu alteração da equipe na fase na elaboração, não se pode

afirmar que haverá a transmissão do conhecimento no mesmo nível da fase de concepção. A

avaliação da eficácia da transmissão do conhecimento poderia ser verificada com a mudança de

algum membro da equipe. Portanto, pode-se dizer que a modelagem de metas ajuda a transmitir

o conhecimento do problema do domínio.

De acordo com a proposta, os testes das fases de construção e transição deveriam

considerar o modelo de metas, a fim de garantir a qualidade do software. A partir da utilização

da modelagem de metas, os requisitos puderam ser melhor compreendidos. Assim, acredita-se

que os testes ganharam em qualidade, mas em nenhum dos casos avaliados foi possível fazer

uma avaliação da meta, a não ser quando a meta tratava de um requisito não funcional. Não

houve retorno do cliente com relação ao grau de conformidade das metas em relação ao

produto. Ou seja, não foi possível vincular o aceite do projeto com a conformidade da meta,

devido à inadequação do tempo para validação da meta e o faturamento do projeto por parte da

empresa. O retorno obtido foi apenas a indicação de que o software estava de acordo com o

solicitado. Supõe-se que as metas foram atingidas, a partir do momento em que o software foi

considerado adequado. Essa suposição é baseada na rastreabilidade entre os requisitos e as

metas a serem atingidas.

Page 119: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

120

g) Transmissão de conhecimento em relação ao tempo da atividade de elicitação

Não foi possível verificar a redução do tempo na atividade de elicitação de requisito.

Em engenharia de software é difícil cronometrar essa atividade para comparar com outra

semelhante do mesmo projeto ou de um novo. Ou seja, a falta de similaridades, a capacidade de

transmitir do usuário e a capacidade de recepção do engenheiro de software dificultam qualquer

comparação de tempo. No entanto, considera-se que a modelagem de metas melhorou a

qualidade do levantamento e agilizou o ganho de experiência no domínio. Acredita-se que, para

haver uma real redução do tempo, deveria existir um aumento de investimentos no processo

colaborativo. O usuário investiria um tempo na sua especificação da metas/requisitos e o

desenvolvedor poderia investir um maior tempo na análise dessas metas/requisitos.

Page 120: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

121

7.2 Análise dos resultados da Rastreabilidade baseada em Léxico

Ramesh (2002), apresenta como fatores críticos para o sucesso da transferência do

conhecimento entre os integrantes da equipe a forma da apresentação da rastreabilidade, a

capacidade de absorção e o valor que as pessoas dão para o conhecimento. Estes critérios

devem ser bem observados e trabalhados na pequena empresa devido às suas características e,

principalmente, à dificuldade de implementar e impor novos processos. Os resultados obtidos

neste trabalham mostram que:

• O problema do formato da apresentação é possível resolver, através de reuniões técnicas

e da implementação do resultado das reuniões nos programas desenvolvidos;

• A capacidade de absorção normalmente não é problema devido, ao pequeno número de

pessoas e na existência de um certo padrão de formação acadêmica dos sócios;

• O valor que as pessoas dão ao conhecimento está diretamente relacionado com a

utilização da rastreabilidade e com o reflexo dessa rastreabilidade nos projetos. Em uma

grande empresa existe uma hierarquia de poder. Essa hierarquia facilita a tarefa de criar

a atividade de atualizar o resultado do trabalho em um banco de conhecimento. Na

pequena empresa, essa hierarquia não é bem definida, principalmente quando a maioria

dos integrantes é sócia. O poder é dividido e o interesse nos projetos e nos resultados

influenciam na motivação da atualização da base de conhecimento.

A partir do desenvolvimento e da manipulação da ferramenta de rastreabilidade baseada

em léxico, como apoio à manipulação do conhecimento, chegou-se aos seguintes resultados

(quadro 3):

Page 121: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

122

Item Analisado Resultado

Formatação do banco de conhecimento

para a manipulação do conhecimento.

Apóia a manipulação do conhecimento a partir da

implementação integrada das visões técnicas,

gestão e de processo.

Utilização do léxico na manipulação do

conhecimento.

O registro da variação dos conceitos do léxico

possibilita a transmissão do conhecimento e apóia o

reuso de conceitos em projetos diferentes.

Formatação da rastreabilidade baseada

em sujeito, verbo, objeto e estado.

Ajuda na manipulação do conhecimento a partir da

leitura textual da rastreabilidade.

Utilização da ferramenta na manipulação

do conhecimento.

Ajuda a partir do foco estar na forma de

recuperação e navegação.

Transmissão do conhecimento entre os

integrantes da equipe.

Minimiza a dependência de conhecimento entre as

pessoas envolvidas no desenvolvimento dos

projetos.

Análise de impacto da alteração dos

requisitos.

O formato da apresentação utilizado pela

ferramenta ajudou na análise de impacto das

alterações dos requisitos.

Análise da história dos requisitos. Pouca eficiência na manipulação do conhecimento

de histórias relatadas pelos usuários. Muito

utilizado para efetuar consulta à base de

conhecimento para análise de impacto.

Dificuldade na atualização do banco de

conhecimento.

A ferramenta não ajuda na atualização em tempo

real das visões de processo e gestão. A visão

técnica demonstra ser de fácil atualização, tanto a

partir da ferramenta, quanto a partir de módulos de

integração entre as ferramentas utilizadas pela

empresa.

Quadro 3 – Resumo dos resulados da rastreabilidade de requisitos baseado em léxico

Page 122: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

123

Os resultados apresentados no quadro 3 são avaliados e analisados detalhadamente a

seguir:

a) Banco de Conhecimento

Um dos objetivos desta dissertação é demonstrar a capacidade da modelagem do

banco de conhecimento na implementação da rastreabilidade baseada em léxico. Esse banco de

conhecimento deveria possibilitar a manipulação do conhecimento para a empresa estudada. De

acordo com os testes efetuados, durante a elaboração dos projetos, o banco modelado

demonstrou ser capaz de armazenar as informações necessárias para a manipulação do

conhecimento. A sua modelagem abrangeu todas as visões relativas ao desenvolvimento do

software: processo, gestão e técnica. Foi possível trabalhar informações históricas das

atualizações dos léxicos.

O formato da rastreabilidade baseada no léxico ajudou na transmissão do

conhecimento entre os integrantes da empresa, devido à:

• Implementação das variações dos conceitos de um determinado léxico de acordo com o

contexto usado.

O conhecimento está balizado na experiência que uma determinada pessoa tem sobre

um determinado assunto. No domínio do desenvolvimento de sistema surgem conceitos

diferentes para o mesmo léxico, ou seja, um determinado léxico pode variar o seu conceito de

acordo com a utilização e de acordo com o domínio do projeto que está sendo desenvolvido. A

implementação dessa variação de conceitos, para um mesmo léxico, ajudou na solidificação do

conhecimento adquirido. O engenheiro de software pôde comparar os conceitos diferentes do

léxico em projetos diferentes e em situações diferentes dentro do mesmo projeto. Essa

comparação permitiu ao engenheiro de software validar o domínio do problema.

O léxico, por ser único, possibilitou uma melhoria na análise da história, visto que, são

apresentadas para o engenheiro de software todas as situações em que o léxico poderá aparecer.

O engenheiro de software pode fazer uma análise de qual léxico/conceito seria usado na

história. Para exemplificar essa análise, tem-se: o léxico procedimento tem o seu conceito

variado de acordo com o do domínio e de acordo com o tipo de uso dentro do mesmo domínio.

O conceito dicionarizado do léxico procedimento é o modo de proceder, de portar-se,

comportamento. No projeto de controle de obras o léxico procedimento se refere às etapas que

uma determinada empresa tem que cumprir para habilitar-se a desenvolver uma determinada

obra. No projeto de faturamento médico o procedimento tem as seguintes variações: referir-se

Page 123: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

124

ao procedimento realizado pelo médico no atendimento a um paciente, por exemplo, a

realização de uma cirurgia; referir-se aos procedimentos que um determinado faturista deve

realizar para efetuar o faturamento dos procedimentos médicos, e referir-se a uma tabela de

banco de dados ou classes que façam parte da solução do software.

• A formatação sujeito, verbo, objeto e estado.

Um léxico se relaciona a outro a partir da identificação do tipo de relacionamento que

existe entre eles e não somente com a indicação de que eles se correlacionam. Essa formatação

demonstrou ser eficiente no sentido de permitir uma leitura textual da rastreabilidade. A leitura

textual facilitou o entendimento por ser mais completa e conter todos os elementos que

envolvem a formatação de uma idéia. Pode-se fazer uma analogia da leitura da rastreabilidade

com a leitura de um texto. Quando um texto é apresentado na ordem direta (sujeito, verbo,

objeto e estado), a compreensão das idéias que o autor pretende transmitir é facilitada. Dentro

desse contexto, a rastreabilidade foi beneficiada pela organização textual da informação a ser

pesquisada.

• Implementação das visões diferentes em um mesmo modelo de apresentação.

A implementação favoreceu a extração das informações do banco. A possibilidade de

visualizar todos os elementos de uma forma única, ou combinada, permitiu ao usuário da

rastreabilidade fazer comparações entre os elementos. Sempre que se faz comparações, é

possível melhorar a manipulação do conhecimento, pois a mesma passa por processo de

raciocínio.

• A implementação histórica das alterações do banco.

A implementação histórica possibilitou um amadurecimento dos usuários da

rastreabilidade. As pessoas adquirem experiências a partir dos trabalhos já realizados. Esses

trabalhos servem como base para uma análise crítica de novas situações. A experiência é uma

análise histórica da vivência das pessoas em um determinado assunto. A implementação

histórica no banco de conhecimento permitiu o armazenamento dessa experiência vivida. A sua

recuperação, através da análise da rastreabilidade, colaborou na interpretação das novas

funcionalidades.

b) Análise da Rastreabilidade baseada em léxico.

Page 124: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

125

Conforme os objetivos dessa dissertação, a ferramenta proposta deveria apoiar a

manipulação do conhecimento. Durante o processo de criação da ferramenta observo-se que,

para efetuar a manipulação do conhecimento existiam dois fatores críticos: a forma de

recuperação do conhecimento e a forma de navegação no conhecimento recuperado.

O formato, desenvolvido para a recuperação dos léxicos, demonstrou ser eficiente para

a análise da rastreabilidade, devido à agilidade na seleção de um léxico para pesquisa. Os

formatos desenvolvidos foram: seleção pontual de um léxico e seleção conjunta dos léxicos a

partir da descrição de uma história.

O ponto chave para o sucesso da manipulação do conhecimento consistiu na navegação

da ferramenta. A possibilidade de navegar em árvore no formato composição e impacto gerou

ganhos na pesquisa dos léxicos. Foi possível fazer a análise de impacto, tanto diretamente na

composição do léxico, quanto nos seus possíveis reflexos. Esses possíveis reflexos são

apresentados através da apresentação da composição dos níveis hierárquicos superiores, e/ou

inferiores, do léxico analisado. A comparação simultânea da voz ativa e voz passiva, também,

colaborou na identificação dos impactos diretos e indiretos. O apoio ocorreu a partir do

momento em que se obteve visualização simultânea, sem a necessidade de realização de uma

nova pesquisa.

A possibilidade de navegar, na análise, a partir do clique com o mouse no léxico,

otimizou o tempo de pesquisa. Como uma análise poderá abranger vários léxicos, foi necessária

a implementação da lista de léxico consultada. A lista foi incorporada para indicar, ao usuário

da rastreabilidade, a seqüência de consulta e assim permitir retornar a qualquer ponto da

análise. A possibilidade de navegar apenas com a utilização do mouse e o registro da seqüência

da análise agilizou o processo de busca do conhecimento, uma vez que essa ação não

interrompe o raciocínio do usuário durante a análise.

A forma utilizada para verificar a manipulação do conhecimento, pela análise da

rastreabilidade, consistiu na redução da transmissão do conhecimento face a face entre as

pessoas envolvidas no processo. Na pequena empresa é mais fácil obter uma resposta

diretamente com um pergunta do que fazer uma consulta em uma ferramenta, devido ao número

de pessoas envolvidas. Para efetuar o teste de transmissão do conhecimento, primeiramente a

pessoa deveria utilizar a ferramenta e analisar a rastreabilidade. A partir dessa análise, o

entendimento era formatado e depois validado com a pessoa que tinha o conhecimento e que

originalmente responderia a pergunta. Isso forçou as pessoas a buscarem o conhecimento em

fontes de documentação e não com as pessoas que já trabalhavam em um determinado projeto.

O formato final da apresentação da rastreabildiade da ferramenta foi obtido a partir das críticas

Page 125: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

126

e sugestões surgidas durante o processo de teste da transmissão do conhecimento. Como

resultado final a ferramenta apoiada na rastreabilidade baseada em léxico demonstrou eficiência

na manipulação do conhecimento.

Os integrantes da empresa estudada trabalham em mais de um projeto ao mesmo tempo.

Daí a necessidade de cada membro da equipe trabalhar o conhecimento necessário para o

desenvolvimento do projeto, independentemente de quem tenha feito e quando tenha feito a

atividade do projeto. A necessidade consistiu em agilizar o processo de agregação de valor ao

conhecimento para a tomada decisão, a partir das atividades e artefatos já produzidos.

Trabalhando sob essa perspectiva, observou-se uma minimização da dependência de

esclarecimentos ou dúvidas em relação à pessoa que fez o projeto. Não se pode quantificar essa

minimização, no entanto, observou-se uma maior independência na tomada de decisões.

c) Análise da História

A análise da história demonstrou eficiência na formatação de uma consulta geral na

base de conhecimento. Essa consulta geral foi feita para verificar o impacto e a possível

composição de vários léxicos já existentes na base de conhecimento. O usuário tinha a

necessidade de visualizar um conjunto de léxicos que não fazia parte de nenhuma composição

imediata (história), assim o usuário criava uma história com todos os léxicos e solicitava a

análise. O resultado da análise da história é uma possível composição de todos os léxicos. O

resultado obtido da composição, muitas vezes, não tinha nenhum objetivo de manipulação

direta do conhecimento. Mas, como a ferramenta mostra o impacto, através da composição

hierárquica dos relacionamentos dos léxicos, e a partir da navegação em árvore, foi possível

fazer uma análise geral mais rápida, sem ter que pesquisar a formatação de léxico a léxico.

A análise da história, a partir de uma historia real, não apontou o resultado esperado. O

processo utilizado pela empresa não contribuiu para a criação da história. Isso implicou em uma

etapa a mais na elaboração do produto, uma vez que a atividade de análise dos requisitos já

contemplava a rastreabilidade dos requisitos em relação ao modelo de classe. Outro problema

que se percebe consistia no resultado insatisfatório da análise da história. Essa não foi capaz de

manipular o conhecimento de uma história completamente nova e/ou de histórias com um grau

de complexidade maior. A análise somente obteve algum sucesso na identificação e

manipulação do conhecimento de histórias com menor grau de complexidade e de histórias que

relatavam alguma alteração de requisito já desenvolvido.

Page 126: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

127

A única vantagem verificada foi a possibilidade de se efetuar a documentação do

sistema. Essa documentação possibilitou a recuperação futura do conhecimento por parte dos

demais integrantes. No entanto, como manipulação do conhecimento imediato não demonstrou

o valor esperado e acredita-se que isso se deve ao fato de não ter nenhum resultado imediato

para o desenvolvedor.

d) Atualização do banco de conhecimento

O sucesso da manipulação do conhecimento está vinculado à capacidade de

manutenção do banco de conhecimento. Os processos de atualização a partir da modelagem das

tabelas no banco de dados (SGBD – Sistema Gerenciador de Banco de Dados), e a partir do

arquivo XML, demonstraram ser eficientes para manutenção do banco do conhecimento.

Portanto, a visão técnica foi mantida atualizada para o seu uso posterior.

Os processos de atualização das atividades, que correspondiam ao processo,

normalmente ficaram atrasados em relação aos artefatos. Não ocorreram problemas de

atualização na fase de planejamento. A atividade de planejar já tinha incorporado o tempo

necessário para atualização na ferramenta. Mas a indicação da realização da atividade não

demonstrou eficiência. A atualização da realização da atividade foi atrasada e ficou dependente

de esforços individuais. Isso porque a atualização é manual e havia necessidade da agilização

das respostas junto aos clientes.

O atraso na atualização foi impactante para a análise imediata da rastreabilidade. Esse

não foi um grande problema para a empresa, devido ao número de integrantes da equipe. O

atraso não teve impacto na análise histórica da rastreabilidade, pois o atraso na atualização não

foi maior que o tempo de entrada de novos projetos.

O processo de atualização da visão da gestão, nas atividades realizadas, não obteve

nenhum resultado positivo. O fato ocorreu devido à dificuldade de registro das lições

aprendidas ou dos motivos da decisão por atividade ou artefato. Normalmente, o engenheiro de

software, que estava desenvolvendo uma atividade ou artefato, considerou óbvia a solução

empregada. Esse fato se justificou pela padronização dos métodos de análise e de

documentação do desenvolvimento de sistema.

As lições aprendidas com o projeto foram fáceis de ser atualizadas, visto que, foram

obtidas a partir de reuniões com a equipe. Entretanto, não se pôde fazer uma relação direta dos

problemas com as atividades realizadas na época. Normalmente, os problemas consistiram em

um relato de um conjunto de atividades e foram atualizadas para o projeto como um todo.

Page 127: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

128

8 CONCLUSÃO E TRABALHOS FUTUROS

8.1 Conclusão

Diante das discussões postas neste trabalho, chega-se à conclusão que tanto a

modelagem de metas quanto a rastreabilidade baseada no léxico podem ajudar na manipulação

do conhecimento e na melhoria do processo de desenvolvimento de uma pequena empresa. A

modelagem de metas mostrou-se eficiente para o entendimento das necessidades do usuário,

principalmente na atividade de elicitação de requisito e, a rastreabilidade mostrou-se eficiente

na manipulação histórica e na manipulação da visão técnica.

A modelagem de metas apresentou um resultado satisfatório na manipulação do

conhecimento em projetos e/ou módulos menores. Para projetos maiores, a solução, entretanto,

deve ser a subdivisão da modelagem das metas em módulos funcionais menores, de forma a

possibilitar a interpretação e a rastreabilidade dos requisitos com as metas entre os

desenvolvedores. Para efetivar a comunicação e a transmissão do conhecimento é necessário

que o modelo tenha uma fácil leitura. Considera-se o tempo de leitura um fator importante para

a transmissão do conhecimento na empresa estudada.

A ferramenta de modelagem de metas, apesar de simples em relação ao Objectiver

(2006), demonstrou ser uma ferramenta eficiente para a documentação da elicitação de

requisitos. Como a ferramenta exporta arquivo XML, ela foi integrada ao banco de

conhecimento. Assim, a ferramenta contribuiu para a documentação e a transmissão do

conhecimento entre os integrantes da equipe.

A ferramenta de rastreabilidade, desenvolvida, mostrou-se satisfatória para a

recuperação e a manipulação do conhecimento registrado no banco de conhecimento. O modelo

do banco criado implementou todas as necessidades de registro do desenvolvimento do sistema.

Além disso, o formato desse banco, sugerido neste estudo, apresentou a vantagem de ajudar na

leitura da rastreabilidade dos elementos envolvidos no desenvolvimento de um sistema,

reconhecidos como léxicos.

Considera-se que a manipulação do conhecimento feita pela modelagem de metas e pela

rastreabilidade baseada em léxico ajuda, de um modo geral, a qualidade de software, tendo em

vista o produto final. Isso foi possível porque, segundo a proposta dessa dissertação, a

Page 128: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

129

ferramenta apóia a manipulação do conhecimento entre os integrantes a partir do momento que

o engenheiro de software tem à sua disposição as informações referentes ao desenvolvimento.

O modelo proposto de rastreabilidade baseado em léxico para a manipulação do

conhecimento ajudou na tomada de decisão devido aos seguintes fatores:

• Agilidade na análise de impacto de mudança nos produtos em desenvolvimento ou já

desenvolvidos;

• Diminuição do tempo da manutenção de software, principalmente na correção de um

erro, a partir da agilização da análise de impacto;

• Apoio na atividade de identificar o tempo e o custo de um novo projeto ou de uma

alteração de um produto já existente, a partir do registro na rastreabilidade das atividades

do previsto e do realizado em relação ao custo e ao tempo;

• Melhoria na identificação da possibilidade de reuso de algum artefato já produzido. E na

identificação dos artefatos que devem ser utilizados para a implementação de um novo

requisito, a partir da unificação do léxico a da separação dos conceitos.

Conclui-se que o estudo proposto pôde contribuir para a manipulação do conhecimento

em uma pequena empresa produtora de software, devido à diminuição da dependência de

conhecimento em relação a um profissional específico, tanto na elicitação dos requisitos,

quanto na parte técnica relativo ao desenvolvimento.

Page 129: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

130

8.2 Trabalhos Futuros

Em trabalhos futuros, pretende-se estudar aspectos relevantes na manipulação do

conhecimento e que não foram tratados ou resolvidos neste estudo. Dentre eles destaca-se:

• Implementação do processo colaborativo para modelagem de metas. Acredita-se que o

processo colaborativo otimiza a transmissão do conhecimento entre os envolvidos e a

redução do tempo da atividade de levantamento de requisitos. Para as empresas de

pequeno porte que não possuem mão de obra especifica para trabalhar cada atividade do

processo de desenvolvimento, esse fato pode tornar-se relevante;

• Melhoria do processo de analisar a história. Acredita-se que se forem implementadas

regras de análise do léxico, aliadas a métodos de inteligência artificial, pode-se

recuperar e gerar um conhecimento para o engenheiro de software. O conhecimento

gerado facilitará a elaboração dos modelos que representariam a história analisada, o

que acarretaria um ganho de produtividade e aumentaria a motivação das pessoas para

manter o banco de conhecimento atualizado;

• Melhoria da atualização do registro das decisões relativas ao projeto. Acredita-se que as

lições aprendidas na realização das atividades do projeto solidificam o conhecimento.

Seria interessante estudar mecanismos que motivem as pessoas a registrar as suas

decisões, com ganho de produtividade no trabalho;

• Desenvolvimento de classes, para efetuar a integração com outros sistemas de controle

de produção de software utilizados pelas empresas, com a finalidade de motivar o uso

da rastreabilidade baseada em léxico;

• Melhoria na ferramenta, para permitir, que além de rastrear o requisito, se possa avaliar

a situação da sua implementação e satisfação quanto às necessidades do usuário em

relação aos pontos de controle da gestão do projeto.

Page 130: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

131

REFERÊNCIAS

ANTONIOL, Giuliano et al.; Recovering Traceability Links between Code and Documentation,

IEEE Transactions on Software Engineering, vol. 28, no. 10, October 2002.

BECK, Kent, Programação extrema explicada: acolha as mudanças / Kent Beck; trad. Adriana

P.S. Machado e Natália N.P. Lopes. – Porto Alegre: Bookman, 2004.

BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar, UML, guia do usuário / Grady

Booch, James Rumbaugh, Ivar Jacobson; tradução de Fábio Freitas da Silva, Rio de Janeiro:

Elsevier, 2000, 13ª reimpressão.

BORGES, Ligia da Motta Silveira; FALBO, Ricardo de Almeida; Gerencia do Conhecimento

sobre processo de Software; Anais do VIII Workshop de Qualidade de Software, XV Simpósio

Brasileiro de Engenharia de Software, pp. 27-38, Rio de Janeiro, Brasil, Outubro 2001.

C&L, Cenários e Léxicos; Grupo de Engenharia de Requisitos PUCRio; Disponível em <

http://www.rawu.dk/pes/cel/>, acessado em 14 de setembro de 2006.

CAMPOS, M.L.A. A Organização de Unidades do Conhecimento em Hiperdocumentos: o

modelo conceitual como um espaço comunicacional para a realização da autoria. Tese de

Doutorado em Ciência da Informação. IBICT-UFRJ/ECO, Rio de Janeiro, 2001.

CMMI - Capability Maturity Model Integration, 2005.

DARDENNE, Anne; FICKAS, Stephen; LAMSWEERDE, Axel Van; Goal-Directed Concept

Acquisition in Requirements Elicitation; IEEE, 1991.

DICK, Jeremy; Design Traceability; IEEE Software, Published By The Computer Society;

November/December 2005.

Page 131: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

132

FANO, Andrew et al; Acquisition of Knowledge Sources For Natural Language Processing; in:

Tools for Artificial Intelligence, 1989. Architectures, Languages and Algorithms. IEEE

International Workshop.

FELICÍSSIMO, Carolina Howard; Geração de Ontologia Subsidiada pela Engenharia de

Requisito; Workshop em Engenharia de Requisitos 2003: Piracicaba-SP, Brasil.

FERREIRA, Aurélio Buarque de Holanda, Novo Dicionário Aurélio – Século XXI, Rio de

Janeiro, Ed. Nova Fronteira, 1999.

GOGUEN, Joseph A.; LINDE, Charlotte; Techniques for Requirements Elicitation;

Proceedings, Requirements Engineering; IEEE Computer Society, 1993, pages 152-164.

GOTEL, Orlena C. Z.; FINKELSTEIN, Anthony C. W.; An Analysis of the Requirements

Traceability Problem; Proc. Of First International Conference on Requirements Engineering,

1994, pages 94-101.

IBGE, Instituto Brasileiro de Geografia e Estatística; As Micros e Pequenas Empresas

Comerciais e de Serviços no Brasil, 2001. Disponível em

<http://www.ibge.gov.br/home/estatistica/economia/microempresa/default.shtm >, acessado em

18 de novembro de 2006.

KEAN, Liz; Requirements Tracing--An Overview; Software Engineering Institute; Disponível

em < http://www.sei.cmu.edu/str/descriptions/reqtracing_body.html>, acessado em 30/06/2006.

KELLY, Declan, P., CULLETON, Bill; Process Improvement for Small Organizations; IEEE

Computer, Volume 32, number 10, October 1999.

KRUCHTEN, Philippe; Introdução ao RUP – Rational Unified Process, Rio de Janeiro: Editora

Ciência Moderna Ltda, 2003.

LAMSWEERDE, Axel Van; Goal-Oriented Requirements Engineering: A guided Tour. August

2001, 5th IEEE International Symposium on Requirements Engineering, Toronto, August 2001,

249-263.

Page 132: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

133

LARMAN, Craig; Utilizando UML e Padrões – Uma Introdução à Análise e ao Projeto

Orientado a Objetos e ao Processo Unificado. Tradução Luiz Augusto Meirelles Salgado e João

Tortello; 2.ed. Porto Alegre: Editora Bookman 2004.

LEITE, Júlio César Sampaio do Prado; FRANCO, Ana Paula M.; A Strategy for conceptual

Model Acquisition; In: International Symposium on Requirements Engineering, 1., SanDiego,

Ca. Proceedings… IEEE Computer Society Press, p. 243-246. 1993.

LEITE, Júlio César Sampaio do Prado; ROSSI, Gustavo; BALAGUER, Federico;

MAIORANA, Vanesa; KAPLAN, Gladys HADAD, Graciela OLIVEROS, Alejandro;

Enhancing a Requirements Baseline with Scenarios; Requirements Engineering, pp. 184-198,

Springer-Verlag London, 1997.

MARTINS, José Carlos Cordeiro; Gerenciando projetos de desenvolvimento de software com

PMI, RUP e UML / José Carlos Cordeiro Martins, - 2. Ed. Rev. Rio de Janeiro : Brasport,

2005.

MCT – Ministério da Ciência e Tecnologia; Caracterização das Organizações; Pesquisa Censo

SW, Agosto de 2001 Disponível em

<http://www.mct.gov.br/index.php/content/view/15517.html > acessado em 01/12/2006.

MONTONI, Mariano; Uma Abordagem de Garantia de Qualidade de Processos e Produtos de

Software com Apoio de Gerência de Conhecimento na Estação TABA; V Simpósio Brasileiro

de Qualidade de Software; SBQS 2006.

MPS/BR, Melhoria de Processo de Software Brasileiro, Guia de Geral, Disponível em

<http://www.softex.br/mpsbr/_guias/default.asp>, acessado em 18 de novembro de 2006.

NASCIMENTO, Hugo A D., FERREIRA, Cristiane B R.; Visualização de Informações – uma

Abordagem Prática, XXV Congresso da Sociedade Brasileira de Computação, XXIV JAI,

Unisinos, 22 a 29 de Julho , 2005.

Page 133: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

134

NATALI, Ana Candida Cruz; FALBO, Ricardo de Almeida; Uma Infra-estrutura para Gerência

de Conhecimento em ODE; Anais da X Sessão de Ferramentas do Simpósio Brasileiro de

Engenharia de Software - SBES'2003, p.13-18, Manaus - Amazonas, Outubro 2003.

NI TSCHE, Raquel; BORTOLI, Lis Ângela de; E-LAL: Um Editor Para o Léxico Ampliado da

Linguagem; Revista de Ciência da Computação, Volume 5, Número 3, Setembro de 2006.

NUSEIBEH, Bashar; EASTERBROOK, Steve; Requirements Engineering: A Roadmap;

Proceedings of International Conference on Software Engineering (ICSE-2000), 4-11 June

2000, Limerick, Ireland.

OBJECTIVER; Software Objectiver 1.5.1 e Objectiver User Guide, CEDITI, 2003. Disponível

em <http://www.objectiver.com>, acessado em 20 de maio de 2006.

PADUA, Wilson Paula Filho; Engenharia de Software – Fundamentos, Métodos e Padrões. 2ª

edição. Rio de Janeiro, LTC, 2003.

PIETROBON, Carlos Alberto Marques Pietrobon, Projeto Discovery, Relatório Técnico, RT

01/2007, PPGEE, 2007.

PMBOK, Project Management Body of Knowledge; Terceira Edição, 2004 Project

Management Institute.

PRESSMAN, Roger S. Engenharia de Software. 5 ed. Rio de Janeiro; McGraw-Hill, 2002.

RAMESH, Balasubramaniam; Factors Influencing Requirements Traceability Practice;

Communications of The ACM, December 1998 / Vol. 41. número 12.

RAMESH, Balasubramaniam; Process Knowledge Management with Traceability; IEEE

Computer Society Press , May/June 2002.

Page 134: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

135

RAMESH, Balasubramaniam; JARKE, Matthias; Toward Reference Models for Requirements

Traceability; IEEE Transactions on Software Engineering, vol. 27, número 1, January 2001.

SAYÃO, Miriam; LEITE, Julio Cesar Sampaio do Prado; Rastreabilidade de Requisitos;

Revista de Informática Teórica e Aplicada, Volume XII, Número 1, 2005.

SEBRAE, Serviço Brasileiro de Apoio às Micro e Pequenas Empresas; Critérios de

Classificação do Porte da Empresa; Disponível em <

http://www.sebrae.com.br/br/aprendasebrae/estudosepesquisas.asp>, acessado em 20 de

novembro de 2006..

SILVA, Lyrene Fernandes; LEITE, Julio César Sampaio do Prado; Silva, BREITMAN, Karin

Koogan; C&L: Uma Ferramenta de Apoio à Engenharia de Requisitos; Revista de Informática

Teórica e Aplicada; volume XII, número 1, página 23, junho 2005.

SOMMERVILLE, Ian; Engenharia de Software; Tradução André Maurício de Andrade

Ribeiro; revisão técnica Kechi Hirama; São Paulo; Editora Pearson Addison Wesley; 6a edição;

2003.

SPECIA, Lucia; RINO, Lucia Helena Machado; O Desenvolvimento de um léxico para a

geração de estruturas conceituais UNL; Série de Relatórios do Núcleo Interinstitucional de

Lingüística Computacional; NILC-TR-02-14; USP; Setembro, 2002.

TOGNERI Denise F., FALBO, Ricardo de Almeida, MENEZES, Crediné S., WERNESBACK,

Bernando S., ALMEIDA, Diogo Q; CÔRTES, Marina F. Utilizando Conhecimento

Organizacional no apoio à Engenharia de Requisitos Cooperativa, II Workshop de Tecnologia

de Informação e Gerência de Conhecimento, III Simpósio Brasileiro de Qualidade de Software

- SBQS'2004, Brasília, Brasil, Junho 2004.

TORANZO, Marco; CASTRO, Jaelson F. B.; MELLO, Elton; Uma Proposta para Melhorar o

Rastreamento de Requisitos; V Workshop de Engenharia de Requisitos; Valencia, Espanha,

11-12, Novembro de 2002.

Page 135: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

136

TUOMI, Iikka; Date Is More Than Knowledge: Implications of the Reversed Knowledge

Hierarchy for Knowledge Management and Organizational Memory; System Sciences, HICSS-

32. Proceedings of the 32nd Annual Hawaii International Conference on

1999.

Page 136: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

137

APÊNDICE A - XML do modelo de meta do estudo de caso 1

<?xml version="1.0" encoding="ISO-8859-1"?>

<DIAGRAM>

<PROJECT>

<ID>0</ID>

<ACRONYM></ACRONYM>

<CAPTION>Licenciados</CAPTION>

<NAME>obj0</NAME>

<TOP>28</TOP>

<LEFT>376</LEFT>

</PROJECT>

<GOALS>

<GOAL>

<NAME>obj1</NAME>

<TOP>172</TOP>

<LEFT>271</LEFT>

<CAPTION>Gerenciamento</CAPTION>

<HOW>Controlar melhor a distribuição das sementes.

Controlar a comercialização das sementes.

Controlar o faturamento a ser cobrado a título de royalty</HOW>

<WHY>O negócio da empresa é a pesquisa e não a produção e comercialização de sementes para plantio, desta

forma é de vital importância conhecer as informações de negócio para o planejamento e o futuro da

empresa.</WHY>

<DESCRIPTION>Melhorar o gerenciamento da distribuição de sementes entre os licenciados</DESCRIPTION>

<COLOR>clBlack</COLOR>

</GOAL>

<GOAL>

<NAME>obj2</NAME>

<TOP>280</TOP>

<LEFT>129</LEFT>

<CAPTION>Controle</CAPTION>

<HOW>Através da confecção dos planos de comercialização, produção e marketing.</HOW>

<WHY>É necessário o controle da distribuição para conhecer e efetuar o planejamento do que tem que ser

produzido e identificar as técnicas a serem utilizadas no plantio. Melhorando o gerenciamento.</WHY>

<DESCRIPTION>Controlar a distribuição de sementes.</DESCRIPTION>

<COLOR>clBlack</COLOR>

</GOAL>

<GOAL>

Page 137: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

138

<NAME>obj3</NAME>

<TOP>286</TOP>

<LEFT>338</LEFT>

<CAPTION>Comercialização</CAPTION>

<HOW>Recolhendo mensalmente as informações de comercialização dos licenciados através da fatura.

Recolher informações de comercialização dos concorrentes através de um levantamento de mercado.

</HOW>

<WHY>Através das informações de comercialização consegue-se visualizar se o planejado foi alcançado e fazer o

cálculo do royalty. Permiti também idenfificar o foco de maior potencial agrícola e de mercado. </WHY>

<DESCRIPTION>Controlar a comercialização das vendas da sementes feitas pelos

licenciados.</DESCRIPTION>

<COLOR>clBlack</COLOR>

</GOAL>

<GOAL>

<NAME>obj9</NAME>

<TOP>168</TOP>

<LEFT>530</LEFT>

<CAPTION>Redução de Custos</CAPTION>

<HOW></HOW>

<WHY></WHY>

<DESCRIPTION></DESCRIPTION>

<COLOR>clYellow</COLOR>

</GOAL>

</GOALS>

<REQUERIMENTS>

<REQUERIMENT>

<NAME>obj4</NAME>

<TOP>409</TOP>

<LEFT>29</LEFT>

<CAPTION>Plano de Produção</CAPTION>

<DESCRIPTION>Permitir cadastrar o plano de produção solicitado pelo licenciado, com os dados técnicos

relativo a produção da semente.</DESCRIPTION>

<COLOR>clBlack</COLOR>

</REQUERIMENT>

<REQUERIMENT>

<NAME>obj5</NAME>

<TOP>412</TOP>

<LEFT>252</LEFT>

<CAPTION>Plano de Marketing</CAPTION>

<DESCRIPTION>Permitir cadastrar o plano de marketing contendo as informações de mercado da região a qual

se pretende atuar.</DESCRIPTION>

Page 138: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

139

<COLOR>clBlack</COLOR>

</REQUERIMENT>

<REQUERIMENT>

<NAME>obj6</NAME>

<TOP>411</TOP>

<LEFT>141</LEFT>

<CAPTION>Pl. Comercialização</CAPTION>

<DESCRIPTION>Permitir cadastrar os dados relativos aos valores de previsão de venda das sementes produzidas,

bem como as regiões e as formas de comercialização.</DESCRIPTION>

<COLOR>clBlack</COLOR>

</REQUERIMENT>

<REQUERIMENT>

<NAME>obj7</NAME>

<TOP>414</TOP>

<LEFT>371</LEFT>

<CAPTION>Receber Fatura</CAPTION>

<DESCRIPTION> Permitir cadastrar os dados da fatura emitida pelo licenciado na venda dos produtos licenciados

para comercialização.

</DESCRIPTION>

<COLOR>clBlack</COLOR>

</REQUERIMENT>

<REQUERIMENT>

<NAME>obj8</NAME>

<TOP>502</TOP>

<LEFT>371</LEFT>

<CAPTION>Calcular Royalty</CAPTION>

<DESCRIPTION> Calcular o valor do Royalty a ser pago pelo licenciado a partir dos dados da fatura e do tipo de

produto comercializado. </DESCRIPTION>

<COLOR>clBlack</COLOR>

</REQUERIMENT>

</REQUERIMENTS>

<ASSOCIATIONS>

<ASSOCIATION>

<OBJINI>obj1</OBJINI>

<OBJFIM>obj0</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

</ASSOCIATION>

<ASSOCIATION>

<OBJINI>obj2</OBJINI>

<OBJFIM>obj1</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

Page 139: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

140

</ASSOCIATION>

<ASSOCIATION>

<OBJINI>obj3</OBJINI>

<OBJFIM>obj1</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

</ASSOCIATION>

<ASSOCIATION>

<OBJINI>obj4</OBJINI>

<OBJFIM>obj2</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

</ASSOCIATION>

<ASSOCIATION>

<OBJINI>obj5</OBJINI>

<OBJFIM>obj2</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

</ASSOCIATION>

<ASSOCIATION>

<OBJINI>obj2</OBJINI>

<OBJFIM>obj6</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

</ASSOCIATION>

<ASSOCIATION>

<OBJINI>obj7</OBJINI>

<OBJFIM>obj3</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

</ASSOCIATION>

<ASSOCIATION>

<OBJINI>obj5</OBJINI>

<OBJFIM>obj3</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

</ASSOCIATION>

<ASSOCIATION>

<OBJINI>obj8</OBJINI>

<OBJFIM>obj7</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

</ASSOCIATION>

<ASSOCIATION>

<OBJINI>obj9</OBJINI>

<OBJFIM>obj0</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

</ASSOCIATION>

Page 140: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

141

</ASSOCIATIONS>

</DIAGRAM>

Page 141: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

142

APÊNDICE B - XML do modelo de meta do estudo de caso 2

<?xml version="1.0" encoding="ISO-8859-1"?>

<DIAGRAM>

<PROJECT>

<ID>0</ID>

<ACRONYM></ACRONYM>

<CAPTION>Estatística</CAPTION>

<NAME>obj0</NAME>

<TOP>16</TOP>

<LEFT>285</LEFT>

</PROJECT>

<GOALS>

<GOAL>

<NAME>obj1</NAME>

<TOP>126</TOP>

<LEFT>171</LEFT>

<CAPTION>Conhecer Fatur.</CAPTION>

<HOW>Apresentando a estatística de faturamento da empresa. </HOW>

<WHY>Para melhorar a gerência da empresa com relação aos recursos disponíveis para o trabalho.</WHY>

<DESCRIPTION>Conhecer a característica do faturamento no período.</DESCRIPTION>

<COLOR>clBlack</COLOR>

</GOAL>

<GOAL>

<NAME>obj2</NAME>

<TOP>124</TOP>

<LEFT>387</LEFT>

<CAPTION>Disp. de Recursos.</CAPTION>

<HOW>Comparar o faturamento mensal com o mesmo período do ano anterior.

Comparar o faturamento mensal com o faturamento total do ano anterior e com o ano atual</HOW>

<WHY>Para verificar as sazonalidades do faturamento.</WHY>

<DESCRIPTION>Melhorar a alocação dos recursos de acordo com as característica do faturamento mensal e

anual.</DESCRIPTION>

<COLOR>clBlack</COLOR>

</GOAL>

</GOALS>

<REQUERIMENTS>

<REQUERIMENT>

<NAME>obj3</NAME>

<TOP>234</TOP>

Page 142: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

143

<LEFT>136</LEFT>

<CAPTION>Fat. Mensal.</CAPTION>

<DESCRIPTION>Totalizar o faturamento mensal da empresa com relação ao mes analisado e com relação ao ano

anterior.</DESCRIPTION>

<COLOR>clBlack</COLOR>

</REQUERIMENT>

<REQUERIMENT>

<NAME>obj4</NAME>

<TOP>239</TOP>

<LEFT>276</LEFT>

<CAPTION>Fat. Anual</CAPTION>

<DESCRIPTION>Totalizar o faturamento anual da empresa com relação ao ano analizado e ao ano

anterior</DESCRIPTION>

<COLOR>clBlack</COLOR>

</REQUERIMENT>

<REQUERIMENT>

<NAME>obj5</NAME>

<TOP>241</TOP>

<LEFT>398</LEFT>

<CAPTION>Com. Faturamento</CAPTION>

<DESCRIPTION>Comparar e calcular o percentual do faturamento mensal, mês analisado em relação ao mesmo

mês do ano anterior. Calcular a relação do faturamento mensal com o faturamento total do ano.

</DESCRIPTION>

<COLOR>clBlack</COLOR>

</REQUERIMENT>

<REQUERIMENT>

<NAME>obj6</NAME>

<TOP>340</TOP>

<LEFT>276</LEFT>

<CAPTION>Gráfico</CAPTION>

<DESCRIPTION>Fazer um gráfico das relações calculadas.</DESCRIPTION>

<COLOR>clBlack</COLOR>

</REQUERIMENT>

</REQUERIMENTS>

<ASSOCIATIONS>

<ASSOCIATION>

<OBJINI>obj1</OBJINI>

<OBJFIM>obj0</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

</ASSOCIATION>

<ASSOCIATION>

Page 143: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

144

<OBJINI>obj1</OBJINI>

<OBJFIM>obj2</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

</ASSOCIATION>

<ASSOCIATION>

<OBJINI>obj2</OBJINI>

<OBJFIM>obj0</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

</ASSOCIATION>

<ASSOCIATION>

<OBJINI>obj3</OBJINI>

<OBJFIM>obj1</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

</ASSOCIATION>

<ASSOCIATION>

<OBJINI>obj3</OBJINI>

<OBJFIM>obj2</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

</ASSOCIATION>

<ASSOCIATION>

<OBJINI>obj4</OBJINI>

<OBJFIM>obj2</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

</ASSOCIATION>

<ASSOCIATION>

<OBJINI>obj5</OBJINI>

<OBJFIM>obj2</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

</ASSOCIATION>

<ASSOCIATION>

<OBJINI>obj6</OBJINI>

<OBJFIM>obj5</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

</ASSOCIATION>

<ASSOCIATION>

<OBJINI>obj6</OBJINI>

<OBJFIM>obj4</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

</ASSOCIATION>

<ASSOCIATION>

<OBJINI>obj6</OBJINI>

Page 144: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

145

<OBJFIM>obj3</OBJFIM>

<CONTRIBUTION>INC</CONTRIBUTION>

</ASSOCIATION>

</ASSOCIATIONS>

</DIAGRAM>

Page 145: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

146

APÊNDICE C – Formação do banco de conhecimento

• Léxico: Esta classe contém tudo do sistema. Ou seja, é um grande dicionário de

qualquer atividade, artefato, gestão, situação, regra de negócios.

o Exemplo:

Atendimento

Fatura

Pagamento

Itens Pagamento

Atividade

Fases

• Domínio: Classificação dos domínios do conhecimento a ser trabalhado no sistema.

o Exemplo:

Médico

Contábil.

Recursos Humanos.

• Léxico domínio: é o agrupamento dos léxicos em um determinado domínio. Ou seja, o

dicionário de um domínio.

o Exemplo:

Médico :

• Atendimento.

• Procedimento.

Contábil:

• Grupo de Contas.

• Conta de crédito.

• Contra Partida

Recursos Humanos

• Folha de pagamento.

• Recrutamento

• TipoLéxico:

• Classe que irá conter todos os tipos de léxico do projeto. Um léxico poderá

existir em mais de um tipo. Podemos ter o léxico Atendimento (registro dos

atendimentos médicos), este Atendimento poderá ser uma classe e também uma tabela.

Page 146: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

147

Para que possamos representar, por exemplo: A classe atendimento é mapeada para a

tabela atendimento.

o A classe atendimento: Sujeito.

o é mapeada : ação.

o A tabela atendimento: Objeto

• Exemplo:

o Meta

o Requisito

o Ator

o Classe

o Caso de Uso

o Tabela

o Campos

o Regras de negócio.

o História.

o Estado ou condição (tabelas descritivas).

• LéxicoTipo:

• Classe que irá agrupar os léxicos em seus tipos.

o No Exemplo anterior o léxico Atendimento estará ligado ao tipo de

léxico classe e e ao tipo de léxico atendimento.

o A importância deste tipo de modelagem é permitir para um

determinado léxico ter um conceito geral independente do tipo de léxico que

pertencer, e ainda, poder ter um conceito diferente de acordo com o tipo de

léxico. Irá facilitar também a consulta uma vez que na rastreabilidade pode-se

verificar todas as situações que um determinado léxico poderá ter.

• Conceito:

• Classe que irá permitir conter tanto o conceito do léxico, quanto o conceito

do léxico de acordo com o seu tipo.

• Conhecimento:

• Classe que contém todo o conhecimento armazenado no sistema. Representa

a relação entre o léxicoTipo de acordo com o relacionamento existente entre eles, dentro

do contexto, sujeito (LexicoTipo pai), verbo (relacionamento), Objeto (lexicotipo filho)

e se for o caso estado (lexicoTipo Estado).

Page 147: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

148

• Relacionamento:

• Classe que irá conter todos os tipos de relacionamento que poderão existir

entre os léxicos. Para cada tipo de relacionamento tem-se a voz ativa e a voz passiva.

Estes relacionamentos são os verbos ou ação na ligação do sujeito e objeto. Exemplo:

o No repasse deverão ser calculados os impostos para todos os valores

acima de 2000.

Desta história pode-se efetuar duas análises:

1 Análise – feita na história:

• A classe repasse: sujeito.

• Deverá calcular: ação

• Impostos: objeto

• Valores acima de 2000: estado ou condição

2 análise – feita a partir do modelo

• A classe Repasse: Sujeito.

• tem a: ação.

• Classe impostos : Objeto

o A classe impostos: sujeito.

o É formada por: relacionamento.

o O método calcular impostos: objeto

o Valores acima de 2000: estado ou condição

• Exemplo:

o Formação:

Voz Ativa: é formada por

Voz Passiva: foi formada por

o Suporte:

Voz ativa: é suportado.

Voz passiva: foi suportado.

o Mapeamento.

Voz ativa: é mapeada.

Voz passiva: é um mapeamento de:

o Narrativa.

Voz ativa: é narrada por.

Voz passiva: é uma narrativa do:

Page 148: Utilização de metas e rastreabilidade baseada em léxico ... · desenvolvimento de software, baseado na modelagem de metas, léxico e rastreabilidade de requisitos. Este estudo

149

• formação.

• Classe que irá conter todos os possíveis tipos de relacionamento existentes

entre dois tipo de léxico.

• Exemplo:

o O tipo de léxico requisito tem o relacionamento de Narrativa com o

tipo de léxico história. ou seja, Um Requisito é narrado por uma história.

o O tipo de léxico classe tem o relacionamento de mapeamento para o

tipo de léxico tabela: ou seja, uma classe é mapeada para uma tabela.

• Contexto:

• O contexto caracteriza-se por um agrupamento do conhecimento, dentro de

um determinado assunto, de acordo com a necessidade de geração do conhecimento

dentro da empresa:

o Exemplo:

Desenvolvimento.

Processo.

Gestão.

Etc.

• Visão:

• É o agrupamento de conceitos que deverão ser rastreados juntos dentro de

uma determinada necessidade.

o Exemplo:

Visão Gestão.

Visão de Processo

Visão técnica.

• Situação:

• Consiste nas situações que um determinado conhecimento pode passar.

o Exemplo:

Em Estudo (em formação).

Gerado