Ferramenta de Apoio aos Processos da Engenharia de Requisitos, nas Fases de Projeto

Autores: Edna Pacheco Zanlorenci - GPT
Robert Carlisle Burnett - PUC-PR

Resumo

O artigo trata os requisitos que compõem os aspectos funcionais de uma ferramenta de apoio aos processos da Engenharia de Requisitos.

A ferramenta constitui-se em um instrumento de trabalho que permite o povoamento de uma base de dados com as informações capturadas e também facilita a recuperação histórica destas informações. O povoamento da base de dados exige a utilização de um método de trabalho, com regras de relacionamento e dependência entre as informações. A recuperação das informações tem característica de flexibilidade de acesso e de formato de apresentação, considerando para quem o resultado interessa.

A funcionalidade da ferramenta é tratada sob dois aspectos: a parte geral, que contém o tutorial com informação de uso e de instalação e, a parte específica de projeto, que aborda os processos de requisitos. A infra-estrutura de recursos para o projeto, os serviços e os produtos assistidos pela ferramenta compõem a parte complementar para a gestão de recursos do projeto, a gerência de requisitos e a documentação do projeto.

Palavras-chave: descrição, documentação, ferramenta, gerência, projeto, requisitos.

1 Introdução

A caracterização da demanda da Engenharia de Requisitos pelo aperfeiçoamento dos processos [ZAN98b] e a internalização dos conceitos de requisitos em uma organização, requer o apoio de ferramenta automatizada, cujo objetivo principal é a agilização e formalização dos procedimentos de descrição de requisitos, a documentação dos processos e dos produtos e a conseqüente gestão do ciclo de vida dos requisitos.

A estratégia de abordagem é a definição de funcionalidades de uma ferramenta aplicável genericamente à descrição de requisitos de qualquer produto e não exclusivamente a software.

A proposta abrange todas as fases dos processos da Engenharia de Requisitos [ZAN99]: descobrimento, análise, validação, documentação e gestão de requisitos. Permite a visualização da informação nas fases de projeto: demanda inicial, estudo preliminar, projeto lógico, projeto físico e construção (as built), integradas por versão.

O detalhamento da ferramenta constitui-se das informações que norteiam a formalização dos requisitos no contexto de desenvolvimento. Inicialmente, são destacados os objetivos, restrições de negócio e requisitos básicos de funcionalidade de uma ferramenta.

As informações do ciclo de vida do requisito são orientadas por um roteiro didático aplicável ao processo de descrição de requisitos. O roteiro tem a função de formalizar o processo descritivo a partir da demanda contratada até a especificação da solução. Estas informações compõem os dados de projeto que povoam a base de dados da ferramenta.

A base de dados detém as informações que permitem compor a visualização de documentação de projeto e de gestão de requisitos. As informações de um projeto têm uma característica histórica e, ao mesmo tempo, atendem a necessidade de visualização das mudanças ocorridas. Conseqüentemente, o conteúdo da base de dados é alimentado por versões representativas de cada término do ciclo descritivo dos processos, através de baseline.

A ferramenta provê a funcionalidade de geração de baseline pela intervenção do responsável pelo projeto, periodicamente, a cada término de fase de projeto e/ou de processo de requisitos. Com isso, garante a integridade das informações, sua recuperação histórica, para frente e para trás, e a relação de impactos ocorridos com as mudanças.

2 Detalhamento da Ferramenta

O detalhamento da ferramenta contém as informações que norteiam a formalização dos requisitos no contexto do trabalho do engenheiro de requisitos. Inicialmente, é apresentada a caracterização da ferramenta onde são destacados os objetivos, restrições de negócio e requisitos básicos para a sua construção. Para visualizar a funcionalidade, utiliza uma representação gráfica (figura 1) e, na seqüência, descreve os tópicos principais.

2.1 O que é a Ferramenta?

A ferramenta é um aplicativo de software que permite registrar a descrição das informações de desenvolvimento de um projeto e recuperá-las de forma histórica e sistêmica.

O aplicativo tem uma visão conceitual determinada por objetivos, pelas restrições de negócio e com requisitos básicos para o aperfeiçoamento dos processos de Engenharia de Requisitos em uma organização.

