Revisão 1º bimestre - Casos de Usos e Classes

38
ANÁLISE PROJETO E PROGRAMAÇÃO PARA WEB Profª. Maria Alice Jovinski Prova dia 29/04/2013 às 20h50 REVISÃO PROVA

description

 

Transcript of Revisão 1º bimestre - Casos de Usos e Classes

Page 1: Revisão 1º bimestre - Casos de Usos e Classes

ANÁLISE PROJETO E

PROGRAMAÇÃO PARA WEB

Profª. Maria Alice Jovinski

Prova dia 29/04/2013 às 20h50

REVISÃO PROVA

Page 2: Revisão 1º bimestre - Casos de Usos e Classes

DIAGRAMA DE CASO DE USO

Os casos de uso descrevem a funcionalidade do

sistema percebida por atores externos;

Um ator interage com o sistema podendo ser um

usuário, dispositivo ou outro sistema;

Page 3: Revisão 1º bimestre - Casos de Usos e Classes

DIAGRAMA DE CASO DE USO

Notação UML:

Page 4: Revisão 1º bimestre - Casos de Usos e Classes

RELACIONAMENTOS

Entre um ator e um caso de uso

Associação: define uma funcionalidade do sistema do

ponto de vista do usuário;

Page 5: Revisão 1º bimestre - Casos de Usos e Classes

RELACIONAMENTOS

Entre casos de uso

Associação

Include

Extend

Generalização ou Especialização

Page 6: Revisão 1º bimestre - Casos de Usos e Classes

RELACIONAMENTOS

Include

Um relacionamento include de um caso de uso A para

um caso de uso B indica que B é essencial para o

comportamento de A. Pode ser dito também que

B is_part_of A;

Page 7: Revisão 1º bimestre - Casos de Usos e Classes

RELACIONAMENTOS

Extend

Um relacionamento extend de um caso de uso B para

um caso de uso A indica que o caso de uso B pode ser

acrescentado para descrever o comportamento de A

(não é essencial);

Page 8: Revisão 1º bimestre - Casos de Usos e Classes

RELACIONAMENTOS

Generalização ou Especialização (é_um)

Um relacionamento entre um caso de uso genérico para

um mais específico, que herda todas as características

de seu pai;

Page 9: Revisão 1º bimestre - Casos de Usos e Classes

FASES DO DIAGRAMA DE CASOS DE USO

Roteiro de levantamento do modelo de casos de

uso:

Levantamento dos atores;

Levantamento dos casos de uso principais;

Definição dos relacionamentos:

Entre atores;

Entre atores e casos de uso;

Detalhamento dos casos de uso:

Relacionamentos entre casos de uso;

Page 10: Revisão 1º bimestre - Casos de Usos e Classes

CLASSE

Abstração: se preocupa com a visão superficial de

um objeto, por isso serve para separar o

comportamento de um objeto de sua

implementação;

Classe: representam um modelo conceitual

primário para elementos que têm

responsabilidades e comportamento no sistema;

Objeto: objeto é simplesmente alguma coisa que

faz sentido no contexto da aplicação e não deve ter

nomes vagos;

Page 11: Revisão 1º bimestre - Casos de Usos e Classes

DIAGRAMA DE CLASSES

É um esquema, padrão, ou molde, para descrever,

várias possíveis instâncias de dados ou seja

descreve as classes;

Notação UML:

Page 12: Revisão 1º bimestre - Casos de Usos e Classes

ATRIBUTOS

Um atributo é uma propriedade de um objeto Ex.: Nome, idade (atributos de pessoa);

Cada atributo tem um valor para cada instância A idade de João é 26;

Devem ser valores de dados puros, e não objetos;

Um atributo pode ter um valor default;

Page 13: Revisão 1º bimestre - Casos de Usos e Classes

ATRIBUTOS

o Visibilidade:

o + {público}: o elemento pode ser utilizado pelo objeto no qual ele pertence e por qualquer objeto cliente.

o # {protegido}: o elemento pode ser utilizado somente pelo próprio objeto no qual ele pertence, ou se existirem, pelas suas subclasses.

