SlideShare une entreprise Scribd logo
1  sur  43
UNIVERSIDADE FEDERAL DE CAMPINA GRANDE
                                      CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA
                                          DEPARTAMENTO DE ENGENHARIA ELÉTRICA
                              DISCIPLINA: GERÊNCIA, PLANEJAMENTO E CONTROLE DA PRODUÇÃO




                                        Projeto de Melhoria da Qualidade do
                                     Desenvolvimento de um Software de Edição
Alunos:                                     de Imagens Multiplataforma
Adriano Costa de Oliveira 20721265
Flávio Fabrício 21011473
Ísis de Andrade Lima 21011485                                                       Professora: Maria de Fátima Queiroz Vieira
Objetivo
• Fazer o planejamento do
  desenvolvimento de um
  software simples de edição
  de imagens
  “Multiplataforma”.
• O termo “Multiplataforma”
  se refere a uma aplicação que
  funcione em diferentes
  dispositivos de diferentes
  marcas e sistemas
  operacionais.
• Analisar e implementar a
  melhoria da qualidade desse
  desenvolvimento.
Desenvolvimento
• Foi feito um primeiro planejamento para o
  desenvolvimento do software de edição de imagens em
  várias plataformas utilizando o software “Microsoft
  Project”.
Dispositivos
• As Plataformas e
  os dispositivos
  alvos para este
  projeto foram
  decididas de
  acordo com o
  mercado atual
  da tecnologia.
• Com o avanço
  do número de
  Smartphones e
  Tablets estes
  também foram
  levados em
  consideração.
Plataformas
•   Windows para
    Desktop e
    Windowsphone.
•   IOS/Apple para
    Macbook, Ipad e
    Iphone.
•   Android para
    respectivos Tablets e
    smartphones.
•   RIM/BlackBerry para
    respectivos
    smartphones.
•   Symbian/Nokia para
    smartphones.
•   Java para
    smatphones em
    geral (Xing-Lings).
•   Linux para Desktop.
Código Base C++

• O Programador 1 ficou responsável por:
   – Elaborar o método AbrirArquivodeFoto()
   – Elaborar o método SalvarFoto()
   – Elaborar a Interface Gráfica em C++
• O Programador 2 ficou responsável por:
   –   Elaborar o método MudarCordoBit()
   –   Elaborar o método EfeitoPreto&Branco()
   –   Elaborar o método EfeitoSépia()
   –   Elaborar o método InverterCores()
• O Programador 3 ficou responsável pelos métodos:
   – Elaborar o método TrocarBits()
   – Elaborar o método InverterFotoHorizontalmente()
   – Elaborar o método InverterFotoVerticalmente()
Tradução de Código
•   Programador 1   -> Apple
•   Programador 2   ->Windows
•   Programador 3   ->Android
•   Programador 4   ->BlackBerry
•   Programador 5   ->Symbian
•   Programador 6   ->Java
•   Programador 7   ->Linux
Design
• Conceito Gráfico da Aplicação:
  Criação do conceito gráfico da
  aplicação com a definição de
  cores, sombras, desenhos etc..
• Design Gráfico Smartphones: Criação
  dos componentes de tela otimizados
  para smartphones.
• Design Gráfico Desktop: Criação dos
  componentes de tela otimizados para
  Desktops.
• Design Gráfico Tablets: Criação dos
  componentes de tela otimizados para
  Tablets.
Testes
• Essa parte ficou
  responsável pelos testes
• Testes funcionais da parte
  de Código Base em C++
• Testes funcionais das
  aplicações finais de cada
  plataforma.
• Para isto como recurso foi
  utilizado um Gerente
  responsável por esses
  testes.
MASP-Método de Análise e Solução de
           Problemas
• Considerando este projeto de desenvolvimento
  de software nós decidimos utilizar o método
  MASP para a análise, planejamento e solução dos
  problemas.
• O MASP, Método de Análise e Solução de
  Problemas, consiste em uma sequência de etapas
  que levam a um planejamento participativo para
  a melhoria da qualidade de um produto ou
  serviço de determinado setor em uma
  organização.
Problema: Método da
  “Tentativa e Erro”:
           • O problema surge na
             ocorrência de erros que
             impedem o funcionamento
             da aplicação;
           • Alguns programadores
             utilizam o método da
             “Tentativa e Erro” para
             tentar solucionar o erro;
           • Essa ocorrência toma muito
             tempo;
           • Pode ocorrer atraso nos
             prazos do projeto.
