Você está na página 1de 24

DIAGRAMAS DE CASOS DE USO

Profs: Edgar Gemo Zeferino Saugene

UML

Casos de uso
Os Uses Cases ou casos de utilizao constituem em UML uma tcnica para representar o levantamento de requisitos do sistema (Nunes, 2001) Desde sempre que o correcto levantamento de requisitos no desenvolvimento de sistemas de informao tenta garantir que o sistema ser til para o utilizador final, estando de acordo com as suas necessidades (Nunes, 2001:13)
UML

Diagramas Classes
Profs: Edgar Gemo Zeferino Saugene

UML

Introduo
Aspectos tratados pelos Diagramas de Classe: Dados e Funes

UML

Introduo
Um Diagrama de Classes:
D uma viso esttica do sistema; Exibe um conjunto de classes, interfaces e seus relacionamentos; As classes especificam tanto a estrutura como o comportamento dos objectos (que so instncias de classes);
UML

Introduo
Ao completar os diagramas de interao, podemos completar o diagrama de classes:
Normalmente criamos os diagramas de classe em paralelo aos de interao
No final, precisamos apenas incluir os detalhes que faltam (mtodos, atributos ou associaes)
UML

Introduo
Informaes tipicamente encontradas num Diagrama de Classes:
Classes, associaes e atributos Interfaces, incluindo mtodos e constantes Mtodos Informao de tipo de atributos Navegabilidade Dependncias
UML

Exemplo de Diagrama de Classes


Nome da Classe Atributo
Disciplina CodDisciplina : String Nome : String Descrio : String Nvel(Ano) : Integer Semestre : String RegimeTemporal : Integer CargaSemanal : integer Bibliografia : String registarDisciplina() alterarDisciplina() removerDisciplina() Estudante CodEstudante : string Nome : String Apelido : String BI/DIR : String Endereo : String Sexo : char dataNascimento : date Naturalidade : string registarEstudante() alterarDadosestudante() removerEstudante() Inscrio CodEstudante : String CodDisciplina : String DataInscrio : date 1 1..* efectuarInscricao() alterarIncricao() removerInscricao() listarInscritos() 1..* 1

Operao
UML

Associao

Multiplicidade

Construindo um Diagrama de Classes


Identificar todas as classes que participam no sistema Adicionar as classes ao diagrama Identificar os atributos para cada classe Adicionar os mtodos respectivos a cada classe
UML

Construindo um Diagrama de Classes


Escolher os tipos dos atributos e dos parmetros dos mtodos Incluir as associaes necessrias para dar visibilidade de atributos Adicionar setas s associaes para indicar a direo da visibilidade de atributos (opcional) Introduzir linhas de relaes de dependncia para indicar a visibilidade que no seja de atributo

UML

Atributos
Um atributo representa alguma propriedade que compartilhada por todos os objectos de uma classe Descrevem os dados contidos nas instncias de uma classe Servem para manter o estado dos objectos. Cada objecto possui valores independentes para os mesmos atributos
UML

Sintaxe de Atributos
Sintaxe [visibilidade] nome [[multiplicidade]] [:tipo] [= valor inicial] [{propriedades}] Atributos de classe so sublinhados Exemplos CPF: Integer Nome: String = Alberto Endereo [0..20] : String gerenciadorDeJanelas: GerenciadorDeJanelas

UML

Operaes
Uma operao a implementao de um servio que pode ser requisitado a qualquer objecto ou classe, possivelmente afectando o seu estado
A execuo de uma operao pode resultar na alterao do valor de seus atributos Operaes de instncia
Actuam sobre uma instncia (objecto) de uma classe

Operaes de classe
Actuam sobre a classe, criando e/ou modificando atributos de classe
UML

Sintaxe para Operaes


Sintaxe
[visibilidade] nome [(lista-deparmetros)] [:tipo-de-retorno] [{propriedades}] Operaes de classe so sublinhadas

Exemplos
LerTemperatura () : Number rea (Lado : Integer) : Integer ValorPadro () : Integer {query}
UML

Relacionamentos
Poucas classes tm sentido sozinhas Os relacionamentos ligam classes/objectos entre si criando relaes lgicas entre eles Os relacionamentos podem ser dos seguintes tipos: Associao, Agregao e Composio , Generalizao e Herana.
UML

Notao para Relacionamentos


Associao Herana

Agregao

Dependncia

Realizao

Composio

UML

Associao
Surge da necessidade de obter mais informao de uma associao. Normalmente, as classes associativas surgem nas relaes de Muitos para Muitos
rtulo da associao

Companhia
UML

emprega

Funcionrio

Classe Associativa
introduzida quando uma associao tem propriedades associadas
Companhia * 1..* Empregado

Trabalho
descrio salrio
UML

Associao Unria
Quando h um relacionamento de uma classe para ela mesma
Funcionrio 1..* 1 gerencia

rtulo da associao

UML

Associao Binria
Quando h duas classe envolvidas na forma direta de uma para a outra
Cliente 1 faz 0..* Pedido

UML

10

Associao N-ria
As linhas das associaes so conectadas por um losango

UML

Agregao e Composio
A Agregao pretende demonstrar que um Todo composto por Partes A Composio uma forma mais forte de Agregao
H uma coincidncia da vidas das partes Uma vez criada a parte, ela ir viver e morrer com o todo O Todo responsvel pelo gerenciamento da criao e destruio das partes

UML

11

Agregao e Composio
Exemplo de uma Agregao
Restaurante Nome Morada 1 1..* Mesa Num_Mesa

UML

Exemplo de uma Composio


Encomenda
numE data tipoE 1 1..*

