Escolar Documentos
Profissional Documentos
Cultura Documentos
ESPECIALIZAO EM ENGENHARIA DE SOFTWARE Professor(a): Diogo Vincius Winck, Msc E-mail: diogo.winck@gmail.com 2012
AQUECIMENTO
OBJETIVO GERAL
Propor um modelo para adoo de ferramentas Apresentar os tipos de ferramentas Apresentar as Ferramentas
OBJETIVOS ESPECFICOS
Bibliografia
SWEBOK disponvel 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. Disponvel em: http://www.infoq.com/br/minibooks/kanban-scrum-minibook Outros:
PRESSMANN. Engenharia de SOFTWARE - Uma Abordagem Profissional. SOMMERVILLE, Ian. Engenharia de Software.
Toda e qualquer ferramenta utilizada em uma das etapas da engenharia de software, amplamente conhecidas por CASE.
Tornar o desenvolvimento de software: ou baratear, ou tornar mais rpido, ou ampliar escopo do software, ou aprimorar a qualidade.
PROJETOS
Um projeto um esforo temporrio empreendido para criar um produto, servio ou resultado exclusivo.
Segundo PMBOK...
Tangram um quebra-cabea chins formado por 7 peas (5 tringulos, 1 quadrado e 1 paralelogramo) com essas peas podemos formar vrias figuras, utilizando todas elas sem sobrep-las.
DINMICA DO GERENTO
RETROSPECTIVA DA DINMICA
Planejamento Deficiente
Falta de Conhecimento
Falta de Apoio
Falha de Comunicao
Falta de Recursos/Pessoas
Expectativas Irrealistas
PDCA
PDCA
Walter A. Shewart (dcada de 1920) e William Edward Deming (dcada de 1950) Foco em:
Controle eficaz Padronizao nas informaes de controle Melhoria cclica e contnua.
A medio produz como resultado um conjunto de medidas e denota a aplicao de um processo para a obteno de dados quantitativos.
As medies so conduzidas usando-se mtricas. Elas descrevem regras para mapeamento de atributos de entidades do mundo real para entidades formais.
Um indicador uma mtrica, ou uma combinao de mtricas, que fornece a compreenso sobre um projeto, um processo ou um produto de software.
Em processo controlado, conhecido o estado inicial do sistema possvel prever a evoluo dos indicadores para um determinada tarefa!
Antes de implantar um software de apoio preciso identificar o estado atual do processo de desenvolvimento
Em quais pontos o processo de software pode falar? Como saber que falhou?
No faz sentido um projeto para implantar uma nova ferramenta que no gere um ROI maior que 1...
Corrigir
Act
Plan
Check
Verificar
Do
Treinar Executar Observar
Avaliando/Selecionando Ferramentas
ESTUDO DE CASO
Definio de Requisitos
Definio de Critrios
O Caso
Na nossa empresa a Alice Informtica 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 reunio de verificao surgiu a sugesto de adotar esta prtica usando uma ferramenta para tal.
Preparao
Toda ferramenta de apoio pode ser simulada de maneira manual
As premissas:
Processo (em questo) est estvel Existem mtricas/Indicadores para avaliar o processo antes e aps adoo
Quais indicadores devero ser impactados?
Exemplo de requisito
A ferramenta deve permitir exportar imagens dos mapas mentais. Inserir figuras aos ns Quais outros requisitos?
Verificao da Fase 1
H requisitos suficientes para analisar e classificar possveis solues. Os requisitos listados so relevantes? Os requisitos listados podem ser efetivamente verificados?
Exemplo de Critrio
A ferramenta deve permitir exportar imagens dos mapas metais
Em JPG (muito importante) Em BMP (sem importncia) Em DOC (mdia importncia)
Inserir figuras
cones predefinidos muito importante Figuras externas pouca importncia
Verificao da Fase 2
Nesta verificao deve-se:
Revisar a lista de critrios: esto coerentes? Revisar as prioridades: esto coerentes?
Algumas ferramentas
Freemind Mindman personal Microsoft Visio
Verificao da Fase 3
A lista criada est consistente? Softwares de referncia para a soluo da situao proposta esto na lista.
Fase 4 - Avaliao
Avaliar o software segundo a planilha de critrios definida.
Atravs de comparativos realizados por publicaes de referencia Instalao e verificao dos critrios Reunio com os fornecedores
Planilha - Freemind
Critrio JPG BMP Doc cones Imagem total Peso 1 0 0,6 1 0,2 Avaliao 5 5 5 5 3 valor 5 0 3 5 0,6 13,6
Encerramento
A lista de softwares est classificada segundo os critrios definidos
Retrospectiva
O projeto de implantao deve possuir milestones claros. A cada milestones deve-se verificar o impacto nos indicadores selecionados.
SWEBOK
Segundo o SWEBOK, as reas de conhecimento da Engenharia de Software so: Requisitos de Software Projeto de Software Construo de Software Teste de Software Manuteno de Software Gerncia de Configurao de Software Gerncia da Engenharia de Software Processo de Engenharia de Software Ferramentas e Mtodos da Engenharia de Software Qualidade de Software
DETALHANDO...
Requisitos de software
Aquisio, anlise, especificao e gesto de requisitos de software.
Projeto de software
Transformao de requisitos, tipicamente estabelecidos em termos relevantes ao domnio do problema, em uma descrio explicando como solucionar os aspectos do problema relacionados com software
Gerncia De Projetos
Microsoft Project, dotProject, Issue track
Diagramas
Modelagem geral: Rational Rose, Astah Modelagem de BD: DBDesigner
Construo de Software
Construo de programas funcionais e coerentes atravs da codificao, auto validao, e teste unitrio.
Manuteno de Software
Modificao do software com o objetivo de corrigir falhas, melhorar seu desempenho ou adapta-lo a um ambiente modificado. Pode ocorrer antes e aps a entrega do software.
Documentao
JavaDoc, Wiki, ECM/GED
Teste Unitrios
Junit, Cunit, Infinitest
Automao de tarefas
Ant, Maven
Gerao de Cdigo
JEE Spider, Velocity
Teste de Software
Verificao dinmica do comportamento do programa atravs do uso de um conjunto finito de casos de teste - adequadamente selecionados de um domnio de execues usualmente infinito - contra o comportamento esperado deste.
Qualidade de Software
Conjunto de atividades relacionadas com garantia de qualidade de software, entre estas as atividades de verificao e validao.
Ferramentas de Mtricas
Costar, USC-COCOMO,Calico
Integrao continua
Continuum, Bamboo, Jenkins
Repositrio de Componentes
Nexus, Archiva
Ferramentas de Mtricas
Costar, USC-COCOMO,Calico
Mapas Mentais
um tipo de diagrama, sistematizado pelo ingls Tony Buzan, voltado para a gesto de informaes, de conhecimento e de capital intelectual; para a compreenso e soluo de problemas; na memorizao e aprendizado; na criao de manuais, livros e palestras; como ferramenta de brainstorming e no auxlio da gesto estratgica de uma empresa ou negcio Ferramentas:
FreeMind Gratuito MindGenius pago
Wiki
Wiki so utilizados para identificar um tipo especfico de coleo de documentos em hipertexto ou o software colaborativo usado para cri-lo. Wiki designa o software colaborativo permite a edio coletiva dos documentos usando um sistema que no necessita que o contedo tenha que ser revisto antes da sua publicao.
Wiki - Comparativo
Geral Linguagem de programao
Banco de dados Upload de arquivos Preveno Spam Controle acesso Uso de HTML Interface com o usurio final Feeds Extensvel
Confluence
Java
MediaWiki
PHP e Ocaml
XWiki
Java MySQL sim sim sim CSS, templates, temas
Postgres, MySQL, Oracle, DB2, MS-SQL Server) MySQL sim sim sim opcional sim sim sim sim templates, "Verso para impresso" sim, RSS/Atom no GPL v2
GED / ECM
GED uma tecnologia que prov um meio de facilmente gerar, controlar, armazenar, compartilhar e recuperar informaes existentes em documentos.
ECM o conjunto de tecnologias usadas para gerir o ciclo de vida das informaes no-estruturadas de uma organizao, contemplando as fases de criao/captura, armazenamento, versionamento, indexao, gesto, limpeza, distribuio, publicao, pesquisa e arquivamento, relacionando os contedos com processos de negcio.
Ferramentas
Comercial
IBM ECM Alfresco Enterprise Xerox DocuShare
Open Source
Alfresco Community
Gerenciamento de Projeto
Prototipagem de Software um processo interativo de gerao de modelos de software que faz parte da anlise do ciclo de vida do desenvolvimento de sistemas.
So ferramentas utilizadas durante o processo de prototipao. Algumas utilizam esquemas em papel na anlise inicial, para facilitar um feedback concreto dos usurios, e depois desenvolvem um prottipo operacional .
Automao de Tarefas
So ferramenta utilizada para automatizar a construo de software. Exemplos
Ant compila utilizando build.xml Maven gerencia o ciclo de vida de desenvolvimento, utilizando hierarquia de repositrios de componentes para localizar as dependncias de bibliotecas.
Integrao continua
Integrao Contnua uma pratica de desenvolvimento de software onde os membros de um time integram seu trabalho freqentemente, geralmente cada pessoa integra pelo menos diariamente podendo haver mltiplas integraes por dia. Exemplos
Continuum (gratuito) Bamboo (proprietrio)
Onde obter
Download do fornecedor Atravs de VM prontas
http://www.turnkeylinux.org/ http://bitnami.org
RETROSPECTIVA
Estruture o planejamento e elabore detalhando-o e uma apresentao. O documento deve ser entregue no segundo encontro Alguns alunos sero sorteados para apresentar o planejamento.
Trabalho 2 Ferramenta
Sero sorteadas ferramentas para cada dupla. A dupla dever estudar a ferramenta, instalar, testar e elaborar um avaliao crtica 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 apresentao da ferramenta onde a ferramenta dever ser vendida e convencer a sala a comprar a ferramenta.