Vous êtes sur la page 1sur 99

UML

Por Patrcia Braga Centro Universitrio Jorge Amado

UML

Unified Modeling Language UML uma linguagem para visualizao, especificao, construo e documentao de artefatos de um software em desenvolvimento. UML tambm especifica significados, isto , semntica. notao independente de processos.

UML

Objetivos da UML

especificao, documentao, estruturao para visualizao lgica do desenvolvimento completo de um sistema de informao.

UML

Motivao da UML

Descobrir entre as etapas a serem percorridas, aquelas mais importantes do ponto de vista do cliente;

Necessidade de estabelecer um modelo visual que permita representar (especificar) os requisitos do software;

UML

Motivao da UML

Necessidade de estabelecer uma padronizao para facilitar a comunicao entre os analistas (responsveis pelo levantamento dos requisitos) e o time de desenvolvimento (responsveis pela implementao).

UML

Motivao da UML

Um sistema tem geralmente muitas classes (centenas e at milhares) e nem sempre estas classes so vistas por uma s pessoa. Isto , dependendo do nvel hierrquico desta pessoa, formas diferentes de apresentar uma diagrama de classes devem existir;

UML

Motivao da UML

Um modelo dever ser criado independentemente de sua implementao. A qualquer momento uma implementao pode ser trocada por outra sem afetar o modelo.

UML

Motivao da UML

UML

UML basicamente permite modelar:


elementos; relacionamentos; diagramas.

UML

Elementos:

estruturais

classes, objetos, interfaces, componentes, colaborao

comportamentais

Casos de uso, interaes, mquinas de estado

grupos de elementos

pacotes, subsistemas

outros

anotaes

UML

Relacionamentos
Agregao Associaes Generalizaes Composio

UML

Diagramas

Um modelo representado por um ou mais diagramas. Desta forma, um diagrama pode ser visto como uma viso dentro de um modelo. Um diagrama pode ser representado de vrias formas, dependendo de quem ir interpret-lo.

UML

Diagramas

Tipos de Diagramas:
Estticos: Diagramas de Casos de Uso; Diagrama de Classes; Diagrama de Pacotes; Dinmicos: Diagramas de Sequencias; Diagramas de Colaborao; Diagramas de Estado; Diagramas de Atividade;

UML

Viso Geral do UML

UML

Conceitos de UML

Ator Atividade Interface Pacote Classe Evento

UML
Conceitos de UML Ator:

definir o papel que um utilizador representa relativamente ao sistema informtico modelado. Tipicamente, um ator representa um papel que um ser humano, um dispositivo de hardware ou at outro sistema desempenha com o sistema. Pode ser:
Pessoa; Outro sistema informtico; Equipamento hardware especializado;

Uma entidade pode ser representada por vrios atores, j que pode estar a assumir diferentes papis.

UML

Conceitos de UML

Atividade:
representa os fluxos conduzidos por processamentos; modelagem de aspectos dinmicos de um sistema

Interface:

Abstrao de comportamentos a serem implementados pelas classes;

Package:

Agrupamentos de elementos;

UML

Conceitos de UML

Classe:
estrutura que abstrai um conjunto de objetos com caractersticas similares; define o comportamento de seus objetos atravs de mtodos e os estados possveis destes objetos atravs de atributos

Evento:

Resultado de uma ao;

UML

Ferramentas Case UML


Jude UML; ArgoUML; Rational Rose Modeler; Visio; Visual UML; Poseidon; Enterprise Architect;

UML
Diagramas de Caso de Uso

Objetivos:

auxiliar a comunicao entre os analistas e o cliente; descreve um cenrio que mostra as funcionalidades do sistema do ponto de vista do usurio;

Notao:
atores; Casos de uso; relacionamentos entre estes elementos.

UML
Diagramas de Caso de Uso

Relacionamentos:
associaes entre atores e casos de uso; generalizaes entre os atores; generalizaes, extends e includes entre os casos de uso.

UML
Diagramas de Caso de Uso