o - {privado}: o elemento pode ser utilizado somente pelo objeto ao qual ele pertence.

o ~{package}: visível a classes do mesmo package.

Page 14: Revisão 1º bimestre - Casos de Usos e Classes

OPERAÇÕES

Uma operação é uma função, ou transformação, que pode ser aplicada para ou por objetos em uma classe

Ex: Contratar, PagarSalários são operações da Classe Empresa;

Operações podem ser polimórficas

Ex: Imprimir arquivos binários, textos, figuras;

Operações podem receber parâmetros

Ex: Mover um polígono 10 pixels;

Todas as instâncias de uma classe compartilham as mesmas operações;

Page 15: Revisão 1º bimestre - Casos de Usos e Classes

RELACIONAMENTOS

Associação

Agregação

Composição

Generalização

Especialização

Page 16: Revisão 1º bimestre - Casos de Usos e Classes

ASSOCIAÇÕES

É uma relação que descreve um conjunto de

vínculos entre elementos de modelo

Podem ser reflexivas, binárias, ternárias, etc.

Page 17: Revisão 1º bimestre - Casos de Usos e Classes

ASSOCIAÇÕES

Diagrama de Classes

Diagrama de Objetos

País

Nome

Cidade

Nome

Tem-capital

:País

Brasil

:CidadeTem-capital

Brasília

Page 18: Revisão 1º bimestre - Casos de Usos e Classes

ASSOCIAÇÕES BINÁRIAS

Quando há duas classes envolvidas na associação

de forma direta de uma para a outra (mutualismo)

Empregado EmpresaTrabalha-para

Page 19: Revisão 1º bimestre - Casos de Usos e Classes

MULTIPLICIDADE DE ASSOCIAÇÃO

Especifica quantas instâncias de uma

classe pode se relacionar com cada

instância de outra classe.

Limita o número na relação entre os

objetos.

Geralmente é “um” ou “muitos”, mas pode

ser um conjunto finito.

Carrose-move-sobre

Roda

4

Page 20: Revisão 1º bimestre - Casos de Usos e Classes

MULTIPLICIDADE DE ASSOCIAÇÃO

Mais exemplos....

Trabalha-paraEmpresaEmpregado

0..*

console

JanelaWorkstation 0..1

Page 21: Revisão 1º bimestre - Casos de Usos e Classes

MULTIPLICIDADE - UML

Exatamente 1

Muitos (zero ou mais)

Opcional (zero ou um)

Um ou mais

Numericamente Especificado (exatamente 4)

Numericamente Especificado (2,4,5,6 ou 7)

0..*

0..1

1..*

4

2,4..7

Page 22: Revisão 1º bimestre - Casos de Usos e Classes

PAPÉIS DA ASSOCIAÇÃO

É o nome que identifica um lado da Associação.

Também chamado de Papel Executado (ou Nomes de

Papel, Role Names);

EmpresaPessoa

Trabalha-para

(associação)

Empregado Empregador

Page 23: Revisão 1º bimestre - Casos de Usos e Classes

ASSOCIAÇÃO

Diagrama de Classes

Diagrama de Instâncias (Objetos)

EmpresaTrabalha-paraEmpregado

Nome

Cargo 1..*

:EmpresaTrabalha-para:Empregado

Lucas

Analista 1..*IBM

Nome

Page 24: Revisão 1º bimestre - Casos de Usos e Classes

AGREGAÇÃO

É a relação “parte-todo” ou “uma-parte-de”.

É uma forma especial de associação.

É uma relação do tipo “todo/parte” ou “possui um”

na qual uma classe representa uma coisa grande

que é composta de coisas menores.

Page 25: Revisão 1º bimestre - Casos de Usos e Classes

AGREGAÇÃO

Ex: Diagrama de Classes

Placa-Mãe Processador RAM

Microcomputador

Tipo

Velocidade CapacidadeMarca

Page 26: Revisão 1º bimestre - Casos de Usos e Classes

AGREGAÇÃO

Ex: Diagrama de Instâncias (Objetos)

:Placa-Mãe :CPU :RAM

