José Luiz Andriolli palestrou sobre a Utilização da Engenharia de Requisitos no evento modelagem e requisitos na industria de alta tecnologia, realizado no dia 28 de setembro de 2017.
4. O Desafio do software
Problemas típicos…
• Orçamento e tempo assumidos não cumpridos
• Produtividade insuficiente
• Retrabalho e defeitos
• Falta de tempo para implementar alterações
Taxa de sucesso no desenvolvimento
sistemas
As principais Três causas raíz dos problemas
Processo ineficiente 91%
Gerenciamento organizacional 87%
Engenharia de Requisitos 87%
6. Porque Requisitos ?
Requisitos são a base para os próximos passos
do desenvolvimento.
São a principal fonte de referências para:
• Alteração de funcionalidades
• Adição de novas funcionalidades
• Elaboração do desing
7. Níveis de Requisitos
Os requisitos podem ser
divididos em diferentes níveis!
Componentes
Sistema
Comercial
Pré-Projeto Proposta
(RFP)
Contrato
Sistema
Comp A Comp B Comp C
Cada Nível de
requisito tem sua
própria finalidade
8. 1. Tiny 2. Small 3. Medium 4. Large 5. Huge
Design professionals (number) 3 15 75 400 2,000
Duration (months) 12 24 36 48 60
Geographical area Building City Multi-city Country World
States/modes (number) 3 30 300 2,000 10 000
States/modes (type) Well defined Deterministic Stochastic
Interface params (no.) 9 90 900 6,000 30 000
Physical environment of
product
Indoor In/outdoor 1 location Outdoor global Global Space, Ocean
Requirements (no. of text
pages)
15 150 500 2 000 50000
Requirements
(approximate no)
150 1 500 5 000 20 000 500 000
Number of specs generated 1 3 10 200 1000
Examples Electric kitchen
mixer;
low budget art film
Housing
development;
TV Set;
grand opera
Night viewing
system;
highway system
Aircraft Space vehicle;
Battleship &
armament
Alguns números
9. Porque Precisamos de Requisitos?
A maioria dos sistemas de software usam menos da metade de
suas funções.
• 80% dos defeitos detectados nos testes de campo resultam de
requisitos faltantes (31%) ou errados (49%).
• 43% de todas as falhas de sistemas embarcados ocorrem por
especificação e análises insuficientes.
• Tipicamente apenas entre 3 e 6% do esforço de um projeto é
usado no desenvolvimento e gerência de requisitos
Dobrar este esforço poderia resultar em uma redução de até 20% no custo do
ciclo de vida do produto: Menos retrabalho, ciclo de vida menor e maior
eficiência.
Me diga como
seu projeto
começa e eu te
direi como
termina.
Fontes: Standish Group 2003, American Management Association 2001, Institut für angewandte Informatik Karlsruhe
2005, Ebert 2007
10. Detalhamento dos Requisitos
Custos Riscos
Mais detalhes:
• Desenvolvimento terceirizado
• Equipes disjuntas
• Testes baseados em requisitos
• Projeto deve ter métricas rígidas
• Há necessidade de rastreabilidade
Menos detalhes:
• Stakeholders estão envolvidos
• Desenvolvedores com expertise
• Similares já foram desenvolvidos
• Pacotes prontos serão usados
Achar o nível adequado para
os requisitos é a chave para
uma Engenharia de Sistemas
eficiente
11. Validação dos Requisitos
A finalidade da validação é
evitar vícios de requisitos:
• Incompletos
• Não rastreáveis
• Inconsistentes
• Irrelevantes
• Incorretos
• Ambíguos
• Inviáveis
• Douradores de Pílula
12. Riscos nos Requisitos
Só há 3 riscos com requisitos
1. Requisitos errados
Mistura de necessidades com solução
Ausência de verificação e validação
2. Requisitos ausêntes
Cliente não envolvido
Foco apenas em requisitos críticos
Somente requisites funcionais
3. Requisitos variáveis
Ausência de uma baseline
Deficiências no controle de alteração e rastreabilidade
Baseado em: B.Lawrence, K.Wiegers and C.Ebert: The Top Risks of Requirements
Engineering. IEEE Software, Vol. 18, No. 6, pp. 62-63, Nov. 2001.
14. Engenharia de Requisitos
Engenharia de Requisitos
• O objetivo da Engenharia de Requisitos é criar requisites suficientemente bons
para permitir que um projeto comece com um risco aceitável.
• A Engenharia de Requisitos atinge este objetivo atraves da gerência dos requisites de
um projeto em termos de produto e de seus components, além de identificar
inconsistências entre estes requisitos e os planos feitos para desenvolve-los.
Desenvolvimento
dos requisitos
Design, implementação e testes
de sistema
Testes de
Aceitação
Gerenciamento dos requisitos
15. Gerenciar o quê ? Como fazer ?
Gerenciar requisitos é:
• Identificar requisitos
• Identificar os atributos chaves
• Conhecer sua história e suas razões
• Quem solicitou o requisito
• Qual o processo de aceitação
• Como será implementado
• Suas versões e seu histórico de alteração
• Responsabilidade por alterações e suas
razões
16. Testes e Requisitos
Análise de Requisitos
• Relatório de viabilidade
• Matriz de rastreabilidade
Planejamento de testes
• Estimativa de esforço
• Planos de teste
Desenvolvimento dos casos de teste
• Casos de teste
• Dados de teste
Execução do testes
• Ambiente de testes
• Análise dos testes
Fechamento do ciclo de testes
• Métricas
• Relatório final
17. Conclusão
A Engenharia de Requisitos
permite que o projeto começe se
seja conduzido com um risco
aceitável.
Requisitos são a principal
ferramenta da Engenharia de
Sistemas