SlideShare una empresa de Scribd logo
1 de 91
Descargar para leer sin conexión
Processo Unificado de Desenvolvimento de Software G. Booch, Ivar Jacobson, James Rumbaugh Rational Software Corporation UNIVERSIDADE FEDERAL DA PARAÍBA DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO ©  Ulrich Schiel
PRECURSORES Object Modeling Technique - OMT  de  J. Rumbaugh,  M. Blaha, W. Premerlani, F. Eddy e W. Lorensen (TMO - Técnica de Modelagem de Objetos),  1991 Objectology - A Use-Case Driven Approach  de  I. Jacobson, M. Ericsson e A. Jacobson,  1992 Object Oriented Analysis and Design - OOA & OOD  de  G. Booch,  1994
CARACTERÍSTICAS ,[object Object],[object Object],[object Object],[object Object]
P4 = Pessoa, Projeto, Produto, Processo PESSOAS  financiam, escolhem, desenvolvem, gerenciam,  testam, usam e são beneficiadas por produtos PROJETOS   sofrem alterações. Determinam os tipos de  pessoas   que irão trabalhar no projeto e os  artefatos  que serão usados Sistema-i Sistema-i+1 ciclo fase iteração
P4 = Pessoa, Projeto, Produto, Processo PRODUTO  código fonte, código de máquina, subsistemas, classes, diagramas: interação, de estados e outros  artefatos ARTEFATO  é qualquer tipo de informação criada por uma pessoa (diagramas UML, textos, modelos de interfaces) PROCESSO  define  quem  faz  o que, quando  e  como PU  é um processo. Considera fatores  organizacionais ,  do  domínio ,  ciclo de vida  e  técnicos
Modelos REQUISITOS   -  funcionais e não-funcionais descrevem o sistema a ser desenvolvido,  sob um certo  ponto-de-vista,  e  seu  ambiente,  ou seja, os  atores ANÁLISE  classes e responsabilidades PROJETO  classes de projeto, subsistemas, interfaces IMPLEMENTAÇÃO  código fonte (DLLs, JavaBeams, ActiveX) TESTE  casos de teste (baseado nos  use-cases ) DISTRIBUIÇÃO  nós físicos e os componentes em cada nó
Dirigido a  Use-Cases Um  ator  é uma pessoa ou outro sistema Cada  use-case  é um requisito funcional do sistema Modelo  Use-Case =     use-cases  = funcionalidade do sistema Os  Use-Cases  acompanham todo o processo de desenvolvimento: Especificação de Requisitos, Análise, Projeto, Implementação e Testes Cada  use-case  representa uma sequência de  ações  que produzem  um  resultado  de utilidade para um  ator
Dirigido a  Use-Cases Porque USE-CASES?? ,[object Object],Use-Cases Arquitetura do sistema dirige influi ,[object Object],[object Object]
Dirigido a  Use-Cases Classe de fronteira Classe de controle Classe de entidades Modelo USE-CASE Modelo ANÁLISE Modelo  PROJETO Classe Modelo  IMPLEMENT <executável> <arquivo> <arquivo> relacionamento
Dirigido a  Use-Cases ,[object Object],ANÁLISE : definir as  CLASSES DE ANÁLISE para realizar um  use-case  (classes limite, classes de controle e classes de entidades) PROJETO : ENTRADA: modelo de análise, pacote de construção de  interfaces, SGBD, sistemas existentes.   SAIDA:  classificadores  (classes, subsistemas, interfaces),    relacionamentos  e  colaborações IMPLEMENTAÇÃO :criação de  programas executáveis  e  arquivos que realizam os  use-cases TESTE :  casos de teste  e  procedimentos de teste.  Testar entradas, resultados  e condições
Centrado  na arquitetura ,[object Object],[object Object],[object Object],[object Object],A ARQUITETURA descreve as  partes essenciais  do sistema,  importantes para todos desenvolvedores Menos de 10% das classes são relevantes para a arquitetura Descrição de REQUISITOS ADICIONAIS: segurança, distribuição, concorrência, plataformas, etc.
Centrado  na arquitetura Use-Cases Plataforma de software Disponibilidade de blocos reusáveis Sistemas existentes Hardware existente Requisitos não-funcionais (performance, segurança) Arquitetura influem
Centrado na arquitetura PRODUTO Use-Case Arquitetura Sequência para o  arquiteto: ,[object Object],[object Object],[object Object],[object Object],função forma
4 FASES CONCEPÇÃO CONSTRUÇÃO ELABORAÇÃO TRANSIÇÃO
Iterativo e incremental Projetos grandes são divididos em  mini-projetos   Cada mini-projeto é uma  iteração ,[object Object],Fatores de risco mais  importantes MINI- PROJETO Cada iteração gera um  incremento ,[object Object],[object Object],[object Object],[object Object],[object Object]
Iterativo e incremental Fases
Iterativo e incremental Cada  fase  termina com um MARCO (milestone): INICIO :  o que o sistema fará? Como poderia ser a arquitetura? Prazos e custos? Um  CICLO  é uma sequência das 4 fases.  Um projeto pode necessitar de vários ciclos. ,[object Object],[object Object],[object Object],[object Object]
Iterativo e incremental ELABORAÇÃO :  use-cases  especificados e esqueleto da arquitetura definido CONSTRUÇÃO : software feito TRANSIÇÃO : beta-teste feito por poucos usuários. Treinamento, documentação ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
O  P ROCESSO  U NIFICADO
EXEMPLO Desenvolver um sistema de controle de vendedores ambulantes de um empresa. A empresa dividiu cada cidade em que atua em regiões. Cada região é controlada  por um supervisor ao qual está subordinado um certo número de vendedores.  A empresa possui diversos pontos distribuídos na cidade. Todo dia os vendedores  passam pela empresa, de manhã, e registram, em um  boletim de controle, a hora da partida, o roteiro de visitas planejado e o número de  contratos de vendas que levaram. Ao final da tarde, cada vendedor passa por um  pontos, e registra o resultado das atividades do dia, ou seja, os contratos de venda fechados. Até as 20 horas, todos vendedores devem ter registrados suas produções do dia. Cada ponto da empresa, processa a esta hora, um resumo das atividades  registradas e o remete para a central da empresa.  No outro dia o supervisor analisa os boletins recebidos e passa-os, com alguns  comentários, ao controle geral de vendas da empresa. O supervisor, além de controlar a produção dos vendedores, registra o  recebimento de novos vendedores e a liberação deles para o departamento pessoal  que, por sua vez, controla a contratação, alocação, relocação e demissão de  vendedores e supervisores.
Modelos Requisitos ARTEFATOS Análise Projeto Implementação Testes ARTÍFICES PASSOS e  ATIVIDADES produz produzido-por composto-por
Obtenção dos Requisitos ARTEFATOS ,[object Object],[object Object],[object Object],[object Object]
Obtenção dos Requisitos ARTÍFICES ,[object Object],[object Object],[object Object],[object Object]
Obtenção dos Requisitos PASSOS ,[object Object],[object Object],[object Object],[object Object]
Obtenção dos Requisitos - Passos ,[object Object],Desenvolver uma  lista de características  obtidas de clientes, usuários, analistas e desenvolvedores ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Obtenção dos Requisitos - Passos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Obtenção dos Requisitos - Passos ,[object Object],ARTÍFICE ARTEFATO Analista de Sistemas Especificador de  Use-Cases Projetista de Interfaces Arquiteto ,[object Object],[object Object],[object Object],Protótipos de interfaces Use-cases Arquitetura responsável
Obtenção dos Requisitos - Passos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Obtenção dos Requisitos - Passos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Obtenção dos Requisitos - Passos ,[object Object],[object Object],[object Object],[object Object],[object Object]
Obtenção dos Requisitos PROJETO LÓGICO : para cada ator, ver todos  use-cases  nos  quais está envolvido e especificar os  elementos de interação   (ícones, listas, campos, figuras, etc.) N.B. a mesma interface (formulário) pode aparecer em diversos use-cases  para diversos atores! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Obtenção dos Requisitos PROJETO FÍSICO : ,[object Object],[object Object],[object Object]
Obtenção dos Requisitos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Obtenção dos Requisitos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Obtenção dos Requisitos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Análise
Análise Os  requisitos externos  são transformados em um  modelo interno preciso e completo para desenvolver o projeto do sistema Deve ser preciso e inambíguo Pode conter redundâncias, inconsistências, etc. Usado para o desenvolvedor entender o sistema Usado para o contrato com o cliente Descreve como realizar a funcionalidade Captura a funcionalidade do sistema Estruturado por classes Estruturado por  use-cases Visão interna do sistema Visão externa do sistema  Linguagem do desenvolvedor linguagem do usuário MODELO DA ANÁLISE MODELO  USE-CASE
Análise - artefatos 2. CLASSE DE ANÁLISE Classe de fronteira Classe de controle Classe de entidades EXEMPLO Interface de registro processar resumo do dia Boletim de controle 1. MODELO DA ANÁLISE
Análise - artefatos 3. REALIZAÇÃO DE UM  USE-CASE ,[object Object],[object Object],Resultado do dia Processar resumo boletim  de controle VENDEDOR partida Resumo do dia SUPERVISOR mostra resumos 1.registra partida 3. registra retorno 2. abre boletim 3. completa boletim 5. dados boletim 6. Registra resumo 8. analisa resumo 9. comentários 7. mostra resumo 10. resumo comentado RELOGIO 4. 8 horas
Análise - artefatos 3. REALIZAÇÃO DE UM  USE-CASE  (cont.) ,[object Object],[object Object],Descrição textual de requisitos não-funcionais Descrição textual do diagrama de colaboração 4. PACOTES DE ANÁLISE PACOTE DE SERVIÇOS Devem ter  coesão  e  fraco acoplamento ,[object Object],é um conjunto de ações coerentes, indivisíveis para uso em vários  use-cases 5. DESCRIÇÃO DA ARQUITETURA
Análise  ,[object Object],[object Object],[object Object],ARTÍFICES ,[object Object],[object Object],[object Object]
Análise PASSOS ,[object Object],[object Object],[object Object],[object Object]
Análise - passos ,[object Object],Análise  arquitetural MODELO USE-CASE REQUISITOS  ADICIONAIS MODELO DO DOMÍNIO DESCRIÇÃO ARQUITETURA (mod. Requisitos) ARQUITETO DESCRIÇÃO ARQUITETURA (mod. Análise) CLASSE  DE ANÁLISE (esboço) PACOTE ANÁLISE (esboço)
Análise - passos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Análise - passos ,[object Object],A2) Identificar classes de entidades óbvias   Obtidas a partir das classe do domínio ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Análise - passos ,[object Object],[object Object],[object Object],[object Object],Análise de um  Use-Case MODELO USE-CASE REQUISITOS  ADICIONAIS MODELO DO DOMÍNIO DESCRIÇÃO ARQUITETURA (mod Análise) ESPECIFICADOR DE  USE-CASES CLASSE  DE ANÁLISE (esboço) REALIZAÇÃO DE UM  USE-CASE (diagramas de classes e de colaboração)
Análise - passos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],CONSTRUIR UM DIAGRAMA DE CLASSES
Análise - passos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Análise - passos Resultado do dia Processar resumo boletim  de controle VENDEDOR partida Resumo do dia mostra resumos 1.registra partida 3. registra retorno 2. abre boletim 4. completa boletim 6 . dados boletim 7 . Registra resumo 9 . analisa resumo 10 . comentários 8 . mostra resumo 11 . resumo comentado 5 . 8 horas RELÓGIO SUPERVISOR ,[object Object]
Análise - passos ,[object Object],[object Object],[object Object],[object Object],Análise  de uma classe REALIZAÇÃO DE UM  USE-CASE (diagramas de classes e de colaboração) ESPECIFICADOR DE COMPONENTES CLASSE  DE ANÁLISE (completa) CLASSE  DE ANÁLISE (esboço)
Análise - passos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Análise - passos ,[object Object],[object Object],[object Object],[object Object]
Projeto  ,[object Object],[object Object],[object Object],[object Object],[object Object],OBJETIVOS
Projeto
Projeto - artefatos 1. MODELO DE  PROJETO É uma hierarquia de  subsistemas  contendo   classe de projeto ,  projetos de  use-cases  e  interfaces 2. CLASSE DE  PROJETO ,[object Object],[object Object],[object Object],[object Object],[object Object]
Projeto - artefatos 3. REALIZAÇÃO DO  USE-CASE ,[object Object],[object Object],[object Object],[object Object]
Projeto - artefatos 7. MODELO DE DISTRIBUIÇÃO   (Diagrama de nós e conexões) 5. INTERFACE ( separa funcionalidade de implementação) 6. ARQUITETURA   (VISÃO DO PROJETO)   (1. Subsistemas, interfaces e dependências   2. Classes chave, classes ativas   3. Realização de  use-cases  centrais ao sistema 4. SUBSISTEMA DE PROJETO   (pacotes de análise, componentes, produtos de software,    sistemas existentes) - SUBSISTEMAS DE SERVIÇO 8. ARQUITETURA   (VISÃO DO MODELO DE DISTRIBUIÇÃO)
Projeto - artífices ,[object Object],[object Object],[object Object],MODELO DO PROJETO ARQUITETURA MODELO DE DISTRIBUIÇÃO REALIZAÇÃO DE  USE CASE CLASSE DE  PROJETO SUBSISTEMA INTERFACE
Projeto - passos Projeto de um  use-case Projeto de  uma classe Projeto de um subsistema Projeto da arquitetura ARQUITETO ESPECIFICADOR DE COMPONENTES ESPECIFICADOR DE  USE-CASES
Projeto - passos ,[object Object],[object Object],[object Object],[object Object],[object Object]
Projeto - passos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Pacote (análise) Subsistema novo Software existente Não serve como subsistema É integrado com sistemas existentes
Projeto - passos ,[object Object],[object Object],[object Object],[object Object],[object Object]
Projeto - passos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Projeto - passos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Projeto - passos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Projeto - passos ,[object Object],[object Object],[object Object],[object Object],[object Object],ASPECTOS: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Projeto - passos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Projeto - passos ,[object Object],[object Object],[object Object],[object Object],[object Object],A5) Identificar generalizações ,[object Object],[object Object],[object Object],[object Object]
Projeto - passos ,[object Object],[object Object],[object Object],A3) Rever o conteúdo
Implementação - artefatos 1. MODELO DA IMPLEMENTAÇÃO 2. COMPONENTE 3. SUBSISTEMA DE IMPLEMENTAÇÃO 4. INTERFACE 5. ARQUITETURA (visão da implementação) 6. PLANO DE INTEGRAÇÃO
Implementação - artefatos 1. MODELO DA IMPLEMENTAÇÃO É uma hierarquia de  subsistemas de implementação contendo   componentes  e  interfaces 2. COMPONENTE ,[object Object],[object Object],[object Object],[object Object],[object Object],É UM PACOTE CONTENDO ELEMENTOS DO PROJETO Estereótipos:
Implementação - artefatos 2. COMPONENTE - exemplos <<executable>> ProcessaBoletim.java <<table>> Resumo BOLETIM __________ __________ RESUMO __________ __________ <<table>> Contrato realiza realiza gera gera
Implementação - artefatos 3. SUBSISTEMAS DE IMPLEMENTAÇÃO ,[object Object],[object Object],[object Object],CORRESPONDÊNCIA 1-1 COM SUBSISTEMAS DE PROJETO 4. INTERFACES Implementam as interfaces do projeto
Implementação - artefatos 5. ARQUITETURA (visão da implementação) 6. PLANO DE INTEGRAÇÃO ,[object Object],[object Object],[object Object],[object Object],[object Object]
Implementação - artífices ,[object Object],[object Object],[object Object],MODELO DA IMPLEMENTAÇÃO DESCRIÇÃO DA ARQUITETURA MODELO DE DISTRIBUIÇÃO PLANO DE INTEGRAÇÃO COMPONENTE SUBSISTEMA DE  IMPLEMENTAÇÃO INTERFACE
Implementação - artífices
Implementação PASSOS ,[object Object],[object Object],[object Object],[object Object],[object Object]
Projeto - passos Integrar sistemas Implementar uma classe Implementar um subsistema Implementação arquitetural ARQUITETO ENGENHEIRO DE  COMPONENTES INTEGRADOR  DE SISTEMAS Teste de unidade
Implementação - passos ,[object Object],[object Object],[object Object],[object Object],[object Object]
Implementação - passos ,[object Object],[object Object],[object Object],[object Object],[object Object]
Teste OBJETIVOS ,[object Object],[object Object],[object Object]
Teste - artefatos 1. MODELO DE TESTE ,[object Object],[object Object],[object Object],2. CASO DE TESTE
Fases X Etapas  Fases
As quatro Fases ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Passos
As quatro Fases ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Passos
As quatro Fases ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Passos
As quatro Fases ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Passos
Iterativo e incremental ,[object Object],Após cada iteração ou cada fase: ,[object Object],[object Object]
Iterativo e incremental requisitos análise projeto Implement. testes planejamento consolidação ITERAÇÃO
Iterativo e incremental Planejando as ITERAÇÕES Planejando as FASES ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Riscos Possíveis riscos: Gerenciar uma lista de riscos: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Más contenido relacionado

