Vous êtes sur la page 1sur 110

Fundamentos & Conceitos de Orientao a Objetos - Com metodologia aplicada

Orientao a Objetos
Porque usar orientao a objetos ?
1. Melhor abstrao do domnio do problema:
y OO mantm num mesmo objeto a estrutura e o comportamento e esta a maneira como a realidade se manifesta. y A percepo de semelhanas no mundo real e a respectiva classificao. Ex: doce de coco, bala de caramelo e sorvete podem ser classificados como Guloseimas. y A constatao de que um carro possui rodas, motor...(Agregao.)

Orientao a Objetos
Porque usar orientao a objetos (cont.)?
2. Facilidade para reusabilidade:
y A implementao de generalizao e especializao, atravs da herana, possibilitam isto. y Identifica e aproveita os pontos comuns dos dados e servios das classes ancestrais.

Orientao a Objetos
Porque usar orientao a objetos (cont.)?
3. Comunicao proporcionando melhor

suporte integridade:
y Interao entre os componentes OO comandada por mensagens e restrita a poucas interfaces bem definidas. O emprstimo pergunta para o livro: Voc est disponvel?

Orientao a Objetos
Porque usar orientao a objetos (cont.)?
4. .Consistncia na Viso dos Modelos:
y Mesmo conjunto de modelos utilizado em todo o ciclo de desenvolvimento. y Objetos definidos na anlise tm representao direta no cdigo, evidenciando a relao entre a definio do
problema e a sua implementao.

y A sincronizao de suas partes pode ser mostrada atravs de Diagramas e da passagem de mensagens entre os objetos do sistema.

CONCEITOS MAIS IMPORTANTES NO AMBIENTE O.O.

1. OBJETOS 2. CLASSES DE OBJETO 3. PROPRIEDADES 4. OPERAES 5. MENSAGENS 6. ENCAPSULAMENTO


6

CONCEITOS MAIS IMPORTANTES NO AMBIENTE O.O.

7. HERANA (INHERITENCE) 8. POLIMORFISMO 9. PACOTE 10. ESTERETIPO 11. DIAGRAMAS

OBJETO (CONCEITO):

uma bolha de inteligncia que sabe agir numa determinada situao. (Steve Jobs)

Objetos podem representar :


- coisas do mundo real: carro, gato, mquinas, Funcionrios, Departamentos, Produtos, etc. - entidades conceituais: contas bancria, compras, pedidos, etc. - coisas visuais: polgonos, pontos, retas, letras, etc. - Objetos de Informtica: labels; botes; caixas de texto, de dilogo; etc.
8

OBJETO (CONCEITO):

y Objeto um conceito, uma abstrao, algo com limites ntidos e significado com relao ao problema em causa. (james rumbaugh).

OBJETO (CONCEITO): y Abstrao consiste na seleo que se faz de alguns aspectos do problema em questo, ignorando-se outros aspectos. y Qualquer objeto real pode ser abstrado para filtrar seu estado e comportamento. O estado de um objeto determinado pelo seu conjunto de atributos (dados), e seu comportamento definido pelos seus servios (mtodos).
10

Classe de Objetos
y uma abstrao de caractersticas comuns um conjunto de objetos similares.
y Exemplos:

Classe: Animais

Classe: Pessoa
11

Classe de Objetos
yInstncia:
Um objeto uma instncia de uma classe.
Exemplo: Maria uma instncia da Classe Pessoa

Objeto: Maria

Classe Pessoa
12

Classe de Objetos
y Conjunto de objetos com propriedades (dados, variveis) semelhantes, mesmo comportamento ( operaes, mtodos, funes ), mesmos relacionamentos com outros objetos e mesma semntica em um domnio de aplicao.

Bens do Hotel Fazenda


13

Classe de Objetos
como se fosse um molde para criao de objetos. Classes fabricam instncias sob requisio. y A classe pode ser pensada como sendo um tipo abstrato de dados (Meyer).Ex:
String nome; Integer idade; Funcionrio func;

y A linguagem Java um conjunto de classes. Ex: Panel, Label, etc.

14

Classe de Objetos
Representao da Classe: A classe representada por um retngulo com trs compartimentos

Os compartimentos de Atributos e de Operaes so opcionais


15

Classe de Objetos
Representao da Instncia: O Objeto possui a mesma representao da classe, porm, seu nome sublinhado
As definies comuns e as operaes de cada instncia so descritas somente uma vez na classe e os objetos da classe podem beneficiar-se da reutilizao das definies armazenadas. Normalmente s se mostra o compartimento do Nome.
16

