tarefas que levam a um entendimento de qual ser´ao impacto...

32
“... definem tarefas que levam a um entendimento de qual ser´ao impacto do software sobre o negócio, o que o cliente quer e como os usuários finais irão interagir com o software.” (Pressman, 2011) Prof. Elias Ferreira

Upload: dangduong

Post on 18-Nov-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

“... definem tarefas que levam a um entendimento de qual ser´ao impacto do software sobre o negócio, o que o cliente quer e como os usuários finais irão interagir com o software.” (Pressman, 2011)

Prof. Elias Ferreira

Page 2: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

Engenheiros de software (algumas vezes conhecidos no mundo da TI como

engenheiros de sistemas ou “analistas”) e outros interessados no projeto (gerentes,

clientes, usuários finais), todos participam da engenharia de requisitos

Page 3: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

DEFINIÇÃO

Também conhecida como: Análise de requisitos;

Análise de sistemas.

É a área responsável pela descoberta: Das reais necessidades dos clientes.

Do comportamento externo de uma solução que atenda a estas necessidades.

Domínio do Problema

Domínio da Solução

Page 4: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

Projetar e construir um programa de computador elegante que resolva o problema

errado não atende as necessidades de ninguém....

Page 5: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

Segundo Brooks[5], a ER é a atividade maisimportante da construção de um software, pois determina:

Page 6: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

Fonte: [2]

Page 7: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

Fonte: [2]

Page 8: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

MOTIVAÇÃO

ER também é

uma atividade

essencialmente

e acidentalmente

difícil [4]:

88Fonte: [3]

Page 9: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

9

São aquelas inerentes à atividade em si, por exemplo:

Clientes não estarem convencidos da necessidade de um novo software;

Clientes não sabem exatamente o que querem.

Clientes com dificuldades para esclarecer seus objetivos.

9

Page 11: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

Tipos de requisitos voláteis:

Mutáveis

Originados a partir de mudanças no ambiente.

Emergentes

Surgem durante o desenvolvimento.

1111

Page 12: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

São oriundas da falta de controle sobre aquilo que precisa ser construído, por exemplo:

Pouco esforço despendido no levantamento de informações junto ao usuário;

Documentação pobre sobre os requisitos obtidos;

Pouca revisão dos requisitos obtidos;

1212

Page 13: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

Especificações incorretas dos requisitos;

Tendência em iniciar logo o processo de desenvolvimento do software;

Não existir tempo adequado para a elicitação;

Preparação inadequada dos engenheiros.

1313

Page 14: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

MOTIVAÇÃO

Nenhuma outra parte do desenvolvimento causa tantos prejuízos se feita de forma errada.

Corrigir um produto após sua implementação pode custar 100x mais.

1414

Page 15: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

15

PERSPECTIVAS

Perspectiva de domínio

Perspectiva tecnológica

Perspectiva temporal

15

Page 16: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

16

PERSPECTIVA DE DOMÍNIO

Domínio do problemaExploração detalhada de um problema particular para determinar as necessidades de automação do usuário.

Domínio da soluçãoEspecificação do comportamento externo de um sistema.

16

Page 17: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

17

PERSPECTIVA TECNOLÓGICA

Existem vários mecanismos de especificação:Linguagem natural;

UML;

Prototipação;

Métodos formais, etc.

17

Page 18: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

18

PERSPECTIVA TEMPORAL

É uma das atividades iniciais da engenharia de software.

Resulta no criação de um documento de Especificação de Requisitos de Software (ERS).

Este documento deve ser atualizado constantemente para obtenção de mais conhecimento sobre o problema.

18

Page 19: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

• Descrições • De serviços fornecidos pelo sistema

• De restrições destes serviços

• Podem ser especificado formalmente

• Engenharia de Requisitos • Processo de descobrir, analisar, documentar e verificar requisitos Ti

Page 20: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

• “Uma condição ou capacidade que um usuário necessita para resolver um problema ou alcançar um objetivo. Uma condição ou capacidade que deve ser satisfeita por um sistema para satisfazer um contrato ou um padrão”. IEEE – Institute of Eletrical and Eletronics Engineers

• “Os requisitos para um sistema de software estabelecem o que o sistema deve fazer e definem restrições sobre sua operação e implementação”. Sommerville

• “Condição necessária para obtenção de certo objetivo ou para o preenchimento de certo fim”. Dicionário Aurélio.

Page 21: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

Em software:

“É a CARACTERIZAÇÃO do que o sistema deverá fazer.”

Existem vários tipos de requisitos que devem ser analisados…

2121

Page 22: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

• Para que o proceso de desenvolvimento de software seja bem sucedido é fundamental que haja uma compreensão completa dos requisitos de software.

