O Processo Unificado



Documentos relacionados
Introdução ao Processo Unificado (PU)

Análise e Projeto Orientados a Objeto

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

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

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

Processo de Desenvolvimento Unificado

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

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

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

Ideal para que tipo de empresa (equipe): pequena, média, grande? Em software onde os requisitos não são conhecidos é recomendado o uso do XP? Por quê?

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

Processos de Software

Engenharia de Software

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

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

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

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

Com metodologias de desenvolvimento

Modelos de Processo (métodos)

PROVA DISCURSIVA (P )

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

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

ENGENHARIA DE SOFTWARE I

Resolução da lista de exercícios de casos de uso

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

Processos de Desenvolvimento de Software

Eduardo Bezerra. Editora Campus/Elsevier. Princípios de Análise e Projeto de Sistemas com UML - 2ª edição

Gerenciamento de Projetos Modulo II Clico de Vida e Organização

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

Processo de Desenvolvimento de Software Workshop de Engenharia de Software

ProcessoUnificado: Prof. Anderson Cavalcanti UFRN-CT-DCA

Projeto. Gerenciamento de Projeto de Software. Tópicos abordados. Características básicas de um projeto. Definição

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

PROJETO DE FÁBRICA DE SOFTWARE

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

Processo Unificado (RUP)

Engenharia de Software II

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

RUP Rational Unified Process

Projeto de Sistemas I

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

Metodologia de Desenvolvimento de Sistemas (Versão 2.0)

MODELOS DE PROCESSO. Isac Aguiar isacaguiar.com.br

Planejamento - 7. Planejamento do Gerenciamento do Risco Identificação dos riscos. Mauricio Lyra, PMP

Gerenciamento de Projetos Modulo IX Qualidade

O modelo unificado de processo. O 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)

UML - Unified Modeling Language

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

Engenharia de Software II

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

Visão Geral Parte 1. O que é engenharia de software?

DESENVOLVENDO O SISTEMA

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

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

Análise e Projeto de Sistemas. O que é modelagem. O que é modelagem. Tripé de apoio ao desenvolvimento. Notação: UML. Ferramenta: Rational Rose.

Profa. Dra. Ana Paula Gonçalves Serra

ALESSANDRO RODRIGO FRANCO FERNANDO MARTINS RAFAEL ALMEIDA DE OLIVEIRA


:: aula 8. :: Desenvolveremos as seguintes habilidades nesta aula:

Unidade II MODELAGEM DE PROCESSOS

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Desenvolvimento Ágil de Software

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

Resumo artigo Agile Modeling- Overview

XP extreme Programming, uma metodologia ágil para desenvolvimento de software. Equipe WEB Cercomp

Unidade I Conceitos BásicosB. Conceitos BásicosB

TÉCNICAS DE PROGRAMAÇÃO

A Disciplina Gerência de Projetos

Sistemas de Informação I

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

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

Desenvolvimento de Software requer Processo e Gestão

Fundamentos de Teste de Software

Leslier Soares Corrêa Estácio de Sá / Facitec Abril/Maio 2015

Porque estudar Gestão de Projetos?

Classificação de Sistemas: Sistemas Empresariais

Concepção e Elaboração

Engenharia de Software II

Sistema Datachk. Plano de Projeto. Versão <1.0> Z u s a m m e n a r b e i t I d e i a s C o l a b o r a t i v a s

Processos de gerenciamento de projetos em um projeto

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

REQUISITOS DE SISTEMAS

Capítulo 1. Extreme Programming: visão geral

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

Comparativo entre Processos Ágeis. Daniel Ferreira

3 Qualidade de Software

Projeto de Desenvolvimento de Software

29/05/2012. Gestão de Projetos. Luciano Gonçalves de Carvalho FATEC. Agenda. Gerenciamento de Integração do Projeto Exercícios Referências FATEC

Gerenciamento de Projetos Modulo VIII Riscos

Professor: Curso: Disciplina: Aula 4-5-6

Transcrição:

UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA O Processo Unificado 879SCC Projeto e Desenvolvimento de Sistemas de Informação 1 o Semestre de 2014

Objetivo Seguir um processo de desenvolvimento de software simples, da engenharia de requisitos à implementação

