Softwares de apoio ao desenvolvimento 2012
-
Upload
diogo-winck -
Category
Documents
-
view
2.927 -
download
3
Transcript of Softwares de apoio ao desenvolvimento 2012
![Page 1: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/1.jpg)
Softwares de Apoio ao Desenvolvimento
ESPECIALIZAÇÃO EM ENGENHARIA DE SOFTWARE
Professor(a): Diogo Vinícius Winck, MscE-mail: [email protected]
2012
![Page 3: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/3.jpg)
AQUECIMENTO
![Page 4: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/4.jpg)
"DADO UM NÚMERO DE OLHOS SUFICIENTE, TODOS OS ERROS SÃO TRIVIAIS" (LEI DE LINUS)
Precisamos favorecer a colaboração!
![Page 5: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/5.jpg)
Qual a experiência da turma?
![Page 6: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/6.jpg)
Qual a expectativa da turma?
![Page 7: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/7.jpg)
OBJETIVO GERALDesmistificar o uso de Softwares para Apoio ao Desenvolvimento.
![Page 8: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/8.jpg)
OBJETIVOS ESPECÍFICOS
• Propor um modelo para adoção de ferramentas • Apresentar os tipos de ferramentas• Apresentar as Ferramentas
![Page 9: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/9.jpg)
• SWEBOK – disponível em http://www.computer.org/portal/web/swebok/html/contents
• POPPENDIECK, Mary; POPPENDIECK, Tom. Implementando o Desenvolvimento Lean de Software. Editora: Artmed. 2010.
• KNIBERG, Henrik; SKARIN, Mattias. Kanban e Scrum - obtendo o melhor de ambos. Editora: InfoQ.com. 2011. Disponível em: http://www.infoq.com/br/minibooks/kanban-scrum-minibook
• Outros:– PRESSMANN. Engenharia de SOFTWARE - Uma Abordagem
Profissional.
– SOMMERVILLE, Ian. Engenharia de Software.
Bibliografia
![Page 10: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/10.jpg)
O QUE SÃO FERRAMENTAS DE APOIO AO DESENVOLVIMENTO DE SOFTWARE?
Toda e qualquer ferramenta utilizada em uma das etapas da engenharia de software, amplamente conhecidas por CASE.
![Page 11: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/11.jpg)
• Foram estigmatizada por ferramentas de modelagem e geração de código.
• Abrangem: ferramentas para gerencia de projeto, prototipagem, análise, testes...
Case - Computer-Aided Software Engineering
![Page 12: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/12.jpg)
QUEM PODE LISTAR EXEMPLOS DE FERRAMENTAS CASE?
![Page 13: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/13.jpg)
POR QUE ADOTAR UMA DETERMINADA FERRAMENTA?
Tornar o desenvolvimento de software: ou baratear, ou tornar mais rápido, ou ampliar escopo do software, ou aprimorar a qualidade.
![Page 14: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/14.jpg)
• Qual ponto do processo atuar?– Há processo definido e amplamente seguido?
• Custo de implantação x benefício a ser alcançado– Existem métricas definidas e indicadores claros?
• Sempre há muitas opções: como selecionar?– As opções foram avaliados igualitariamente?
• Há real necessidade de se resolver com software?
Os dilemas além da adoção de ferramentas
![Page 15: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/15.jpg)
COMO ADOTAR UMA FERRAMENTA?
![Page 16: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/16.jpg)
PROJETOSA resposta sempre é um projeto...
![Page 17: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/17.jpg)
Um projeto é um esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo.
Segundo PMBOK...
![Page 18: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/18.jpg)
POR QUE ALGUNS PROJETOS DE ADOÇÃO DE NOVAS FERRAMENTAS DÃO CERTO?
Qual a chave do sucesso?
![Page 19: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/19.jpg)
POR QUE ALGUNS PROJETOS DE ADOÇÃO DE NOVAS FERRAMENTAS DÃO ERRADO?
Se os dilemas são conhecidos, por que mesmo assim dá errado?
![Page 20: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/20.jpg)
DINÂMICA DO GERENTÃO
Tangram é um quebra-cabeça chinês formado por 7 peças (5 triângulos, 1 quadrado e 1 paralelogramo) com essas peças podemos formar várias figuras, utilizando todas elas sem sobrepô-las.
![Page 21: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/21.jpg)
RETROSPECTIVA DA DINÂMICA
![Page 22: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/22.jpg)
Falha de Comunicação
Expectativas Irrealistas
Planejamento Deficiente
Falta de Conhecimento
Falha de motivação da partes
interessadasFalta de Apoio
Falta de Recursos/Pessoas
O que está por trás das falhas/erros?
![Page 23: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/23.jpg)
PDCA
![Page 24: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/24.jpg)
PDCA
• Walter A. Shewart (década de 1920) e William Edward Deming (década de 1950)
• Foco em:– Controle eficaz– Padronização nas informações de controle– Melhoria cíclica e contínua.
![Page 25: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/25.jpg)
QUEM JÁ CONHECE OU JÁ USOU PDCA?
Qual a relação do PDCA com ferramentas de apoio para construção software?
![Page 26: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/26.jpg)
PROCESSO DE ADOÇÃO FERRAMENTAS
![Page 27: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/27.jpg)
• Todo o software de apoio pode ser testado através de uma rotina manualmente antes.
• Todo software de apoio impacta no processo de desenvolvimento. O impacto deve ser medido
• Uma ferramenta não deve tratar uma demanda queainda não existe.
É preciso assumir alguns axiomas
![Page 28: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/28.jpg)
ESTES AXIOMAS FAZEM SENTIDO? Algum outro poderia ser adicionado?
![Page 29: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/29.jpg)
QUAL A DIFERENÇA ENTRE MEDIÇÃO MEDIDA, MÉTRICA E INDICADOR?
![Page 30: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/30.jpg)
• A medição é o ato de medir.
![Page 31: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/31.jpg)
QUAIS SERIAM BONS EXEMPLOS?
![Page 32: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/32.jpg)
• A medição produz como resultado um conjunto de medidas e denota a aplicação de um processo para a obtenção de dados quantitativos.
![Page 33: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/33.jpg)
QUAIS SERIAM BONS EXEMPLOS?
![Page 34: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/34.jpg)
• As medições são conduzidas usando-se métricas. Elas descrevem regras para mapeamento de atributos de entidades do mundo real para entidades formais.
![Page 35: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/35.jpg)
QUAIS SERIAM BONS EXEMPLOS?
![Page 36: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/36.jpg)
• Um indicador é uma métrica, ou uma combinação de métricas, que fornece a compreensão sobre um projeto, um processo ou um produto de software.
![Page 37: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/37.jpg)
QUAIS SERIAM BONS EXEMPLOS?
![Page 38: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/38.jpg)
PROCESSO CONTROLADO É O PRIMEIRO PASSO
Antes de implantar é um software de apoio é preciso identificar o estado atual do processo de desenvolvimento
Em processo controlado, conhecido o estado inicial do sistema é possível prever a
evolução dos indicadores para um determinada tarefa!
![Page 39: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/39.jpg)
QUAIS SÃO AS ETAPAS DO PROCESSO DE SOFTWARE?
Em quais pontos o processo de software pode falar?Como saber que falhou?
![Page 40: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/40.jpg)
• Bugs fechados por Mês / Total Bugs conhecidos• Núm. de novas Funcionalidade solicitadas abertas• Custo mensal de manutenção• Custo Mensal de Suporte• Investimento Mensal em Inovação• Cancelamento de Contratos por período• Tempo Médio de resposta de atendimento• Tempo Médio de resposta de manutenção• Número médio de iterações com cliente dado um
problema
Quais métricas podem ser utilizadas?
![Page 41: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/41.jpg)
QUAIS OUTRAS MÉTRICAS?
![Page 42: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/42.jpg)
Qual é a meta? Qual indicador favorecer?
Maximizar o ROI
• (Total de Lucros – Total de Perdas) / Total do investimento
Não faz sentido um projeto para implantar uma nova ferramenta que não gere
um ROI maior que 1...
![Page 43: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/43.jpg)
• Envolver os participantes é fundamental… • Selecionar indicadores que contribuem para a
meta e relacionam-se com a ferramenta.• Método Científico - alterar uma variável por
vez• Foco em resolver um problema por vez –
enfileirar os patinhos
Processo Adoção de ferramentas
![Page 44: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/44.jpg)
• Treinar• Executar• Observar
• Verificar
• Métricas• Indicadores• Metas• Métodos
• Corrigir
Act Plan
DoCheck
![Page 45: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/45.jpg)
ESTUDO DE CASOAvaliando/Selecionando Ferramentas
![Page 46: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/46.jpg)
Definição de Requisitos
Definição de Critérios
Elaboração de Lista de Softwares
Classificação dos
Softwares
COMO AVALIAR UMA FERRAMENTA?
![Page 47: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/47.jpg)
• Na nossa empresa a Alice Informática Ltda. Identificamos que quando nos deparamos com graves problemas nos nossos clientes nem sempre avaliamos de forma ampla.
• Um participante da empresa percebeu que o uso de mapas mentais (ou mapas conceituais) tem ajudado ele a tratar melhor os problemas.
• Na reunião de verificação surgiu a sugestão de adotar esta prática usando uma ferramenta para tal.
O Caso
![Page 48: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/48.jpg)
• Simplicidade – só precisa de papel e caneta/lápis
• Rápido • Depois do problema resolvido se perde...• Falta de rigor/padrão
Exemplo de mapa mental criado na nossa empresa
![Page 49: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/49.jpg)
• Toda ferramenta de apoio pode ser simulada de maneira manual
• As premissas:– Processo (em questão) está estável– Existem métricas/Indicadores para avaliar o
processo antes e após adoção• Quais indicadores deverão ser impactados?
– Foi identificada uma oportunidade melhoria?– E possível simular?
Preparação
![Page 50: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/50.jpg)
• Objetivo é criar uma lista de requisitos para a necessidade identificada
• Pode ser feito através de:– Entrevistas com usuários– Consulta a especialistas– Comparação com modelos de referencia – Consulta a publicações
Fase 1 – Definição dos requisitos
![Page 51: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/51.jpg)
• A ferramenta deve permitir exportar imagens dos mapas mentais.
• Inserir figuras aos nós
• Quais outros requisitos?
Exemplo de requisito
![Page 52: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/52.jpg)
• Há requisitos suficientes para analisar e classificar possíveis soluções.
• Os requisitos listados são relevantes?• Os requisitos listados podem ser efetivamente
verificados?
Verificação da Fase 1
![Page 53: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/53.jpg)
• Considerar/Elencar os critérios a serem considerados para cada requisito levantado.
• Definir prioridade entre os requisitos– Para isto utilizar: entrevistas entre os participantes
da empresa (futuros usuários)– Os pesos variam entre:
• 0.0 – sem importância• 0.2 – pouca importância• 0.6 – média importância• 1.0 – muita importância
Fase 2 – Definição de Critérios
![Page 54: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/54.jpg)
• A ferramenta deve permitir exportar imagens dos mapas metais– Em JPG (muito importante)– Em BMP (sem importância)– Em DOC (média importância)
• Inserir figuras– Ícones predefinidos– muito importante– Figuras externas – pouca importância
Exemplo de Critério
![Page 55: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/55.jpg)
• Nesta verificação deve-se:– Revisar a lista de critérios: estão coerentes?– Revisar as prioridades: estão coerentes?
Verificação da Fase 2
![Page 56: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/56.jpg)
• Deve-se buscar sistematicamente opções de ferramentas na internet, publicações especializadas e fornecedores.
• Uma planilha organizada organizada é formada com as opções identificadas
• Deve ser feita uma avaliações prévia dos softwares para identificar que softwares que possam ser eliminados– Deve-se manter o histórico do motivo da eliminação.
Fase 3 – Busca por softwares
![Page 57: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/57.jpg)
• Freemind• Mindman personal• Microsoft Visio
Algumas ferramentas
![Page 58: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/58.jpg)
• A lista criada está consistente?• Softwares de referência para a solução da
situação proposta estão na lista.
Verificação da Fase 3
![Page 59: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/59.jpg)
• Avaliar o software segundo a planilha de critérios definida.– Através de comparativos realizados por publicações de referencia– Instalação e verificação dos critérios– Reunião com os fornecedores
• Deve-se preencher a planilha atribuindo os pesos:– 0 – não atende o critério– 3 – atende parcialmente– 5 – atende completamente
• Deve-se gerar uma média considerando peso do critério x aderência.
Fase 4 - Avaliação
![Page 60: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/60.jpg)
Planilha - FreemindCritério Peso Avaliação valorJPG 1 5 5BMP 0 5 0Doc 0,6 5 3Ícones 1 5 5Imagem 0,2 3 0,6total 13,6
![Page 61: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/61.jpg)
• A lista de softwares está classificada segundo os critérios definidos
Encerramento
![Page 62: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/62.jpg)
• O projeto de implantação deve possuir milestones claros.
• A cada milestones deve-se verificar o impacto nos indicadores selecionados.
Retrospectiva
![Page 63: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/63.jpg)
OS CLASSIFICANDO AS FERRAMENTAS EXISTENTES
![Page 64: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/64.jpg)
SWEBOKSegundo o SWEBOK, as áreas de conhecimento da Engenharia de Software são:• Requisitos de Software• Projeto de Software• Construção de Software• Teste de Software• Manutenção de Software• Gerência de Configuração de Software• Gerência da Engenharia de Software• Processo de Engenharia de Software• Ferramentas e Métodos da Engenharia de Software• Qualidade de Software
![Page 65: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/65.jpg)
DETALHANDO...
![Page 66: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/66.jpg)
Ferramentas e Métodos da Engenharia de Software
Ferramentas de software automatizam o processo de engenharia de software.Métodos impõem estrutura sobre a atividade de desenvolvimento e manutenção de software com o objetivo de torná-la sistemática e mais propensa ao sucesso.
![Page 67: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/67.jpg)
Requisitos de software
Aquisição, análise, especificação e gestão de requisitos de software.
![Page 68: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/68.jpg)
Projeto de software
Transformação de requisitos, tipicamente estabelecidos em termos relevantes ao domínio do problema, em uma descrição explicando como solucionar os aspectos do problema relacionados com software
![Page 69: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/69.jpg)
• Análise de problema– Mapas mentais
• Gerência De Projetos– Microsoft Project, dotProject, – Issue track
• Diagramas– Modelagem geral: Rational Rose, Astah– Modelagem de BD: DBDesigner
• Ferramentas de Prototipagem e Mockup– Balsamiq, NetBeans ...
• Editores de texto colaborativo– Wiki
Ferramentas para Requisitos e Projeto
![Page 70: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/70.jpg)
Construção de Software
Construção de programas funcionais e coerentes através da codificação, auto validação, e teste unitário.
![Page 71: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/71.jpg)
Manutenção de Software
Modificação do software com o objetivo de corrigir falhas, melhorar seu desempenho ou adapta-lo a um ambiente modificado. Pode ocorrer antes e após a entrega do software.
![Page 72: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/72.jpg)
Ferramentas para Construção e Manutenção de Software
• Controle de Versão– CVS, Subversion, Git,
Mercurial,
• Teste Unitários– Junit, Cunit, Infinitest
• Automação de tarefas – Ant, Maven
• Geração de Código– JEE Spider, Velocity
• Documentação– JavaDoc, Wiki, ECM/GED
• Gestão de solicitações: Issue Track/bug track– Jira, Trac., Bugzilla
• Fórum• Geradores de instalação• Auditoria de Ambiente• Acesso remoto
![Page 73: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/73.jpg)
Teste de Software
Verificação dinâmica do comportamento do programa através do uso de um conjunto finito de casos de teste - adequadamente selecionados de um domínio de execuções usualmente infinito - contra o comportamento esperado deste.
![Page 74: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/74.jpg)
Qualidade de Software
Conjunto de atividades relacionadas com garantia de qualidade de software, entre estas as atividades de verificação e validação.
![Page 75: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/75.jpg)
• Teste Unitário– Junit, Cunit
• Teste Integrado e/ou sistêmico– Selenium– Jmeter
• Análise de cobertura de tester– Clover
• Gestão de Métricas de código fonte– Sonar
• Ferramentas de Métricas– Costar, USC-COCOMO,Calico
• Análise de Código Fonte– PMD, CheckStyle
Ferramentas para Teste e Qualidade
![Page 76: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/76.jpg)
Gerência de Configuração de Software
Identifica a configuração do sistema em pontos discretos no tempo, de modo a controlar sistematicamente suas mudanças e manter sua integridade e rastreabilidade durante o ciclo de vida do sistema
![Page 77: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/77.jpg)
• Automação de tarefas – Ant, Maven
• Integração continua– Continuum, Bamboo, Jenkins
• Repositório de Componentes– Nexus, Archiva
Ferramentas para Gerência de Configuração de Software
![Page 78: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/78.jpg)
Gerência de Engenharia de Software
Gerencia projetos de desenvolvimento de software
![Page 79: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/79.jpg)
Processo de Engenharia de Software
Define, implementa, mede, gerencia, modifica e aperfeiçoa o processo de desenvolvimento de software
![Page 80: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/80.jpg)
• Gestão de solicitações: Issue Track/bug track– Jira, Trac., Bugzilla
• Ferramentas para engenharia de processo– Aris Toolset, HPS Ithink Analyst
• Ferramentas de Métricas– Costar, USC-COCOMO,Calico
Ferramentas Processos de Engenharia e Gerência de Engenharia de Software
![Page 81: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/81.jpg)
É um tipo de diagrama, sistematizado pelo inglês Tony Buzan, voltado para a gestão de informações, de conhecimento e de capital intelectual; para a compreensão e solução de problemas; na memorização e aprendizado; na criação de manuais, livros e palestras; como ferramenta de brainstorming e no auxílio da gestão estratégica de uma empresa ou negócio• Ferramentas:– FreeMind – Gratuito– MindGenius – pago
Mapas Mentais
![Page 82: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/82.jpg)
• Enterprise Architect: ferramenta que trata do ciclo de vida de software de forma completa.
• IBM Rational: Um produto integrado para gerenciamento de requisitos, modelagem e de referência de utilização que promove melhor comunicação, aprimora o trabalho em equipe e reduz o risco do projeto.
Ferramentas para Modelagem de Software
![Page 83: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/83.jpg)
• DBDesigner: Editor visual para criação de banco de dados mySQL que integra criação, modelagem, desenvolvimento e manutenção dos bancos em um ambiente simples e agradável.
• Outras ferramentas:– Oracle's Designer,
Ferramentas para Modelagem de Banco de Dados
![Page 84: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/84.jpg)
• Wiki são utilizados para identificar um tipo específico de coleção de documentos em hipertexto ou o software colaborativo usado para criá-lo.
• Wiki designa o software colaborativo permite a edição coletiva dos documentos usando um sistema que não necessita que o conteúdo tenha que ser revisto antes da sua publicação.
Wiki
![Page 85: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/85.jpg)
Wiki - ComparativoGeral Confluence MediaWiki XWikiLinguagem de programação Java PHP e Ocaml Java
Banco de dadosPostgres, MySQL, Oracle, DB2, MS-SQL Server) MySQL MySQL
Upload de arquivos sim sim simPrevenção Spam sim simControle acesso sim sim simUso de HTML opcional sim sim
Interface com o usuário final templates e temas
templates, "Versão para impressão"
CSS, templates, temas
Feeds sim, RSS sim, RSS/Atom
Extensível plugins em Java nãoplugins, macros, scripts
Licença de Software Comercial GPL v2 GPL/LGPL
![Page 86: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/86.jpg)
• GED é uma tecnologia que provê um meio de facilmente gerar, controlar, armazenar, compartilhar e recuperar informações existentes em documentos.
• ECM é o conjunto de tecnologias usadas para gerir o ciclo de vida das informações não-estruturadas de uma organização, contemplando as fases de criação/captura, armazenamento, versionamento, indexação, gestão, limpeza, distribuição, publicação, pesquisa e arquivamento, relacionando os conteúdos com processos de negócio.
GED / ECM
![Page 87: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/87.jpg)
• Comercial– IBM ECM– Alfresco Enterprise – Xerox DocuShare
• Open Source– Alfresco Community
Ferramentas
![Page 88: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/88.jpg)
• Issue Track são ferramentas destinadas a organizar e manter a lista de demandas para um determinado produto
• Bug Tracker são fermentas destinadas a organizar e manter as solicitação de correção de bugs.
• Exemplos – Jira (pago) – Excelente ferramenta.– Trac (gratuito) – Excelente ferramenta – configuração
complexa.
Issue Tracker e Bug Tracker
![Page 89: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/89.jpg)
• Prototipagem de Software é um processo interativo de geração de modelos de software que faz parte da análise do ciclo de vida do desenvolvimento de sistemas.
• São ferramentas utilizadas durante o processo de prototipação. Algumas utilizam esquemas em papel na análise inicial, para facilitar um feedback concreto dos usuários, e depois desenvolvem um protótipo operacional .
Gerenciamento de Projeto
![Page 90: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/90.jpg)
• São ferramenta utilizada para automatizar a construção de software.
• Exemplos– Ant – compila utilizando build.xml– Maven – gerencia o ciclo de vida de
desenvolvimento, utilizando hierarquia de repositórios de componentes para localizar as dependências de bibliotecas.
Automação de Tarefas
![Page 91: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/91.jpg)
• Integração Contínua é uma pratica de desenvolvimento de software onde os membros de um time integram seu trabalho freqüentemente, geralmente cada pessoa integra pelo menos diariamente – podendo haver múltiplas integrações por dia.
• Exemplos– Continuum (gratuito)– Bamboo (proprietário)
Integração continua
![Page 92: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/92.jpg)
• Download do fornecedor• Através de VM prontas– http://www.turnkeylinux.org/– http://bitnami.org
Onde obter
![Page 93: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/93.jpg)
![Page 94: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/94.jpg)
RETROSPECTIVA
![Page 95: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/95.jpg)
• Selecione uma tarefa recorrente que você acredita que possa ser melhorada – prefira algo profissional e vinculado a software.– Não esqueça de definir critérios e pontos de checagem!
• Faça o Plan desta etapa:– Métricas– Indicadores– Metas– Métodos
• Estruture o planejamento e elabore detalhando-o e uma apresentação.
• O documento deve ser entregue no segundo encontro• Alguns alunos serão sorteados para apresentar o planejamento.
Trabalho 1 - Estudo de caso
![Page 96: Softwares de apoio ao desenvolvimento 2012](https://reader033.fdocuments.net/reader033/viewer/2022060116/557d7afdd8b42ad67d8b47c5/html5/thumbnails/96.jpg)
• Serão sorteadas ferramentas para cada dupla.• A dupla deverá estudar a ferramenta, instalar,
testar e elaborar um avaliação crítica da ferramenta em formato de artigo.
• O Artigo deverá ser entregue para os demais alunos da sala – pode ser por e-mail.
• Deve-se elaborar uma apresentação da ferramenta onde a ferramenta deverá ser ‘vendida’ e convencer a sala a ‘comprar’ a ferramenta.
Trabalho 2 – Ferramenta