Sei sulla pagina 1di 127

UML

Aline Cristina Santana alicris.aulas@gmail.com

Contedo
Introduo a UML Conceitos Gerais Apresentao dos 9 diagramas de UML

Criadores da UML
James Rumbaugh - Object Modeling Technique (OMT) Grady Booch - Booch Method Ivar Jacobson - Objectory (OOSE) Process

Por que os 3 autores resolveram criar a UML?


Cada autor adotava idias dos mtodos dos outros, ento, evoluindo juntos produziriam melhorias A unificao dos 3 mtodos trariam estabilidade para o mercado

Tradicional e Moderna
Relacionamentos Objetos ORDBMS Java Beans Componentes Classes Frameworks Sistemas Real Time Sistemas de grande porte

CORBA
Use Cases

Interfaces

Design Patterns ActiveX/COM+ Objetos de negcio

Usos de UML
A UML uma linguagem de modelagem para:

Visualizao Especificao Construo Documentao Comunicao

Elementos Essenciais

Elementos Estruturais

Elementos Comportamentais

Elementos de Agrupamento

Elementos de Anotao

Elementos Estruturais
So as partes estticas de um modelo, representando elementos que so ou conceituais ou fsicos. Exemplos: Classe Interface Use Cases

Componente N

Elementos Comportamentais
So as partes dinmicas dos modelos da UML.

Exemplos: Interao - especifica um conjunto de mensagens trocadas entre objetos Mquina de Estado - especifica seqncias de estados de um objeto

Elementos de Agrupamento
So partes organizacionais dos modelos da UML.

Exemplo:

Pacotes - mecanismo para organizao de elementos dentro de grupos

Elementos de Anotao
So partes explicativas dos modelos da UML. So comentrios que voc aplica para descrever, iluminar e remarcar elementos no modelo. Exemplo:
Nota - smbolo contendo restries ou comentrios que so melhor expressadas em textos

Diagramas
So representaes grficas de um conjunto de elementos. So desenhados para visualizar um sistema de diferentes perspectivas.

A UML possui 9 diagramas:


Use Case Classe Objeto Seqncia

Colaborao Estados Atividades Componentes Implantao

Diagrama Use Cases


So especialmente importantes na organizao e modelagem das principais funcionalidades de um sistema Use Case a especificao de sequncias de aes atender a uma funcionalidade do sistema, interagindo com seus agentes

Diagrama de Use cases


Solicitar histrico
<<estende>>

Solicitar histrico do semestre atual

<<estende>>

Solicitar histrico de todos os semestres


Estudante

Sistema de controle de pr-requisitos

<<inclui>>

Matricular aluno

Verificar dependncias
Secretria

Diagrama de Classe
Os diagramas de classes so os principais diagramas estruturais da UML Diagramas de classe mostram classes, interfaces e seus relacionamentos As classes especificam a estrutura e o comportamento dos objetos, que so instncias de classes

Diagrama de Classe
Pedido -codigo: Integer -dataRecebido -total: Currency +confirmar() +cancelar() -calcularTotal():Currency gerarNovoCodigo: String Cliente 0..*

faz

-nome: String -endereco: String -dataPrimeiraCompra: Date -dataUltimaCompra: Date -totalComprado: Currency #creditoPermitido: Currency #nivelCredibilidade()

itens
Item de Pedido -quantidade: Integer -preco: Currency -emEstoque: Boolean Cliente pessoa-jurdica nomeContato: String telefones[1..10]: String CGC: String FAX[1..3]: String Cliente pessoa-fsica nome: String CPF: String numCartaoCredito colocarListaNegra()

* Produto

representante de vendas

Empregado

IPessoa

Diagrama de Objetos
Mostram objetos e seus relacionamentos Representam instncias estticas de elementos dos diagramas de classes Os diagramas de objetos so teis para a modelagem de estruturas de dados complexas

Diagrama de Objetos
Professor ministra -matrcula: String -nome: String
[1..3]

Curso -codDisciplina: String [1..5] -descrio: String -codTurma: String

Aluno

* -matrcula: String
[0..10]

-nome: String

-perodo: Integer

p1: Professor p2: Professor matricula: "205-6712-09" nome: "Jaelson Castro"

c1: Curso : Curso codCurso: "IF291" descrio: "MPS" codTurma: I7 : Curso codCurso: "IF185" descrio: "AER" codTurma: I6 c2: Curso

