SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Requisitos de Software
Referência Bibliográfica
s   HOOKS, Ivy. Writing Good Requirements. A Requirements Working Group
    Information Report. Publicado no Third International Symposium of the
    INCOSE – Volume 2, 1993. URL: http://www.incose.org/rwg/writing.html.
s   KAR, Pradip ; BAILEY, Michelle. Characteristics of Good Requirements.
    Publicado no Simpósio INCOSE, 1996. URL:
    http://www.incose.org/rwg/writing.html.
O que é um requisito?
   Um requisito pode variar desde uma sentença, em alto
    nível, indicando um serviço ou uma restrição de um
    sistema até uma especificação matemática detalhada.
   Os requisitos podem servir para uma dupla função:
    – Pode ser a base para a formulação de uma proposta a um
      contrato (lado do proponente).
    – Pode ser a base do contrato propriamente dito (lado do
      contratante)
Definições
“Something required; something wanted or needed”.
            Webster’s Ninth New Colegiate Dictionary


(1) “A condition or capability that must be met or processed by
   a system (...) to satisfy a contract, standard, specification, or
   other formally imposed document”.
(2) “A condition or capability needed by a user to solve or
   achieve an objective”.
                                           IEEE 729
(3) “Uma sentença que identifica uma capacidade,
   característica física, ou fator de qualidade que limita um
   produto ou necessidade de processo para as quais uma
   solução será proposta” IEEE Std 1220-1994.
Segundo Miranda (2002 apud SANTOS, 2007, p.12)

s   50% dos principais problemas/defeitos de software são
    oriundos da fase de especificação de requisitos;

s   12% das principais causas de fracassos em projetos
    são oriundos de requisitos incompletos;

s   12% das principais causas de sucessos em projetos
    são oriundos de requisitos consistentes.
Quando a fase de requisitos de Software inicia ?
                                                                                      D efinição de
                                                                                      R equisitos de
                                                                                      Teste de
                                                                                      Hardware




                                                                     D efinição de
                                                                                       P rojeto de
                                                                     R equisitos de
                                                                                       Hardware
                                                                     Hardware
Contratante


  R equis ição                         Definição de                                   R equis itos de
                                                        Projeto de
       do                 C ontrato   R equis itos de                                 Integ ração de
                                                         S is tema
    S erviço                             S is tema                                    S is tema




                                                                     D efinição de
                                                                                        P rojeto de
                                                                     R equisitos de
                                                                                        S oftware
                                                                     S oftware
                 Oferta



                                                                                      D efinição de
                                                                                      R equisitos de
                                                                                      Teste de
                                                                                      S oftware
Escopo de uma definição de requisitos
Tipos de Requisitos

 s   Requisitos do Usuário
     – Texto em liguagem natural, diagramas do sistema e suas
       restrições operacionais. Escritos para o cliente.
 s   Requisitos do Sistema
     – Documento estruturado apresentando uma descrição detalhada
       dos serviços que o sistema deve oferecer. Escrito como um
       contrato entre o cliente e o contratado.
 s   Requisitos de Software
     – Descrição detalhada do software que serve como base para o
       projeto e implementação.
Tipos de Requisitos
• Requisitos Funcionais
  • Especificação dos serviços que o sistema deve prover,
    como o sistema deve reagir a certos inputs, como
    deveria ser o comportamento do sistema em certas
    situações
  • Deve determinar o que se espera que o software faça,
    sem a preocupação de como ele faz.
  • Exemplos:
     • “O software deve possibilitar o cálculo dos gastos diários, semanais,
       mensais e anuais com pessoal”.
     • “O software deve emitir relatórios de compras”
     • “Os usuários devem poder obter o número de aprovações,
       reprovações e trancamentos em todas as disciplinas”
Requisitos Funcionais

 s   Descrevem as funcionalidade e serviços que o
     sistema deve oferecer.
 s   Dependem do tipo do software, potenciais
     usuários e do tipo de sistema onde o software
     será utilizado.
 s   Requisitos funcionais do usuário podem ser de
     alto nível, porém os requisitos funcionais do
     sistema devem ser especificados em detalhes.