Classe de Objetos
UMA CLASSE POSSUI:
- Atributos e Operaes de e

Classe.

- Atributos e Operaes de Instncia.

17

Classe de Objetos
Atributos e Operaes de Classe.
Ex: QuantidadeDeFuncionrios um atributo de classe da classe Funcionrio.

Cada atributo de classe possui um nico valor para o conjunto de objetos da classe.

18

Classe de Objetos
Atributos e Operaes de Instncia: Exemplo: nome, dataNascimento e sexo
atributos de instncia da classe Funcionrio. so

y cada atributo de instncia possui um valor

para cada instncia de objeto. y o nome de um atributo nico dentro de uma classe.
19

Classe de Objetos
Tipificao de Classes:
y Classes de Atores: representam os objetos fora

do sistema que trocam informaes com ele (seres humanos, mquinas, agrupamentos lgicos, outros sistemas). So as classes da fronteira do sistema que interagem com os atores e passam mensagens destes para dentro do sistema e do sistema para os atores.

y Classes de Interface:

20

Classe de Objetos
Tipificao de Classes (cont.):
y Classes de Transao ou de Controle: controlam interaes entre um grupo de objetos. Pode controlar um caso de uso ou implementar a interao entre vrios casos de uso. Existem somente durante a execuo do caso de uso. Classes de Entidades: representam as entidades no contexto do sistema. Seus objetos normalmente so persistentes e guardados em BD. Tais classes participam de muitos casos de uso.
21

Classe de Objetos
yTipificao de Classes (cont.):
y Classes de Domnio: so entidades sob o contexto
de outros sistemas que o sistema atual utiliza normalmente para validaes e decodificaes.

Ex1: Data
Propriedades: dia: Integer ms: Ms ano: Integer Operaes: - vlida - extenso - diferena

Ex2: Ms
Propriedades: Operaes numMes: Integer - vlido nome: String - qtdeDias qtdeDiasMes: Integer - decodificar
22

Classe de Objetos
yPrtica:
y Relacione as classes de Entidade e de Domnio do Exerccio 1.

23

Propriedade ou Atributo:
y Caracterstica que um objeto possui. Ex: nome, cor, altura data de nascimento, etc. y O conjunto de propriedades de um objeto definem o seu Estado.

24

Propriedade ou Atributo:
y Sintaxe para declarar um atributo: Especificadordeacesso NomedoAtributo: Tipo-Expresso= ValorInicial
Ex1: + quantAlunos: Integer Ex2: - coordenador: String = no declarado

Ex3: public dataAdeso: Date >1995 =data corrente

25

Propriedade ou Atributo:
y Sintaxe para declarar um atributo (cont.): - Visibilidade ou Especificador de acesso:
y + visibilidade pblica y # visibilidade protegida y - visibilidade privada y / atributo derivado y Para referir-se propriedade de um objeto usa-se como prefixo o nome do objeto. Ex: cliente.nome y Somente o nome e o tipo so obrigatrios. Se for atributo de classe ele registrado sublinhado.
26

Propriedade ou Atributo:
yPrtica:
y Relacione os atributos das classes de Entidade do Exerccio 1.

27

Operao
Operao uma funo ou transformao que pode ser aplicada a objetos ou por estes a uma classe em uma determinada situao.

y As operaes so classificadas em: y Operaes do Ciclo de vida do objeto - So as


que mudam o estado do objeto. Ex: Alterar sua cor, Debitar um valor, Aceitar o crdito de um cliente.

y Operaes Recuperadoras - so as que

fornecem dados aos clientes do objeto. Ex. Mostra Endereo do Cliente, Mostra o status da Promissria, etc.

28

Operao
y Todos os objetos da classe compartilham as mesmas operaes. y Mtodo a implementao de uma operao para uma classe. O ato de invocar um mtodo tambm chamado de passar uma mensagem para o objeto.

29

Operao
y Sintaxe de declarao:
Especificadordeacesso nomedometodo (lista_de_argumentos): tipoderetorno Sendo: lista_de_argumentos:
espcie nomeParmetro : tipo = valor-default

e espcie= in, out ou inOut

30

Operao
Exemplo de Mtodo: public idadeCliente(): Integer (notao UML)

Implementando em Java: public int idadeCliente() { return(get date - this.dataNascimCliente)}


Note que o valor do tipo inteiro a ser retornado especificado aps o return.
31

Operao
Prtica:
Relacione as operaes do ciclo de vida das classes de Entidade do Exerccio 1.

32

