RUP Rational Unified Process

Documentos relacionados
Introdução ao RUP. Livar Correia de O. C. Cunha Effektiv Solutions

INF014 Análise e Projeto de Sistemas Processos Unificado -RUP

Processos de Software

Rational Unified Process (RUP)

Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU)

Processos de. Desenvolvimento de Software

Engenharia de Software

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Visão Geral do RUP (Rational Unified Process)

RUP/PSDS. Introdução e Comparação

Delimitar claramente o escopo do projeto Estimar custo, tempo e retorno do investimento (feasibility)

Áreas de Conhecimento, Técnicas de Análise de Negócio e Conceitos-Chave

Concepção lança o projeto

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

Processo. Processo unificado. Principais Características do UP. Principais Características do UP RUP. Unified Process (Processo Unificado)

Halison Miguel Edvan Pontes

Engenharia de Software II

Engenharia de Software

RUP Unified Process. Profª Jocelma Rios

Introdução À Engenharia De Software Com Foco No RUP: Rational Unified Process

UNIVERSIDADE FEDERAL DO PARANÁ - UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Prof. Fábio Lúcio Meira

ISO/IEC Processo de ciclo de vida

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.

RUP RATIONAL UNIFIED PROCESS CONCEITOS CHAVES. Prof. Fabiano Papaiz IFRN

Disciplina - Requisitos. Grupo Yuni Luiz Eduardo Káthia

Visão Geral do RUP.

Bibliografia. Quais são os problemas? capacidade de construção. acompanha a demanda por novos programas. ameaçada por projetos ruins.

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Unidade VII Ferramentas de PDS. Luiz Leão

O Fluxo de Requisitos

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP

FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS. Projeto de Programas PPR0001

Desenvolvimento de Software. Testes de Software. Tópicos da Aula. Onde estamos... Verificação x Validação. Testes de Software

Engenharia de Software II

MODELAGEM DE SISTEMAS Unidade 5 Ciclo de Vida Iterativo e Incremental. Luiz Leão

Guia do Processo de Teste Metodologia Celepar

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

Aula 11 - Fluxo do RUP: Ambiente

Aula 3 - Modelos de Processo - cascata, iterativo e incremental e ágil

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

PDS. Aula 1.4 Modelos de Processo. Prof. Dr. Bruno Moreno

Processo de Desenvolvimento de Software

Gerenciamento de Projetos

Processo Unificado (PU) Unified Process

METODOLOGIAS ÁGEIS FEATURE DRIVEN DEVELOPMENT E AUP

Processo Unificado. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Visão Geral RUP (Rational Unified Process) Professor: Tiago Reis RUP

Engenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata

Capítulo 5 Gerenciamento do Escopo do projeto. Introdução. Antes de iniciarmos vamos pensar um pouco.

Ciclo de vida do projeto x do

Processos de Software

RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp

Gestão de Projetos. Requisito é a tradução das necessidades e expectativas dos clientes e das demais partes interessadas (stakeholders).

3 Fases no Ciclo de Vida do Processo Unificado

Problemas e Práticas Recomendadas no Desenvolvimento de Software

Instituto Federal Sul-rio-grandense. Placa universal para controle de máquinas de lavar roupa Plano de Projeto - versão 1.0

DESENHO DE CARGOS E TAREFAS

Rational Unified Process

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

Levantamento, Análise e Gestão Requisitos. Aula 02

PDS. Aula 1.5 Modelos de Processo. Prof. Dr. Bruno Moreno

QUALIDADE DE SOFTWARE ISO/IEC Segunda Edição Prof. Edison A M Morais

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves

Processos de Software

14/11/2013. Capítulo 2. Processos de Software. Tópicos apresentados. Oprocessodesoftware. Modelos de processo de software. Atividades de processo.

Visão Geral da Norma ISO/IEC 12207

Análise e Projeto Orientados a Objetos Professora: Elisa Yumi Nakagawa PAE: Cristiane Aparecida Lana 2 semestre de 2015

ENGENHARIA DE REQUISITOS

ESPECIFICAÇÃO DE PROJETO AUTOR(ES) : João

Escopo: PROCESSOS FUNDAMENTAIS

Engenharia de Software II

APLICAÇÃO DA ENGENHARIA DE REQUISITOS E ESPECIFICAÇÃO DE REQUISITOS NA IDENTIFICAÇÃO DE ESCOPO DE SISTEMA

4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos

RATIONAL UNIFIED PROCESS RUP

Planejamento e Gerenciamento Iterativo de Projetos de Software

PSP: Personal Software Process. PSP- Personal Software Process. PSP: Personal Software Process. PSP: Personal Software Process

RUP RATIONAL UNIFIED PROCESS

Processos de Software

Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas

INSPECTOR PANEL Documento de Visão Versão <1.1>

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

O ciclo de vida do projeto

Análise e projeto de sistemas

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner

Processos de software

Desenvolvimento de Software

ISO/IEC Roteiro IEC ISO. Histórico ISO/IEC ISO

UML 2.0 Método, Linguagem e Ferramenta. Prof. Cesar Augusto Tacla

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

