1 / 64

UML – Unified Modeling Language

UML – Unified Modeling Language. Tópicos abordados. Diagramas e elementos UML relacionados a fase de Análise & Projeto Diagrama de Classes Diagrama de Estados Diagrama de Interações Diagrama de Componentes Modelagem dos conceitos OO em UML. Objetivos. Mapear os conceitos de OO em UML

kendra
Download Presentation

UML – Unified Modeling Language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UML – Unified Modeling Language

  2. Tópicos abordados • Diagramas e elementos UML relacionados a fase de Análise & Projeto • Diagrama de Classes • Diagrama de Estados • Diagrama de Interações • Diagrama de Componentes • Modelagem dos conceitos OO em UML

  3. Objetivos • Mapear os conceitos de OO em UML • Ser capaz de modelar um sistema usando UML

  4. O que é a Unified Modeling Language (UML)? • A UML combina o melhor de • Modelagem de Dados • Modelagem de Negócios • Modelagem de Objetos • Modelagem de Componentes • A UML é a linguagem padrão para visualizar, especificar, construir e documentar artefatos de um sistema de software

  5. Nov ‘97 UML aprovada pelo OMG História da UML

  6. UML: A Linguagem de Modelagem

  7. Modelagem Visual • Modelagem Visual permite que você construa da forma correta na primeira vez: • Entender os requisitos do usuário • Validar que o design atende as necessidades • Visualizar interface, lógica de negócio e dados separadamente • Separar domínios de negócio conforme apropriado • Vizualizar todas as dependências • Validar performance antes do código começar

  8. Requisitos e Modelos de Negócio HTMLCGIXMLJavaScript Analista de Negócios Desenvolvedor de Conteúdo Web Todos! Modelos de SW Java, C++, etc. Modelos de Dados Engenheiro de Software Projetista de Banco de Dados Quem deve modelar?

  9. Conceitos da UML • A UML pode ser usada para modelar visualmente: • A interação de sua aplicação com o mundo externo • O comportamento de sua aplicação • A estrutura de seu sistema • Os componentes de seu sistema • A arquitetura de sua empresa

  10. Diagramas UML • Digrama de classes • Diagrama de casos de uso • Diagrama de componentes • Diagrama de distribuição • Diagrama de estados • Diagrama de atividades • Diagrama de interação • Diagrama de seqüência • Diagrama de colaboração

  11. JanelaMatricula 0..* 1 GerenciadorMatricula AlgoritmoCalendario 1 Curso 0..* UsuarioMatricula adAluno(Curso, AlunoInfo) nome numCreditos nome 1 aberto() Aluno 3..10 adAluno(AlunoInfo) dataGraduacao 1..* 4 Professor CursoOferecido 1 0..4 classificacao localizacao aberto() adAluno(AlunoInfo) Diagrama de classes • Um diagrama de classes mostra a estrutura de seu software

  12. Professor Classe em UML • Classe é representada usando-se um retângulo

  13. Atributo em UML Objeto : Professor titulo = “Mestre” Nome = “Gibeon” Valor do Atributo Classe Professor titulo nome : Professor titulo = “PhD” nome = “Ivan” Nome do Atributo

  14. Operação em UML Professor Especificação das operações criar() atribuirDisc() getTitulo() getNome()

  15. Resumo de classes • Uma classe é composta por três seções DVD Nome da Classe Hora Status Atributos estrutura Operações Voltar() Pausar() Adiantar() Parar() Tocar() comportamento

  16. Cubo Tubo Piramide Interface em UML (Canônica) <<interface>> Forma Desenhar Mover Rotacionar Relacionamentos de realização

  17. Piramide Cubo Interface em UML (Icônica) Tubo Forma Relacionamentos de realização

  18. Pacote em UML • Favorece a modularidade • Pode ser aplicado para modularizar outros elementos de UML nome do pacote

  19. Relacionamentos • Associação • agregação • composição • Dependência • Generalização • Realização

  20. Associação • Modela a conexão semântica entre classes Nome da associação Professor Universidade Trabalha para Associação Papéis Classe Professor Universidade Empregador Empregado

  21. Agregação • Uma forma especial de associação que modela um relacionamento todo-parte entre um agregado (todo) e suas partes Todo Parte Agregação Estudante Disciplina

  22. Composição • Uma forma de agregação com uma relação de posse forte • As partes não vivem sem o todo Todo Parte Composição Estudante Disciplina

  23. Na dúvida, use agregação! Na dúvida, use associação! Associação x Agregação x Composição • Como você modelaria: • Dependente e Funcionário? • Pedido e Item do pedido? • Funcionário e Cartão de ponto? • Carro, Roda, Direção e Carburador?

  24. Exercicios • Identificar os relacionamentos do sistema de reserva

  25. Multiplicidade • Multiplicidade define quantos objetos participam do relacionamento • O número de instâncias de uma classe relacionada a uma instância de outra classe • Especificado em cada uma das pontas da associação

  26. 1 0..* * 1..* 0..1 2..4 2, 4..6 Tipos de Multiplicidade • Não especificada • Exatamente um • Zero ou mais • Muitos (mesmo que 0..*) • Um ou mais • Zero ou um • Intervalo determinado • Valores múltiplos

  27. Exemplo: Multiplicidade Multiplicidade Disciplina Estudante 1 1..*

  28. Navegação • Especifica a direção da associação • Associações e agregações são bidirecionais por default

  29. Exemplo: Navegação Disciplina Estudante 1 1..* Navegação

  30. Exercicios • Identificar navegação e multiplicidade

  31. Dependência • Uma dependência entre dois elementos indica que mudança em um elemento pode causar mudanças no outro • Relacionamento não estrutural (uso) • mais fraco que associação Cliente Fornecedor Relacionamento de Dependência

  32. Dependência na prática (OO) • Parâmetros de entrada de métodos • Tipos de retorno de métodos • Utilização dentro do código de métodos • Exceções lançadas

  33. Dependência em Java class Log { ... void gravar(){ Arquivo a =...; a.escrever(...); } }

  34. Cliente Fornecedor Dependência • Pode existir relacionamento de dependência entre vários elementos de UML Classe Componente Cliente Fornecedor Pacote PacoteCliente PacoteFornecedor Dependência

  35. Generalização • Relacionamento entre classes onde uma classe compartilha a estrutura (atributos e relacionamentos) e comportamento (operações) de outras classes • Relacionamento “é um tipo de”

  36. Herança Simples • Uma classe herda de uma outra Figura cor largura da linha desenhar() selecionar() Superclasse (pai) Relacionamento de Generalização Retângulo vertices desenhar() diagonal() Círculo raio centro desenhar() Subclasses

  37. Mamífero AnimalVoador Cachorro Gaviao Gato Morcego Passarinho Herança Múltipla • Classes herdando de mais de uma classe Herança múltipla

  38. Herança Múltipla • O que acontece quando as superclasses possuem o mesmo método (métodos com o mesmo nome? • O que acontece quando se tenta executar um método que não está definido na subclasse? Em que hierarquia de superclasses deve-se procurar o método?

  39. Componente Classe Subsistema Caso de uso Realização de Caso de uso Realização • Indica que um elemento serve como contrato que o outro deve seguir Realização

  40. Objeto em UML : Professor Apenas o nome da classe gibeon Apenas o nome do objeto gibeon : Professor Nome da classe e do objeto

  41. Adiciona Aluno[ contador < 10 ] Adiciona Aluno / contador = 0 Inicializado Aberto do: Incializa Curso Cancel Cancela [ contador = 10 ] Cancelado do: Notifica Alunos Fechado Cancela do: Finaliza curso Diagrama de estados Um diagrama de estados mostra o ciclo de vida de um objeto

  42. Exercício

  43. Diagrama de componentes • Diagramas de Componentes ilustram a organização e dependências entre componentes de software

  44. O que são componentes • Parte não trivial, quase independente, substituível de um sistema, que provê a realização de (uma/um conjunto de) interface(s) • Exemplos • um código fonte • um componente de tempo de execução • um componente executável

  45. Componente em UML <<EXE>> Arquivo executável <<DLL>> Componente Arquivo fonte • Interface do • Componente

  46. Matricula.exe Cobranca.exe Sistema Cobranca Pessoa.dll Usuario Curso.dll Curso Exemplo de Diagrama de componentes

  47. Subsistemas • Uma combinação de pacotes (pode conter outro elementos) e classe (tem comportamento) • Realiza uma ou mais interfaces, que definem o seu comportamento • Facilita o encapsulamento e a modularidade

  48. Subsistema em UML Realização Subsistema <<subsystem>> Nome do subsistema Interface

  49. Subsistemas e Componentes Projeto • Ambos encapsulam um comportamento modelado por interfaces • Subsistemas representam componentes no modelo de projeto • Componentes são a realização física dos subsistemas <<subsystem>> Nome do subsistema Implementação Nome do componente

  50. Diagramas de Interação • Modelam interações do sistema com seus atores • A interação é iniciada por um ator e envolve instâncias (objetos) das classes • Diagramas de interação capturam a semântica do fluxo de eventos do caso de uso • Auxiliam a identificar classes, responsabilidades e relacionamentos

More Related