Solução: Método da
                 “Tentativa e Erro”:
• A solução proposta é: realizar
  treinamento de depuração em
  códigos;
   – 2 semanas após a detecção do
     problema, com duração de 1
     semana;
   – O treinamento pode ser realizado
     no mesmo ambiente de trabalho
     dos programadores;
   – A decisão deve partir do Gerente
     e executada por todos;
   – Para isso é necessário contratar
     um profissional para conduzir o
     treinamento.
Problema: Falta de Comunicação entre
         os Programadores
             • O problema pode ocorrer em
               qualquer momento do
               desenvolvimento do projeto;
             • Pode levar à ocorrência de erros;
             • Leva a execução de trabalhos
               desnecessários, repetição de
               esforços por desconhecimento;
             • Inviabiliza parceria na solução de
               problemas.
Solução: Falta de Comunicação entre
            os Programadores




• Solução proposta: implantação de ferramenta de
  comunicação:
   – Ferramenta via web que facilite a comunicação acerca do
     desenvolvimento do projeto, até 1 semana após detecção do
     problema;
   – Deve ser implantado pelo Gerente, com atuação de todos;
   – Para isso é necessário decidir qual ferramenta utilizar e implantá-la.
Problema: Conflito entre as Pessoas do
              Projeto
• O problema pode ocorrer em
  qualquer momento do
  desenvolvimento do projeto;
• Inviabiliza parceria na solução de
  problemas.

Solução:
                      • Alocação de um líder
                        imediatamente, para mediar os
                        conflitos e tomar decisões;
                      • Responsabilidade do Gerente, que
                        pode eleger um líder ou contratar
                        novo membro.
Problema: Código Desorganizado
• O problema ocorre no momento da
  concepção do código, no entanto as
  consequências podem se
  manifestar em quaisquer etapas;
• Dificulta a compreensão do código;
• Pode levar a erros, sobrecarga de
  processamento por repetições de
  trechos;
• Dificulta revisões feitas pelo próprio
  programador ou até numa
  atualização feita por parceiros;
• Pode inviabilizar futura reutilização
  do código.
Solução: Código Desorganizado
              • Solução proposta:
                treinamento em
                documentação de códigos;
                 – Medida tomada em até 3
                   semanas após detecção do
                   problema e tem duração de
                   1 semana;
                 – É de responsabilidade do
                   Gerente, com participação
                   de todos;
                 – Para isso é necessário
                   contratar alguém para
                   realizar treinamento ou
                   buscar materiais didáticos
                   para estudo intensivo
                   (tutoriais ou livros).
Problema: Falta de um líder
• O problema surge no início de cada
  etapa, mas pode ter consequências
  percebidas a qualquer momento;
• Reduz a probabilidade de que
  alguém tome decisões em
  situações críticas;
• Pode acarretar na perda de prazos;
• Não há responsabilidade de ações;
• Decisões consideradas erradas
  podem ser atribuídas aos membros
  do grupo, causando
  desentendimentos.
Solução: Falta de um líder
          • A alocação de um líder é
            de caráter imediato;
          • Deve ser realizada pelo
            Gerente e executada pelo
            líder;
          • Pode ser escolhido um
            membro com esse perfil
            (mediante
            entrevista, testes, dinâmica
            s de grupo) ou poderá ser
            feita contratação de novo
            membro.
Problema: “Memory Leak”
• O problema surge na
  concepção do problema, mas
  é percebido na etapa pós-
  venda;
• Fenômeno ocorre em
  dispositivos dependentes de
  baterias, quando o programa
  não possui tratamento para o
  erro;
• Gera consumo excessivo de
  bateria (problema de
  qualidade do produto).
Solução: “Memory Leak”
        • Treinamento em testes
          específicos para detecção de
          “MemoryLeaks”:
          – Até 4 semanas após se verificar
            o problema;
          – O treinamento ocorre no
            mesmo ambiente dos
            programadores;
          – Deve ser executado pelo
            Gerente;
          – Para isso é necessário contratar
            um especialista.
Problema: Alterações Simultâneas no
               Código
• O problema ocorre na etapa de
  programação;
• Mais de um programador
  trabalhando no mesmo
  problema:
   – O mesmo problema pode ser
     tratado simultaneamente, gerando
     esforço repetitivo;
   – Os programadores podem alterar
     trechos diferentes, destruindo a
     unicidade do programa;
