SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
FACCAMP - Engenharia de Software




               Análise de Requisitos de Software e de
                             Sistemas




                                   Profa Luciana Romani

                                                                                          1




                      Elementos de um sistema


                                            Procedimentos



                             Documentos                         Hardware


                                             SISTEMA


                          Banco de Dados                          Software



                                               Pessoas



                                                                                          2




                Engenharia de Software: Fase de Definição


                         Planejamento                        Análise de
         Funções de       do projeto        Revisão         Requisitos ou      Revisão
          Software
                          de Software                       Prototipação




                                             Protótipo


                         Plano de Projeto                             Especificação dos
                                                                         Requisitos




Profa. Luciana Romani                                                                         1
FACCAMP - Engenharia de Software




         Engenharia de Software: Fase de Desenvolvimento


           Projeto de
                                              Projeto                           Codificação     Revisão
          Arquitetura e       Revisão                           Revisão
                                           Procedimental
            de Dados




                              Protótipo


          Especificação                                      Especificação         Código-Fonte
           Preliminar                                         Detalhada            do Programa
           do Projeto                                         do Projeto




        Engenharia de Software: Fase de Verificação, Liberação e Manutenção



             Testes de
           Unidades, de                       Liberação e
                              Depuração                            Revisão       Manutenção     Revisão
           Integração e                       Distribuição
             validação




                              Programa
                             Operacional
                                                                             Código-Fonte     Documentação
         Plano de Teste,                            Documentação              modificado       modificada
        Procedimentos de                            para o Usuário
        teste e resultados
             de teste




                      Fase de Análise de Requisitos

                                    Engenharia de
                                     Sistemas de
                                     Computador            ANÁLISE DE
                                                           REQUISITOS

                                                                       Projeto de
                                                                       Software



                  n   processo de descoberta e refinamento
                          – ATORES: cliente e desenvolvedor
                          – PROBLEMA: grande propensão a mal entendidos

                  n   "atividade aparentemente simples torna-se complexa"

                                                                                                          6




Profa. Luciana Romani                                                                                         2
FACCAMP - Engenharia de Software




                                              Atividades de Análise:

                                               n     reconhecimento do problema

                                               n     avaliação do problema

                                               n     síntese da solução (modelagem)

                                               n     especificação dos requisitos do software
                                               n     revisão




                                                                                                                                                7




                                                                                  elementos alocados ao
                                                                                        software

                                                                           estabelecimento do alcance                       Plano de
                                                                           recursos, custo cronograma                  Desenvolvimento do
                                                                                                                            Software
                                                                     revisão             revisão
                                                                                      administrativa
                                                                                               aceitável
                                                                     não            os requisitos são            sim
         Fase de Análise de Requisitos




                                                                                      conhecidos?
                                                                                                        determinar domínio das informações
                                                      construir protótipo para
                                                                                                        e das funções, interfaces, restrições
                                                      estabelecer os requisitos
                                                                                                        de projeto e critérios de validação




                                                              revisão                    revisão                       Especificação dos
                                                                                         técnica                        Requisitos do
                                                                                             aceitável                     Software
                                              revisar e justificar
                                                                               revisão do plano de projeto      aceitável
                                              recursos, custos e
                                                                                       do software
                                              cronogramas



                                                                                  início da fase de
                                                                                  desenvolvimento




                                              Atividade 1:
                                              Reconhecimento do Problema
                              A meta é o reconhecimento dos elementos básicos do problema,
                              conforme percebidos pelo cliente.

                                                                                              Gerente do projeto




                                         clientes

                                                                                  analista
                                                                                                                            desenvolvedores



                                                    Plano de projeto
                                                                                   Espec. requisitos                 protótipo
                                                       de software
                                                                                     de software




Profa. Luciana Romani                                                                                                                               3
FACCAMP - Engenharia de Software




                Atividade 2:
                Avaliação do Problema e Síntese da Solução

            n   Avaliar os problemas na situação atual
            n   Para o novo sistema:
                 – definir e elaborar todas as funções do sistema
                 – identificar dados que o sistema produz e consome
                 – entender o comportamento do sistema
                 – estabelecer características de interface
                 – descobrir restrições do projeto

                                                                            10




                Atividade 2:
                Avaliação do Problema e Síntese da Solução
            n   Sintetizar uma ou mais soluções (dentro do alcance
                delineado no Plano de Projeto do Software)
                 – O processo de avaliação e síntese continua até que o
                   analista e o cliente concordem que o software pode ser
                   adequadamente especificado.
                 – É a maior área de esforço
            n   Modelagem
                 – Durante a atividade de avaliação e síntese devem ser
                   criados modelos do sistema para se compreender melhor
                   o fluxo de dados e de controle, o processamento funcional e
                   a operação comportamental, além do conteúdo da
                   informação.
                 – O modelo serve como fundamento para o projeto de
                   software e como base para a criação de sua especificação
                                                                            11




                Atividade 3
                Especificação de Requisitos
            n    descrição do fluxo e estrutura da informação
            n    refinamento detalhado de todas as funções
                 do software
            n    estabelecimento das características de
                 interface
            n    identificação das restrições de projeto
            n    especificação dos critérios de validação

                                                                            12




Profa. Luciana Romani                                                            4
FACCAMP - Engenharia de Software




             Atividade 4: Revisões

            n   Devem ser efetuadas revisões técnicas e
                revisões no Plano de Projeto de Software
                – as revisões são conduzidas pelo Cliente e pelo
                  Desenvolvedor
                – a base para a revisão são os documentos
                  produzidos na Especificação dos Requisitos
            n   O Plano de Projeto do Software deve ser
                revisto devido ao conhecimento adquirido
                durante a análise.

                                                                   13




             Características do Analista de Sistemas
            1)Capacidade para compreender conceitos
              abstratos, reorganizar esses conceitos em
              divisões lógicas e sintetizar "soluções"
              baseado em cada divisão.
            2)Capacidade de absorver fatos pertinentes a
              partir de fontes conflitantes ou confusas.
            4)Capacidade de se comunicar bem de forma
              escrita e verbal.
            5)Capacidade de "ver a floresta ao invés das
              árvores”
                                                                   14




             Áreas Problemas

            1. Aquisição da informação
                – que informação deve ser coletada e como ela
                  deve ser representada?
                – quem fornece as informações?
                – que técnicas e ferramentas estão disponíveis para
                  facilitar a coleta de informações?




                                                                   15




