07 diagrama de classes de análise

46
Curso Técnico de Informática Industrial Professora Deisymar Botega Tavares CEFET-MG – Timóteo Material adaptado do texto Análise Orientada a Objetos do Professor: Marcelo Balbino

description

Não fui eu que fiz o slide mas o considero muito útil. Ele foi apresentado a mim no técnico. O autor do slide pertence a Deisymar Botega, uma material adaptado de um texto escrito pelo Prof. Marcelo Balbino.

Transcript of 07 diagrama de classes de análise

Page 1: 07  diagrama de classes de análise

Curso Técnico de Informática Industrial

Professora Deisymar Botega Tavares

CEFET-MG – Timóteo

Material adaptado do texto Análise Orientada a Objetos do

Professor: Marcelo Balbino

Page 2: 07  diagrama de classes de análise

Etapa responsável pelo estudo do sistema;

Nesta fase não se deve preocupar com

questões tecnológicas ou de implementação;

Nesta fase devemos:

Verificar a qualidade dos requisitos obtidos;

Modelar os conceitos do domínio do problema;

Detalhar os requisitos no nível adequado aos

desenvolvedores, servindo de base para o desenho

do produto.

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

2

Page 3: 07  diagrama de classes de análise

Na fase de análise utiliza-se o recurso de Classes para estudar os requisitos funcionais.

Classes são abstrações de elementos do mundo real que fazem parte do problema estudado.

Os objetos são as instâncias das classes.

Exemplo: no domínio acadêmico:

ALUNO é uma CLASSE;

Lorean, Filipe, Vinícius, Alex, alunos matriculados num curso, são objetos da classe aluno.

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

3

Page 4: 07  diagrama de classes de análise

Os objetos possuem atributos (campos) e operações (procedimentos).

Veja um exemplo da representação da classe Aluno:

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

4

Aluno

Nome RG Data Nascimento

Inserir Aluno Alterar dados Aluno Excluir Aluno

Page 5: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

5

Venda

Forma de Pagamento

Valor

Data

Totalizar

Emitir Ticket

Emitir Nota Fiscal

Imprimir Nota Fiscal

Inserir Venda

Gravar Venda

Excluir

1º Compartimento:

NOME DA CLASSE

2º Compartimento:

ATRIBUTOS DA CLASSE

3º Compartimento:

OPERAÇÕES DA CLASSE

Page 6: 07  diagrama de classes de análise

Técnica de Análise das Descrições dos Casos de Uso:

Procure por substantivos existentes nos fluxos dos casos de uso;

Cada substantivo normalmente será:

1. Uma provável classe;

2. Um atributo de uma classe;

3. Uma operação de uma classe;

4. Um aspecto de implementação (ex. relatório);

5. Uma entidade fora do escopo do produto;

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

6

Page 7: 07  diagrama de classes de análise

Os substantivos que se encaixarem nos casos 4

e 5 não interessam e devem ser descartados.

Não se deve também incluir os atores (sujeitos

das frases nos fluxos dos casos de uso) como

prováveis classes.

Outros documentos gerados até então também

podem ser utilizados para análise (mini mundo,

lista de funcionalidades, entrevistas ... etc)

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

7

Page 8: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

8

O caixa faz a abertura da venda.

Para cada item de venda:

O caixa registra informa a identificação e a quantidade do item.

O Sistema totaliza a venda para o cliente.

O caixa encerra a venda.

O Sistema emite o ticket de caixa para o cliente.

O caixa registra a forma de pagamento.

O Sistema faz a baixa no estoque das mercadorias vendidas.

Page 9: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

9

Classe candidata Análise

Abertura operação

Venda provável classe

item de venda provável classe

Identificação atributo do Item de Venda

Quantidade atributo do Item de Venda

Cliente entidade fora do escopo

ticket de caixa relatório (entidade de implementação)

forma de pagamento atributo de Venda

Baixa operação

Estoque atributo da mercadoria (saldo do estoque)

Mercadoria provável classe

Page 10: 07  diagrama de classes de análise

Classes Candidatas: Venda;

Itens de Venda;

Mercadoria;

Geralmente as classes encontradas são classes persistentes: Classes que possuem dados persistentes, ou seja,

dados que devem ser armazenados pelo sistema.

As classes persistentes são aquelas que sobrevivem a cada execução do programa por estarem armazenadas em arquivos ou bancos de dados.

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

10

Page 11: 07  diagrama de classes de análise

Vamos fazer o seguinte exercício 1 do

arquivo disponível no qualidata.

Lista Exercício 6 - Detecção de Classes -

Diagrama de Classes e Diagrama de Sequencia

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

11

Page 12: 07  diagrama de classes de análise

As classes de um domínio não são informações isoladas.

Classes se relacionam;

Após identificarmos as classes teremos que relacioná-las.

Existem alguns tipos básicos de relacionamentos entre as classes: Associação;

Agregação;

Composição;

Associação Reflexiva;

Classe de Associação;

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

12

Page 13: 07  diagrama de classes de análise

Denota relação lógica entre os objetos das classes em questão.

São representadas por uma linha que liga as classes cujos objetos se relacionam.

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

13

Empresa

NomeCNPJTelefone

Inserir( )Excluir( )IncluirProduto( )ExcluirProduto( )

Mercadoria

NomeUnidade

Inserir( )Excluir( )IncluirFornecedor( )ExcluirFornecedor( )GetListaFornecedores( )

Page 14: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

14

Page 15: 07  diagrama de classes de análise

