Uml

1,957
-1

Published on

Published in: Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,957
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
63
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 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.
  • Um pesquisador existe independente de existir uma unidade acadêmica do qual faz parte.
  • Na UML, os diagramas de seqüência e colaboração são utilizados para ilustrar a troca de mensagens entre objetos.
  • Um pesquisador existe independente de existir uma unidade acadêmica do qual faz parte.
  • Uml

    1. 1. Primeiros Contatos (não inclui método) Linguagem de Modelagem Unificada
    2. 2. Cenário <ul><li>Até pouco tempo </li></ul><ul><ul><li>Muitas ferramentas de modelagem </li></ul></ul><ul><ul><li>Muitos modelos </li></ul></ul><ul><li>Atualmente </li></ul><ul><ul><li>Muitas ferramentas de modelagem </li></ul></ul><ul><ul><li>“ Uma linguagem de modelagem” </li></ul></ul>
    3. 3. UML é uma linguagem para ... Artefatos do desenvolvimento de software
    4. 4. Contexto <ul><li>Adotada pela OMG desde 1997 (1.1) </li></ul><ul><li>Versão mais recente UML 1.4 (09/2001) </li></ul><ul><li>UML 2.0 (em andamento) </li></ul><ul><li>Independente de processo </li></ul>UML Modelagem OO Método Linguagem
    5. 5. UML é formal? <ul><li>UML 1.4, página 63, setembro/2001 </li></ul><ul><ul><li>It is important to note that the current description is not a completely formal specification of the language because to do so would have added significant complexity without clear benetif. </li></ul></ul><ul><ul><li>The structure of the language is nevertheless given a precise specification , which is required for tool interoperability. The dynamic semantics are described using natural language , although in precise way so they can be easily understood. </li></ul></ul>
    6. 6. Imprecisões da UML <ul><li>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, but neither the base nor the inclusion may access each other´s attributes . </li></ul><ul><li>The UML Reference Manual (Amigos) The inclusion use case may access attributes or operations of the base use case. </li></ul>“ 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. 7. Evolução
    8. 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. 9. UML em exemplos
    10. 10. Classe
    11. 11. Classe Pessoa Atividade natural ao longo de um desenvolvimento.
    12. 12. 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); } }
    13. 13. 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); } }
    14. 14. Diagrama de objetos
    15. 15. Diagrama de objetos
    16. 16. Diagrama de objetos
    17. 17. Diagrama de objetos
    18. 18. Diagrama de classes Modelo que contempla diagramas de objetos.
    19. 19. 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 ...
    20. 20. Casos de Uso <ul><li>Funcionalidade da perspectiva de interação entre sistema e usuários </li></ul>Vendedores deslocam-se até os clientes (já cadastrados) para recolher eventuais pedidos. Negócio Requisitos de software
    21. 21. 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
    22. 22. 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
    23. 23. Modelagem do Negócio Efetuar pedido (negócio) Requisitos de software
    24. 24. Diagrama de seqüência
    25. 25. Diagrama de seqüência <ul><li>Cliente JDBC típico </li></ul>
    26. 26. Quiosque (ingressos) Ingressos podem ser obtidos através de um quiosque. Como a compra ocorre? Diagrama para descrever UC
    27. 27. Diagrama de colaboração Diagramas de seqüência e colaboração são equivalentes
    28. 28. Diagrama de colaboração if(f.isFile() && f.getCanonicalPath().endsWith(ext)) { owtd.doWork(f); System.out.println(f.toString()); }
    29. 29. O que é estado de objeto? <ul><li>Coleção de associações de um objeto </li></ul>
    30. 30. Objetos e Estados Ciclo de vida Estado civil
    31. 31. Diagrama de estados
    32. 32. Diagrama de estados
    33. 33. Diagrama de estados public class Porta { private boolean aberta; public void fechar() { aberta = false; } public void abrir() { aberta = true; } }
    34. 34. java.lang.Thread (estados)
    35. 35. Diagrama de atividades romântico
    36. 36. Diagramas de atividades Workflow
    37. 37. Associação Conexão semântica entre objetos de uma classe é representada por .... Casa Pessoa Morador
    38. 38. Associação <ul><li>Um jogo de tênis é jogado por 2 ou 4 pessoas </li></ul><ul><li>Uma empresa emprega 1 ou mais pessoas </li></ul>
    39. 39. Relacionamento semântico Mulher Homem 1 1 1 1 Casamento
    40. 40. Relacionamento semântico
    41. 41. <ul><li>Casamento </li></ul><ul><li>Casamento em data e local determinados </li></ul>Diagrama de objetos
    42. 42. Mais um exemplo
    43. 43. Relacionamento todo/parte
    44. 44. Relacionamento todo/parte
    45. 45. Relacionamento todo/parte
    46. 46. Agregação
    47. 47. <ul><li>Elemento é grupo ou pessoa </li></ul><ul><li>Um grupo consiste em outros grupos e pessoas </li></ul>Agregação
    48. 48. Agregação
    49. 49. Associações
    50. 50. <ul><li>“ Não existe pessoa que não </li></ul><ul><li>faça parte de um grupo” </li></ul><ul><li>Como representar? </li></ul>Regras de negócio Toda pessoa faz parte de um grupo Grupo Pessoa Elemento Parte OCL (Object Constraint Language) Língua Portuguesa
    51. 51. Mais associações ... <ul><li>Uma ou mais enfermidades acometem um paciente que sofre uma ou mais enfermidades. </li></ul><ul><li>Corridas de cavalo (exigem 2 ou mais cavalos montados) </li></ul>
    52. 52. Dependências Tipo de relacionamento entre classes, pacotes, ...
    53. 53. Objeto composto
    54. 54. Restrições e comentários Restrição = condição que deve ser satisfeita Nota = comentário
    55. 55. Estereótipos <ul><li>Novo elemento definido com base em um elemento existente </li></ul><ul><li>Não estende a estrutura </li></ul>Estereótipo = estende a semântica da UML
    56. 56. Estereótipos Estereótipos para aplicações Web
    57. 57. Componente Componente = parte física e substituível de um sistema
    58. 58. Componentes Teste.class depende de Teste.java Componente = parte física e substituível de um sistema
    59. 59. Gerência de modelos I
    60. 60. Gerência de modelos II
    61. 61. Ferramentas <ul><li>ArgoUML http://argouml.tigris.org </li></ul><ul><li>ProxyDesigner www. proxysource .com </li></ul><ul><li>FUJABA www. fujaba .de </li></ul><ul><li>Delphia Object Modeler http: //www.si.fr.atosorigin.com/dom/english/ </li></ul><ul><li>Unimodeler http://www.unimodeler.com </li></ul><ul><li>DIA http://www.lysator.liu.se/~alla/dia/ </li></ul><ul><li>UMLet http://qse.ifs.tuwien.ac. at/~auer/umlet / </li></ul>Análise
    62. 62. 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
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×