Introdução ao Processo Unificado (PU)



Documentos relacionados
O Processo Unificado

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

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

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

Processos de Software

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

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

Engenharia de Software

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

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

Análise e Projeto Orientados a Objeto

Processo Unificado (RUP)

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

Engenharia de Software II

Processo de Desenvolvimento Unificado

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

Modelos de Processo (métodos)

Modelagem de Software

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

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

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

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

Com metodologias de desenvolvimento

MODELOS DE PROCESSO. Isac Aguiar isacaguiar.com.br

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ê?

ProcessoUnificado: Prof. Anderson Cavalcanti UFRN-CT-DCA

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

Micro Mídia Informática Fevereiro/2009

SOFTWARE PROCESSES. Ian Sommerville, 8º edição Capítulo 4 Aula de Luiz Eduardo Guarino de Vasconcelos

PMBoK Comentários das Provas TRE-PR 2009

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

Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais prof@edison.eti.

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

PROVA DISCURSIVA (P )

Programação Extrema. Luis Fernando Machado. Engenharia de Software

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

ADMINISTRAÇÃO GERAL GESTÃO DE PROCESSOS

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

Metodologia de Desenvolvimento de Sistemas (Versão 2.0)

TRIBUNAL DE JUSTIÇA DO ESTADO DE MATO GROSSO

Capítulo 23 Planejamento de Projeto. Aula 1 Cronograma do Projeto

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

Sistemas de Informação I

Paradigmas de Engenharia de Software

Desenvolvimento de Software requer Processo e Gestão

Carlos Rafael Guerber. Modelagem UML de um Sistema para Estimativa Elétrica de uma Lavanderia

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

Engenharia de Software II

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

REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX

Modelagem de Sistemas

ENG1000 Introdução à Engenharia

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

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

Gerenciamento da Integração (PMBoK 5ª ed.)

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

Professor: Curso: Disciplina:

Orientação a Objetos I

Processos de gerenciamento de projetos em um projeto

Práticas de. Engenharia de Software. Givanaldo Rocha de Souza

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

White-box test: Também conhecido como teste estrutural, tem por objetivo validar os dados derivados das funções do sistema.

UML & Padrões Aula 3. UML e Padrões - Profª Kelly Christine C. Silva

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

REQUISITOS DE SISTEMAS

Fundamentos de Banco de Dados e Modelagem de Dados

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

Diagramas de Interação da UML (Diagrama de Sequência e Diagrama de

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

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

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

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

2 Engenharia de Software

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

Princípios do teste de software

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

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

O Processo Unificado: Captura de requisitos

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

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada

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

Engenharia de Software II

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

PROCESSOS DE CRIAÇÃO DE APLICATIVOS

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

Universidade do Minho Licenciatura em Engenharia Informática

Aula 5 UML: Casos de Uso

Uma Abordagem usando PU

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

Guia de utilização da notação BPMN

GERÊNCIA DE PROJETOS DE SOFTWARE. Introdução

Transcrição:

Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Introdução ao Processo Unificado (PU) Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin Machado UFMS/FACOM

Roteiro Considerações Iniciais Modelo Incremental Processo Unificado O que é? Elementos Princípios básicos Fases 2

Considerações Iniciais Desenvolver software geralmente é uma tarefa complexa 3

ATIVIDADES DE APOIO TAREFAS DE ENGENHARIA DE SOFTWARE DEFINIÇÃO OBJETIVOS ORGANIZACIONAIS MÉTODOS CONSTRUÇÃO POLÍTICAS FERRAMENTAS SOFTWARE PRODUTO MANUTENÇÃO PESSOAS COMPROMETIMENTOS 4

Considerações Iniciais Necessidade de estabelecer processos sistemáticos para desenvolvimento: Modelos de processo de Software Modelo em Cascata Modelo de Prototipação Desenvolvimento Baseado em Componentes Modelo de Métodos formais Modelo incremental (Processo Unificado, RUP, ) Métodos ágeis (extremme Programming (XP), Scrum, OpenUp, ) 5

O Modelo Incremental O modelo incremental combina elementos do modelo cascata (aplicado repetidamente) com a filosofia iterativa da prototipação Objetivo: trabalhar junto com o usuário para descobrir seus requisitos, de maneira incremental, até que o produto final seja obtido 6

O Modelo Incremental A versão inicial é frequentemente o núcleo do produto (a parte mais importante) A evolução acontece quando novas características são adicionadas à medida que são sugeridas pelo usuário Este modelo é importante quando é difícil estabelecer a priori uma especificação detalhada dos requisitos ou quando os requisitos mudam com frequência 7

Processo Unificado (PU) O PU foi proposto pelos três gurus da orientação a objetos(jacobson, Booch & Rumbaugh, 1999): Ivar Jacobson Grady Booch James Rumbaugh É o resultado de mais de trinta anos de experiência acumulada 8

O que é o Processo Unificado? É um modelo de processo de software baseado no modelo incremental, visando a construção de software orientado a objetos Usa como notação de apoio a UML (Unified Modeling Language) 9

O que é o Processo Unificado? É um processo de software: conjunto de atividades executadas para transformar um conjunto de requisitos do cliente em um sistema de software Um processo de desenvolvimento de software descreve uma abordagem para a construção, implantação e manutenção do software 10

O que é o Processo Unificado? É um framework que pode ser personalizado de acordo com as necessidades específicas e recursos disponíveis para cada projeto Instanciações do PU RUP (Rational Unified Process) OpenUp (versão ágil do PU) 11

Elementos do Processo Unificado Um processo descreve quem (papel) está fazendo o quê (artefato), como (atividades) e quando (disciplina) 12

Quem? Trabalhadores Um trabalhador é alguém que desempenha um papel e é responsável pela realização de atividades para produzir ou modificar um artefato 13

O quê? Artefatos Um artefato é uma porção significativa de informação interna ou que será fornecida a interessados externos que desempenhem um papel no desenvolvimento do sistema Um artefato é algum documento, relatório, modelo ou código que é produzido, manipulado ou consumido Exemplos: modelo de caso de uso, modelo do projeto, um caso de uso, um subsistema, um caso de negócio, um documento de arquitetura de software, código fonte, executáveis, etc. 14

Como? Atividades Uma atividade é uma tarefa que um trabalhador executa a fim de produzir ou modificar um artefato 15

Quando? Disciplina A disciplina 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) Requisitos, Análise, Projeto, Implementação e Teste 16