Tipos de Requisitos
•Requisitos não-funcionais
  • Restrições aos serviços ou funções oferecidas pelo
    sistema tais como restrições de tempo, restrições quanto
    ao processo de desenvolvimento, padrões.
  • Qualidades globais de um software, como
    manutenibilidade, usabilidade, desempenho, custos
  • Exemplos:
     •“O tempo de resposta do sistema deve ser inferior a 30 segundos”
     •“O tempo de desenvolvimento não deve ultrapassar seis meses”
     •“O software deve ser operacionalizado no sistema específico”.
Requisitos Não-Funcionais

s   Definem as propriedades do sistema e suas restrições, isto
    é, confiabilidade, tempo de resposta. Restrições podem
    ser capacidade de dispositivos de I/O, representações
    gráficas, etc.
s   Requisitos de processo podem ser também especificados
    baseados em uma ferramenta CASE, liguagem de
    programação ou método de desenvolvimento.
s   Requisitos Não-Funcionais podem ser mais críticos do que
    os Funcionais. Se estes não são atendidos o sistema
    pode perder sua utilidade.
Requisitos de Domínio

s   Derivados a partir do domínio da aplicação.
s   Descrevem as características do sistema refletindo o
    domínio.
s   Podem ser novos requisitos funcionais, restrições ou
    definir computações específicas.
Fases

 s   A definição de requisitos pode ser encarada
     como constituída por três atividades:
      – Levantamento (Elicitação)

     – Especificação

     – Modelagem

     – Validação
Levantamento

                                       Levantamento
                                                                       FAZ
                       FAZ
                                                                 FAZ
                             US A
C oleta de Dados                                                                    Identif. de fontes
                                    US A
                                                          US A
                                                                                    de informação

                                           DE PENDE
                                              PE NDE
                                               DE
           Pes s oal                                                         C omunicação



                       Métodos                                   Ferramentas


                                       Pontos de Vis ta
Especificação

                               Es pecificação

                                                      FAZ
                     FAZ

                           FAZ
                                                FAZ


                                 IDE NTIFIC A
    Identificação                                                 Validação



                Org anização                           R edação

                                 R equis itos
                                 Derivados
Modelagem


                                 Modelag em

                                                        US A
                    US A

                           E S C OLHE
                                                  FAZ


                                        FAZ
   Ferramentas                                                 B as e do Projeto



                 Modelos                                Validação

                                R epres entação
                                    G ráfica
Escrevendo Bons Requisitos
 s   Um bom requisito especifica de maneira Clara algo que é
     Necessário, Verificável e Atingível.
     Necessário                  Atingível
      – Claro. Cada requisito deve expressar um único
       pensamento, ser conciso e simples. Isso é importante para
       que o requisito não seja mal interpretado. Deve ser fácil de
       se ler e entender.
     – Necessário. Se existe alguma dúvida sobre a
       Necessário
       necessidade de um requisito, então pergunte: Qual é a pior
       coisa que pode acontecer se este requisito não for
       incluído? Se você não encontrar uma resposta de algum
       tipo de conseqüência, então você provavelmente não
       necessita do requisito.
Escrevendo Bons Requisitos
 – Verificável. Da mesma maneira que você escreve um
   Verificável
   requisito, determine como você irá verificá-lo. Para ser
   verificável, o requisito deve conter algo que possa ser
   verificado através de exames, análise, teste ou
   demonstração. Requisitos subjetivos ou com palavras
   subjetivas como “fácil”, “amigável”, não são verificáveis.
   Determine o critério para aceitação. Este passo irá
   ajudar a garantir que o requisito é verificável.
 – Atingível (realizável ou possível). Para ser atingível,
                              possível)
   o requisito precisa ser tecnicamente realizável e
   delimitado por um orçamento, prazos e outras
   restrições.
Escrevendo Bons Requisitos –
       Outras características

– Livre de Implementação. As especificações
            Implementação
  devem refletir O QUE e não COMO o
  requisito deve ser satisfeito. O requisito não
  deve refletir o projeto, implementação ou
  descrever uma operação. Requisitos de
  Interface são exceções.