Mensagem:
y Todo processamento da OO ativado por uma mensagem entre objetos. Um determinado objeto, recebendo uma mensagem, executar uma ao especfica como resposta ( alterando seu estado interno, enviando mensagens a outros objetos, criando novos objetos, etc ).

33

Mensagem:
Sintaxe para declarao de Mensagem
Predecessor Guarda Sequncia Retorno := NomeMensagem (ListaArgumentos) A mensagem precisa ter pelo menos o nomeda-mensagem( ).

34

Mensagem:
Predecessor ou Antecessor: Corresponde ao conjunto de mensagens que devem terminar sua execuo, antes que a mensagem em questo possa ser iniciada. Ex: 4.1, 4.2 Condio de Guarda: uma condio que deve ser atingida para disparar a execuo da mensagem. Exs: timeout= 10 Seg Saldo + limite >= saque. Identificao da Sequncia da mensagem: Serve para mostrar a seqncia da mensagem na interao. Ex: 5.
35

Mensagem:
Predecessor Guarda Sequncia Retorno := NomeMensagem (ListaArgumentos)

A. Assinatura da Mensagem: o conjunto


formado pelo nome, os argumentos e o valor de retorno de uma mensagem ou sinal.

A.1. Valor de Retorno:

Lista de argumentos que so devolvidos pela mensagem ao objeto emissor, aps a execuo do mtodo desencadeado no objeto alvo.
36

Mensagem:
A. Assinatura da Mensagem (cont.): A.2. Nome da Mensagem:
o nome do evento acionado no objeto-alvo (requisitando uma operao a ser executada). O nome da operao precisa estar definida no objeto alvo ou ter sido herdada por ele.

A.3. Lista de Argumentos:


Conjunto de argumentos que so transmitidos com a mensagem e sero utilizados pelo mtodo desencadeado pela mensagem.
37

Mensagem:
Padres de Sincronizao de mensagens:
Definem a caracterstica de comportamento entre dois objetos participantes de uma mensagem, o emissor e o receptor.

B.1. Sncrono: O processamento do emissor bloqueado


at que o objeto alvo tenha terminado o processamento da mensagem ( fica aguardando uma resposta do alvo ).

B.2. Assncrono: A mensagem passada ao alvo que a


executa em outra thread.
38

ENCAPSULAMENTO
a capacidade que possuem os objetos de incorporar tanto as estruturas de dados que os determinam, como as operaes aplicveis a estas estruturas em um nico bloco de organizao e s permitir o acesso a elas atravs de mtodos determinados.

Vantagens do encapsulamento:
Esconder a complexidade do cdigo. Proteger os dados.
39

Herana
y o mecanismo atravs do qual uma instncia de uma classe assume os atributos e os comportamentos dos objetos de outra classe (antepassados ou antecedentes).

40

Herana
A propriedade herana permite que novas classes sejam construdas pela herana de classes existentes. A nova classe subordinada pode ter atributos e/ou mtodos prprios. As classes que herdam so chamadas de subclasses ( ou classes derivadas ou classes-filho ). As classes antecessoras so denominadas superclasses. Uma classe descendente/subclasse no pode omitir ou suprimir um atributo da superclasse seno esta no seria uma instncia antecessora.
41

Herana
Subclasse com caractersticas diferentes: Pode acontecer que uma sub-classe possua algum mtodo diferente(de alguma maneira) de seu antecessor. isto chamado de extenso. ( vide Polimorfismo ) Uma subclasse pode restringir atributos do antecessor. isto chamado "restrio", pois restringe os valores que aquela instncia pode assumir. Ex: idade: Integer >21
42

Herana mltipla
Uma classe pode possuir mais de uma superclasse e herdar todas as caractersticas (servios/atributos) de todos os seus pais.

43

Herana mltipla
y Uma caracterstica proveniente da mesma classe ancestral encontrada em mais de um caminho herdada apenas uma vez.
Exemplo: a caracterstica cor. Veculo terrestre e veculo aqutico herdam cor da superclasse veculo. A sub-classe veculo anfbio possui herana mltipla de terrestre e aqutico, mas cor ela herda apenas uma vez.

Uma classe com mais de uma super-classe chamada de classe-de-juno. As classes terrestre e aqutico no so disjuntas pois se sobrepe, isto , algum veculos podem andar na terra e na gua.

44

Polimorfismo
Implica que uma mesma operao pode comportarse de maneira diferente em classes distintas, apesar de possuir o mesmo nome. y a propriedade de se utilizar um mesmo nome para fazer coisas diferentes. Exemplo: Mandar algum correr. Se a pessoa estiver parada - ir sair correndo. Se a pessoa estiver no volante de um carro: ir aumentar a presso do p no acelerador.
45