O objetivo geral da ferramenta é descrever os requisitos [ZAN98a], referenciá-los em todas as fases dos processos, permitindo a recuperação das informações com a extração de documentos que representam os produtos de cada fase de desenvolvimento.

O objetivo específico é a recuperação das informações históricas, com rastreamento para frente e para trás, a fim de identificar os impactos de alterações efetuadas durante o processo de desenvolvimento do trabalho, condição básica para a gerência de requisitos.

Do ponto de vista genérico, as restrições de negócio para desenvolvimento da ferramenta caracterizam-se pela implementação gradativa dos procedimentos de aperfeiçoamento dos processos, observando a cultura existente na organização.

Os requisitos básicos são descritos pelas características de funcionalidade da ferramenta no apoio ao processo de desenvolvimento, principalmente, na documentação do projeto.

2.2 Qual é a funcionalidade da Ferramenta?

A funcionalidade da ferramenta é servir de apoio ao engenheiro de requisitos ou ao analista de sistemas, na documentação de todas as fases dos processos e caracterização dos produtos da Engenharia de Requisitos, utilizando um método de trabalho que propõe a seqüencialização de procedimentos e gerando uma base única de dados, para a recuperação das informações, em documentos.

A ferramenta apresenta, em seus aspectos gerais, uma base de dados genérica para o registro das informações em formato de tutorial, especificando a estrutura, o conteúdo e a operacionalização. Estas informações estarão disponibilizadas para ajuda online no uso da ferramenta. Da mesma forma, requer procedimentos de instalação da versão inicial, os quais servem de base para a consistência e verificação das informações em cadastramento, constituídas de tabelas gerais.

A ferramenta apresenta, em seus aspectos específicos, o detalhamento do projeto, conforme apresentado na figura 1, iniciando com uma etapa de povoamento dos dados de projeto, sendo suportado por um módulo de infra-estrutura de recursos para o projeto e complementando com uma etapa de serviços e produtos assistidos pela ferramenta, com a finalidade de apoio ao analista (engenheiro de requisitos) para suporte ao registro e recuperação das informações de projeto.




Figura 1 - Visão Geral da Ferramenta

Dados do projeto

Os dados do projeto abrangem seis etapas: definição de contexto, caracterização de problema, validação de requisito, descrição de evento, especificação da solução e detalhamento da construção do projeto. Correspondem às informações de conteúdo do projeto, referentes a dados de negócio e dados de solução, conforme representados na figura 1.

Infra-estrutura

A infra-estrutura da ferramenta para o projeto constitui-se dos recursos de segurança de acesso, checagem de execução dos processos e de características de qualidade do produto a ser gerado pela ferramenta. Nesta fase são identificados os stakeholder ligados ao projeto e associada à respectiva permissão de acesso. A checagem destes recursos é que permite a definição de baseline das informações a cada término de fase de processo e/ou projeto. Ao se iniciar cada projeto, este é identificado unicamente e seus controles de baseline e identificação de requisito são zerados. Correspondem às informações de infra-estrutura para o projeto, conforme representados na figura 1.

Serviços e Produtos

Os serviços e produtos abrangem duas etapas: gerência de requisitos e documentação de projeto. A gerência de requisitos é o objetivo principal de se ter uma ferramenta de apoio aos processos de Engenharia de Requisitos. Tendo-se o cadastramento dos dados históricos devidamente registrados com versões de baseline, permite-se o rastreamento das informações e o gerenciamento de mudanças. A documentação de projeto é o produto resultante de todo o trabalho de registro das informações. À medida que se registram as informações, conforme é direcionado pelo roteiro de descrição de requisitos, forma-se a base de dados de projeto da qual se retiram informações selecionadas. Correspondem às informações de documentação do projeto, conforme representados na figura 1.

3 Método Proposto pela Ferramenta

A representação do ciclo de vida do requisito sob a ótica de qualidade dos processos da Engenharia de Requisitos constitui-se na documentação sistemática das mudanças ambientais e das exigências dos stakeholder. A visualização e a manutenção de integridade destas informações requer um esforço contínuo de atualidade das informações. O roteiro [ZAN00] é aplicável ao processo descritivo de requisitos, dando a noção de continuidade e interdependência dos elementos do processo.