Problemas Comuns
s   A seguir são apresentados os problemas mais
    comuns na redação de requisitos
    – Considerações equivocadas
    – Redigir implementações (COMO) ao invés de requisitos
      (O QUE)
    – Descrever operações ao invés de requisitos
    – Uso de termos incorretos
    – Uso de sentenças confusas
    – Omissão
    – Super especificação
Problemas Comuns: Redigir implementações ...
s   As especificações deveriam estabelecer O QUE é
    necessário, não COMO a necessidade será atendida.
s   Existem nesse caso dois potenciais perigos:
     – Forçar prematuramente uma condição projeto quando não
       deveria ser essa a intenção.
     – Levar a sensação de que todos os requisitos foram
       cobertos.
s   Apesar de aparentemente claro o conceito, a separação do
    O QUE do COMO pode ser difícil especialmente quando se
    está falando de diferentes níveis de requisitos.
Problemas Comuns: Descrever operações ao ...
 s   Veja o exemplo abaixo:
      – Ao abrir o menu de relatórios, o usuário poderá
        selecionar o relatório desejado através da tecla
        ENTER.

 s   O requisito real seria:
     – O sistema deve apresentar ao usuário, quando
        requerido, os relatórios disponíveis para a seleção.
Problemas Comuns: Uso de termos incorretos
s   Para especificar um requisito devem ser escritas frases
    imperativas, utilizando-se de palavras tais como:
     – Português: Deve, Precisa
     – Inglês: Shall, Must e Will (Should)
s   Usar preferencialmente frases na afirmativa e não na
    negativa.
s   Evitar as palavras:
     – Suporte, adequado, como um mínimo, como aplicável,
       fácil, como apropriado, mas não limitado a, efetivo,
       prático, etc, e/ou, user friendly, rápido, suficiente.
Problemas Comuns: Uso de sentenças confusas

s   Os requisitos deveriam ser fáceis de ler e entender. Cada
    requisito pode ser usualmente escrito no formato:
     – O sistema deve prover ...
     – O sistema deve realizar ...
     – O sistema deve possuir ...
s   Existem duas situações que devem ser evitadas nesse
    caso: A armadilha do sujeito e textos mal redigidos.
Problemas Comuns: Omissão

s   A omissão de itens em uma especificação pode ser
    minimizada através do uso de padrões tais como:
     – IEEE Std 830-1993 - Recommended Practices for
       Software Requirements Specification
     – DOD MIL-STD-490A - Specification Practices
     – ECSS-E-10-05A – Space Engineering – Functional
       Analysis
s   Outra técnica utilizada é o uso de check-lists.

Mais conteúdo relacionado

Mais procurados

Modelagem De Banco De Dados
Modelagem De Banco De DadosModelagem De Banco De Dados
Modelagem De Banco De Dadosmgoberto
 
Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no WindowsFee Kosta
 
DATAWAREHOUSE
DATAWAREHOUSEDATAWAREHOUSE
DATAWAREHOUSEnestor
 
Sistemas Distribuídos - Comunicação Distribuída - RMI
Sistemas Distribuídos - Comunicação Distribuída - RMISistemas Distribuídos - Comunicação Distribuída - RMI
Sistemas Distribuídos - Comunicação Distribuída - RMIAdriano Teixeira de Souza
 
Sistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de DadosSistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de DadosClara Ferreira
 
Comfiguração completa do setup
Comfiguração completa do setupComfiguração completa do setup
Comfiguração completa do setupHebert3
 
Introdução à Sistemas de Informação
Introdução à Sistemas de InformaçãoIntrodução à Sistemas de Informação
Introdução à Sistemas de InformaçãoÁlvaro Farias Pinheiro
 
Aula 3 barramentos de placa mae
Aula 3 barramentos de placa maeAula 3 barramentos de placa mae
Aula 3 barramentos de placa maeMarcos Basilio
 
3.2 manejadores de bases de datos
3.2 manejadores de bases de datos3.2 manejadores de bases de datos
3.2 manejadores de bases de datosisraelmillan8
 