Representao:

Ator: Um ator representado por um boneco e um rtulo com o nome do ator. Um ator um usurio do sistema, que pode ser um usurio humano ou um outro sistema computacional.

UML
Diagramas de Caso de Uso

Representao:

Caso de Uso: Um caso de uso representado por uma elipse e um rtulo com o nome do caso de uso. uma funcionalidade do sistema.

UML
Diagramas de Caso de Uso

Representao: Relacionamentos: Ajudam a descrever como se relaciona:

um ator e um caso de uso: Define uma funcionalidade do sistema do ponto de vista do usurio

UML
Diagramas de Caso de Uso

um ator e um caso de uso; Associao:

UML
Diagramas de Caso de Uso

Entre atores; Generalizaes:

Os casos de uso de B so tambm casos de uso de A; A tem seus prprios casos de uso;

UML
Diagramas de Caso de Uso

Entre casos de uso; Includes:

Um relacionamento include de um caso de uso A para um caso de uso B indica que B essencial para o comportamento de A;

UML
Diagramas de Caso de Uso

Extends:

Um relacionamento extend de um caso de uso A para um caso de uso B indica que o caso de uso A pode ser acrescentado para descrever o comportamento de B (no essencial). A extenso inserida no ponto de extenso do caso de uso B. Ponto de extenso em um caso de uso uma indicao de que outros caso de uso podero ser adicionados a ele. Quando o caso de uso for invocado, ele verificar se suas extenses devem ou no serem invocadas.

UML
Diagramas de Caso de Uso

Generalizao ou Especializao :

Um caso de uso B um caso de uso A (A uma generalizao de B, ou B uma especializao de A). Um relacionamento entre um caso de uso genrico para um mais especfico, que herda todas as caractersticas de seu pai

UML
Diagramas de Caso de Uso

Sistema:
Limites do sistema: representado por um retngulo envolvendo os use cases que compem o sistema. Nome do sistema: Localizado dentro do retngulo.

UML
Diagramas de Caso de Uso

Exemplo:

UML
Diagramas de Caso de Uso

Algumas Consideraes:

1 - Como identificar atores ?


Para identificar os atores que vo participar do modelo devemos fazer as seguintes perguntas : - Quem usa o sistema ? - Quem inicia o sistema ? - Quem fornece os dados ? - Quem usa as informaes ?

UML
Diagramas de Caso de Uso

Algumas Consideraes:

2- Como descrever atores ?

Geralmente descreve atores usando : Nome do caso de uso tipo de uso (frequente, ocasional , etc...) descrio de seu papel no sistema

UML
Diagramas de Caso de Uso

Algumas Consideraes:

3- Como Identificar casos de uso ?

Os casos de uso so interaes entre os atores e o sistema . Temos ento aes do ator e aes do sistema. Sendo que os atores sempre iniciam a ao.

UML
Diagramas de Caso de Uso

Exemplo Prtico:

modelar usando casos de uso a compra de item em um a loja com um terminal de ponto de venda.

UML
Diagramas de Caso de Uso

Exemplo Prtico:

Quem usa o sistema o cliente e ele usa um terminal de caixa .

Como podemos identificar o caso de uso ? Podemos chamar este caso de uso de : Comprar Item (verto+substantivo)

UML
Diagramas de Caso de Uso Exemplo Prtico:

Descrio textual do caso de uso Comprar Item onde atual os atores cliente e caixa.
Caso de uso - Comprar Item Atores - Cliente , Caixa Descrio - Este caso de uso comea quando um cliente chega ao terminal com itens que deseja comprar. O caixa registra os itens , recebe o pagamento e emite uma nota fiscal. O Cliente recebe os itens comprados.

Na UML temos o diagrama de caso de uso que pode ser representado para o caso acima da seguinte forma:

UML
Diagramas de Caso de Uso Exemplo Prtico:

UML
Diagramas de Caso de Uso Exemplo Prtico:

Algumas consideraes :

