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



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

Processo de Desenvolvimento Unificado

Processo Unificado (RUP)

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

Programa do Módulo 2. Processo Unificado: Visão Geral

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

Engenharia de Software I

Para cada fase consideramos. Tempo para um projeto típico Tempo para um projeto Complexo. Arquitetura do Processo Unificado. A meta a ser atingida

Visão Geral do RUP Rational Unified Process. Jorge Fernandes UFRN Junho de 2002

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

Motivação e Definições Iniciais

Engenharia de Software

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

O modelo unificado de processo. O Rational Unified Process, RUP.

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

Apresentar os conceitos básicos da metodologia de desenvolvimento Processo Unificado, utilizando como aporte o Processo Unificado Rational RUP

3. Fase de Planejamento dos Ciclos de Construção do Software

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

UML - Unified Modeling Language

Rational Unified Process

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

PROJETO DE FÁBRICA DE SOFTWARE

Pós Graduação Engenharia de Software

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Processos de Desenvolvimento de Software. Prof. Hélio Engholm Jr

Engenharia de Software I

Engenharia de Requisitos

A Disciplina Gerência de Projetos

Planejamento Iterativo

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Resumo do BABok 2.0 O Guia de Referência de Análise de Negócio Curso de Analista de Negócio 3.0

Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS

Especialização em Engenharia de Software e Banco de Dados

Unified Process. Sueleni Mendez Batista. Orientadora: Dra. Elisa Hatsue Moriya Huzita

Engenharia de Software Processo de Desenvolvimento de Software

ERP Enterprise Resource Planning

Documento de Arquitetura

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Notas de Aula 02: Processos de Desenvolvimento de Software

Eduardo Bezerra. Editora Campus/Elsevier

Engenharia de Requisitos Estudo de Caso

O Processo Unificado: Captura de requisitos

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

RUP Rational Unified Process

Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

Feature-Driven Development

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

Fase 1: Engenharia de Produto

O Processo Unificado

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br

Programa do Curso de Pós-Graduação Lato Sensu MBA em Engenharia de Software Orientada a Serviços (SOA)

Metodologia e Gerenciamento do Projeto na Fábrica de Software

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

Metodologia de Gestão e Desenvolvimento de Software. Coordenação Geral de Tecnologia da Informação

Fundamentos de Teste de Software

Sistemas de Informação e Programação II Odorico Machado Mendizabal

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

RUP Rational Unified Process

PROFESSOR: CRISTIANO MARIOTTI

Gerenciamento do Escopo do Projeto Produto do Projeto

ENGENHARIA DE SOFTWARE I

Engenharia de Software I: Análise e Projeto de Software Usando UML

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Desenvolvimento Ágil Modelos Ágeis. Profª Esp.: Maysa de Moura Gonzaga

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

Planejamento e Gerenciamento de Software. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

Metodologia de Desenvolvimento de Sistemas (MDS - ANEEL)

Introdução ao Processo Unificado (PU)

Especialização em Engenharia de Software com Ênfase em Software Livre ESL2/2008. Projeto Agenda Saúde Requisitos e Modelagem UML

1. Desenvolver o software iterativamente. Um pouco de reflexão: Acabou aí? 31/08/2010

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW

2.12- Criação/Implantação de Processo de Garantia da Qualidade para Empresas de Software de Pequeno Porte

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

PLANEJAMENTO E PROJETOS. Lílian Simão Oliveira

Análise de Pontos por Função

Gerência de Projetos

Modelo Cascata. Alunos: Bruno Nocera Zanette Pedro Taques

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

MASTER IN PROJECT MANAGEMENT

Processo de Desenvolvimento de Software. Engenharia de Software.

Análise e Projeto de Sistemas

MDMS-ANAC. Metodologia de Desenvolvimento e Manutenção de Sistemas da ANAC. Superintendência de Tecnologia da Informação - STI

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA

Padronização de Documentação de Sistemas. Projeto a ser desenvolvido no âmbito da Gerência de Sistemas/GGTIN e ANVISA

O Processo de Desenvolvimento de Software

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 10 PROFª BRUNO CALEGARO

Development Case. Project: VENSSO. Data 27/05/2005. <location to access at CVS or URL> Vesões do Documento 2.00