c3: Curso

: Aluno

: Aluno

: Aluno : Aluno : Aluno :aluno Bill :aluno matricula: "562746134" nome: "John Major" : Aluno matricula: "219846534" nome: "Nelson Mandella" Lewinsky

Diagrama de Seqncia

Mostra um conjunto de objetos, seus relacionamentos e as mensagens que podem ser enviadas entre eles

Diagrama de Seqncia
Janela de entrada de pedido p: Pedido : ItemPedido :ItemEstoque preparar()

* [para cada item do pedido] preparar() emEstoque := verificar()

[emEstoque]

remover()

estoqueBaixo := verificEstoqueBaixo()

[estoqueBaixo] <<criar>>

:ItemRenovEstoque

[emEstoque] <<criar>>

:ItemEntrega

Diagrama de Colaborao

Mostra um conjunto de objetos, seus relacionamentos e as mensagens que enfatizam a organizao dos objetos que trocam mensagens

Diagrama de Colaborao
Janela de entrada de pedido 1: preparar()

p: Pedido

1.1: *[para cada item do pedido] preparar()

1.1.2.1: estoqueBaixo := verif icEstoqueBaixo()

1.1.1 : emEstoque := verif icar() 1.1.2 : [emEstoque] remover() : ItemPedido :ItemEstoque

1.1.3 : [emEstoque] <<criar>>

1.1.2.2 [estoqueBaixo] <<criar>>

:ItemEntrega

:ItemRenovEstoque

Diagrama de Estados
Mostra uma mquina contendo estados, transies, eventos e atividades Estes diagramas so usados para modelar o comportamento de objetos (com comportamento complexo) Nestes diagramas so modelados os estados em que um objeto pode estar e os eventos que fazem o objeto passar de um estado para outro

Diagrama de Estados
cartoInserido

Ocioso
cancelar

Ativo Validando
H

fazerManuteno

[continuar]

Manuteno

Selecionando

Processando

[no continuar]

entry / lerCarto exit / ejetarCarto

Imprimindo

Diagrama de Atividades
Destaca a lgica de realizao de uma tarefa Mostra o fluxo entre atividades (aes noatmicas) semelhante aos antigos fluxogramas usado tambm para modelar alternativas de execuo e atividades concorrentes

Diagrama de Atividades
Pessoa
[sem caf]

Procurar bebida [achou caf]

[sem Coca]

[achou Coca]

Colocar caf no filtro

Adicionar gua mquina

Pegar xcara

Pegar lata de Coca

Colocar filtro na mquina

Ligar mquina

Filtrar caf

Colocar caf na xcara

Beber

Diagrama de Componentes
Mostra os componentes de hardware e software de uma aplicao e os relacionamentos entre eles usado para modelar o aspecto fsico de um sistema Exemplos de componentes so documentos, executveis e tabelas de bancos de dados

Diagrama de Componentes

<<link>>

Cadastro.exe Usurios

FormCadastro.html

Banco
<<link>>

Autenticacao.exe

Senhas

Principal.html

FormEntrada.html

Diagrama de Implantao
usado para modelar a arquitetura de distribuio em que o sistema ser executado composto por ns e relacionamentos de comunicao Um n pode ser um computador, uma rede, um disco rgido, um sensor, etc.

Diagramas de Implantao
PC - G309 Nestscape Communicator 5.0 Principal.html

servidorWeb FormCadastro.html Autenticao.exe servidorDeArquivos

Cadastro.exe FormEntrada.html

servidorBancoDeDados

O SGBD a ser utilizado ainda no foi escolhido.

SGBD

Diagramas Use Cases

Diagramas de Use Cases


Servem facilitam o entendimento de um sistema mostrando a sua viso externa So usados para modelar o contexto de um sistema, subsistema ou classe So uma das maneiras mais comuns de documentar os requisitos do sistema Delimitam o Sistema Definem a funcionalidade do sistema

Use Case
Um use case uma unidade funcional que descreve o comportamento de um elemento da aplicao contm sequncias de aes, interagindo com os atores que usam a aplicao inclui variantes, rotinas de erro, etc. que o sistema executa para produzir um resultado observvel para um ator

Use Case: Representao Grfica

A coleo dos use cases dever especificar todas as formas existentes de uso do sistema

Matricular aluno

Solicitar histrico