Modelos de Processo de Software Desenvolver software é geralmente uma tarefa complexa e sujeita a erros. Sucesso ou fracasso dependem de inúmeros fatores que ocorrem durante todo o processo. Necessidade de estabelecer processos sistemáticos para desenvolvimento -> modelos de processo de software

Exemplos de Modelos de Processo de Software Modelo em Cascata Modelo de Prototipagem Modelo Evolucionário Desenvolvimento Baseado em Componentes Programação Extrema (XP) Processo Unificado

UML e Processo de Software A UML não define um processo padrão. A habilidade de saber como criar um bom projeto é mais importante do que seguir um método ou processo oficial. Essa habilidade é adquirida dominando-se um conjunto de princípios e heurísticas para identificar e abstrair um conjunto relevante de objetos e atribuir responsabilidade a eles.

O que é o PU? é um processo de Software: conjunto de atividades executadas para transformar um conjunto de requisitos do cliente em um sistema de software. é um arcabouço (framework) que pode ser personalizado de acordo com as necessidades específicas e recursos disponíveis para cada projeto.

Elementos do PU Um processo descreve quem (papel) está fazendo o quê (artefato), como (atividades) e quando (disciplina). Um processo em particular pode enfatizar, em determinados momentos, parte dos elementos envolvidos no processo 7

Trabalhadores Trabalhadores: Um trabalhador é alguém que desempenha um papel e é responsável pela realização de atividades para produzir ou modificar um artefato. Exemplos: analista de sistemas, programador, testador etc. 8

Atividades Atividades: tarefa que um trabalhador executa a fim de produzir ou modificar um artefato. Ex: Obtenção de requisitos, análise, programação, etc. 9

Disciplinas Descreve as sequências das atividades que produzem algum resultado significativo e mostra as interações entre os participantes São realizadas a qualquer momento durante o ciclo de desenvolvimento (Fases do PU) Exemplo de uma sequência em particular: Requisitos, Análise, Projeto, Implementação e Teste 10

Princípios Básicos do PU Desenvolvimento iterativo Baseado em casos de uso Centrado na arquitetura

Desenvolvimento Iterativo O desenvolvimento de um software é dividido em vários ciclos de iteração, cada qual produzindo um sistema testado, integrado e executável. Em cada ciclo ocorrem as atividades de análise de requisitos, projeto, implementação e teste, bem como a integração dos artefatos produzidos com os artefatos já existentes.

Desenvolvimento Iterativo Desenvolvimento Iterativo e Incremental Figura extraída de Larman, 2004

Desenvolvimento Iterativo Planejar quantos ciclos de desenvolvimento serão necessários para alcançar os objetivos do sistema. As partes mais importantes devem ser priorizadas e alocadas nos primeiros ciclos. A primeira iteração estabelece os principais riscos e o escopo inicial do projeto, de acordo com a funcionalidade principal do sistema. Partes mais complexas do sistema devem ser atacadas já no primeiro ciclo, pois são elas que apresentam maior risco de inviabilizar o projeto.

Desenvolvimento Iterativo O tamanho de cada ciclo pode variar de uma empresa para outra e conforme o tamanho do sistema. Por exemplo, uma empresa pode desejar ciclos de 4 semanas, outra pode preferir 3 meses. Produtos entregues em um ciclo podem ser colocados imediatamente em operação, mas podem vir a ser substituídos por outros produtos mais complexos em ciclos posteriores.

Baseado em Casos de Uso Um caso de uso é uma sequência de ações, executadas por um ou mais atores e pelo próprio sistema, que produz um ou mais resultados de valor para um ou mais atores. O PU é dirigido por casos de uso, pois utiliza-os para dirigir todo o trabalho de desenvolvimento, desde a captação inicial e negociação dos requisitos até a aceitação do código (testes).

Baseado em Casos de Uso Os casos de uso são centrais ao PU e a outros métodos iterativos, pois: Os requisitos funcionais são registrados preferencialmente por meio deles Eles ajudam a planejar as iterações Eles podem conduzir o projeto O teste é baseado neles.