Profa. Luciana Romani                                                   5
FACCAMP - Engenharia de Software




                Áreas Problemas

            2. Tamanho do sistema
                 – como eliminar inconsistências na especificação de
                   grandes sistemas?
                 – é possível detectar omissões?
                 – pode um grande sistema ser efetivamente
                   particionado para que se torne intelectualmente
                   administrável?




                                                                     16




                Áreas Problemas

            3. Alterações
                 – como as alterações efetuadas em outros
                   elementos do software são coordenadas com os
                   requisitos do software?
                 – como se determina o impacto de uma alteração
                   em outras partes do software aparentemente não
                   relacionadas?
                 – como se corrige erros na especificação para que
                   não se gere efeitos colaterias?


                                                                     17




                Causas dos Problemas
            n   comunicação ineficiente
            n   técnicas e ferramentas inadequadas
            n   tendências de eliminar a tarefa de Especificação dos
                Requisitos
            n   falha de considerar alternativas antes que o
                software seja especificado




                                                                     18




Profa. Luciana Romani                                                     6
FACCAMP - Engenharia de Software




                Princípios de Análise (4)

            n   domínio de informação do problema →
                representado e compreendido (para que a
                função possa ser entendida +
                completamente)

            n   modelos que descrevam a informação, a
                função e o comportamento do sistema →
                desenvolvidos (para que a informação possa
                ser comunicada compactamente)

                                                                              19




                Princípios de Análise (4)
            n   modelos (e o problema) → particionados, de
                maneira que revele os detalhes em forma de
                camadas (ou hierarquicamente) (para reduzir a
                complexidade)
            n   processo de análise → mover-se da informação
                essencial para os detalhes de implementação
                (para acomodar as restrições lógicas impostas
                por requisitos de processamento e as restrições
                físicas impostas por outros elementos do
                sistema)

                                                                              20




                1. Princípio - Domínio da Informação
            n   Todo software é construído para processar dados e
                eventos.
            n   Os dados e itens de controle residem no domínio de
                informação de um problema.
            n   3 diferentes pontos de vista:
                 – Fluxo da Informação: maneira pela qual os dados e o
                   controle se modificam à medida que cada um se movimenta
                   pelo sistema
                 – Conteúdo da Informação: os dados e os itens de controle
                   individuais que compreendem certo item de informação mais
                   amplo.
                 – Estrutura da Informação: a organização interna de vários
                   itens de controle e de dados
                                                                              21




Profa. Luciana Romani                                                              7
FACCAMP - Engenharia de Software




                2. Princípio - Modelagem
         n   O modelo deve ser capaz de modelar a informação que o
             software transforma, as funções (ou subfunções) que
             possibilitam que as transformações ocorram e o comportamento
             do sistema quando a transformação está se desenvolvendo.
         n   Os modelos concentram-se naquilo que o sistema deve fazer,
             não em como ele faz.
         n   Papéis importantes do Modelo:
             – ajuda o analista a entender a informação, a função e o
               comportamento de um sistema, tornando a tarefa + fácil e
               sistemática.
             – torna-se o ponto focal para a revisão e, portanto, a chave para a
               determinação da completitude, consistência e precisão da
               especificação.
             – torna-se a base para o projeto, fornecendo ao projetista uma
               representação essencial do software, a qual pode ser "mapeada"
               num contexto de implementação.




                3. Princípio - Particionamento

               n   Os problemas freqüentemente são grandes
                   demais e muito complexos para serem
                   compreendidos como um todo.
               n   O particionamento divide o problema em
                   partes mais facilmente entendidas
               n   Através das interfaces estabelecidas entre as
                   partes, a função global do software pode ser
                   executada.


                                                                                                   23




                3. Princípio - Particionamento

               n   Particionamento Horizontal: decomposição
                   funcional do problema
               n   Particionamento Vertical: expõe detalhes
                   crescentes
                                                                        Particionamento vertical




                                       Particionamento horizontal




                                                                                                   24




Profa. Luciana Romani                                                                                   8
FACCAMP - Engenharia de Software




         4. Princípio - Concepções essenciais e de
         implementação
         n   A concepção essencial dos requisitos do software apresenta as
             funções a serem realizadas sem tratar dos detalhes de
             implementação.
         n   Ao se concentrar atenção na essência do problema nas primeiras
             etapas da análise de requisitos, deixa-se as opções abertas para
             especificar detalhes de implementação durante as últimas etapas
             de especificação dos requisitos e projeto de software.
         n   A concepção de implementação dos requisitos de software
             apresenta a manifestação das funções de processamento e
             estruturas de informação no mundo real.
         n   Não deve ser interpretada como uma representação do como. Um
             modelo de implementação representa o modo de operação
             corrente, ou seja a atribuição existente ou proposta para todos os
             elementos do sistema.




                 Princípios de uma boa especificação
                 (Balzer e Goldman)
                1. Separe funcionalidade de implementação
                2. É necessária uma linguagem de especificação de sistemas
                   orientada ao processo
                3. A especificação deve abranger o sistema do qual o software
                   é um componente
                4. Uma especificação deve abranger o ambiente no qual o
                   sistema opera
                5. Uma especificação de sistema deve ser um modelo
                   cognitivo
                6. Uma especificação deve ser operacional
                7. A especificação do sistema deve ser tolerante com a não
                   completitude e ser expansível
                8. Uma especificação deve ser localizada e fracamente
                   acoplada.                                                26




                 Formato da Especificação de Requisitos
                    I. Introdução - declara as metas e os objetivos do
                        software, descrevendo-os no contexto do sistema
                        baseado em computador
                    II. Descrição da Informação - descrição detalhada do
                        problema que o software deve resolver
                    III. Descrição Funcional
                    IV. Descrição Comportamental
                    V. Critérios de Validação
                    VI. Bibliografia
                    VII. Apêndice

                   A Especificação pode ser acompanhada de um
                   PROTÓTIPO executável (ou em papel) e/ou um
                   MANUAL PRELIMINAR DE USUÁRIO.
                                                                              27