Verificar pr-requisitos

Atores
O sistema ser descrito atravs de vrios use cases que so executados por um nmero de atores Atores constituem as entidades do ambiente do sistema So pessoas ou outros subsistemas que interagem com o sistema em desenvolvimento

Atores - Notao
<<Ator>>

Coordenador

Secretria

Professora

Sistema de controle de pre-requisitos

Estudante

Atores: Especializao

possvel definir tipos gerais de atores e especializ-los usando o relacionamento de especializao

Cliente

ClienteEspecial

Diagramas de Use Cases


Solicitar histrico
<<estende>>

Solicitar histrico do semestre atual

<<estende>>

Solicitar histrico de todos os semestres


Estudante

Sistema de controle de pr-requisitos

<<inclui>>

Matricular aluno

Verificar dependncias
Secretria

Diagrama de Use Case

Gerar Relatrio
Retornar Item Cliente

Mudar Item

Operador

Expresso de variantes de use case

Nem sempre bvio decidir se uma funcionalidade corresponde a um novo use cases. As vezes trata-se de uma variao de um mesmo use case Se as diferenas forem pequenas elas podem ser descritas atravs de variantes de um mesmo use case Se as diferenas so grandes elas devem ser descritas como use cases separados

Expresso de variantes de use case


Fluxo principal de eventos Descreva a seqncia normal de eventos de um use case Fluxo excepcional de eventos Descreva as variaes dos cursos bsicos de eventos (ex: Erros)

Expresso de Variantes

Use Case Retornar item Fluxo principal de eventos: Quando o cliente depositar os seus itens, ele/ela ir pressionar o boto recibo para obter o recibo. O recibo impresso ir listar os itens depositados, seus totais e o valor a ser pago ao cliente

Expresso de Variantes

Use Case Retornar item Fluxo excepcional de eventos: Quando o cliente retorna um item ele medido pelo sistema. A medio usada para determinar que tipo de lata, garrafa ou gradeado foi depositado. Se aceito o total do cliente ser incrementado. Se no for aceito, apresentar mensagem NO VALIDA

Organizando Use Cases


Generalizao Incluso Extenso

Estruturao Use Case


Fazer Pedido Pontos de extenso set prioridade Fazer Pedido Urgente

<<estende>> (set prioridade)


Verificar senha

<<inclui>>
-um
Validar usurio

-um
Teste de retina

Use Case Fazer Pedido Fluxo principal de eventos: inclui (Validar usurio). Receber do usurio os itens do pedido. (set prioridade). Submeter o pedido para processamento

Diagramas de Classes

Sobre Classes
Classes so o elemento mais importante de qualquer sistema orientado a objetos Uma classe uma descrio de um conjunto de objetos com os mesmos atributos, relacionamentos, operaes e semntica Classes so usadas para capturar o vocabulrio de um sistema Classes so abstraes de elementos do domnio do problema, como Cliente, Banco, Conta

Nomes
Toda classe deve ter um nome que a distinga das outras classes Um nome pode ser simples (apenas o nome), ou pode ser precedido pelo nome do pacote em que a classe est contida

Conta

Banco

Cliente

Excees::ClienteNoCadastrado

Notao bsica
Atributos (opcional) Nome (obrigatrio)

Forma origem mover() redimensionar() exibir()


Operaes (opcional)

Atributos
Um atributo representa alguma propriedade do que est sendo modelado, que compartilhada por todos os objetos da classe Os atributos descrevem os dados contidos nas instncias de uma classe Em um momento dado, um objeto de uma classe conter valores para todos os atributos descritos na sua classe

Atributos - Notao

Atributos podem ser identificados apenas com nomes


Cliente nome endereo telefone

Atributos podem ter seus tipos (ou classes) especificados e terem valores padro definidos Parede
altura : real largura : real espessura : real viga : boolean = false

Operaes
Uma operao uma abstrao de alguma coisa que se pode fazer com um objeto e que compartilhada por todos os objetos da classe Um classe pode ter qualquer nmero de operaes, inclusive nenhuma Operaes so o meio de alterar os valores dos atributos

Operaes - Notao

Como para os atributos, voc pode especificar uma operao apenas com seu nome
Retngulo mover() aumentar() diminuir()

Voc pode tambm especificar a assinatura da operao: seus parmetros, o tipo desses parmetros e o tipo de retorno