Nomeie um caso de uso comeando com um verbo , para enfatizar que ele um processo. Ex: Cadastrar Cliente , Comprar Item , etc. Para identificar claramente um ator iniciador e um evento , comece a descrio da sequncia de um caso de uso usando o seguinte esquema:

UML
Diagramas de Caso de Uso Exemplo Prtico:

Algumas consideraes :

Este caso de uso comea quando o <Ator> <Evento que inicia o caso de uso> Ex: Este caso de uso comea quando um cliente chega com vrios itens para comprar.

UML
Diagramas de Caso de Uso Exemplo Prtico:

Como poderamos identificar os atores e os casos de uso para este exemplo?

Vamos identificar os atores . Eles so: Cliente, Operador , Sistema e Setor de Compras. Certo ?

UML
Diagramas de Caso de Uso Exemplo Prtico:

No errado !!! No exemplo acima Sistema no pode ser um ator pois ele no se ajusta ao conceito dado a um ator : Um agente externo ao sistema. Lembre-se que um ator um papel que interage com o sistema mas no faz parte do sistema, ento no lugar de Sistema poderamos sugerir um administrador ou gerente. Ento os atores seriam : Cliente , Operador , Administrador e Compras.

UML
Diagramas de Caso de Uso Exemplo Prtico:

E os casos de usos , quais seriam ?

-solicita peas (ator Cliente) - entrega peas (ator Compras) - buscar pedidos (ator operador) - distribuir pedidos (ator operador) - cadastrar Tarefas (administrador)
-

Certo?

UML
Diagramas de Caso de Uso Exemplo Prtico:

Errado !!! No caso do ator operador ele no atua sobre o sistema nos casos de uso buscar pedidos e distribuir pedidos , ele atua sobre o sistema realizando Tarefa. Ento o correto seria. - solicita peas (ator Cliente) - entrega peas (ator Compras) - realiza Tarefa (ator operador) - cadastrar Tarefas (administrador)

UML
Diagramas de Caso de Uso Exemplo Prtico:
Em UML:

UML
Diagramas de Caso de Uso Exemplo Prtico:

Possveis Relacionamentos: Include:

As propriedades bsicas da incluso so : realizar um decomposio funcional reduzir a complexidade de um caso de uso O caso de uso bsico no pode executar sem a incluso. Comportamento comum

UML
Diagramas de Caso de Uso Exemplo Prtico:

Possveis Relacionamentos: Exclude:

Define pontos de extenso que adicionam comportamento a um caso de uso base descrevendo uma variao do comportamento normal. O caso de uso base pode ser executado mesmo sem a extenso.

UML
Diagramas de Caso de Uso Exemplo Prtico:

Possveis Relacionamentos: Generalizao:

Indica um caso de base que possui diferentes especializaes e inclui comportamento ou sobrescreve o caso de uso base.

UML
Diagramas de Caso de Uso Exemplo Prtico:

Possveis Relacionamentos: Entre atores:

um ator especializado pode acessar os casos de uso de um Ator base.

UML
Diagramas de Caso de Uso

Modelar um Sistema Escolar, que possui as seguintes caractersticas:


Acesso restrito de funcionrios e alunos; Funcionrios so classificados em Professores e Coordenao. Os coordenadores devem ter acesso s seguintes aes: Cadastro, atualizao e excluso de turmas, disciplinas, professores e alunos; Professores tm acesso as seguintes aes: Cadastro, atualizao e excluso de notas e faltas de alunos e alterar seus prprios dados; Os alunos tm acesso s suas notas por meio de seu login no sistema e alterar seus prprios dados; O sistema deve ser inteligente e verificar se o aluno estiver na condio de reprovado por falta ou mdia quando o professor cadastrar sua nota ou falta, e enviar um e-mail automaticamente para este aluno;

UML
Diagramas de Classes

