Escolar Documentos
Profissional Documentos
Cultura Documentos
Inserir TítulodeAqui
Requisitos
Inserir Título Aqui
Análise e Gestão de Requisitos
Revisão Textual:
Prof.ª Me. Sandra Regina F. Moreira
Análise e Gestão de Requisitos
Objetivos
• Compreender as etapas necessárias para a determinação de requisitos de software
com qualidade.
Caro Aluno(a)!
Normalmente, com a correria do dia a dia, não nos organizamos e deixamos para o
último momento o acesso ao estudo, o que implicará o não aprofundamento no material
trabalhado ou, ainda, a perda dos prazos para o lançamento das atividades solicitadas.
Assim, organize seus estudos de maneira que entrem na sua rotina. Por exemplo, você
poderá escolher um dia ao longo da semana ou um determinado horário todos ou alguns
dias e determinar como o seu “momento do estudo”.
Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de
discussão, pois estes ajudarão a verificar o quanto você absorveu do conteúdo, além de
propiciar o contato com seus colegas e tutores, o que se apresenta como rico espaço de
troca de ideias e aprendizagem.
Bons Estudos!
UNIDADE
Análise e Gestão de Requisitos
Contextualização
Para iniciarmos os estudos sobre a gestão de requisitos, quero propor-lhe uma
reflexão sobre as falhas e erros que você já viu (ou ouviu) acontecerem.
A partir desta reflexão, convido você a analisar quantas ações poderiam ter sido
executadas de modo a evitar que ocorressem as falhas e os prejuízos identificados.
E não apenas quanto à coleta de requisitos, como também relativas a seus controles
e gerenciamento.
Acesse os sites e assista aos vídeos que sugerimos no item “material complementar”
e tome conhecimento de alguns s disponíveis no mercado que colaboram com a gestão
de requisitos (indicados nesse mesmo item).
A área de tecnologia de informação vem tentando trazer valor agregado aos negócios,
mas ainda hoje, uma “simples” modificação em um requisito, ou um requisito mal
compreendido, ganha tamanha relevância e gera inúmeros prejuízos a uma empresa.
6
Análise de Requisitos
A análise de requisitos é fundamental para o processo de desenvolvimento de siste-
mas porque visa descobrir as necessidades do usuário e identificar as operações que o
sistema deverá realizar, além das restrições destas operações.
Após a obtenção (ou elicitação) dos requisitos, é necessário que seja feita sua análise
para averiguação da coleta de dados e atualizar-se sua documentação.
7
7
UNIDADE
Análise e Gestão de Requisitos
Também se deve verificar se, apesar de válido, é viável manter aquele requisito.
Isto visa garantir sua permanência (ou não) conforme tecnologia, orçamento e tempo
disponível para o desenvolvimento do sistema.
Os requisitos também devem ser verificados entre si para se identificar sua consis-
tência, e se contêm todos os elementos necessários e, portanto, se sua integralidade
está garantida.
A consistência significa que os requisitos não podem ser contraditórios entre si. Ou
seja, se uma informação não fica invalidada por qualquer motivo, ou ainda, por outra
informação, de outro stakeholder, por exemplo.
Análise de Requisitos
Negociação de Requisitos
Note que, na prática, a “negociação” – termo utilizado para designar se o(s) requisitos(s)
deverá(ão) ou não permanecer no projeto de software – é com frequência aplicada, pois
questões técnicas ou comportamentais estarão sempre envolvidas.
8
Independente disto, pode-se preparar uma lista de verificação para ser usada na análi-
se dos requisitos. A partir dessa lista, e não necessariamente com ela, é possível identifi-
car se todo conhecimento acumulado na pesquisa está correto, completo ou consistente,
conforme se vê na sequência.
9
9
UNIDADE
Análise e Gestão de Requisitos
A análise de requisitos deverá evitar os tão conhecidos erros de projeto. Sua impor-
tância alcança até o gerenciamento de projetos, pois na engenharia de requisitos ela (a
análise) é a responsável por obter os dados indispensáveis para solucionar os problemas
dos usuários e ajudá-los a alcançar seus objetivos.
10
Verificação de Requisitos
A equipe de interessados e envolvidos no projeto de software lê, analisa os requisitos
e procura problemas, erros, omissões, incongruências, falhas ou situações descritas que
não estejam de acordo com o escopo do projeto, se reúne, discute estas situações,
negocia e concorda com as ações para tratá-las.
11
11
UNIDADE
Análise e Gestão de Requisitos
Os critérios mais adequados para a atividade de revisão devem exigir que nos requisitos
sejam verificadas a existência de:
• Ambiguidade • Completude
• Conformidade a padrões • Consistência
• Entendimento • Organização
• Rastreamento • Redundância
Isto é importante porque, por mais cuidado que os desenvolvedores tenham com
as especificações dos requisitos, não há garantias de que estas estejam completas e
corretas. Além disso, elas pode ser por eles revistas diversas vezes e não se identificar
falha alguma.
Principalmente por esse motivo, é que as especificações devem ser revisadas por
outras pessoas – inclusive por aquelas não envolvidas no projeto, para maior isenção em
sua opinião.
Validação de Requisitos
Quanto à validação de requisitos, seus objetivos devem ser para certificar-se de que o
documento de requisitos é uma descrição correta e aceitável do sistema a ser desenvol-
vido, verificando-se suas propriedades.
Documentação
de requisitos
12
Observe a figura 2 e note que a análise de viabilidade também está incluída no ciclo
de validação. Note que também na figura 1 a análise de viabilidade é citada.
A verificação de requisitos, assim como sua validação, envolvem antes uma profunda
análise de seu teor, e apesar de alguns autores colocarem a verificação e a validação num
mesmo patamar, resolvemos separá-las, pois entendemos que validar é mais importante
que verificar, conforme explicamos na sequência com o que identificamos em alguns
dicionários eletrônicos disponíveis.
A validação, por sua vez, para “Aurélio”, é tornar ou declarar algo válido, e para
“Michaelis” é uma declaração de validade.
A verificação usa dados obtidos dos stakeholders do sistema e sua questão básica é
saber se a equipe tem os requisitos certos.
A validação usa uma versão menos informal e mais final do documento de requisitos
que foram negociados e acordados e, nesta fase, a questão chave é saber se os requisitos
disponíveis estão certos.
13
13
UNIDADE
Análise e Gestão de Requisitos
• Verificação de clareza;
• Verificação de realismo; e
• Facilidade de verificação.
Por outro lado, as validações podem ser feitas por meio de técnicas, tais como:
• Geração de casos de teste, com testes específicos, análise de consistência automática
ou avaliar apenas uma especificação;
• Prototipação, incluindo um modelo “executável” (ou interfaces) do sistema;
• Revisão de requisitos, com a análise manual sendo sistemática;
• Reusando domínios já conhecidos e efetivos;
• Usando o princípio de “pontos de vista” de stakeholders; ou
• Validação mediante o uso de outros modelos.
Para Vazquez (2016), as validações podem ser feitas mediante a utilização de:
• Casos dos usuários;
• Modelagem de processos;
• Decomposição funcional;
• Modelagem de domínio;
• Modelagem dos Casos de Uso;
• Listas de verificação; ou
• Prototipação.
Outra técnica usada durante as revisões técnicas formais – RTF – é o checklist e visa
garantir a qualidade do software mediante:
• A descoberta de erros de função, lógica ou codificação;
• A verificação de que o software atende aos requisitos especificados;
• A garantia de que o software foi representado conforme padrões previamente definidos;
• A garantia de que o software foi desenvolvido uniformemente; e
• O desenvolvimento de projetos mais facilmente gerenciáveis.
Mas não significa, de fato, que uma validação positiva de requisitos garanta que os
mesmos continuarão sendo válidos posteriormente.
14
Entendemos que a validação de requisitos poderia ser feita diversas vezes se:
• No projeto houver muitas ideias e tecnologias inovadoras;
• Durante a fase de engenharia de requisitos houver acréscimo significativo no conhe-
cimento dos envolvidos;
• O projeto tiver longa duração;
• A validação de requisitos anterior foi realizada muito cedo;
• O domínio do problema seja desconhecido; e
• Houver a reutilização de requisitos.
Portanto, a validação de requisitos visa demonstrar que eles definem o sistema que
realmente o cliente deseja, e que estão conforme foi definido.
Vale lembrar novamente que, os custos resultantes de erros em requisitos são muito
altos, o que torna sua validação muito importante. Estimam-se que o custo da reparação
de um erro após a entrega de um software pode chegar a cem vezes mais que o custo
de reparação de um erro na fase de implementação.
Gestão de Requisitos
A gestão de requisitos refere-se a um processo de gerenciamento de suas mudanças
durante o processo de engenharia de requisitos e o desenvolvimento de sistema.
A partir daí, é necessário de seja feita uma boa gestão de mudanças de requisitos, pois:
• A priorização dos requisitos muda em decorrência das mudanças de pontos de vista
durante o processo de desenvolvimento;
• O ambiente técnico e o de negócio do sistema mudam durante o desenvolvimento;
• Os clientes do sistema podem especificar requisitos a partir de perspectiva de
negócio que conflite com os requisitos do usuário final.
15
15
UNIDADE
Análise e Gestão de Requisitos
Engenharia de Requisitos
Análise e Negociação
dos Requisitos
Documentação
dos Requisitos
16
A figura 4 apresenta claramente que, na prática, a gestão de requisitos é um processo
cíclico e ininterrupto, que se inicia já na fase de obtenção de dados.
Uma baseline, ou linha base, é uma “imagem” de uma versão de cada artefato no re-
positório do projeto e funciona como um padrão oficial básico para os demais trabalhos
subsequentes. Uma baseline de requisitos é uma versão de sua especificação e contém
um conjunto definido de itens de configuração, que poderão servir, inclusive, como mar-
cos no processo de desenvolvimento do software.
Esses itens também irão colaborar com outra gestão – a de configuração de software,
para que esta possa definir critérios que permitam realizar as modificações solicitadas,
mantendo-se a consistência e a integridade do software com as novas especificações.
Gerência de Escopo
O gerenciamento de escopo do projeto deve considerar a:
• Própria mudança, pois deverá ser feito um planejamento para sua acomodação, e
isto tem um custo, e precisa ter um prazo;
• Revisão de requisitos para se evitar conflitos. Os stakeholders devem ser questionados,
para se obter sua concordância se eles especificaram qualquer alteração em um requisito.
Isso significa garantir que o projeto não excederá os requisitos necessários, o orça-
mento planejado e o prazo estabelecido.
17
17
UNIDADE
Análise e Gestão de Requisitos
Para facilitar, pode-se elaborar um artefato, a matriz de rastreabilidade, junto com a es-
pecificação de requisitos, cujo objetivo é mapear os requisitos descritos na sua especificação.
18
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
Sites
Engenharia de Software - introdução à engenharia de requisitos
DEVMEDIA. Engenharia de Software - introdução à engenharia de requisitos.
https://goo.gl/8msNxk
Requirements management
GODA, Software. Requirements management
https://goo.gl/6GDPmD
What is requirements management?
https://goo.gl/t7FUd7
The most affordable, flexible & powerful requirements management tools
https://goo.gl/89YJer
Modern Requirements4TFS – easy, eficiente, essential
https://goo.gl/RKQe8C
Open source Requirements management.
https://goo.gl/SNjHsd
Vídeos
Requirements management - meaning, definition, explanation.
https://youtu.be/QVVuCj4GTWE
Agile Requirements Management Best Practices
https://youtu.be/HQizMS04A7s
Requirements Management
https://youtu.be/RyafVhLHNxs
Controle de Versão de Requisitos de Software
https://youtu.be/uZdXQe-NYFQ
Requirements Management
https://youtu.be/t4PRpQ5xAC4
19
19
UNIDADE
Análise e Gestão de Requisitos
Referências
AUDIOPEDIA. Requirements management - meaning, definition, explanation.
Disponível em: https://www.youtube.com/watch?v=QVVuCj4GTWE, último acesso
em 09/04/2018.
20