Processo de Desenvolvimento de Software – RUP 9. Ambiente Márcio Aurélio Ribeiro Moreira [email protected] http://si.lopesgazzani.com.br/docentes/marcio/ Conceitos Ambiente: Tudo aquilo que o projeto necessita para desenvolver e implementar o software, tais como: processo, orientações, ferramentas, modelos e infraestrutura (hardware e software) Ambiente de desenvolvimento: Ambiente aplicado à implementação do software Individual (Espaço de Trabalho) Desenvolvimento Integração (Repositório) Sistemas Infra-estrutura dos Ambientes Testes Integrados Performance e Aceitação Produção Produção Ambiente de testes: Ambiente aplicado aos testes Márcio Moreira 9. Ambiente – slide 2 Processo de Desenvolvimento de Software - RUP Funções envolvidas Administrador de Sistemas: Responsável pela infra-estrutura do ambiente Especialista em Ferramentas: Seleciona, adquire, instala e suporta as ferramentas necessárias Engenheiro de Processos: Responsável pelo processo a ser aplicado ao desenvolvimento Márcio Moreira 9. Ambiente – slide 3 Processo de Desenvolvimento de Software - RUP Objetivos da disciplina de ambiente Fornecer a organização do desenvolvimento bem como o ambiente (processos e ferramentas) que suportarão a equipe de desenvolvimento do projeto Fornecer e manter todos os ambientes necessários ao desenvolvimento do projeto Em linha gerais, podemos dizer que a disciplina de ambiente suporta todas as outras Márcio Moreira 9. Ambiente – slide 4 Processo de Desenvolvimento de Software - RUP Fluxo de trabalho de ambiente Márcio Moreira 9. Ambiente – slide 5 Processo de Desenvolvimento de Software - RUP Objetivos das atividades Preparar ambiente do projeto: Utilizada na iniciação, com o propósito de preparar o ambiente de desenvolvimento do projeto Preparar o ambiente para uma iteração: Adequar o ambiente de desenvolvimento do projeto para uma iteração Suportar o ambiente durante uma iteração: Garantir que todas as demandas de processos e ferramentas sejam atendidas durante uma iteração do projeto Márcio Moreira 9. Ambiente – slide 6 Processo de Desenvolvimento de Software - RUP A: Preparar ambiente do projeto Márcio Moreira 9. Ambiente – slide 7 Processo de Desenvolvimento de Software - RUP A: Preparar o ambiente para uma iteração Márcio Moreira 9. Ambiente – slide 8 Processo de Desenvolvimento de Software - RUP A: Suportar o ambiente durante uma iteração Márcio Moreira 9. Ambiente – slide 9 Processo de Desenvolvimento de Software - RUP Essência da disciplina de ambiente Preparação do Projeto: • • • • Processo de Desenvolvimento Caso de Desenvolvimento Diretrizes e Templates Específicas do Projeto Ferramentas Preparação de Iteração: • • • • • Caso de Desenvolvimento Diretrizes e Templates Específicas do Projeto Requisições de Mudança Manual de Guia de Estilo Ferramentas Suporte de Iteração: • Infra-estrutura de Desenvolvimento Márcio Moreira 9. Ambiente – slide 10 Processo de Desenvolvimento de Software - RUP P: Processo de Desenvolvimento Trabalho do Engenheiro de Processos: Adequar o processo de desenvolvimento (RUP ou outro) ao Projeto Publicar o processo especificado para a equipe: Ferramentas: Rational Method Composer Rational RUP Builder Preparar o Caso de Desenvolvimento, descrevendo como o processo deve ser utilizado Márcio Moreira 9. Ambiente – slide 11 Processo de Desenvolvimento de Software - RUP P: Caso de Desenvolvimento Seções típicas: Visão Geral do Caso de Desenvolvimento Modelo de Ciclo de Vida Exemplos de Planos de Iteração (1 para cada fase) Fases: Iniciação, Elaboração, Construção e Transição Detalhe do Fluxo de Trabalho (1 para cada fase) Produtos de Trabalho (artefatos) Relatórios Funções Orientações e Procedimentos Específicos do Projeto Márcio Moreira 9. Ambiente – slide 12 Processo de Desenvolvimento de Software - RUP P: Diretrizes Específicas do Projeto Contém orientações específicas para o projeto em questão: Feito pelo Engenheiro de Processos e depende de linguagem e ferramentas de implementação Os guias produzidos são amplamente reutilizados Seções típicas: Diretrizes de: Modelagem de Negócio e Requisitos Análise, Projeto e Implementação Testes Márcio Moreira 9. Ambiente – slide 13 Processo de Desenvolvimento de Software - RUP P: Templates Específicos do Projeto Modelos de documentos do projeto: A padronização é fundamental Responsabilidade do Engenheiro de Processos Os padrões produzidos são amplamente reusados Exemplos: Caso de Desenvolvimento Plano de Desenvolvimento do Software Requisições de Mudança Plano de Iteração Avaliação de Iteração Etc. Márcio Moreira 9. Ambiente – slide 14 Processo de Desenvolvimento de Software - RUP P: Manual de Guia de Estilo Uso típico: Descreve como os materiais de suporte ao usuário devem ser desenvolvidos Recomendado somente quando existem vários manuais a serem produzidos Recomenda-se o uso de guias prontos: HAC97: JoAnn T. Hackos e Dawn M. Stevens 1997. Standards for Online Communication. John Wiley and Sons, Inc. Bíblia da documentação técnica moderna (inclusive on-line) MOS98: Microsoft 1998. O Microsoft Manual of Style for Technical Publications. Redmond, WA: Microsoft Press Márcio Moreira 9. Ambiente – slide 15 Processo de Desenvolvimento de Software - RUP Exercício 5: Contexto Considerando o mesmo projeto dos exercícios 1 a 4, e além disto: A empresa está tocando neste programa (conjunto de projetos) outros 4 grandes projetos estratégicos em paralelo, são eles: SOA: Implementação de Arquitetura de Aplicações, SOA (como barramento de integração, monitoramento e gestão por processos) e Gestão de Identidades (Single Sign On) Operações: Implementação de Inventário, Aprovisionamento, Configuração e Gestão automática de funcionalidades de rede de TI e Comunicação Faturamento: Implementação de aplicação para faturamento das vendas feitas no CRM e configuradas em Operações Cobrança: Implementação de aplicação para cobrança das faturas não pagas no vencimento pelos clientes Em outras palavras, toda a cadeia de valor está sendo afetada Esses projetos precisam ser concluídos em paralelo, para ter uma integração única com as aplicações legadas que continuarão O programa é responsável pela entrada das aplicações em produção. Mas, a operação (suporte e manutenção) das aplicações em produção é de responsabilidade da equipe de Operação de TI da empresa Márcio Moreira 9. Ambiente – slide 16 Processo de Desenvolvimento de Software - RUP Exercício 5: Questões Que Atividades e Tarefas de Gestão de Projetos & Ambiente vocês recomendam que sejam utilizadas neste caso? Justifique porque vocês incluíram ou excluíram cada Atividade e Tarefa. Quais disciplinas do PMI (GP: Introdução & Ciclo de Vida slide 13 a 15, 29, 33 a 36) vocês recomendariam como reforço à Gestão de Projetos do RUP para este programa (conjunto de projetos) e por quê? Além das disciplinas do PMI, precisamos de algum Grupo de Processos do ITIL (Ciclo de Vida de Serviços – slide 43) para a entrega para a Operação de TI da empresa? Qual e por quê? Proponha uma estrutura organizacional (em termos de equipes) para o programa (todos os projetos). Márcio Moreira 9. Ambiente – slide 17 Processo de Desenvolvimento de Software - RUP Referências Sigla Referência HAC97 JoAnn T. Hackos e Dawn M. Stevens 1997. Standards for Online Communication. John Wiley and Sons, Inc. JAC98 Ivar Jacobson, Grady Booch, and James Rumbaugh. The Unified Software Development Process. 1998. Addison Wesley Longman. KRO03 Per Kroll e Philippe Kruchten 2003. The Rational Unified Process Made Easy, A Practitioners Guide to the RUP. Addison Wesley Longman. KRU98 P. Kruchten; The Rational Unified Process: An Introduction, Object Technology Series, Addison-Wesley, 1998. MAR05 Márcio Moreira. Resumo do livro Unified Process. Márcio. Uberlândia (MG). 2005. MAR06 Márcio Moreira. Engenharia de Software - RUP . Uniube - Universidade de Uberaba - Uberlândia (MG). 2006. MAR09 Márcio Moreira. Metodologia e Conceitos de Implantação de Sistemas. Empresa. Bom dia TI. Uberlândia (MG). 2009. MOS98 Microsoft 1998. O Microsoft Manual of Style for Technical Publications. Redmond, WA: Microsoft Press. PRE95 PRESSMAN, R. S. Engenharia de software. São Paulo: Makron Books. 1995. RUP08 IBM Rational. RUP – Rational Unified Process – 7.5 – For Large and Small Projects. 2008. IBM Rational. SUM07 Sommerville, Ian. Engenharia de Software. 8ª Ed. Pearson / Prentice Hall. 2007. Márcio Moreira 9. Ambiente – slide 18 Processo de Desenvolvimento de Software - RUP