La actualidad más candente

Levantamento Ágil de Requisitos
Levantamento Ágil de RequisitosLevantamento Ágil de Requisitos
Levantamento Ágil de RequisitosPaulo Furtado
 
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageAula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageCloves da Rocha
 
Apostila de uml
Apostila de umlApostila de uml
Apostila de umlaudiclerio
 
Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E ClassesCursoSENAC
 
Gestão da Tecnologia da Informação - Aula 1
Gestão da Tecnologia da Informação - Aula 1Gestão da Tecnologia da Informação - Aula 1
Gestão da Tecnologia da Informação - Aula 1Alessandro Almeida
 
Administração por Objetivo
Administração por ObjetivoAdministração por Objetivo
Administração por ObjetivoElliah Pernas
 
Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?Priscilla Aguiar
 
01 io introdução à investigação operacional
01 io   introdução à investigação operacional01 io   introdução à investigação operacional
01 io introdução à investigação operacionalFaquira Antonio
 
Aula 02 - Engenharia de Requisitos
Aula 02 - Engenharia de RequisitosAula 02 - Engenharia de Requisitos
Aula 02 - Engenharia de RequisitosAlberto Simões
 
Aps lista de exercícios
Aps lista de exercíciosAps lista de exercícios
Aps lista de exercíciosGuilherme
 