Tópicos. Métodos Ágeis. Histórico; Valores; Métodos Ágeis x Modelos Tradicionais; Exemplo: Referências Bibliográficas.

Desenvolvimento Iterativo. Unified Process (UP) Esta abordagem ao desenvolvimento

Transcrição:

Agenda! Introdução " Motivação para Processos de Software! (USDP) " Definições " RUP x USDP " Características do! Descrição detalhada do! Processos Derivados! Templates simplificados! Conclusões 2 Processo de Software Introdução!Comparando o processo de software com outros processos industriais!crescente preocupação com processos!modelos de Processos Populares! Definição para Processo de Software " Todos os elementos do mundo real envolvidos no desenvolvimento e manutenção de um produto de software " Inclui os recursos, ferramentas, atividades, artefatos e organização (Derniame, 1998 apud GDPA) 4

Processo de Software! Processos vem sendo propostos pela indústria, países e academia " Análise Estruturada (Yourdon, Gane) " Método de Jackson " Objectory (Jacobson) " V-Model (Alemanha) "Catalysis " Rational Unified Process - RUP " XP - extreme Programming +técnico -gerencial Descrição superficial +técnico +gerencial Descrição detalhada 5 Processo de Software! Exemplo de Processo: Análise Estruturada " Proposta por uma diversidade de autores nas décadas de 1980 e 1990 " Fundamentação:! Programação Estruturada " Estruturas de repetição, decisão e seqüência! Projeto Estruturado " Principal mecanismo de abstração: decomposição funcional! Ciclo de Vida Cascata " Processo Seqüencial Linear 6 Processo de Software! Exemplo de Processo: Análise Estruturada Modelagem de Dados Projeto de Dados Análise Modelagem dos Fluxos Modelagem Comportamental (Visão simplificada do fluxo de controle) Projeto Projeto de Funções 7!Histórico e Definições!RUP x USDP!Características do Processo Unificado

! Definição principal " O processo oficial definido para apoiar o uso da UML "Necessidade a partir do sucesso da UML como padrão de fato para especificação de software! Histórico: UML " Unified Modeling Language (UML)! Linguagem visual para sistemas orientados a objetos! Unified Method 0.8: 1995! Padrão de fato e de direito! UML foi proposta somente como uma linguagem, sem orientação de uso (i.e., sem um processo) 9 10! Histórico: " Bases históricas do! Histórico: Processo Unificado! Processo Espiral " Iteratividade " Gerência de riscos " Bases históricas do! Processo Objectory " Proposto por Jacobson et al " Processo direcionado pelos Casos de Uso 11 12

: Introdução! O que é o? "Pode ter 2 respostas:! Definições: o que é Processo Unificado! Modelo de Processo Padrão "...Modelo de Processo Padrão! Produto comercial da IBM/Rational! Descrição de atividades que compõem um processo que adota UML! Mais simples que a proposta da Rational 13 14 : Introdução! Definições: O que é "...Produto comercial! Desenvolvido e mantido pela Rational! Integrado a suite de produtos! Disponível em CD-ROM / Internet! Conhecido como Rational Unified Process! E-coach: treinamento a distância " http://www.rational.com/rup # Para o treinamento online, clicar em Trials & Betas 15 16

Descrição do artefato Vision Template para o artefato Vision 17 18 O gerenciamento de Riscos deve ser feito continuamente The Siprit of RUP! A cada iteração (novos) riscos devem ser identificados e tratados;! Isto garante que o desenvolvimento terá sucesso; 20

Foco em Funcionalidades para o Cliente! Especificação, organização e documentação dos requisitos é facilitada através dos diagramas de casos de uso;! Casos de uso guiam todo o processo de desenvolvimento "O que desenvolver, testar e validar em cada iteração;! Casos de uso são funcionalidades para o cliente; Foco em Software Executável! Artefatos são construídos para facilitar e documentar o processo de desenvolvimento;! Mas, não é necessário construir todos os artefatos indicados pelo RUP; 21 22 Aprenda a lidar com Mudanças! Mudanças são inevitáveis no processo de desenvolvimento;! Adote estratégias para gerenciar mudanças " Tomada de decisão sobre uma mudança; " Impacto desta mudança no sistema; " Minimizar o custo desta mudança; Defina uma Arquitetura estável cedo! Uma arquitetura do sistema é definida, implementada e testada no início do processo (Elaboração) para garantir que o sistema atenderá aos requisitos funcionais e não-funcionais;! Com a arquitetura definida, o processo de construção é mais simples; 23 24

