Unified Modeling Language
UML - Notações
Prof. Ms. Elvio Gilberto da Silva
[email protected]
UML – Ponto de Vista
É gerada com propósito geral de uma
linguagem de modelagem visual usada para
especificar, construir e documentar os
artefatos de um sistema de software.
Š É utilizada para entender, projetar, navegar,
configurar, manter e controlar informação
sobre tais sistemas.
Š
FMR
2
UML – Ponto de Vista
É pretendido para usar com todos métodos
de desenvolvimento, estágios de ciclo de
vida, domínios de aplicação e media.
Š O objetivo da Linguagem de Modelagem é
para unificar experiências passadas sobre
técnicas de modelagem e incorporar
software recente com melhor prática em
uma abordagem padrão.
Š
FMR
3
UML
Inclui conceitos semânticos, notações e
guidelines.
Š Possui partes estática, dinâmica, ambiental e
organizacional.
Š É suportada por ferramentas de modelagem
visual (RUP, Catalise) que tem gerações de
código e emissão de relatórios.
Š
FMR
4
UML
Suporta um processo de desenvolvimento
OO e sua especificação não define um
processo padrão, porem pode ser usada em
um processo de desenvolvimento iterativo.
Š Ela captura informações sobre a estrutura
estática e comportamento dinâmico de um
sistema.
Š
FMR
5
O que é Modelagem
Visual?
Order
“Modelagem captura as partes
essenciais do sistema.”
Dr. James Rumbaugh
Item
Ship via
Processo de negócio
Modelagem Visual é
modelagem usando
notações gráficas
padrões
FMR
Sistema de Computador
Copyright © 1997 by Rational Software Corporation
6
Modelagem Visual Captura os
Processos de Negócio
Análise de Use Case é uma técnica utilizada
para capturar o processos de negócio das
perspectivas do usuário.
FMR
Copyright © 1997 by Rational Software Corporation
7
Modelagem Visual é uma
Ferramenta de Comunicação
Usar modelagem visual para capturar objetos de negócio e
lógica de negócio
Usar modelagem visual to analisar e projetar sua aplicação
FMR
Copyright © 1997 by Rational Software Corporation
8
Modelagem Visual
Controla a Complexidade
FMR
Copyright © 1997 by Rational Software Corporation
9
Modelagem Visual Define
a Arquitetura de Software
Interface do usuário
(Visual Basic,
Java)
Servidor do Banco de Dados
(C++ & SQL)
FMR
Copyright © 1997 by Rational Software Corporation
Lógica de negócio
(C++, Java)
Modele seu sistema
independente da
linguagem de implementação
10
A Modelagem Visual
Promove Reuso
Múltiplos Sistemas
Componentes
Reusáveis
FMR
Copyright © 1997 by Rational Software Corporation
11
O quê é a UML?
UML significa Linguagem de Modelagem
Unificada
Š A UML combina o melhor dos melhores de
• Conceitos de Modelagem de Dados (Diagramas
de Relacionamento de Entidade)
• Modelagem de negócio (work flow)
• Modelagem de Objetos
• Modelagem de Componente
Š
Š
Š
A UML é a linguagem padrão para visualizar,
especificar, construir, e documentar os artefatos de um
sistema intensivo de software
Ele pode ser usado com todos processos, através do
ciclo de vida do desenvolvimento, e através de
tecnologia de implementação diferente.
FMR
Copyright © 1997 by Rational Software Corporation
12
História da UML
Nov ‘97
UML é aprovada pela OMG
Copyright © 1997 by Rational Software Corporation
FMR
13
A UML Suporta
Desenvolvimento de Aplicações
Relacionamentos
Objetos
Objetos de Negócio
Sistemas de Larga escala
ORDBMS
Oracle
Particionamento de
aplicações
Classes
Components
Microsoft
Cenários
Use Cases
FMR
ActiveX/COM
Microsoft
CORBA
OMG
Processos de Negócios
Copyright © 1997 by Rational Software Corporation
14
Conceitos da UML
Š
A UML pode ser usada para:
• Exibir os limites do sistema e suas maiores funções
usando use cases e atores
• Ilustrar realizações de use case com Diagramas de
Interação
• Representar uma estrutura estática de um sistema
usando Diagramas de Classe
• Modelar o comportamento de objetos com
Diagramas de Transição de Estado
• Revelar a arquitetura de implementação física com
Diagramas de Componentes e Distribuição
• Estender sua funcionalidade com Estereotipo.
FMR
Copyright © 1997 by Rational Software Corporation
15
Colocando a UML para Funcionar
Š
A Universidade XXX quer informatizar seu sistema de
matrícula
• A secretaria registra o currículo para um semestre
• Um curso pode ter múltiplas matérias
• Estudantes selecionam 4 matérias principais e 2
alternativas
• Após o registro, o sistema de cobranças será notificado
para que receba o pagamento do estudante por um
semestre.
• Os Alunos podem usar o sistema para adicionar/remover
matérias por um determinado período após a matrícula.
• Os Professores usam o sistema para receber sua lista de
cursos oferecidos;
• Os Usuários do sistema de matrícula são atribuídos
passwords que são usados na validação do logon
FMR
Copyright © 1997 by Rational Software Corporation
16
Atores
Š
Um Ator é alguém ou alguma coisa que deve
interagir com o sistema a ser desenvolvido
Secretaria
Professor
Estudante
Sistema de Faturamento
FMR
Copyright © 1997 by Rational Software Corporation
17
Use Cases
Š
Š
Um use case é um padrão de comportamento para exibir o
sistema
• Cada use case é uma seqüência de transações
relacionadas executada por um ator e o sistema em um
diálogo .
Atores são examinados para determinar suas necessidades
• Secretaria-- manter o currículo
• Professor -- solicitar lista de cursos
• Estudante -- manter o horário de aulas
• Sistema de Cobrança -- recebe informações sobre
cobrança de matrícula.
Manter Currículo
FMR
Solicitar Lista de cursos
Copyright © 1997 by Rational Software Corporation
Manter horário
18
Documentando Use Cases
Um documento de fluxo de eventos é criado para
cada use cases
• Escrito do ponto de vista de um ator
Š Detalha o que o sistema deve fornecer para o ator
quando o use case for executado
Š Conteúdos típicos
• Como o use case começa e termina
• Fluxo normal de eventos
• Fluxo alternado de eventos
• Fluxo excepcional de eventos (respostas a erros)
Š
FMR
Copyright © 1997 by Rational Software Corporation
19
Fluxo de Eventos - Manter Currículo
Š
Š
Š
Š
Š
Š
Esse use case começa quando a Secretaria loga no Sistema de
Matrícula e entra com password. O sistema verifica se o
password é valido (E-1) e sugere a Secretaria para selecionar o
semestre corrente ou um semestre futuro (E-2). A Secretaria
entra com o semestre desejado. O sistema solicita qual a
atividade desejada: INCLUIR/APAGAR/ MODIFICAR/SAIR.
Se a atividade selecionada for INCLUIR, o S-1: O Sub-fluxo
Adiciona uma matéria é executado.
Se a atividade selecionada for APAGAR, o S-2: O Sub-fluxo
Apaga uma Matéria é executado.
Se a atividade selecionada for MODIFICAR, o S-3: O subfluxo Modifica uma Matéria é executado.
Se a atividade selecionada for SAIR, o use case termina.
...
FMR
Copyright © 1997 by Rational Software Corporation
20
Diagrama Use Case
Š
Diagramas use case são criados para
visualizar o relacionamento entre atores e
use cases
solicita
Lista de cursos
Professor
Aluno
Mantém Planejamento
Sistema de Cobrança
Manter currículo
Secretaria
FMR
Copyright © 1997 by Rational Software Corporation
21
Usar e Estender
relacionamento Use Case
Š
A medida que os use cases são documentados, outros
relacionamento de use case podem ser descobertos
• Um relacionamento de uso mostra o comportamento que é
comum a um ou mais use cases
• Um relacionamento estendido mostra comportamento
opcional
<<usa>>
Matrícula para cursos
<<usa>>
Validação senha
Manter currículo
FMR
Copyright © 1997 by Rational Software Corporation
22
Realização de Use Case
O diagrama use case apresenta uma visão
externa do sistema
Š Diagramas de Interação descrevem como
use cases são realizados como interações
entre associações de objetos
Š Dois tipos de Diagramas de Interação
Š
• Diagramas de Seqüência
• Diagramas de Colaboração
Copyright © 1997 by Rational Software Corporation
FMR
23
Diagramas de Seqüência
Š
Um diagrama de Seqüência exibe interações
de objetos ordenados numa seqüência
temporal
Formulário
De matr.
: Aluno
Gerente de
matricula
Matemática
Básica
math 101
Álgebra 1
1: preenche
2: envia
tempo
3: curso (gabriel, matemática)
4: está aberto?
5: está aberto??
6: inclui (gabriel)
7: inclui (gabriel)
FMR
Copyright © 1997 by Rational Software Corporation
24
Diagrama de Colaboração
Š
Um Diagrama de Colaboração exibe as
interações de objetos organizadas em torno
dos objetos e seus links de um para o outro.
1: pega informação do curso
2: processa
curso form. :
cursoForm
3: inclui curso
: Secretária
Diretor: :
Diretor do Curso
Curso: :
curso
4: novo curso
FMR
Copyright © 1997 by Rational Software Corporation
25
Diagramas de Classe
Um Diagrama de Classe mostra a existência de classes e
seus relacionamentos com a visão lógica de um
sistema.
Š Elementos de modelagem da UML presentes nos
Diagramas de Classes:
• Classes, suas estruturas internas e comportamento
• Associações,
agregações,
dependências,
e
relacionamento de herança
• Multiplicidade e indicadores de navegação
• Nomes de papéis (o que uma classe representa para
outra
Š
FMR
Copyright © 1997 by Rational Software Corporation
26
Classes
Uma classe é um conjunto de objetos com estruturas,
comportamento, relacionamento e semânticas comuns.
Š Classes são descobertas pelo exame dos objetos nos
Diagramas de Seqüência e Colaboração
Š Uma classe é desenhada como um retângulo com três
compartimentos
Š Classes devem ser nomeadas usando o vocabulário de
domínio.
• Padrões de nomenclatura devem ser estabelecidos
• Ex: todos nomes de classes são substituídos no
singular, iniciando com letra maiúscula.
Š
Copyright © 1997 by Rational Software Corporation
FMR
27
Classes
Diretor de Matrícula
Algoritmo de Horário
Formulário de Matricula
Aluno
Professor
FMR
Curso
Oferta Curso
Copyright © 1997 by Rational Software Corporation
28
Operações
O comportamento de uma classe é
representado pelas suas operações
Š Operações
podem
ser
encontradas
examinando os Diagramas de Interação
Š
Matrícula
form
Matrícula
Gerente
Diretor de Matrícula
3: Matricula curso (gabriel, matemática)
FMR
Copyright © 1997 by Rational Software Corporation
Matricula (Aluno, matéria)
29
Atributos
A estrutura de uma classe é representada
pelos seus atributos
Š Atributos podem ser encontrados
pelo
exame das definições de classes, requisitos
de problemas, e pela aplicação do domínio
de conhecimento
Š
Cada curso oferecido
possui um número,
local e horário
FMR
Copyright © 1997 by Rational Software Corporation
Oferta de Curso
Número
local
horário
30
Classes
Diretor de Matrícula
Algoritmo de Horário
IncluiAluno(curso,Aluno Info)
Formulário de Matricula
Aluno
Nome
nível
Professor
Curso
Nome
MúmeroCréditos
Abrir()
incluirAluno(AlunoInfo)
Oferta Curso
Nome
StatusCadeira
local
Abrir()
incluir Aluno(AlunoInfo)
FMR
Copyright © 1997 by Rational Software Corporation
31
Relacionamento
Relacionamento fornece um caminho para
comunicação entre objetos
Š Diagramas de Seqüência e/ou Colaboração são
examinados para determinar quais links entre os
objetos precisam existir para alcançar o
comportamento desejado-- Caso dois objetos
precisem “conversar” deverá haver um link entre
eles.
Š Três tipos de relacionamentos:
• Associação
• Agregação
• Dependência
Š
FMR
Copyright © 1997 by Rational Software Corporation
32
Relacionamentos
Uma associação é uma conexão bi-direcional entre classes
• Uma associação é mostrada como uma linha conectando
as classes relacionadas
Uma agregação é um tipo mais forte de conexão, onde o
relacionamento está entre o todo e suas partes
• Uma agregação é mostrada como uma linha conectando
as classes relacionadas com um losango perto da classe
que representa o todo.
Um relacionamento de dependência é uma forma mais fraca
de relacionamento mostrando uma relação entre um cliente e
um fornecedor onde o cliente não têm conhecimento
semântico do fornecedor.
Š
Š
Š
• Uma dependência é mostrada como uma linha pontilhada entre o
cliente e o fornecedor.
Copyright © 1997 by Rational Software Corporation
FMR
33
Descobrir Relacionamentos
Š
Relacionamento são
diagramas de interação
descobertos
por
• Se dois objetos deve “falar” aí deve ser um
caminho para comunicação
Diretor de
Matricula
Diretor Matrícula
Algebra
curso
3: insere aluno(gabriel)
curso
FMR
Copyright © 1997 by Rational Software Corporation
34
Relacionamento
Algoritmo de horário
Formulário Matricula
Diretor Matrícula
incluiAluno(curso,AlunoInfo)
Curso
nome
NúmeroCrédito
Aluno
abrir()
incluirAluno(AlunoInfo)
nome
nível
Professor
nome
StatusCadeira
Oferta de Curso
local
abrir()
incluirAluno(AlunoInfo)
FMR
Copyright © 1997 by Rational Software Corporation
35
Multiplicidade e Navegação
Š
Š
Multiplicidade define como muitos objetos participam de
um relacionamento
• Multiplicidade é o número de instâncias de uma classe
relacionada para UMA instância de outra classe
• Para cada associação e agregação, existem duas
decisões de multiplicidade para fazer: um para cada
lado da relação
Apesar das associações e agregações serem bi-direcionais
por definição, freqüentemente é desejável restringir a
navegação em uma única direção.
• Caso a navegação seja restrita, uma ponta da seta será adicionada
para indicar a direção da navegação
FMR
Copyright © 1997 by Rational Software Corporation
36
Multiplicidade e Navegação
Algoritmo de Horário
Formulário de Matrícula
0..*
1 Diretor Matrícula
incluiAluno(curso, AlunoInfo)
Curso
1
0..*
Aluno
nome
NúmeroCréditos
abrir()
incluirAluno(AlunoInfo)
Nome
nível
1
3..10
Professor
Nome
StatusCadeira
FMR
1..*
Oferta Curso
4
local
1
0..4
abrir()
incluirAluno(AlunoInfo)
Copyright © 1997 by Rational Software Corporation
37
Herança
Herança é uma relação entre uma superclasse e suas sub-classes
Š Existem duas formas para descobrir
heranças:
Š
• Generalização
• Especialização
Š
Atributos
comuns,
operações,
e/ou
relacionamentos são mostrados em níveis
de aplicação mais alto na hierarquia.
FMR
Copyright © 1997 by Rational Software Corporation
38
Herança
Algoritmo de Horário
Formulário de Matrícula
Diretor Matrícula
incluiAluno(curso, AlunoInfo)
Curso
nome
NúmeroCréditos
Usuário
nome
Aluno
abrir()
incluirAluno(AlunoInfo)
Nome
nível
Professor
Nome
StatusCadeira
Oferta Curso
local
abrir()
incluirAluno(AlunoInfo)
FMR
Copyright © 1997 by Rational Software Corporation
39
O Estado de um Objeto
Š
Um diagrama de transição de estado mostra
• A ciclo de vida de uma classe
• Os eventos que causa a transição de um estado
para outro
• As ações resultantes de uma mudança de estado
Š
Diagrama de Transição de Estados são
criados por objetos com comportamento
significativamente dinâmico.
FMR
Copyright © 1997 by Rational Software Corporation
40
Diagrama de Transição de
Estados
Inclui aluno [contador < 10]
Incluir Aluno /
Contador = 0
Iniciar Ação
Fazer iniciar curso
cancelar
Contador = 10
Cancelar
Cancelado
Notificar Aluno matriculado
Abrir
Entrar: Registrar Aluno
Sair: incrementa contador
Cancelar
Fechado
Finalize Curso
FMR
41
O Mundo Físico
Diagramas de Componentes ilustram as
organizações e dependências entre as
componentes de software
Š Um componente pode ser
Š
• Um componente de código fonte
• Um componente em tempo de execução ou
• Um componente executável
FMR
Copyright © 1997 by Rational Software Corporation
42
Diagrama de Componente
Registro.exe
Cobrança.exe
Sistema
de Cobrança
Pessoas.dll
Usuários
Curso.dll
curso
Aluno
Curso
FMR
Professor
Oferta
curso
Copyright © 1997 by Rational Software Corporation
43
Distribuindo o Sistema
O Diagrama de Distribuição mostra a
configuração
dos
elementos
de
processamento em tempo de execução e dos
processos que rodam dentro deles
Š O Diagrama de Distribuição visualiza a
distribuição dos componentes através de
toda a empresa.
Š
FMR
Copyright © 1997 by Rational Software Corporation
44
Diagrama de Disposição
Matricula
Database
Sede
Principal
Biblioteca
Salas
FMR
Copyright © 1997 by Rational Software Corporation
45
Estendendo a UML
Estereótipos podem ser usados para estender os
elementos de notação da UML
Š Estereótipos podem ser usados para classificar e
estender associações, relacionamentos de heranças,
classes, e componentes
Š Exemplos:
• Estereótipos de Classe: limite, controle, entidade,
utilidade, exceção
• Estereótipos de herança: usam e estende
• Estereótipos de componentes: subsistema
Š
FMR
46
O que o Ciclo de Vida Iterativo
Não é
Š
Š
Š
Š
Š
Š
Ele não é picado “hacking”;
Ele não é uma caixa de brinquedo para os
desenvolvedores brincarem;
Ele não é imprevisível;
Ele não é re-projetar a mesma coisa várias vezes
até atingir a perfeição
Ele não é uma desculpa para não planejar e
gerenciar um projeto;
Ele não é algo que afeta somente o desenvolvedor
do projeto;
FMR
47
Copyright © 1997 by Rational Software Corporation
O que o Ciclo de Vida Iterativo É
Š
Š
Š
Š
Š
Š
Ele é planejado e gerenciado;
Ele é previsível;
Ele acomoda mudanças de requisitos com pouca
quebra;
Ele é baseado em emissão de protótipos
executáveis em constante evolução e, não apenas
na documentação;
Ele envolve o cliente/usuário por todo o processo
Ele é dirigido pelos riscos envolvidos
FMR
48
Copyright © 1997 by Rational Software Corporation
Três Importantes Características
da Abordagem Iterativa
Integração contínua
• Não é feita de uma vez próximo a data de entrega.
Š Versões freqüentes e executáveis
• Algumas internas; algumas entregues aos clientes
Š Ataca riscos através de progresso demonstrado
• Progresso é medido na funcionalidade do produto
final e não em documentação ou estimativas da
Engenharia.
Š
FMR
Copyright © 1997 by Rational Software Corporation
49
Referências Bibliográficas
Š
Š
Http://www.rational.com/uml/tutorials2.html
Pressman, R. S. - “Engenharia de Software”- Ed. 3
- Mak - 1994
FMR
Copyright © 1997 by Rational Software Corporation
50
FMR
Copyright © 1997 by Rational Software Corporation
51
Download

Unified Modeling Language UML - Notações UML – Ponto de Vista