Você está na página 1de 9

Anlise Processo

Anlise Processo

Sistema
Informao
Pontifcia Universidade Catlica de Minas Gerais
Instituto de Informtica Curso Sistemas de Informao

Sistema

Classes

Informao

Uma classe representa um grupo de objetos semelhantes. Uma classe descreve esses objetos atravs de:
Atributos (propriedades)
Os atributos correspondem s informaes que um objeto armazena. Cada atributo esta associado a um conjunto de valores que esse atributo pode assumir

UML Modelo de Classes


Professora Ktia Adriana Alves Leite de Barros Setembro / 2008
Anlise de Sistemas de Informao II

Mtodos (Operaes )
Os mtodos correspondem s aes que um objeto sabe realizar. Objetos de uma mesma classe compartilham as mesmas operaes
Anlise de Sistemas de Informao II
UML - Diagrama de Classes 2

Anlise Processo

Anlise Processo

Sistema

Sistema

Nomenclatura Utilizada

Informao

Notaes de Classes
Dependendo do tipo de abstrao, pode ser:
a) b)
Nome da Classe

Informao
d)
Nome da Classe Lista de Atributos Lista de Mtodos

Fica a cargo da equipe de desenvolvimento Em nossa disciplina seguiremos Bezerra (2006)


Nome de Classe:
Sem espao e preposies, comeando com letra maiscula Ex.: ContaBancria, Aluno, ItemEstoque

Nome da Classe Lista de Atributos

Nome de atributo e operao:


Primeira letra do nome em minsculo, exceto para siglas. Sem espao e preposies Ex.: nomeAluno, CPF, desbloquear, calcularSaldo

c)

Nome da Classe Lista de Mtodos

Anlise de Sistemas de Informao II


UML - Diagrama de Classes 3 UML - Diagrama de Classes

Anlise de Sistemas de Informao II


4

Anlise Processo

Anlise Processo

Sistema

Sistema

Notao de Classes
Exemplo de uso:
ContaBancria ContaBancria nmero saldo dataAbertura criar() bloquear() desbloquear() creditar() debitar()

Informao

Associao

Informao

Relacionamentos entre objetos durante a execuo do sistema Exemplos:


No domnio de vendas, cliente compra produtos.
Cliente Produto

ContaBancria nmero saldo dataAbertura

Em um hotel, h vrios hspedes, assim como h vrios quartos. Os hspedes do hotel ocupam quartos.
Hspede Quarto
Anlise de Sistemas de Informao II
UML - Diagrama de Classes 6

Anlise de Sistemas de Informao II


UML - Diagrama de Classes 5

Anlise Processo

Anlise Processo

Sistema

Sistema

Associao
Multiplicidades:

Informao

Associao
Multiplicidade x Conectividade
Conectividade
Um para um Um para muitos Muitos para muitos

Informao

Informao dos limites inferior e superior da quantidade de objetos aos quais outro objeto pode estar associado. Simbologia utilizada:
Nome Apenas um Zero ou muitos Um ou muitos Zero ou um Intervalo especfico 0..* 1..* 0..1 li..ls
Anlise de Sistemas de Informao II
UML - Diagrama de Classes 7

Multiplicidade de um extremo
1.. 1 ou 1 0..1 1..* ou 1 ou * ou 0..*

Multiplicidade de outro extremo


1..1 ou 1 * ou 1..* ou 0..* * ou 1..* ou 0..*

Simbologia 1.. 1 ou 1 ou *

Anlise de Sistemas de Informao II


UML - Diagrama de Classes 8

Anlise Processo

Anlise Processo

Sistema

Sistema

Associao
Exemplos :
Um para um
Empregado

Informao

Associao
Participao

Informao

Caracterstica relacionada necessidade ou no da existncia da associao entre os objetos, sendo:


Departamento

1 Um para muitos
Empregado

0..1
Departamento

1 obrigatria 0 - opcional

Exemplo: 0..* 1
Projeto

Muitos para muitos


Empregado

Um cliente pode estar associado a vrios pedidos, como tambm, pode haver cliente que no esteja associado a pedido algum. Todo pedido tem que est associado a um nico cliente.
Cliente
Obrigatria

Pedido

0..*
UML - Diagrama de Classes

1..*
Anlise de Sistemas de Informao II
9 UML - Diagrama de Classes

0..*
Opcional Anlise de Sistemas de Informao II
10

Anlise Processo

Anlise Processo

Sistema

Sistema

Associao
Nome, direo de leitura e papis
Nome da associao papel Contrata Organizao
contratante contratado

Informao

Agregao

Informao

Caso especial de associao, onde mostra como classes so compostas de outras classes.
Regra aplicada:
Sendo duas classes X e Y,
papel
X tem um ou mais Y? Y parte de X?

Direo de leitura

Exemplo:
Indivduo

Jogador (parte) e Equipe (todo) e entre Equipe (parte) e AssociaoEsportiva (todo)