Representam a informação dos limites

inferior e superior da quantidade de objetos

aos quais outro objeto pode se associar.

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

15

NOME SIMBOLOGIA NA UML

Apenas Um 1..1 ( ou 1)

Zero ou Muitos 0 ..* ( ou *)

Um ou Muitos 1 .. *

Zero ou Um 0..1

Intervalo Específico Li ...Ls

Page 16: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

16

Page 17: 07  diagrama de classes de análise

A conectividade corresponde ao tipo de

associação entre duas classes: “muitos para

muitos”, “um para muitos” e “um para um”.

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

17

Page 18: 07  diagrama de classes de análise

Nome da Associação: fornece algum

significado semântico a mesma.

Direção de Leitura: indica como a

associação deve ser lida

Papel: para representar um papel específico

em uma associação.

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

18

Page 19: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

19

Page 20: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

20

Mercadoria

NomeUnidade

Inserir( )Excluir( )IncluirFornecedor( )ExcluirFornecedor( )GetListaFornecedores( )

1..*0..*

Pessoa

NomeCPFTelefone

Inserir( )Excluir( )

Empresa

NomeCNPJTelefone

Inserir( )Excluir( )IncluirProduto( )ExcluirProduto( )

1..*0..*

0..1

1..*

0..1

1..*

fornece produtofornecedor

emprega

empregador

empregado

Page 21: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

21

Page 22: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

22

Page 23: 07  diagrama de classes de análise

Ou também chamada classe Associativa.

É uma classe que está ligada a uma

associação;

Geralmente é necessária quando duas ou mais

classes estão associadas, e dessa associação

surgem informações importantes.

Uma classe associativa pode estar ligada a

associações de qualquer tipo de conectividade.

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

23

Page 24: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

24

Page 25: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

25

Page 26: 07  diagrama de classes de análise

A maioria das associações entre classes são binárias:

Envolve duas classes.

Mas podem existir associações envolvendo 3, 4 ,5 ... Classes.

Associações ternárias envolvem 3 classes e não são muito raras.

Em UML utiliza-se o losango para relacionar associações n-árias.

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

26

Page 27: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

27

Page 28: 07  diagrama de classes de análise

São associações que representam ligações entre

objetos de uma mesma classe.

Não quer dizer que um objeto se ligue a ele próprio.

Deve-se utilizar a denominações de papéis em

associações reflexivas. Veja exemplo:

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

28

Page 29: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

29

Page 30: 07  diagrama de classes de análise

Para entendermos agregação e composição

temos que entender o conceito de:

Relação Todo-Parte;

Uma relação Todo-Parte entre dois objetos

indica que um dos objetos está contido no

outro. Podemos também dizer que um

objeto contém o outro.

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

30

Page 31: 07  diagrama de classes de análise

Se uma das perguntas a seguir for

respondida com um sim, provavelmente há

uma agregação onde X é todo e Y é parte.

X tem um ou mais Y?

Y é parte de X?

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

31

Page 32: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

32

Page 33: 07  diagrama de classes de análise

Composição é uma Agregação mais forte.

Implica que o “todo” é responsável pela criação da “parte” e que esta não vive sem o “todo”.

A composição é mais física, uma parte não pode pertencer a dois objetos compostos ao mesmo tempo: um motor não pode pertencer a dois carros ao mesmo tempo;

uma casa e suas paredes

Implica uma forma de propagação de algumas propriedades: Quando o objeto composto morrer, as partes morrem

também.

Quando um carro se mover, as partes se movem também.

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

33

Page 34: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

34

Page 35: 07  diagrama de classes de análise

Muitas vezes relacionamentos entre classe denotam:

Generalidade ou especificidade entre as classes envolvidas.

Exemplo:

O conceito mamífero é mais genérico que o conceito ser

humano.

O conceito carro é mais específico que o conceito veículo.

Esse é o chamado relacionamento de herança.

Herança é o termo em orientação a objetos que se refere à criação de novas classes a partir de existentes onde os atributos e operações comuns são agrupados para fins de reutilização de código.

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

35

Page 36: 07  diagrama de classes de análise

Observe as duas classes abaixo:

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

36

Page 37: 07  diagrama de classes de análise

Num contexto de um sistema de controle de

pessoal podemos ter a seguinte Generalização:

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

37

Page 38: 07  diagrama de classes de análise

OU

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

38

Page 39: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

39

Page 40: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

40

Page 41: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

41

Page 42: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

42

Page 43: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

43

Page 44: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

44

Page 45: 07  diagrama de classes de análise

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

45

Page 46: 07  diagrama de classes de análise

BALBINO, Marcelo. Análise Orientada a Objetos. Notas de aula.2010.

BEZERRA, Eduardo. Princípios de Análise e Projeto de Sistemas com UML. 2. ed. Rio de Janeiro: Elsevier, 2007.

DIAGRAMA de Classes. Disponível em: <http://www.fca.pt/docs-online/722-636-8_des_sis_inf.pdf>. Acesso em: 08 jun 2011.

GIULIANO. Modelagem Conceitual: Generalização/ Especialização, Agregação e Composição. Disponível em: http://vqv.com.br/lucelia/projSistemas/Classes.pdf. Acesso em: 08 jun 2011.

PAULA Filho, Wilson de Pádua. Engenharia de Software: Fundamentos, Métodos e Padrões. 2. ed. São Paulo: LTC, 2003.

Projeto de Software - Técnico em

Informática - Deisymar Botega Tavares

46