RUP. Prof. Edison A M Morais.

Professor Emiliano S. Monteiro

Engenharia de Software. Herbert Rausch Fernandes

Escolhendo um Modelo de Ciclo de Vida

PROJETO INTEGRADO AULA 4 INTEGRAÇÃO E ESCOPO

Ainda que muitos modelos sejam semelhantes entre os modelos de ciclo de vida, existem alguns aspectos que os diferenciam:

Conhecendo um pouco sobre RUP

Transcrição:

O RUP RUP Rational Unified Process Rational Unified Process Processo Framework para gerar processos Jorge Dias Jr. jorge@dce.ufpb.br www.jorgediasjr.com 1 2 O RUP O RUP Segue as boas práticas da Engenharia de Software Desenvolvimento de Software Iterativo e Incremental Gerenciamento de Requisitos Uso de Arquitetura Baseada em Componentes Modelagem Visual Verificação Contínua da Qualidade Gerenciamento de Mudanças 4 1

O RUP O RUP - Desenvolvimento de Software Iterativo e Incremental Segue as boas práticas da Engenharia de Software Desenvolvimento de Software Iterativo e Incremental Gerenciamento de Requisitos Uso de Arquitetura Baseada em Componentes Modelagem Visual Verificação Contínua da Qualidade Gerenciamento de Mudanças 5 O RUP - Desenvolvimento de Software Iterativo e Incremental Equívocos graves são evidenciadas no início do ciclo de vida, quando é possível reagir a eles; Essa abordagem permite e incentiva feedback dos usuários, de modo a suscitar necessidades reais do sistema; A equipe de desenvolvimento concentra-se nas questões que são mais críticas para o projeto e tenta tratar os riscos reais do projeto; A equipe pode aproveitar as lições aprendidas e, portanto, pode melhorar continuamente o processo; O RUP Segue as boas práticas da Engenharia de Software Desenvolvimento de Software Iterativo e Incremental Gerenciamento de Requisitos Uso de Arquitetura Baseada em Componentes Modelagem Visual Verificação Contínua da Qualidade Gerenciamento de Mudanças 8 2

O RUP - Gerenciamento de Requisitos O RUP Comunicações são baseadas em requisitos definidos; Requisitos podem ser priorizados, filtrados e localizados; Permite uma avaliação objetiva das funcionalidade e demais características do sistema; Segue as boas práticas da Engenharia de Software Desenvolvimento de Software Iterativo e Incremental Gerenciamento de Requisitos Uso de Arquitetura Baseada em Componentes Modelagem Visual Verificação Contínua da Qualidade Gerenciamento de Mudanças 10 O RUP - Uso de Arquitetura Baseada em Componentes A arquitetura do sistema compreende o conjunto de decisões importantes sobre os seguintes elementos: A seleção dos elementos estruturais e suas interfaces, através da qual o sistema é composto; Seu comportamento, conforme especificado pelo colaborações entre esses elementos. A arquitetura de software está preocupada não só com a estrutura e comportamento, mas também com o uso, funcionalidade, desempenho, robustez, reutilização, abrangência, economia, limitações tecnológicas, estéticas, dentre outros. O RUP Segue as boas práticas da Engenharia de Software Desenvolvimento de Software Iterativo e Incremental Gerenciamento de Requisitos Uso de Arquitetura Baseada em Componentes Modelagem Visual Verificação Contínua da Qualidade Gerenciamento de Mudanças 12 3

O RUP - Modelagem Visual O RUP Modelos ajudam a entender a realidade; Melhora a comunicação entre os stakeholders; Permite destacar detalhes importantes; Auxilia na obtenção de uma visão geral do sistema; Documenta decisões tomadas; Auxilia na entrada de novos integrantes no projeto. Segue as boas práticas da Engenharia de Software Desenvolvimento de Software Iterativo e Incremental Gerenciamento de Requisitos Uso de Arquitetura Baseada em Componentes Modelagem Visual Verificação Contínua da Qualidade Gerenciamento de Mudanças 14 O RUP - Verificação Contínua da Qualidade A avaliação do estado do projeto é feita de forma objetiva, não subjetiva (resultados dos testes); Esta avaliação objetiva expõe as inconsistências nos requisitos, projetos e implementações; Defeitos são identificados mais cedo, reduzindo radicalmente o custo de corrigi-los. O RUP Segue as boas práticas da Engenharia de Software Desenvolvimento de Software Iterativo e Incremental Gerenciamento de Requisitos Uso de Arquitetura Baseada em Componentes Modelagem Visual Verificação Contínua da Qualidade Gerenciamento de Mudanças 16 4

O RUP Gerenciamento de Mudanças O fluxo de trabalho de mudanças de requisitos é definido e repetível; As solicitações de mudança facilitam a comunicação; Estatísticas de taxas de mudança fornecem medidas objetivas para avaliar o andamento do projeto; O RUP O RUP O RUP Características Dividido em Fases/Disciplinas Envolve Atividades, Artefatos e Responsáveis Iterativo e Incremental Dirigido por Casos de Uso Centrado na Arquitetura Tratamento de Riscos Características Dividido em Fases/Disciplinas Envolve Atividades, Artefatos e Responsáveis Iterativo e Incremental Dirigido por Casos de Uso Centrado na Arquitetura Tratamento de Riscos 19 20 5