• Os programadores não têm
  ciência das alterações de
  terceiros.
Solução: Alterações Simultâneas de
                   Códigos
• Solução proposta:
  Implantação de
  Ferramenta de
  Repositório:
   – Até 1 semana após
     detecção;
   – O ambiente de ocorrência
     é a Web;
   – É de responsabilidade do
     Gerente e execução de
     todos;
   – Se dá por meio da
     pesquisa em busca da
     melhor ferramenta do
     gênero.
Problema: Atrasos no
  desenvolvimento
      • O problema pode ocorrer em
        qualquer etapa e pode afetar todo
        o processo;
      • Podem ocorrer atrasos individuais
        ou em grupo;
      • Os atrasos podem ser referentes a
        etapas intermediárias (mais fáceis
        de detectar) ou apenas no prazo
        final de execução (difícil de
        detectar ao longo do processo e
        muitas vezes impossível de
        solucionar);
      • Gera custos adicionais, queda de
        desempenho e possível perda do
        objetivo final.
Solução: Atrasos no desenvolvimento




• Solução: Implantação de processo de gerenciamento SCRUM:
   –   É de caráter imediato;
   –   É implantada pelo Gerente, executada por todos;
   –   Ocorre no mesmo ambiente dos programadores;
   –   É necessário contratar um profissional para treinamento.
SCRUM
1.   ScrumMaster, que mantém os processos
     (normalmente no lugar de um gerente de
     projeto)
2.   Proprietário do Produto, ou Product
     Owner(PO), que representa os stakeholders e o
     negócio
3.   Equipe, ou Team, um grupo multifuncional com
     cerca de 7 pessoas e que fazem a
     análise, projeto, implementação, teste etc.
     – Cada sprint é uma iteração que segue um ciclo (PDCA)
       e entrega incremento de software pronto.
     – Um backlog é conjunto de requisitos, priorizado pelo
       Product Owner (responsável por conhecer as
       necessidades do cliente);
     – Há entrega de conjunto fixo de itens do backlog em
       série de interações curtas ou sprints;
     – Breve reunião diária, ou daily scrum, em que cada
       participante fala sobre o progresso conseguido, o
       trabalho a ser realizado e/ou o que o impede de
       seguir avançando (também chamado de Standup
       Meeting ou Daily Meeting, já que os membros da
       equipe geralmente ficam em pé para não prolongar a
       reunião).
     – Breve sessão de planejamento, na qual os itens do
       backlog para uma sprint (iteração) são definidos;
     – Retrospectiva, na qual todos os membros da equipe
       refletem sobre a sprint passada.
GUT
                 Problema                    G   U   T Score
       Método da “Tentativa e Erro”          35 37 30 102
Falta de Comunicação ente os Programadores   56 52 49 157
    Conflito entre as Pessoas do Projeto     53 50 51 154
          Código Desorganizado               49 51 54 154
        Falta de um Líder                    55 55 47 157
              “Memory Leak”                  43 42 41 126
       Atrasos no Desenvolvimento            X   X   X   0
      Alteração de Código Simultânea         X X     X   0
Gráfico de Pareto


60%



50%



40%



30%



20%



10%



0%
Diagrama de Ishikawa
5W1H
         O quê?                   Quando?               Onde?                    Por quê?                   Quem?                            Como?
Alocação de um novo Líder        Pra Ontem.       No mesmo ambiente     Para mediar conflitos e tomar       Gerente                        Contratando
                             (Durante 1 Semana)   dos programadores          decisões urgentes

Implantação de Ferramenta       Em 1 Semana.           Na Web.          Para facilitar a comunicação      Gerente para   Pesquisando melhor ferramenta web de comunicação
     de Comunicação          (Durante 1 Semana)                        entre os integrantes do projeto       Todos




Treinamento em Depuração       Em 2 Semanas       No mesmo ambiente     Para fazer a correção de erros    Gerente para            Contratando alguém capacitado
       de Códigos            (Durante 1 Semana)   dos programadores                                          Todos                    Para dar treinamento.




    Treinamento em             Em 3 Semanas       No mesmo ambiente    Para evitar código desorganizado   Gerente para            Contratando alguém capacitado