Uma classe descreve como certos tipos de objetos se parecem do ponto de vista da programao , pois quando definimos uma classe precisamos definir duas coisas: Propriedades - Informaes especficas relacionadas a uma classe de objeto. So as caractersticas dos objetos que as classes representam. Ex Cor , altura , tamanho , largura , etc... Mtodos: So aes que os objetos de uma classe podem realizar. Ex: Latir , correr , sentar , comer, etc.

UML
Diagramas de Classes

Exemplo:
Temos aqui a representao de um objeto , no caso do cachorro Bilu , que possui as seguintes propriedades e mtodos:

Propriedades : Cor do corpo : castanha cor dos olhos : preto altura: 18 cm comprimento: 38 cm largura : 24 cm Mtodos : balanar o rabo , latir , deitar , sentar

UML
Diagramas de Classes

Uma classe representa um conjunto de objetos que possuem comportamentos e caractersticas comuns;

UML
Diagramas de Classes

A representao de uma classe usa um retngulo dividido em trs partes:


nome atributos mtodos

UML
Diagramas de Classes

Podemos dizer que os diagramas de classes so os principais diagramas estruturais da UML pois ilustram as classes , interfaces e relacionamentos entre elas.
Os diagrama se classes ilustram atributos e operaes de uma classe e as restries como que os objetos podem ser conectados ; descrevem tambm os tipos de objetos no sistema e os relacionamentos entre estes objetos que podem ser : associaes e abstraes.

UML
Diagramas de Classes

Para poder representar a visibilidade dos atributos e operaes em uma classe utiliza-se as seguintes marcas e significados:

+ pblico - visvel em qualquer classe # protegido - qualquer descendente pode usar - privado - visvel somente dentro da classe

UML
Diagramas de Classes

Relacionamento entre classes


+ pblico - visvel em qualquer classe # protegido - qualquer descendente pode usar - privado - visvel somente dentro da classe

UML
Diagramas de Classes

Relacionamento entre classes

Os objetos tem relaes entre eles: um professor ministra uma disciplina para alunos numa sala, um cliente faz uma reserva de alguns lugares para uma data, etc. Essas relaes so representadas tambm no diagrama de classe. [Nicolas Anquetil]

UML
Diagramas de Classes

Relacionamento entre classes


UML reconhece trs tipos mais importantes de relaes: dependncia, associao e generalizao (ou herana). Geralmente as classes no esto ss e se relacionam entre si.

UML
Diagramas de Classes

Relacionamento entre classes


O relacionamento e a comunicao entre as classes definem responsabilidades , temos 3 tipos:
Associaes : Agregao e composio Generalizao (herana) Dependncias

UML
Diagramas de Classes

Relacionamento entre classes As representaes usam a seguinte notao :

UML
Diagramas de Classes

Relacionamento entre classes


Associao : So relacionamentos estruturais entre instncias e especificam que objetos de uma classe esto ligados a objetos de outras classes. Podemos ter associao uniria , binria , etc.

UML
Diagramas de Classes

Relacionamento entre classes


A associao pode existir entre classes ou entre objetos. Uma associao entre a classe Professor e a classe disciplina (um professor ministra uma disciplina) significa que uma instncia de Professor (um professor especfico) vai ter uma associao com uma instncia de Disciplina. Esta relao significa que as instncias das classes so conectadas, seja fisicamente ou conceitualmente.[Nicolas Anquetil]

UML
Diagramas de Classes

Relacionamento entre classes


Dependncia - So relacionamentos de utilizao no qual uma mudana na especificao de um elemento pode alterar a especificao do elemento dependente. A dependncia entre classes indica que os objetos de uma classe usam servios dos objetos de outra classe.

UML
Diagramas de Classes

Relacionamento entre classes


Generalizao (herana) - Relacionamento entre um elemento mais geral e um mais especfico. Onde o elemento mais especfico herda as propriedades e mtodos do elemento mais geral.

UML
Diagramas de Classes

Relacionamento entre classes


A relao de generalizao tambm conhecida como herana no modelo a objetos. Como a relao de dependncia, ela existe s entre as classes. Um objeto particular no um caso geral de um outro objeto, s conceitos (classes no modelo a objetos) so generalizao de outros conceitos.