Profa. Luciana Romani                                                              9
FACCAMP - Engenharia de Software




           Revisão da Especificação (nível macroscópico)

            n   Os revisores tentam garantir que a especificação
                seja completa, consistente e precisa. Questões:
                 – Metas e objetivos do software permanecem
                   consistentes com metas e objetivos do sistema?
                 – Foram descritas as interfaces importantes para todos
                   os elementos do sistema?
                 – O fluxo e a estrutura de informação são
                   adequadamente definidas para o domínio da
                   informação?
                 – Os diagramas são claros?


                                                                              28




                Revisão da Especificação (nível macroscópico)
                 – As funções importantes permanecem dentro do escopo e
                   cada uma foi adequadamente descrita?
                 – O comportamento do software é consistente com a
                   informação que ele deve processar e as funções que deve
                   executar?
                 – As restrições de projeto são realísticas? Qual é o risco
                   tecnológico de desenvolvimento? Requisitos de software
                   alternativos foram considerados?
                 – Critérios de Validação foram declarados detalhadamente?
                   Eles são adequados para descrever um sistema bem
                   sucedido?
                 – Existem inconsistências, omissões ou redundâncias?
                 – O usuário revisou o Manual Preliminar ou o protótipo?
                 – Como as estimativas do Plano de projeto de Software foram
                   afetadas?
                                                                              29




            Revisão da Especificação (nível detalhado)

            n   A preocupação é com o enunciado da especificação.
                Tenta-se descobrir problemas que possam estar
                ocultos no conteúdo da especificação

            n   Diretrizes:
                 – Esteja alerta para perceber conectivos persuasivos e
                   perguntar por que eles estão presentes.

                 – Procure termos vagos e peça esclarecimento

                 – Quando forem fornecidas listas que não sejam completas,
                   certifique-se de que todos os itens sejam entendidos

                 – Esteja certo de que os limites declarados não contenham
                   pressuposições não declaradas
                                                                              30




Profa. Luciana Romani                                                              10
FACCAMP - Engenharia de Software




                Revisão da Especificação (nível detalhado)

            n   Diretrizes:
                    – Cuidado com verbos vagos. Há muitas maneiras de
                      interpretá-los.
                    – Cuidado com pronomes "pendentes".
                    – Procure declarações que impliquem certeza e depois peça
                      prova
                    – Quando um termo for explicitamente definido num lugar,
                      evite utilizar outras definições para o mesmo termo
                    – Quando uma estrutura for descrita em palavras, verifique se
                      há um gráfico ou uma figura para auxiliar a compreensão
                    – Quando um cálculo for especificado, desenvolva pelo menos
                      dois exemplos.

                                                                                    31




            Ferramentas de Especificação Automatizadas

            n   1a categoria: técnicas automatizadas que nada mais
                são do que um método manual que foi
                complementado com uma ferramenta CASE
                    – Possibilitam que o analista atualize informações e rastreie
                      as conexões entre representações novas e existentes do
                      sistema

                    – Ex: DEC Design (Digital Equipment Corp.), Design Aid
                      (Transform Logic Corp.), Excelerator (Intersolv), IEF (Texas
                      Instruments), ADW (Knowledgeware), STP (Interative
                      Development Environments), Teamwork (Cadre
                      Technologies).



                                                                                    32




                Ferramentas de Especificação Automatizadas

                n   2a categoria: técnicas automatizadas que fazem uso
                    de uma notação especial (na maioria dos casos,
                    essa é uma linguagem de especificação de
                    requisitos) que foi explicitamente projetada para
                    processamento usando-se uma ferramenta
                    automatizada.
                     – Ex: SREM (linguagem de especificação: RSL), PSL/PSA
                       (linguagem de especificação: PSL), TAGS (linguagem de
                       especificação: IORL)




                                                                                    33




Profa. Luciana Romani                                                                    11
FACCAMP - Engenharia de Software




                Conclusão
            n   Logo que a Revisão for concluída, a Espec. de
                Requisitos de Software é "assinada" pelo cliente e
                pelo desenvolvedor
            n   A especificação torna-se um "contrato" de
                desenvolvimento de software.
            n   Mudanças solicitadas depois que a Espec. for
                concluída serão consideradas, porém cada mudança
                posterior pode aumentar o custo e/ou alongar o
                prazo de entrega
            n   Mesmo com os melhores procedimentos de revisão
                em andamento, uma série de problemas de
                especificação ainda persiste
                                                                     34




Profa. Luciana Romani                                                     12

Contenu connexe

Tendances

Perfil profissional%20 tecnólogo%20 análise e desenvol
Perfil profissional%20 tecnólogo%20 análise e desenvolPerfil profissional%20 tecnólogo%20 análise e desenvol
Perfil profissional%20 tecnólogo%20 análise e desenvol
Carlos Melo
 
Trabalho qualidade de_software
Trabalho qualidade de_softwareTrabalho qualidade de_software
Trabalho qualidade de_software
stefaniak2004
 
Aula 22 --reengenharia_de_software
Aula 22 --reengenharia_de_softwareAula 22 --reengenharia_de_software
Aula 22 --reengenharia_de_software
Hannibalking King
 
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
Vagner Santana
 
Gerenciamento de Projeto para Desenvolvimento de Sistema
Gerenciamento de Projeto para Desenvolvimento de SistemaGerenciamento de Projeto para Desenvolvimento de Sistema
Gerenciamento de Projeto para Desenvolvimento de Sistema
elliando dias
 

Tendances (20)

