Baixe o app para aproveitar ainda mais
Prévia do material em texto
04/04/2019 1 z Processo Unificado (PU) Unified Process (UP) Cap. 4.3 [Pressman] Cap. 5 [Waslawick] z PU no Desenvolvimento de Sistemas § “Um processo é um conjunto de passos que define quem está fazendo o que, quando e como para alcançar determinado objetivo”. § Na engenharia de software este objetivo é entregar de maneira eficiente e previsível, um produto capaz de atender às necessidades de seu negócio. 04/04/2019 2 z Para começo de conversa… § Qual a diferença de processo iterativo para processo incremental? z Recapitulando § Um processo de desenvolvimento de software descreve uma abordagem para a construção, implantação e, possivelmente, a manutenção de software. 04/04/2019 3 z D esenvolvim ento de softw are com U M L 5 Características de um Processo Eficiente § Orienta o desenvolvimento, operação e manutenção de software § Reduz risco e aumenta previsibilidade § Utiliza boas práticas de desenvolvimento de software § Permite controle sobre o desenvolvimento - dentro de custos, prazos e níveis de qualidade desejados Qualidade x produtividade z Origem § Surgiu de uma discussão entre Ivar, Jacobson, Grady, Booch e Rumbaugh sobre a necessidade de um processo de software: § “dirigido a casos de uso, centrado na arquitetura, iterative e incremental.” 04/04/2019 4 z PU – Processo Unificado § Surgiu como um processo iterativo popular para o desenvolvimento de software visando à construção de sistemas OO. § Combina as melhores práticas comumente aceitas, como ciclo de vida iterativo e desenvolvimento guiado por risco, em uma descrição de processo coesa e bem documentada. z Características do PU 1. Orientado por casos de uso 2. Centrado na arquitetura 3. Iterativo e incremental 04/04/2019 5 z Fases do Processo Unificado § Um ciclo de desenvolvimento de software PU está dividido em fases, cada qual podendo ser subdividida em iterações e consequentes incrementos. z Fases do Processo Unificado § O final de uma fase é marcado por um ponto de verificação § Disponibilidade de um conjunto de artefatos que possibilitem a avaliação do projeto, tais como modelos e outros documentos. § Servem para monitoração de do progresso do trabalho, tomada de decisões e reajustes nos requisitos de tempo. 04/04/2019 6 z Fase de Concepção § O objetivo principal da fase de CONCEPÇÃO é delimitar o escopo do projeto, definindo como o sistema será utilizado por cada usuário, através da criação dos casos de uso mais relevantes. z Fase de Concepção § A partir deste escopo, poderá ser definido o que o desenvolvimento do projeto deverá cobrir, no que diz respeito a custos, prazos, retorno de investimento, etc. § Obs: Na fase de Concepção pode haver uma ou mais iterações, a cada iteração são repetidos os fluxos de trabalho: requisitos, análise, projeto, implementação e testes. 04/04/2019 7 z Fase de Elaboração § O objetivo principal da fase de ELABORAÇÃO é elaborar os requisitos remanescentes, os quais serão capturados e transformados em casos de uso; § a base da arquitetura, que irá guiar os trabalhos nas fases de construção e transição, é estabelecida; e detalhes adicionais do projeto são averiguados. § Nessa fase o sistema é estudo mais amplamente do que profundamente. z Fase de Construção § O trabalho da fase de CONSTRUÇÃO se inicia com base na arquitetura executável, produzida durante a fase de elaboração, e prossegue através de iterações e incrementos, com objetivo de desenvolver um produto pronto para operações iniciais no ambiente de usuário, ou seja, a versão beta. Obs: Na fase de construção pode haver uma ou mais iterações, a cada iteração são repetidos os fluxos de trabalho: requisitos, análise, projeto, implementação e testes. 04/04/2019 8 z Fase de Transição § O trabalho da fase de TRANSIÇÃO possui como objetivo estabelecer o produto no ambiente operacional. § Por exemplo, se um produto for lançado no mercado, a equipe do projeto distribui uma versão beta para que seja avaliado por clientes em geral. Obs: Na fase de Transição pode haver uma ou mais iterações, a cada iteração são repetidos os fluxos de trabalho: requisitos, análise, projeto, implementação e testes. z Fase de Produção § Durante esta fase: § Monitora-se o uso contínuo do software § Disponibiliza-se suporte para o ambiente operacional § Gera-se relatórios de defeitos, e avalia-os § É provável que, ao mesmo tempo em que as fases de construção, transição e produção estejam sendo conduzidas, já se tenha iniciado o increment do software seguinte. Isto sinifica que as 5 fases do PU não ocorrem em sequência, mas sim de forma concomitante e escalonada. 04/04/2019 9 z z Adaptabilidade do PU § Deve-se notar que nem toda tarefa identifica para um fluxo de trabalho PU é conduzida em todos os projetos de software. § A equipe adapta o processo (ações, tarefas, subtarefas e artefatos) para ficar de acordo com suas necessidades. 04/04/2019 10 z Vantagens § Redução de Custo: § Iterações controladas reduzem o risco de custo para as despesas em um único incremento. § Redução do Risco: § Iterações controladas reduzem o risco de violação de prazos. z Vantagens § Menor tempo de desenvolvimento: § redução do escopo em mini-projetos permitem que os desenvolvedores trabalhem de maneira mais eficiente § Melhor análise: § Análises feitas em sucessivas iterações permitem extrair quase sempre todos os requisitos funcionais. 04/04/2019 11 z RUP – Rational Unified Process Sec. 5.3 [Waslawick] z O que é o RUP? § O nome é uma abreviação de Rational Unified Process § mas na verdade é § Processo + Métodos + Linguagem (UML) § e os autores argumentam que é § Framework para gerar processos 04/04/2019 12 z D esenvolvim ento de softw are com U M L 23 O que é Processo Unificado § Produto comercial § Desenvolvido e mantido pela Rational § Integrado a uma suíte de produtos § Conhecido como Rational Unified Process § E-coach: treinamento a distância § http://www.rational.com/rup § Para o treinamento online, clicar em “Trials & Betas” z O que é o RUP? § Conjunto de atividades § bem definidas § com responsáveis § com artefatos de entrada e saída § com dependências entre as mesmas e ordem de execução § com modelo de ciclo de vida § descrição sistemática de como devem ser realizadas § guias (de ferramentas ou não), templates § utilizando diagramas de UML 04/04/2019 13 z Características Principais do RUP § O desenvolvimento de sistemas seguindo o RUP é § Iterativo e incremental § Guiado por casos de uso (use cases) § Baseado na arquitetura do sistema z O RUP é iterativo e incremental § O ciclo de vida de um sistema consiste de quatro fases: ■ Concepção (define o escopo do projeto) ■ Elaboração (detalha os requisitos e a arquitetura) ■ Construção (desenvolve o sistema) ■ Transição (implanta o sistema) tempo concepção elaboração construção transição 04/04/2019 14 z O RUP é iterativo e incremental § Cada iteração § é planejada § realiza uma seqüência de atividades (de elicitação de requisitos, análise e projeto, implementação, etc.) distintas § geralmente resulta em uma versão executável do sistema § é avaliada segundo critérios de sucesso previamente definidos z O RUP é guiado por casos de uso § Os casos de uso não servem apenas para definir os requisitos do sistema § Várias atividades do RUP são guiadas pelos casos de uso: § planejamento das iterações § criação e validação do modelo de projeto § planejamento da integração do sistema § definição dos casos de teste 04/04/2019 15 z O RUP é baseado na arquitetura do sistema § Arquitetura § visão geral do sistema em termos dos seus subsistemas e como estes se relacionam § A arquitetura é prototipada e definida logo nas primeiras iterações § O desenvolvimento consiste em complementar a arquitetura § A arquitetura serve para definir a organização da equipe de desenvolvimento e identificar oportunidades de reuso z O RUP é baseado na arquitetura do sistema Logical View ProcessView Deployment View Implementation View Programmers Software management Analysts/ Designers Structure System Engineering System topology Delivery,installation Communication System integrators Performance Scalability Throughput End-user Functionality § Idealmente, tem-se 5 visões da arquitetura 04/04/2019 16 z Organização do RUP § Fluxos de atividades § Atividades § passos § entradas e saídas § guias (de ferramentas ou não), templates § Responsáveis (papel e perfil, não pessoa) § Artefatos z D esenvolvim ento de softw are com U M L 33 Fases do RUP Concepção Elaboração Construção Transição Estabelecer o escopo e viabilidade econômica do projeto Eliminar principais riscos e definir arquitetura estável Desenvolver o produto até que ele esteja pronto para beta testes Entrar no ambiente do usuário 04/04/2019 17 z D esenvolvim ento de softw are com U M L 34 Fases e Iterações § Cada fase pode comportar diversas iterações Concepção Elaboração Construção Transição tempo Iteração preliminar 1 2 i i+ 2 i+3 ... j j+1 ... grandes marcos z D esenvolvim ento de softw are com U M L 35 Concepção Elaboração Construção Transição Marco dos objetivos do ciclo de vida Marco da arquitetura do ciclo de vida Marco da capacidade operacional inicial Marco de lançamento do produto tempo Marcos O projeto poderá ser anulado ou completamente repensado caso o marco não seja atingido. 04/04/2019 18 z D esenvolvim ento de softw are com U M L 36 Fluxos de Atividades do RUP § Agrupam atividades correlacionadas § Fluxos de atividades básicos: § modelagem do negócio § requisitos § análise e projeto § implementação § testes § distribuição § Fluxos de atividades de suporte: § gerência de configuração e mudanças § gerência do projeto § configuração do ambiente z D esenvolvim ento de softw are com U M L 37 Fases, Iterações e Fluxos de Atividades Fonte: Rational 04/04/2019 19 z D esenvolvim ento de softw are com U M L 38 Responsáveis, Atividades e Artefatos § Os fluxos de atividades do RUP são descritos através de responsáveis, atividades e artefatos Fonte: Rational z Exemplo de Fluxo: Planejamento e Gerenciamento Gerente de projeto Arquiteto Contratante Iniciar Projeto Aprovar Projeto Estudar Viabilidad e Atestar Conclusão do Projeto Identificar Riscos Desenvolv er Plano de Projeto Desenvolv er Plano de Iteração Executar Plano de Iteração Avaliar Iteração Finalizar Projeto Reavaliar Riscos Priorizar Casos de Uso 04/04/2019 20 z Resumo § O RUP é: § iterativo e incremental § guiado por casos de uso § baseado na arquitetura do sistema § organizado em fases, iterações, fluxos, atividades e passos z Referências § Ivar Jacobson, Grady Booch e James Rumbaugh. The Unified Software Development Process. Capítulos 1 a 5. § Philippe Kruchten. The Rational Unified Process – an Introduction.
Compartilhar