O roteiro é denominado didático por ser uma tentativa de representar o cotidiano de aprendizagem e de conhecimento, aplicável a qualquer área de interesse. A título ilustrativo faz uma referência explicativa dos elementos do modelo, utilizando os componentes descritivos aplicáveis a uma peça de representação teatral ou de enredo histórico.

A figura 2 representa a ligação entre os elementos constitutivos do modelo de representação e de seus relacionamentos.




Figura 2 - Roteiro Didático do Processo de Descrição de Requisitos

O conhecimento do problema e a definição dos requisitos não são fatos isolados. Dizem respeito a um determinado contexto, têm um domínio específico e fazem parte de um cenário particular, principalmente, envolvendo pessoas que definem ou sofrem impactos de mudanças.

O contexto deve ser entendido como o rumo orientador e foco das idéias, ou seja, determina o escopo do que o assunto trata. O domínio da aplicação deve corresponder ao limite ou fronteira de abrangência deste assunto. O cenário corresponde à localização física e referencial deste domínio.

O cenário possui uma linguagem comum (léxico) e descreve papéis exercidos pelo stakeholder. Este é o agente que dinamiza os demais elementos que dependem da ação das pessoas. Estas exercem papéis; têm seus pontos de vista como consumidores ou produtores de informação em relação aos fatos e fenômenos que constituem o problema. São as pessoas que definem exigências e prioridade na solução do problema.

O problema, portanto, é o elemento central no contexto do conhecimento e, por conseguinte, na definição do requisito.

O requisito é oriundo das exigências e ponto de vista das pessoas e relata sobre o que e sob qual condição realizar. A partir do conhecimento do requisito, detalham-se os eventos (estímulos e respostas) que o compõem e como devem ser tratados para a especificação da solução. Em paralelo, as informações que constituem a base de dados formam um dicionário com os atributos dos objetos relacionados.

A abordagem principal do roteiro é ser um referencial na descrição do requisito com o conhecimento do problema, contextualizado no ambiente ao qual é referenciado, por quem é relatado e a quem irá afetar. Os demais elementos do roteiro constituídos de evento, dicionário de dados, especificação da solução e características de qualidade são referenciados como um elo de ligação entre a descrição do requisito e o detalhamento da solução de software.

Na prática, o tratamento de problema deve ter uma atenção especial. Dependendo do público-alvo, a condução da busca do conhecimento deve ser orientada pelo descobrimento das dificuldades na realização das tarefas e na obtenção de resultados, também na oportunidade de proposição de mudanças, principalmente, as influenciadas ou motivadas pelo surgimento de novas tecnologias.

4 Base de Dados da Ferramenta

A base de dados de suporte para o armazenamento das informações da ferramenta, conforme representada na figura 3, detalha a integração das informações oriundas dos processos da Engenharia de Requisitos, associada aos dados específicos de projeto. Representa o modelo da base de dados de projeto com as informações históricas e vigentes para a gestão de requisitos e a documentação do projeto.

As entidades componentes do modelo são povoadas pelos processos, de acordo com o desenvolvimento das atividades.

Os dados de projeto, conforme representados na figura 1, constituem uma etapa da ferramenta. O contexto do projeto inclui: contexto, domínio da aplicação, cenário e léxico (linguagem comum). A caracterização do problema inclui: problema, requisito funcional, dicionário/base de dados, e características de qualidade [NBR96]. A validação do requisito [ZAN98c] inclui: qualificação de requisito e dependência, qualificação do requisito e exigência da informação, risco de implementação do requisito e mapa representativo da participação dos stakeholder. A descrição do evento inclui: evento, dicionário/base de dados e características de qualidade. A especificação da solução inclui: especificação da solução, dicionário/base de dados e características de qualidade. O detalhamento da construção inclui: arquitetura de funções, dicionário/base de dados e dados do produto.

Os dados de infra-estrutura de recursos para o projeto, conforme representados na figura 1, constituem outra etapa da ferramenta, incluindo: check-list do processo, check-list do produto, identificação do projeto, definição do perfil de acesso, associação dos stakeholder e definição de baseline.

