5. Tarefas - Disciplina de Requisitos


A disciplina de Requisitos agrupa todas as tarefas relativas ao processo de Análise de Negócios e de Análise e Especificação de Requisitos do Open UP, tendo maior ênfase na fase de Iniciação do Processo. Para o Open UP, a disciplina de Requisitos possui quatro tarefas básicas:
  1. Identificar e esboçar os requisitos;
  2. Detalhar os cenários de casos de uso;
  3. Especificar os requisitos não funcionais;
  4. Desenvolver visão técnica.







O objetivo desta Tarefa é, dado um determinado problema de negócio, independentemente da natureza da corporação, propor uma solução plausível e tenha a concordância de todos os envolvidos no processo. Os Stakeholders colaboram com a equipe de desenvolvimento para expressar e documentar seus problemas, necessidades e potenciais caracaterísticas que o sistema possa vir a ter. O principal resultado dessa fase é o Documento de Visão que apresenta o ambiente do negócio analisado como um todo.

A tarefa Desenvolver Visão Técnica pode ser dividida nos seguintes passos:

Identificar Stakeholders - É fundamental identificar todas as pessoas interessadas (Stakeholders) na solução do problema analisado sejam eles gerentes, diretores, clientes, usuários potenciais, parceiros, analistas e qualquer outro interessado. O documento de Visão descreve brevemente o papel de cada Stakeholder e quais são suas responsabilidade, perante o negócio e perante a solução proposta. 

Obter a concordância dos Stakeholders e da Equipe de Desenvolvimento - A equipe de desenvolvimento deve evitar definir a solução de forma precipitada, deixando assim lacunas, principalmente nas características solicitadas pelos Stakeholders para a solução proposta. O primeiro passo a se tomar é obter a concordância dos Stakeholders sobre a definição do que eles enxergam como um possível problema no negócio analisado. Em seguida, é função dos analistas identificarem as raízes desses supostos problemas, ou o "problema por detrás do problema".
O fundamental para os analistas aqui é distinguir soluções de problemas e respostas de questões.

Identificar as necessidades dos Stakeholdes - Utilizar as técnicas apropriadas para levantar os requisitos da solução proposta. Cada técnica deve ser aplicada em uma situação específica para cada tipo de Stakeholder. Se você pode encontrar os Stakeholders pessoalmente, então você poderá conduzir uma entrevista ou presidir um brainstorming. A colaboração face-a-face é valiosa e reduz as chances incompreensão por parte da equipe de desenvolvimento em relação às necessidades dos Stakeholders.

Definir o escopo da solução - A equipe de desenvolvimento deve definir o escopo da solução em termos de processos, organizações e sistemas. Uma ferramenta importante que auxilia a identificar as fronteiras da solução proposta é o modelo de caso de uso.

Definir as características da solução proposta - Sempre que possível, os Stakeholders devem ser questionados sobre o que eles esperam do sistema em questão de funcionalidades, atribuindo-lhes características que possam definir os seus status e a suas prioridades no projeto.

Definir riscos e prioridades - O Processo Unificado prevê que os casos de uso que ofereçam os maiores riscos para o sucesso no desenvolvimento da solução devem ser atacados já no início do projeto. É importante que a equipe de desenvolvimento, juntamente com os Stakeholders, definam as prioridades de desenvolvimento dos casos de uso.