UML
Diagramas de Classes

Relacionamento entre classes


Agregao Regular - tipo de associao ( parte de , todo/parte) onde o objeto parte um atributo do todo ; onde os objetos partes somente so criados se o todo ao qual esto agregados seja criado. Pedidos composto por itens de pedidos.

UML
Diagramas de Classes

O diagrama de de classes lista todos os conceitos do domnio que sero implementados no sistema e as relaes entre os conceitos. Ele muito importante pois define a estrutura do sistema a desenvolver.

UML
Diagramas de Classes

Exemplo: automatizar um consultrio dentrio.


Levantamento e anlise de requisitos do sistema a ser desenvolvido. Entrevista com o dentista(s) e com as pessoas que trabalham no consultrio Definio dos objetos do sistema : Paciente , agenda , dentista , servio , contrato , consulta , pagamento , etc. Definio dos atores do sistema : paciente, dentista , secretria

UML
Diagramas de Classes

Exemplo: automatizar um consultrio dentrio.


Definio e detalhamento dos casos de uso: marcar consulta , confirmar consulta , cadastrar paciente , cadastrar servios , etc. Definio das classes : paciente , dentista , exame , agenda , servio

UML
Diagramas de Classes Exemplo: automatizar um consultrio dentrio.

UML
Diagramas de Classes

Atributo