Aula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de ProjetoAula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de ProjetoVinícius de Paula
 
Metaheurística Simulated Annealing
Metaheurística Simulated AnnealingMetaheurística Simulated Annealing
Metaheurística Simulated AnnealingMarcos Castro
 

La actualidad más candente (20)

Levantamento Ágil de Requisitos
Levantamento Ágil de RequisitosLevantamento Ágil de Requisitos
Levantamento Ágil de Requisitos
 
Caso De Uso
Caso De UsoCaso De Uso
Caso De Uso
 
Exercicios
ExerciciosExercicios
Exercicios
 
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageAula UML - Unified Modeling Language
Aula UML - Unified Modeling Language
 
Apostila de uml
Apostila de umlApostila de uml
Apostila de uml
 
Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E Classes
 
Administração científica 2012_01
Administração científica 2012_01Administração científica 2012_01
Administração científica 2012_01
 
Apresentação da UML
Apresentação da UMLApresentação da UML
Apresentação da UML
 
Tga clássica
Tga clássicaTga clássica
Tga clássica
 
Gestão da Tecnologia da Informação - Aula 1
Gestão da Tecnologia da Informação - Aula 1Gestão da Tecnologia da Informação - Aula 1
Gestão da Tecnologia da Informação - Aula 1
 
GP4US - Pesquisa operacional exercicios resolvidos - metodo simplex
GP4US - Pesquisa operacional   exercicios resolvidos - metodo simplexGP4US - Pesquisa operacional   exercicios resolvidos - metodo simplex
GP4US - Pesquisa operacional exercicios resolvidos - metodo simplex
 
