FACULDADE SETE DE SETEMBRO FASETE Departamento de Sistemas de Informação PROJETO DE FÁBRICA DE SOFTWARE Denise Xavier Fortes Paulo Afonso BA Agosto/2015
Sumário 1. INTRODUÇÃO... 3 2. PERFIS FUNCIONAIS... 3 3. METODOLOGIA DE DESENVOLVIMENTO... 4 3.1 COMERCIAL... 6 3.2 PLANEJAMENTO E GERENCIAMENTO... 6 3.3 DESENVOLVIMENTO DOS COMPONENTES... 7 3.4 TESTES E VALIDAÇÃO... 7 4. PLANO DE PROCESSOS... 8 5. MATERIAL DE INSTRUMENTAÇÃO... 11 6. FUNCIONAMENTO DA FÁBRICA DE SOFWARE... 12 6.1 Estrutura Analítica das Atividades... 12
1. INTRODUÇÃO Objetivo: Implantar a fábrica de Software na Faculdade Sete de Setembro - FASETE, com o intuito de desenvolver produtos como Web Site, Sistemas Web e Desktop e Jogos Educativos no ambiente acadêmico. Objetivos Específicos: Adotar um processo de Desenvolvimento de software; Desenvolver métodos para avaliar o progresso; Técnicas para acompanhar o andamento das atividades; Ferramentas para otimizar a construção dos artefatos; 2. PERFIS FUNCIONAIS PERFIS Gerente de Negócio Gerente de Projeto Analista de Sistemas Analista de Qualidade Engenheiro de Software Engenheiro de Testes Líder de Equipe: Design Tabela 1: Perfis e Funcionalidades Fonte: Fortes, 2014. RESPONSABILIDADES Prospecção do mercado e venda dos serviços; Gerenciamento dos riscos e das atividades em desenvolvimento devendo dimensionar e alocar os recursos necessários para a realização das tarefas de forma satisfatória, além de interagir com o cliente e o gerente e negócios; Levantamento de requisitos, análise, definição da arquitetura e documentação do sistema a ser desenvolvido. Revisão dos artefatos gerados, controle de mudanças, bem como a definição e validação da qualidade e acuraria dos processos utilizado pela fábrica. Implementação do sistema conforme as especificações e documentação, seguindo o processo de desenvolvimento definido. Desenvolvimento, validação e execução de testes e software com o intuito de assegurar a qualidade e acurácia do software produzido. Coordenação e atribuição de tarefas dentro de um grupo específico, relatando periodicamente ao gerente do projeto o andamento das atividades. Desenvolvimento do projeto visual e funcional do produto (Web ou Desktop), a adaptação do produto a necessidade dos usuários e, por fim, aplicando-se conceitos de usabilidade. 3
3. METODOLOGIA DE DESENVOLVIMENTO Será adotado o Processo Unificado da Rational mais conhecido como Ratinal Unified Process (RUP) que consiste em um ciclo de desenvolvimento iterativo e incremental, que foi criado para apoiar o desenvolvimento orientado a objetos fornecendo uma forma sistemática para se obter vantagens no uso da UML. O RUP organiza o desenvolvimento de software em quatro fases, onde são tratadas questões sobre planejamento, levantamento de requisitos, análise, implementação, teste e implantação do software. Cada fase tem um papel fundamental para que o objetivo seja cumprido, distribuídos entre vários profissionais como o Analista de sistema, Projetista, Projetista de testes, entre outros. A figura 1 abaixo mostra as Fases do RUP. Figura 1: Fases do Rup Fonte: InfoEscola Baseado nas Fases do RUP, a Fábrica de Software da Fasete adotará as seguinte metodologias de Desenvolvimento, como mostra a tabela 2 Abaixo: INICIAÇÃO ELABORAÇÃO CONSTRUÇÃO TRANSIÇÃO RUP COMERCIAL FÁBRICA DE SOFTWARE PLANEJAMENTOS E GERENCIAMENTO DESENVOLVIMENTO Tabela 2: Metodologias adotadas na Fábrica de Software Fonte: Fortes, 2014. TESTES DE VALIDAÇÃO 4
Comercial Testes de Validação Planejamento e Gerencimento Desenvolvimento Figura 2: Fases da Metodologia da Fábrica de Software. Fonte: Fortes, 2014. A Figura 2 acima ilustra o ciclo de vida das Fases que serão adotados na Fábrica de Software: Comercial, Planejamento e Gerenciamento, Desenvolvimento e Testes de Validação. Em seguida, veremos a explicação de cada uma dessas fases e os resultados que se pretendem alcançar. 5
3.1 COMERCIAL Definir o projeto de acordo com as necessidades levantadas junto ao cliente e fornecer uma estrutura com previsões razoáveis de recursos, custos prazos; dados históricos devem ser coletados para utilização em estimativas de projetos futuros, aumentando assim a chance de sucesso. Resultados: Termo de Abertura e Declaração preliminar do escopo do Projeto. 3.2 PLANEJAMENTO E GERENCIAMENTO Elaboração do plano do projeto (plano de trabalho, riscos e acompanhamento e controle); Produzir ações como comunicação do escopo, recursos envolvidos; Definir riscos e sugerir técnicas para evita-los ou minimizá-los Estimação de prazos e execução das atividades recorrentes para avaliar o progresso, coletando métricas de desempenho (concluído, atraso médio, novas atividades, em andamento) Elaborar cronogramas com divisão de trabalho e dependências entre as atividades; Gerenciar mudanças; Planejar o acompanhamento das tarefas existentes e registrar e monitorar através de relatórios, a fim de chegar o planejado com o realizado efetivamente. Desenvolver mecanismos para avaliar o progresso, organizar o pessoal que desenvolverá o produto, além de rastrear e controlar o projeto e mudanças que por ventura apareçam. Resultados: Arquitetura da solução e modelagem do projeto. 6
3.3 DESENVOLVIMENTO DOS COMPONENTES Definir o problema, especificar, criar o projeto e implementar os componentes; A implementação se desenvolverá na reutilização dos componentes previamente construídos. Resultados: Software pronto para instalar, informações sobre o processo e projeto e componentes para biblioteca. 3.4 TESTES E VALIDAÇÃO Elaboração de testes para validar os artefatos previamente construídos. Com o intuito de detectar erros antes do software a ser distribuído aos usuários; Atividades: Planejar os testes que devem ser executados em cada iteração; Verificar a correta integração entre todos os componentes do software; Averiguar se todos os requisitos do sistema foram corretamente implementados; Executar vários teste para comparar o resultado dos mesmos com os parâmetros definidos como esperados; Resultados: Execução do Software sem erros, seguindo métricas que serão estipuladas, de acordo com as especificações do projeto. 7
4. PLANO DE PROCESSOS COMERCIAL PLANEJAMENTO E GERENCIAMENTO ATIVIDADES RESPONSÁVEL ARTEFATOS C1. Levantar Necessidades do cliente Gerente de Negócio Ata de Reunião C2 Elaborar Proposta Técnica Líder de Equipe Proposta Técnica C3 Estimar Esforço do Projeto Gerente de Negócios Planilha de Estimativa de Esforço C4 Elaborar Proposta Comercial Gerente de Negócios Documento Conceitual de Projeto P1. Definir o controle do Projeto Gerente de Projeto Equipe de Trabalho Estrutura analítica do projeto (ver arquivo de aula 2 de projetos ágeis) Definição do plano de Acompanhamento e Controle. Plano de Gerenciamento de Impactos e Riscos; Plano de Gerenciamento de Configuração; Plano de Comunicação; Organograma do projeto e Alocação da equipe. 8
P2. Acompanhar e Gerenciar o projeto Gerente de Projeto Analista de qualidade Work Break down Structure (WMS) Cronológico atualizado. Definição do plano de Acompanhamento e Controle atualizado. Plano de Gerenciamento de Impactos atualizado. Plano de Gerenciamento de Configuração atualizado. Formulário de Controle de Mudança. DESENVOLVIMENTO DE COMPONENTES P3. Comunicar através de Reuniões Gerente de Projeto Atas de Reuniões Periódicas Líder de Equipes P4. Validar o Projeto Analista de Formulário de Validação do Qualidades Gerente de Negócios Cliente Documento Avaliando o Gerente de Projeto Processo Adotado Líderes de Equipes D1. Definir problema Analista de Sistemas Mind-maps Modelo de colaboração Modelo de Casos de Usos Documento de Requisitos D2. Especificar os componentes Analista de Sistema Modelo de Tipos Framework de modelos Aplicação do framework Refinamento dos diagramas de iteração D3. Projetar Componentes Analista de Sistema Modelo de classes Refinamento dos diagramas de iteração D4. Implementar componentes Engenheiro de Código Gerado 9
TESTES E VALIDAÇÃO Software T1. Elaborar Plano de Testes Engenheiro de Plano de Testes Testes T2. Implementar Testes Engenheiro de Componentes de Testes Software T3. Executar Testes E Engenheiro de Registro dos Resultados Testes T4. Avaliar Testes Engenheiro de Relatório de Avaliação de Testes Testes T5. Executar Testes e Aceitação Usuário validador Observações do validador 10
5. MATERIAL DE INSTRUMENTAÇÃO FERRAMENTAS JUDE RUNRUN.IT MYSQL SERVER ECLIPSE, NETBEANS JSF E PRIME FACES DESCRIÇÃO MODELAGEM DO SISTEMA GERENCIAMENTO DE PROJETOS COMUNICAÇÃO ENTRE OS ENVOLVIDOS BANCO DE DADOS DESENVOLVIMENTO DE SISTEMAS DESKTOP E WEB FRAMEWORKS 11
6. FUNCIONAMENTO DA FÁBRICA DE SOFWARE 6.1 Estrutura Analítica das Atividades Fábrica Comercial Planejamento e Gerenciamento Desenvolvimento de Componentes Testes e Validação Levantamentos de necessidades dos Clientes Definir Controle do Projeto Definir Problema Elaborar plano de testes Escopo do Projeto Acompanhar e Gerenciar o Projeto Especificar os componentes Implementar Testes Termo de Abertura Comunicar Através de reuniões Periodicas Validar o Projeto Projetar Componentes Implementar componentes Executar testes Avaiar Testes Executar Testes e Aceitação. 12