Visibilidade
Voc pode usar marcaes de acesso para especificar o tipo de acesso permitido aos atributos e operaes Classificador pode ser classes, interfaces, componentes, ns, use cases, subsistemas + pblico: todos os classificadores podem usar # protegido: qualquer descendente do classificador poder usar - privado: somente o prprio classificador poder usar

Relacionamentos

Poucas classes vivem sozinhas Tipos de relacionamentos especialmente importantes na modelagem orientada a objetos:
Associaes Agregao Composio Dependncias Generalizaes Realizao

Relacionamentos
Os relacionamentos ligam as classes/objetos entre si criando relaes lgicas entre estas entidades. Os relacionamentos podem ser dos seguintes tipos:

Associao - especifica que objetos de um elemento (classe) esto conectados a objetos de outros elementos

Relacionamentos
Agregao - relacionamento fraco do tipo parte de. um tipo especial de associao Composio - relacionamento forte do tipo parte de. A composio entre um elemento (o todo) e outros elementos (as partes) indica que as partes s existem em funo do todo.

Relacionamentos
Dependncia - relacionamento de uso, no qual uma mudana na especificao de um elemento pode alterar a especificao do elemento dependente Generalizao (herana) - relacionamento entre descries mais gerais e descries mais especficas, com mais detalhes sobre alguns dos elementos gerais Realizao - relacionamento entre uma interface e o elemento que a implementa

Relacionamentos - Notao
Associao
Sem/com navegao

Dependncia

Agregao

Generalizao

Composio

Realizao

Dependncia
Dependncias so relaes de uso Uma dependncia indica que mudanas em um elemento (o servidor) podem afetar outro elemento (o cliente) Uma dependncia entre classes indica que os objetos de uma classe usam servios dos objetos de outra classe

Cliente

Servidor

Dependncia alguns tipos


derive a fonte computada a partir do destino friend a fonte tem acesso privilegiado ao destino instanceOf o objeto fonte instncia da classe destino powertype o destino composto por subconjuntos da fonte derivado a fonte computada a partir do destino

Entre pacotes: access e import


Entre use-cases: extend e include Entre objetos: become, call e copy

Generalizao

Relacionamento entre um elemento mais geral (chamado de superclasse ou pai) e um mais especfico (chamado de subclasse ou filho)
Forma origem mover() exibir()

Retngulo ponto : Ponto

Crculo raio : float

Polgono pontos : ListaDePontos exibir()

Quadrado

Herana Mltipla

Ocorrem mltiplas superclasses para uma mesma subclasse


Veculo

Veculo Terrestre

Veculo Aqutico

Veculo Anfbio

Associao

A associao um relacionamento estrutural que especifica que objetos de um elemento esto conectados a objetos de outro elemento

Companhia

emprega

Funcionrio

Multiplicidade

a cardinalidade de uma associao


1 Classe exatamente 1

* Classe

muitos (zero ou mais) opcional (zero ou um) seqncia especificada

0..1 Classe

m.. n

Classe

Associao Unria

Quando h um relacionamento de uma classe para consigo prpria


Funcionrio 1 gerencia 1..*

Associao Binria

Quando h duas classes envolvidas na associao de forma direta de uma para a outra
Cliente 1 faz 0..* Pedido

Associao: Navegabilidade
Em geral a navegao entre as classes de uma associao bi-direcional Porm possvel limit-la a apenas uma direo

Usurio

Senha

Associao: papis
Papis: um dos lados da associao Nomes de papis so necessrios para associao entre dois objetos da mesma classe

+subordinado 0..* +chefe 1

1..* Companhia * +empregador

Empregado

Associao com Atributos


Modela as propriedades associadas com uma associao As propriedades devem ser representadas por uma classe

Companhia * 1..* Empregado

Trabalho descrio salrio

Agregao
Uma forma especial de associao entre o todo e suas partes, no qual o todo composto de partes No impe que a vida das Partes esteja relacionado com a vida do Todo

Computador

Monitor

Teclado

Mouse

CaixaSistema

Composio
Uma forma mais forte de agregao H uma coincidncia da vida das partes Uma vez criada a parte ela ir viver e morrer com ele O Todo responsvel pelo gerenciamento da criao e destruio das partes

Composio

Interfaces
Uma interface um conjunto de operaes usado para especificar um servio de uma classe ou componente Diferentemente das classes, as interfaces no especificam nenhuma estrutura Interfaces no podem conter atributos