Administração por Objetivo
Administração por ObjetivoAdministração por Objetivo
Administração por Objetivo
 
Diagrama de Casos de Uso
Diagrama de Casos de UsoDiagrama de Casos de Uso
Diagrama de Casos de Uso
 
Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?
 
01 io introdução à investigação operacional
01 io   introdução à investigação operacional01 io   introdução à investigação operacional
01 io introdução à investigação operacional
 
Aula 02 - Engenharia de Requisitos
Aula 02 - Engenharia de RequisitosAula 02 - Engenharia de Requisitos
Aula 02 - Engenharia de Requisitos
 
Aps lista de exercícios
Aps lista de exercíciosAps lista de exercícios
Aps lista de exercícios
 
Aula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de ProjetoAula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de Projeto
 
Metaheurística Simulated Annealing
Metaheurística Simulated AnnealingMetaheurística Simulated Annealing
Metaheurística Simulated Annealing
 
Lean Manufacturing 5
Lean Manufacturing 5Lean Manufacturing 5
Lean Manufacturing 5
 

Similar a Processo Unificado de Desenvolvimento de Software

Similar a Processo Unificado de Desenvolvimento de Software (20)

Processo Unificado(RUP)
Processo Unificado(RUP)Processo Unificado(RUP)
Processo Unificado(RUP)
 
