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

Documentos relacionados
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 Software

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

Modelos de Processo de Software

Modelos de Processo de Software. SSC Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Engenharia de Software II

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

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

Introdução ao Processo Unificado. Prof. Edjandir Corrêa Costa

Engenharia de Software. Herbert Rausch Fernandes

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

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

Modelos de Processo de Software

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

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

IntroduçãoaoProcesso. Prof. Anderson Cavalcanti UFRN-CT-DCA

Processo de Desenvolvimento de Software

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

Rational Unified Process (RUP)

Agenda TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 2 19/08/2012

RUP Unified Process. Profª Jocelma Rios

Modelos Prescritivos de Processo

Engenharia de Software

Requisitos de Sistemas

Visão Geral do RUP (Rational Unified Process)

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

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

Definições e ciclo de vida

Aula 3.1 Introdução e Visão Geral do Processo Unificado

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

Modelos de Ciclo de Vida (Parte 1)

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

ARQUITETURA E DESENHO

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

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

Engenharia de Software. Engenharia de Software

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

RUP RATIONAL UNIFIED PROCESS. Prof. Fabiano Papaiz IFRN

Análise e Projeto Orientados a Objetos

Processos de Software

O Processo Unificado

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

RUP RATIONAL UNIFIED PROCESS

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

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

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

Informática I. Aula Aula 21-29/11/06 1

Princípios da Engenharia de Software aula 03

UML e seus diagramas

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

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

QUESTÕES TESTES. Questão 1. O modelo de ciclo de vida em cascata:

Modelos Prescritivos de Processo

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

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

Engenharia de Software II

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

Introdução ao Processo Unificado (PU)

Processos de Software

Processo Unificado (PU) Unified Process

Propriedade Intelectual/Industrial do Software:

Engenharia de Software

Engenharia de Software Orientada a Objetos - OOSE. Método de Jacobson

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Processos de. Desenvolvimento de Software

Engenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia

Introdução ao RUP Rational Unified Process

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

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

22/03/2018. Professor Ariel da Silva Dias RUP e Modelos Ágeis

Ciclo de Vida de Sistemas de Informação

Fábricas de Software. Processos de Software. Fábricas de Software. Fábricas de Software 17/08/2010. Jorge Dias

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Prof. Dr. Thiago Jabur Bittar

2. Processos em Engenharia de Software

INF1013 MODELAGEM DE SOFTWARE

Visão Geral do RUP.

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

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

INSTITUTO FEDERAL DE SÃO PAULO CAMPUS PRESIDENTE EPITÁCIO MODELO DOS PROCESSOS DE SOFTWARE

ENGENHARIA DE SOFTWARE

Processo Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução

Processos de software

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

PROCESSOS DE SOFTWARE

FORMULÁRIO DE REGISTRO DE PLANO DE CURSO 2013.I

Prof. Ms. Ronaldo Martins da Costa

Processos de software RUP

INE 5417 Engenharia de Software I

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS

Aula 2 Processo de Software

RUP. Prof. Edison A M Morais.

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

Conhecendo um pouco sobre RUP

Processos de software Leitura: Cap3 Sommerville / Cap1: Pressman - Ariadne

Transcrição:

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

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 2

Exemplos de Modelos de Processo de Software Modelo em Cascata Modelo de Prototipagem Modelo Evolucionário Desenvolvimento Baseado em Componentes Modelo de Métodos formais Extremme Programming Processo Unificado 3

Modelo em Cascata Engenharia de Sistemas Análise de Requisitos Projeto Codificação Testes Manutenção 4

Problemas com o Modelo Cascata Projetos reais raramente seguem o fluxo seqüencial que o modelo propõe Logo no início é difícil estabelecer explicitamente todos os requisitos. No começo dos projetos sempre existe uma incerteza natural O cliente deve ter paciência. Uma versão executável do software só fica disponível numa etapa avançada do desenvolvimento 5

O Paradigma de Prototipação para obtenção dos requisitos Obter Requisitos Refinamento do Protótipo Elaborar Projeto Rápido Avaliar Protótipo Construir Protótipo 6

