RUP Unified Process. Profª Jocelma Rios

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

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

Requisitos de sistemas

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema:

Análise e Projeto Orientados a Objetos

Análise e Projetos de Sistemas - INF014

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

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

Rational Unified Process (RUP)

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

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

Requisitos de Sistemas

Introdução ao RUP Rational Unified Process

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

Como Modelar com UML 2

Processo Unificado (PU) Unified Process

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

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

Engenharia de Software Processo de Desenvolvimento de Software

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

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

Engenharia de Software II

INF1013 MODELAGEM DE SOFTWARE

UML. Trabalho Análise e Projeto de Sistemas. Aluna: Luana Alves Businaro

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

Engenharia de Software

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

RUP RATIONAL UNIFIED PROCESS

Prof. Esp. Fabiano Taguchi

RUP Rational Unified Proccess (Processo Unificado da Rational) Equipe WEB Cercomp

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

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

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

UML (Unified Modelling Language)

ENGENHARIA DE SOFTWARE

Análise e projeto de sistemas

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

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

UML. Adriano J. Holanda 21/3/

Linguagem de Programação I Apresentação da Disciplina

Prof. Dr. Thiago Jabur Bittar

Unidade I MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

Introdução. Diagramas de Interação. Introdução. Introdução. Introdução. Introdução. Os modelos de análise não respondem a algumas perguntas:

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

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

Comparação entre Metodologias Rational Unified Process (RUP) e extreme Programming(XP)

Processo de Desenvolvimento de Software

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

Aula 1.7 Introdução a APOO e UML

MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL

A modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos:

UML Unified Modeling Language Linguagem de Modelagem Unificada

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

Requisitos de Sistemas

Universidade Estadual de Ponta Grossa PRÓ-REITORIA DE GRADUAÇÃO DIVISÃO DE ENSINO

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

Nome da classe. Atributos. Serviços / métodos

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

UML - Linguagem de Modelagem Unificada

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

Disciplina - Requisitos. Grupo Yuni Luiz Eduardo Káthia

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

RUP Rational Unified Process

PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

Modelos Prescritivos de Processo

Paradigmas de Software

Introdução a UML (Unified Modeling Language)

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

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

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes

Cadeira: Engenharia de Software

SISTEMA DE VENDA E CONTROLE DE ESTOQUE: Levantamento e Análise de Requisitos

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

CONCEITOS BÁSICOS E MODELO DE PROJETO

Transcrição:

RUP Unified Process Profª Jocelma Rios Nov/2012

O que pretendemos: Reforçar os aspectos que caracterizam o processo iterativo e incremental Identificar como atingir os objetivos dos projetos de software orientado a objetos, gerenciando tempo e recursos Refletir sobre a importância dos processos definidos e controlados para o sucesso do desenvolvimento de software Refletir sobre as possibilidades de customização do RUP para adequação aos vários tipos de software

Motivação para a OO

Surgimento da OO Cenário Crescente demanda de soluções computacionais Evolução acentuada do hardware Demanda muito superior à capacidade de desenvolvimento Distância semântica entre os modelos projetados e a realidade analisada Qualidade insuficiente dos produtos Estimativas de custo e tempo raramente cumpridas nos projetos

O problema da abordagem de SW orientado a funções Ênfase nas funções leva a sistemas com muita redundância Inconsistentes e difíceis de serem integrados Dados possuem existência própria nas organizações independentemente dos processos que os manipulam Dados são muito mais estáveis que as funções/processos em uma organização

Orientação a Objetos Estruturada Análise Estruturada vs. OO POO -> Estratégia de projeto em que o software é pensado em termo de coisas em vez de funções

Conceitos basilares da OO Objeto Estado Comportamento Identidade Classe Instância Método Herança Persistência Polimorfismo Encapsulamento Ligação

Conceitos basilares da OO

Conceitos basilares da OO Objeto Estado Comportamento Identidade Classe Instância Método Herança Persistência Polimorfismo Encapsulamento Ligação

Conceitos basilares da OO Objeto Unidade real ou abstrata Entidade que incorpora uma abstração da realidade Possui estado, exibe um comportamento bem definido e possui identidade própria

Conceitos basilares da OO Estado Conjunto das propriedades de um objeto Atributos e valores a ele associados Comportamento Conjunto de serviços (operações) que ele próprio ou outros objetos (clientes) podem requisitar Operações Manipulam a informação de estado de um objeto Método de uma classe Identidade Identificador único pelo qual pode ser referenciado inequivocadamente

Conceitos basilares da OO Classe Modelo que descreve a estrutura e o comportamento de objetos ex: ClasseFuncionário Instância Um dado objeto que se comporta da maneira especificada pela classe mãe ex: João Alfredo Ramos Método Implementação de uma operação ex: RegistraPonto(), HomologaCronograma() Herança Compartilhamento de atributos e operações entre classes baseado numa relação de hierarquia Tipos: Herança simples (de uma única classe) e herança complexa (de mais de uma classe)

Conceitos basilares da OO