O RUP Dividido em Fases Características Dividido em Fases Concepção Elaboração Construção Transição tempo Marco da fase: escopo definido! Concepção (define o escopo do projeto) Elaboração (define os requisitos e a arquitetura) Construção (desenvolve o sistema) Transição (implanta o sistema) O RUP Dividido em Fases Concepção Objetivos da Fase de Concepção Definir o escopo do software Visão do Projeto O que faz parte e o que não faz parte do produto Definir os critérios de aceitação do produto final Descobrir os casos de uso críticos Estimar por alto o custo e o cronograma de todo o projeto Estimar em detalhes os custos e cronograma da fase seguinte (Elaboração) 21 22 O RUP Dividido em Fases Concepção Objetivos da Fase de Concepção Levantar os potenciais riscos Preparar o ambiente de suporte do projeto Definir e preparar os processos e ferramentas a serem utilizados Definir e, eventualmente, demonstrar com protótipos ao menos um candidato à arquitetura Avaliar alternativas de projeto Que componentes fazer, comprar ou reusar? Concepção 23 6

O RUP Dividido em Fases O RUP Dividido em Fases Concepção Esforço para algumas disciplinas Características Dividido em Fases Concepção Elaboração Construção Transição tempo Marco da fase: arquitetura definida! Concepção (define o escopo do projeto) Elaboração (define os requisitos e a arquitetura) Construção (desenvolve o sistema) Transição (implanta o sistema) 25 26 O RUP Dividido em Fases Elaboração Objetivos da Fase de Elaboração Capturar a maioria dos requisitos Construir a arquitetura do sistema Que demonstre a capacidade de esta arquitetura acomodar o resto do sistema Produzir protótipos evolucionários ou descartáveis que eliminam riscos de Requisitos ou projeto Reusabilidade de componentes Viabilidade técnica Elaboração 27 7

O RUP Dividido em Fases O RUP Dividido em Fases Elaboração Esforço para algumas disciplinas Características Dividido em Fases Concepção Elaboração Construção Transição tempo Marco da fase: funcionalidades 100% implementadas! Concepção (define o escopo do projeto) Elaboração (define os requisitos e a arquitetura) Construção (desenvolve o sistema) Transição (implanta o sistema) 29 30 O RUP Dividido em Fases Construção Objetivos da Fase de Construção Produzir a versão para testes Ênfase na produção de software operacional Envolve análise, projeto e implementação dos requisitos Pelo menos 80% dos casos de uso foram levantados (identificados) e entendidos Destes, apenas 10-15% são arquiteturalmente relevantes e foram especificados (detalhados), analisados, projetados e implementados A Construção finaliza o sistema, atingindo 100% das funcionalidades implementadas Construção 31 8

O RUP Dividido em Fases O RUP Dividido em Fases Construção Esforço para algumas disciplinas Características Dividido em Fases Concepção Elaboração Construção Transição tempo Marco da fase: sistema implantado! Concepção (define o escopo do projeto) Elaboração (define os requisitos e a arquitetura) Construção (desenvolve o sistema) Transição (implanta o sistema) 33 34 O RUP Dividido em Fases Transição Objetivos da Fase de Transição Validar o sistema em relação às expectativas dos usuários Testes e operacionalização do software (geralmente, em paralelo com o sistema legado) Conversão de dados Treinamento de usuários Correção de erros, pequenas melhorias, pequenos ajustes Transição 35 9

O RUP Dividido em Fases O RUP Dividido em Fases Transição Esforço ao longo das fases Esforço para algumas disciplinas 37 38 O RUP Dividido em Disciplinas Modelagem do Negócio Requisitos Análise e Projeto Implementação Testes Implantação Gerência de Configuração Planejamento e Gerenciamento Ambiente Modelagem de Negócio Modelo de negócio: a representação de um conjunto de atividades tanto internas (como planejamento) quanto externas (como tomada de ação) que são executadas para transformar entradas em saídas, produzindo trabalho (produto/serviço) nas organizações. 10

Modelagem de Negócio Modelagem de Negócio Principais objetivos: Entender o negócio (a estrutura e a dinâmica da organização na qual um sistema deve ser implantado); Entender os problemas atuais da organização e identificar as possibilidades de melhoria; Assegurar que os clientes, usuários e desenvolvedores tenham um entendimento comum da organização e dos seus negócio; Documentar os processos de negócio e capturar a relação entre os seus conceitos; Derivar os requisitos de sistema necessários para sustentar a organização. 42 Requisitos Modelagem de Negócio Requisitos: são características funcionais (declarações de serviços que o sistema deve fornecer) e não funcionais (restrições sobre os serviços) que o sistema precisa apresentar. 11