Interfaces
Com as interfaces, possvel se concentrar apenas nos servios oferecidos por classes ou componentes O uso de interfaces uma maneira elegante e poderosa de isolar a especificao da implementao Uma interface especifica o contrato para uma classe ou componente, sem definir como ele ser implementado

Interfaces e Realizao
Realizao uma relao pela qual um elemento especifica o contrato que outro elemento deve implementar A realizao um relacionamento entre uma especificao e sua implementao um relacionamento semntico entre classificadores no qual um classificador especifica um contrato que outro classificador garante cumprir

Realizao - Notao
<<interface>> Empregado Empregado_Impl verificarFicha() calcularSalrio()

Empregado_Impl

Empregado

Diagramas de Objetos

Diagramas de objetos
Os diagramas de objetos mostram uma fotografia de um sistema OO em execuo So mostrados os objetos, com os valores de seus atributos e as ligaes (links) entre eles Os diagramas de objetos so teis para a modelagem de estruturas de dados complexas, por exemplo

Diagramas de objetos
comum haver centenas ou milhares de objetos em um sistema em execuo, a maioria deles annimos Um diagrama de objetos mostra apenas uma parte dos objetos no sistema Um diagrama de objetos no mostra a evoluo do sistema com o tempo

Diagramas de objetos
Diagramas de objetos so estticos Para mostrar o comportamento de um objeto, use diagramas de colaborao, diagramas de sequncia, ou diagramas de estados comum colocar um diagrama de classes junto com um diagrama de objetos, para facilitar a identificao dos objetos

Objetos Simples

Bill Clinton

: Curso
codCurso: "IF291" descrio: "MPS" codTurma: I7

Jaelson: Professor

: Aluno

Monica: Aluno

Fulano :

MultiObjects
Multiobjects so conjuntos de objetos, com um nmero indeterminado de elementos So usados, por exemplo, em diagramas de colaborao para modelar uma mensagem enviada para vrios objetos ao mesmo tempo

MultiObjects - Exemplos
p2: Pr ofe s s or

c1: Curs o c2: Curs o

c3: Curs o

: Aluno

: Aluno

MultiObjects
Agente de Reservas

1: cadeira := encontrar(nmero) : Cadeira

2: reservar(nomeCliente) : Cadeira

Diagramas de Objetos
Professor ministra -matrcula: String -nome: String
[1..3]

Curso -codDisciplina: String [1..5] -descrio: String -codTurma: String

Aluno

* -matrcula: String
[0..10]

-nome: String

-perodo: Integer

p1: Professor p2: Professor matricula: "205-6712-09" nome: "Jaelson Castro"

c1: Curso : Curso codCurso: "IF291" descrio: "MPS" codTurma: I7 : Curso codCurso: "IF185" descrio: "AER" codTurma: I6 c2: Curso

c3: Curso

: Aluno

: Aluno

: Aluno : Aluno : Aluno :aluno Bill :aluno matricula: "562746134" nome: "John Major" : Aluno matricula: "219846534" nome: "Nelson Mandella" Lewinsky

Diagramas de Seqncia e Colaborao

Sequenciamento
Quando um objeto envia uma mensagem para outro objeto, o objeto que recebe a mensagem pode enviar outras mensagens e assim por diante, formando uma sequncia de mensagens O sequenciamento pode ser procedural, com aninhamento (mensagens sncronas) ou plano, sem aninhamento (mensagens assncronas)

Diagramas de Seqncia
Diagramas de Seqncia enfatizam a ordenao das mensagens trocadas entre os objetos Um cenrio uma seqncia especfica de aes que ilustra um comportamento Diagramas de Seqncia podem modelar apenas um cenrio ou um conjunto de cenrios Diagramas de Seqncia podem mostrar decises simples e iteraes

Mensagens
Definio formal: uma mensagem a especificao de uma comunicao entre objetos, onde so passadas informaes, com a esperana de que ocorra alguma atividade Na maioria das vezes, uma mensagem resulta na execuo de uma operao

Mensagens

Tipos principais de mensagens: Chamada (Call) Retorno (Return) Envio (Send) Criao (Create) Destruio (Destroy)

Exemplo
Br ow s er Es tudante Subm ete r for m ulr io de pe dido pr e enchido Se rvidor We b

Es te um pr ogram a CGI ou ISAPI