• Tanto o desenvolvedor como o cliente desempenham um papel ativo na análise e especificação dos requisitos.

Page 23: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

• Existem dois tipos de classificação de requisitos, são eles:

• Requisitos Funcionais (RF)

• Requisitos Não-Funcionais (RNF).

• Os requisitos funcionais referem-se sobre o que o sistema deve fazer, ou seja, suas funções e informações. Os requisitos não funcionais referem-se aos critérios que qualificam os requisitos funcionais. Esses critérios podem ser de qualidade para o software, ou seja, os requisitos de performance, usabilidade, confiabilidade, robustez, etc. Ou então, os critérios podem ser quanto a qualidade para o processo de software, ou seja, requisitos de entrega, implementação, etc.

Page 24: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

Evidentemente que as prioridades podem variar conforme a natureza do software. Isso quer dizer que um software para uma plataforma de celular terá diferentes requisitos de um software que roda num browser na web. Assim como um software de tempo real que precisa ser executado em 0.01 segundo é diferente de outro software que pode ter um tempo maior para execução de uma determinada tarefa.

Page 25: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

Portanto, requisitos funcionais preocupam-se com a funcionalidade e os serviços do sistema, ou seja, as funções que o sistema deve fornecer para o cliente e como o sistema se comportará em determinadas situações.

Page 26: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

[RF001] O Sistema deve cadastrar médicos profissionais (entrada)

[RF002] O Sistema deve emitir um relatório de clientes (saída)

[RF003] O Sistema deve passar um cliente da situação "em consulta" para "consultado" quando o cliente terminar de ser atendido (mudança de estado)

[RF004] O cliente pode consultar seus dados no sistema

Page 27: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

Por fim, os definem propriedades e restrições do sistema como tempo, espaço, linguagens de programação, versões do compilador, SGBD, Sistema Operacional, método de desenvolvimento, etc. Uma dica importante é que os requisitos não funcionais são geralmente mensuráveis e assim devemos preferencialmente associar uma medida ou referência para cada requisito não funcional.

Page 28: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

Propriedade Métrica

Velocidade Transações processadas por segundo.Tempo de resposta ao usuário/evento.Tempo de atualização da tela.

Tamanho Kbytes.Número de chips de RAM.

Facilidade de Uso Tempo de treinamento.Número de telas de ajuda.

Confiabilidade Tempo médio para falhar.Probabilidade de indisponibilidade.Taxa de ocorrência de falhas.Disponibilidade.

Robutez Tempo de reinício após falha.Porcentagem de eventos que causam falhas.Probabilidade de que os dados sejam corrompidos por falhas.

Portabilidade Porcentagem de declarações dependentes de sistema-alvo.Número de sistemas-alvo.

Page 29: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

Segue abaixo alguns exemplos de requisitos não funcionais:

[RNF001] O sistema deve imprimir o relatório em até 5 segundos.

[RNF002] Todos os relatórios devem seguir o padrão de relatórios especificado pelo setor XYZ.

[RNF003] O sistema deve ser implementado em Java.

Page 30: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

Defina, o que são requisitos?

Quais os tipos de requisitos existentes?

Escreva os requisitos necessários para um software de locação de filmes.

Cada requisito deve ser enumerado

Devem ser registrados 10 requisitos

Pode ser realizado em grupo: até 3 pessoas

Page 31: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

[1] Pressman, Roger. Engenharia de Software. 6ª Edição.

[2] Lucena, F. N. Requisitos de Software: Eliciar, Registrar e Ser bem-sucedido. Disponível em http://www.inf.ufg.br/~fabio

[3] Queiróz, R. Silva, J. Eliciação e comunicação de requisitos em domínios disjuntos: estudo de caso para automação na área médica. Disponível em http://www.scielo.br/scielo.php?pid=S0103-17592009000400014&script=sci_arttext. Acessado em Set/12.

[4] Brooks, Fred P. (1986). "No Silver Bullet — Essence and Accident in Software Engineering". Proceedings of the IFIP Tenth World Computing Conference: 1069–1076.

[5] Sommerville, Ian. Engenharia de Software, 8ª Edição. São Paulo: Pearson Addison-Wesley, 2007.

Page 32: tarefas que levam a um entendimento de qual ser´ao impacto ...professor.pucgoias.edu.br/SiteDocente/admin/arquivosUpload/17315... · clientes, usuários finais), todos participam

http://www.devmedia.com.br/introducao-a-requisitos-de-software/29580

http://www.devmedia.com.br/artigo-engenharia-de-software-introducao-a-engenharia-de-requisitos/8034

http://www.devmedia.com.br/engenharia-de-software-2-tecnicas-para-levantamento-de-requisitos/9151