UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática Pós-Graduação em Ciência da Computação Tópicos Avançados em Engenharia de Software 3 “Ferramentas Livres para Atendimento as Áreas de Processo do CMMI Nível 2” Por Ricardo André C. de Souza [email protected] 13 de Setembro de 2004 1 / 13 Roteiro Motivação CMMI Software Livre Ferramentas de SW Livre Relação entre PA’s e Ferramentas Livres Conclusões e Trabalhos Futuros Referências 13 de Setembro de 2004 2 / 13 Motivação Difusão de softwares livres nas organizações público/privadas; Ética, no que diz respeito a pirataria de softwares; Determinação do governo federal à adoção de softwares livres nos órgãos públicos (escolas, universidades, repartições, etc); Estímulo a estudantes, pesquisadores e profissionais a adaptarem os softwares livres existentes às suas necessidades; Viabilizar a implantação de um modelo de qualidade em organizações que tem recursos limitados quanto a aquisição de softwares. 13 de Setembro de 2004 3 / 13 CMMI Propósito Fornecer guias para o melhoramento de processos e para o gerenciamento do desenvolvimento, aquisição, e manutenção de produtos e serviços. Representações Contínua – similar a ISO/IEC 15504, abordagem mais flexível, alinhada ao objetivo de negócio da organização. Em estágios – similar a SW-CMM, oferece um passo a passo detalhado para melhoria do processo, define níveis de maturidade. 13 de Setembro de 2004 4 / 13 CMMI Componentes da Representação em Estágios Conjunto de práticas que satisfazem um conjunto de objetivos importantes para Níveis de Maturidade se ter melhoria significativa na área. Área de Processo 1 Descrevem o que deve ser implementado para satisfazer a área de processo. Descrevem as atividades para cumprimento dos objetivos específicos de uma PA Área de Processo 2 Objetivos Específicos Práticas Específicas Asseguram que os processos associados a uma PA sejam eficazes, repetíveis e duradouros. 13 de Setembro de 2004 Estágio evolutivo de melhoramento de processo Nível 1 – Inicial, Nível 2 – Gerenciado, Nível 3 – Definido, Nível 4 – Gerenciado Quantitativamente, Nível 5 – Otimizando. Área de Processo n Objetivos Genéricos Podem aparecer em múltiplas PA’s. Maior controle no planejamento e implantação de processos. Organizam as práticas genéricas CO – Compromisso a executar, AB – Habilidade a executar, Características Comuns DI – Direcionando a execução, (CO, AB, DI, VE) VE – Verificando a execução. Práticas Genéricas 5 / 13 CMMI Nível 2 - Gerenciado Os requisitos são gerenciados e os processos são planejados, realizados, medidos e controlados; Áreas de Processo Gerenciamento de Requisitos, Planejamento de Projeto, Controle e Monitoramento de Projeto, Gerenciamento do Fornecedor, Análise e Medição, Garantia da Qualidade do Produto e do Processo. 13 de Setembro de 2004 6 / 13 Software Livre Definição Software Livre (Free Software) é o software disponível com a permissão para qualquer um usá-lo, copiá-lo e distribuí-lo, seja na forma original ou com modificações, seja gratuitamente ou com custo; A possibilidade de modificação implica em que o código fonte esteja disponível (Open Source) e o software deve poder ser executado em um sistema operacional também livre. Freeware Softwares que permitem a redistribuição mas não a modificação, e seu código fonte não é disponibilizado. 13 de Setembro de 2004 7 / 13 Software Livre Histórico Em 1985 foi criada a Free Software Foundation, motivada pela indignação do então integrante do MIT, Richard Stallman, contra a proibição de se acessar o código fonte de um software, desenvolvido a partir do conhecimento acumulado de tantos outros programadores; A idéia era produzir um sistema operacional livre que tivesse a lógica do sistema Unix que era proprietário. Por isso, os vários esforços de programação eram reunidos em torno do nome GNU (Gnu Is Not Unix); A fundação inventou a GPL (General Public License), conhecida como copyleft em contraposição a copyright, para garantir que os esforços coletivos não sejam indevidamente considerados propriedades de alguém; 13 de Setembro de 2004 8 / 13 Software Livre Histórico (Continuação) Com a difusão da Internet, o movimento de software livre ganhou o mundo e logrou produzir um sistema operacional livre, completo e multifuncional; Em 1992, o finlandês Linus Torvald conseguiu compilar todos os programas do movimento GNU em um kernel (núcleo central), o que viabilizou o sistema operacional; Torvald denominou este seu esforço de Linux (Linus for Unix), nascendo o GNU/Linux. 13 de Setembro de 2004 9 / 13 Ferramentas de SW Livre Ferramenta Características Principais S.O. LPs QualCon Rastreamento de Requisitos. Windows, Linux Delphi, PHP TUTOS Gerenciamento de Catálogos de Endereços, Registro de Bugs, Gerenciamento de Atividades, Gerenciamento de Horas Trabalhadas. Independente PHP GanttProject Planejamento de Projeto utilizando Gráfico de Gantt. Independente Java NetOffice Gerenciamento de Projeto que necessita de colaboração entre Contratante e Contratado, Registro de Discussões e Informações, Validação de Documentos Independente PHP, JavaScript MrProject Gerenciamento de Projeto Linux PHP OpenOffice Ferramenta de Escritório Independente C++ CVS Controle de Versões Independente C++ Bugzilla Registro de Defeitos (bugs) e Soluções Independente CGI ArgoUML Modelagem UML Independente Java 13 de Setembro de 2004 10 / 13 Relação entre PA’s e Ferramentas Livres Área de Processo Principais Produtos de Trabalho Ferramentas Sugeridas Gerenciamento de Requisitos Registro de requisitos, Matriz de rastreabilidade de requisitos. QualCon, OpenOffice. Planejamento de Projeto WBS, Estimativa com base em dados históricos das tarefas e produtos de trabalho, Cronograma, Orçamento, Lista de Riscos. OpenOffice, CVS, TUTOS, GanttProject, MrProject. Controle e Monitoramento de Projeto Performance do projeto, monitoramento dos riscos, revisões de milestones, revisões do plano de projeto. OpenOffice, TUTOS, GanttProject, MrProject. Gerenciamento do Fornecedor Lista de fornecedores, Critérios de avaliação, Testes de Aceitação, Documentação do produto e das entregas. NetOffice, OpenOffice, QualCon. Análise e Medição Medidas base (homens/hora, defeitos), Medidas Derivadas (EV, SPI), Resultado das análises. OpenOffice, Bugzilla. Garantia da Qualidade do Produto e do Processo Relatórios de não-conformidades, Gerenciamento de configuração, Requisições de mudanças, Revisões de Baselines OpenOffice, MrProject, Bugzilla, TUTOS, GanttProject, CVS 13 de Setembro de 2004 11 / 13 Conclusões e Trabalhos Futuros Ferramentas de Software Livre: Prós: viáveis, customizáveis; Contras: documentação de uso e instalação, suporte. Trabalhos Futuros Experimento real através de um estudo de caso; Integração entre as ferramentas para automatizar o processo e evitar redundância de informações e re-trabalho. 13 de Setembro de 2004 12 / 13 Referências CMMI Product Team. Capability Maturity Model Integration (CMMI) for Software Engineering Version 1.1, Staged Representation. SEI (Software Engineering Institute) – Carnegie Mellon, USA, Ago, 2002. ; Implementação de Software Livre no Governo Federal. www.softwarelivre.gov.br GNU Operating System – Free Software Foundation. www.gnu.org. Sites de Dowload: sourceforge.net, openoffice.org, bugzilla.org, mrproject.codefactory.se, gnu.org/software/cvs. 13 de Setembro de 2004 13 / 13