Unidad 2: Sistema de nombres de dominio (DNS)
Unidad 2: Sistema de nombres de dominio (DNS)Unidad 2: Sistema de nombres de dominio (DNS)
Unidad 2: Sistema de nombres de dominio (DNS)carmenrico14
 
Sistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosSistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosGuillermo Chirinos
 
Sistemas Operativos Servidores
Sistemas Operativos ServidoresSistemas Operativos Servidores
Sistemas Operativos ServidoresAlexandre Maia
 
Sistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de DatosSistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de Datosalexmerono
 
Sistema de Archivos Distribuidos
Sistema de Archivos DistribuidosSistema de Archivos Distribuidos
Sistema de Archivos DistribuidosRene Guaman-Quinche
 
SI - SAD - Sistemas de Arquivos Distribuídos
SI - SAD  - Sistemas de Arquivos DistribuídosSI - SAD  - Sistemas de Arquivos Distribuídos
SI - SAD - Sistemas de Arquivos DistribuídosFrederico Madeira
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaAdriano Teixeira de Souza
 

Mais procurados (20)

Modelagem De Banco De Dados
Modelagem De Banco De DadosModelagem De Banco De Dados
Modelagem De Banco De Dados
 
Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no Windows
 
DATAWAREHOUSE
DATAWAREHOUSEDATAWAREHOUSE
DATAWAREHOUSE
 
Sistemas Distribuídos - Comunicação Distribuída - RMI
Sistemas Distribuídos - Comunicação Distribuída - RMISistemas Distribuídos - Comunicação Distribuída - RMI
Sistemas Distribuídos - Comunicação Distribuída - RMI
 
Aula 10 semana
Aula 10 semanaAula 10 semana
Aula 10 semana
 
Sistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de DadosSistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de Dados
 
Comfiguração completa do setup
Comfiguração completa do setupComfiguração completa do setup
Comfiguração completa do setup
 
TCP/IP
TCP/IPTCP/IP
TCP/IP
 
Introdução à Sistemas de Informação
Introdução à Sistemas de InformaçãoIntrodução à Sistemas de Informação
Introdução à Sistemas de Informação
 
Aula 3 barramentos de placa mae
Aula 3 barramentos de placa maeAula 3 barramentos de placa mae
Aula 3 barramentos de placa mae
 
3.2 manejadores de bases de datos
3.2 manejadores de bases de datos3.2 manejadores de bases de datos
3.2 manejadores de bases de datos
 
Unidad 2: Sistema de nombres de dominio (DNS)
Unidad 2: Sistema de nombres de dominio (DNS)Unidad 2: Sistema de nombres de dominio (DNS)
Unidad 2: Sistema de nombres de dominio (DNS)
 
Sistema De Gestión De Base De Datos
Sistema De Gestión De Base De DatosSistema De Gestión De Base De Datos
Sistema De Gestión De Base De Datos
 
Computo en paralelo con OpenMP y OpenMPI
Computo en paralelo con OpenMP y OpenMPIComputo en paralelo con OpenMP y OpenMPI
Computo en paralelo con OpenMP y OpenMPI
 
Sistemas Operativos Servidores
Sistemas Operativos ServidoresSistemas Operativos Servidores
Sistemas Operativos Servidores
 
Sistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de DatosSistemas Gestores de Bases de Datos
Sistemas Gestores de Bases de Datos
 
Sistema de Archivos Distribuidos
Sistema de Archivos DistribuidosSistema de Archivos Distribuidos
Sistema de Archivos Distribuidos
 
SI - SAD - Sistemas de Arquivos Distribuídos
SI - SAD  - Sistemas de Arquivos DistribuídosSI - SAD  - Sistemas de Arquivos Distribuídos
SI - SAD - Sistemas de Arquivos Distribuídos
 
Banco De Dados
Banco De DadosBanco De Dados
Banco De Dados
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e Paralela
 

Destaque

Especificação de requisitos
Especificação de requisitosEspecificação de requisitos
Especificação de requisitosFernando Palma
 
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Rosanete Grassiani dos Santos
 