347842.ppt
347842.ppt347842.ppt
347842.ppt
 
Rational Unified Process (RUP)
Rational Unified Process (RUP)Rational Unified Process (RUP)
Rational Unified Process (RUP)
 
Saam & arquiteturas_iu_halan
Saam & arquiteturas_iu_halanSaam & arquiteturas_iu_halan
Saam & arquiteturas_iu_halan
 
Visao geraldorup 20slides
Visao geraldorup 20slidesVisao geraldorup 20slides
Visao geraldorup 20slides
 
Iconix.metodo.trabajo.universidad.porto.ppt
Iconix.metodo.trabajo.universidad.porto.pptIconix.metodo.trabajo.universidad.porto.ppt
Iconix.metodo.trabajo.universidad.porto.ppt
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Apresentação RUP
Apresentação RUPApresentação RUP
Apresentação RUP
 
Visao Geral Rup
Visao Geral RupVisao Geral Rup
Visao Geral Rup
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01
 
Gestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e PlanificaçõesGestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e Planificações
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
O papel do Arquiteto de Soluções na RPA.
O papel do Arquiteto de Soluções na RPA.O papel do Arquiteto de Soluções na RPA.
O papel do Arquiteto de Soluções na RPA.
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
 
Aula1 eng software
Aula1 eng softwareAula1 eng software
Aula1 eng software
 