Conceitos basilares da OO Persistência Propriedade que garante a existência do objeto além do tempo e espaço de sua criação Polimorfismo Quando a mesma operação possui métodos (implementação) diferentes em classes distintas Encapsulamento Interação entre objetos sem conhecimento do funcionamento interno Associação Permite que objetos de uma ou mais classes se relacionem. Pode ser do tipo agregação (menor coesão) ou composição (maior coesão) Ligação É estabelecida quando uma mensagem é trocada entre dois objetos visando a execução de um método Pode ser estática (compilação) ou dinâmica (execução)

UML modelagem na OO UML é uma linguagem de modelagem, não proprietária, com notação gráfica Destina-se à especificação, construção, visualização e documentação de projetos de software Não é uma metodologia de desenvolvimento, ou seja, não determina o que deverá ser feito e em qual sequência Tipos de diagramas: Comportamentais: casos de uso, transição de estados, atividade Estruturais: classes, objetos, componentes, implementação, pacotes, estrutura Interacionais: sequência, interatividade, colaboração, tempo

Processo de software OO O Processo Unificado RUP foi criado pela Rational, adquirida mais tarde pela IBM O RUP utiliza a abordagem da OO em sua concepção Utiliza a UML para modelagem É melhor aplicado em grandes projetos com grandes equipes É passível de customização, ou seja, é possível ser utilizado com equipes pequenas desde que seja feita a devida adequação Sua customização é apoiada por ferramentas da IBM Rational Suites

Processo Unificado

Processo Unificado

Processo Unificado Release x.0 Saiba mais: Metodologia RUP (espanhol) - www.youtube.com/watch?v=bv8mgbfoo5g

Processo Unificado

Fase 1: Concepção (Inception) Objetivos Diagramas UML Definir objetivos do projeto Identificar/Modelar a visão da organização para o software Identificar requisitos Comportamentais: Casos de uso, transição de estados e atividade (preliminar) e organizar Descobrir se o software é viável Planejar o desenvolvimento Disciplinas (especialistas) envolvidas Modelagem de negócios Ambiente computacional Análise de requisitos Gerência de projetos Artefatos gerados (principais) Documento de Visão (uso de diagramas) Proposta da solução computacional (preliminar) Plano de Projeto (requer algumas iterações até finalizar)

Vale a pena: Ruppers - www.ruppers.com.br/overview Fase 1: Concepção (Inception)

Processo Unificado

Fase 2: Elaboração (Elaboration) Objetivos Detalhar documentação produzida na fase de Concepção Refinar Plano de Projeto Definir a Solução Computacional Disciplinas (especialistas) envolvidos Análise de requisitos Análise e design Implementação Gerência de projetos Diagramas UML Estruturais: classes, objetos, componentes, pacotes, implementação, estrutura Interacionais: sequência, interatividade, colaboração, tempo Artefatos gerados Especificação funcional da Solução Especificação detalhada da solução Projeto de arquitetura Projeto de implantação Plano de testes e integração

Fase 2: Elaboração (Elaboration)

Processo Unificado

Fase 3: Construção (Construction) Objetivos Implementar o software Realizar testes Disciplinas (especialistas) envolvidos Análise de requisitos Análise e design Implementação Diagramas UML Estruturais: objetos, classe, componentes, implementação, pacotes e estrutura Artefatos gerados Código-fonte Testes Executáveis Implantação Relatórios de testes Gerência de projetos

Fase 3: Construção (Construction)

Processo Unificado

Fase 4: Transição (Transiction) Objetivos Implantar o software Realizar os últimos testes Preparar o ambiente do usuário e também a ele Entregar Diagramas UML Interacionais (para possíveis consultas): interatividade, colaboração, tempo, sequência Artefatos gerados Relatórios de testes Disciplinas (especialistas) envolvidos Análise de requisitos Análise e design Implementação Gerência de projetos Manuais Avaliação do treinamento Homologação do software

Fase 4: Transição (Transiction)

Importante Por que?

Importante Por que?

Para refletir... O RUP propõe uma série de atividades baseadas nas disciplinas envolvidas na engenharia de software, que geram diversos artefatos como produto. A princípio parece ser uma carga difícil para uma equipe reduzida. Como seria possível utilizar o RUP nessas circunstâncias?

Referências SiteBOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML, Guia do Usuário. Rio de Janeiro: Campus,2000. FOWLER, M. UML Essencial. São Paulo: Bookman, 2004. Cap. 2 (disponível on line, parcialmente) KRUCHTEN, P. The Rational Unified Process: An Introduction. 2. ed. Massachusets: Addison-Wesley, 2000. a IBM. Rational Unified Process: best practices for software development teams. TP026B, Rev 11/01. Disponível em: www.ibm.com/developerworks/rational/library/content/03july/1000/1251 /1251_bestpractices_TP026B.pdf. Acesso em 03 out. 2011. LARMAN, C. Utilizando UML e Padrões: uma introdução à análise e ao projeto orientados a objetos. São Paulo: Bookman, 2005. (disponível on line) PRESMANN, R. Engenharia de Software: uma abordagem profissional. 7. ed. Rio de Janeiro: Mc Graw Hill, 2011. Cap. 2 SOMMERVILLE, I. Engenharia de Software. 8. ed. Rio de Janeiro: Pearson, 2007. Cap. 4