Documentação de Códigos      (Durante 1 Semana)   dos programadores      e facilitar o entendimento do       Todos                    Para dar treinamento.
                                                                                      Código



  Treinamento em testes        Em 4 Semanas       No mesmo ambiente       Para evitar Vazamento de        Gerente para            Contratando alguém capacitado
 específicos para detecção   (Durante 1 Semana)   dos programadores                Memória                   Todos                    Para dar treinamento.
    de “MemoryLeaks”



Implantação de processo          Pra Ontem.       No mesmo ambiente         Para evitar atrasos no        Gerente para            Contratando alguém capacitado
de gerenciamento SCRUM       (Durante 1 Semana)   dos programadores.          desenvolvimento                Todos                    Para dar treinamento.




Implantação de Ferramenta       Em 1 Semana.           Na Web.             Para evitar modificações       Gerente para   Pesquisando melhor ferramenta web de repositório.
      de Repositório         (Durante 1 Semana)                          simultâneas indesejadas no          Todos
                                                                                    código
Gráfico de Gant Solução dos
         Problemas
Gráfico de Gant
Editor de Fotos
Gráfico de Gant Código Base em C++
Gráfico de Gant Design




Conceito   Smartphones   Desktop   Tablets
Gráfico
Aprendizado      de
                Gant
              Tradução
                 De
Tradução       Código


 Interface
 Gráfica




   Testes
   Finais
Gráfico PERT
Solução dos Problemas
Gráfico PERT
Editor de Fotos
Gráfico PERT
Editor de Fotos
                  Bloco Base do
                  Software em C++
Gráfico PERT
Editor de Fotos
                  Tradução
                  do Código
Gráfico PERT
Editor de Fotos




                  Design
ISO 9000 - International Organization
         for Standardization
• São normas de gestão e garantia, que
  direcionam a implantação de
  sistemas de qualidade ao especificar
  as fases de produção ou prestação de
  serviços, desde a execução até a pós-
  venda;

• A seguir são citados alguns itens
  tratados na revisão da norma ISSO
  9001 (1994), que correspondem aos
  itens abordados no planejamento de
  qualidade apresentado no trabalho:
• Responsabilidades da Administração: Definição das políticas,
  dos objetivos, da organização e das responsabilidades pela
  qualidade na empresa;

• Controle de Projeto (do Produto): Definir regras para que as
  idéias (projetos) sejam transformadas em produtos desejados;

• Controle de Processo: Estabelecimento do sistema que
  garanta a qualidade nas etapas de produção;

• Inspeção e Ensaios: Definir regras para inspeções de
  produtos;

• Assistência Técnica: Definir critérios para atividades pós-
  venda;
OBRIGADO.

Contenu connexe

Tendances

Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme Programming
Milfont Consulting
 
IPA Conhecendo XP
IPA Conhecendo XPIPA Conhecendo XP
IPA Conhecendo XP
Wildtech
 
Bate-papo com Especialista Terra XP
Bate-papo com Especialista Terra XPBate-papo com Especialista Terra XP
Bate-papo com Especialista Terra XP
Wildtech
 

Tendances (20)

XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Extreme Programming XP
Extreme Programming XPExtreme Programming XP
Extreme Programming XP
 
Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme Programming
 
IPA Conhecendo XP
IPA Conhecendo XPIPA Conhecendo XP
IPA Conhecendo XP
 
Extreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilExtreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia Ágil
 
Bate-papo com Especialista Terra XP
Bate-papo com Especialista Terra XPBate-papo com Especialista Terra XP
Bate-papo com Especialista Terra XP
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)
 
Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2
 
Desenvolvimento de Software com Extreme Programming (XP)
Desenvolvimento de Software com Extreme Programming (XP)Desenvolvimento de Software com Extreme Programming (XP)
Desenvolvimento de Software com Extreme Programming (XP)
 
Apostila xp programação ágil
Apostila xp   programação ágilApostila xp   programação ágil
Apostila xp programação ágil
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
Programacao Extrema
Programacao ExtremaProgramacao Extrema
Programacao Extrema
 
Introdução: eXtreme Programming
Introdução: eXtreme ProgrammingIntrodução: eXtreme Programming
Introdução: eXtreme Programming
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
 
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
 
Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3Modelos de Processo de Software Parte 3
Modelos de Processo de Software Parte 3
 
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
 
Integração Contínua
Integração ContínuaIntegração Contínua
Integração Contínua
 

En vedette

