Baixe o app para aproveitar ainda mais
Prévia do material em texto
Rational Unified Process (RUP) Engenharia de Software – Turma TI Básico Prof. Thiago Souza – thiagosouza@cos.ufrj.br Apresentação 2 } Professor } Formação } Doutorando em Engenharia de Sistemas e Computação/UFRJ } Mestre em Informática/UFRJ } Especialista em Desenvolvimento de Sistemas Distribuídos/UFRJ } Bacharel em Sistemas de Informação/UNIGRANRIO } Certificações } Certified Professional for Requirements Engineering/IREB } Certified Tester Foundation Level/BSTQB } Sun Certified Java Associate/Oracle } Experiência Profissional } Analista de Sistemas/SERPRO (desde 2005) } Professor Universitário/UNIGRANRIO (desde 2004) } Professor Pós-Graduação Lato Sensu/UFRJ (desde 2013) Rational Unified Process (RUP) - Prof. Thiago Souza Programação 3 Técnicas de Verificação e Validação de Software - Prof. Thiago Souza Data Assuntos 29/04 Fundamentos de Engenharia de Software 06/05 Rational Unified Process (RUP) 13/05 Scrum 20/05 Extreme Programming (XP) 27/05 CMMI 03/06 MPS.BR 10/06 Engenharia de Requisitos 17/06 Engenharia de Requisitos 24/06 Qualidade do Produto 01/07 Qualidade do Produto 08/07 Qualidade do Produto 15/07 Gerência de Configuração de Software 22/07 Gestão de Projetos 29/07 Métricas de Processo e de Produto 05/08 Reengenharia e Engenharia Reversa Roteiro } Rational Unified Process (RUP) } Conceitos básicos } Características } Fases } Disciplinas } Exercícios 4 Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 5 } Conceitos básicos } Um processo de desenvolvimento de software. } Um framework de processos. } É configurável. } Processo iterativo e incremental. } Promove a avaliação contínua dos riscos. } Utiliza 6 melhores práticas de desenvolvimento de software. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 6 } Conceitos básicos } Melhores práticas de desenvolvimento de software } Desenvolver o software iterativamente } Gerenciar os requisitos } Usar arquiteturas baseadas em componentes } Modelar visualmente o software } Verificar continuamente a qualidade do software } Controlar as mudanças do software Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) } Conceitos básicos } Histórico 7 Rational Unified Process (RUP) - Prof. Thiago Souza Grady Booch Ivar Jacobson James Rumbaugh Rational Unified Process (RUP) 8 } Conceitos básicos } Disponível em: } http://www.ibm.com/software/rational/rup ¨ Necessita se cadastrar e fazer download. ¨ Em inglês. } http://www.wthreex.com/rup/portugues/index.htm ¨ Está indisponível há algumas semanas. ¨ Em português. } http://www.funpar.ufpr.br:8080/rup/index.htm ¨ Disponibilizado recentemente. ¨ Em português. } http://epf.eclipse.org/wikis/openup/ ¨ OpenUP – versão ágil do RUP. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 9 } Conceitos básicos } Visão geral Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 10 } Conceitos básicos } Duas dimensões } Horizontal (dinâmica) ¨ Representa o tempo. ¨ Expressa em termos de fases, iterações e marcos. } Vertical (estática) ¨ Representa as disciplinas. ¨ Descrita em termos de atividades (ou disciplinas ou fluxos de trabalho). } O gráfico representa a média de esforço gasto em cada atividade de acordo com a fase do projeto. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 11 } Conceitos básicos Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 12 } Características } Desenvolvimento iterativo e incremental } Cada iteração gera uma versão executável. } Os riscos são atacados mais cedo. } Suporta mudanças nos requisitos. } Promove o refinamento de arquitetura. } Possibilita aprendizado e aprimoramento. } Promove o reúso. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) } Características } Desenvolvimento iterativo e incremental } Iterativo } Incremental 13 Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) } Características } Desenvolvimento iterativo e incremental } Iterativo e incremental 14 Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 15 } Características } Gerência dos requisitos } Dificuldades ¨ Requisitos não são óbvios, ¨ Requisitos mudam. } Uma documentação apropriada é essencial para qualquer grande projeto. } O RUP descreve como documentar a funcionalidade, restrições de sistema, restrições de projeto e requisitos de negócio. } O desenvolvimento com o RUP é guiado por casos de uso (use case-driven). ¨ Definir o sistema. ¨ Gerenciar escopo. ¨ Refinar o sistema. ¨ Gerenciar mudanças no projeto. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 16 } Características } Arquitetura baseada em componentes } A arquitetura baseada em componentes cria um sistema que pode ser facilmente extensível, promovendo a reutilização de software e um entendimento intuitivo. } Um componente é uma unidade independente, que pode ser utilizada com outros componentes para formar um sistema mais complexo. } O RUP oferece uma forma sistemática para construir este tipo de sistema, focando-se em produzir uma arquitetura executável já nas fases iniciais do projeto. } Tecnologias de componentes ¨ RMI, CORBA, DCOM. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 17 } Características } Modelagem visual } Ao abstrair o código-fonte e representá-lo através de elementos gráficos, o RUP consegue uma maneira efetiva de se ter uma visão geral de uma solução. } O uso de modelos visuais também pode permitir que indivíduos de perfil menos técnico tenham um melhor entendimento do problema, e assim se envolvam mais no projeto como um todo. } A linguagem de modelagem UML tornou-se um padrão industrial e é amplamente utilizada pelo RUP. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 18 } Características } Verificação contínua da qualidade } Não assegurar a qualidade do software é a falha mais comum em todos os projetos de sistemas computacionais. } Normalmente pensa-se que a qualidade de software: ¨ é de responsabilidade APENAS da equipe de teste; ¨ deve ser aferida após a construção do software. } O RUP visa auxiliar no controle do planejamento da qualidade, verificando-a na construção de todo o processo e envolvendo todos os membros da equipe de desenvolvimento. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 19 } Características } Controle de mudanças } Em todos os projetos de software a mudança é inevitável. } O RUP define métodos para controlar e monitorizar mudanças. } Como uma pequena mudança pode afetar aplicações de formas inteiramente imprevisíveis, o controle de mudanças é essencial para o sucesso de um projeto. } O RUP também define áreas de trabalho seguras, garantindo a um programador que as mudanças efetuadas em outro sistema não afetarão o seu sistema. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 20 } DisciplinasRational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 21 } Disciplinas } Modelagem de Negócios } Finalidades ¨ Entender a estrutura e a dinâmica da organização na qual um sistema deve ser implantado (a organização-alvo). ¨ Entender os problemas atuais da organização-alvo e identificar as possibilidades de melhoria. ¨ Assegurar que os clientes, usuários e desenvolvedores tenham um entendimento comum da organização-alvo. ¨ Derivar os requisitos de sistema necessários para sustentar a organização-alvo. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 22 } Disciplinas } Modelagem de Negócios } Atividades Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 23 } Disciplinas } Modelagem de Negócios } Artefatos Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 24 } Disciplinas } Requisitos } Finalidades ¨ Estabelecer e manter concordância com os clientes e outros envolvidos sobre o que o sistema deve fazer. ¨ Oferecer aos desenvolvedores do sistema uma compreensão melhor dos requisitos do sistema. ¨ Definir as fronteiras do sistema (ou delimitar o sistema). ¨ Fornecer uma base para planejar o conteúdo técnico das iterações. ¨ Fornecer uma base para estimar o custo e o tempo de desenvolvimento do sistema. ¨ Definir uma interface de usuário para o sistema, focando nas necessidades e metas dos usuários. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 25 } Disciplinas } Requisitos } Atividades Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 26 } Disciplinas } Requisitos } Artefatos Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 27 } Disciplinas } Análise e Design } Finalidades ¨ Transformar os requisitos em um design do sistema a ser criado. ¨ Desenvolver uma arquitetura sofisticada para o sistema. ¨ Adaptar o design para que corresponda ao ambiente de implementação, projetando-o para fins de desempenho. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 28 } Disciplinas } Análise e Design } Atividades Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 29 } Disciplinas } Análise e Design } Artefatos Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 30 } Disciplinas } Implementação } Finalidades ¨ Definir a organização do código em termos de subsistemas de implementação organizados em camadas ¨ Implementar classes e objetos em termos de componentes (arquivos-fonte, binários, executáveis e outros) ¨ Testar os componentes desenvolvidos como unidades ¨ Integrar os resultados produzidos por implementadores individuais (ou equipes) ao sistema executável. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 31 } Disciplinas } Implementação } Atividades Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 32 } Disciplinas } Implementação } Artefatos Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 33 } Disciplinas } Teste } Finalidades ¨ Avaliar a qualidade do produto. ¨ Localizar e documentar defeitos do software. ¨ Avisar de forma geral sobre a qualidade observada no software. ¨ Validar as suposições feitas nas especificações de design e requisito através de demonstração concreta. ¨ Validar as funções do software conforme projetadas. ¨ Verificar se os requisitos foram implementados de forma adequada. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 34 } Disciplinas } Teste } Atividades Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 35 } Disciplinas } Teste } Artefatos Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 36 } Disciplinas } Implantação } Finalidades ¨ Assegurar uma transição bem-sucedida do sistema desenvolvido para seus usuários. ¨ Estão incluídos artefatos como material de treinamento e procedimentos de instalação. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 37 } Disciplinas } Implantação } Atividades Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 38 } Disciplinas } Implantação } Artefatos Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 39 } Disciplinas } Gerenciamento de Configuração e Mudança } Finalidades ¨ Identificar, definir e criar uma baseline de itens. ¨ Controlar modificações e releases desses itens. ¨ Relatar e registrar status dos itens e solicitações de modificação. ¨ Assegurar abrangência, consistência e correção dos itens. ¨ Controlar armazenamento, gerenciamento e liberação dos itens. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 40 } Disciplinas } Gerenciamento de Configuração e Mudança } Atividades Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 41 } Disciplinas } Gerenciamento de Configuração e Mudança } Artefatos Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 42 } Disciplinas } Gerenciamento de Projeto } Finalidades ¨ Fornecer um framework para gerenciar projetos intensivos de software. ¨ Fornecer diretrizes práticas para planejar, montar a equipe, executar e monitorar os projetos. ¨ Fornecer um framework de gerenciamento de risco. } Não fazem parte ¨ Gerenciamento de pessoal: contratação, treinamento, ensino. ¨ Gerenciamento de orçamento: definição, alocação, etc. ¨ Gerenciamento de contratos, com fornecedores e clientes. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 43 } Disciplinas } Gerenciamento de Projeto } Atividades Rational Unified Process (RUP) 44 } Disciplinas } Gerenciamento de Projeto } Artefatos Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 45 } Disciplinas } Ambiente } Finalidades ¨ Definir e gerenciar o ambiente no qual o sistema está sendo desenvolvido. ¨ Inclui descrições do processo, gerenciamento de configuração e ferramentas de desenvolvimento. ¨ Um ambiente de desenvolvimento é uma instância específica de uma configuração de hardware e de software criada com a finalidade de desenvolver e testar um software, ou na qual o produto final será implantado. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 46 } Disciplinas } Ambiente } Atividades Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 47 } Disciplinas } Ambiente } Artefatos Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 48 } Fases } Fases } Indicam a ênfase que é dada ao projeto em um momento específico. } Uma fase representaum período de tempo entre dois importantes marcos de progresso de um projeto. } Quatro fases: ¨ Concepção: ênfase no escopo do sistema. ¨ Elaboração: ênfase na arquitetura. ¨ Construção: ênfase no desenvolvimento. ¨ Transição: ênfase na implantação. Rational Unified Process (RUP) - Prof. Thiago Souza tempo Inception Elaboration Construction Transition Inception Elaboration Construction Transition Iteração #1 … … … Iteração #n Iteração #n+1 Iteração #m Iteração #m+1 Iteração Prelim. Versões Rational Unified Process (RUP) 49 } Fases } Iterações Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 50 } Fases } Milestones } Marcos definidos de finalização. } Cada fase deve ser concluída com um milestone (major milestone). Rational Unified Process (RUP) - Prof. Thiago Souza Lifecycle Objectives Lifecycle Architecture Initial Operational Capability tempo Inception Elaboration Construction Transition Rational Unified Process (RUP) 51 } Fases } Concepção } Objetivos ¨ Estabelecer o escopo do software do projeto e as condições limite, incluindo uma visão operacional, critérios de aceitação e o que deve ou não estar no produto. ¨ Discriminar os casos de uso críticos do sistema, os principais cenários de operação e o que direcionará as principais trocas de design. ¨ Exibir, e talvez demonstrar, pelo menos uma opção de arquitetura para alguns cenários básicos. ¨ Estimar o custo geral e a programação para o projeto inteiro. ¨ Estimar riscos em potencial. ¨ Preparar o ambiente de suporte para o projeto. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 52 } Fases } Elaboração } Objetivos ¨ Assegurar que a arquitetura, os requisitos e os planos sejam estáveis e que os riscos sejam suficientemente diminuídos. ¨ Tratar todos os riscos significativos do ponto de vista da arquitetura do projeto. ¨ Estabelecer uma arquitetura da baseline derivada do tratamento dos cenários significativos do ponto de vista da arquitetura. ¨ Produzir um protótipo evolutivo ou descartável dos componentes do software. ¨ Demonstrar que a arquitetura de baseline suportará os requisitos do sistema a um custo justo e em tempo justo. ¨ Estabelecer um ambiente de suporte. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 53 } Fases } Construção } Objetivos ¨ Minimizar os custos de desenvolvimento, otimizando recursos e evitando retalhamento e retrabalho desnecessários. ¨ Atingir a qualidade adequada com rapidez e eficiência. ¨ Atingir as versões úteis (alfa, beta e outros releases de teste) com rapidez e eficiência. ¨ Concluir a análise, o design, o desenvolvimento e o teste de todas as funcionalidades necessárias. ¨ Desenvolver de modo iterativo e incremental um produto completo que esteja pronto para a transição para os usuários. ¨ Decidir se o software, os locais e os usuários estão prontos para que o aplicativo seja implantado. ¨ Atingir um certo paralelismo de trabalho entre as equipes de desenvolvimento. Rational Unified Process (RUP) - Prof. Thiago Souza Rational Unified Process (RUP) 54 } Fases } Transição } Objetivos ¨ Teste beta para validar o novo sistema em confronto com as expectativas do usuário. ¨ Conversão de bancos de dados operacionais. ¨ Treinamento de usuários e equipe de manutenção. ¨ Preparação, empacotamento e instalação do software. ¨ Atividades de ajuste, como correção de erros, melhoria no desempenho e na usabilidade. ¨ Avaliação das baselines de implantação tendo como base a visão completa e os critérios de aceitação para o produto. ¨ Obtenção do consentimento dos envolvidos de que as baselines de implantação estão completas. Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios Engenharia de Software – Turma TI Básico Prof. Thiago Souza – thiagosouza@cos.ufrj.br Exercícios 56 Fundamentos de Engenharia de Software - Prof. Thiago Souza Exercícios 57 Fundamentos de Engenharia de Software - Prof. Thiago Souza Exercícios 58 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 59 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 60 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 61 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 62 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 63 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 64 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 65 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 66 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 67 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 68 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 69 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 70 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 71 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 72 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 73 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 74 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 75 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 76 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 77 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 78 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 79 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 80 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 81 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 82 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 83 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 84 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 85 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 86 Rational Unified Process (RUP) - Prof. Thiago Souza Exercícios 87 Rational Unified Process (RUP) - Prof. Thiago Souza
Compartilhar