técnicas de análise de requisitos
técnicas de análise de requisitostécnicas de análise de requisitos
técnicas de análise de requisitosKatia Speck
 
Análise de Riscos - Estratégia infalível no projeto de testes de software
Análise de Riscos - Estratégia infalível no projeto de testes de softwareAnálise de Riscos - Estratégia infalível no projeto de testes de software
Análise de Riscos - Estratégia infalível no projeto de testes de softwareGabi Linhares
 
Simulados Av1 e Av2 COMPETÊNCIA Gerencial
Simulados Av1 e Av2 COMPETÊNCIA Gerencial Simulados Av1 e Av2 COMPETÊNCIA Gerencial
Simulados Av1 e Av2 COMPETÊNCIA Gerencial Sampaio Rurik
 
Cinema levantamento de requisitos 42756538
Cinema levantamento de requisitos   42756538Cinema levantamento de requisitos   42756538
Cinema levantamento de requisitos 42756538Alex Sampaio
 
Introdução à Engenharia de Requisitos e RUP
Introdução à Engenharia de Requisitos e RUPIntrodução à Engenharia de Requisitos e RUP
Introdução à Engenharia de Requisitos e RUPVagner Santana
 
Exemplo especificacaoderequisitos(locadora)
Exemplo especificacaoderequisitos(locadora)Exemplo especificacaoderequisitos(locadora)
Exemplo especificacaoderequisitos(locadora)Bruno Santana
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de SoftwareRalph Rassweiler
 
Engenharia de software 7° edição roger s.pressman capítulo 14
Engenharia de software 7° edição roger s.pressman capítulo 14Engenharia de software 7° edição roger s.pressman capítulo 14
Engenharia de software 7° edição roger s.pressman capítulo 14Lindomar ...
 
Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2Fernando Palma
 

Destaque (20)

Definição e classificação dos requisitos
Definição e classificação dos requisitosDefinição e classificação dos requisitos
Definição e classificação dos requisitos
 
Especificação de requisitos
Especificação de requisitosEspecificação de requisitos
Especificação de requisitos
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
 
Requisitos de software
Requisitos de softwareRequisitos de software
Requisitos de software
 
técnicas de análise de requisitos
técnicas de análise de requisitostécnicas de análise de requisitos
técnicas de análise de requisitos
 
Roteiro DSI
Roteiro DSIRoteiro DSI
Roteiro DSI
 
Shannon weaver fernando_ilharco
Shannon weaver fernando_ilharcoShannon weaver fernando_ilharco
Shannon weaver fernando_ilharco
 
Análise de Riscos - Estratégia infalível no projeto de testes de software
Análise de Riscos - Estratégia infalível no projeto de testes de softwareAnálise de Riscos - Estratégia infalível no projeto de testes de software
Análise de Riscos - Estratégia infalível no projeto de testes de software
 
Simulados Av1 e Av2 COMPETÊNCIA Gerencial
Simulados Av1 e Av2 COMPETÊNCIA Gerencial Simulados Av1 e Av2 COMPETÊNCIA Gerencial
Simulados Av1 e Av2 COMPETÊNCIA Gerencial
 
Cinema levantamento de requisitos 42756538
Cinema levantamento de requisitos   42756538Cinema levantamento de requisitos   42756538
Cinema levantamento de requisitos 42756538
 
Introdução à Engenharia de Requisitos e RUP
Introdução à Engenharia de Requisitos e RUPIntrodução à Engenharia de Requisitos e RUP
Introdução à Engenharia de Requisitos e RUP
 
Exemplo especificacaoderequisitos(locadora)
Exemplo especificacaoderequisitos(locadora)Exemplo especificacaoderequisitos(locadora)
Exemplo especificacaoderequisitos(locadora)
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de Software
 
Engenharia de software 7° edição roger s.pressman capítulo 14
Engenharia de software 7° edição roger s.pressman capítulo 14Engenharia de software 7° edição roger s.pressman capítulo 14
Engenharia de software 7° edição roger s.pressman capítulo 14
 
Gerência de Requisitos
Gerência de RequisitosGerência de Requisitos
Gerência de Requisitos
 