Ewo nova - auto explicativo
Ewo   nova - auto explicativoEwo   nova - auto explicativo
Ewo nova - auto explicativo
Lincoln antonio
 

En vedette (7)

Inovacao em atendimento pos venda tim
Inovacao em atendimento pos venda timInovacao em atendimento pos venda tim
Inovacao em atendimento pos venda tim
 
Ewo nova - auto explicativo
Ewo   nova - auto explicativoEwo   nova - auto explicativo
Ewo nova - auto explicativo
 
Robótica Industrial
Robótica Industrial Robótica Industrial
Robótica Industrial
 
A História do PDCA - Claudemir Oribe
A História do PDCA - Claudemir OribeA História do PDCA - Claudemir Oribe
A História do PDCA - Claudemir Oribe
 
5W1H
5W1H5W1H
5W1H
 
Diagrama de ishikawa
Diagrama de ishikawaDiagrama de ishikawa
Diagrama de ishikawa
 
Proposta para prestação de serviços de consultoria (empresa de agronegócios)
Proposta para prestação de serviços de consultoria (empresa de agronegócios)Proposta para prestação de serviços de consultoria (empresa de agronegócios)
Proposta para prestação de serviços de consultoria (empresa de agronegócios)
 

Similaire à Projeto de Melhoria da Qualidade do Desenvolvimento de um Software Multiplataforma

1- Apresentacao Metodologia RCP
1- Apresentacao Metodologia RCP1- Apresentacao Metodologia RCP
1- Apresentacao Metodologia RCP
Frank Coelho
 
TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...
TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...
TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...
tdc-globalcode
 
Projeto arrastão projeto fábrica de software
Projeto arrastão   projeto fábrica de softwareProjeto arrastão   projeto fábrica de software
Projeto arrastão projeto fábrica de software
Alan Correa Morais
 

Similaire à Projeto de Melhoria da Qualidade do Desenvolvimento de um Software Multiplataforma (20)

Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimento
 
Introdução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open SourceIntrodução a Application Life-cycle Management Open Source
Introdução a Application Life-cycle Management Open Source
 
Aula 3
Aula 3Aula 3
Aula 3
 
Desenvolvimento Ágil
Desenvolvimento ÁgilDesenvolvimento Ágil
Desenvolvimento Ágil
 
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
ALM Open Source Ponta a Ponta - Minicurso Globalcode MC-122
 
Crise de software2
Crise de software2Crise de software2
Crise de software2
 
2PHP_Metodologia
2PHP_Metodologia2PHP_Metodologia
2PHP_Metodologia
 
1- Apresentacao Metodologia RCP
1- Apresentacao Metodologia RCP1- Apresentacao Metodologia RCP
1- Apresentacao Metodologia RCP
 
1 apresentacao metodologia rcp
1  apresentacao metodologia rcp1  apresentacao metodologia rcp
1 apresentacao metodologia rcp
 
PSP - Personal Software Process
PSP - Personal Software ProcessPSP - Personal Software Process
PSP - Personal Software Process
 
Aula 4- Engenharia de Software
Aula 4- Engenharia de SoftwareAula 4- Engenharia de Software
Aula 4- Engenharia de Software
 
Aula2 processos sw
Aula2 processos swAula2 processos sw
Aula2 processos sw
 
Projeto e Desenvolvimento de Software
Projeto e Desenvolvimento de SoftwareProjeto e Desenvolvimento de Software
Projeto e Desenvolvimento de Software
 
TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...
TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...
TDC 2013 SP | Trilha ALM: Construindo uma solução de ponta a ponta com ferram...
 
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
 
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppAula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
 
Projeto arrastão projeto fábrica de software
Projeto arrastão   projeto fábrica de softwareProjeto arrastão   projeto fábrica de software
Projeto arrastão projeto fábrica de software
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 

Dernier

Dernier (6)

Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