Es 09
Es 09Es 09
Es 09
 
Aula1 introducao engsw
Aula1 introducao engswAula1 introducao engsw
Aula1 introducao engsw
 
IBM Rational Unified Process
IBM Rational Unified ProcessIBM Rational Unified Process
IBM Rational Unified Process
 
Engenharia de Software
Engenharia de SoftwareEngenharia de Software
Engenharia de Software
 
Gerência de Requisitos
Gerência de RequisitosGerência de Requisitos
Gerência de Requisitos
 
Perfil profissional%20 tecnólogo%20 análise e desenvol
Perfil profissional%20 tecnólogo%20 análise e desenvolPerfil profissional%20 tecnólogo%20 análise e desenvol
Perfil profissional%20 tecnólogo%20 análise e desenvol
 
Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...
Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...
Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de S...
 
Modelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdfModelos e etapas do processo de software.pdf
Modelos e etapas do processo de software.pdf
 
Trabalho qualidade de_software
Trabalho qualidade de_softwareTrabalho qualidade de_software
Trabalho qualidade de_software
 
Apresentação RUP
Apresentação RUPApresentação RUP
Apresentação RUP
 
Aula 02 - Engenharia de Requisitos
Aula 02 - Engenharia de RequisitosAula 02 - Engenharia de Requisitos
Aula 02 - Engenharia de Requisitos
 
Artigo Um Mapeamento Sistemático sobre Padrões de Software para Reengenharia ...
Artigo Um Mapeamento Sistemático sobre Padrões de Software para Reengenharia ...Artigo Um Mapeamento Sistemático sobre Padrões de Software para Reengenharia ...
Artigo Um Mapeamento Sistemático sobre Padrões de Software para Reengenharia ...
 
Gerenciamento de Escopo em Projetos
Gerenciamento de Escopo em ProjetosGerenciamento de Escopo em Projetos
Gerenciamento de Escopo em Projetos
 
Gerenciamento de projetos de sistemas 2012.1
Gerenciamento de projetos de sistemas   2012.1Gerenciamento de projetos de sistemas   2012.1
Gerenciamento de projetos de sistemas 2012.1
 
Aula 22 --reengenharia_de_software
Aula 22 --reengenharia_de_softwareAula 22 --reengenharia_de_software
Aula 22 --reengenharia_de_software
 
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
 
Gerenciamento de Projeto para Desenvolvimento de Sistema
Gerenciamento de Projeto para Desenvolvimento de SistemaGerenciamento de Projeto para Desenvolvimento de Sistema
Gerenciamento de Projeto para Desenvolvimento de Sistema
 
Estimativa de software usando pontos de função
Estimativa de software usando pontos de funçãoEstimativa de software usando pontos de função
Estimativa de software usando pontos de função
 
Especificação de requisitos
Especificação de requisitosEspecificação de requisitos
Especificação de requisitos
 
Gerenciamento de Escopo em Projetos
Gerenciamento de Escopo em ProjetosGerenciamento de Escopo em Projetos
Gerenciamento de Escopo em Projetos
 

En vedette

Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
elliando dias
 
Métricas de Software
Métricas de SoftwareMétricas de Software
Métricas de Software
elliando dias
 
Eng.Software-Métricas
Eng.Software-MétricasEng.Software-Métricas
Eng.Software-Métricas
elliando dias
 
Gerenciamento de-projetos-exercicios-resolvidos-estudo-de-casos-e-simulacoes
Gerenciamento de-projetos-exercicios-resolvidos-estudo-de-casos-e-simulacoesGerenciamento de-projetos-exercicios-resolvidos-estudo-de-casos-e-simulacoes
Gerenciamento de-projetos-exercicios-resolvidos-estudo-de-casos-e-simulacoes
Jucioliver
 
Princípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de RequisitosPrincípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de Requisitos
elliando dias
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006
Luís Fernando Richter
 

En vedette (14)

Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
 
Prototipagem
PrototipagemPrototipagem
Prototipagem
 
Métricas de Software
Métricas de SoftwareMétricas de Software
Métricas de Software
 
Métricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosMétricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetos
 
Aula3 engenharia requisitos
Aula3 engenharia requisitosAula3 engenharia requisitos
Aula3 engenharia requisitos
 
Eng.Software-Métricas
Eng.Software-MétricasEng.Software-Métricas
Eng.Software-Métricas
 
Resumo de Técnicas de elicitação de requisitos
Resumo de Técnicas de elicitação de requisitosResumo de Técnicas de elicitação de requisitos
Resumo de Técnicas de elicitação de requisitos
 
Apostila Fundamentos do Gerenciamento de Projetos
Apostila Fundamentos do Gerenciamento de ProjetosApostila Fundamentos do Gerenciamento de Projetos
Apostila Fundamentos do Gerenciamento de Projetos
 
Gerenciamento de-projetos-exercicios-resolvidos-estudo-de-casos-e-simulacoes
Gerenciamento de-projetos-exercicios-resolvidos-estudo-de-casos-e-simulacoesGerenciamento de-projetos-exercicios-resolvidos-estudo-de-casos-e-simulacoes
Gerenciamento de-projetos-exercicios-resolvidos-estudo-de-casos-e-simulacoes
 
Aula Pronta - Gerenciamento de Projetos
Aula Pronta - Gerenciamento de ProjetosAula Pronta - Gerenciamento de Projetos
Aula Pronta - Gerenciamento de Projetos
 
Gerenciamento de projetos apostila completa
Gerenciamento de projetos   apostila completaGerenciamento de projetos   apostila completa
Gerenciamento de projetos apostila completa
 
Princípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de RequisitosPrincípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de Requisitos
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 

Similaire à Engenharia de software apostila analise de requisitos i

Apresentação artigo teste software 26042010
Apresentação artigo   teste software 26042010Apresentação artigo   teste software 26042010
Apresentação artigo teste software 26042010
Fabio Franzotti
 