Capturar um vocabulário comum - Todo projeto tem suas terminologias especializadas, ou seja, as terminologias envolvidas com o negócio analisado. O uso do Glossário é importante para garantir que todos os envolvidos e todos os membros da equipe de desenvolvimento interpretem os termos da mesma forma. O Glossário pode conter: Termos Técnicos, Termos de Negócios, Abreviações, Acrônimos, Descrição de Funções, dentre outros. O Glossário deve ser refinado constantemente.






    Esta tarefa descreve como identificar e esboçar os requisitos para os requisitos da solução proposta, de forma a determinar o escopo do sistema.
    O principal propósito dessa tarefa é identificar e capturar os requisitos funcionais e não funcionais para a solução proposta. Estes requisitos formam a base para a comunicação e a concordância entre a equipe de desenvolvimento e os Stakeholders sobre quais são as necessidades para a solução proposta atender ao negócio analisado. A meta é compreender os requisitos em alto nível de forma que o escopo inicial do trabalho possa ser determinado. Posteriormente, uma análise mais aprofundada deve ser realizada para detalhar estes requisitos antes do processo de implementação.

    A tarefa Identificar e Esboçar os Requisitos pode ser dividida nos seguintes passos:

    Reunir Informações - Os Analistas devem utilizar técnicas diversas (entrevistas, questionários, brainstormings, etc.) para reunir o maior número possível de informações sobre a solução proposta. É importante reunir informações chaves sobre:
    • O domínio do problema;
    • Ambiente de negócio;
    • Stakeholders principais;
    • Necessidades dos Stakeholders.
    Essas informações podem ser todas reunidas em um Documento de Visão, documento que busca oferecer as informações gerais sobre o negócio a ser analisado.

    Identificar e capturar os termos comuns do domínio de negócio - É importante identificar e definir todos os termos comuns ao processo de negócio que está sendo analisado. Isso possibilita uma melhor compreensão do processo e facilita a especificação dos requisitos, principalmente os funcionais. É importante que os Stakeholders deêm o aval de que os termos são utilizados corretamente. Após isso, os termos devem ser documentados no Glossário.

    Identificar e classificar os requisitos da solução proposta - Como visto na Página 4, na disciplina de requisitos, podemos classificar os requisitos em cinco categorias diferentes: Funcionalidade, Usabilidade, Confiabilidade, Performance e Suportabilidade. A primeira categoria define o que a solução proposta deve fazer. As outra quatro categorias definem restrições que devem ser impostas ao processo de desenvolvimento da solução.
    A identificação e classificação dos requisitos em conjunto com os Stakeholders auxilia no processo de identificação do conjunto completo de requisitos para a solução.

    Identificar e capturar os casos de uso e seus atores - Encontrar e definir o escopo da solução proposta é fundamental para o bom andamento do projeto. A especificação correta das fronteiras do sistema enquanto solução impactam diretamente no planejamento do cronograma e do custo do processo de desenvolvimento do sistema.
    A correta especificação dos atores facilitará o processo de identificação das interfaces do sistema e a interação dos usuários e outros sistemas com a solução. Maiores informações podem ser encontradas na página especifica sobre especificação de Casos de Uso (em construção).

    Identificar e capturar os cenários de casos de uso - Um Cenário de caso de uso apresenta um conjunto ordenado de fluxos do início ao fim do caso de uso, independente da linha seguida. A identificação dos Cenários de caso de uso facilita a compreensão do comportamento da arquitetura da solução proposta.

    Identificar e capturar os requisitos não funcionais - A identificação dos requisitos não funcionais auxiliam no processo de compreensão da solução proposta, bem como, na especifiação dos riscos que podem ameaçar o sucesso do processo de desenvolvimento da solução. É importante sempre lembrar que no Processo Unificado, os requisitos que oferecem os maiores riscos são os que devem ser atacados já na fase de Iniciação.


    O principal objetivo desta tarefa é guiar os analistas no processo refinamento das especificações e no processo de detalhamento dos cenários de caso de uso.

    A tarefa Detalhar os Cenários de Caso de Uso pode ser dividida nos seguintes passos:

    Detalhar especificações de casos de uso e cenários de caso de uso - Alguns cenários e casos de uso precisam ser descritos em maiores detalhes para validar a compreensão dos requisitos funcionais e permitir que o processo de desenvolvimento da solução evolua. Isso não implica que todos os casos de uso e cenários precisam ser detalhados logo na primeira Fase do Ciclo de Vida de Projeto. O nível de detalhamento capturado irá variar de acordo com as necessidades do projeto e de acordo com a complexidade do caso de uso.

    Atualizar modelo de caso de uso - Baseando-se nas atividades desempenhadas no passo anterior, uma atualização mais detalhada pode ser necessária no modelo de caso de uso. Adicione, remova ou atualize atores e casos de uso de acordo com o necessário. Maiores informações podem ser encontradas na página especifica sobre especificação de Casos de Uso (em construção).

    Detalhar termos do glossário - As informações alteradas nas atividades anteriores podem refletir alterações nos termos definidos pelo glossário do projeto. Em colaboração com os Stakeholders, garanta que todos os termos estão corratamente definidos e que termos ambíguos estão devidamente associados no glossário. Com a curva de aprendizagem sobre os conceitos de negócio aumentando, os termos podem ser refinados.

    O propósito desta tarefa é descrever os diversos requisitos não funcionais, detalhados o suficiente para permitir a compreensão e a validação dos mesmos por parte dos desenvolvedores e dos Stakeholders, permitindo a evolução da solução proposta.

    A tarefa Detalhar os Cenários de Caso de Uso pode ser dividida nos seguintes passos:

    Detalhar requisitos não funcionais - Alguns dos requisitos não funcionais devem ser devidamente esclarecidos e descritos detalhadamente. Novos requisitos podem surgir durante o processo de escrita e refinamento dos requisitos funcionais (Modelo de Caso de Uso).

    Detalhar termos do glossário - As informações geradas nas atividades de especificação dos requisitos não funcionais podem refletir alterações nos termos definidos pelo glossário do projeto. Em colaboração com os Stakeholders, garanta que todos os termos estão corratamente definidos e que termos ambíguos estão devidamente associados no glossário. Com a curva de aprendizagem sobre os conceitos de negócio aumentando, os termos podem ser refinados.