Problemas com a Prototipação cliente não sabe que o software que ele vê não considerou, durante o desenvolvimento, a qualidade global e a manutenibilidade a longo prazo desenvolvedor freqüentemente faz uma implementação comprometida (utilizando o que está disponível) com o objetivo de produzir rapidamente um protótipo 7

Comentários sobre o Paradigma de Prototipação ainda que possam ocorrer problemas, a prototipação é um ciclo de vida eficiente. a chave é definir as regras do jogo logo no começo. o cliente e o desenvolvedor devem ambos concordar que o protótipo será construído para servir como um mecanismo a fim de definir os requisitos 8

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

O Modelo Incremental Versão Inicial Análise Projeto Descrição geral Engenharia de sistemas/informação Codificação Versões Intermediárias Descrição geral Teste Versão Final 10

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 11

O Modelo Incremental o modelo incremental é mais apropriado para sistemas pequenos As novas versões podem ser planejadas de modo que os riscos técnicos possam ser administrados (Ex. disponibilidade de determinado hardware) 12

O que é o Processo Unificado (PU)? É 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) 13

PU História: Raízes no trabalho de Jacobson na Ericsson no final da década de 1960. 1987 Jacobson iniciou uma companhia chamada de Objectory AB desenvolvimento de um processo chamado Objectory 1995 a Rational comprou a Objectory AB, aperfeiçoou o Objectory e foi criado o Processo Objectory da Rational (ROP) (Jacobson, Rumbaugh e Booch) Paralelamente, desenvolviam a UML 14

PU História (cont..): Progresso do ROP e a aquisição e desenvolvimento de ferramentas de desenvolvimento agregaram valor ao ROP 1998 Rational mudou o nome do ROP para Processo Unificado da Rational (RUP- Rational Unified Process) O RUP é uma especialização, com refinamento detalhado, do PU 15

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 framework que pode ser personalizado de acordo com as necessidades específicas e recursos disponíveis para cada projeto. 16

Elementos do PU Um processo descreve quem (papel) está fazendo o quê (artefato), como (atividade) e quando (disciplina). 17

Papel Um trabalhador é alguém que desempenha um papel e é responsável pela realização de atividades para produzir ou modificar um artefato. 18

Artefato Porção significativa de informação interna ou a ser fornecida a interessados externos que desempenhe 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. 19

Atividade É uma tarefa que um trabalhador executa a fim de produzir ou modificar um artefato. 20

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 21

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

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. 23

Desenvolvimento Iterativo Figura extraída de Larman, 2004 24

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 estabeleça 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. 25

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 completos em ciclos posteriores. 26

Baseado em Casos de Uso Um caso de uso é uma seqüê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). 27

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 Eles ajudam a planejar as iterações Eles podem conduzir o projeto O teste é baseado neles 28

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, reúso e restrições econômicas e tecnológicas. 29

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 30

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 reúso Facilita a evolução do sistema Guia a seleção e exploração dos casos de uso 31

As Fases do PU O PU é dividida em quatro fases: Concepção Elaboração Construção Transição 32

As Fases do PU Figura extraída de Larman, 33 2004

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. 34

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. Estimativas realistas feitas nesta fase permitem preparar um plano para orientar a construção do sistema. 35

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. 36

Desenvolvimento Iterativo e Evolutivo 37

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. 38

As Disciplinas do PU Se analisarmos as fases do PU, podemos 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, 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 39

As Disciplinas do PU Figura extraída de Larman, 2006 40

As Disciplinas do PU Figura extraída de Larman, 2006 41

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, documento 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 42

Os Artefatos do PU Disciplina Artefato Iteração Concepção C 1 Elaboração E 1...E n Construção C 1...C n Transição T 1...T n Modelagem de Modelo Conceitual p Negócio Requisitos Diagrama de Casos de Uso p r Casos de Uso Textuais p r Diagrama de Seqüência do p r Sistema Contratos para operações p r Glossário p r Projeto Diagrama de Classes p r Diagrama de Colaboração p r Diagrama de Pacotes p r Documento de Arquitetura do Software p Implementação Código fonte p r 43

Referências LARMAN, CRAIG Utilizando UML e Padrões, 2a edição, Bookman, 2004. 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. 44