Introdução a UML
Introdução a UML
(Unified Modeling Language)
Introdução a UML
Agenda
Introdução Histórico
Por que UNIFICADA? Esquema de Visões 4+1 Modelos e Diagramas Modelagem Ágil
Introdução a UML
Ferramentas
Processo
Notação
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
Introdução a UML
Histórico
Nov ‘97 UML aprovado pela OMG
1998 1999 2000 UML 1.2 UML 1.3 UML 1.4 2001 UML 2.0 Revisões menores
Introdução a UML
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ção
Visão de Processos
Introdução a UML
Por que Esquema de Visões 4+1?
Sistema
Visão de Casos de Uso
Visão de Processos
Visão de
Implementação
Visão de Implantação
Visão de Lógica
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
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.
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
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
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
Introdução a UML
Modelos e Diagramas
Introdução a UML
Modelos e Diagramas
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>>
Introdução a UML
Modelos e Diagramas
Diagrama de Atividades
Buscar 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
Introdução a UML
Modelos e Diagramas
Diagrama de Classes
Avião militar Avião comercial
Motor Vendedor de bilhetes
Avião 1..4 1 1..4 1 Piloto Reserva n 1 n 1 Linha aérea Vôo n 1 n 1 1..2 n 1..2 n n 1 n 1 1 n 1 n { disjunta, completa } { disjunta, completa }
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 Socio número : int nome : char[50] número_emprestimos : int = 0 alta() baixa()
emprestar(código_livro : int, data : date) devolver(código_livro : int, data : date)
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
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éstimo 5: entregar recibo
Introdução a UML
Modelos e Diagramas
Diagrama de Componentes Controle e Análise Comment Acesso a BD Comment Rotinas de Conexão Comment Interface de Terminal Comment Gestão de Contas CommentIntrodução a UML
Modelos e Diagramas
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.
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.
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.
Introdução a UML
Modelagem Ágil
Introdução a UML
Modelagem Ágil
Introdução a UML
Modelagem Ágil
Introdução a UML
Modelagem Ágil
Introdução a UML
Modelagem Ágil
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.