Apresentação fdd
Apresentação fddApresentação fdd
Apresentação fdd
 
FDD
FDDFDD
FDD
 
Aula2 processos sw
Aula2 processos swAula2 processos sw
Aula2 processos sw
 

Más de elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de containerelliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Webelliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Designelliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebookelliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Studyelliando dias
 

Más de elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Processo Unificado de Desenvolvimento de Software

  • 1. Processo Unificado de Desenvolvimento de Software G. Booch, Ivar Jacobson, James Rumbaugh Rational Software Corporation UNIVERSIDADE FEDERAL DA PARAÍBA DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO © Ulrich Schiel
  • 2. PRECURSORES Object Modeling Technique - OMT de J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy e W. Lorensen (TMO - Técnica de Modelagem de Objetos), 1991 Objectology - A Use-Case Driven Approach de I. Jacobson, M. Ericsson e A. Jacobson, 1992 Object Oriented Analysis and Design - OOA & OOD de G. Booch, 1994
  • 3.
  • 4. P4 = Pessoa, Projeto, Produto, Processo PESSOAS financiam, escolhem, desenvolvem, gerenciam, testam, usam e são beneficiadas por produtos PROJETOS sofrem alterações. Determinam os tipos de pessoas que irão trabalhar no projeto e os artefatos que serão usados Sistema-i Sistema-i+1 ciclo fase iteração
  • 5. P4 = Pessoa, Projeto, Produto, Processo PRODUTO código fonte, código de máquina, subsistemas, classes, diagramas: interação, de estados e outros artefatos ARTEFATO é qualquer tipo de informação criada por uma pessoa (diagramas UML, textos, modelos de interfaces) PROCESSO define quem faz o que, quando e como PU é um processo. Considera fatores organizacionais , do domínio , ciclo de vida e técnicos
  • 6. Modelos REQUISITOS - funcionais e não-funcionais descrevem o sistema a ser desenvolvido, sob um certo ponto-de-vista, e seu ambiente, ou seja, os atores ANÁLISE classes e responsabilidades PROJETO classes de projeto, subsistemas, interfaces IMPLEMENTAÇÃO código fonte (DLLs, JavaBeams, ActiveX) TESTE casos de teste (baseado nos use-cases ) DISTRIBUIÇÃO nós físicos e os componentes em cada nó
  • 7. Dirigido a Use-Cases Um ator é uma pessoa ou outro sistema Cada use-case é um requisito funcional do sistema Modelo Use-Case =  use-cases = funcionalidade do sistema Os Use-Cases acompanham todo o processo de desenvolvimento: Especificação de Requisitos, Análise, Projeto, Implementação e Testes Cada use-case representa uma sequência de ações que produzem um resultado de utilidade para um ator
  • 8.
  • 9. Dirigido a Use-Cases Classe de fronteira Classe de controle Classe de entidades Modelo USE-CASE Modelo ANÁLISE Modelo PROJETO Classe Modelo IMPLEMENT <executável> <arquivo> <arquivo> relacionamento
  • 10.
  • 11.
  • 12. Centrado na arquitetura Use-Cases Plataforma de software Disponibilidade de blocos reusáveis Sistemas existentes Hardware existente Requisitos não-funcionais (performance, segurança) Arquitetura influem
  • 13.
  • 14. 4 FASES CONCEPÇÃO CONSTRUÇÃO ELABORAÇÃO TRANSIÇÃO
  • 15.
  • 17.
  • 18.
  • 19. O P ROCESSO U NIFICADO
  • 20. EXEMPLO Desenvolver um sistema de controle de vendedores ambulantes de um empresa. A empresa dividiu cada cidade em que atua em regiões. Cada região é controlada por um supervisor ao qual está subordinado um certo número de vendedores. A empresa possui diversos pontos distribuídos na cidade. Todo dia os vendedores passam pela empresa, de manhã, e registram, em um boletim de controle, a hora da partida, o roteiro de visitas planejado e o número de contratos de vendas que levaram. Ao final da tarde, cada vendedor passa por um pontos, e registra o resultado das atividades do dia, ou seja, os contratos de venda fechados. Até as 20 horas, todos vendedores devem ter registrados suas produções do dia. Cada ponto da empresa, processa a esta hora, um resumo das atividades registradas e o remete para a central da empresa. No outro dia o supervisor analisa os boletins recebidos e passa-os, com alguns comentários, ao controle geral de vendas da empresa. O supervisor, além de controlar a produção dos vendedores, registra o recebimento de novos vendedores e a liberação deles para o departamento pessoal que, por sua vez, controla a contratação, alocação, relocação e demissão de vendedores e supervisores.
  • 21. Modelos Requisitos ARTEFATOS Análise Projeto Implementação Testes ARTÍFICES PASSOS e ATIVIDADES produz produzido-por composto-por
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 37. Análise Os requisitos externos são transformados em um modelo interno preciso e completo para desenvolver o projeto do sistema Deve ser preciso e inambíguo Pode conter redundâncias, inconsistências, etc. Usado para o desenvolvedor entender o sistema Usado para o contrato com o cliente Descreve como realizar a funcionalidade Captura a funcionalidade do sistema Estruturado por classes Estruturado por use-cases Visão interna do sistema Visão externa do sistema Linguagem do desenvolvedor linguagem do usuário MODELO DA ANÁLISE MODELO USE-CASE
  • 38. Análise - artefatos 2. CLASSE DE ANÁLISE Classe de fronteira Classe de controle Classe de entidades EXEMPLO Interface de registro processar resumo do dia Boletim de controle 1. MODELO DA ANÁLISE
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 55.
  • 56.
  • 57. Projeto - artefatos 7. MODELO DE DISTRIBUIÇÃO (Diagrama de nós e conexões) 5. INTERFACE ( separa funcionalidade de implementação) 6. ARQUITETURA (VISÃO DO PROJETO) (1. Subsistemas, interfaces e dependências 2. Classes chave, classes ativas 3. Realização de use-cases centrais ao sistema 4. SUBSISTEMA DE PROJETO (pacotes de análise, componentes, produtos de software, sistemas existentes) - SUBSISTEMAS DE SERVIÇO 8. ARQUITETURA (VISÃO DO MODELO DE DISTRIBUIÇÃO)
  • 58.
  • 59. Projeto - passos Projeto de um use-case Projeto de uma classe Projeto de um subsistema Projeto da arquitetura ARQUITETO ESPECIFICADOR DE COMPONENTES ESPECIFICADOR DE USE-CASES
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70. Implementação - artefatos 1. MODELO DA IMPLEMENTAÇÃO 2. COMPONENTE 3. SUBSISTEMA DE IMPLEMENTAÇÃO 4. INTERFACE 5. ARQUITETURA (visão da implementação) 6. PLANO DE INTEGRAÇÃO
  • 71.
  • 72. Implementação - artefatos 2. COMPONENTE - exemplos <<executable>> ProcessaBoletim.java <<table>> Resumo BOLETIM __________ __________ RESUMO __________ __________ <<table>> Contrato realiza realiza gera gera
  • 73.
  • 74.
  • 75.
  • 77.
  • 78. Projeto - passos Integrar sistemas Implementar uma classe Implementar um subsistema Implementação arquitetural ARQUITETO ENGENHEIRO DE COMPONENTES INTEGRADOR DE SISTEMAS Teste de unidade
  • 79.
  • 80.
  • 81.
  • 82.
  • 83. Fases X Etapas Fases
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89. Iterativo e incremental requisitos análise projeto Implement. testes planejamento consolidação ITERAÇÃO
  • 90.
  • 91.