Planejamento Gerenciamento Introducao
Planejamento Gerenciamento IntroducaoPlanejamento Gerenciamento Introducao
Planejamento Gerenciamento Introducao
guest51dd98
 
A importância da arquitetura de software
A importância da arquitetura de softwareA importância da arquitetura de software
A importância da arquitetura de software
Adriano Tavares
 
BaixadaTech 2012 - Qualidade de Software
BaixadaTech 2012 - Qualidade de SoftwareBaixadaTech 2012 - Qualidade de Software
BaixadaTech 2012 - Qualidade de Software
Adriano Bertucci
 
Filosofia De Desenvolvimento De Software
Filosofia De Desenvolvimento De SoftwareFilosofia De Desenvolvimento De Software
Filosofia De Desenvolvimento De Software
Sérgio Luiz Jordão
 
Engenharia de Software introdução
Engenharia de Software    introduçãoEngenharia de Software    introdução
Engenharia de Software introdução
miroslayer
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9
wilsonguns
 
Testes em projetos usando Scrum
Testes em projetos usando ScrumTestes em projetos usando Scrum
Testes em projetos usando Scrum
Pablo Quiroga
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
eros.viggiano
 
Es2 modelo de processo de software
Es2 modelo de processo de softwareEs2 modelo de processo de software
Es2 modelo de processo de software
luacal
 

Similaire à Engenharia de software apostila analise de requisitos i (20)

Just java 2011
Just java   2011Just java   2011
Just java 2011
 
Apresentação artigo teste software 26042010
Apresentação artigo   teste software 26042010Apresentação artigo   teste software 26042010
Apresentação artigo teste software 26042010
 
Planejamento Gerenciamento Introducao
Planejamento Gerenciamento IntroducaoPlanejamento Gerenciamento Introducao
Planejamento Gerenciamento Introducao
 
A importância da arquitetura de software
A importância da arquitetura de softwareA importância da arquitetura de software
A importância da arquitetura de software
 
Academia do programador
Academia do programadorAcademia do programador
Academia do programador
 
Qualidade de Software com Visual Studio 2012
Qualidade de Software com Visual Studio 2012Qualidade de Software com Visual Studio 2012
Qualidade de Software com Visual Studio 2012
 
BaixadaTech 2012 - Qualidade de Software
BaixadaTech 2012 - Qualidade de SoftwareBaixadaTech 2012 - Qualidade de Software
BaixadaTech 2012 - Qualidade de Software
 
Filosofia De Desenvolvimento De Software
Filosofia De Desenvolvimento De SoftwareFilosofia De Desenvolvimento De Software
Filosofia De Desenvolvimento De Software
 
Engenharia de Software introdução
Engenharia de Software    introduçãoEngenharia de Software    introdução
Engenharia de Software introdução
 
Aula Gestão de Projetos
Aula Gestão de ProjetosAula Gestão de Projetos
Aula Gestão de Projetos
 
Planejamento projeto masiero
Planejamento projeto masieroPlanejamento projeto masiero
Planejamento projeto masiero
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9
 
Testes em projetos usando Scrum
Testes em projetos usando ScrumTestes em projetos usando Scrum
Testes em projetos usando Scrum
 
Áreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareÁreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de Software
 
Aula1 eng software
Aula1 eng softwareAula1 eng software
Aula1 eng software
 
Es conceitos
Es conceitosEs conceitos
Es conceitos
 
Segurança no Desenvolvimento de Software
Segurança no Desenvolvimento de SoftwareSegurança no Desenvolvimento de Software
Segurança no Desenvolvimento de Software
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Es2 modelo de processo de software
Es2 modelo de processo de softwareEs2 modelo de processo de software
Es2 modelo de processo de software
 
Engenharia Requisitos - Método RON
Engenharia Requisitos - Método RONEngenharia Requisitos - Método RON
Engenharia Requisitos - Método RON
 

Plus de robinhoct

Redes noções basicas
Redes noções basicasRedes noções basicas
Redes noções basicas
robinhoct
 
Visual basic apostila up vb6 para vbnet
Visual basic   apostila up vb6 para vbnetVisual basic   apostila up vb6 para vbnet
Visual basic apostila up vb6 para vbnet
robinhoct
 
Sql apostila de sql
Sql   apostila de sqlSql   apostila de sql
Sql apostila de sql
robinhoct
 
Redes redes locais
Redes   redes locaisRedes   redes locais
Redes redes locais
robinhoct
 
Redes nocoes basicas
Redes nocoes basicasRedes nocoes basicas
Redes nocoes basicas
robinhoct
 
Redes montando pequenas redes
Redes   montando pequenas redesRedes   montando pequenas redes
Redes montando pequenas redes
robinhoct
 
Redes endereços ip
Redes   endereços ipRedes   endereços ip
Redes endereços ip
robinhoct
 
Redes cabeamento estruturado
Redes   cabeamento estruturadoRedes   cabeamento estruturado
Redes cabeamento estruturado
robinhoct
 
Redes apotila wireless passo a passo
Redes   apotila wireless passo a passoRedes   apotila wireless passo a passo
Redes apotila wireless passo a passo
robinhoct
 
Poo apostila a programacao orientada
Poo   apostila a programacao orientadaPoo   apostila a programacao orientada
Poo apostila a programacao orientada
robinhoct
 
Php curso de php com my sql
Php   curso de php com my sqlPhp   curso de php com my sql
Php curso de php com my sql
robinhoct
 
Engenharia de software apostila analise de requisitos ii
Engenharia de software   apostila analise de requisitos iiEngenharia de software   apostila analise de requisitos ii
Engenharia de software apostila analise de requisitos ii
robinhoct
 
Dreamweaver cs5 apostila dreamweaver cs5 apostilando.com
Dreamweaver cs5   apostila dreamweaver cs5 apostilando.comDreamweaver cs5   apostila dreamweaver cs5 apostilando.com
Dreamweaver cs5 apostila dreamweaver cs5 apostilando.com
robinhoct
 