Um atributo representa uma propriedade que todos os objetos da classe tm (por exemplo, todos os cachorros tem pelo , orelhas , altura, ,etc. Mas cada objeto ter valores particulares para seus atributos (alguns cachorros so mais baixos , outros so maiores, etc.).

UML
Diagramas de Classes

Atributo
Uma classe pode ter qualquer nmero de atributos. Na UML, o nome de um atributo um texto contendo letras e dgitos e algumas marcas de pontuao. UML sugere de capitalizar todas as primeiras letras de cada palavra no nome menos a primeira palavra (ex.: "nome'', "nomeCachorro''). Num modelo, os atributos devem ser de um tipo simples (inteiro, texto, talvez data), no podem conter outros objetos.

UML
Diagramas de Classes

Mtodos
Mtodos so aes que implementam uma operao. Uma classe pode ter qualquer nmero de mtodos e dois mtodos em duas classes podem ter o mesmo nome. Todos os mtodos que vo implementar a operao tem que respeitar exatamente a assinatura dela (mesmo nome, mesmo nmero de atributo, com os mesmo tipos e o mesmo ordem). Um mtodo no pode acrescentar ou cortar um parmetro. Isso seria um violao do polimorfismo.

UML
Diagramas de Classes Exerccio

Sistema Escolar caractersticas:


Acesso restrito de funcionrios e alunos; Funcionrios so classificados em Professores e Coordenao. Os coordenadores devem ter acesso s seguintes aes: Cadastro, atualizao e excluso de turmas, disciplinas, professores e alunos; Professores tm acesso as seguintes aes: Cadastro, atualizao e excluso de notas e faltas de alunos e alterar seus prprios dados; Os alunos tm acesso s suas notas por meio de seu login no sistema e alterar seus prprios dados; O sistema deve ser inteligente e verificar se o aluno estiver na condio de reprovador por falta ou mdia, e enviar um e-mail automaticamente para este;

UML
Diagramas de Sequencia

Um diagrama de seqncia demonstra o comportamento de um nico caso de uso;


Mostra a interao entre os objetos ao longo do tempo, apresentando os objetos que participam da interao e a seqncia das mensagens trocadas ;

UML
Diagramas de Sequencia

O diagrama composto por:

Atores: So entidades externas que interagem com o sistema e que solicitam servios, gerando dessa forma eventos que iniciam processos. Objeto: uma caixa na parte superior de uma linha tracejada verticalmente. A linha vertical chamada de linha da vida do objeto, e representa a vida do objeto durante a interao.

UML
Diagramas de Sequencia

O diagrama composto por:

Mensagem: representada por uma flecha entre as linhas de vida de dois objetos. Cada mensagem deve ter um nome, comum incluir os argumentos e algumas informaes de controle.

UML
Diagramas de Sequencia

Exemplo:

UML
Diagramas de Sequencia

Exercicio:

Representar os processos do estudo de caso.

UML
Diagramas de Atividade

O objetivo do diagrama de atividades mostrar o fluxo de atividades em um nico processo. O diagrama mostra como um atividade depende uma da outra.

UML
Diagramas de Atividade

composto por:

Incio: Representado por um crculo preenchido. Estado de Atividade ou Atividade: Representado por um retngulo com bordas arredondadas. Atividade um estado de estar fazendo algo.

Desvio(Branch): Representado por um losango.

UML
Diagramas de Atividade

composto por:

Intercalao(Merge): Tambm representado por um losango, utilizada para marcar o final de um comportamento condicional iniciado por um desvio, ou seja, tem mltiplas entradas e uma nica sada. Separao(Fork): Representado por um trao horizontal, quando temos comportamento paralelo, ou seja, temos uma entrada e vrias transies de sada que so executadas em paralelo.

UML
Diagramas de Atividade

composto por:

Juno(Joins): Representado por um trao horizontal, utilizamos para completar a separao, ou seja, quando temos um processamento paralelo, precisamos sincronizar.

UML
Diagramas de Atividade

Exemplo

UML
Diagramas de Atividade

Um diagrama de atividade pode ser regies denominadas swimlanes. Estas regies eso associadas a um objeto do modelo. Desta forma, dentro de cada regio, encontram-se as atividades relativas ao objeto da regio.

UML
Diagramas de Atividade

Exemplo: Retirando dinheiro de um caixa eletrnico (para cartes de crdito).

UML
Diagramas de Atividade

UML
Diagramas de Atividade

Representar as atividades do estudo de caso.

UML
Diagramas de Estado

Ilustra os eventos e os estados interessantes de um objeto e o comportamento de um objeto em resposta a um evento.


Em um diagrama de estado, um objeto possui um comportamento e um estado. O estado de um objeto depende da atividade na qual ele est processando

UML
Diagramas de Estado

Um diagrama de estado mostra os possveis estados de um objeto e as transaes responsveis pelas suas mudanas de estado.
Descrio do exemplo: Modelagem do sistema de login. Para que o usurio seja autenticado, ele deve fornecer dois valores: SSN (Social Security Number) e o PIN (Personal ID Number). Aps a submisso feita uma validao.

UML
Diagramas de Estado

UML
Diagramas de Estado

Um diagrama de estados pode estar aninhado.Estados relacionados podem estar agrupados em um nico estado.

Exemplo: um sistema de leilo. Para que um lance seja efetuado com sucesso, a oferta tem que ser vlida e o cliente tem que ter crdito suficiente.

UML
Diagramas de Estado

UML
Diagramas de Estado

UML
Diagramas de Estado

Estados tpicos de um sistema


Aguardando a introduo de uma senha; Misturando ingredientes ou aquecendo uma mistura qumica; Aguardando o prximo comando; Acelerando um motor; Aguardando dados em um instrumento; Enchendo o tanque; Ocioso sem fazer nada

UML
Diagramas de Estado

Elementos de um diagrama de estados

Estado Inicial: marca o ponto de entrada do diagrama Estado Final: marca o ponto final do diagrama

Ao: operaes por disparos de eventos.

UML
Diagramas de Estado

Elementos de um diagrama de estados

Estado: indicam o estado do objeto. Normalmente escritos no gerndio.

Transio: relacionamento entre dois estados. Indica que o objeto no primeiro estado realizao algumas aes que entrar no segundo estado quando um evento acontecer em condies especificas.

UML
Diagramas de Estado

Descreva os estados de um sistema de elevador. Descreva os estados do estudo de caso apresentado.

Vous aimerez peut-être aussi