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

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

Visão Geral do RUP.

RUP RATIONAL UNIFIED PROCESS

Visão Geral do RUP (Rational Unified Process)

Engenharia de Software

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

Prof. Fábio Lúcio Meira

RUP RATIONAL UNIFIED PROCESS. Prof. Fabiano Papaiz IFRN

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

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

Problemas e Práticas Recomendadas no Desenvolvimento de Software

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

Rational Unified Process (RUP)

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

14/11/2013. Capítulo 2. Processos de Software. Tópicos apresentados. Oprocessodesoftware. Modelos de processo de software. Atividades de processo.

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

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

Processos de Software

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

Engenharia de Software. Projeto de Arquitetura

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

Processos de Software

Processos de. Desenvolvimento de Software

Levantamento, Análise e Gestão Requisitos. Aula 02

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

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

UML Unified Modeling Language Linguagem de Modelagem Unificada

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

Análise e projeto de sistemas

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

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

Processos de Software

Engenharia de Software

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

Engenharia de Software

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

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Prof. Fabiano Papaiz IFRN

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

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

Processo de Desenvolvimento

Engenharia de Software II

5 Processo de Reificação e de Desenvolvimento com ACCA

Engenharia de Software. Herbert Rausch Fernandes

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

ARQUITETURA E DESENHO

Engenharia de Requisitos

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

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

Aula 10 Especificação de Requisitos

Halison Miguel Edvan Pontes

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

Prof. Dr. Thiago Jabur Bittar

Engenharia de Software II

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

Levantamento, Análise e Gestão Requisitos. Aula 01

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

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

METODOLOGIAS ÁGEIS FEATURE DRIVEN DEVELOPMENT E AUP

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

Engenharia de Software

Conhecendo um pouco sobre RUP

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

REENGENHARIA E ENGENHARIA REVERSA

Sistema Mobi-Lar Engenharia de Software

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

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

Atividades típicas do processo de desenvolvimento

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

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

Requisitos de sistemas

Gerenciamento do Escopo do Projeto (PMBoK 5ª ed.)

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

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

METODOLOGIA ÁGEIS FDD FEATURE DRIVEN DEVELOPMENT. Prof. Fabiano Papaiz IFRN

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

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

2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.

FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS. Projeto de Programas PPR0001

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

Implantando o RUP e CMM2

Prof. Esp. Fabiano Taguchi

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

Modelos Prescritivos de Processo

Metodologia de Gestão de Desenvolvimento de Sistemas da UFVJM

3 Arquitetura para a Coordenação e a Composição de Artefatos de Software

Processos de software

Requisitos. Silvério Sirotheau

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

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

RUP Unified Process. Profª Jocelma Rios

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

Requisitos de Sistemas

As Visões. Visões arquiteturais (revisão)

Engenharia de Software.

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

Princípios de Análise e Projeto Orientados a Objetos com UML

Princípios da Engenharia de Software aula 03

Transcrição:

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

O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa e incremental 2. Gerenciar os requisitos 3. Utilizar arquitetura de componentes 4. Modelar visualmente 5. Verificar continuamente a qualidade do software 6. Gerenciar as mudanças

1ª Desenvolver de forma Iterativa e Incremental

Desenvolver de forma iterativa e incremental permite: Que qualquer mudança seja acomodada mais facilmente durante o desenvolvimento do projeto A cada incremento gerado, podemos adaptar os requisitos a quaisquer mudanças que possam ocorrer nesse meio tempo Na pior dos casos, a equipe perderia o trabalho realizado em uma ou duas iterações, em vez do trabalho do projeto inteiro Que os riscos sejam diminuídos progressivamente A cada release do software, os riscos são diminuídos pois os requisitos são validados pelo cliente e as novas funcionalidades são integradas na arquitetura, permitindo que esta se torne cada vez mais confiável e robusta A cada iteração são realizados refinamentos sucessivos para melhorar o entendimento do problema

Desenvolver de forma iterativa e incremental permite: Melhorar o nosso processo à medida que o software vai sendo desenvolvido, fazendo os ajustes necessários e servindo como base para os futuros projetos Aumentar o reuso, pois conforme os componentes vão sendo implementados podemos identificar partes comuns entre eles, como também identificar componentes que já foram desenvolvidos e que podem ser reutilizados

2ª Gerenciar os Requisitos

Segundo o RUP, um requisito é uma condição ou uma restrição com a qual o sistema deverá estar em conformidade Os requisitos devem ser definidos de forma clara e objetiva, sem que haja ambiguidade de entendimento O gerenciamento de requisitos é uma abordagem sistemática para: Identificar os requisitos, Documentar os requisitos, Organizar e Controlar os requisitos Não basta apenas identificar e documentar os requisitos, temos que garantir que a documentação esteja sempre atualizada à medida que as mudanças ocorrerem