Os serviços e produtos da ferramenta, conforme representados na figura 1, são visões de documentos baseados nas informações contidas na base de dados.



Figura 3 - Base de Dados de Requisitos do Projeto

5 Aplicabilidade da Ferramenta

A aplicabilidade da ferramenta proposta é uma questão imprescindível na operacionalização dos processos de Engenharia de Requisitos. Ao mesmo tempo em que a funcionalidade está relacionada à documentação do projeto todo, a partir de uma base de dados, como uma única fonte de registro das informações, objetivando a redução do esforço de manutenção e a integridade da documentação de projeto.

A proposta é resultante de um trabalho de pesquisa originado da descrição de requisitos sob o enfoque de conhecimento do problema, tendo o modelo sido validado em vários estudos [ZAN00]. A ferramenta está em fase de construção do protótipo.

A aplicação da ferramenta nos processos de Engenharia de Requisitos deve suportar a documentação das etapas de projeto como representada na figura 4.

Os serviços preliminares identificados como componentes da ferramenta, são:

disponibilização de modelos para descrição de requisitos, por tipo de produto;

disponibilização de estrutura padrão de documento, por tipo de produto e de uso por leitor;

apresentação de um índice que auxilie o leitor na pesquisa da informação;

Os produtos preliminares identificados, são:

documento de requisitos estruturado por tipo de informação;

documento de requisitos por prioridade;

diagrama de relacionamento de dependência entre os requisitos;

mapeamento do check-list dos processos;

documento de requisitos por fase de desenvolvimento: demanda, estudo preliminar, projeto lógico, projeto físico e construção (as built).

A figura 4 mapeia os processos da Engenharia de Requisitos de maneira diferente da figura 1. Delimita a fronteira das informações com a visão de fases de projeto e do detalhamento dos processos de requisitos. Ambas são representações virtuais de obtenção de informações que, na verdade, estão armazenadas nas entidades da base de dados (figura 3) com atributos de vigência de baseline.



Figura 4 - Processos de Engenharia de Requisitos em Etapas de Projeto

REFERÊNCIAS BIBLIOGRÁFICAS

[NBR96] ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR 13596-1996: tecnologia da informação - avaliação de produto de software - características de qualidade e diretrizes para seu uso. Curitiba: ABNT, maio 1996. 10 p.

[ZAN98a] ZANLORENCI, Edna P.; BURNETT, Robert C. Descrição: arte e técnica no descobrimento e comunicação de requisitos. Bate Byte - o estado da arte na CELEPAR, Curitiba, v. 1, n. 78, p. 12-14, ago. 1998.

[ZAN98b] ZANLORENCI, Edna P.; BURNETT, Robert C. Engenharia de requisitos: processos e técnicas no contexto organizacional. Bate Byte - o estado da arte na CELEPAR, Curitiba, v. 1, n. 80, p. 6-13, out. 1998.

[ZAN98c] ZANLORENCI, Edna P.; BURNETT, Robert C. Modelo para qualificação da fonte de informação cliente e de requisito funcional. In: WORKSHOP DE ENGENHARIA DE REQUISITOS (1998 : Maringá). Anais... Maringá: SBC/SBES, 1998. v. 1, p 39-48.

[ZAN99] ZANLORENCI, Edna P. Descrição e qualificação de requisitos: um modelo aplicável à análise e validação da informação. Curitiba, 1999. Dissertação (mestrado) - Pontifícia Universidade Católica do Paraná. 229 p.

[ZAN00] ZANLORENCI, Edna P.; BURNETT, Robert C. REQAV - modelo para descrição, análise e validação de requisito. In: WORKSHOP IBEROAMERICANO DE ENGENHARIA DE REQUISITOS E AMBIENTES DE SOFTWARE (2000: Cancun). Anais... Cancun: IDEAS2000, 2000. p. 61-71.

Obs: Este artigo foi aceito para publicação nos Anais do III Workshop on Requirements Engineering, Rio de Janeiro (13 e 14/07/2000) – PUC-Rio.