Polimorfismo
O envio da instruo calculaArea poder desencadear o mtodo calculaArea para um tringulo, retnguloou hexgono, dependendo da classe que receber a instruo (cada objeto, com base em sua classe, decide a operao que deve ser executada.)

46

Polimorfismo
y Tipos de polimorfismo:
y Sobreposio, Redefinio (overriding) de mtodo:
O mtodo deve ter a mesma assinatura (nome, argumentos e valor de retorno) e cdigo diferente.

y Sobrecarga (overloading):
Usa- se o mesmo nome e mais alguma caracterstica para se fazer a mesma coisa, dependendo dos argumentos da chamada ser acionado o mtodo adequado.

47

Pacote (package):
y uma facilidade prevista pela UML para agregao de elementos de modelo, semanticamente relacionados, em grupo. Um Pacote pode tambm estar contido em outro pacote. y Um bom indicador para agrupamento de classes em um pacote a coeso forte entre elas. y A linguagem Java prev a incluso de cada classe criada em um pacote.
48

Esteretipo (stereotype)
y Um tipo novo de elemento de modelo que estende a semntica do metamodelo. y Esteretipos devem ser baseados em certos tipos existentes. y Esteretipos podem estender a semntica, mas no a estrutura de tipos e classes pr-existentes. y Certos esteretipos so pr-definidos na UML, outros podem ser definidos pelo usurio.

49

Unified Modeling Language (UML)

Definio de UML - Linguagem de Modelagem Unificada.


A UML a padronizao da linguagem de desenvolvimento orientado a objetos para visualizao, especificao, construo e documentao de sistemas. Desenvolvida por Grady Booch, James Rumbaugh, e Ivar Jacobson.
50

Partes que compem a UML:


y Vises:
Viso uma abstrao composta de alguns diagramas que mostram um aspecto particular do sistema. O conjunto das vises mostra o sistema a ser construido.

y Elementos de modelo:

Cada conceito usado nos diagramas. Cada elemento possui uma definio formal e uma representao grfica utilizada para representar o elemento no diagrama. Exemplos: Classe, objeto, mensagem, pacote, n, associao, generalizao, estado, ao, esteretipo, etc.

51

Partes que compem a UML:


y Mecanismos para adicionar informaes nos diagramas:
Os mecanismos gerais provm comentrios, informaes, ou semntica suplementares sobre os elementos que compem os modelos. Composto de Adornos, Notas e Extenses ( esteretipos, propriedades - tagged values e constraints ).

Os diagramas so os grficos que descrevem o contedo em uma viso. UML possui nove tipo de diagramas que so usados em combinao para prover todas as vises do sistema.
52

y Diagramas:

Vises da UML:

53

Vises da UML:
jViso de Caso de Uso:
Mostra a funcionalidade requerida para o sistema sob o ponto de vista dos usurios do mesmo.

jViso Lgica:

Mostra como a funcionalidade projetada atravs da estrutura esttica e do comportamento dinmico do sistema.

jViso de Componentes:

Demonstra a organizao dos componentes de cdigo.

54

Vises da UML:
jViso de Concorrncia ou Cooperao:

Enfoca a colaborao dos componentes do sistema com respeito comunicao e sincronizao entre eles.

jViso de Implantao (Deployment view):

Mostra a distribuio dos componentes do sistema atravs de sua arquitetura fsica.

55

DIAGRAMAS PREVISTOS NA UML


yDiagrama de Caso de Uso yDiagrama de Interao jDiagrama de Seqncia jDiagrama de Colaborao yDiagrama de Classe yDiagramas de Transio de Estado jDiagrama de Estado jDiagrama de Atividade yDiagramas de Implementao jDiagrama de Componente jDiagrama de Implantao
56

Diagrama de "Casos de Uso"

57

Diagrama de "Casos de Uso"


yMostra o que existe fora do sistema (Atores) e o que pode ou deve ser executado pelo sistema (Casos de Uso). yOs casos de uso servem principalmente para:
jIdentificar a funcionalidade do sistema e homolog-la com o usurio definindo a abrangncia do sistema. jDescrever de forma clara e consistente o que o sistema dever fazer. jSubsidiar o trabalho dos analistas e programadores nas demais fases do desenvolvimento. jSubsidiar os testes do sistema pelos tcnicos e usurios. 58

Diagrama de "Casos de Uso"


yUm diagrama de Caso de Uso um grfico de:
jatores, jconjunto de casos de uso do sistema encapsulados pela fronteira do sistema, ja associao entre os atores e os casos de uso utilizados por eles e jos eventuais relacionamentos entre os prprios casos de uso.