Pr oce s s ador de pe didos

Inte r face com o banco

Codificar dados do for m ulr io

Enviar dados codificados

Pr oce s s ar dados

Exe cutar Enviar dados proce s s ados Cadastr ar pe dido Cadas tr o OK Ge r ar pgina de confir m ao

Enviar pgina Enviar pgina Exibir pgina

Diagramas de Colaborao
Diagramas de Colaborao enfatizam a organizao dos objetos em uma interao Praticamente tudo que pode ser mostrado em um diagrama de seqncia pode tambm ser mostrado em um diagrama de colaborao Diagramas de Colaborao podem ser transformados em diagramas de seqncia e vice-versa

Exemplo
Janela de entrada de pedido 1: preparar()

p: Pedido

1.1: *[para cada item do pedido] preparar()

1.1.2.1: estoqueBaixo := verif icEstoqueBaixo()

1.1.1 : emEstoque := verif icar() 1.1.2 : [emEstoque] remover() : ItemPedido :ItemEstoque

1.1.3 : [emEstoque] <<criar>>

1.1.2.2 [estoqueBaixo] <<criar>>

:ItemEntrega

:ItemRenovEstoque

Diagramas de Estados

Mquina de Vendas
entrada de moedas(quant.)

Ociosa
cancelar / devolver moedas

Recebendo R$
selecionar (item)

[ item vazio ]

[ troco < 0 ]

Oferendo servios
[ troco = 0 ] [ troco > 0 ]

Despachando Item

Entregando Troco

Estados
Estado Inicial Estado Final

desligar teclaPresioanda Ocisoso trmino Executando

Nome Estado Nome

Partes de um Estado
Nome Aes de entrada (Entry) Aes da sada (Exit) Atividades (do:)

Partes de um estado

Acompanhar entry: setModo(onAcompanhar) exit: setModo(offAcompanhar) do: seguirAlvo

Transio
um relacionamento entre dois estados indicando que o objeto no primeiro estado ir executar certas aes e entrar no segundo estado quando o evento especificado ocorrer e as condies especificadas forem satisfeitas Uma transio de estado uma mudana de estado causada por um evento

Partes da transio

Estado fonte Evento de disparo Condio de guarda Ao Estado alvo

Sistema de disparo de mssil


evento temporal sinal de envio

aps2 segundos / send c.estVivo Auto-transio

Ocioso

Acompanhar alvoEm( p )[ Ameaa ] / t.adicioneAlvo(p)

evento de disparo com parmetros

ao guarda

contato

Disparando

Problemas com Mquinas de Estados


Mquinas de estados no estruturados no possuem bom poder de expresso e tornamse impraticveis para problemas grandes Existe uma exploso combinatorial em diagramas planos As formas de estruturao: Refinamento Concorrncia

Refinamento
Add student[ Count < 10 ] Add student / Set count = 0 Open

Initialization do: Initialize course

[ Count = 10 ] ^Course Report.Create report Cancel course

Cancelled do: Send cancellation notices Cancel course

Closed entry: Finalize course exit: ^CourseRoster.Create roster

Refinamento: SubEstados
Registration Add student[ Count < 10 ] Add student / Set count = 0

Initialization do: Initialize course

Open

Cancelled do: Send cancellation notices

[ Count = 10 ] ^Course Report.Create report Cancel course Closed entry: Finalize course exit: ^CourseRoster.Create roster

Concorrncia dentro de um objeto


Pode ser mostrada com parties pontilhadas Normalmente surge de dois ou mais atributos ortogonais

Relgio
alarmeON alarmeOFF 12hs
InserirBateria

24hs

acabouBateria

Concorrncia dentro de um objeto


Diviso do Controle:
Subestado 1
evento 0 evento 1

Subestado 3 Subestado 4

evento 3

Subestado 2

evento 2

evento 4

Diagramas de Atividades

Diagramas de Atividades
Os Diagramas de Atividades mostram o fluxo entre atividades (aes no-atmicas) So um caso especial dos Diagramas de Estados, com a maioria das transies resultantes do trmino das atividades So semelhantes aos antigos fluxogramas So muito usados para modelar atividades concorrentes

Concorrncia, Forks e Joins


Barras de sincronizao so usadas para especificar forks e joins Um fork representa um nico fluxo de controle em vrios fluxos de controle concorrentes Um join representa a sincronizao de dois ou mais fluxos de controle concorrentes