Exemplos de User Stories
Exemplos de User StoriesExemplos de User Stories
Exemplos de User Stories
 
Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2Validação e Testes de Software - MOD2
Validação e Testes de Software - MOD2
 
Requisitos Ágeis
Requisitos ÁgeisRequisitos Ágeis
Requisitos Ágeis
 
Principais diagramas da UML
Principais diagramas da UMLPrincipais diagramas da UML
Principais diagramas da UML
 

Mais de Robson Silva Espig (20)

Master Place - Convenção Bloco D
Master Place - Convenção Bloco DMaster Place - Convenção Bloco D
Master Place - Convenção Bloco D
 
Aquarelas Envelhecidas
Aquarelas EnvelhecidasAquarelas Envelhecidas
Aquarelas Envelhecidas
 
[ reference ] Processos - PMBOK
[ reference ] Processos - PMBOK[ reference ] Processos - PMBOK
[ reference ] Processos - PMBOK
 
[ ref ] Convergência - Mobilidade
[ ref ] Convergência - Mobilidade[ ref ] Convergência - Mobilidade
[ ref ] Convergência - Mobilidade
 
[ ref ] Normalizing a Data Model in SQL Server
[ ref ] Normalizing a Data Model in SQL Server[ ref ] Normalizing a Data Model in SQL Server
[ ref ] Normalizing a Data Model in SQL Server
 
A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de Software
 
Como implementar uma plataforma de ILM com eficiência, reduzindo custos
Como implementar uma plataforma de ILM com eficiência, reduzindo custosComo implementar uma plataforma de ILM com eficiência, reduzindo custos
Como implementar uma plataforma de ILM com eficiência, reduzindo custos
 
Gestao Projetos - Aula 02
Gestao Projetos - Aula 02Gestao Projetos - Aula 02
Gestao Projetos - Aula 02
 
Gestao Projetos - Aula 01
Gestao Projetos - Aula 01Gestao Projetos - Aula 01
Gestao Projetos - Aula 01
 
Aula 01
Aula 01Aula 01
Aula 01
 
Aula 05
Aula 05Aula 05
Aula 05
 
Aula 04
Aula 04Aula 04
Aula 04
 
Aula 02
Aula 02Aula 02
Aula 02
 
Caso de Desenvolvimento
Caso de DesenvolvimentoCaso de Desenvolvimento
Caso de Desenvolvimento
 
SOA
SOASOA
SOA
 
Aula 03
Aula 03Aula 03
Aula 03
 
Artigo Caso de Uso
Artigo Caso de UsoArtigo Caso de Uso
Artigo Caso de Uso
 
RAD
RADRAD
RAD
 
Analise de Requisitos de Software
Analise de Requisitos de SoftwareAnalise de Requisitos de Software
Analise de Requisitos de Software
 
Desenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e IncrementalDesenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e Incremental
 