59

Diagrama de "Casos de Uso"


1. Atores:
Os atores representam toda a necessidade de troca de informao com o sistema (seres humanos, mquinas, agrupamentos lgicos, outros sistemas).

y Ator representa uma certa regra que um usurio pode utilizar na interao com o sistema. y Usurio a pessoa que est usando aquela regra, naquele momento. y Ator uma classe, enquanto o usurio uma instncia daquela classe.

60

Diagrama de "Casos de Uso"


2. Casos de Uso:
Uma instncia de um ator desencadeia a execuo de um "caso de uso" no sistema. y Um "caso de uso" , portanto, um conjunto de transaes, executadas em uma determinada seqncia, em um dilogo com o sistema. Um caso de uso pode ser visto como uma classe de objetos. Quando se inicia um caso de uso estamos instanciando a classe: caso de uso. Cada instncia desta classe chamaremos de cenrio.
61

Diagrama de "Casos de Uso"


2. Casos de Uso (cont.):
Cada cenrio retrata a seqncia de interaes entre atores (estmulos e respostas) e classes do sistema (consultas e atualizaes) com todas as alternativas de deciso (e respectivas aes) definidas. y Um cenrio pode ser desencadeado: yatravs de um evento externo (estimulado por um usurio instncia de um ator), ou ypor um evento temporal (o sistema toma a iniciativa atravs de um algoritmo interno tempo transcorrido, mudana de estado, etc.) yUtilizaremos para representar os cenrios os diagramas de interao: diagrama de seqncia ou de colaborao.
62

Diagrama de "Casos de Uso"


3. Relacionamentos entre casos de uso: Extenso:
Um relacionamento de extenso de um caso "A" (caso estendido) para um caso "B" (caso bsico) indica que instncias especficas de "B" podem incluir "A". y Portanto um caso de uso de extenso normalmente criado para mostrar comportamentos especiais e de exceo, que complementam o caso bsico, quando aquelas condies excepcionais ocorrerem. Exemplo:

63

Diagrama de "Casos de Uso"


3. Relacionamentos entre casos de uso (cont): Inclui (Uso):
Um relacionamento de Incluso (Uso) de um caso A para um caso B indica que um caso A incluir, tambm, o caso B. Para todas as instncias do caso "Receber Pagamento" ser usado o caso "Emitir Recibo". Exemplo:

64

Diagrama de "Casos de Uso"

Prtica:
Desenhe o diagrama de casos de uso do Exerccio 1.

65

Diagrama de Classes
Diagrama de classes mostra a estrutura esttica do sistema atravs de suas classes e objetos e tambm como eles se relacionam.
As classes de objetos se relacionam ou se associam, de acordo com as necessidades do sistema. A meta na construo de um modelo de objetos incorporar os conceitos do mundo real que sejam importantes para a aplicao.

66

Diagrama de Classes
Tipos de Relacionamentos no diagrama de Classes:
1. Associao 2. Agregao e Composio

3. Generalizao/Especializao
67

Diagrama de Classes
1. Associao:
Uma associao acontece quando uma determinada instncia de uma classe se associa a uma ou mais instncias de outra ou da mesma classe. Associaes so os meios para estabelecermos relacionamentos entre classes. yligaes so conexes entre instncias de objetos.

68

Diagrama de Classes
1. Associao:
yAs associaes podem ser unrias, binrias, ternrias ou de ordem mais elevada.

Ex. de associao Binria

Ex. de Unria

69

Diagrama de Classes
1. Associao - PAPIS EM ASSOCIAO: yA) Cardinalidade ou Multiplicidade:
0..1 0..* 1 1..* * 2..4 Opcional e nico Opcional e mltiplo Obrigatrio e nico Obrigatrio e mltiplo O mesmo que 0..* De 2 a 4
70

1..2,5,7..14 1 e 2, 5 e 7 a 14

Diagrama de Classes
1. Associao - Classe de Associao
Cada ligao da associao um objeto da classe de Associao. Ela utilizada para acrescentar informaes extras para as ligaes (atributos, operaes). Ex:

71

Diagrama de Classes
2. Agregao:
um tipo especial de associao em que um objeto contm o(s) outro(s).
A Agregao tambm chamada de relacionamento Todo/Parte. Isto , um objeto agregado feito de componentes. Os componentes fazem parte do agregado (todo).

Semanticamente o objeto parte um atributo do objeto todo.


72

Diagrama de Classes
2. Agregao
y 2.1. Agregao Normal:
y Os componentes podem ser compartilhados por outros agregados ( ou compostos).