Requisitos Requisitos Principais objetivos: Definir as características do sistema conforme observadas pelo cliente; Estabelecer e manter concordância com os clientes e outras partes interessadas sobre o que o sistema deve fazer; Produzir e gerenciar os requisitos do projeto; Oferecer ao desenvolvedor um melhor entendimento dos requisitos do sistema; Definir os limites do sistema (Delimitar o escopo); Definir uma interface do sistema com o usuário, focando nas necessidades e objetivos dos usuários; Fornecer uma base para planejar o conteúdo técnico das iterações e estimar o custo e o tempo para desenvolver o sistema; Identificar as inconsistências entre os requisitos e os planos de projeto e produtos de trabalho. 46 Análise e o Projeto Requisitos Análise: foca nos requisitos funcionais do sistema, criando modelos conceituais, baseados em conceitos de negócio. Projeto: foca nos requisitos técnicos do sistema, criando visões detalhadas, baseadas na tecnologia que será utilizada. 12

Análise e Projeto Análise e Projeto Olho Principais objetivos: Transformar os requisitos em modelos (abstrato - Análise e concreto - Projeto) do que o sistema vai ser; Construir uma arquitetura robusta para o sistema; Adaptar o projeto às limitações do ambiente de execução. Com o andamento da análise, o sistema vai sendo modelado e esta modelagem amadurece até se transformar no projeto do sistema. 50 Implementação Análise e Projeto Implementação: processo de construção de versões operacionais do sistema ou de parte dele, de modo a demonstrar suas funcionalidades e características em geral. 13

Implementação Olho Implementação Principais objetivos: Definir a organização do código fonte em termos de subsistemas e camadas; Implementar o sistema (codificar) de acordo com os requisitos e o projeto elaborados; Assegurar a qualidade do código produzido; Implementar testes unitários para as funcionalidades desenvolvidas; Implementar testes de requisitos não funcionais para componentes arquiteturais; Integrar o sistema. Testes Implementação Teste: avaliação da qualidade do produto, através de verificação e correção de problemas e de má interpretação dos requisitos. 14

Testes Testes Olho Principais objetivos: Verificar se todos os requisitos do sistema foram corretamente implementados; Validar se o sistema foi construído como projetado; Validar se os requisitos foram implementados apropriadamente; Identificar e documentar falhas (defeitos e problemas) no software; Assegurar a satisfação do cliente com o produto desenvolvido; Reduzir custos de manutenção corretiva e retrabalho. Implantação Testes Implantação: corresponde às atividades de planejamento, preparação e instalação de produtos de software no ambiente de produção. 15

Implantação Implantação Principais objetivos: Descrever as atividades de planejamento, preparação e instalação e testes de produtos de software nos ambientes de desenvolvimento, homologação e produção; Migrar dados legados para o novo sistema; Treinar usuários e equipe de suporte/vendas. Gerência de Configuração Implantação Gerência de Configuração: registra e mantém uma trilha das mudanças e da evolução dos artefatos produzidos pelo projeto, que podem sofrer mudanças decorrentes de correções de falhas, melhoria de qualidade e inclusão de novos requisitos. 16

Gerência de Configuração Gerência de Configuração Objetivos Coordenar os aspectos relacionados à gerência de configuração e mudanças; Gerência de configuração: Controla os artefatos produzidos no desenvolvimento do projeto; Evita a ocorrência dos seguintes problemas: Atualizações simultâneas; Múltiplas versões; Mantém a integridade e rastreabilidade da configuração através do ciclo de vida do sistema. Gerência de mudanças: Lida com a captação e gestão de mudanças solicitadas por stakeholders internos e externos; Trata da análise do impacto potencial da mudança e com a acompanhamento do que acontece com a mudança até que ela seja concluída. Planejamento e Gerenciamento Gerência de configuração Planejamento e Gerenciamento: aplicação de conhecimentos, habilidades e técnicas na elaboração de atividades relacionadas para atingir um conjunto de objetivos prédefinidos, num certo prazo, com um certo custo e qualidade, através da mobilização de recursos técnicos e humanos. 17

Planejamento e Gerenciamento Planejamento e Gerenciamento Objetivos Fornecer framework para gerenciamento do projeto; Auxiliar as atividades de planejamento, execução, acompanhamento e monitoramento do projeto; Auxiliar a criação de uma estrutura para gerenciar risco. Ambiente Planejamento e Gerenciamento Ambiente: define os processos, modelos de artefatos, guias (de atividades e artefatos) e ferramentas para a empresa que está desenvolvendo o sistema. 18

Ambiente Ambiente Objetivos Criar e evoluir processos do projeto (atividades, artefatos e papéis); Selecionar, adquirir, instalar e configurar ferramentas; Manutenção da infra-estrutura, processos de backup e outras rotinas pertinentes. O RUP Características Dividido em Fases/Disciplinas Envolve Atividades, Artefatos e Responsáveis Iterativo e Incremental Dirigido por Casos de Uso Centrado na Arquitetura Tratamento de Riscos Ambiente 76 19

