Introdução a UML (Unified Modeling...

33
Régis Simão 1/33 Introdução a UML Introdução a UML (Unified Modeling Language) Régis Patrick Silva Simão

Transcript of Introdução a UML (Unified Modeling...

Page 1: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 1/33

Introdução a UML

Introdução a UML(Unified Modeling Language)

Régis Patrick Silva Simão

Page 2: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 2/33

Introdução a UML

Agenda

Introdução

Histórico

Por que UNIFICADA?

Esquema de Visões 4+1

Modelos e Diagramas

Modelagem Ágil

Page 3: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 3/33

Introdução a UML

Ferramentas Processo

Notação

Introdução: Elementos-chave no Desenvolvimento de Software

Page 4: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 4/33

Introdução a UML

Introdução

UML = Unified Modeling Language

Uma linguagem de propósito geral para a modelagem orientada a objetos

Mas pode ser utilizada para modelar aplicações no paradigma Estruturado, Dataware House, portais, etc.

UML combina notações provenientes de:

Modelo Orientado a Objetos

Modelo de Dados

Modelo de Componentes

Modelo de Fluxos de Trabalho (Workflows)

Page 5: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 5/33

Introdução a UML

Histórico

Nov ‘97 UML aprovado pela OMG

19981999

2000

UML 1.2

UML 1.3

UML 1.4

2001 UML 2.0

Revisões menores

Page 6: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 6/33

Introdução a UML

Por que UNIFICADA?

Page 7: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 7/33

Introdução a UML

Por que Esquema de Visões 4+1?

Visão de Casos de Uso

Visão Lógica Visão de Implementação

Visão de ImplantaçãoVisão de Processos

Page 8: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 8/33

Introdução a UML

Por que Esquema de Visões 4+1?

Sistema

Visão de Casos de UsoVisão de Processos

Visão de Implementação

Visão de Implantação

Visão de Lógica

Page 9: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 9/33

Introdução a UML

Por que Esquema de Visões 4+1? Visão de Casos de Uso

Compreende as situações de uso do sistema que descrevem o comportamento do sistema conforme é visto pelo seus usuários finais.

Visão de Projeto (Lógica) Abrange as classes, interfaces e colaborações que formam o vocabulário

do problema e de sua solução.

Visão de Processos Abrange os processamentos paralelos, visualizando cooperação entre

programas e sincronização.

Visão de Implementação Cobre os arquivos utilizados para a montagem e fornecimento do sistema

físico.

Visão de Implantação Compreende os hardwares em que o sistema é executado.

Page 10: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 10/33

Introdução a UML

Modelos e Diagramas

Um modelo captura uma visão de um sistema do mundo real. É uma abstração desse sistema, considerando um certo propósito. Assim, o modelo descreve completamente aqueles aspectos do sistema que são relevantes para o propósito do modelo, a um apropriado nível de detalhe.

Diagrama: uma representação gráfica de uma coleção de elementos de modelagem, desenhada como um gráfico com vértices conectados por arcos.

Page 11: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 11/33

Introdução a UML

Modelos e Diagramas

Um processo de desenvolvimento de software deve oferecer um conjunto de modelos que permitam expressar o produto desde cada uma das perspectivas de interesse

O código fonte do sistema é o modelo mais detalhado do sistema (e ademais é executável). Sem dúvida, são requeridos outros modelos ...

Cada modelo é completo desde seu ponto de vista do sistema mas, sem dúvida, existem relações de rastreabilidade entre os diferentes modelos

Page 12: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 12/33

Introdução a UML

Modelos e Diagramas

Diagrama de Casos de Uso

Diagrama de Atividades

Diagrama de Classes

Diagrama de Objetos

Diagrama de Estados

Diagrama de Seqüência

Diagrama de Colaboração

Diagrama de Componentes

Diagrama de Implantação

Diagrama de Interação

Page 13: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 13/33

Introdução a UML

Modelos e Diagramas

UML 1.5

Diagrama de Casos de Uso

Diagrama de Atividades

Diagrama de Classes

Diagrama de Objetos

Diagrama de Estados

Diagrama de Seqüência

Diagrama de Colaboração

Diagrama de Componentes

Diagrama de Implantação

UML 2.0 Diagrama de Casos de Uso Diagrama de Atividades Diagrama de Classes Diagrama de Pacotes Diagrama de Objetos Diagrama de Estados Diagrama de Seqüência Diagrama de Colaboração Diagrama de Comunicação Diagrama de Visão Geral

da Interação Diagrama de Componentes Diagrama de Instalação Diagrama de Temporização

Page 14: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 14/33

Introdução a UML

Modelos e Diagramas

Mapeamento de alguns Modelos para Disciplinas do RUP

Page 15: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 15/33

Introdução a UML

Modelos e Diagramas

Mapeamento dos Diagramas para os Modelos

Page 16: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 16/33

Introdução a UML

Modelos e Diagramas

Diagrama de Casos de Uso

Verificar Operação

Cadastra Conta Corrente

Cliente

Cadastra Conta de Crédito

<<include>>

<<include>>

Page 17: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 17/33

Introdução a UML

Modelos e Diagramas

Diagrama de AtividadesBuscar Bebida

Por café no filtro Por água no depósito Pegar xícara

Por filtro na máquina

Ligar a máquina

Café em preparação

Servir café

Pegar suco

Beber

[não há café]

[há café

[não há suco]

[há suco]

/ cafeteira.On

indicador de fim

Page 18: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 18/33

Introdução a UML

Modelos e Diagramas

Diagrama de Classes

Avião militar Avião comercial

Avião de carga Avião de passageiros

Motor Vendedor de bilhetes

Avião

1..4

1

1..4

1

Piloto

Reserva

n

1

n

1

Linha aérea

Vôon1 n1

1..2

n

1..2

nn1 n1

1

n

1

n{ disjunta, completa }

{ disjunta, completa }

Page 19: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 19/33

Introdução a UML

Modelos e Diagramas

Diagrama de Transição de Estados

com empréstimos

sem empréstimos

alta baixa

emprestar devolver[ número_empréstimos = 1 ]

emprestar

devolver[ número_empréstimos > 1 ]

número_empréstimos = 0

número_empréstimos > 0

Socionúmero : intnome : char[50]número_emprestimos : int = 0

alta()baixa()

emprestar(código_livro : int, data : date)devolver(código_livro : int, data : date)

Page 20: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 20/33

Introdução a UML

Modelos e Diagramas

Diagrama de Seqüência

: Encarregado :FacEmpréstimos :Socio :Video :Empréstimo

emprestar(video, socio)

verificar situação socio

verificar situação video

registrar empréstimo

entregar recibo

Page 21: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 21/33

Introdução a UML

Modelos e Diagramas

Diagrama de Colaboração

: Encarregado

:FacEmpréstimos

:Socio

:Video

:Empréstimo

1: emprestar(video, socio)

2: verificar situação socio

3: verificar situação video

4: registrar empréstimo5: entregar recibo

Page 22: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 22/33

Introdução a UML

Modelos e Diagramas

Diagrama de ComponentesControle e Análise

Comment

Acesso a BD

CommentRotinas de Conexão

Comment

Interface de Terminal

Comment

Gestão de Contas

Comment

Page 23: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 23/33

Introdução a UML

Modelos e Diagramas

Diagrama de Implantação

Page 24: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 24/33

Introdução a UML

Modelagem Ágil

É uma atitude, não um processo prescritivo.

É um suplemento dos métodos pre-exitentes; não uma metodologia completa.

É complementar aos processos de modelagem.

É uma maneira de trabalhar em conjunto de modo eficaz para alcançar os objetivos dos clientes do projeto.

É eficaz e trata de eficácia.

É algo que funciona na prática; não uma teoria acadêmica.

Page 25: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 25/33

Introdução a UML

Modelagem Ágil

Não é uma bala de prata.

Foi feita para o desenvolvedor médio, mas não é uma substituição de pessoas competentes.

Não é um ataque a documentação.

Não é um ataque às ferramentas CASE

Page 26: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 26/33

Introdução a UML

Modelagem Ágil

Modelos Ágeis

Cuprem seu própósito.

São compreensíveis.

São suficientemente precisos.

São suficientemente consistentes.

São suficientemente detalhados.

Proporcionam valor positivo.

São os mais simples possíveis.

Page 27: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 27/33

Introdução a UML

Modelagem Ágil

Diagramas

Page 28: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 28/33

Introdução a UML

Modelagem Ágil

Diagramas

Page 29: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 29/33

Introdução a UML

Modelagem Ágil

Diagramas

Page 30: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 30/33

Introdução a UML

Modelagem Ágil

Diagramas

Page 31: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 31/33

Introdução a UML

Modelagem Ágil

Diagramas

Page 32: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 32/33

Introdução a UML

Modelagem Ágil

A UML segundo a Modelagem Ágil

A UML não é suficiente para o desenvolvimento de software de negócios.

A UML é mais completa do que a maioria dos desenvolvedores precisa.

A UML não é uma metodologia nem processo.

A visão da UML Executável está à frente do seu tempo.

Para a UML funcionar na prática

Use a UML como base de modelagem.

Adote um subconjunto básico de notação.

Eduque todos os desenvolvedores na UML.

Cuidado com a propaganda exagerada.

Page 33: Introdução a UML (Unified Modeling Language)regissimao.com.br/wp-content/uploads/2014/03/UML-01-Introdução...Régis Simão 2/33 Introdução a UML Agenda Introdução Histórico

Régis Simão 33/33

Introdução a UML

FIM!!!