UNIVERSIDADE FEDERAL DE CAMPINA GRANDE                                      CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA   ...
Objetivo• Fazer o planejamento do  desenvolvimento de um  software simples de edição  de imagens  “Multiplataforma”.• O te...
Desenvolvimento• Foi feito um primeiro planejamento para o  desenvolvimento do software de edição de imagens em  várias pl...
Dispositivos• As Plataformas e  os dispositivos  alvos para este  projeto foram  decididas de  acordo com o  mercado atual...
Plataformas•   Windows para    Desktop e    Windowsphone.•   IOS/Apple para    Macbook, Ipad e    Iphone.•   Android para ...
Código Base C++• O Programador 1 ficou responsável por:   – Elaborar o método AbrirArquivodeFoto()   – Elaborar o método S...
Tradução de Código•   Programador 1   -> Apple•   Programador 2   ->Windows•   Programador 3   ->Android•   Programador 4 ...
Design• Conceito Gráfico da Aplicação:  Criação do conceito gráfico da  aplicação com a definição de  cores, sombras, dese...
Testes• Essa parte ficou  responsável pelos testes• Testes funcionais da parte  de Código Base em C++• Testes funcionais d...
MASP-Método de Análise e Solução de           Problemas• Considerando este projeto de desenvolvimento  de software nós dec...
Problema: Método da  “Tentativa e Erro”:           • O problema surge na             ocorrência de erros que             i...
Solução: Método da                 “Tentativa e Erro”:• A solução proposta é: realizar  treinamento de depuração em  códig...
Problema: Falta de Comunicação entre         os Programadores             • O problema pode ocorrer em               qualq...
Solução: Falta de Comunicação entre            os Programadores• Solução proposta: implantação de ferramenta de  comunicaç...
Problema: Conflito entre as Pessoas do              Projeto• O problema pode ocorrer em  qualquer momento do  desenvolvime...
Problema: Código Desorganizado• O problema ocorre no momento da  concepção do código, no entanto as  consequências podem s...
Solução: Código Desorganizado              • Solução proposta:                treinamento em                documentação d...
Problema: Falta de um líder• O problema surge no início de cada  etapa, mas pode ter consequências  percebidas a qualquer ...
Solução: Falta de um líder          • A alocação de um líder é            de caráter imediato;          • Deve ser realiza...
Problema: “Memory Leak”• O problema surge na  concepção do problema, mas  é percebido na etapa pós-  venda;• Fenômeno ocor...
Solução: “Memory Leak”        • Treinamento em testes          específicos para detecção de          “MemoryLeaks”:       ...
Problema: Alterações Simultâneas no               Código• O problema ocorre na etapa de  programação;• Mais de um programa...
Solução: Alterações Simultâneas de                   Códigos• Solução proposta:  Implantação de  Ferramenta de  Repositóri...
Problema: Atrasos no  desenvolvimento      • O problema pode ocorrer em        qualquer etapa e pode afetar todo        o ...
Solução: Atrasos no desenvolvimento• Solução: Implantação de processo de gerenciamento SCRUM:   –   É de caráter imediato;...
SCRUM1.   ScrumMaster, que mantém os processos     (normalmente no lugar de um gerente de     projeto)2.   Proprietário do...
GUT                 Problema                    G   U   T Score       Método da “Tentativa e Erro”          35 37 30 102Fa...
Gráfico de Pareto60%50%40%30%20%10%0%
Diagrama de Ishikawa
5W1H         O quê?                   Quando?               Onde?                    Por quê?                   Quem?     ...
Gráfico de Gant Solução dos         Problemas
Gráfico de GantEditor de Fotos
Gráfico de Gant Código Base em C++
Gráfico de Gant DesignConceito   Smartphones   Desktop   Tablets
GráficoAprendizado      de                Gant              Tradução                 DeTradução       Código Interface Grá...
Gráfico PERTSolução dos Problemas
Gráfico PERTEditor de Fotos
Gráfico PERTEditor de Fotos                  Bloco Base do                  Software em C++
Gráfico PERTEditor de Fotos                  Tradução                  do Código
Gráfico PERTEditor de Fotos                  Design
ISO 9000 - International Organization         for Standardization• São normas de gestão e garantia, que  direcionam a impl...
• Responsabilidades da Administração: Definição das políticas,  dos objetivos, da organização e das responsabilidades pela...
OBRIGADO.
Upcoming SlideShare
Loading in...5
×

Projeto de Melhoria da Qualidade do Desenvolvimento de um Software Multiplataforma

3,737

Published on

Trabalho apresentado na disciplina Gerência, Planamento e Controle da Produção no periódo 2011.2 pelos alunos Flávio Fabrício Ventura de Melo Ferreira ,Adriano Costa de Oliveira e Ísis de Andrade Lima Ministrada pela professora Maria de Fátima Queiroz Vieira do Centro de Engenharia Elétrica e Informática (CEEI) na Universidade Federal de Campina Grande( UFCG)

Published in: Technology
1 Comment
2 Likes
Statistics
Notes
  • Muito boa tarde,Sou do site rastreamentodecelular.net ,2 amigos meu me recomendaram o blog ta muito bom,detalhado,que blog diferenciado,muito bom mesmo,vou recomendar tb até...e esse aqui http://rastreadorgps.org/rastreamento_de_celular.html alguem sabe se é bom?quero usar na minha empresa,se alguem souber de alguma referencia!!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
3,737
On Slideshare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
0
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Projeto de Melhoria da Qualidade do Desenvolvimento de um Software Multiplataforma"

  1. 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çãoAlunos: de Imagens MultiplataformaAdriano Costa de Oliveira 20721265Flávio Fabrício 21011473Ísis de Andrade Lima 21011485 Professora: Maria de Fátima Queiroz Vieira
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 26. SCRUM1. 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ócio3. 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. 27. GUT Problema G U T Score Método da “Tentativa e Erro” 35 37 30 102Falta 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
  28. 28. Gráfico de Pareto60%50%40%30%20%10%0%
  29. 29. Diagrama de Ishikawa
  30. 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 urgentesImplantaçã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 TodosTreinamento 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 capacitadoDocumentaçã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 capacitadode 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. 31. Gráfico de Gant Solução dos Problemas
  32. 32. Gráfico de GantEditor de Fotos
  33. 33. Gráfico de Gant Código Base em C++
  34. 34. Gráfico de Gant DesignConceito Smartphones Desktop Tablets
  35. 35. GráficoAprendizado de Gant Tradução DeTradução Código Interface Gráfica Testes Finais
  36. 36. Gráfico PERTSolução dos Problemas
  37. 37. Gráfico PERTEditor de Fotos
  38. 38. Gráfico PERTEditor de Fotos Bloco Base do Software em C++
  39. 39. Gráfico PERTEditor de Fotos Tradução do Código
  40. 40. Gráfico PERTEditor de Fotos Design
  41. 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. 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;
  43. 43. OBRIGADO.

×