Uml

Embed Size (px)

Citation preview

  • 1. Primeiros Contatos (no inclui mtodo) Linguagem de ModelagemUnificada

2. Cenrio

  • At pouco tempo
    • Muitas ferramentas de modelagem
    • Muitos modelos
  • Atualmente
    • Muitas ferramentas de modelagem
    • Uma linguagem de modelagem

3. UML uma linguagem para ... Artefatos do desenvolvimento de software 4. Contexto

  • Adotada pela OMG desde 1997 (1.1)
  • Verso mais recente UML 1.4 (09/2001)
  • UML 2.0 (em andamento)
  • Independente de processo

UML Modelagem OO Mtodo Linguagem 5. UML formal?

  • UML 1.4, pgina 63, setembro/2001
    • It is important to note thatthe current description is not a completely formal specificationof the language because to do so would have added significant complexity without clear benetif.
    • The structure of the language is nevertheless given a precise specification , which is required for tool interoperability. The dynamic semantics are described usingnatural language , although in precise way so they can be easily understood.

6. Imprecises da UML

  • Guidelines: Include-Relationship(Rational) The base use case has control of the relationship to the inclusion and can depend on the result of performing the inclusion, butneither the base nor the inclusion may access each others attributes .
  • The UML Reference Manual(Amigos) The inclusion use case may access attributesor operations of the base use case.

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 7. Evoluo 8. 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 9. UML em exemplos 10. Classe 11. Classe Pessoa Atividade natural ao longo de um desenvolvimento. 12. Pessoa (UML e Java) Transformaes podem ser necessrias. 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); } } 13. Melhor que a anterior ... Cdigo no 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); } } 14. Diagrama de objetos 15. Diagrama de objetos 16. Diagrama de objetos 17. Diagrama de objetos 18. Diagrama de classes Modelo que contempla diagramas de objetos. 19. Diagrama de objetos Instncia de cargo faz uso de uma instncia de PessoaFisica e outra de PessoaJuridica como parmetros em alguma operao. Em algum instante de tempo ... 20. Casos de Uso

  • Funcionalidade da perspectiva de interao entre sistema e usurios

Vendedores deslocam-se at os clientes (jcadastrados) para recolher eventuaispedidos. Negcio Requisitos de software 21. Casos de Uso (refinamento I) Vendedores deslocam-se at os clientes (jcadastrados) para recolher eventuaispedidosde produtos tambm cadastrados . Negcio Requisitos de software 22. Casos de Uso (refinamento II) Vendedores deslocam-se at os clientes (jcadastrados) para recolher eventuaispedidosde produtos tambm cadastrados . Dever ser fornecida uma previso de entrega. Negcio Requisitos de software 23. Modelagem do Negcio Efetuar pedido (negcio) Requisitos de software 24. Diagrama de seqncia 25. Diagrama de seqncia

  • Cliente JDBC tpico

26. Quiosque (ingressos) Ingressos podem ser obtidos atravs de um quiosque. Como a compra ocorre? Diagrama para descrever UC 27. Diagrama de colaborao Diagramas de seqncia e colaborao so equivalentes 28. Diagrama de colaborao if(f.isFile() && f.getCanonicalPath().endsWith(ext)){ owtd.doWork(f); System.out.println(f.toString()); } 29. O que estado de objeto?

  • Coleo de associaes de um objeto

30. Objetos e Estados Ciclo de vida Estado civil 31. Diagrama de estados 32. Diagrama de estados 33. Diagrama de estados public class Porta { private boolean aberta;public void fechar() {aberta = false; } public void abrir() { aberta = true; } } 34. java.lang.Thread (estados) 35. Diagrama de atividades romntico 36. Diagramas de atividades Workflow 37. Associao Conexo semntica entre objetos de uma classe representada por .... Casa Pessoa Morador 38. Associao

  • Um jogo de tnis jogado por 2 ou 4 pessoas
  • Uma empresa emprega 1 ou mais pessoas

39. Relacionamento semntico Mulher Homem 1 1 1 1 Casamento 40. Relacionamento semntico 41.

  • Casamento
  • Casamento em data e local determinados

Diagrama de objetos 42. Mais um exemplo 43. Relacionamento todo/parte 44. Relacionamento todo/parte 45. Relacionamento todo/parte 46. Agregao 47.

  • Elemento grupo ou pessoa
  • Um grupo consiste em outros grupos e pessoas

Agregao 48. Agregao 49. Associaes 50.

  • No existe pessoa que no
  • faa parte de um grupo
  • Como representar?

Regras de negcio Toda pessoa faz parte de um grupo Grupo Pessoa Elemento Parte OCL (Object Constraint Language) Lngua Portuguesa 51. Mais associaes ...

  • Uma ou mais enfermidades acometem um paciente que sofre uma ou mais enfermidades.
  • Corridas de cavalo(exigem 2 ou mais cavalos montados)

52. Dependncias Tipo de relacionamento entre classes, pacotes, ... 53. Objeto composto 54. Restries e comentrios Restrio = condio que deve ser satisfeita Nota = comentrio 55. Esteretipos

  • Novo elemento definido com base em um elemento existente
  • No estende a estrutura

Esteretipo = estende a semntica da UML 56. Esteretipos Esteretipos para aplicaes Web 57. Componente Componente = parte fsica e substituvel de um sistema 58. Componentes Teste.classdepende de Teste.java Componente = parte fsica e substituvel de um sistema 59. Gerncia de modelos I 60. Gerncia de modelos II 61. Ferramentas

  • ArgoUML http://argouml.tigris.org
  • ProxyDesigner www. proxysource .com
  • FUJABA www. fujaba .de
  • Delphia Object Modeler http: //www.si.fr.atosorigin.com/dom/english/
  • Unimodeler http://www.unimodeler.com
  • DIA http://www.lysator.liu.se/~alla/dia/
  • UMLet http://qse.ifs.tuwien.ac. at/~auer/umlet /

Anlise 62. Consideraes finais Nem todos precisam aprender e aplicar toda a UML, espera-se que usurios se especializem nas reas que precisam pararealizar suas tarefas. Architecting Systems with UML 2.0 Bjrkander & Kobryn, IEEE Software, august, 2003