O RUP Envolve Atividades, Artefatos e Responsáveis Características 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 descrição sistemática de como devem ser realizadas O RUP Envolve Atividades, Artefatos e Responsáveis Exemplos de atividades e artefatos... Modelagem de Negócio Modelagem de Negócio Principais atividades: Conhecer o negócio (cenário atual - nível macro): compreender de forma macro o funcionamento do negócio; Identificar processos de negócio (cenário atual): identificar todos os processos (importante para planejar as atividades de modelagem); Especificar processos de negócio (cenário atual): documentar os processos (os participantes do negócio e suas funções; as atividades e os fluxos de trabalho; os sistemas envolvidos nos processos); Alguns exemplos de artefatos: Lista dos processos de negócio; Especificação textual/diagrama dos processos de negócio (cenário atual); Apresentar os artefatos da modelagem de negócio (cenário atual): apresentar e homologar, junto ao cliente/patrocinador, os resultados (artefatos gerados) do trabalho de modelagem de negócio realizado; Apresentar proposta de melhorias nos processos de negócio (cenário futuro): apresentar e homologar, junto ao cliente/patrocinador, uma proposta para realizar melhorias/reengenharia nos processos (de forma a apoiar estratégias de inovação ou criar oportunidades de negócio, ou simplesmente otimizar os processos atuais de negócio). Especificação textual/diagrama dos processos de negócio (cenário futuro); Glossário de negócio. 79 80 20

Requisitos Principais atividades: Desenvolver Plano de Gerência de Requisitos: especificar a forma de documentação dos requisitos, as diretrizes de rastreabilidade e a forma de gerenciamento dos requisitos do projeto; Realizar estudo de viabilidade: responder se vale a pena ou não prosseguir com o desenvolvimento do sistema (avalia se o sistema contribui para os objetivos gerais da organização, se pode ser implementado com tecnologia atual e dentro das restrições de custo e prazo, se pode ser integrado a outros sistemas já implantados); Requisitos Alguns exemplos de artefatos: Plano de Gerenciamento de Requisitos; Documento de Definição de Requisitos (DDR); Diagrama de Casos de Uso; Especificações de Casos de Uso; Elicitar requisitos: coletar requisitos; classificar e organizar requisitos; priorizar e negociar requisitos; detalhar requisitos; documentar requisitos; Validar/revisar requisitos: verificar se os requisitos realmente definem o sistema que o usuário deseja; Gerenciar requisitos: compreender e controlar as mudanças dos requisitos. Regras de Negócio; Regras de Validação; Matriz de Rastreabilidade; Glossário de Negócio. 81 82 Análise e Projeto Principais atividades: Análise e Projeto Alguns exemplos de artefatos: Definir modelo conceitual/arquitetura candidata: criar esboço do modelo conceitual e do esqueleto de pelo menos uma arquitetura preliminar do sistema (que pode evoluir ou ser descartada ao longo do projeto); organizar o sistema em camadas; identificar classes de análise; Refinar modelo conceitual/arquitetura: fazer a transição da análise para projeto, descrever o sistema relacionado a aspectos de runtime (aspecto dinâmico do sistema) e implantação (aspecto estático do sistema); Projetar banco de dados: projetar o banco de dados para contemplar os quesitos relacionados com a persistência dos objetos persistentes do caso de uso. Realização de caso de uso (de Análise); Documento de arquitetura; Mapeamento das classes de Análise em elementos de Projeto; Diagrama de pacotes; Realização de caso de uso (de Projeto); Diagrama Entidade Relacionamento; Mapeamento Objeto-relacional; Script de criação da base de dados. 83 84 21

Implementação Principais atividades: Implementação Alguns exemplos de artefatos: Implementação dos componentes; Estruturar o modelo de implementação: definir a organização do código fonte (organização em camadas, mecanismos de persistência, comunicação e GUI, por exemplo); Codificar componentes/casos de uso: codificar componentes/casos de uso necessários e realizar testes unitários; Integrar sistema: integrar componentes, dando origem a uma nova versão do sistema. Testes unitários da implementação dos componentes; Relatórios de testes unitários da implementação dos componentes; Roteiros/relatórios de testes não-funcionais da implementação dos componentes; Implementação dos casos de uso; Testes unitários da implementação dos casos de uso; Relatórios de testes unitários da implementação dos casos de uso; Roteiro/relatórios testes não-funcionais da implementação dos casos de uso; Plano de Integração. 85 86 Testes Testes Principais atividades: Alguns exemplos de artefatos: Planejar testes: planejar as atividades de teste do projeto (tipos de teste, previsão de quando e por quem os testes deverão ser executados); Especificar, construir e executar testes: especificar e construir os cenários a serem testados de acordo com os requisitos funcionais e não funcionais do sistema e testá-los; Testes de integração: testam a integração de todos os componentes previstos para a iteração/versão; Testes funcionais: encontram bugs na construção do software; Testes não funcionais: verificam a corretude dos requisitos não funcionais do sistema; Testes de sistema: testam o sistema como um todo; Testes de aceitação/homologação: feitos pelo usuário final, realizam a aceitação do produto entregue; Analisar resultados e corrigir defeitos: analisar defeitos provenientes das atividades de teste e resolvê-los; Plano de Teste; Roteiros de Teste Funcionais; Relatório de Testes Funcionais; Relatório de Testes Não Funcionais; Roteiros de Teste de Aceitação/Homologação; Relatório de Teste de Aceitação/Homologação; Roteiros de Teste de Desempenho; Registros de bugs. 87 88 22

