Engenharia de Requisitos ( Requirements Engineering )-

Autores: Edna Pacheco Zanlorenci -  GPS

                Roberto Carlise Burnett - PUC-PR

Apresentação

A IEEE Computer Society Technical Council on Software Engineering, com o suporte da indústria Fujitsu, Incose e MCI, realizou a 3ª.Conferência Internacional sobre Engenharia de Requisitos (ICRE’98) de 06 a 10 de abril de 1998, em Colorado Springs, Colorado, U.S.A.

A IEEE iniciou em 1992 a realização de eventos sobre Engenharia de Requisitos, conferência e simpósio, alternadamente. A conferência (ICRE) é realizada a cada dois anos, em ano par, intercalando também a cada dois anos, em ano ímpar, o simpósio (ISRE). A diferença de enfoque destes eventos anuais é que a conferência congrega, além da parte técnica, a divulgação comercial e da indústria, enquanto que o simpósio é um evento destinado a apresentações técnicas.

O próximo evento será o 4º.Simpósio Internacional sobre Engenharia de Requisitos, ISRE’99, de 07 a 11 de junho de 1999, em Limerick, na Irlanda.

1. Introdução

Daniel M.Berry e Brian Lawrence em sua introdução à programação técnica da conferência fizeram considerações sobre a evolução ocorrida entre o ICRE’96 e o ICRE’98, particularmente no sentido de estreitamento da distância entre a pesquisa e a prática em engenharia de requisitos.

Há mais de uma década [BL98], Fred Brooks escreveu: "A única parte mais difícil de construção de um sistema de software é decidir precisamente o que construir. Nenhuma outra parte do trabalho conceitual é tão difícil como estabelecer os requisitos técnicos detalhadamente. Logo, nenhuma outra parte do trabalho danifica o sistema resultante se feito de forma errada. Nenhuma parte é mais difícil para retificar depois". Através da história da indústria, tem-se deparado com esta verdade. Definir e aplicar requisitos bons e completos é trabalho difícil e o sucesso nestas tentativas tem se esquivado de muitos desenvolvedores. Mas tem havido progresso. Em muitos campos, pesquisadores propõem novos métodos para tratar o problema e, eventualmente, são adotados alguns deles. A falta de completa adoção é conhecida como a distância entre a pesquisa e a prática.

A distância é grande ainda, mas tem-se um pouco mais de métodos validados na prática e de ferramentas disponíveis. Neste sentido, o comitê do programa ICRE’98 estabeleceu um critério importante para aceitação de artigos, ou seja, cada qual deveria conter estudo de caso, relato das lições aprendidas, relato do trabalho e ligação com trabalho futuro. As sessões de subdivisão dos artigos (ICRE’98) selecionados refletem a crescente preocupação com o esforço em ligar a pesquisa à prática:

- segurança, sobrevivência e tolerância a falhas;

- gerenciamento de mudança e rastreamento histórico de requisitos;

- extração de requisitos;

- modelagem e requisitos;

- cenários;

- intenções;

- requisitos e reuso de software;

- pesquisas em progresso.

2. Aspectos dos Artigos Apresentados de RE (Requirements Engineering)

Na sessão sobre segurança, sobrevivência e tolerância a falhas:

- validação de requisitos para sistemas tolerantes a falhas, usando modelo de checagem na validação do comportamento de tolerância a falha de um controlador de nave espacial;

- definição de requisitos para sobrevivência de sistemas de rede, avaliando riscos de acesso por intrusos;

- análise de garantia de requisitos, com um check-list para uma família de produtos de instrumentos de vôo.

Na sessão sobre gerenciamento de mudança e rastreamento histórico de requisitos:

- gerenciamento automático de requisitos e o cuidado de como usar ferramentas sobre múltiplas versões de projeto;

- lições aprendidas da construção de um sistema de rastreamento de requisitos baseados Web;

- reestruturando especificações de requisitos para gerenciamento de inconsistência e mudança, a fim de identificar e analisar inconsistências e gerenciar mudança.

Na sessão de extração de requisitos, foram apresentadas várias técnicas de abordagem:

- uso de técnicas desenvolvidas para extrair requisitos de crianças, com adultos, para desenvolvimento de trabalho inovativo e futurístico;

- uso da técnica de captura de requisitos por comportamento (etnografia), suportada por vídeo, ou seja, captar os requisitos a partir de observação de imagens e sons documentados;