Sql apostila construcao de comandos
Sql   apostila construcao de comandosSql   apostila construcao de comandos
Sql apostila construcao de comandos
robinhoct
 
Crystal reports tutorial gerando seus relatórios
Crystal reports   tutorial gerando seus relatóriosCrystal reports   tutorial gerando seus relatórios
Crystal reports tutorial gerando seus relatórios
robinhoct
 
C++ biblia programação c com 627pág.
C++   biblia programação c com 627pág.C++   biblia programação c com 627pág.
C++ biblia programação c com 627pág.
robinhoct
 
C++ apostila linguagem c++ poo
C++   apostila linguagem c++ pooC++   apostila linguagem c++ poo
C++ apostila linguagem c++ poo
robinhoct
 
C++ tutorial linguagem c++ orientada a objetos
C++   tutorial linguagem c++ orientada a objetosC++   tutorial linguagem c++ orientada a objetos
C++ tutorial linguagem c++ orientada a objetos
robinhoct
 
C++ apostila c++ nivel basico
C++   apostila c++ nivel basicoC++   apostila c++ nivel basico
C++ apostila c++ nivel basico
robinhoct
 
C apostila linguagem c
C apostila linguagem cC apostila linguagem c
C apostila linguagem c
robinhoct
 

Plus de robinhoct (20)

Redes noções basicas
Redes noções basicasRedes noções basicas
Redes noções basicas
 
Visual basic apostila up vb6 para vbnet
Visual basic   apostila up vb6 para vbnetVisual basic   apostila up vb6 para vbnet
Visual basic apostila up vb6 para vbnet
 
Sql apostila de sql
Sql   apostila de sqlSql   apostila de sql
Sql apostila de sql
 
Redes redes locais
Redes   redes locaisRedes   redes locais
Redes redes locais
 
Redes nocoes basicas
Redes nocoes basicasRedes nocoes basicas
Redes nocoes basicas
 
Redes montando pequenas redes
Redes   montando pequenas redesRedes   montando pequenas redes
Redes montando pequenas redes
 
Redes endereços ip
Redes   endereços ipRedes   endereços ip
Redes endereços ip
 
Redes cabeamento estruturado
Redes   cabeamento estruturadoRedes   cabeamento estruturado
Redes cabeamento estruturado
 
Redes apotila wireless passo a passo
Redes   apotila wireless passo a passoRedes   apotila wireless passo a passo
Redes apotila wireless passo a passo
 
Poo apostila a programacao orientada
Poo   apostila a programacao orientadaPoo   apostila a programacao orientada
Poo apostila a programacao orientada
 
Php curso de php com my sql
Php   curso de php com my sqlPhp   curso de php com my sql
Php curso de php com my sql
 
Engenharia de software apostila analise de requisitos ii
Engenharia de software   apostila analise de requisitos iiEngenharia de software   apostila analise de requisitos ii
Engenharia de software apostila analise de requisitos ii
 
Dreamweaver cs5 apostila dreamweaver cs5 apostilando.com
Dreamweaver cs5   apostila dreamweaver cs5 apostilando.comDreamweaver cs5   apostila dreamweaver cs5 apostilando.com
Dreamweaver cs5 apostila dreamweaver cs5 apostilando.com
 
Sql apostila construcao de comandos
Sql   apostila construcao de comandosSql   apostila construcao de comandos
Sql apostila construcao de comandos
 
Crystal reports tutorial gerando seus relatórios
Crystal reports   tutorial gerando seus relatóriosCrystal reports   tutorial gerando seus relatórios
Crystal reports tutorial gerando seus relatórios
 
C++ biblia programação c com 627pág.
C++   biblia programação c com 627pág.C++   biblia programação c com 627pág.
C++ biblia programação c com 627pág.
 
C++ apostila linguagem c++ poo
C++   apostila linguagem c++ pooC++   apostila linguagem c++ poo
C++ apostila linguagem c++ poo
 
C++ tutorial linguagem c++ orientada a objetos
C++   tutorial linguagem c++ orientada a objetosC++   tutorial linguagem c++ orientada a objetos
C++ tutorial linguagem c++ orientada a objetos
 
C++ apostila c++ nivel basico
C++   apostila c++ nivel basicoC++   apostila c++ nivel basico
C++ apostila c++ nivel basico
 
C apostila linguagem c
C apostila linguagem cC apostila linguagem c
C apostila linguagem c
 

