0% acharam este documento útil (0 voto)
3 visualizações4 páginas

Curso de UML: Modelagem e Diagramas

Enviado por

Tarso Coelho
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações4 páginas

Curso de UML: Modelagem e Diagramas

Enviado por

Tarso Coelho
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd

Curso Boson Treinamento - UML

Aula 1: Intro

UML - Linguagem de Modelagem Unificada


Modelagem, comunicação e documentação de arquitetura(design) de Software.

Diagrama > representação gráfica de um sistema.

- Estática > objetos, funções, atributos e relações.


- Dinâmica > mudança de estados.

obs: diagrams de casos de uso, classes, máquina de estados...

Aula 2: Diagrama de Classes

Classe: elemento/abstração do mundo real.


Objeto: instância da classe

Classe > objeto


abs implement

Descreve estrutura estática das classes dos sistema com os atributos, métodos e
relacionamentos.

Representação da Classe em UML

Classe_Representacao_UML.drawio

1. Nome > Nome + Estereotipo


2. Atributos > nome : tipo
3. Métodos (assinatura)> metodo(parametro) : tipo retorno

Modificadores de Acesso

+ public
# protected
- private
* internal, internal protected etc.

Aula 3: Relacionamentos
* conexão entre classes

1. Dependência: classe usa ou precisa de informações de outra p/ operar uma função


* ambas podem existir independentemente, mas precisam uma da outra p/ funcionar
adequadamente

A -------> B , onde A usa/depende B

obs: se for uma relação onde um obj de uma classe depende de mais de um obj da
outra classe,
necessário espeficar multiplicador.

2. Associação (dependência + forte): uma classe mantém referência a outra ao longo


do tempo.

A ___________> B, onde A TEM UM ou TEM VÁRIOS atributo(s) global B


* Associação Unidirecional (c/ Seta), Bidimensional (s/ seta A__________B)
* na bidimensional a dependência é mútua
* associação pode ter um nome, ex. um verbo
* objetos existem independentemente, porém n existe funcionalidade, ex. ASSINATURA,
entre Pessoa e Revista
* associação TERNÁRIA, quando a dependência acontece de modo circular entre mais
de duas classes. (poligono representa o ponto de convergência entre as classes)

3. Agregação: indica que uma classe é um container ou coleção de outras classes.


Para existir, o container precisa das classes agregadas.

ex. Level _____________<> LevelManger onde LevelManager possui um ou vários


objetos Level

* tem um ou tem vários


* a ponta indica quem AGREGA
* objetos fazem sentido sem o container

4. Composição: variação da agregação onde os objetos não fazem sentido sem o


container. Quando container
é extinto o objeto filho desaparece.
* figura igual, diamante cheio

5. Generalização/Especialização (herança), a classe derivada APONTA p/ classe base

ex. A <______________ B, onde B estende A

Obs: setas representam navegabilidade


multiplicador ex.

A ___________________________> B
1..*

1..*, onde 1 é o mínimo de instancias de B em A e


1, onde B possui um A

obs: Classe Associativa, quando há atributos em uma associação que não podem ser
armazenados em nenhuma
das classes envolvidas

* formatações específicas para Interface, classes abstratas, struct, enums etc.


* para enums, representação de máquina de estados

Aula 3: Casos de Uso

Captar comportamento pretendido do sistema e seus componentes, sem entrar na


implementação. Representam
aspectos do comportamento de uma classe, modelando REQUISITOS

1. Definir escopo do objeto


2. definir papeis
3. base para testes unitários

* n detalha implementação de funcionalidade

Uma classe pode ter um ou mais casos de uso. Um caso de uso modela um comportamento
dessa classe.

* casos de uso possui um nome ex. Fazer pedido, Pagar fatura, ler sensor
Ator x Casos de Uso

1. Ator (boneco) : relação entre o ator e o caso de uso chama-se Associação,


acontece atraves de MENSAGENS, input
do teclado/mouse ou informação obtida (get) de um sistema

* ator tem um nome (papel)


* ator pode ser um sistema EXTERNO
* todo ator é EXTERNO
* atores parecidos devem ser elencados em hierarquia de
generalização/especialização

2. Casos de Uso (elipse): funcionalidades/requisitos, necessidades e objetivos do


ator para com o sistema,
informações que devem retornar, casos de uso de requisitos funcionais,
ações que
se repetem

Fluxo de eventos: descreve o comportamento do caso de uso, ex. quando se inicia,


termina, em que momento
interage com um ou mais casos de uso ou atores, fluxos alternativos
de comportamento,
fluxo de informação entre casos de uso

representação: 1. Diagrama/Pseudocódigo ou 2. Máquina de Estados

1. usado para modelagem de cenários, testes e funcionalidades, caminhos de código e


iterações,
fluxos alternativos/exceções
2. estados que um objeto pode assumir ao longo do seu ciclo de vida

Outros Elementos

Fronteira > indica o que está dentro do sistema do que está fora
Cenário > modelagem de casos de uso
Assunto > nome do cenário (do sistema e seus componentes)

* associação: cruza a fronteira


* <<extente>> estende caso de uso (opcional)
* <<include>> inclui (obrigatória), um caso de uso depede de outro
* <<create>> objeto/elemento criado pelo usuário em tempo de execução

Pode haver relacioanamento de generalização entre atores/casos de uso

Aula 4: Exemplo de Casos de Uso

* associação entre ator e casos de uso, diz respeito ao mapeamento entre usuários
e suas funções desempenhadas dentro do programa

Aula 5: Diagramas de Interação

troca de dados/mensagens entre elementos

* ex. Diagramas de Comunicação e Temporização


* o de temporização mapeia o comportamento do sistema ao longo da
passagem do tempo, ou ciclos temporais

Aula 6: Diagramas de Sequência


ex. sequência de eventos, máquina de estados

* documentação e comunicação de processos e requisitos


* ciclo de vida do objeto, linha tracejada de cima para baixo (objeto no tempo)

Mensagem Síncrona: espera por uma resposta antes que a interação possa prosseguir
Mensagem Assíncrona: não espera resposta antes de prosseguir (ex. multi tasks)

Dicas

Ao desenhar diagrama de classes e relacionamentos, colocar os componentes estáveis


embaixo.
Deste modo, setas para cima indicam violações ao princípio de inversão de
dependência.

Programas: [Link] e astah

Você também pode gostar