73

Diagrama de Classes
2. Agregao:
y 2.2. Agregao de composio ou Composio: uma agregao forte em que as partes esto fisicamente contidas dentro do todo. y Os componentes no podem ser compartilhados por outros compostos. Uma excluso do todo desencadeia uma excluso em cascata das partes, portanto o ciclo de vida de ambos coincide.

74

Diagrama de Classes
3 Generalizao / Especializao:
y A generalizao uma forma de se estruturar a

visibilidade de um elemento global com uma viso mais detalhada do mesmo.


y Isto feito adicionando caractersticas especficas ao elemento na viso detalhada e aproveitando as gerais.
75

Diagrama de Classes
3 Generalizao / Especializao:
y Tanto a super-classe, como as sub-classes referem-se s caractersticas de um nico objeto. y Com a generalizao um objeto simultaneamente instncia da super-classe e instncia da sub-classe. y Generalizao chamada de relacionamento: tipo_de ou um. (Material rodante um - ou tipo de material)

y chamada tambm de relacionamento OU. (Material ou material rodante ou de consumo ...)


76

Diagrama de Classes
y

Prtica:

Desenhe o diagrama de Classes do Exerccio 1.

77

Diagrama de Estados
O diagrama de estados representa, para uma classe, o ciclo de vida de seus objetos (seu padro de eventos, estados e transies de estados).

yConstri-se somente diagrama de estados para as classes que possuem comportamento dinmico importante.

78

Diagrama de Estados
1. Estado:
yUm estado uma abstrao dos valores de atributos e ligaes de um objeto.
y Exemplo: y Se o elevador estiver no estado parado e receber o evento comando de Subir:(andar) ele passa para o estado de subindo. y Ao chegar no andar( evento ) ele passa para o estado parado.
79

Diagrama de Estados
1. Estado (cont.):
Representao: yO compartimento de Atividades Internas apresenta a lista de atividades executadas enquanto o objeto est naquele estado.

Palavras reservadas: yentrar / ao ...executada quando se entra no estado. yfazer / ao ...executada enquanto o objeto est no estado. ysair / ao ...executada quando se sai do estado.

80

Diagrama de Estados
1. Estado (cont.):
Exemplo: Uma catraca para controle de acesso de pessoas possui os estados: "bloqueada" e "liberada para passagem". No estado de "liberada para passagem" pode-se prever as seguintes atividades:

81

Diagrama de Estados
2. Evento:
Representao:

Evento algo que acontece e pode causar uma ao.

y O objeto Elevador reage ao estmulo dependendo de seu estado. Ele pode modificar seu estado, pode enviar resposta para o remetente ou acionar outro objeto, atravs de novos eventos e estmulos.

82

Diagrama de Estados
2. Evento (cont.):
y

Tipos de Eventos: yMensagem yTempo transcorrido yCondio de Guarda (condies que se tornam
verdadeiras)

83

Diagrama de Estados
3. Transio:
y A modificao de estado causada por um evento chamada de transio. Um estado corresponde ao intervalo entre dois eventos recebidos por um objeto. Os eventos correspondem a pontos no tempo e os estados representam intervalos no tempo.

84

Diagrama de Estados
3. Transio (cont.):
y A transio recebe o nome do seu evento causador. Quando o evento acontece, a transio de um estado para outro executada ou disparada. A sintaxe para a notao da transio de estados : Evento [ guarda ] / ao Todas as partes da sintaxe so opcionais.

85

Diagrama de Estados
4. Diagrama:
Exemplo:
Observe: 1. Os estados inicial e final; 2. As transies geradas por: - evento, - guarda - ao 3. o super-estado: Ativo;
86

Diagrama de Estados
Prtica:
Desenhe o diagrama de Estados para a classe Reserva do Exerccio 1.

87

Diagramas de Interao
Uma troca especfica de mensagem entre objetos com suas chamadas, condies, eventos acionados por tempo, etc. chamada de Interao. Um objeto envia uma mensagem a outro quando necessita de sua colaborao para realizao de uma determinada tarefa. Os diagramas de Interao servem, ento, para mostrar a colaborao dinmica entre os objetos na realizao de uma operao ou um caso de uso. Existem dois tipos de diagramas de Interao: diagrama de colaborao; diagrama de seqncia.
88

Diagrama de Seqncia

89

Diagrama de Seqncia
1. Diagrama:
Mostra os objetos e as mensagens sendo trocadas entre eles, necessrias para a execuo de uma determinada tarefa, evidenciando a ordem em que as coisas acontecem, sem mostrar as associaes entre os objetos.