Engenharia de software apostila analise de requisitos i

  • 1. FACCAMP - Engenharia de Software Análise de Requisitos de Software e de Sistemas Profa Luciana Romani 1 Elementos de um sistema Procedimentos Documentos Hardware SISTEMA Banco de Dados Software Pessoas 2 Engenharia de Software: Fase de Definição Planejamento Análise de Funções de do projeto Revisão Requisitos ou Revisão Software de Software Prototipação Protótipo Plano de Projeto Especificação dos Requisitos Profa. Luciana Romani 1
  • 2. FACCAMP - Engenharia de Software Engenharia de Software: Fase de Desenvolvimento Projeto de Projeto Codificação Revisão Arquitetura e Revisão Revisão Procedimental de Dados Protótipo Especificação Especificação Código-Fonte Preliminar Detalhada do Programa do Projeto do Projeto Engenharia de Software: Fase de Verificação, Liberação e Manutenção Testes de Unidades, de Liberação e Depuração Revisão Manutenção Revisão Integração e Distribuição validação Programa Operacional Código-Fonte Documentação Plano de Teste, Documentação modificado modificada Procedimentos de para o Usuário teste e resultados de teste Fase de Análise de Requisitos Engenharia de Sistemas de Computador ANÁLISE DE REQUISITOS Projeto de Software n processo de descoberta e refinamento – ATORES: cliente e desenvolvedor – PROBLEMA: grande propensão a mal entendidos n "atividade aparentemente simples torna-se complexa" 6 Profa. Luciana Romani 2
  • 3. FACCAMP - Engenharia de Software Atividades de Análise: n reconhecimento do problema n avaliação do problema n síntese da solução (modelagem) n especificação dos requisitos do software n revisão 7 elementos alocados ao software estabelecimento do alcance Plano de recursos, custo cronograma Desenvolvimento do Software revisão revisão administrativa aceitável não os requisitos são sim Fase de Análise de Requisitos conhecidos? determinar domínio das informações construir protótipo para e das funções, interfaces, restrições estabelecer os requisitos de projeto e critérios de validação revisão revisão Especificação dos técnica Requisitos do aceitável Software revisar e justificar revisão do plano de projeto aceitável recursos, custos e do software cronogramas início da fase de desenvolvimento Atividade 1: Reconhecimento do Problema A meta é o reconhecimento dos elementos básicos do problema, conforme percebidos pelo cliente. Gerente do projeto clientes analista desenvolvedores Plano de projeto Espec. requisitos protótipo de software de software Profa. Luciana Romani 3
  • 4. FACCAMP - Engenharia de Software Atividade 2: Avaliação do Problema e Síntese da Solução n Avaliar os problemas na situação atual n Para o novo sistema: – definir e elaborar todas as funções do sistema – identificar dados que o sistema produz e consome – entender o comportamento do sistema – estabelecer características de interface – descobrir restrições do projeto 10 Atividade 2: Avaliação do Problema e Síntese da Solução n Sintetizar uma ou mais soluções (dentro do alcance delineado no Plano de Projeto do Software) – O processo de avaliação e síntese continua até que o analista e o cliente concordem que o software pode ser adequadamente especificado. – É a maior área de esforço n Modelagem – Durante a atividade de avaliação e síntese devem ser criados modelos do sistema para se compreender melhor o fluxo de dados e de controle, o processamento funcional e a operação comportamental, além do conteúdo da informação. – O modelo serve como fundamento para o projeto de software e como base para a criação de sua especificação 11 Atividade 3 Especificação de Requisitos n descrição do fluxo e estrutura da informação n refinamento detalhado de todas as funções do software n estabelecimento das características de interface n identificação das restrições de projeto n especificação dos critérios de validação 12 Profa. Luciana Romani 4
  • 5. FACCAMP - Engenharia de Software Atividade 4: Revisões n Devem ser efetuadas revisões técnicas e revisões no Plano de Projeto de Software – as revisões são conduzidas pelo Cliente e pelo Desenvolvedor – a base para a revisão são os documentos produzidos na Especificação dos Requisitos n O Plano de Projeto do Software deve ser revisto devido ao conhecimento adquirido durante a análise. 13 Características do Analista de Sistemas 1)Capacidade para compreender conceitos abstratos, reorganizar esses conceitos em divisões lógicas e sintetizar "soluções" baseado em cada divisão. 2)Capacidade de absorver fatos pertinentes a partir de fontes conflitantes ou confusas. 4)Capacidade de se comunicar bem de forma escrita e verbal. 5)Capacidade de "ver a floresta ao invés das árvores” 14 Áreas Problemas 1. Aquisição da informação – que informação deve ser coletada e como ela deve ser representada? – quem fornece as informações? – que técnicas e ferramentas estão disponíveis para facilitar a coleta de informações? 15 Profa. Luciana Romani 5
  • 6. FACCAMP - Engenharia de Software Áreas Problemas 2. Tamanho do sistema – como eliminar inconsistências na especificação de grandes sistemas? – é possível detectar omissões? – pode um grande sistema ser efetivamente particionado para que se torne intelectualmente administrável? 16 Áreas Problemas 3. Alterações – como as alterações efetuadas em outros elementos do software são coordenadas com os requisitos do software? – como se determina o impacto de uma alteração em outras partes do software aparentemente não relacionadas? – como se corrige erros na especificação para que não se gere efeitos colaterias? 17 Causas dos Problemas n comunicação ineficiente n técnicas e ferramentas inadequadas n tendências de eliminar a tarefa de Especificação dos Requisitos n falha de considerar alternativas antes que o software seja especificado 18 Profa. Luciana Romani 6
  • 7. FACCAMP - Engenharia de Software Princípios de Análise (4) n domínio de informação do problema → representado e compreendido (para que a função possa ser entendida + completamente) n modelos que descrevam a informação, a função e o comportamento do sistema → desenvolvidos (para que a informação possa ser comunicada compactamente) 19 Princípios de Análise (4) n modelos (e o problema) → particionados, de maneira que revele os detalhes em forma de camadas (ou hierarquicamente) (para reduzir a complexidade) n processo de análise → mover-se da informação essencial para os detalhes de implementação (para acomodar as restrições lógicas impostas por requisitos de processamento e as restrições físicas impostas por outros elementos do sistema) 20 1. Princípio - Domínio da Informação n Todo software é construído para processar dados e eventos. n Os dados e itens de controle residem no domínio de informação de um problema. n 3 diferentes pontos de vista: – Fluxo da Informação: maneira pela qual os dados e o controle se modificam à medida que cada um se movimenta pelo sistema – Conteúdo da Informação: os dados e os itens de controle individuais que compreendem certo item de informação mais amplo. – Estrutura da Informação: a organização interna de vários itens de controle e de dados 21 Profa. Luciana Romani 7
  • 8. FACCAMP - Engenharia de Software 2. Princípio - Modelagem n O modelo deve ser capaz de modelar a informação que o software transforma, as funções (ou subfunções) que possibilitam que as transformações ocorram e o comportamento do sistema quando a transformação está se desenvolvendo. n Os modelos concentram-se naquilo que o sistema deve fazer, não em como ele faz. n Papéis importantes do Modelo: – ajuda o analista a entender a informação, a função e o comportamento de um sistema, tornando a tarefa + fácil e sistemática. – torna-se o ponto focal para a revisão e, portanto, a chave para a determinação da completitude, consistência e precisão da especificação. – torna-se a base para o projeto, fornecendo ao projetista uma representação essencial do software, a qual pode ser "mapeada" num contexto de implementação. 3. Princípio - Particionamento n Os problemas freqüentemente são grandes demais e muito complexos para serem compreendidos como um todo. n O particionamento divide o problema em partes mais facilmente entendidas n Através das interfaces estabelecidas entre as partes, a função global do software pode ser executada. 23 3. Princípio - Particionamento n Particionamento Horizontal: decomposição funcional do problema n Particionamento Vertical: expõe detalhes crescentes Particionamento vertical Particionamento horizontal 24 Profa. Luciana Romani 8
  • 9. FACCAMP - Engenharia de Software 4. Princípio - Concepções essenciais e de implementação n A concepção essencial dos requisitos do software apresenta as funções a serem realizadas sem tratar dos detalhes de implementação. n Ao se concentrar atenção na essência do problema nas primeiras etapas da análise de requisitos, deixa-se as opções abertas para especificar detalhes de implementação durante as últimas etapas de especificação dos requisitos e projeto de software. n A concepção de implementação dos requisitos de software apresenta a manifestação das funções de processamento e estruturas de informação no mundo real. n Não deve ser interpretada como uma representação do como. Um modelo de implementação representa o modo de operação corrente, ou seja a atribuição existente ou proposta para todos os elementos do sistema. Princípios de uma boa especificação (Balzer e Goldman) 1. Separe funcionalidade de implementação 2. É necessária uma linguagem de especificação de sistemas orientada ao processo 3. A especificação deve abranger o sistema do qual o software é um componente 4. Uma especificação deve abranger o ambiente no qual o sistema opera 5. Uma especificação de sistema deve ser um modelo cognitivo 6. Uma especificação deve ser operacional 7. A especificação do sistema deve ser tolerante com a não completitude e ser expansível 8. Uma especificação deve ser localizada e fracamente acoplada. 26 Formato da Especificação de Requisitos I. Introdução - declara as metas e os objetivos do software, descrevendo-os no contexto do sistema baseado em computador II. Descrição da Informação - descrição detalhada do problema que o software deve resolver III. Descrição Funcional IV. Descrição Comportamental V. Critérios de Validação VI. Bibliografia VII. Apêndice A Especificação pode ser acompanhada de um PROTÓTIPO executável (ou em papel) e/ou um MANUAL PRELIMINAR DE USUÁRIO. 27 Profa. Luciana Romani 9
  • 10. FACCAMP - Engenharia de Software Revisão da Especificação (nível macroscópico) n Os revisores tentam garantir que a especificação seja completa, consistente e precisa. Questões: – Metas e objetivos do software permanecem consistentes com metas e objetivos do sistema? – Foram descritas as interfaces importantes para todos os elementos do sistema? – O fluxo e a estrutura de informação são adequadamente definidas para o domínio da informação? – Os diagramas são claros? 28 Revisão da Especificação (nível macroscópico) – As funções importantes permanecem dentro do escopo e cada uma foi adequadamente descrita? – O comportamento do software é consistente com a informação que ele deve processar e as funções que deve executar? – As restrições de projeto são realísticas? Qual é o risco tecnológico de desenvolvimento? Requisitos de software alternativos foram considerados? – Critérios de Validação foram declarados detalhadamente? Eles são adequados para descrever um sistema bem sucedido? – Existem inconsistências, omissões ou redundâncias? – O usuário revisou o Manual Preliminar ou o protótipo? – Como as estimativas do Plano de projeto de Software foram afetadas? 29 Revisão da Especificação (nível detalhado) n A preocupação é com o enunciado da especificação. Tenta-se descobrir problemas que possam estar ocultos no conteúdo da especificação n Diretrizes: – Esteja alerta para perceber conectivos persuasivos e perguntar por que eles estão presentes. – Procure termos vagos e peça esclarecimento – Quando forem fornecidas listas que não sejam completas, certifique-se de que todos os itens sejam entendidos – Esteja certo de que os limites declarados não contenham pressuposições não declaradas 30 Profa. Luciana Romani 10
  • 11. FACCAMP - Engenharia de Software Revisão da Especificação (nível detalhado) n Diretrizes: – Cuidado com verbos vagos. Há muitas maneiras de interpretá-los. – Cuidado com pronomes "pendentes". – Procure declarações que impliquem certeza e depois peça prova – Quando um termo for explicitamente definido num lugar, evite utilizar outras definições para o mesmo termo – Quando uma estrutura for descrita em palavras, verifique se há um gráfico ou uma figura para auxiliar a compreensão – Quando um cálculo for especificado, desenvolva pelo menos dois exemplos. 31 Ferramentas de Especificação Automatizadas n 1a categoria: técnicas automatizadas que nada mais são do que um método manual que foi complementado com uma ferramenta CASE – Possibilitam que o analista atualize informações e rastreie as conexões entre representações novas e existentes do sistema – Ex: DEC Design (Digital Equipment Corp.), Design Aid (Transform Logic Corp.), Excelerator (Intersolv), IEF (Texas Instruments), ADW (Knowledgeware), STP (Interative Development Environments), Teamwork (Cadre Technologies). 32 Ferramentas de Especificação Automatizadas n 2a categoria: técnicas automatizadas que fazem uso de uma notação especial (na maioria dos casos, essa é uma linguagem de especificação de requisitos) que foi explicitamente projetada para processamento usando-se uma ferramenta automatizada. – Ex: SREM (linguagem de especificação: RSL), PSL/PSA (linguagem de especificação: PSL), TAGS (linguagem de especificação: IORL) 33 Profa. Luciana Romani 11
  • 12. FACCAMP - Engenharia de Software Conclusão n Logo que a Revisão for concluída, a Espec. de Requisitos de Software é "assinada" pelo cliente e pelo desenvolvedor n A especificação torna-se um "contrato" de desenvolvimento de software. n Mudanças solicitadas depois que a Espec. for concluída serão consideradas, porém cada mudança posterior pode aumentar o custo e/ou alongar o prazo de entrega n Mesmo com os melhores procedimentos de revisão em andamento, uma série de problemas de especificação ainda persiste 34 Profa. Luciana Romani 12