Aula 05 - Engenharia de Requisitos

download Aula 05 - Engenharia de Requisitos

of 30

Transcript of Aula 05 - Engenharia de Requisitos

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    1/30

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    2/30

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    3/30

    Engenharia de Software

    "A aplicação de uma abordagem sistem

    disciplinada e quantificável no desenvolv

    operação e manutenção do software".

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    4/30

    Engenharia de Software

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    5/30

    Engenharia de Software

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    6/30

    Engenharia de Software

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    7/30

    Engenharia de Software

    Fatores Críticos %

    1. Requisitos incompletos 13.1%

    2. Falta de envolvimento dos usuários 12.4%

    3. Falta de recursos 10.6%

    4. Expectativas irreais 9.9%

    5. Falta de apoio executivo 9.3%

    6. Mudança de requisitos e especificações 8.7%

    7. Falta de Planejamento 8.1%

    8. Sistema não mais necessário 7.5%

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    8/30

    O que são Requisitos??

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    9/30

    O que são Requisitos?

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    10/30

    • Um requisito é uma característica do sistema ou a

    descrição de algo que o sistema é capaz de realiza

    atingir os seus objetivos;

    • As descrições das funções e restrições são os req

    sistema;

    • Um requisito é uma propriedade que o software d

    para resolver algum problema no mundo real ;

    O que são Requisitos?

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    11/30

    ●  Requisitos de usuário 

    ○ Declarações de alto nível escritas em linguagem

    ○ Escritos para os clientes

    ● Requisitos de sistema

    ○ Um documento estruturado estabelecendo descr

    detalhadas das funções, serviços e restrições op

    do sistema

    ○ Define o que deve ser implementado e pode até

    de um contrato entre o cliente e o desenvolvedo

    Tipos de Requisitos?

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    12/30

    Requisitos de Sistema

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    13/30

    “O sistema deve rodar em microcomputadores da linha PC qu

    microprocessador Pentium ou superior”

    “A interface do sistema deve ser gráfica, de acordo com um p

    interface dirigida a menu”

    “Alternativamente, o sistema deve possibilitar o seu uso atrav

    de comando, para usuários avançados”

    “O gerente da padaria deve consultar quanto vendeu em um d

    Exemplos de Requisitos de Sistema

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    14/30

    ● Requisitos funcionais

    ○ Serviços que o sistema deve fornecer 

    ○ Como o sistema deve reagir a entradas específicas○ Como o sistema deve se comportar em determinadas

    ● Exemplos:

    ○ O software deve permitir o cadastro de clientes.

    ○ O software deve permitir a geração de relatórios sobr

    desempenho de vendas no semestre.

    ○ O software deve permitir o pagamento das compras a

    cartão de crédito.

    Requisitos de Sistema: Funcionais e Não-f

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    15/30

    ● Requisitos não-funcionais ou de qualidade

    ○ Restrições sobre serviços ou funções oferecidos pelo

    como restrições de tempo de resposta, restrições sob

    processo de desenvolvimento, padrões, etc.

    ○   Exemplos:

    • O software deve ser compatível com os browsers IE

    ou superior) e Firefox (1.0 ou superior);

    • O software deve garantir que o tempo de retorno da

    não seja maior do que 5 segundos.

    Requisitos de Sistema: Funcionais e Não-f

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    16/30

    ● Problemas surgem quando os requisitos não são precisam

    definidos

    ● Requisitos ambíguos podem ser interpretados de maneira

    pelos desenvolvedores e usuários

    ● Considere o termo ‘telas apropriadas’

    ○ Intenção do usuário – tela de propósito especial para

    diferente de documento○ Interpretação do desenvolvedor – fornece uma tela de

    mostra o conteúdo do documento

    Imprecisão de Requisitos

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    17/30

    ● Em princípio, requisitos devem ser completos e consisten

    ● Completude

    ○ Eles devem incluir descrições de todos os recursos re

    ● Consistência

    ○ Não deve haver conflitos ou contradições nas descriç

    recursos de sistema

    ○ Na prática, é impossível produzir um documento de r

    completo e consistente

    Requisitos completos e consistentes

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    18/30

    Requisitos completos e consistentes

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    19/30

    Requisitos completos e consistentes

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    20/30

    Requisitos completos e consistentes

    l b d

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    21/30

    Diretrizes para a elaboração de Requisito

    Di i l b ã d R i i

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    22/30

    Diretrizes para a elaboração de Requisito

    C ifi i it ?

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    23/30

    Linguagem natural estruturada:

    ● A abordagem estruturada emprega templates para registr

    gerenciar requisitos

    ● Nesta abordagem é preciso definir um ou mais formulário

    templates para expressar os requisitos.

    ● Vantagens

    ○ Uniformidade○ Possibilidade de agrupar requisitos

    ○ Possibilidade de rastrear os requisitos

    Como especificar requisitos?

    C ifi i it ?

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    24/30

    Itens importantes de um template:

    ● Descrição da necessidade atendida pelo requisito

    ● Descrição da função ou entidade que está sendo especifi

    ● Descrição de suas entradas e de onde elas se originam;

    ● Descrição de suas saídas e para onde elas prosseguirão

    ● Indicação de quais outras entidades são utilizadas

    ● Pré-Condição○ Condição que deve ser verdadeira para que seja exe

    ● Pós-Condição:

    ○ O estado resultante do sistema

    Como especificar requisitos?

    C ifi i it ?

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    25/30

    Itens importantes de um template:

    ● Pré-condições:

    ○ definem o que deve ser verdadeiro na estrutura da in

    armazenada para que a operação ou consulta possa

    executada algum mecanismo externo deverá garantir

    validade antes de habilitar a execução da operação o

    ao sistema● Pós-condições:

    ○ estabelecem o que uma operação de sistema muda n

    da informação armazenada estabelece a resposta ge

    sistema quando a operação é executada

    Como especificar requisitos?

    V it !

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    26/30

    Abordagem estruturada - Exemplo 1:

    ● Requisitos:

    ○ um novo cliente deve ser cadastrado em uma Video L

    ○ O cadastro do cliente contém nome, endereço e telef

    ● Pré-condição:

    ○ Não existe nenhum cliente com o nome informado

    ● Pós-condição:○ O cliente foi adicionado ao cadastro

    ○ Os dados informados sobre o cliente são atua

    atributos do cliente

    ○ O cliente é criado com o débito zerado

    Vamos exercitar!

    Vamos exercitar!

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    27/30

    Exemplo 2: Copiar/Colar 

    ● Descrição da necessidade:

    ○ O usuário necessita acrescentar um trecho em um documento que é cópi

    existente

    ● Descrição da função ou entidade:

    ○ Função Copiar/Colar: copiar uma parte de um documento em um editor de t

    ● Descrição de entradas e origem:

    ○ O usuário seleciona o trecho a copiar e posiciona o cursor no documento n

    cópia do trecho será inserida

    ● Descrição de saídas e destino

    ○ Texto duplicado na posição do cursor 

    ● Entidades envolvidas:

    ○ Documento, Usuário

    ● Pré-Condição:

    ○ O documento está aberto para edição

    ● Pós-Condição:○ O documento é alterado recebendo o trecho marcado ara có ia na osi ão

    Vamos exercitar!

    Vamos exercitar!

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    28/30

    Exemplo 2: Copiar/Colar 

    ● Descrição da necessidade:

    ○ O usuário necessita acrescentar um trecho em um documento que é cópi

    existente

    ● Descrição da função ou entidade:

    ○ Função Copiar/Colar: copiar uma parte de um documento em um editor de t

    ● Descrição de entradas e origem:

    ○ O usuário seleciona o trecho a copiar e posiciona o cursor no documento n

    cópia do trecho será inserida

    ● Descrição de saídas e destino

    ○ Texto duplicado na posição do cursor 

    ● Entidades envolvidas:

    ○ Documento, Usuário

    ● Pré-Condição:

    ○ O documento está aberto para edição

    ● Pós-Condição:○ O documento é alterado recebendo o trecho marcado ara có ia na osi ão

    Vamos exercitar!

    Vamos exercitar?

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    29/30

    Analise o seguinte cenário de um sistema de emissão de

    de trem.

    ● Um sistema automático de emissão de passagens vende passaOs usuários escolhem seu destino e apresentam um cartão de

    número de identificação pessoal. A passagem é emitida e o

    passagem é incluído em sua conta do cartão de crédito. Qua

    pressiona o botão para iniciar, uma tela de menu com os possív

    ativada, juntamente com uma mensagem para que o usuário

    destino. Uma vez selecionado um destino pede-se que os us

    seu cartão de crédito. A validade do cartão é checada e o u

    deve fornecer um número de identificação pessoal. Quando a

    crédito é validada, a passagem é emitida.

    Vamos exercitar?

    Vamos exercitar?

  • 8/17/2019 Aula 05 - Engenharia de Requisitos

    30/30

    ● Exercício 1: Verifique as ambiguidades ou omissões do sistema

    ● Exercício 2: Reescreva a descrição anterior usando a

    estruturada.

    ○ Descrição da necessidade

    ○ Descrição da função ou entidade○ Descrição de entradas e origem

    ○ Descrição de saídas e destino

    ○ Entidades envolvidas

    ○ Pré-Condição

    ○ Pós-Condição

    Vamos exercitar?