Devemos gerenciar os requisitos porque nem todos são simples ou óbvios, como um cadastro de cliente (CRUD) Podem haver requisitos mais complexos, onde suas definições venham de várias partes interessadas de dentro do projeto, podendo haver conflitos entre as partes Seu projeto pode possuir um número muito grande de requisitos, os quais podem se tornar impossíveis de se controlar se não forem gerenciados da forma correta As mudanças nos requisitos devem ser rastreadas, para podermos analisar o seu impacto nos demais requisitos Viabilidade, custo, prazo etc

O RUP recomenda a utilização de Casos de Uso como método para a organização dos requisitos funcionais do software projetado Diagramas de Casos de Uso Especificações de Casos de Uso O RUP é Guiado por Casos de Uso e estes serão utilizados em todas as suas fases e disciplinas

Os Casos de Uso serão utilizados por diversas partes interessadas no projeto, como por exemplo: Clientes Para terem uma visão geral das funcionalidades do sistema Arquitetos de Software Para identificarem as características da arquitetura Analistas, Projetistas, Desenvolvedores Para entenderem o comportamento do sistema, analisá-lo, projetá-lo e implementá-lo Testadores Para definirem os casos de testes do sistema Gerentes de Projeto Para planejarem e acompanharem o progresso do projeto

3ª Utilizar Arquitetura de Componentes

Segundo o RUP, a arquitetura de um sistema é a sua organização (ou estrutura) de componentes significativos que interagem entre si trocando mensagens através de suas interfaces Uma arquitetura não se preocupa apenas com os requisitos funcionais do software, preocupando-se também com os requisitos não-funcionais Desempenho Segurança Reuso Manutenibilidade Decisões tecnológicas etc

O RUP define os componentes como sendo grupos coesos de código fonte ou executável com interfaces e comportamentos bem definidos Possuem responsabilidades e funções claras e bem definidas Devem fornecer forte encapsulamento de conteúdo Outros componentes não precisam saber seus detalhes internos de funcionamento. Precisam conhecer apenas sua interface para poderem trocar mensagens com ele Podem ser substituídos sem causar impacto na arquitetura Exemplo: no caso onde seja necessário mudar a tecnologia de acessos aos dados de SQL puro para o Entity Framework

Os tamanhos dos componentes podem variar muito Podem ser desde uma classe apenas até uma biblioteca (ou API) contendo diversas classes Podem existir componentes terceirizados, de prateleira (OTS: Off-The-Shelf) Um módulo de comunicação com operadoras de cartões de crédito Servidores de banco de dados Servidores de aplicações web etc

Exemplo-01:

Exemplo-02:

No RUP a arquitetura é representada por uma série de visões diferentes, conhecida como Modelo de Visão 4+1. Analogia com Engª Civil: plantas baixa, hidráulica, elétrica etc

4ª Modelar Visualmente

O RUP utiliza a UML (Unified Modeling Language) como notação padrão para modelagem de software Com a padronização da linguagem de modelagem visual, podemos capturar requisitos com maior precisão, melhorando assim a comunicação entre as partes interessadas, visando diminuir a ambiguidade no entendimento do problema Com a UML, o software pode ser representado em um nível de abstração mais alto, para ser entendido de forma mais fácil pelo cliente e usuários, como também em níveis mais baixos, para entendimento entre a equipe técnica (analistas, programadores, arquitetos, DBA s etc)

5ª Verificar Continuamente a Qualidade do Software

Por que verificar a qualidade?

O RUP define qualidade como sendo: a característica de ter demonstrado a criação de um produto que atende ou excede os requisitos acordados, sendo esse avaliado por medidas e critérios acordados, utilizando-se um processo acordado

No RUP, podemos buscar a qualidade do software através de atividades de controle e garantia da qualidade Controle da Qualidade Possui foco no PRODUTO e em encontrar seus defeitos específicos Garantia da Qualidade Possui foco nos PROCESSOS e em como estes estão sendo executados Visa garantir que as coisas estão sendo feitas seguindo corretamente a metodologia empregada

A qualidade pode ser medida segundo vários critérios, como por exemplo: Andamento: progresso do projeto Variação: diferença entre planejado e executado Confiabilidade: robustez Funcionalidade: casos de uso implementados Desempenho: tempo de execução em diversas situações reais É muito importante que os critérios de qualidade sejam definidos e acordados pelas partes interessadas no início do projeto

6ª Gerenciar as Mudanças

Gerenciamento de mudanças é o processo de avaliar, coordenar e decidir sobre a realização das mudanças propostas no software projetado Podem ser solicitadas mudanças em diversos itens, como: Funcionalidades, Arquitetura, Código-Fonte, Banco de Dados, Metodologia, Ferramentas etc Somente as mudanças aprovadas deverão ser implementadas Implica em um processo formal de aprovação de mudanças Tolerância zero com as mudanças não aprovadas, principalmente em artefatos que fazem parte da iteração atual

No RUP, o gerenciamento de mudanças abrange as seguintes atividades: Coordenação de Atividades e Artefatos Definir procedimentos padronizados para gerenciar mudanças sobre os artefatos Coordenação de Iterações e Releases Manter o controle sobre os releases ao final de cada iteração Controle de Mudanças no Software Manter uma estrutura bem definida para gerenciar mudanças no software entregue

FIM