:Micro

P-IV

ASUS 1.4 Ghz 128 MB

Page 27: Revisão 1º bimestre - Casos de Usos e Classes

AGREGAÇÃO

Departamento

Instituto

Page 28: Revisão 1º bimestre - Casos de Usos e Classes

GENERALIZAÇÃO

Generalização é o relacionamento que organiza

Classes baseado em suas similaridades e diferenças.

É a capacidade de se criar supertipos que encapsulam

a estrutura e o comportamento comum a vários

subtipos. Os procedimentos para se obter

generalização são:

Identificar similaridades de estrutura/comportamento entre

várias classes.

Criar o supertipo para encapsular a estrutura e o

comportamento comum a mais de uma classe.

Os objetos originais passam a ser subtipos do novo supertipo

criado.

Page 29: Revisão 1º bimestre - Casos de Usos e Classes

ESPECIALIZAÇÃO

É a capacidade de se criar subtipos que

representam refinamentos nos quais a

estrutura e/ou comportamento do supertipo

são adicionados ou modificados.

Os procedimentos são:

Perceber que algumas classes apresentam

estrutura e/ou comportamento especializado.

Criar subtipos de acordo com a especialização.

Page 30: Revisão 1º bimestre - Casos de Usos e Classes

GENERALIZAÇÃO/ESPECIALIZAÇÃO

Ex.:

Funcionário

promover()

Pessoamatrícula

nome

idade

mudarNome()

obterIdade()

Professor

contratar()

Page 31: Revisão 1º bimestre - Casos de Usos e Classes

ATENÇÃO

Pode confundir em virtude da notação

Generalização = é-um

Agregação = tem-um, é-parte-de

G A

Page 32: Revisão 1º bimestre - Casos de Usos e Classes

FASES DO DIAGRAMA DE CLASSE

Classes Associações Atributos Generalização e Especialização

Refinamento do modelo

Classes candidatas e rejeitadas

Page 33: Revisão 1º bimestre - Casos de Usos e Classes

É representada como o símbolo de classe anexado por

uma linha tracejada;

Classe BClasse A

Nome da classe de associação

atributos

operacao

CLASSE DE ASSOCIAÇÃO

Page 34: Revisão 1º bimestre - Casos de Usos e Classes

DEPENDÊNCIA

Indica a ocorrência de um relacionamento

semântico entre dois ou mais elementos do modelo

onde uma classe cliente é dependente de algum

serviço da classe fornecedora;

Não possui dependência estrutural;

Mudanças na classe fornecedora podem afetar as

classes clientes;

Classe

Cliente

Classe

Fornecedora

Dependência

Page 35: Revisão 1º bimestre - Casos de Usos e Classes

NORMALIZAÇÃO

Dependente da modelagem de banco de dados;

Um estrutura de atributos não normalizada está na

zeríssima forma normal;

Page 36: Revisão 1º bimestre - Casos de Usos e Classes

1ª FORMA NORMAL

Remoção de grupos repetidos;

É verifica quando em determinadas estruturas de

atributos existem dados repetidos;

Exemplo:Pedido

numero_pedido

codigo_pedido

nome_cliente

data_pedido

codigo_produto[15]

quantidade_produto[15]

descricao_produto[15]

Page 37: Revisão 1º bimestre - Casos de Usos e Classes

1ª FORMA NORMAL

Aplicando a 1ª forma normal gera a classe Pedido

Item que herdará os valores repetidos da classe

Pedido;

A relação é de agregação de pedido item com

pedido;

Pedido

numero_pedido

codigo_pedido

nome_cliente

data_pedido

Pedido Item

codigo_produto[15]

quantidade_produto[15]

descricao_produto[15]

1 1..*

Page 38: Revisão 1º bimestre - Casos de Usos e Classes

1ª FORMA NORMAL

Como obter a 1ª forma normal:

Verificar se há atributos repetidos na classe;

Destacar os atributos repetidos e suas respectivas

operações, criando uma nova classe com esses itens;

Estabelecer a associação de agregação regular e

multiplicidade entre as classes;