Considere continuamente a Qualidade! O controle de qualidade deve ser feito desde o início do processo de desenvolvimento " Inspeção de software; " Teste dos casos de uso implementados; "Definição de casos de teste a partir dos casos de uso; Desenvolvimento Iterativo! Impossível desenvolver o sistema em uma única iteração;! A cada iteração mais detalhes são adicionados;! Diversas vantagens: " Redução da Complexidade; " Facilidade para lidar com mudanças nos requisitos, cronograma, etc. 25 26 Estrutura do! Estrutura do " Processo Iterativo, baseado no modelo Espiral! Iterativo: baseado em sucessivas versões! Espiral: inclui análise de riscos 28

! Estrutura do! Estrutura do componentes do processo agrupados logicamente em workflows tempo 29 Uma iteração 30 Workflows Milestones 31

Workflow de Requisitos Workflow de Análise e Projeto Detalhado a seguir 33 34 Workflow de Implementação Workflow de Testes 35 36

Workflow de Implantação : detalhamento das etapas 37! Concepção "Objetivos! Estabelecer escopo do projeto e condições de fronteira! Descrever os casos de uso críticos do sistema! Descrever pelo menos uma arquitetura candidata para os principais casos de uso! Estimar o custo e cronograma para a Elaboração! Estimar riscos (fontes de incerteza) 39 40

! Concepção " Atividades! Descrever o escopo do projeto " Capturar o contexto na forma de requisitos e restrições para determinar um critério de aceitação do produto final! Planejar e preparar o Plano de Negócios " Avaliação de riscos, staff, plano de projeto e relações entre custo, cronograma e lucro! Preparar uma arquitetura candidada " Avaliar alternativas de projeto (atividade pode ser suprimida se o sistema não possui novidades ou possui uma arquitetura bem conhecida)! Preparar o ambiente de projeto (environment) " Escolha de recursos físicos e humanos, e ferramentas de software! Obs: Geralmente a concepção é completada em dois dias ou menos para sistemas pequenos 41! Concepção " Artefatos produzidos! O documento de Visão, isto é, a visão geral dos requisitos principais do sistema, incluindo funcionalidades principais e restrições! O modelo de caso de uso, listando todos os casos de uso e atores que podem ser identificados neste início (10% a 20% do total)! Um glossário inicial do projeto! Um plano de negócios inicial, contendo: " Contexto do negócio, Critério de sucesso (projeção de lucro, reconhecimento do mercado, etc), Provisionamento Financeiro! Análise de Riscos Inicial! Um plano de projeto (para etapa de Elaboração)! Um ou mais protótipos 42! Concepção Objetivos do ciclo de vida " Milestone: Objetivos do ciclo de vida! Acordo com stakeholder acerca da definição de escopo, e estimativas de custo e cronograma! Entendimento dos requisitos (evidenciado pelos principais casos de uso)! Estimativas reais de custo e cronograma, prioridades, riscos e processo! Protótipo de Arquitetura do software! Elaboração " Objetivos! Definir e validar uma arquitetura baseline " Baseline - release estável que serve como ponto de partida e referência no desenvolvimento futuro! Gerar uma Visão baseline! Gerar um plano detalhado para a fase de construção! Demonstrar que a arquitetura baseline irá atender a revisão no custo e tempo estimados 43 44

! Elaboração " Atividades! Elaborar a visão: entendimento sólido dos casos de uso mais críticos (que determinam as decisões arquiteturais e de planejamento)! A arquitetura é elaborada e componentes de software são selecionados " Componentes potenciais são avaliados segundo decisões make/buy/reuse para determinar custo e estimativa " Lições obtidas podem servir para gerar o novo projeto da arquitetura do sistema! Elaboração " Artefatos produzidos! Um modelo de caso de uso (pelo menos 80% dos casos de uso)! Requisitos suplementares que capturem requisitos não-funcionais e requisitos que não estão associados com um caso de uso específico! Uma descrição da arquitetura de software! Um protótipo arquitetural executável! Uma lista revisada dos riscos e plano de negócios! Um plano para as próximas iterações! Um manual do usuário preliminar 45 46 Arquitetura! Elaboração " Milestone: Arquitetura! Perguntas: " A visão do produto é estável? " A arquitetura é estável? " O plano para Construção está suficientemente detalhado e correto? # Iterações x Releases " O cliente está de acordo com a visão? " A alocação de recusos está de acordo com o previsto?! Construção " Atividades:! Gerenciamento de recursos! Desenvolver e testar os componentes! Avaliar e, eventualmente, prosseguir para a próxima iteração " Artefatos! Produto de software integrado na plataforma de hardware! Manuais de usuário! Descrição dos releases 47 48