- uso de uma abordagem prática de extração de requisitos baseada em pontos de vista;

- rotas de interações de requisitos a partir de documentos de requisitos, para detectar erros e pontos críticos para análise;

- reestruturação para análise de inconsistências e negociação de requisitos sob a abordagem de ponto de vista;

- pré-design conceitual, preenchendo a distância entre requisitos e projeto conceitual;

- uma abordagem de construção de especificações centrada em intenções de pessoas, na fase de captura de requisitos;

- uma experiência com frame SCRAM, método de análise de requisitos para cenários.

Na sessão de modelagem e requisitos, apresenta:

- uma perspectiva através da teoria da construção, que muda a ênfase de uma visão tecnocêntrica do processo, onde requisitos são codificados em forma inicial de um sistema, para um foco sobre o entendimento humano dos sistemas;

- experiência de integração entre engenharia de requisitos e análise de negócio;

- usando um framework modelo de qualidade para reforçar a ponte de requisitos (teoria e prática).

Na sessão de cenários:

- protótipo de ferramenta de software, sistemática para geração e uso de cenários;

- estudo de caso de decomposição funcional de requisitos, usando cenários;

- experiência com SCRAM, um método de análise de requisitos em cenários.

Na sessão intenções:

- especificações de intenções - uma abordagem para construir especificações centradas em pessoas, baseada em teoria de sistemas, psicologia cognitiva e interação homem-máquina;

- framework para evolução de cenário - para entendimento da evolução de cenário e ajuda ao tratamento e identificação das ações pertencentes ao ambiente e aqueles que compartilham o software;

- uso de cenário em desenvolvimento de sistemas: forma, conteúdo, propósito e ciclo de vida.

Na sessão de requisitos e reuso de software:

- a engenharia de requisitos em projetos de centros de controle de rede;

- transferência de tecnologia para reuso, um modelo de gerenciamento a processo de aperfeiçoamento de framework, reuso de modelo e benefícios;

- adquirindo COTS para seleção de requisitos de software, de uma variedade de clientes;

Na sessão de pesquisas em progresso:

- formulação sistemática de características de software não-funcionais ou de qualidade, orientado a processos e a produtos;

- uma abordagem para cruzamento das disciplinas de engenharia de requisitos e padrões de processos, através de um framework;

- framework para extração de requisitos através da mixagem iniciativa de diálogo, através da linguagem natural.

O estado da arte

O debate continua[BL98]. Um diz respeito à distinção entre requisitos funcionais e não-funcionais. Os pesquisadores insistem nesta distinção, muito embora a prática aceite que em muitos casos a distinção não é clara. Outro debate diz respeito à natureza dos sistemas em desenvolvimento e seus requisitos. A maioria dos trabalhos de engenharia de requisitos é grande; sistemas de um conjunto de coisas, desenvolvidos para um cliente específico sob um contrato que inclui requisitos, com a idéia que implementando menos que o conjunto completo de requisitos equivale a falha de implementação do sistema contratado. No entanto, na prática tem-se várias realidades:

- hoje, o desenvolvimento de software é mais dirigido à comercialização, para satisfazer clientes anônimos e para condicioná-los ao retorno para compra de novas versões;

- não existem recursos suficientes para construir software que possa satisfazer os desejos de cada cliente. Isto é essencial para priorizar requisitos, então face à pressão para executar rapidamente, os mais importantes requisitos podem ser implementados por primeiro;

- requisitos são incompletos por natureza, principalmente porque eles mudam como resultado da aplicação do sistema.

Finalmente, na prática têm sido apontadas duas necessidades particulares, que métodos e ferramentas devem preencher:

- primeiro, a parte do projeto arquitetural necessária para efetivar a engenharia de requisitos, deve ser integrada aos requisitos;

- segundo, os métodos e ferramentas devem ser mais acessíveis, técnica e financeiramente.

Referências Bibliográficas

[BL98] BERRY, Daniel M., LAWRENCE, Brian. Requirements engineering. IEEE SOFTWARE, Los Alamitos, p. 26-29, mar./apr. 1998.

[IC98] INTERNATIONAL CONFERENCE ON REQUIREMENTS ENGINEERING, 3., 1998, Los Alamitos. Anais... Los Alamitos : IEEE, 1998. 250 p.