21
REQUISITOS DE SOFTWARE Conceituando, elicitando e especificando-os

UnP Eng. Software - Aula 25

Embed Size (px)

DESCRIPTION

Aula sobre requisitos lecionada junto a Universidade Potiguar. Nesta aula foram apresentados conceitos sobre Engenharia de Requisitos, com definições sobre como deve-se elicitar requisitos formando uma visão do produto e formalizando requisitos funcionais, não-funcionais que serão posteriormente avaliados enquanto a sua viabilidade. Por fim apresenta-se a necessidade de uma constante verificação destes requisitos e posterior validação por meio de testes.

Citation preview

Page 1: UnP Eng. Software - Aula 25

REQUISITOS DE SOFTWAREConceituando, elicitando e especificando-os

Page 2: UnP Eng. Software - Aula 25

HÉLIO MEDEIROSAnalista de Sistemas

SINFO - UFRN

Blog: http://heliomedeiros.comEmail: [email protected]

Page 3: UnP Eng. Software - Aula 25

NOSSA AULA

• Parte 1 - Requisitos de software

• Parte 2 - Processos de engenharia de requisitos

• Parte 3 - Modelos de sistema

• Parte 4 - Especificação de sistemas críticos

• Parte 5 - Especificação formal

Page 4: UnP Eng. Software - Aula 25

1 Requisitos de Software

Page 5: UnP Eng. Software - Aula 25

PROBLEMA

O primeiro pré-requisito que deve ser cumprido antes do início da construção de um sistema é a exposição clara do

problema que o sistema deve resolver.

Definição do Problema

Requisitos

Arquitetura

Construção

Aprimoramentos

“VISÃO do PRODUTO”

Page 6: UnP Eng. Software - Aula 25

VISÃO DO PRODUTO

Exposição simples, talvez uma ou duas páginas, e deve parecer-se com um problema.

“Preciso realizar o controle sobre a postagem dos trabalhos enviados por alunos; pois não sabemos ao fim do período estipulado ao exercício

quantos o enviaram ou não.”

Não usa termos técnicoslinguagem do usuário

Page 7: UnP Eng. Software - Aula 25

REQUISITOS

“Os requisitos descrevem em detalhes o que um sistema de software deve fazer , sendo o primeiro passo rumo a uma

solução” -Steve McConnell

http://www.flickr.com/photos/melilab/2436615256/

Page 8: UnP Eng. Software - Aula 25

REQUISITOS EXPLÍCITOS

•Ajudam a garantir que o usuário, e não o programador, determine a funcionalidade do sistema.

•Permite ao usuário examinar e concordar.

•Em softwares de qualidade deve-se evitaradivinhar o que o usuário deseja.

http://www.flickr.com/photos/sscafephotos/

Page 9: UnP Eng. Software - Aula 25

REQUISITOS FUNCIONAIS

“São as declarações de serviços que o sistema deve fornecer, como o sistema deve reagir a entradas específicas

e como o sistema deve se comportar em determinadas situações”. - SOMMERVILE

http://www.flickr.com/photos/sgoralnick/2087136920/

Page 10: UnP Eng. Software - Aula 25

REQUISITOS NÃO FUNCIONAIS

“São restrições sobre os serviços ou as funções oferecidos pelo sistema” - SOMMERVILE

http://www.flickr.com/photos/sgoralnick/2763358685/in/set-72157603372329154/

Page 11: UnP Eng. Software - Aula 25

2 Processos de Engenharia de Requisitos

Page 12: UnP Eng. Software - Aula 25

É VIÁVEL ?

No início de cada projeto, iteração ou ciclo deve ser verificado se vale a pena ou não prosseguir com a construção das soluções para os requisitos, verificando se:

1.O sistema contribui com os objetivos da organização;

2.Se a tecnologia atual, custo e prazo são suficientes para produzir uma solução satisfatória;

Page 13: UnP Eng. Software - Aula 25

ELICITANDO REQUISITOS

Seja em reuniões de planejamento, ou por meio de outras estratégias um ponto em comum é a necessidade de conhecer o domínio e as reais necessidade do nosso cliente.

Obter requisitos

Validar requisitos

Page 14: UnP Eng. Software - Aula 25

OBTENDO REQUISITOS

Existem atualmente no mercado centenas de milhares de estratégias para obtenção de requisitos, sobre as quais cada processo de software apresenta a sua preterida.

Planning Poker

Jogo do Planejamento

Brainstorm

Entrevista

JAD

Page 15: UnP Eng. Software - Aula 25

VERIFICANDO REQUISITOS

•Se seus requisitos não estiverem bons o bastante para todo um projeto ou um ciclo, interrompa oque você estiver fazendo, retroceda e corrija-os antes de prosseguir.

•O QUE FAZER ?

http://www.flickr.com/photos/sgoralnick/3463349433

Page 16: UnP Eng. Software - Aula 25

VALIDANDO REQUISITOS

A validação de requisitos atesta que os requisitos realmente definem o sistema que o usuário deseja para aquele momento. São averiguados neste ponto:

Validade

Consistência

Completeza

Realismo

Facilidade de verificação

Page 17: UnP Eng. Software - Aula 25

REQUISITOS FUNCIONAIS

•Todas as entradas para as funcionalidades conhecidas do sistema estão especificadas ? Incluindo origem, precisão, intervalo de valores e freqüência ?

•Todas as saídas do sistema estão especificadas, incluindo seu destino, precisão, intervalo de valores, freqüência e formato ?

•Todos os formatos de saída estão especificados para páginas web, relatórios, webservices e etc ?

•Todas as tarefas que o usuário deseja executar estão especificadas?

Page 18: UnP Eng. Software - Aula 25

REQUISITOS Ñ FUNCIONAIS

•O tempo de resposta esperado, do ponto de vista do usuário, está especificado para todas as operações necessárias ?

•Outras considerações de cronometragem estão especificadas, como tempo de processamento, taxa de transferência e desempenho do sistema ?

•O nível de segurança está especificado?

•A confiabilidade está especificada ?

•A definição de sucesso está incluída? e de falha ?

Page 19: UnP Eng. Software - Aula 25

COMO MANTER QUALIDADE DINAMICAMENTE ?

Page 20: UnP Eng. Software - Aula 25

TESTES DE SOFTWARE

Page 21: UnP Eng. Software - Aula 25

NOSSA AULA

• Parte 1 - O que são testes de software

• Parte 2 - Quais são os tipos de testes

• Parte 3 - Testes automáticos

• Parte 4 - Test Driven Development

• Parte 5 - Testes de Interface

• Parte 6 - Testes de Desempenho