! Construção Início da capacidade operacional " Milestone: Início da Capacidade Operacional! O release está maduro e estável para ser usado?! Todos os stakeholders estão prontos para a transição?! O consumo de recursos é aceitável?! Transição " Objetivo geral:! Garantir que o software estjea disponível para usuários finais " Atividades! Finalizar o material de apoio ao usuário final! Testar o produto entregue " Simular o ambiente do cliente (se possível) ou instalar o software no cliente! Realizar um ajuste fino do produto com base no feedback! Entregar o produto final para o usuário 49 50! Transição "Artefatos! Release Notes " É raro o produto que não possui instruções e modificações de último-minuto! Material de treinamento e documentação Processos Derivados 51

Processos Derivados! Grande número de processos surgiram para customizar ou estender o Processo Unificado! Experiências na indústria e academia! Há uma verdadeira coqueluche em adaptações de RUP para empresas específicas Templates Simplificados 53 2.1 Fase de Concepção 2.1.1 Iteração 1 - <<data>> 2.1.1.1. Planejamento do Projeto Descrever fases, prazos e alocação de alunos às atividades na etapa de Concepção, descrevendo ainda um planejamento inicial das próximas etapas (Elaboração, Construção e Transição) 2.1.1.2. Fluxo de Requisitos Fornecer os <<Diagramas de caso de uso>> (explicados) Todos os casos de uso essenciais do sistema devem ser encontrados na etapa de Concepção 2.1.1.4. Fluxo de Implementação Incluir, por exemplo, telas do usuário e restrições adicionais para implementação. As telas podem ser construídas à mão ou com um editor. Restrições incluem descrição de características de implementação não documentadas nas seções anteriores. 2.1.1.3. Fluxo de Análise e Projeto Fornecer os << diagramas de classes e pacotes >> (explicados) Para cada caso de uso deve ser fornecido um diagrama de classes. O diagrama de pacotes pode ser produzido para agrupar as classes do sistema de forma separada. Quanto ao diagrama de pacotes, recomenda-se: -Apresentá-lo somente na segunda iteração do sistema (ainda na Concepção) -Identificar todas as classes que compõem um pacote, se esta informação não for fornecida graficamente pela ferramenta CASE 55 2.1.2 Iteração 2 (se necessário) - <<data>> Se houver necessidade de revisão no modelo (novas classes, novos casos de uso, modificação de rótulos, etc), fazer novas iterações (contendo os fluxos descritos acima). 56

2.2. Fase de Elaboração 2.2.1 Iteração 1 - <<data>> 2.2.1.1. Planejamento do Projeto 2.2.1.2. Fluxo de Requisitos Acrescentar casos de uso que não foram encontrados na Concepção 2.2.1.3. Fluxo de Análise e de Projeto Identificar as classes persistentes. Se for usado BD Relacional, fazer o mapeamento para tabelas 2.2.1.4. Fluxo de Implementação Descrever detalhes de implementação com DTE (por classe), Diagrama de Seqüência (por caso de uso) e Diagrama de atividades (por caso de uso) Continuação 2.2.2 Iteração 2 (se necessário) - <<data>>... 2.2.3 Iteração 3 (se necessário) - <<data>>... 2.3. Considerações sobre a Fase de Construção 2.2.1.5. Fluxo de Testes Descrever testes a serem realizados no software. Todos os testes devem ser agrupados por casos de uso. 2.4. Considerações sobre a Fase de Transição 2.2.1.6. Fluxo de Gerenciamento de Projetos (Planejamento da Construção) Descrever quais versões serão produzidas Associar versões aos casos de uso encontrados Continua... 57 58