1.04k likes | 1.35k Views
Rational Unified Process. O Valor do Software. O software é um parte indispensável no mundo moderno Faz com que as sociedades se conectem melhor Nos ajuda a criar, acessar e visualizar informação em formas e modos não concebíveis anteriormente. Boa notícia
E N D
O Valor do Software • O software é um parte indispensável no mundo moderno • Faz com que as sociedades se conectem melhor • Nos ajuda a criar, acessar e visualizar informação em formas e modos não concebíveis anteriormente. • Boa notícia • A economia mundial depende cada vez mais de software. • Notícia ruim • O pessoal qualificado não consegue acompanhar o mesmo ritmo da demanda. • Softwares estão crescendo em importância, tamanho, complexidade e distribuição. • Resultado • A construção e manutenção de software são difíceis.
Sintomas e Origem das Causas de Problemas de Desenvolvimento de Software • Entendimento impreciso das necessidades dos usuários • Falta de habilidade de lidar com a necessidade de mudanças • Uma descoberta tardia de uma séria falha de projeto • Software com baixa qualidade • Um processo não confiável de construção • Arquitetura frágil • Testes insuficientes • Falha no ataque aos riscos
Processo • Define quem irá fazer o que, quando, e como será alcançado o objetivo. Processo de Engenharia de Software Sistema novo ou melhorado Requisitos novos ou alterados
Processo • Regras • Prover um guia para as atividades • Especificar que artefatos e quando devem ser desenvolvidos • Direcionar as tarefas dos grupos e indivíduos • Oferecer um critério para monitorar e medir o processo
Melhores Práticas • Desenvolver software iterativamente • Gerenciar requisitos • Usar arquiteturas baseadas em componentes • Modelar o software visualmente • Verificar continuamente a qualidade do software • Controlar as alterações no software
RUP • Um processo de engenharia de software • Um framework para outros processos • Utiliza as 6 melhores práticas de desenvolvimento de software
RUP • RUP é uma abordagem dirigida por caso de uso (use-case driven) • Casos de uso dirigem inumerosas atividades • Criação e validação dos modelos de projeto • Definição dos casos de teste no modelo de teste • Planejamento de iterações • Criação do manual do usuário • Processo centrado na arquitetura
Histórico Rational Unified Process 2000 2000 Rational Unified Process 5.5 1999 UML 1.3 Rational Unified Process 5.0 1998 UML 1.2 Rational Objectory Process 4.1 1997 UML 1.1 Rational Objectory Process 4.0 1996 UML 0.8 Rational Approach Objectory Process 3.8 1995
RUP End_user Functionality Programmers Software Management Implemation View Logical View Use-Case View Analysts/Tester Behavior Deployment View Process View System Integrator Performance Scalability Throughput System Engineering System Topology Delivery, Installation Communication
Visão Geral • Concepção – onde são estabelecidos lógica do domínio da aplicação e escopo do projeto • Elaboração – coleta de requisitos mais detalhados, análise e plano para construção do sistema • Construção – consiste de várias iterações • Transição – teste, ajuste de performance e treinamento de usuário
RUP - Melhores Práticas • Desenvolvimento Iterativo • Gerência de Requisitos • Arquitetura Baseada em Componentes • Modelagem Visual • Verificação Contínua da Qualidade • Gerência de Mudanças
Desenvolvimento Iterativo • O que é desenvolvimento iterativo Desenvolvimento Iterativo Desenvolvimento em Cascata
Desenvolvimento Iterativo Teste Requisitos Análise & Projeto Modelagem de Negócio Implementação Deployment Avaliação Teste
Desenvolvimento Iterativo • Vantagens • Os riscos são atacados mais cedo • Mudanças nos requisitos • Refinamento de arquitetura • Aprendizado e aprimoramento • Aumento do reuso
Gerência de Requisitos • Dificuldades • Requisitos não são óbvios • Requisitos não são sempre facilmente epresso em palavras • Existem vários tipos de requisitos em diferentes níveis de detalhes • O número de requisitos pode explodir • Requisitos estão interligados • Existem várias pessoas interessadas nos requisitos • Requisitos mudam.
Gerência de Requisitos • Atacando • Analisando o problema • Entendendo as necessidades dos “stakeholders” • Definindo o sistema • Gerenciando o escopo do projeto • Refinando a definição do sistema • Gerenciando mudança de requisitos
Arquitetura Baseada em Componentes • Desenvolvimento Baseado em Componentes • Definem uma arquitetura modular • Desenvolvidos para reuso • Arquiteturas e componentes prontos
Arquitetura Baseada em Componentes • Suporte ao Desenvolvimento Baseado em Componentes • Com o processo itrativo • Baseado na arquitetura • Através da UML - com pacotes, camadas e subsistemas • Testes graduais
Modelagem Visual • Ajuda a entender sistemas complexos • Explora e compara alterntivas a um preço baixo • Forma uma base para a implementação • Facilita a captura dos requisitos • Comunica as decisões sem ambiguidades
Verificação Contínua da Qualidade • O que é qualidade? "...the characteristic of having demonstrated the achievement of producing a product that meets or exceeds agreed-on requirements—as measured by agreed-on measures and criteria—and that is produced by an agreed-on process."
Verificação Contínua da Qualidade • O que é qualidade? • Onde está a qualidade? • Gerência da qualidade no RUP • Identificar metricas • Identificar medidas • Identificar os pontos que afetam a qualidade o quanto antes
Gerência de Mudanças • Coordenação das Atividades e Artefatos • Coordenação das Iterações e Releases • Controlando Mudanças de Software • Workspaces isolados reduzem interferências • Estatísticas provêem boas métricas • Mudanças podem ser confinadas e as propagações medidas
Elementos do RUP • Workflow • Workers ou Papel • Atividades • Artefatos
Caso de Uso Elementos do RUP Unidade de trabalho Papel desempenhado por um indivíduo ou grupo Atividade Worker Descrever um Caso de Uso Analista Responsável por Artefato Informação que é produzida, modificada, ou usada pelo processo Pacote de Caso de Uso
Disciplina • Workflow de atividades correlatas • Alguns elementos, como risco e testes, são introduzidos em diferentes disciplinas • Relação entre disciplina e modelos
Workflow • Sequência de atividades que produzem um resultado de valor observável • Geralmente expresso em um diagrama de atividade • Organização • Disciplinas • Detalhes do Workflow
Workflow Workflows essenciais (Core Workflows): • Engenharia: • Modelagem de Negócio • Requisitos • Análise & Projeto • Implementação • Teste • Deployment • Suporte: • Gerência do Projeto • Gerência de Configuração • Ambiente
Modelagem de Negócio Teste Workflow Modelo de Negócio Requisitos realizado pelo Modelo de Caso de Uso Análise & Projeto implementado pelo Modelo de Projeto Implementação verificado pelo Modelo de Implementação Modelo de Teste
Workflow Details • As atividades não são feitas em sequência • Mostra os artefatos necessários e os gerados • Agrupa atividades relacionadas de outras disciplinas
Workers - Papel • Define o comportamento e as responsabilidades de um indivíduo um uma equipe • Exercidos por pessoal interno ou externo à equipe de desenvolvimento
Workers - Papel • Exemplos: • Analista de Sistemas • Revisor de Projeto • Testador de desempenho
Atividade • Unidade de trabalho com um propósito claro • Utilizado para planejamento e verificação de progresso • Passos • Planejando • Executando • Revisando
Atividade • Exemplos: • Identificar casos de uso e atores • Worker: Analista de Sistemas • Revisar o projeto • Worker: Revisor de Projeto • Executar teste de desempenho • Worker: Testador de desempenho