Implantação Implantação Principais atividades: Alguns exemplos de artefatos: Planejar implantação: definir as diretrizes usadas para planejar como será realizada a implantação do sistema e garantir que o usuário esteja ciente e comprometido com as atividades de implantação; Desenvolver material de suporte: desenvolver os artefatos de apoio aos usuários no processo de instalação, aprendizagem, utilização, operação e sustentação do sistema (documentação, manuais, treinamentos, dentre outros); Testar sistema no ambiente de desenvolvimento: testar o sistema no ambiente de desenvolvimento, para verificar se o sistema está pronto para ser implantado; Gerar release: empacotar o sistema com todos os artefatos necessários para implantação; Instalar e testar sistema no ambiente de produção: instalar e testar o sistema no ambiente de produção, para que possa ser utilizado pelo cliente;. Plano de implantação; Release; Artefatos de instalação (script, ferramentas, arquivos, guias); Documentação; Material de apoio, como o manual do usuário, manuais de operação e manutenção; Material de treinamento. 89 90 Gerência de Configuração Gerência de Configuração Principais atividades: Planejar gerência de configuração e mudanças: plano de referência para o controle sistemático da configuração e das mudanças realizadas no projeto; Configurar ambiente de gerência de configuração e mudanças: preparar o ambiente (criar procedimentos, instalar ferramentas etc.), para que o processo de gerenciamento de configuração e mudanças possa ser desempenhado; Criar/alterar e disponibilizar produtos de trabalho: acessar os artefatos do projeto, realizar mudanças e incorporá-las ao produto; Monitorar gerência de configuração e mudanças: monitorar e reportar as configurações e mudanças no projeto, provendo trilhas de auditoria; Gerenciar mudanças: processar (avaliar, analisar impacto e aprovar) as solicitações de mudança de modo padronizado; Gerenciar baselines: gerenciar versões dos artefatos que compõem o produto em dado momento. Alguns exemplos de artefatos: Plano de gerenciamento de configuração e mudança; Solicitações de mudança; Registros de controle de mudança. 91 92 23

Planejamento e Gerenciamento Principais atividades: Planejamento e Gerenciamento Alguns exemplos de artefatos: Planejamento, executar, acompanhar e monitorar o projeto (escopo, tempo, custo, riscos, qualidade, recursos humanos, aquisições, comunicação). Planos e documentos relacionados à execução, acompanhamento e monitoramento do projeto (escopo, tempo, custo, riscos, qualidade, recursos humanos, aquisições, comunicação). Ambiente Principais atividades: Ambiente Exemplo de artefato: Preparar ambiente para o projeto: definir uma lista de ferramentas que podem ser utilizadas e templates de artefatos que serão necessários; Preparar diretrizes: preparar procedimentos para o desenvolvimento das atividades do projeto; Suportar ambiente: prover suporte para os usuários quanto às dificuldades pertinentes ao ambiente; Realizar atividades de manutenção: execução das rotinas relacionadas à infra-estrutura, como processos de backup e outras rotinas pertinentes Modelo/processo de desenvolvimento (diretrizes/procedimentos, templates) 95 96 24

O RUP Envolve Atividades, Artefatos e Responsáveis Exemplos de responsáveis/papéis... O RUP Envolve Atividades, Artefatos e Responsáveis Administrador do Sistema Analista de Negócio Analista de Sistemas Analista de Teste Arquiteto de Software Artista gráfico Desenvolvedor do Curso Designer Designer de Banco de Dados Designer de Interface do Usuário Designer de Negócio Designer de Teste Engenheiro de Processo Especialista em Ferramentas Especificador de Requisitos Gerente de Configuração Gerente de Controle de Mudanças Gerente de Implantação Gerente de Projeto Gerente de Teste Implementador (codificador) Integrador de sistemas Redator Técnico Revisor de Arquitetura Revisor de Design Revisor de Negócio Revisor de Projetos Revisor de Requisitos Revisor do Código Testador Modelagem de Negócio Requisitos Analista de Negócio Lidera e coordena a modelagem de negócios, delineando e delimitando a organização que está sendo modelada; Por exemplo: estabelece o processo, visão de novos negócios, capta os objetivos de negócio, e determina que os atores de negócios e processos de negócios existem e como eles interagem. Designer de Negócio Detalha a especificação de uma organização, descrevendo os processos de negócio; Determina os trabalhadores e entidades de negócios necessários para realizar um processo de negócios, e também como eles trabalham juntos para alcançar a realização. Define as responsabilidades, operações, atributos e relacionamentos de um ou vários trabalhadores de negócios e entidades empresariais. Revisor de Negócio Revisa os artefatos de negócio. Analista de Sistemas Lidera e coordena elicitação de requisitos e modelagem de casos de uso, delimitando o sistema e descrevendo suas funcionalidade; Especificador de Requisitos Detalha a totalidade ou parte da funcionalidade do sistema, descrevendo os aspectos dos requisitos de um ou vários casos de uso; Arquiteto de Software Envolvido principalmente nas primeiras iterações para, juntamente com o Analista de Sistemas e Especificador de Requisitos, garantir a integridade dos casos de uso significativos para a definição da arquitetura; Designer de Interface Modela a interface com o usuário, cria protótipos; Revisor de Requisitos Representa todos os tipos de pessoas que podem verificar se os requisitos são percebidos e interpretados corretamente pela equipe de desenvolvimento. 25

