Engenharia de Requisitos Orientada para o Problema
A engenharia de requisitos orientada para o problema se origina na engenharia de sistemas e envolve investigar e documentar um domínio do problema. Dentro desta visão o engenheiro de requisitos descreve as situações problemáticas que estão sendo experimentadas, as relações entre estas situações, porque elas são vistas como problemáticas e quem é afetado por ou vive estes problemas.
Uma técnica comum dentro desta visão é a Engenharia de Requisitos Orientada para Objetivos (GORE-Goal-Oriented Requirements Engineering). Esta técnica elicita os objetivos das partes interessadas relevantes para endereçar seus problemas e preocupações. Estes objetivos definem o que uma parte interessada deseja atingir, ao mesmo tempo em que se abstrai do como isto pode ser feito, e por quem.
Os objetivos capturados capturam a razão de ser para a solução que deverá ser desenhada para atingir os objetivos e, assim, resolver os problemas identificados. Como preparação para o desenho da solução, os objetivos podem ser decompostos em objetivos menores e mais concretos, que possam ser realizados de forma mais fácil e direta. Isto resulta nas chamadas árvores de objetivos.
A engenharia de requisitos orientada para objetivos permite uma série de análises. Primeiro, ela facilita estabelecer a motivação e a justificativa para os objetivos e suas soluções. Através de técnicas de modelagem podemos analisar e demostrar que objetivos motivam outros objetivos e que elementos de uma arquitetura empresarial realizam estes objetivos. Segundo, a engenharia de requisitos orientada para objetivos suporta a modelagem e análise do quanto um objetivo contribui positiva ou negativamente para - ou mesmo conflita com - a realização de outros objetivos.
Engenharia de Requisitos Orientada para a Solução
A engenharia de requisitos orientada para solução representa uma abordagem mais tradicional da visão da engenharia de software em relação aos requisitos. Nesta visão a engenharia de requisitos é vista como uma especificação de uma solução. O engenheiro de requisitos especifica o contexto no qual o sistema irá operar, produz uma lista de funções do sistema requeridas ou desejadas, define a semântica destas funcionalidades (requisitos funcionais) e produz uma lista de atributos de qualidade para estas funcionalidades (requisitos não-funcionais).
Soluções alternativas podem ser propostas pelo engenheiro de requisitos. Por exemplo, configurações diferentes do sistema podem ser propostas para suportar diferentes atributos de qualidade da solução. Estas alternativas são analisadas com base em diversos critérios para selecionar aquela que oferece a melhor solução.
Técnicas comumente usadas nesta visão são baseadas na Análise Estruturada e na Análise Orientada para Objetos. A análise estruturada foca no fluxo dos dados através do sistema sendo construído, normalmente através do uso de Diagramas de Fluxo de Dados (DFD). A análise orientada para objetos aplica técnicas de modelagem de objetos para analisar os requisitos funcionais do sistema em construção. Uma técnica importante na análise orientada para objetos é a elicitação e especificação de Casos de Uso. Casos de uso capturam o comportamento da solução em termos de cenários das interações entre o sistema e os seus usuários.
Cadeia de Problemas
As duas visões da Engenharia de Requisitos, orientada para problemas e orientada para soluções, podem ser consideradas como duas fases consecutivas e complementares. Iterações destas fases podem ser aplicadas para endereçar um problema de forma progressiva, isto é, em múltiplas iterações. A partir desta perspectiva nós identificamos o que chamamos cadeia de problemas, onde cada elo conecta um problema com a sua solução, que por sua vez é considerada novamente um problema para o próximo elo. Por exemplo, um analista de negócios pode investigar um problema de negócio e especificar uma solução de negócio para este problema. Esta nova solução pode requerer o suporte da TI, na forma de um sistema novo ou modificado. Este sistema se torna, então, um problema para o Analista de TI. Ao mesmo tempo, a solução de negócio original pode dar origem a outros problemas de negócio, e assim sucessivamente.
Em um próximo artigo vamos explorar como estes conceitos são tratados pela Arquitetura Empresarial.
Fonte: Business Requirement Management Copyright 2010 BiZZdesign Academy