Projeto de Melhoria da Qualidade do Desenvolvimento de um Software Multiplataforma

  • 1. UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA DEPARTAMENTO DE ENGENHARIA ELÉTRICA DISCIPLINA: GERÊNCIA, PLANEJAMENTO E CONTROLE DA PRODUÇÃO Projeto de Melhoria da Qualidade do Desenvolvimento de um Software de Edição Alunos: de Imagens Multiplataforma Adriano Costa de Oliveira 20721265 Flávio Fabrício 21011473 Ísis de Andrade Lima 21011485 Professora: Maria de Fátima Queiroz Vieira
  • 2. Objetivo • Fazer o planejamento do desenvolvimento de um software simples de edição de imagens “Multiplataforma”. • O termo “Multiplataforma” se refere a uma aplicação que funcione em diferentes dispositivos de diferentes marcas e sistemas operacionais. • Analisar e implementar a melhoria da qualidade desse desenvolvimento.
  • 3. Desenvolvimento • Foi feito um primeiro planejamento para o desenvolvimento do software de edição de imagens em várias plataformas utilizando o software “Microsoft Project”.
  • 4. Dispositivos • As Plataformas e os dispositivos alvos para este projeto foram decididas de acordo com o mercado atual da tecnologia. • Com o avanço do número de Smartphones e Tablets estes também foram levados em consideração.
  • 5. Plataformas • Windows para Desktop e Windowsphone. • IOS/Apple para Macbook, Ipad e Iphone. • Android para respectivos Tablets e smartphones. • RIM/BlackBerry para respectivos smartphones. • Symbian/Nokia para smartphones. • Java para smatphones em geral (Xing-Lings). • Linux para Desktop.
  • 6. Código Base C++ • O Programador 1 ficou responsável por: – Elaborar o método AbrirArquivodeFoto() – Elaborar o método SalvarFoto() – Elaborar a Interface Gráfica em C++ • O Programador 2 ficou responsável por: – Elaborar o método MudarCordoBit() – Elaborar o método EfeitoPreto&Branco() – Elaborar o método EfeitoSépia() – Elaborar o método InverterCores() • O Programador 3 ficou responsável pelos métodos: – Elaborar o método TrocarBits() – Elaborar o método InverterFotoHorizontalmente() – Elaborar o método InverterFotoVerticalmente()
  • 7. Tradução de Código • Programador 1 -> Apple • Programador 2 ->Windows • Programador 3 ->Android • Programador 4 ->BlackBerry • Programador 5 ->Symbian • Programador 6 ->Java • Programador 7 ->Linux
  • 8. Design • Conceito Gráfico da Aplicação: Criação do conceito gráfico da aplicação com a definição de cores, sombras, desenhos etc.. • Design Gráfico Smartphones: Criação dos componentes de tela otimizados para smartphones. • Design Gráfico Desktop: Criação dos componentes de tela otimizados para Desktops. • Design Gráfico Tablets: Criação dos componentes de tela otimizados para Tablets.
  • 9. Testes • Essa parte ficou responsável pelos testes • Testes funcionais da parte de Código Base em C++ • Testes funcionais das aplicações finais de cada plataforma. • Para isto como recurso foi utilizado um Gerente responsável por esses testes.
  • 10. MASP-Método de Análise e Solução de Problemas • Considerando este projeto de desenvolvimento de software nós decidimos utilizar o método MASP para a análise, planejamento e solução dos problemas. • O MASP, Método de Análise e Solução de Problemas, consiste em uma sequência de etapas que levam a um planejamento participativo para a melhoria da qualidade de um produto ou serviço de determinado setor em uma organização.
  • 11. Problema: Método da “Tentativa e Erro”: • O problema surge na ocorrência de erros que impedem o funcionamento da aplicação; • Alguns programadores utilizam o método da “Tentativa e Erro” para tentar solucionar o erro; • Essa ocorrência toma muito tempo; • Pode ocorrer atraso nos prazos do projeto.
  • 12. Solução: Método da “Tentativa e Erro”: • A solução proposta é: realizar treinamento de depuração em códigos; – 2 semanas após a detecção do problema, com duração de 1 semana; – O treinamento pode ser realizado no mesmo ambiente de trabalho dos programadores; – A decisão deve partir do Gerente e executada por todos; – Para isso é necessário contratar um profissional para conduzir o treinamento.
  • 13. Problema: Falta de Comunicação entre os Programadores • O problema pode ocorrer em qualquer momento do desenvolvimento do projeto; • Pode levar à ocorrência de erros; • Leva a execução de trabalhos desnecessários, repetição de esforços por desconhecimento; • Inviabiliza parceria na solução de problemas.
  • 14. Solução: Falta de Comunicação entre os Programadores • Solução proposta: implantação de ferramenta de comunicação: – Ferramenta via web que facilite a comunicação acerca do desenvolvimento do projeto, até 1 semana após detecção do problema; – Deve ser implantado pelo Gerente, com atuação de todos; – Para isso é necessário decidir qual ferramenta utilizar e implantá-la.
  • 15. Problema: Conflito entre as Pessoas do Projeto • O problema pode ocorrer em qualquer momento do desenvolvimento do projeto; • Inviabiliza parceria na solução de problemas. Solução: • Alocação de um líder imediatamente, para mediar os conflitos e tomar decisões; • Responsabilidade do Gerente, que pode eleger um líder ou contratar novo membro.
  • 16. Problema: Código Desorganizado • O problema ocorre no momento da concepção do código, no entanto as consequências podem se manifestar em quaisquer etapas; • Dificulta a compreensão do código; • Pode levar a erros, sobrecarga de processamento por repetições de trechos; • Dificulta revisões feitas pelo próprio programador ou até numa atualização feita por parceiros; • Pode inviabilizar futura reutilização do código.
  • 17. Solução: Código Desorganizado • Solução proposta: treinamento em documentação de códigos; – Medida tomada em até 3 semanas após detecção do problema e tem duração de 1 semana; – É de responsabilidade do Gerente, com participação de todos; – Para isso é necessário contratar alguém para realizar treinamento ou buscar materiais didáticos para estudo intensivo (tutoriais ou livros).
  • 18. Problema: Falta de um líder • O problema surge no início de cada etapa, mas pode ter consequências percebidas a qualquer momento; • Reduz a probabilidade de que alguém tome decisões em situações críticas; • Pode acarretar na perda de prazos; • Não há responsabilidade de ações; • Decisões consideradas erradas podem ser atribuídas aos membros do grupo, causando desentendimentos.
  • 19. Solução: Falta de um líder • A alocação de um líder é de caráter imediato; • Deve ser realizada pelo Gerente e executada pelo líder; • Pode ser escolhido um membro com esse perfil (mediante entrevista, testes, dinâmica s de grupo) ou poderá ser feita contratação de novo membro.
  • 20. Problema: “Memory Leak” • O problema surge na concepção do problema, mas é percebido na etapa pós- venda; • Fenômeno ocorre em dispositivos dependentes de baterias, quando o programa não possui tratamento para o erro; • Gera consumo excessivo de bateria (problema de qualidade do produto).
  • 21. Solução: “Memory Leak” • Treinamento em testes específicos para detecção de “MemoryLeaks”: – Até 4 semanas após se verificar o problema; – O treinamento ocorre no mesmo ambiente dos programadores; – Deve ser executado pelo Gerente; – Para isso é necessário contratar um especialista.
  • 22. Problema: Alterações Simultâneas no Código • O problema ocorre na etapa de programação; • Mais de um programador trabalhando no mesmo problema: – O mesmo problema pode ser tratado simultaneamente, gerando esforço repetitivo; – Os programadores podem alterar trechos diferentes, destruindo a unicidade do programa; • Os programadores não têm ciência das alterações de terceiros.
  • 23. Solução: Alterações Simultâneas de Códigos • Solução proposta: Implantação de Ferramenta de Repositório: – Até 1 semana após detecção; – O ambiente de ocorrência é a Web; – É de responsabilidade do Gerente e execução de todos; – Se dá por meio da pesquisa em busca da melhor ferramenta do gênero.
  • 24. Problema: Atrasos no desenvolvimento • O problema pode ocorrer em qualquer etapa e pode afetar todo o processo; • Podem ocorrer atrasos individuais ou em grupo; • Os atrasos podem ser referentes a etapas intermediárias (mais fáceis de detectar) ou apenas no prazo final de execução (difícil de detectar ao longo do processo e muitas vezes impossível de solucionar); • Gera custos adicionais, queda de desempenho e possível perda do objetivo final.
  • 25. Solução: Atrasos no desenvolvimento • Solução: Implantação de processo de gerenciamento SCRUM: – É de caráter imediato; – É implantada pelo Gerente, executada por todos; – Ocorre no mesmo ambiente dos programadores; – É necessário contratar um profissional para treinamento.
  • 26. SCRUM 1. ScrumMaster, que mantém os processos (normalmente no lugar de um gerente de projeto) 2. Proprietário do Produto, ou Product Owner(PO), que representa os stakeholders e o negócio 3. Equipe, ou Team, um grupo multifuncional com cerca de 7 pessoas e que fazem a análise, projeto, implementação, teste etc. – Cada sprint é uma iteração que segue um ciclo (PDCA) e entrega incremento de software pronto. – Um backlog é conjunto de requisitos, priorizado pelo Product Owner (responsável por conhecer as necessidades do cliente); – Há entrega de conjunto fixo de itens do backlog em série de interações curtas ou sprints; – Breve reunião diária, ou daily scrum, em que cada participante fala sobre o progresso conseguido, o trabalho a ser realizado e/ou o que o impede de seguir avançando (também chamado de Standup Meeting ou Daily Meeting, já que os membros da equipe geralmente ficam em pé para não prolongar a reunião). – Breve sessão de planejamento, na qual os itens do backlog para uma sprint (iteração) são definidos; – Retrospectiva, na qual todos os membros da equipe refletem sobre a sprint passada.
  • 27. GUT Problema G U T Score Método da “Tentativa e Erro” 35 37 30 102 Falta de Comunicação ente os Programadores 56 52 49 157 Conflito entre as Pessoas do Projeto 53 50 51 154 Código Desorganizado 49 51 54 154 Falta de um Líder 55 55 47 157 “Memory Leak” 43 42 41 126 Atrasos no Desenvolvimento X X X 0 Alteração de Código Simultânea X X X 0
  • 30. 5W1H O quê? Quando? Onde? Por quê? Quem? Como? Alocação de um novo Líder Pra Ontem. No mesmo ambiente Para mediar conflitos e tomar Gerente Contratando (Durante 1 Semana) dos programadores decisões urgentes Implantação de Ferramenta Em 1 Semana. Na Web. Para facilitar a comunicação Gerente para Pesquisando melhor ferramenta web de comunicação de Comunicação (Durante 1 Semana) entre os integrantes do projeto Todos Treinamento em Depuração Em 2 Semanas No mesmo ambiente Para fazer a correção de erros Gerente para Contratando alguém capacitado de Códigos (Durante 1 Semana) dos programadores Todos Para dar treinamento. Treinamento em Em 3 Semanas No mesmo ambiente Para evitar código desorganizado Gerente para Contratando alguém capacitado Documentação de Códigos (Durante 1 Semana) dos programadores e facilitar o entendimento do Todos Para dar treinamento. Código Treinamento em testes Em 4 Semanas No mesmo ambiente Para evitar Vazamento de Gerente para Contratando alguém capacitado específicos para detecção (Durante 1 Semana) dos programadores Memória Todos Para dar treinamento. de “MemoryLeaks” Implantação de processo Pra Ontem. No mesmo ambiente Para evitar atrasos no Gerente para Contratando alguém capacitado de gerenciamento SCRUM (Durante 1 Semana) dos programadores. desenvolvimento Todos Para dar treinamento. Implantação de Ferramenta Em 1 Semana. Na Web. Para evitar modificações Gerente para Pesquisando melhor ferramenta web de repositório. de Repositório (Durante 1 Semana) simultâneas indesejadas no Todos código
  • 31. Gráfico de Gant Solução dos Problemas
  • 33. Gráfico de Gant Código Base em C++
  • 34. Gráfico de Gant Design Conceito Smartphones Desktop Tablets
  • 35. Gráfico Aprendizado de Gant Tradução De Tradução Código Interface Gráfica Testes Finais
  • 38. Gráfico PERT Editor de Fotos Bloco Base do Software em C++
  • 39. Gráfico PERT Editor de Fotos Tradução do Código
  • 40. Gráfico PERT Editor de Fotos Design
  • 41. ISO 9000 - International Organization for Standardization • São normas de gestão e garantia, que direcionam a implantação de sistemas de qualidade ao especificar as fases de produção ou prestação de serviços, desde a execução até a pós- venda; • A seguir são citados alguns itens tratados na revisão da norma ISSO 9001 (1994), que correspondem aos itens abordados no planejamento de qualidade apresentado no trabalho:
  • 42. • Responsabilidades da Administração: Definição das políticas, dos objetivos, da organização e das responsabilidades pela qualidade na empresa; • Controle de Projeto (do Produto): Definir regras para que as idéias (projetos) sejam transformadas em produtos desejados; • Controle de Processo: Estabelecimento do sistema que garanta a qualidade nas etapas de produção; • Inspeção e Ensaios: Definir regras para inspeções de produtos; • Assistência Técnica: Definir critérios para atividades pós- venda;