Análise e Projeto Implementação Arquiteto de Software Lidera e coordena as atividades técnicas e artefatos ao longo do projeto; Estabelece a estrutura geral de cada visão de arquitetura: a decomposição da visão, o agrupamento de elementos, e as interfaces entre os principais grupos. Designer Define as responsabilidades, operações, atributos e relacionamentos de uma ou várias classes e determina como devem ser ajustadas ao ambiente de implementação. Além disso, o designer pode ter responsabilidade por um ou mais pacotes de design ou subsistemas de design, incluindo as classes pertencentes aos pacotes ou subsistemas. Designer de Banco de Dados Responsável pelo banco de dados. Revisor de Arquitetura Especialista que analisa os artefatos de arquitetura. Revisor de Design Especialista que analisa os artefatos de projeto. Implementador (codificador) Desenvolve código e executa testes de unidade; Integrador de sistemas Integra o código, construindo as versões do sistema; Arquiteto de software Define a estrutura do modelo de implementação (camadas e subsistemas); Revisor do código Inspeciona o código para a qualidade e conformidade com o projeto padrão. Testes Gerente de Teste Tem a responsabilidade global para o sucesso do esforço de teste; Responsável pelo planejamento e gestão de recursos e resolução de problemas que impedem o esforço de teste; Analista de Teste Responsável por identificar e definir os testes necessários; Monitora o progresso dos testes e resultados em cada ciclo de teste; Avaliar a qualidade global a partir dos resultado das atividades de testes. Carrega a responsabilidade de representar adequadamente as necessidades das partes interessadas que não tenham direta ou regular representação sobre o projeto. Designer de Teste Responsável por definir a abordagem de teste e garantir a sua execução bem sucedida. Identifica as técnicas apropriadas, ferramentas e diretrizes para implementar os testes necessários e orienta sobre os recursos exigidos para o esforço de teste. Testador Cria e executa os testes, avaliação sua execução,recupera os erros de avaliação dos resultados dos testes e registra pedidos de mudança. Implantação Gerente de Implantação Planeja e organiza a implantação. Responsável pelos testes e feedback, e por garantir que o produto está pronto para distribuição. Gerente de Projeto Principal interface com o cliente, sendo responsável pela aprovação de implantação com base no feedback dos testes e avaliação de resultados; Responsável ainda pela aceitação da entrega por parte do cliente; Testador Executa os testes de aceitação e é responsável por garantir que o produto foi testado de forma adequada; Implementador Cria scripts de instalação e artefatos relacionados que irão ajudar o usuário a instalar o produto final. Redator Técnico Desenvolve materiais de suporte; Desenvolvedor do Curso Produz material de treinamento; Artista gráfico Responsável por criar a arte-final do produto. 26

Gerência de Configuração Planejamento e Gerenciamento Gerente de Configuração Responsável pelas atividades de gerência de configuração (planejamento, configuração de ambiente e ferramentas, criação da estrutura de produtos no sistema, auditorias, dentre outras). Gerente de Controle de Mudanças Responsável pelas definição do processo de controle de mudanças e pela execução das atividades de supervisão do controle de mudanças; Um momento de configuração de mudanças deverá ser composto por representantes de todas as partes interessadas, incluindo clientes, desenvolvedores e usuários; Gerente de Projetos Responsável pela geração dos manutenção dos artefatos de Gerência de Projetos. Revisor de Projetos Responsável pela revisão dos artefatos de Gerência de Projetos. Integrador Aceita mudanças na integração e constrói o produto (gera baseline/release). Ambiente Engenheiro de processo Responsável pela adequação do processo ao projeto; Analista de Negócio Desenvolve as orientações para a modelagem de negócios; Analista de Sistemas Desenvolve orientações para modelagem de caso de uso; Designer de Interface do Usuário Desenvolve orientações para a criação de interface de usuário. Designer de Testes Desenvolve orientações para a criação de testes. Arquiteto de software Desenvolve as diretrizes de design e orientações de programação. Redator técnico Desenvolve guia de estilo para o manual do usuário. Especialista em Ferramentas Seleciona e adquire ferramentas de apoio ao desenvolvimento. elacionadas. Administrador do Sistema Mantém o ambiente de desenvolvimento de hardware e software do sistema; Excuta tarefas administrativas, como administração de contas, backups, e assim por diante. O RUP Características Dividido em Fases/Disciplinas Envolve Atividades, Artefatos e Responsáveis Iterativo e Incremental Dirigido por Casos de Uso Centrado na Arquitetura Tratamento de Riscos 108 27

