aula 04 - engenharia de requisitos

17
Aula 04 - Engenharia de Requisitos Marcos Devaner Desenvolvimento de Sistema

Upload: marcos-devaner

Post on 19-Mar-2017

123 views

Category:

Education


3 download

TRANSCRIPT

Page 1: Aula 04 - Engenharia de requisitos

Aula 04 - Engenharia de Requisitos

Marcos DevanerDesenvolvimento de Sistemas I

Page 2: Aula 04 - Engenharia de requisitos

Requisitos de SoftwareAssumiu-se que requisitos de software é muito mais do que apenas funções. Requisitos são, além de funções, objetivos, propriedades, restrições que o sistema deve possuir para satisfazer contratos, padrões ou especificações de acordo com o(s) usuário(s). De forma mais geral um requisito é uma condição necessária para satisfazer um objetivo.Fonte: Introdução a Requisitos de Software - DevMedia

Característica

s

Page 3: Aula 04 - Engenharia de requisitos

Tipos de

requisitos

Requisitos de sistemaUm documento estruturado estabelecendo descrições detalhadas das funções do sistema, serviços e restrições operacionais. Define o que deve ser implementado assim, pode ser parte de um contrato entre o cliente e o empreiteiro.

Requisitos de usuárioDeclarações em linguagem natural com diagramas dos serviços que o sistema deverá fornecer e suas restrições operacionais. Escrito para os clientes.

Page 4: Aula 04 - Engenharia de requisitos

Requisitos FuncionaisDescrevem funcionalidades ou serviços que o sistema deve fornecer, como o sistema ira a reagir a entradas particulares e como ira a se comportar em determinadas situações.

Exemplos:1.O usuário deve ser capaz de efetuar consultas sobre todo o conjunto inicial de banco de dados ou selecionar um subconjunto deste.

2.O sistema deve fornecer visualizadores apropriados para o usuário ler documentos no arquivo de documentos.

3.Cada pedido deve possuir um identificador único (NUM_PEDIDO), que o usuário deve ser capaz de copiar para a área de armazenamento permanente de contas.

Page 5: Aula 04 - Engenharia de requisitos

Requisitos Não-FuncionaisRestrições sobre os serviços ou funções oferecidos pelo sistema tais como restrições temporais, sobre o processo de desenvolvimento, padrões, etc.

Requisitos de ProdutoRequisitos que especificam como o produto deve se comportar; e.g. velocidade de execução, confiabilidade, etc.

Requisitos OrganizacionaisRequisitos que são consequência de políticas organizacionais e.g. padrões de processo usados, requisitos de implementação, etc.

Requisitos ExternosRequisitos levantados a partir de fatores externos ao sistema e ao processo de desenvolvimento e.g. requisitos de interoperabilidade, requisitos legislativos, etc.

Classificação

Page 6: Aula 04 - Engenharia de requisitos

Requisitos de DomínioOs requisitos de domínio são derivados do domínio da aplicação do sistema que podem ser novos requisitos funcionais em si, podem restringir os requisitos funcionais existentes ou estabelecer como devem ser executados cálculos específicos. Muitas vezes esses requisitos refletem fundamentos do domínio da aplicação (SOMMERVILLE, 2008). Sem uma compreensão satisfatória desses requisitos pode ser impossível fazer o sistema operar de forma satisfatória (PRESSMAN, 2006).

Um exemplo de requisito de domínio: é necessário consultar a legislação (do domínio da aplicação, ex: CVM) para efetuar corretamente os cálculos das taxas. Essa legislação pode, inclusive, gerar novos requisitos funcionais (não previstos pelo cliente) ou restringir requisitos já solicitados.

Page 7: Aula 04 - Engenharia de requisitos

Origens dos requisitos

Ambiente físico Interfaces Usuários e fatores

humanos Funcionalidade Documentação Dados Recursos Segurança Garantia da qualidade

Page 8: Aula 04 - Engenharia de requisitos

Levantamento de requisitos Reúne as atividades que visam a obter o enunciado completo,

claro e preciso dos requisitos de um produto de software.

Page 9: Aula 04 - Engenharia de requisitos

Técnicas para Levantamento de Requisitos Entrevista Observação Demonstração de tarefa Estudo de Documentos Substituir o Usuário (Role playing) Questionário Brainstorming e Brainwriting Prototipação Estudo de Empresas Similares Workshops ou Oficinas de Requisitos

Page 10: Aula 04 - Engenharia de requisitos

• Os stakeholders não sabem o que realmente querem.• Os stakeholders expressam requisitos em seus próprios termos.• Diferentes stakeholders podem ter requisitos conflitantes.• Fatores políticos e organizacionais podem influenciar os requisitos

de sistema.• Os requisitos mudam durante o processo de análise. Novos

stakeholders podem surgir e o ambiente de negócios pode mudar.

Problemas de análise de requisitos

Page 11: Aula 04 - Engenharia de requisitos

Documento de requisitos• O documento de requisitos de software é a declaração oficial do que é

demandado dos desenvolvedores do sistema.• Deve incluir ambas, uma definição de requisitos do usuário e uma

especificação de requisitos do sistema.• NÃO é um documento de projeto. Na medida do possível, deve definir O

QUE o sistema deve fazer ao invés de COMO deve fazê-lo.

Guia para escrever requisitos:

•Estabelecer um formato padrão a ser usado para todos os requisitos.•Uso da linguagem de uma forma consistente para estabelecer os requisitos mandatários e os desejáveis•Identificar os trechos chave dos requisitos•Evitar uso de jargão computacional

Page 12: Aula 04 - Engenharia de requisitos

Usuários do Documento de Requisitos

Cliente

Gerente

Usa os requisitos para entender como o sistema é desenvolvido

Usa o documento de requisitos para planificar o sistema e seu processo de desenvolvimento

Especifica os requisitos e os lê parachecar que casam suas necessidades. Estes especificam mudanças nos requisitos

Engenheiro deSistemas

Engenheiro de Teste

Engenheiro de Manutenção

Usa os requisitos para desenvolver testes de validação para o sistema

Usa os requisitos para ajudar a entender o sistemae os relacionamentos entre as partes

Page 13: Aula 04 - Engenharia de requisitos

02/05/23

Modalidades para Especificações

Notação Descrição Linguagem Natural Flexível mas ambígua. Linguagem Natural Estruturado

Definição de formato padrão ou templates.

Linguagem de descrição de projeto

Usa uma linguagem do tipo de programação com propriedades mais abstratas definindo um modelo operacional do sistema.

Notações gráficas Linguagem gráfica. Ex.: descrições de use-case.

Especificações matemáticas

Baseada em conceitos matemáticos tais como maquinas de estados finitos e conjuntos. Não admite ambiguidades, mas difíceis de entender pelos clientes.

Page 14: Aula 04 - Engenharia de requisitos

Especificação em linguagem natural

Page 15: Aula 04 - Engenharia de requisitos

Especificação estruturada

Page 16: Aula 04 - Engenharia de requisitos

Especificação tabular

Page 17: Aula 04 - Engenharia de requisitos

AtividadeTarefa 1 Tarefa 2

• Realizar matricula• Realizar transferência bancária• Agendar consulta médica

Escolha um dos requisitos aplique à ele as tarefas 1 e 2.