Centrado na arquitetura Arquitetura é a organização fundamental do sistema como um todo. Inclui elementos estáticos, dinâmicos, o modo como trabalham juntos e o estilo arquitetônico total que guia a organização do sistema. A arquitetura também se refere a questões como desempenho, escalabilidade, reuso e restrições econômicas e tecnológicas.

Centrado na arquitetura No PU, a arquitetura do sistema em construção é o alicerce fundamental sobre o qual ele se erguerá Deve ser uma das preocupações da equipe de projeto A arquitetura, juntamente com os casos de uso, deve orientar a exploração de todos os aspectos do sistema

Centrado na arquitetura A arquitetura é importante porque: Ajuda a entender a visão global Ajuda a organizar o esforço de desenvolvimento Facilita as possibilidades de reuso Facilita a evolução do sistema Guia a seleção e exploração dos casos de uso.

As Fases do PU Cada um dos ciclos de desenvolvimento do PU é dividido em quatro fases Concepção Elaboração Construção Transição

As Fases do PU

Fases do PU: Concepção Estabelece-se a viabilidade de implantação do sistema Definição do escopo do sistema. Estimativas de custos e cronograma Identificação dos potenciais riscos que devem ser gerenciados ao longo do projeto Esboço da arquitetura do sistema, que servirá como alicerce para a sua construção.

Fases do PU: Elaboração Visão refinada do sistema: com a definição dos requisitos funcionais; detalhamento da arquitetura criada na fase anterior; gerenciamento contínuo dos riscos envolvidos. Estimativas realistas feitas nesta fase permitem um plano para orientar a construção do sistema.

Fases do PU: Construção O sistema é efetivamente desenvolvido e, em geral, tem condições de ser operado, mesmo que em ambiente de teste, pelos clientes.

Fases do PU: Transição O sistema é entregue ao cliente para uso em produção. Testes são realizados e um ou mais incrementos do sistema são implantados. Defeitos são corrigidos, se necessário.

As Disciplinas do PU Conjunto de atividades (e artefatos relacionados): Modelagem de Negócio Análise dos Requisitos Foco do curso de PDSI Projeto Implementação Teste Implantação Gestão de Configuração e Mudanças Gerenciamento de projeto Ambiente

As disciplinas do PU Avaliando-se as fases do PU, pode-se ter a impressão de que cada ciclo de iteração comporta-se como o modelo em cascata. Mas isso não é verdade: paralelamente às fases do PU, as atividades de trabalho, denominadas disciplinas do PU, são realizadas a qualquer momento durante o ciclo de desenvolvimento. As disciplinas entrecortam todas as fases do PU, podendo ter maior ênfase durante certas fases e menor ênfase em outras, mas podendo ocorrer em qualquer uma delas.

disciplinas As disciplinas do PU

Os Artefatos do PU Cada uma das disciplinas do PU pode gerar um ou mais artefatos, que devem ser controlados e administrados corretamente durante o desenvolvimento do sistema. Artefatos são quaisquer dos documentos produzidos durante o desenvolvimento, tais como modelos, diagramas, documentos de especificação de requisitos, código fonte ou executável, planos de teste, etc. Muitos dos artefatos são opcionais, produzidos de acordo com as necessidades específicas de cada projeto.

Os Artefatos do PU p produzir r refinar artefatos

Processo Unificado da Rational (RUP Rational Unified Process) É uma instância específica e detalhada do Processo Unificado. Produto da empresa de software Rational Software Corporation, adquirida pela IBM (atualmente IRUP) que contém: Tutoriais da ferramenta Rational Suite (conjunto de ferramentas construídas em torno do RUP) Gabaritos para os artefatos principais Manuais das tarefas e de personalização dos gabaritos do processo. Documentado em um grande conjunto de páginas HTML 32

RUP Rational Unified Process Visa melhorar a produtividade da equipe. Elaboração e manutenção de modelos. Guia para utilizar efetivamente a UML. Várias ferramentas disponíveis. Processo configurável. Incentiva as 6 melhores práticas do desenvolvimento de software moderno:

Seis melhores práticas 1. Desenvolver software iterativamente 2. Gerenciar requisitos 3. Usar arquiteturas baseada em componentes 4. Modelar o software visualmente (diagramas) 5. Verificar a qualidade do software. 6. Controlar as mudanças do software