Afiliada membro

AssociaoEsportiva
Anlise de Sistemas de Informao II
UML - Diagrama de Classes 11 UML - Diagrama de Classes

Equipe

Jogador

Anlise de Sistemas de Informao II


12

Anlise Processo

Anlise Processo

Sistema

Sistema

Classes Associativas

Informao

Classes Associativas

Informao

Classes ligadas associaes e no ligadas a outras classes


Emprego salrio dataContratao Pessoa nome telefone endereo
empregado empregador

Uma classe associativa pode se transformar em uma classe ordinria


Pessoa Emprego Empresa

Empresa

razoSocial endereo

nome telefone endereo

salrio * dataContratao

razoSocial 1 endereo

Anlise de Sistemas de Informao II


UML - Diagrama de Classes 13 UML - Diagrama de Classes

Anlise de Sistemas de Informao II


14

Anlise Processo

Anlise Processo

Sistema

Sistema

Associaes n-rias

Informao

Classe Associativa n-ria


Exemplo de classe associativa ternria
Curso nome

Informao

Quando h necessidade de associar mais de duas classes distintas


Exemplo de associao ternria :
Um tcnico utiliza exatamente um computador para cada projeto em que trabalha
Computador modelo

*
Estudante nome Instrutor

* nome

*
Tcnico nome Projeto

1 nome

SeoCurso semestre tituloLivroTexto


Anlise de Sistemas de Informao II Anlise de Sistemas de Informao II
UML - Diagrama de Classes 16

UML - Diagrama de Classes

15

Anlise Processo

Anlise Processo

Sistema

Sistema

Associaes Reflexivas

Informao

Identificando Classes
Mtodo dirigido a dados

Informao

Tambm conhecida como auto-associao Associa um objeto de uma classe com objetos da mesma classe Exemplo:
Superviso de empregados
Superviso supervisor

nfase identificao da estrutura dos conceitos relevantes para um domnio do negcio, resultando o modelo conceitual do sistema

Mtodo dirigido a responsabilidades


nfase na identificao de classes a partir de seus comportamentos relevantes para o sistema Identificao das responsabilidades que cada classe deve ter dentro do sistema.

1 *
supervisionado Anlise de Sistemas de Informao II

Empregado nome cargo

Anlise de Sistemas de Informao II


UML - Diagrama de Classes 18

UML - Diagrama de Classes

17

Anlise Processo

Anlise Processo

Sistema

Sistema

Responsabilidades e Colaborao
Responsabilidade

Informao

Responsabilidades e Colaborao
Exemplo:

Informao

uma obrigao que o objeto tem com o sistema a qual est inserido. algo que o objeto conhece ou faz (sozinho ou sendo ajudado)

Requisio da impresso de fatura de um pedido, em um sistema de vendas


Objeto pedido : responsabilidade de fornecer o seu valor total Objeto Item de pedido: responsabilidade de informar a quantidade do produto correspondente e o valor do seu subtotal Objeto produto: responsabildiade de informar seu nome e preo unitrio
Pedido ItemPedido Produto

Colaborao
Responsabilidades que um objeto no pode cumprir sozinho, e que, para cumpri-las necessita da colaborao de outros objetos.

Anlise de Sistemas de Informao II


UML - Diagrama de Classes 19 UML - Diagrama de Classes

Anlise de Sistemas de Informao II


20

Anlise Processo

Anlise Processo

Sistema

Sistema

Categorias de Responsabilidades

Informao

Categorias de Responsabilidades
Objetos de Entidade

Informao

Facilita o reuso dos objetos no desenvolvimento de sistemas semelhantes Facilita a adaptao do sistema a eventuais mudanas.
Tipos de mudanas que podem ser necessrias e tipos de objetos que devem ser modificados:
Tipo de mudana Mudana na interface sistema, ou em relao interface grfica, ou em relao comunicao com outros sistemas Mudanas nas informaes manipuladas pelo sistema Onde mudar Objetos de Fronteira Objetos de Entidade

Repositrio para alguma informao utilizada pelo sistema. Caractersticas:


Objetos que armazenam informaes persistentes do sistema Existem vrias instncias de uma mesma classe no sistema Os atores do sistema no tem acesso direto a esses objetos Participam de vrios casos de uso e tm um ciclo de vida longo

Responsabilidades tpicas de fazer:


Informar valores dos seus atributos a objetos de controle Realizar clculos simples Criar e destruir objetos-parte
Anlise de Sistemas de Informao II
UML - Diagrama de Classes 22

Mudanas em funcionalidades complexas (que envolvem a Objetos de Controle coordenao de vrios objetos)
Anlise de Sistemas de Informao II
UML - Diagrama de Classes 21

Anlise Processo

Anlise Processo

Sistema

Sistema

Categorias de Responsabilidades
Objetos de Fronteira

Informao

Categorias de Responsabilidades
Objetos de Controle

Informao

Realizam comunicao direta entre o sistema e os atores, podendo ser:


Classes que realizam interface com usurios (ator humano) e o sistema Classes que realizam interface com outros sistemas Classes que realizam interface com dispositivos atrelados ao sistema.

Servem como ponte de comunicao entre objetos de fronteira e objetos de entidade. Existem somente durante a execuo de um caso de uso Responsabilidades de fazer:
Realizar monitoraes , a fim de responder a eventos externos do sistema (gerados por objetos de fronteira) Coordenar a realizao de um caso de uso atravs do envio de mensagens a objetos de fronteira e objetos de entidade Assegurar que as regras de negcio esto seguidas corretamente Coordenar a criao de associaes entre objetos de entidade
Anlise de Sistemas de Informao II
UML - Diagrama de Classes 24

Responsabilidades de conhecer:
Notificar aos objetos de controle os eventos gerados extenamente ao sistema (representam informaes entre usurio e a interface) Notificar aos atores o resultado de interaes entre objetos internos (representam interface de comunicao)
Anlise de Sistemas de Informao II
UML - Diagrama de Classes 23

Anlise Processo

Anlise Processo

Sistema

Sistema

Identificao de Classes

Informao

Identificao de Classes
Analisando os casos de Uso

Informao

A realizao de um caso de uso envolve objetos de controle, de fronteira e de entidade

Durante a anlise descritiva do caso, nomes so destacados para detectar classes candidatas, da seguinte forma:
Substantivos e locues equivalentes a substantivos no texto so destacados
Devem ser removidos: Sinnimos: deixando apenas o nome mais significativo para o domnio do sistema Nome do ator se no for necessrio que o sistema mantenha informaes sobre ele.

Na identificao das responsabilidades da classe faz


Identificar os verbos que representam aes e o sujeito da frase em que o verbo foi utilizado ser a classe
Anlise de Sistemas de Informao II
UML - Diagrama de Classes 25 UML - Diagrama de Classes

Anlise de Sistemas de Informao II


26

Anlise Processo

Anlise Processo

Sistema

Sistema
Informao Identificao das Propriedades da Classe Atributos
Esto associados s responsabilidades de conhecer de uma classe Cada atributo deve possuir as seguintes propriedades:
Guarda valor atmico
Possui valor nico

Identificao de Classes

Informao

Modelagem CRC Classes, Reponsabilidades e Colaboradores


Tcnica de ensino de OO a iniciantes Passos:
1. 2. Selecionar um conjunto de cenrios de casos de uso Para um dos cenrios:
a) Examinar a sua seqncia de passos para identificar as responsabilidades do sistema em relao a cada um desses passo b) Identificar classes relevantes que devem cumprir com essas responsabilidades

No contm estrutura interna


Caso contrrio poder ser modelada como uma classe

Aplica-se a todos os objetos da classe

3.

Repetir o passo 2 para o prximo cenrio e modificar a alocao de responsabilidade e a definio de classes
Anlise de Sistemas de Informao II Anlise de Sistemas de Informao II
UML - Diagrama de Classes 28 27

UML - Diagrama de Classes

Anlise Processo

Anlise Processo

Sistema

Sistema

Outras Identificaes
Associao
Verificar quem so os colaboradores da classe

Informao

Documentao
Diagrama de Classes documentado Disposio dos elementos do diagrama

Informao

Agregao
Verificar quem so os colaboradores da classe e, se a classe em questo o todo e o seu colaborador a parte.

Classes posicionadas de forma que as associaes sejam lidas da esquerda para direita ou de baixo para cima Incluir estereotipos da UML nas Classes
<<fronteira>> , <<entidade>> ou <<controle>>

Classe Associativa
Surge a partir de responsabilidade de conhecer (raramente de fazer) que o modelador no conseguiu atribuir a alguma classe.
Anlise de Sistemas de Informao II
UML - Diagrama de Classes 29

As classes devem ser documentadas textualmente Os atributos devem ser documentados, caso seu nome no seja de fcil entendimento
Anlise de Sistemas de Informao II
UML - Diagrama de Classes 30

Anlise Processo

Anlise Processo

Sistema

Sistema

Modelo de Classes de Domnio


Criando Modelo de Classes de Domnio

Informao

Modelo de Classes de Domnio

Informao

Identifica-se as classes a partir da descrio dos casos de uso essenciais Refina essa identificao para retirar redundncias e inconsistncias Classes so documentadas Diagrama de classes construdo

Verifica e elimina inconsistncias entre os Modelos de Caso de Uso e de Classes de Domnio


Anlise de Sistemas de Informao II
UML - Diagrama de Classes 31 UML - Diagrama de Classes

Anlise de Sistemas de Informao II


32

Anlise Processo

Sistema

Referncia

Informao

Bezerra, E. Princpios de Anlise e Projeto de Sistemas com UML. Campus: Rio de Janeiro, 2006.

Anlise de Sistemas de Informao II


UML - Diagrama de Classes 33