O RUP - Iterativo e Incremental O RUP Iterativo e Incremental Cada fase é dividida em iterações: Inception Elaboration Construction Transition Preliminary iteration Architect. Architect. iteration iteration Devel.. iteration Devel.. iteration Marcos: Releases Devel.. iteration Transition iteration Transition iteration Características Iterativo e incremental Ciclo de Vida Iterativo Divide o projeto em partes menores Mais fáceis de planejar Mais fáceis de gerenciar Mais fácil de medir o progresso Aplicação do modelo cascata em várias iterações As iterações iniciais atacam os riscos mais críticos Todos começam a trabalhar mais cedo Testes e integração são realizados desde o início Riscos mais críticos são resolvidos mais cedo Maior feedback dos usuários Geralmente resulta em uma versão executável do sistema O RUP - Iterativo e Incremental Iterações Projetos simples normalmente têm uma iteração por fase. Projetos mais complexos no seu primeiro ciclo de desenvolvimento normalmente apresentam: 1 iteração na Iniciação 2 iterações na Elaboração 2 iterações na Construção 1 iteração na Transição Projetos grandes em domínios desconhecidos, envolvendo novas tecnologias e muitos riscos: 2 iterações na Iniciação 3 iterações na Elaboração 3 iterações na Construção 2 iterações na Transição O RUP - Iterativo e Incremental Exemplo... 28

Iterações 29

O RUP O RUP - Dirigido por Casos de Uso Características Dividido em Fases/Disciplinas Envolve Atividades, Artefatos e Responsáveis Iterativo e Incremental Dirigido por Casos de Uso Centrado na Arquitetura Tratamento de Riscos Requisitos Análise e Projeto Implementação Testes Os casos de uso conectam esses fluxos Implantação 117 O RUP - Dirigido por Casos de Uso O RUP - Dirigido por Casos de Uso Características Casos de Uso Representam as funcionalidades do sistema Ajudam na comunicação com os clientes Mostram apenas o que o sistema faz, e não como Servem como base para Definir os requisitos do sistema Definição/planejamento das iterações Criação da arquitetura Definição dos casos de teste Documentação do usuário Priorizar os casos de uso que impliquem em mais riscos ao projeto Os casos de uso que implicam em riscos ao projeto devem ser atacados o quanto antes, preferencialmente nas primeiras iterações. Priorizar os casos de uso que sejam relevantes para a Arquitetura do software A definição de uma arquitetura robusta e capaz de acomodar todos os requisitos do sistema é primordial para o sucesso do projeto. Priorizar os casos de uso mais urgentes para o cliente. 30

O RUP O RUP Centrado na Arquitetura Características Dividido em Fases/Disciplinas Envolve Atividades, Artefatos e Responsáveis Iterativo e Incremental Dirigido por Casos de Uso Centrado na Arquitetura Tratamento de Riscos Planejar/Definir Representar/Projetar Construir/Desenvolver Inspecionar/Validar 121 O RUP Centrado na Arquitetura O RUP Características Arquitetura de Software A definição da arquitetura é imprescindível para o sucesso do projeto Apresenta a visão geral do sistema em termos dos seus subsistemas e como estes se relacionam Trata os requisitos não-funcionais (atributos de qualidade: segurança, performance...) e requisitos funcionais críticos Identifica e mapeia: Componentes Propriedades destes componentes Relacionamentos entre os componentes Características Dividido em Fases/Disciplinas Envolve Atividades, Artefatos e Responsáveis Iterativo e Incremental Dirigido por Casos de Uso Centrado na Arquitetura Tratamento de Riscos 124 31

O RUP Tratamento de Riscos Características Riscos são incertezas que podem conduzir a falhas em um projeto Pessoas não são peças mecânicas intercambiáveis Existem aspectos desconhecidos relativos ao software Riscos diretos e indiretos Diretos: o projeto tem maior controle sobre ele Indiretos: o projeto não tem controle sobre ele A abordagem iterativa permite atenuar os riscos mais cedo Atributos Probabilidade Severidade Tratamento de riscos Identificação Quantificação Desenvolvimento de Respostas Evitar Transferir Aceitar (Mitigar/ Contingenciar - plano B) O RUP Resumo Fases Iterações Disciplinas Atividades Passos entradas e saídas guias (de ferramentas ou não), templates Responsáveis (papel e perfil, não pessoa) Artefatos Referências Martins, José Carlos Cordeiro. Gerenciando projetos de desenvolvimento de software com PMI, RUP e UML. Brasport, 3ª edição, 2006. Pressman, R. S. Engenharia de Software, Mc-Graw-Hill, 6ª edição, 2006. Sommerville, I. Engenharia de Software. Addison-Wesley, 8ª edição, 2007. Scott, K. O Processo Unificado Explicado. Boookman, 2003. Beck, K. Programação Extrema (XP) Explicada: Acolha as Mudanças. Bookman, 2004. Ambler, S. W. Modelagem Ágil. Bookman, 2004. Kruchten, P. Introdução ao RUP: Rational Unified Process. Ciência Moderna, 2003. 127 32