RUP - Características Semelhante ao PU: Baseado em casos de uso Orientado a arquitetura Iterativo e incremental

RUP - Fases Semelhante ao PU: Concepção Elaboração Construção transição

RUP - Disciplinas Gestão de Projeto * Modelagem de Negócio * Requisitos Análise e Projeto (união de A/P do PU) Teste, Configuração e Gestão de Mudanças * Ambiente * Instalação * * novas disciplinas

RUP - Artefatos Conjunto de Gestão (ou Administração) Conjunto de Requisitos Conjunto de Projeto Conjunto de implementação Conjunto de Instalação

RUP - Métodos concorrentes Cleanroom" (considerado pesado) e os Metodos Ágeis (leves) como a Programação Extrema (XP-Extreme Programming), e outros

XP EXtreme Programming Definição Valores Princípios Práticas Semelhança entre RUP e XP Diferença entre RUP e XP

XP EXtreme Programming Definição Uma metodologia leve para equipes pequenas e médias que desenvolvem software com requisitos vagos ou que mudam rapidamente (Kent Beck) É um processo ágil: Incremental: versões pequenas de software, com ciclos rápidos Cooperativo: clientes e desenvolvedores trabalham juntos Direto: o método é fácil de aprender e modificar Adaptativo: capaz de realizar mudanças a qualquer momento do desenvolvimento do software.

Valores Comunicação Simplicidade Realimentação (feedback) Coragem respeito

Princípios Realimentação Rápida Pressupor simplicidade Mudança incremental Mudança constante Trabalho de Qualidade

Práticas 1. Jogo de planejamento 2. Versões pequenas 3. Metáfora 4. Projeto simples 5. Testes constantes 6. Refabricação constante 7. Programação em pares 8. Propriedade coletiva de código 9. Integração contínua 10. Semanas de 40 horas 11. Cliente presente 12. Padrões de codificação

Semelhança entre RUP e XP Procuram facilitar a comunicação entre os vários interessados em um projeto RUP -> UML XP -> modelagem informal Integração contínua (escalas e ordens diferentes): analisar um pouco, projetar um pouco, codificar um pouco, testar um pouco... Objetivam a simplicidade

Diferença entre RUP e XP RUP: enfoque descendente de construção do software. XP: enfoque ascendente descobrir o projeto em resposta à codificação e fatoração contínua XP: foge da documentação formal, confia mais na documentação oral. XP: concebido para equipes pequenas e médias RUP: concebido para grandes projetos.

Fases e iterações do PU e a organização da Disciplina Visão Geral Concepção Elaboração Iteração 1 Elaboração Iteração 2 Elaboração Iteração 3 Análise OO Projeto OO Tradução de Projeto para código Tópicos especiais de Análise OO e projeto OO são incrementalmente introduzidos nas iterações 1,2 e 3.

Definição de Modelos e Artefatos O mundo real é complexo e cheio de detalhes, por isso ele deve ser decomposto em partes, chamadas de modelos, que descrevem e abstraem aspectos essenciais dos sistemas. Modelos são compostos de outros modelos, que são chamados de artefatos - diagramas e documentos e são visualizados em visões. Os modelos podem enfatizar aspectos dinâmicos e estáticos do sistema.

Os Modelos do Sistema Modelo de Análise: modelos relacionados a uma investigação do domínio e do espaço do problema, mas não à solução. Modelo de Projeto: modelos relacionados à solução lógica.

Relacionamento entre os artefatos da fase Concepção e Elaboração Concepção Elaboração Relatório de Investigação Preliminar Protótipos Especificação de Requisitos Casos de Uso a. Todos os de alto nível b. Alguns essenciais expandidos Diagramas de Casos de Uso Depende de Orçamento, Cronograma Esboço do modelo Conceitual Glossário

Referências LARMAN, CRAIG Utilizando UML e Padrões, 3a. edição, Bookman, 2007. WASLAWICK, RAUL Análise e Projeto de sistemas de Informação Orientados a Objetos, Campus, 2004. Kendall Scott O Processo Unificado Explicado, Bookman, 2003. Ernani Medeiros Desenvolvendo Software com UML 2, Makron Books, 2004. KENT BECK Programação Extrema Explicada, Bookman, 2004 51