Concorrncia, Forks e Joins


Atividades depois de um fork podem ser realizadas em qualquer ordem, ou ao mesmo tempo Para que as atividades depois de um join possam ser realizadas, todas as atividades antes do join devem ser concludas

Pessoa
[s em caf]

[s em Coca]

Procurar bebida

[achou caf]

[achou Coca]

Colocar caf no filtro

Adicionar gua mquina

Pegar xcara

Pegar lata de Coca

Colocar filtro na mquina

Ligar mquina

Filtrar caf

Colocar caf na xcara

Beber

Swimlanes (raias)

Swimlanes (raias) so usadas para definir quais so as classes (ou conjuntos de classes) responsveis pela realizao de cada atividade Swimlanes so especialmente teis para a modelagem de processos empresariais
Em muitos casos, os swimlanes implicam concorrncia, ou pelo menos independncia, das atividades

Cliente
H
Solicitar pr oduto

Vendas

Estoque

Proce s sar pe dido Cole tar m ate r iais

Enviar pe dido

Re cebe r pe dido

Cobrar do clie nte

Pagar conta Ence r rar pe dido

Diagramas de Componentes

Componentes
Os componentes existem no mundo material, de bits So um elemento importante na modelagem dos aspectos fsicos de um sistema Um componente uma parte fsica e substituvel de um sistema, que realiza um conjunto de interfaces

Componentes
Componentes so coisas que podem ser executadas em ns (processadores, dispositivos, etc.) Exemplos de componentes so executveis, bibliotecas, tabelas, arquivos e documentos Um componente, tipicamente, uma verso fsica de elementos lgicos, como classes e interfaces

Componentes- Notao
Autenticao.exe

Animator.exe

IScripts

IModelos

IAnimacao

IRenderizao

Componentes e Dependncias

Format.dll JanelasComuns.dll

Palavras.exe

Palavras.ini Palavras.hlp

Ortograf.dll

Diagramas de Componentes
Diagramas de Componentes so usados para modelar os aspectos fsicos de um sistema Nos diagramas de componentes, so mostrados componentes e os relacionamentos entre eles

Diagramas de Componentes
Diagramas de componentes podem ser usados para modelar os aspectos fsicos de um banco de dados o cdigo fonte de um aplicativo uma API A nica restrio que o que est sendo modelado deve ser fsico (formado por bits) e no conceitual (ou lgico)

Exemplo

<<link>>

Cadastro.exe Usurios

FormCadastro.html

Banco
<<link>>

Autenticacao.exe

Senhas

Principal.html

FormEntrada.html

Diagramas de Implantao

Diagramas de Implantao
Os diagramas de implantao so usados para modelar o ambiente em que o o sistema ser executado So compostos por ns e associaes(relacionamentos de comunicao) Um n pode ser, por exemplo, um computador, uma rede, um disco rgido, um sensor, etc.

Diagramas de Implantao
Os diagramas de implantao podem ser usados para descrever a topologia do ambiente no qual o software ser executado Os diagramas de implantao geralmente s fazem sentido para sistemas que rodam em vrias mquinas ou dispositivos Para sistemas que rodam em uma nica mquina e se comunicam apenas com dispositivos comuns, como o teclado, monitor, os diagramas de implantao no so necessrios

Diagramas de Implantao e Esteretipos


Como ns representam elementos fsicos (tangveis) de um sistema, eles so os elementos mais estereotipados da UML O recurso de esteretipos permite estender a linguagem UML com novos smbolos e nova semntica Smbolos como PCs, Workstations, Servidores e Dispositivos so muito usados em diagramas de implantao, para tornar os diagramas mais claros

Ns e Associaes

Um n um elemento fsico que existe em tempo de execuo e representa algum recurso computacional. Um n, geralmente, possui memria e, muitas vezes, capacidade de processamento
Uma associao entre dois ns representa uma conexo fsica entre os ns, como um conexo Ethernet, uma linha serial ou um link de satlite

Diagramas de Implantao
PC - G309 Nestscape Communicator 5.0

Principal.html

servidorWeb

FormCadastro.html
Autenticao.exe servidorDeArquivos

Cadastro.exe

FormEntrada.html

servidorBancoDeDados

O SGBD a ser utilizado ainda no foi escolhido.

SGBD

Potrebbero piacerti anche