Os objetos so mostrados na parte superior do grfico e para cada objeto desenhada uma linha vertical, que representa a linha de vida do objeto.

90

Diagrama de Seqncia
2. Linha de Vida:
Representa a existncia determinado tempo. do objeto em um

Se a uma determinada mensagem representa a criao da instncia do objeto, sua linha de vida inicia-se naquele ponto; Se ela representa a destruio do objeto ( representada por um X na ponta da seta ) a linha termina neste ponto; Se o objeto existe durante todo o processo, a linha de vida permeia todo o espao vertical do diagrama.
91

Diagrama de Seqncia
3. Ativao:
Uma ativao evidencia o perodo de tempo em que um objeto est executando uma ao diretamente ou atravs de um procedimento subordinado. A ativao representada por um retngulo de base pequena e cuja altura representa o tempo da ao ( o topo da retngulo coincide com o incio da ao e a base com o fim da mesma ). A ao a ser executada pode ser colocada em uma etiqueta na proximidade da ativao ou na margem esquerda do diagrama ou estar implcita na mensagem que aciona a ativao.
92

Diagrama de Seqncia
4. Auto-delegao:
Evidencia a mensagem cujo objeto emissor (remetente) coincide com o objeto alvo (destinatrio). Trata-se de uma chamada recursiva. Se a chamada recursiva se der sobre uma ativao, desenhase um outro retngulo aninhado com o primeiro, para mostrar a auto-delegao.

93

Diagrama de Seqncia
5. Mensagem:
Mensagem a unidade fundamental da comunicao entre objetos.
A recepo de uma mensagem causa a invocao de uma operao no recebedor (objeto alvo). Este executa o mtodo da classe que corresponde quela operao. As mensagens so representadas por setas nomeadas, colocadas nas proximidades da ligao, que ligam os objetos atravs de suas linhas de vida.
94

Diagrama de Seqncia
Prtica:
Desenhe o diagrama de seqncia para o caso de uso Reserva Publicao do Exerccio 1.

95

Diagrama de Colaborao
4. Diagrama:
Mostra os objetos e as mensagens sendo trocadas entre eles, necessrias para a execuo de uma determinada tarefa, evidenciando as associaes entre os objetos. O diagrama de colaborao no contempla o tempo como uma das dimenses do diagrama (como o diagrama de seqncia o faz) e portanto precisa mostrar os nmeros de seqncia das mensagens.

96

Diagrama de Colaborao
1. Diagrama:

As mensagens internas que representam um mtodo so numeradas desde 1; mensagens subsequentes ganharo nmeros subsequentes; caso tenhamos um fluxo processual de controle, a numerao deve ser aninhada de maneira correspondente.

97

Diagrama de Atividade
1. Conceito:
O diagrama de atividade uma variao do diagrama de estado onde cada smbolo do diagrama representa um "estado de atividade" ou, simplesmente, atividade. Atividade, neste contexto, significa o estado de se estar executando alguma coisa, como por exemplo: atividades do mundo real, normalmente manuais (o envio de uma mercadoria ou o etiquetamento para envio da mesma) algum processamento de software (execuo de um mtodo de uma classe).
98

Diagrama de Atividade
2. Diagrama:
Os estados no diagrama de atividade mudam para um prximo estgio quando uma ao executada (sem ser necessrio especificar nenhum evento como no diagrama de estado).
99

Diagrama de Atividade
3.
Tabela de Notaes dos comportamentos do Diagrama de Atividades

100

Diagrama de Atividade
4. Diagrama de Atividades com Raias:
Uma raia (swimlane) agrupa atividades identificando quem responsvel e onde estas atividades residem na organizao.
101

Diagrama de Atividade
4. Finalidade do Diagrama:
visualizar um processo de negcio da empresa,

entender as etapas que compem um caso de uso, para poder contemplar seu comportamento condicional e paralelo, dar visibilidade a processamentos paralelo (threads distintas sendo executadas ao mesmo tempo) e definir suas regras de sincronizao. subsidiar o entendimento de operaes que necessitem de algortmos complexos.

102

Diagrama de Componentes
Descreve os componentes de software e suas

respectivas dependncias, representando a estrutura do cdigo.


Componentes so os arquivos de implementao no ambiente de desenvolvimento. Podem ser dos tipos: fonte (tempo de compilao); binrio (tempo de linkedio); executvel (tempo de execuo). Representao:
103

Diagrama de Componentes
Descreve os componentes de software e suas

respectivas dependncias, representando a estrutura do cdigo.