Item Encomenda
numItem quantidade

UML

12

Generalizao e Herana
Generalizao (Herana)
Relacionamento entre um elemento mais geral e um mais especfico O Conceito Herana est presente, pois as subclasses (filhos) herdam da superclasse (pai) a estrutura em termos de atributos e operaes.

UML

Exemplo de Generalizao
Forma origem mover() exibir()

Retngulo ponto : Ponto

Crculo raio : float

Polgono pontos : ListaDePontos exibir()

Quadrado

UML

13

Multiplicidade
a cardinalidade de uma associao
(tambm usa-se 0..*)

UML

Navegabilidade
Em geral a navegao entre as classes de uma associao bidirecional. Porm, podemos limit-la a apenas uma direo
Usurio
tem

Senha

UML

14

Exemplos de Diagramas de Classes


Classes que se relacionam duplamente:

Informao que surge a partir da associao de duas outras classes:


UML

Exemplos de Diagramas de Classes


Agregao:

UML

15

Exemplos de Diagramas de Classes


Composio:
do todo implica na remoo das partes; O acesso s partes restrito ao todo.
A remoo

UML

Exemplos de Diagramas de Classes


Generalizao/Especificao A Classe Abstracta
No permite a criao de objectos; Existe apenas para gerar novas sub-classes.

UML

16

Diagramas de Classes - Restries


Descrevem situaes que NO podem ocorrer no modelo Pode ser usado para: Que o programador siga a orientao, Transformao formal de modelos (MDA).

UML

Diagramas de Classes - Restries


Restrio {ou} implica na seleco exclusiva entre duas ou mais associaes existentes em uma classe.

UML

Observao: possvel mapeamento para uso de restrio {ou} com multiplicidade mxima 1.

17

Diagramas de Classes - Restries


Observar que para associaes OU do tipo 1..* no possvel mapear directamente para herana.

UML

Diagramas de Classes - Restries

UML

18

Diagramas de Classes - Discusso


Dado o modelo de controle acadmico:
O aluno pode exercer o papel de monitor durante um perodo Permitir que uma pessoa exera simultaneamente o papel de Professor e Aluno da Universidade

Qual o Problema?

UML

Diagramas de Classes - Discusso


Qual o Problema?
Acomodao inbil de objectos que mudam de classes, Transmutao.

UML

19

Diagramas de Classes - Discusso


A Soluo ptima:
Combinar herana e associao.

UML

Diagramas de Classes - Erros Comuns


1. Usar classes ou associaes para representar consultas ou operaes do sistema que no devem ser registradas.

2. Identificar mtodos nas classes sem ter feito a modelao temporal

UML

O que sintonizar? -Quem usa? -Quais os parmetros?

20

Diagramas de Classes - Erros Comuns


3. Inserir atributos quando o ideal criar uma classe.

UML

Diagramas de Classes - Erros Comuns


4. Usar herana quando a quantidade de tipos grande ou dinmica.

UML

21

Diagramas de Classes - Erros Comuns


5. Inserir chaves-estrangeiras no diagrama de classes:
As associaes so suficientes.

UML

Diagramas de Classes -

Exerccios
1. Em uma Universidade, o plano de carreira para professores dividido em quatro etapas: Auxiliar, Assistente, Adjunto e Titular.
Construa um modelo de classes que preserve o histrico de um professor durante a sua vida profissional. Em particular, importante manter o registro do incio e trmino do desempenho em uma das etapas. Considerando um sistema de gesto duma cadeia de Hoteis e os seus servios, desenhar um diagrama de classes mostrando relacionamentos entre as seguintes classes de objectos (Incluir associaes, agregaes, generalizaes e atributos): Hotel, quarto, hspede, funcionrio, sauna, boate, restaurante, bar, piscina, reserva e outras classes relacionadas.

2.

UML

22

Diagramas de Classes - Exerccios


3. Considere o diagrama de classes UML abaixo e marque a alternativa correcta:
a) Considerando um objecto e qualquer de Empresa, pode-se afirmar que a quantidade de objectos de Funcionrio que participam da associao a com e sempre inferior quantidade de objectos que participam de b (tambm com e); No existem objectos de Funcionrio que participam simultaneamente da associao a e b com um objecto de Empresa; Pode existir um objecto de Empresa que no esteja associado a qualquer objecto de Funcionrio, seja pela associao a ou b; Um objecto de Funcionrio pode estar associado com mais de um objecto de Empresa; A associao de subordinao garante que um supervisor est associado com subordinados que esto na mesma Empresa.

b) c) d) e)

UML

Diagramas de Classes - Exerccios


4. Considere o diagrama de classes UML abaixo e marque a alternativa correcta: a) b) c) d) e) Para cada objecto de Actividade existe somente um nico valor de data-incio; Um objecto de Actor pode simultaneamente gerir vrios projetos e actuar em vrias actividades; Um Objectivo pode ser atendido por vrios objectos de Actividade; Em um Projecto sua durao determinada pela durao de suas actividades; Os objectos de Actividade so ordenados pelo valor do atributo id.

UML

23

Bibliografia
Bennett, S. et all (2002) Object-Oriented Systems Analysis and Design using UML, U.S., Mc Graw-Hill Education Bezerra, E. (2003), Princpios de Anlise e Projecto de Sistemas com UML, Rio de Janeiro, Editora Campus Ltda Neto, A.C. (2001), Anlise e Projeto de Sistemas I, http://www.dcce.ufs.br/ Nunes, M. e ONeill (2001), Fundamental de UML, Lisboa, FCA - Editora de Informtica
UML

24

Você também pode gostar