Disciplinas do PU Figura extraída de Larman, 2004 17

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

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 19

Desenvolvimento iterativo Planejar quantos ciclos de desenvolvimento serão necessários para alcançar os objetivos do sistema As partes mais importantes (requisitos) devem ser priorizadas e alocadas nos primeiros ciclos de acordo com os seguintes critérios: (1) possuem alto valor de negócio (2) possuem alto risco (ex. devem poder manipular 500 transações concorrentes) (3) são arquiteturalmente significativas 21

Desenvolvimento iterativo Na primeira iteração estabeleça os principais riscos e o escopo inicial do projeto, de acordo com a funcionalidade principal do sistema As partes mais complexas do sistema devem ser atacadas já no primeiro ciclo, pois são elas que apresentam maior risco de inviabilizar o projeto 22

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 3 semanas, outra pode preferir 6 semanas recomenda-se que a duração de uma iteração seja entre duas e seis semanas 23

Desenvolvimento iterativo Uma iteração muito longa perde o objetivo do desenvolvimento iterativo! 24

Desenvolvimento iterativo Se o projetista observar que será difícil cumprir o prazo da iteração, é recomendável remover tarefas ou requisitos da iteração atual e incluí-las em uma iteração futura, em vez de não cumprir o prazo 25

Desenvolvimento iterativo Cada iteração exige a escolha de um pequeno subconjunto de requisitos, além da sua rápida construção e teste casos de uso complexos: os vários cenários do mesmo caso de uso podem ser tratados ao longo de várias iterações casos de uso simples e curtos: podem ser completados em uma iteração Nas iterações iniciais o resultado pode não ser exatamente o que é desejado em última instância 26

Desenvolvimento iterativo No entanto, o ato de executar rapidamente um pequeno passo antes de finalizar todos os requisitos leva a uma realimentação rápida Essa realimentação é muito importante: ao invés de especular sobre os requisitos corretos e completos, a equipe procura a realimentação a partir de uma construção e teste realístico de alguma coisa buscando uma percepção prática do sistema 27

Desenvolvimento iterativo Os usuários têm a oportunidade de ver um sistema e dizer: sim! Foi isso que eu pedi, mas agora que o experimentei, o que eu realmente quero é algo ligeiramente diferente! Esse sim! Mas não é um sinal de erro. É um modo hábil de progredir e descobrir o que é de real valor no sistema para os interessados (stakeholders) 28

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 os utiliza 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) 29

Baseado em Casos de Uso Os casos de uso são centrais ao PU e outros métodos iterativos, pois: os requisitos funcionais são registrados preferencialmente por meio deles o planejamento do desenvolvimento é feito em função dos casos de uso identificados, tratando-se prioritariamente os mais complexos o teste é baseado neles 30

Centrado na Arquitetura Arquitetura é a organização fundamental do sistema como um todo Arquitetura descreve o sistema em termos de sua organização em camadas, pacotes, classes, interfaces e subsistemas 31

Centrado na Arquitetura A análise arquitetural está envolvida na identificação e na resolução dos requisitos não-funcionais (ex., qualidade) do sistema. A arquitetura se refere a questões como: desempenho, escalabilidade, reuso e restrições econômicas e tecnológicas 32

Centrado na Arquitetura O PU prioriza a construção de uma arquitetura de sistema que permita a realização dos requisitos Essa arquitetura baseia-se na identificação de uma estrutura de classes, produzida a partir de um modelo conceitual A cada ciclo de trabalho realizado, novas características são adicionadas à arquitetura do sistema, deixando-a mais completa e mais próxima do sistema final 33

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 34

Fases do PU O PU é dividido em quatro fases: Concepção Elaboração Construção Transição 35

Fases do PU Construção Concepção Elaboração Transição Pag. 24 -Wazlawick 36

Fases e Disciplinas do PU Iterações Figura extraída de Larman, 2004 37

Fases do PU: Concepção Inception em inglês Estuda 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 38

Fases do PU: Elaboração Visão refinada do sistema, com a definição dos requisitos funcionais, detalhamento da arquitetura criada na fase anterior e gerenciamento contínuo dos riscos envolvidos Incorpora: Maior parte da análise de requisitos Projeto (design) 39

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 Incorpora: Implementação Testes 40

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

Apesar de ser um processo prescritivo, o UP pode também ser realizado como um processo ágil, com poucos artefatos e burocracia, permitindo o desenvolvimento de software de forma eficiente, uma vez que o que interessa ao cliente é o software pronto e não uma pilha de documentos justificando porque não ficou pronto. 42

Para que isso seja obtido, a documentação deve ser dirigida à produção do software. Cada atividade realizada pelo desenvolvedor deve ter um objetivo muito claro e uma utilização precisa visando sempre à produção de um código que atenda aos requisitos da melhor forma possível no menor tempo. 43

Questões Discorra sobre as principais características do PU apresentando suas vantagens e desvantagens (se for o caso) 44

Exercício de Casa - Leitura Wazlawick, Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2004, editora Campus capítulos 1 e 2 45