SlideShare a Scribd company logo
1 of 62
Download to read offline
Primeiros Contatos (não inclui método) Linguagem de Modelagem  Unificada
Cenário ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
UML é uma linguagem para ... Artefatos do desenvolvimento de software
Contexto ,[object Object],[object Object],[object Object],[object Object],UML Modelagem OO Método Linguagem
UML é formal? ,[object Object],[object Object],[object Object]
Imprecisões da UML ,[object Object],[object Object],“ A primary requirement for the future UML2 specification is the elimination of ambiguities by providing a precise definition of the semantics of each UML concept.” Evolution, not Revolution Bran Selic, Guus Ramackers, and Cris Kobryn CACM, november, 2002, pp. 70-72
Evolução
O que é OMG? Aonix Colorado State University Computer Associates Concept Five Data Access EDS Enea Data Hewlett-Packard   IBM I-Logix InLine Software Intellicorp Kabira Technologies Klasse Objecten Lockheed Martin Microsoft ObjecTime Oracle Ptech   OAO Technology Solutions Rational Software Reich SAP Softeam Sterling Software Sun Taskon Telelogic Unisys …
UML em exemplos
Classe
Classe Pessoa Atividade natural ao longo de um desenvolvimento.
Pessoa (UML e Java) Transformações podem ser necessárias. public class Pessoa { private String nome;  private int dia, mes, ano;  private char sexo;  private String cpf, id; public int obtemIdade() {   // Atualizar em 2004 return (2003 – ano); } }
Melhor que a anterior ... Código não depende de constante. import java.util.Calendar; public class Pessoa { private String nome;  private int dia, mes, ano;  private char sexo;  private String cpf, id; public int obtemIdade() {   Calendar c = Calendar.getInstance();   return (c.get(Calenadr.YEAR) - ano); } }
Diagrama de objetos
Diagrama de objetos
Diagrama de objetos
Diagrama de objetos
Diagrama de classes Modelo que contempla diagramas de objetos.
Diagrama de objetos Instância de cargo faz uso de uma instância de PessoaFisica e outra de PessoaJuridica como parâmetros em alguma operação. Em algum instante de tempo ...
Casos de Uso ,[object Object],Vendedores deslocam-se até os clientes (já  cadastrados) para recolher eventuais  pedidos. Negócio Requisitos de software
Casos de Uso (refinamento I) Vendedores deslocam-se até os clientes (já  cadastrados) para recolher eventuais  pedidos  de produtos também cadastrados . Negócio Requisitos de software
Casos de Uso (refinamento II) Vendedores deslocam-se até os clientes (já  cadastrados) para recolher eventuais  pedidos  de produtos também cadastrados . Deverá ser fornecida uma previsão de entrega. Negócio Requisitos de software
Modelagem do Negócio Efetuar pedido (negócio) Requisitos de software
Diagrama de seqüência
Diagrama de seqüência ,[object Object]
Quiosque (ingressos) Ingressos podem ser obtidos através de um quiosque. Como a compra ocorre? Diagrama para descrever UC
Diagrama de colaboração Diagramas de seqüência e colaboração são equivalentes
Diagrama de colaboração if(f.isFile() && f.getCanonicalPath().endsWith(ext))  { owtd.doWork(f); System.out.println(f.toString()); }
O que é estado de objeto? ,[object Object]
Objetos e Estados Ciclo de vida Estado civil
Diagrama de estados
Diagrama de estados
Diagrama de estados public class Porta { private boolean aberta;  public void fechar() {  aberta = false; } public void abrir() { aberta = true; } }
java.lang.Thread (estados)
Diagrama de atividades romântico
Diagramas de atividades Workflow
Associação Conexão semântica entre objetos de uma classe é representada por .... Casa Pessoa Morador
Associação ,[object Object],[object Object]
Relacionamento semântico Mulher Homem 1 1 1 1 Casamento
Relacionamento semântico
[object Object],[object Object],Diagrama de objetos
Mais um exemplo
Relacionamento todo/parte
Relacionamento todo/parte
Relacionamento todo/parte
Agregação
[object Object],[object Object],Agregação
Agregação
Associações
[object Object],[object Object],[object Object],Regras de negócio Toda pessoa faz parte de um grupo Grupo Pessoa Elemento Parte OCL (Object Constraint Language) Língua Portuguesa
Mais associações ... ,[object Object],[object Object]
Dependências Tipo de relacionamento entre classes, pacotes, ...
Objeto composto
Restrições e comentários Restrição = condição que deve ser satisfeita Nota = comentário
Estereótipos ,[object Object],[object Object],Estereótipo = estende a semântica da UML
Estereótipos Estereótipos para aplicações Web
Componente Componente = parte física e substituível de um sistema
Componentes Teste.class  depende de Teste.java Componente = parte física e substituível de um sistema
Gerência de modelos I
Gerência de modelos II
Ferramentas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Análise
Considerações finais “ Nem todos precisam aprender e aplicar toda a UML, espera-se que usuários se especializem nas áreas que precisam para  realizar suas tarefas.” Architecting Systems with UML 2.0 Björkander & Kobryn, IEEE Software, august, 2003

More Related Content

What's hot

Specificationby example
Specificationby example Specificationby example
Specificationby example Laís Berlatto
 
Clean code - Qualidade em desenvolvimento de Software
Clean code - Qualidade em desenvolvimento de SoftwareClean code - Qualidade em desenvolvimento de Software
Clean code - Qualidade em desenvolvimento de SoftwareGabriel Felipe Soares
 
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaMetodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaFernando Palma
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agileAlini Rebonatto
 
TDD - A Verdadeira Face do Teste
TDD - A Verdadeira Face do TesteTDD - A Verdadeira Face do Teste
TDD - A Verdadeira Face do TesteAislan Fernandes
 
Desenvolvimento de Software com Extreme Programming (XP)
Desenvolvimento de Software com Extreme Programming (XP)Desenvolvimento de Software com Extreme Programming (XP)
Desenvolvimento de Software com Extreme Programming (XP)Fernando Kenji Kamei
 
DDD – Domain Driven Design
DDD – Domain Driven DesignDDD – Domain Driven Design
DDD – Domain Driven DesignÍtalo Bandeira
 
BDD e TDD na prática com SpecFlow e Visual Studio 2012
BDD e TDD na prática com SpecFlow e Visual Studio 2012BDD e TDD na prática com SpecFlow e Visual Studio 2012
BDD e TDD na prática com SpecFlow e Visual Studio 2012Igor Abade
 
Programando com prazer com DDD
Programando com prazer com DDDProgramando com prazer com DDD
Programando com prazer com DDDGiovanni Bassi
 
Engenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em ComponentesEngenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em Componentesigordsm
 
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingQualister
 
Domain Driven Design – DDD além da teoria!, por Paulo Victor Gomes
Domain Driven Design – DDD além da teoria!, por Paulo Victor GomesDomain Driven Design – DDD além da teoria!, por Paulo Victor Gomes
Domain Driven Design – DDD além da teoria!, por Paulo Victor GomesiMasters
 

What's hot (20)

Specificationby example
Specificationby example Specificationby example
Specificationby example
 
Clean code - Qualidade em desenvolvimento de Software
Clean code - Qualidade em desenvolvimento de SoftwareClean code - Qualidade em desenvolvimento de Software
Clean code - Qualidade em desenvolvimento de Software
 
Brisa Qualidade e Testes de software
Brisa   Qualidade e Testes de softwareBrisa   Qualidade e Testes de software
Brisa Qualidade e Testes de software
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Engenharia Ágil
Engenharia ÁgilEngenharia Ágil
Engenharia Ágil
 
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaMetodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
 
DDD > Experiências
DDD > ExperiênciasDDD > Experiências
DDD > Experiências
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 
TDD - A Verdadeira Face do Teste
TDD - A Verdadeira Face do TesteTDD - A Verdadeira Face do Teste
TDD - A Verdadeira Face do Teste
 
BDD com Xamarin UI Test e Specflow
BDD com Xamarin UI Test e SpecflowBDD com Xamarin UI Test e Specflow
BDD com Xamarin UI Test e Specflow
 
Desenvolvimento de Software com Extreme Programming (XP)
Desenvolvimento de Software com Extreme Programming (XP)Desenvolvimento de Software com Extreme Programming (XP)
Desenvolvimento de Software com Extreme Programming (XP)
 
DDD – Domain Driven Design
DDD – Domain Driven DesignDDD – Domain Driven Design
DDD – Domain Driven Design
 
BDD e TDD na prática com SpecFlow e Visual Studio 2012
BDD e TDD na prática com SpecFlow e Visual Studio 2012BDD e TDD na prática com SpecFlow e Visual Studio 2012
BDD e TDD na prática com SpecFlow e Visual Studio 2012
 
Programando com prazer com DDD
Programando com prazer com DDDProgramando com prazer com DDD
Programando com prazer com DDD
 
Teste Driven Development
Teste Driven DevelopmentTeste Driven Development
Teste Driven Development
 
Engenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em ComponentesEngenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em Componentes
 
Teste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testingTeste software metodos metodologia ageis agil agile testing
Teste software metodos metodologia ageis agil agile testing
 
Test First, TDD e outros Bichos
Test First, TDD e outros BichosTest First, TDD e outros Bichos
Test First, TDD e outros Bichos
 
Metodologias Ageis
Metodologias AgeisMetodologias Ageis
Metodologias Ageis
 
Domain Driven Design – DDD além da teoria!, por Paulo Victor Gomes
Domain Driven Design – DDD além da teoria!, por Paulo Victor GomesDomain Driven Design – DDD além da teoria!, por Paulo Victor Gomes
Domain Driven Design – DDD além da teoria!, por Paulo Victor Gomes
 

Viewers also liked

Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?Bernardo Fontes
 
Como o Cucumber Funciona
Como o Cucumber FuncionaComo o Cucumber Funciona
Como o Cucumber FuncionaLaís Berlatto
 
Sistema de Gerenciamento de Locadora de Vídeo - Diagramas
Sistema de Gerenciamento de Locadora de Vídeo - DiagramasSistema de Gerenciamento de Locadora de Vídeo - Diagramas
Sistema de Gerenciamento de Locadora de Vídeo - DiagramasGleyciana Garrido
 
Programación orientada a objetos (libro)
Programación orientada a objetos (libro)Programación orientada a objetos (libro)
Programación orientada a objetos (libro)UPT "JOSÉ FELIX RIBAS"
 
Uml diagrama de sequencia
Uml diagrama de sequenciaUml diagrama de sequencia
Uml diagrama de sequenciaItalo Costa
 
Análise Orientada a Objetos - Diagrama de Sequencia
Análise Orientada a Objetos - Diagrama de SequenciaAnálise Orientada a Objetos - Diagrama de Sequencia
Análise Orientada a Objetos - Diagrama de SequenciaCursoSENAC
 
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. CarvalhoAula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. CarvalhoRudson Kiyoshi Souza Carvalho
 

Viewers also liked (9)

Uml
UmlUml
Uml
 
Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?Testando Aplicações Django: Quando, Como e Onde?
Testando Aplicações Django: Quando, Como e Onde?
 
Como o Cucumber Funciona
Como o Cucumber FuncionaComo o Cucumber Funciona
Como o Cucumber Funciona
 
Sistema de Gerenciamento de Locadora de Vídeo - Diagramas
Sistema de Gerenciamento de Locadora de Vídeo - DiagramasSistema de Gerenciamento de Locadora de Vídeo - Diagramas
Sistema de Gerenciamento de Locadora de Vídeo - Diagramas
 
Programación orientada a objetos (libro)
Programación orientada a objetos (libro)Programación orientada a objetos (libro)
Programación orientada a objetos (libro)
 
Uml diagrama de sequencia
Uml diagrama de sequenciaUml diagrama de sequencia
Uml diagrama de sequencia
 
BDD com Cucumber
BDD com CucumberBDD com Cucumber
BDD com Cucumber
 
Análise Orientada a Objetos - Diagrama de Sequencia
Análise Orientada a Objetos - Diagrama de SequenciaAnálise Orientada a Objetos - Diagrama de Sequencia
Análise Orientada a Objetos - Diagrama de Sequencia
 
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. CarvalhoAula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
Aula de Analise e Projetos - Diagramas UML - prof. Rudson Kiyoshi S. Carvalho
 

Similar to Uml

Integração de Tecnologias
Integração de TecnologiasIntegração de Tecnologias
Integração de Tecnologiaselliando dias
 
Importância do Teste Unitário na Qualidade do Software
Importância do Teste Unitário na Qualidade do SoftwareImportância do Teste Unitário na Qualidade do Software
Importância do Teste Unitário na Qualidade do SoftwareEdison Moreira
 
Framework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da DissertacaoFramework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da DissertacaoMarcius Brandão
 
pec-12-patterns-intro.ppt
pec-12-patterns-intro.pptpec-12-patterns-intro.ppt
pec-12-patterns-intro.pptssuser7025cf
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesRodrigo Cascarrolho
 
CursoUML - Unified Modeling Language
CursoUML - Unified Modeling LanguageCursoUML - Unified Modeling Language
CursoUML - Unified Modeling Languageelliando dias
 
Análise Orientada a Objetos com UML
Análise Orientada a Objetos com UMLAnálise Orientada a Objetos com UML
Análise Orientada a Objetos com UMLEliseu Castelo
 
Transição - Orientação a objeto para Funcional
Transição - Orientação a objeto para FuncionalTransição - Orientação a objeto para Funcional
Transição - Orientação a objeto para FuncionalIsmael Velten
 
Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02Jhonefj
 
01 Orientacao A Objetos Programacao
01   Orientacao A Objetos   Programacao01   Orientacao A Objetos   Programacao
01 Orientacao A Objetos Programacaotaniamaciel
 
Banco de Dados Banco de Dados Banco de Dados
Banco de Dados Banco de Dados Banco de DadosBanco de Dados Banco de Dados Banco de Dados
Banco de Dados Banco de Dados Banco de DadosDanielRibeiro136663
 
modelo relacional.ppt
modelo relacional.pptmodelo relacional.ppt
modelo relacional.pptritaporfrio
 

Similar to Uml (20)

Integração de Tecnologias
Integração de TecnologiasIntegração de Tecnologias
Integração de Tecnologias
 
Domain-Driven Design
Domain-Driven DesignDomain-Driven Design
Domain-Driven Design
 
Introdução ao Entity Framework 4
Introdução ao Entity Framework 4Introdução ao Entity Framework 4
Introdução ao Entity Framework 4
 
Aula 5 -_fundamentos_de_uml
Aula 5 -_fundamentos_de_umlAula 5 -_fundamentos_de_uml
Aula 5 -_fundamentos_de_uml
 
Importância do Teste Unitário na Qualidade do Software
Importância do Teste Unitário na Qualidade do SoftwareImportância do Teste Unitário na Qualidade do Software
Importância do Teste Unitário na Qualidade do Software
 
Framework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da DissertacaoFramework Entities - Apresentação da Defesa da Dissertacao
Framework Entities - Apresentação da Defesa da Dissertacao
 
pec-12-patterns-intro.ppt
pec-12-patterns-intro.pptpec-12-patterns-intro.ppt
pec-12-patterns-intro.ppt
 
Aula1
Aula1Aula1
Aula1
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 
CursoUML - Unified Modeling Language
CursoUML - Unified Modeling LanguageCursoUML - Unified Modeling Language
CursoUML - Unified Modeling Language
 
Análise Orientada a Objetos com UML
Análise Orientada a Objetos com UMLAnálise Orientada a Objetos com UML
Análise Orientada a Objetos com UML
 
UMLIntro.pptx
UMLIntro.pptxUMLIntro.pptx
UMLIntro.pptx
 
Transição - Orientação a objeto para Funcional
Transição - Orientação a objeto para FuncionalTransição - Orientação a objeto para Funcional
Transição - Orientação a objeto para Funcional
 
Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02Umlv4 090813182632-phpapp02
Umlv4 090813182632-phpapp02
 
01 Orientacao A Objetos Programacao
01   Orientacao A Objetos   Programacao01   Orientacao A Objetos   Programacao
01 Orientacao A Objetos Programacao
 
Introdução à linguagem UML
Introdução à linguagem UMLIntrodução à linguagem UML
Introdução à linguagem UML
 
Banco de Dados Banco de Dados Banco de Dados
Banco de Dados Banco de Dados Banco de DadosBanco de Dados Banco de Dados Banco de Dados
Banco de Dados Banco de Dados Banco de Dados
 
PFTI (2).ppt
PFTI (2).pptPFTI (2).ppt
PFTI (2).ppt
 
modelo relacional.ppt
modelo relacional.pptmodelo relacional.ppt
modelo relacional.ppt
 

More from Fábio Nogueira de Lucena

Jornada Goiana em Engenharia de Software 2017
Jornada Goiana em Engenharia de Software 2017Jornada Goiana em Engenharia de Software 2017
Jornada Goiana em Engenharia de Software 2017Fábio Nogueira de Lucena
 
Engenharia de Software - planejamento pedagógico
Engenharia de Software - planejamento pedagógicoEngenharia de Software - planejamento pedagógico
Engenharia de Software - planejamento pedagógicoFábio Nogueira de Lucena
 

More from Fábio Nogueira de Lucena (20)

CSS
CSSCSS
CSS
 
Fundamentos de Programação Front-End
Fundamentos de Programação Front-EndFundamentos de Programação Front-End
Fundamentos de Programação Front-End
 
JavaScript: Aprendendo a programar
JavaScript: Aprendendo a programarJavaScript: Aprendendo a programar
JavaScript: Aprendendo a programar
 
HTML5: Primeiros Contatos (visão geral)
HTML5: Primeiros Contatos (visão geral)HTML5: Primeiros Contatos (visão geral)
HTML5: Primeiros Contatos (visão geral)
 
HTTP: Um Curso Básico
HTTP: Um Curso BásicoHTTP: Um Curso Básico
HTTP: Um Curso Básico
 
Apresentacao curso-2017-08-08
Apresentacao curso-2017-08-08Apresentacao curso-2017-08-08
Apresentacao curso-2017-08-08
 
Jornada Goiana em Engenharia de Software 2017
Jornada Goiana em Engenharia de Software 2017Jornada Goiana em Engenharia de Software 2017
Jornada Goiana em Engenharia de Software 2017
 
Arquétipos
ArquétiposArquétipos
Arquétipos
 
Introducao integracao
Introducao integracaoIntroducao integracao
Introducao integracao
 
Healthdb Visão Geral
Healthdb Visão GeralHealthdb Visão Geral
Healthdb Visão Geral
 
Engenharia de Software - planejamento pedagógico
Engenharia de Software - planejamento pedagógicoEngenharia de Software - planejamento pedagógico
Engenharia de Software - planejamento pedagógico
 
Arquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADAArquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADA
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Arquitetura software
Arquitetura softwareArquitetura software
Arquitetura software
 
Prontuário Eletrônico do Paciente
Prontuário Eletrônico do PacienteProntuário Eletrônico do Paciente
Prontuário Eletrônico do Paciente
 
Introducao
IntroducaoIntroducao
Introducao
 
Como desenvolver-software
Como desenvolver-softwareComo desenvolver-software
Como desenvolver-software
 
Orientação a Objetos (3)
Orientação a Objetos (3)Orientação a Objetos (3)
Orientação a Objetos (3)
 
Orientação a Objetos (2)
Orientação a Objetos (2)Orientação a Objetos (2)
Orientação a Objetos (2)
 
Orientação a Objetos (1)
Orientação a Objetos (1)Orientação a Objetos (1)
Orientação a Objetos (1)
 

Uml

Editor's Notes

  1. Se existe um curso de especialização, então existe pelo menos uma disciplina. Se existe uma disciplina, então existe um curso de especialização do qual faz parte. Não existe disciplina sem estar associada a curso de especialização.
  2. Um pesquisador existe independente de existir uma unidade acadêmica do qual faz parte.
  3. Na UML, os diagramas de seqüência e colaboração são utilizados para ilustrar a troca de mensagens entre objetos.
  4. Um pesquisador existe independente de existir uma unidade acadêmica do qual faz parte.