Introdução

--João

  • A UML(Unified Modeling Language ou Linguagem de Modelagem Unificada) é uma linguagem visual utilizada para modelar sistemas computacionais por meio do paradigma da Orientação a Objetos. Essa linguagem tornou-se, nos ultimos anos a linguagem-padrão de modelagem de software adotada internacionalmente pela industria da Engenharia de software.
  • Ressalto aqui que a UML não é uma linguagem de programação, e sim uma linguagem de modelagem.
  • A diferença da linguagem de modelagem para a linguagem de programação está no fato de que a linguagem de modelagem é um meio de guiar engenheiros e técnicos sobre os requisitos, o comportamento, estrutura lógica e até necessidades fisicas de um determinado software.
  • A UML surgiu da união de três métodos de modelagem, o método de Booch, o método OMT de Jacobson e o método OOSE. Que foram os métodos mais populares entre os profissionais da área até meados da década de 90.

Conceito de Classes

--Michelly

Herança

--Michelly

  • O que é?
  • Exemplo


Polimorfismo

--Michelly

  • O que é?
  • Exemplo


Relacionamentos entre classes

--Othávio

Associações

--Othávio

  • O que é?
  • Exemplo


Dependência

--Othávio

  • O que é?
  • Exemplo


Agregação

--Maykel

  • Tipo especial de associação que tenta demonstrar que as informações de um objeto-todo precisam ser complementadas pelas informações contidas em um (ou mais) objetos-parte.
  • A existência do objeto-parte faz sentido mesmo não existindo o objeto-todo.
  • Um objeto “parte” pode fazer parte de vários objetos “todo”.
  • A associação de agregação pode, em muitos casos, ser substituída por uma associação binária simples, dependendo da visão de quem faz a modelagem.
  • As palavras chaves usadas para identificar uma agregação são: "consiste em", "contém", "é parte de".

Composição

--Maykel


  • Uma forma mais forte de agregação.
  • Há uma coincidência da vida das partes.
  • Uma vez criada a parte ela irá viver e morrer com ele.
  • O “Todo” é responsável pelo gerenciamento da criação e destruição das partes.

Diagrama de Classes

  • Porque modelar um software?
Uma casa precisa ser projetada? Um pedreiro experiente consegue construir uma casa sem precisar de um projeto.
Agora pensemos se essa casa um dia precisar de um reparo no encanamento ou na fiação em um determinado ponto,
devemos quebrar toda a parede para reparar um pequeno ponto? essa parede não é uma parede de sustentação principal da casa?

Exemplos

--João e Maykel


Referências