Componentes so os arquivos de implementao no ambiente de desenvolvimento. Podem ser dos tipos: fonte (tempo de compilao); binrio (tempo de linkedio); executvel (tempo de execuo). Representao:
104

Diagrama de Implantao
Mostra os dispositivos de Hardware usados no sistema e suas respectivas ligaes. Os componentes desenvolvidos ou reusados no sistema precisam ser alocados em algum conjunto de HW para executar.

Ns so elementos fsicos que existem em tempo de execuo e representam recursos computacionais.


Representao
105

Diagrama de Implantao
Ex. Diagrama de Implantao :

106

Exerccio 1 - pg 1/4

Controle de Publicaes da Biblioteca


Controle de Publicaes da Biblioteca
Uma biblioteca pblica possui publicaes (livros, jornais e revistas), que podem ser emprestadas para os scios emprestadores da biblioteca. O nmero de emprestadores ativos gira em torno de 500 atualmente. Os scios leitores somente freqentam a biblioteca para leitura de publicaes De acordo com as regras pr-estabelecidas, pela direo da biblioteca, os emprestadores podem levar, ao mesmo tempo, emprestados 3 livros, mais 2 revistas e 1 jornal. O sistema de controle de emprstimos dever garantir que um emprestador somente faa novos emprstimos aps a devoluo das publicaes em seu poder. A biblioteca permite que os emprestadores faam reservas de publicaes que se encontrem emprestadas ou que esto sendo lanadas, mas ainda no esto disponveis. Para somente ler publicaes na prpria biblioteca o scio no precisa assinar o termo de adeso para emprstimos.
107

Exerccio 1 - pg 2/4

Controle de Publicaes da Biblioteca


Como so atendidos os emprestadores.
Para poder tomar emprestado qualquer tipo de publicao da biblioteca, os emprestadores devem estar cadastrados e assinar um acordo de participao. Aps o aceite da proposta de cadastramento, os emprestadores recebem um cdigo e uma senha para comunicao atravs de telefone ou fax. Todo o material emprestado tem uma data limite de devoluo (atualmente 30 dias). Caso o emprestador no devolva as publicaes dentro do prazo, o mesmo dever ser notificado para efetuar a devoluo. Se mesmo assim, o emprestador no comparecer biblioteca para regularizar a situao, ele ser cancelado do cadastro e seu caso encaminhado ao depto. jurdico para providncias. O cancelamento de um emprestador poder ocorrer conforme o descrito ou no caso de pedido de cancelamento pelo prprio emprestador. O emprestador recebe pelo correio, periodicamente, as novidades e os lanamentos que a biblioteca est realizando. 108

Exerccio 1 - pg 3/4

Controle de Publicaes da Biblioteca


Sobre as publicaes
Quando a biblioteca fica sabendo que receber novas publicaes, revistas, livros e jornais, ela preenche as fichas correspondentes e j coloca disposio dos emprestadores e leitores os dados a respeito das mesmas, para que eles possam efetuar suas reservas. Para cada publicao so registrados os dados da publicadora, dos autores, data de publicao, classificao de gnero, lngua, principais temas, manchetes, etc.; Quando da chegada da publicao, os dados de cadastramento so revisados e os volumes tornam-se disponveis para os emprstimos. As publicaes podem ser eliminadas do Acervo quando : Tiverem um alto nvel de rasuras, sem possibilidades de conserto. No forem devolvidas pelos emprestadores ( Todos os volumes) As publicaes, durante a fase de cadastramento, recebem um nmero, que servir de base para controle de emprstimos e de reservas.
109

Exerccio 1 - pg 4/4

Controle de Publicaes da Biblioteca


Como funciona a reserva de publicaes.
Um emprestador pode efetuar reservas de publicaes divulgadas, porm ainda no disponveis ou publicaes cujos volumes esto todos emprestados. O atendimento das reservas pela ordem das datas de reservas e, se em 48 horas aps o aviso de liberao, o emprestador no se manifestar ou no retirar a publicao, automaticamente ela ser dirigida prxima pessoa da lista de reservas. Caso no haja reservas a publicao ficar disponvel na biblioteca. Um emprestador, a qualquer momento poder cancelar reservas efetuadas em seu nome, atravs de seu nmero e senha. Uma reserva somente ser atendida se o emprestador no atingiu o limite de emprstimos da biblioteca. Caso a biblioteca no possa atender uma reserva, no prazo mximo de 30 dias, ela ser automaticamente cancelada e o emprestador ser avisado do fato. Nesse caso ser permitido ao emprestador reativar sua reserva.
110

Vous aimerez peut-être aussi