Requisitos de Software

  • 2. Referência Bibliográfica s HOOKS, Ivy. Writing Good Requirements. A Requirements Working Group Information Report. Publicado no Third International Symposium of the INCOSE – Volume 2, 1993. URL: http://www.incose.org/rwg/writing.html. s KAR, Pradip ; BAILEY, Michelle. Characteristics of Good Requirements. Publicado no Simpósio INCOSE, 1996. URL: http://www.incose.org/rwg/writing.html.
  • 3. O que é um requisito?  Um requisito pode variar desde uma sentença, em alto nível, indicando um serviço ou uma restrição de um sistema até uma especificação matemática detalhada.  Os requisitos podem servir para uma dupla função: – Pode ser a base para a formulação de uma proposta a um contrato (lado do proponente). – Pode ser a base do contrato propriamente dito (lado do contratante)
  • 4. Definições “Something required; something wanted or needed”. Webster’s Ninth New Colegiate Dictionary (1) “A condition or capability that must be met or processed by a system (...) to satisfy a contract, standard, specification, or other formally imposed document”. (2) “A condition or capability needed by a user to solve or achieve an objective”. IEEE 729 (3) “Uma sentença que identifica uma capacidade, característica física, ou fator de qualidade que limita um produto ou necessidade de processo para as quais uma solução será proposta” IEEE Std 1220-1994.
  • 5. Segundo Miranda (2002 apud SANTOS, 2007, p.12) s 50% dos principais problemas/defeitos de software são oriundos da fase de especificação de requisitos; s 12% das principais causas de fracassos em projetos são oriundos de requisitos incompletos; s 12% das principais causas de sucessos em projetos são oriundos de requisitos consistentes.
  • 6. Quando a fase de requisitos de Software inicia ? D efinição de R equisitos de Teste de Hardware D efinição de P rojeto de R equisitos de Hardware Hardware Contratante R equis ição Definição de R equis itos de Projeto de do C ontrato R equis itos de Integ ração de S is tema S erviço S is tema S is tema D efinição de P rojeto de R equisitos de S oftware S oftware Oferta D efinição de R equisitos de Teste de S oftware
  • 7. Escopo de uma definição de requisitos
  • 8. Tipos de Requisitos s Requisitos do Usuário – Texto em liguagem natural, diagramas do sistema e suas restrições operacionais. Escritos para o cliente. s Requisitos do Sistema – Documento estruturado apresentando uma descrição detalhada dos serviços que o sistema deve oferecer. Escrito como um contrato entre o cliente e o contratado. s Requisitos de Software – Descrição detalhada do software que serve como base para o projeto e implementação.
  • 9. Tipos de Requisitos • Requisitos Funcionais • Especificação dos serviços que o sistema deve prover, como o sistema deve reagir a certos inputs, como deveria ser o comportamento do sistema em certas situações • Deve determinar o que se espera que o software faça, sem a preocupação de como ele faz. • Exemplos: • “O software deve possibilitar o cálculo dos gastos diários, semanais, mensais e anuais com pessoal”. • “O software deve emitir relatórios de compras” • “Os usuários devem poder obter o número de aprovações, reprovações e trancamentos em todas as disciplinas”
  • 10. Requisitos Funcionais s Descrevem as funcionalidade e serviços que o sistema deve oferecer. s Dependem do tipo do software, potenciais usuários e do tipo de sistema onde o software será utilizado. s Requisitos funcionais do usuário podem ser de alto nível, porém os requisitos funcionais do sistema devem ser especificados em detalhes.
  • 11. Tipos de Requisitos •Requisitos não-funcionais • Restrições aos serviços ou funções oferecidas pelo sistema tais como restrições de tempo, restrições quanto ao processo de desenvolvimento, padrões. • Qualidades globais de um software, como manutenibilidade, usabilidade, desempenho, custos • Exemplos: •“O tempo de resposta do sistema deve ser inferior a 30 segundos” •“O tempo de desenvolvimento não deve ultrapassar seis meses” •“O software deve ser operacionalizado no sistema específico”.
  • 12. Requisitos Não-Funcionais s Definem as propriedades do sistema e suas restrições, isto é, confiabilidade, tempo de resposta. Restrições podem ser capacidade de dispositivos de I/O, representações gráficas, etc. s Requisitos de processo podem ser também especificados baseados em uma ferramenta CASE, liguagem de programação ou método de desenvolvimento. s Requisitos Não-Funcionais podem ser mais críticos do que os Funcionais. Se estes não são atendidos o sistema pode perder sua utilidade.
  • 13. Requisitos de Domínio s Derivados a partir do domínio da aplicação. s Descrevem as características do sistema refletindo o domínio. s Podem ser novos requisitos funcionais, restrições ou definir computações específicas.
  • 14. Fases s A definição de requisitos pode ser encarada como constituída por três atividades: – Levantamento (Elicitação) – Especificação – Modelagem – Validação
  • 15. Levantamento Levantamento FAZ FAZ FAZ US A C oleta de Dados Identif. de fontes US A US A de informação DE PENDE PE NDE DE Pes s oal C omunicação Métodos Ferramentas Pontos de Vis ta
  • 16. Especificação Es pecificação FAZ FAZ FAZ FAZ IDE NTIFIC A Identificação Validação Org anização R edação R equis itos Derivados
  • 17. Modelagem Modelag em US A US A E S C OLHE FAZ FAZ Ferramentas B as e do Projeto Modelos Validação R epres entação G ráfica
  • 18. Escrevendo Bons Requisitos s Um bom requisito especifica de maneira Clara algo que é Necessário, Verificável e Atingível. Necessário Atingível – Claro. Cada requisito deve expressar um único pensamento, ser conciso e simples. Isso é importante para que o requisito não seja mal interpretado. Deve ser fácil de se ler e entender. – Necessário. Se existe alguma dúvida sobre a Necessário necessidade de um requisito, então pergunte: Qual é a pior coisa que pode acontecer se este requisito não for incluído? Se você não encontrar uma resposta de algum tipo de conseqüência, então você provavelmente não necessita do requisito.
  • 19. Escrevendo Bons Requisitos – Verificável. Da mesma maneira que você escreve um Verificável requisito, determine como você irá verificá-lo. Para ser verificável, o requisito deve conter algo que possa ser verificado através de exames, análise, teste ou demonstração. Requisitos subjetivos ou com palavras subjetivas como “fácil”, “amigável”, não são verificáveis. Determine o critério para aceitação. Este passo irá ajudar a garantir que o requisito é verificável. – Atingível (realizável ou possível). Para ser atingível, possível) o requisito precisa ser tecnicamente realizável e delimitado por um orçamento, prazos e outras restrições.
  • 20. Escrevendo Bons Requisitos – Outras características – Livre de Implementação. As especificações Implementação devem refletir O QUE e não COMO o requisito deve ser satisfeito. O requisito não deve refletir o projeto, implementação ou descrever uma operação. Requisitos de Interface são exceções.
  • 21. Problemas Comuns s A seguir são apresentados os problemas mais comuns na redação de requisitos – Considerações equivocadas – Redigir implementações (COMO) ao invés de requisitos (O QUE) – Descrever operações ao invés de requisitos – Uso de termos incorretos – Uso de sentenças confusas – Omissão – Super especificação
  • 22. Problemas Comuns: Redigir implementações ... s As especificações deveriam estabelecer O QUE é necessário, não COMO a necessidade será atendida. s Existem nesse caso dois potenciais perigos: – Forçar prematuramente uma condição projeto quando não deveria ser essa a intenção. – Levar a sensação de que todos os requisitos foram cobertos. s Apesar de aparentemente claro o conceito, a separação do O QUE do COMO pode ser difícil especialmente quando se está falando de diferentes níveis de requisitos.
  • 23. Problemas Comuns: Descrever operações ao ... s Veja o exemplo abaixo: – Ao abrir o menu de relatórios, o usuário poderá selecionar o relatório desejado através da tecla ENTER. s O requisito real seria: – O sistema deve apresentar ao usuário, quando requerido, os relatórios disponíveis para a seleção.
  • 24. Problemas Comuns: Uso de termos incorretos s Para especificar um requisito devem ser escritas frases imperativas, utilizando-se de palavras tais como: – Português: Deve, Precisa – Inglês: Shall, Must e Will (Should) s Usar preferencialmente frases na afirmativa e não na negativa. s Evitar as palavras: – Suporte, adequado, como um mínimo, como aplicável, fácil, como apropriado, mas não limitado a, efetivo, prático, etc, e/ou, user friendly, rápido, suficiente.
  • 25. Problemas Comuns: Uso de sentenças confusas s Os requisitos deveriam ser fáceis de ler e entender. Cada requisito pode ser usualmente escrito no formato: – O sistema deve prover ... – O sistema deve realizar ... – O sistema deve possuir ... s Existem duas situações que devem ser evitadas nesse caso: A armadilha do sujeito e textos mal redigidos.
  • 26. Problemas Comuns: Omissão s A omissão de itens em uma especificação pode ser minimizada através do uso de padrões tais como: – IEEE Std 830-1993 - Recommended Practices for Software Requirements Specification – DOD MIL-STD-490A - Specification Practices – ECSS-E-10-05A – Space Engineering – Functional Analysis s Outra técnica utilizada é o uso de check-lists.