notação básica dos diagramas de comunicaçãoines/cursos/proj-si/materiais/aula0… · garantia...

44
Notação Básica dos Diagramas de Comunicação UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Projeto e Desenvolvimento de Sistemas de Informação

Upload: others

Post on 07-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Notação Básica dos Diagramas de Comunicação

UNIVERSIDADE ESTADUAL PAULISTAINSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATASDEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA

Diagramas de Comunicação

Projeto e Desenvolvimento de Sistemas de Informação

Page 2: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

RefinarPlano

Sincronizarartefatos

Analisar Projetar Construir Testar

1. Refinar a arquitetura do sistema

2. Definir diagramasde interação

3. Definir Diagramas deClasses de Projeto

4. Definir o EsquemaDo Banco de Dados

Page 3: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Conclusão da Fase de Análise

� A fase de análise enfatiza uma compreensão dos requisitos do sistema.

� Conjunto mínimo de artefatos:

Artefato da Análise

Casos de Uso

Modelo Conceitual

Diagramas de Sequência do Sistema

Contratos

Questões respondidas

Quais são os processos do domínio?

Quais são os conceitos, os termos?

Quais são os eventos e operações?

O que fazem as operações do sistema?

Page 4: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

O começo da fase projetar� Nesta fase é desenvolvida uma solução

lógica baseada no paradigma orientado a objetos.

� Os dois artefatos principais a serem � Os dois artefatos principais a serem desenvolvidos são:� Diagramas de Interação

� Princípios para atribuição de responsabilidades aos objetos envolvidos em uma operação

� Uso de Padrões.� Diagramas de Classe de Projeto

Page 5: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

O que já foi visto até agoraCasos de Uso Completo Abstrato

Caso de Uso: Emprestar Livro

Ator Principal: Atendente

Interessados e Interesses:

- Atendente: deseja registrar que um ou mais livros estão em posse de um leitor, para

controlar se a devolução será feita no tempo determinado.

- Leitor: deseja emprestar um ou mais livros, de forma rápida e segura.

- Bibliotecário: deseja controlar o uso dos livros, para que não se percam e para que

sempre se saiba com que leitor estão no momento.

Pré-Condições: O Atendente é identificado e autenticado. Emprestar Livro

Diagrama de Casos de Uso

Pré-Condições: O Atendente é identificado e autenticado.

Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados

no Sistema. Os livros emprestados possuem status “emprestado”

Cenário de Sucesso Principal:

1. O Leitor chega ao balcão de atendimento da biblioteca e diz ao atendente que deseja

emprestar um ou mais livros da biblioteca.

2. O Atendente seleciona a opção para realizar um novo empréstimo.

3. O Atendente solicita ao leitor sua carteira de identificação, seja de estudante ou

professor.

4. O Atendente informa ao sistema a identificação do leitor.

5. O Sistema exibe o nome do leitor e sua situação.

6. O Atendente solicita os livros a serem emprestados.

7. Para cada um deles, informa ao sistema o código de identificação do livro.

8. O Sistema informa a data de devolução de cada livro.

9. Se necessário, o Atendente desbloqueia os livros para que possam sair da biblioteca.

10. O Leitor sai com os livros.

Fluxos Alternativos: (1-8). A qualquer momento o Leitor informa ao Atendente que desistiu do empréstimo.

3. O Leitor informa ao Atendente que esqueceu a carteira de identificação.

1. O Atendente faz uma busca pelo cadastro do Leitor e pede a ele alguma

informação pessoal para garantir que ele é mesmo quem diz ser.

4. O Leitor está impedido de fazer empréstimo, por ter não estar apto.

1.Cancelar a operação.

7a. O Livro não pode ser emprestado, pois está reservado para outro leitor.

1. O Atendente informa ao Leitor que não poderá emprestar o livro e pergunta se

deseja reservá-lo.

2. Cancelar a operação (se for o único livro)

7b. O Livro não pode ser emprestado, pois é um livro reservado somente para consulta.

1. Cancelar a operação (se for o único livro)

Consultar Livro

Devolver Livro

Atendente

Incluir LivroBibliotecária

Comprar Livro

Leitor

Page 6: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

O que já foi visto até agoraCasos de uso com

substantivos e verbos sublinhados

Caso de Uso 1

Modelo Conceitual

Atendente Leitor0..n1 0..n1

Reserva

períodosituacao : char0..n0..n

1

^

faz

0..1

0..1

0..1

0..1

corresponde a

0..10..1 corresponde a0..n0..n

Caso de Uso 2

Caso de Uso n

.

.

.

Atendente

nome

Leitor

nometipo : char

0..n1 0..n1

registra

Empréstimo/Devolução

data do empréstimosituação : Char0..n1 0..n1

faz

LinhaDoEmpréstimo

data_prevista_devoluçãodata_entrega_real

1..n

1

1..n

1 possui

Bibliotecaria

nome

0..10..1

CopiaDoLivro

nro sequencialsituacao : charliberadoParaEmprestimo : char

1

0..n

1

0..n

< refere-se a

Livro

titulo : String[30]autor : String[30]ano : intISBN : string[20]editora : inttipo : char

0..n1 0..n

registra

11refere-se a >

0..n0..n

1possui

Page 7: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

O que já foi visto até agora

Modelo Conceitual

+

Casos de Uso

Page 8: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

O que foi visto até agora

Page 9: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Projeto Orientado a Objetos

� Finalizada a análise, parte-se para o Projetodo sistema.

� Artefatos de projeto contém detalhes de como o sistema poderá ser implementado como o sistema poderá ser implementado utilizando um computador.� Comportamento esperado de cada objeto e a

colaboração entre os objetos -> diagramas de interação.

� Detalhar as informações sobre as classes que irão compor o sistema -> diagrama de classes.

Page 10: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Diagramas de Interação

� A UML oferece dois tipos de diagrama para mostrar a interação entre os objetos do sistema, por meio de troca objetos do sistema, por meio de troca de mensagens:� Diagrama de sequência e� Diagrama de Comunicação (obs: era

chamado de Diagrama de Colaboração nas versões anteriores à UML 2.0)

Page 11: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Diagrama de Sequência

mensagem1()

:instância da

Classe A

:instância da

Classe B

1:mensagem2()

:instância da

Classe C

SISTEMA

mensagem1()1:mensagem2()

2:mensagem3()3:mensagem4()

Observar que o diagrama de sequência na fase de projeto

“abre” o sistema em objetos que interagem entre si.

Objetos

Page 12: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Diagramas de Comunicação

mensagem1():Instância da

Classe A

:Instância da

Classe B

1:mensagem2()

2:mensagem3()

3:mensagem4()

� Os diagramas de comunicação têm melhor capacidade de expressar informações contextuais e exceções e podem ser mais econômicos em termos de espaço.

:Instância da

Classe C

3:mensagem4()

Page 13: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Diagramas de Comunicação

� São um dos artefatos mais importantes criados na análise e projeto OO

� O tempo gasto na sua criação deve absorver um percentual de tempo

� O tempo gasto na sua criação deve absorver um percentual de tempo significativo do tempo gasto no projeto

� Os padrões estabelecidos, os princípios e idiomas podem ser aplicados para melhorar a qualidade do projeto.

Page 14: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Contribuições dos Diagramas de Comunicação

� Adição dos métodos� Adição da direção das associações� Possível detalhamento dos atributos e � Possível detalhamento dos atributos e

associações.� Possível alteração na estrutura das

classes e associações.� Possível criação de atributos privados

ou protegidos.

Page 15: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Notação básica para diagramas de comunicação

Mensagem entre dois objetos

obj1:Classe1 obj2:Classe21:mensagem1(parâmetro1, parâmetro2)

• obj1 é uma instância da classe Classe1

• obj2 é uma instância da classe Classe2

• A mensagem1 está sendo enviada pelo objeto obj1 ao objeto obj2

• A mensagem1 passa dois parâmetros para o objeto obj2.

Page 16: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Classes X Instâncias

Livro :Livro livro1:Livro

Classeinstância

Instância

nomeada

Page 17: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

ligações

obj1:Classe1 obj2:Classe21:mensagem1(parâmetro1, parâmetro2)

Linha de ligação

• Uma ligação é uma conexão entre duas instâncias

• Indicam que existe (ou é possível) alguma forma de navegação e de visibilidade entre as instâncias

• Uma ligação é uma instância de uma associação

Page 18: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Mensagens

� Se existe uma ligação, podem fluir mensagens

� As mensagens podem ser escritas em diferentes sintaxes. Ex. UML, Java e

� As mensagens podem ser escritas em diferentes sintaxes. Ex. UML, Java e Smalltalk, etc.

� Sintaxe UML:

Return := message(parameter : parameterType) : returnType

Page 19: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Ordem das mensagens, condicionais e atribuição às

variáveis

:CópiaTítulo :Empréstimo

1: [novo] criar(id_leitor, id_livro)

Criar só é executada se apto for true

:linhaDoEmpréstimo:Leitor

3: [apto] criar(t)

2: t=obterTipoLeitor()

obterTipoLeitor retorna um resultado que é armazenado na

variável t

A variável t é passada como parâmetro pelo

método criar

Page 20: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Objeto como retorno de método

e1: Emprestimo

2: mudarSituacao("emprestada")

Agora e1 conhece c1 e pode enviar-lhe a mensagem

mudarSituacao()

l1: LinhaDoEmprestimo c1: CopiaDoLivro

1: c1: copia()

c1 é um objeto que retornou como resultado da

invocação de copia()

Page 21: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Criação de instância

C++: aloc. automática ou

new + cham. construtor

Java: operador new

Smalltalk: new + initiatilize

:Obj1 <<new>>:Obj2

1:criar()

msg1()

Page 22: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Condicionais e operadores lógicos e relacionais

e1: Emprestimo

1: [naoEstaEmAtraso] and [nroLivros < maximoPermitido] criar()

:linhaDoEmprestimo

c1: Classe1

c2: Classe2

c3: Classe3

1: [condicao1] mensagem1()

2: [not condicao1] mensagem2()

Page 23: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Caminhos condicionais Mutuamente exclusivos

Apenas uma das mensagens é enviada, dependendo da condição ser verdadeira ou falsa

---

---

if (condicao = true)

:ClasseB.msg2()

msg1()

:ClasseA :ClasseB

:ClasseC

msg1()

1a: [condição] msg2()

1b:[not condição] msg3()

falsa :ClasseB.msg2()

else :ClasseC.msg3()

---

---

Page 24: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Caminhos condicionais Mutuamente exclusivos

:ClasseE

2:msg6()

1a.1:msg3()

:ClasseA :ClasseB

:ClasseC

msg1() 1a: [condição] msg2()

1b:[not condição] msg4()

:ClasseD1b.1:msg5()

Page 25: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Repetição de mensagem

c1: Classe1 c2: Classe2

1: [repita para i de 1 a 100] mensagem1(i)

Em ambos os casos, a mensagem é enviada várias vezes, sempre para o mesmo objeto.

c2: Classe2c1: Classe1

1: [para cada registro] mensagem1()

Page 26: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Múltiplas mensagens na mesma iteração

msg1()

msg1() {

for i=1 to 10 {

meuB.msg2()

meuC.msg3()}

}

1*:[i:=1..10]msg2()

2*:[i:=1..10]msg3()

:A meuB:B

meuC:C

}

Cláusulas de

iteração iguais

Page 27: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Coleções de objetos

� Em um DC pode ser necessário a representação de vários objetos de uma mesma classe (multi-objeto)

� Um multi-objeto ou conjunto de instâncias é representado por um ícone de objeto com repetições.

� Um multi-objeto normalmente é implementado como um grupo de instâncias armazenado em um contêiner ou em um objeto coleção (lista, vector, etc.)

� Uma mensagem enviada a um ícone de multi-objeto indica que ela é enviada ao objeto-coleção.

Page 28: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Mensagens para coleções

:Emprestimo

1: s:=size() : int

msg1()

:LinhaDoEmpres-

timo

msg1()

2: imprimir()

1:le:=obtenha(ID):Emprestimo :LinhaDoEmprestimo

le:LinhaDoEmprestimo

Page 29: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Mensagem para cada elemento da coleção

:Emprestimo :LinhaDoEmprestimo1: * [para cada] obterTituloDoLivro()

A mensagem é enviada uma vez para cada objeto da coleção

Page 30: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Criação de uma coleção, percurso de uma coleção

: Emprestimo

:LinhaDoEmprestimo2: * [para cada linha de emprestimo] linh:=proximo()

3: tit:=obterTituloDoLivro()

A coleção é criada (1) para depois ser preenchida com títulos (4). O método próximo() é utilizado para percorrer a coleção.

titulosEmprestados: String

linh: LinhaDoEmprestimo1: criar()

4: adicionar(tit)

Page 31: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Auto-mensagem

1: cons :=ehDeConsulta()

c1: CopiaDoLivrol1: Livro

2: [not cons] mudarSituacao("emprestada")

Page 32: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Exemplo de um Diagrama de Comunicação – Sistema VideoLocadora

emprestar(fCodigo)

Page 33: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Sistema Biblioteca - Elaborar o DC para cada uma dasoperações do Caso de Uso Emprestar Livro

Page 34: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Atendente

nomeLeitor

nometipo

0..n1 0..n1

registra

Reserva

períodosituacao

0..n

1

0..n

1

^faz

0..n0..n

Empréstimo/Devoluçãodata do empréstimosituação0..n0..n1

faz

0..1

0..1

0..1

0..1

corresponde a

0..10..1

corresponde a

Modelo Conceitual Biblioteca

Bibliotecarianome

CopiaDoLivronro sequencialsituacaoliberadoParaEmprestimo

LivrotituloautoranoISBNeditoratipo

0..n1 0..n1

registra

11refere-se a >

0..n0..n

1

possui

LinhaDoEmpréstimodata_prevista_devoluçãodata_entrega_real

0..10..1

1

0..n

1

0..n

refere-se a

1..n1..n

Page 35: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Fazer um DC para a operação iniciarEmprestimo()

� Operação: iniciarEmprestimo(id_leitor)� Referências Cruzadas: Caso de uso:

“Emprestar Livro”� Pré-Condições:

� O leitor é registrado na biblioteca e sabe-se seu ID.

� Pós-Condições:� Um leitor apto a emprestar livros foi

identificado.� Um objeto Empréstimo/Devolução foi

criado e associado ao leitor

Page 36: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Diagrama de Comunicação

:BibliotecaLeitoriniciarEmprestimo (idLeitor) --->

1. le:=busca(idLeitor)

le: Leitor

e : Empréstimo/Devolução

2. [le not null] inadimp:=verificarInadimplencia()

3. [not inadimp] criar() 4. Associar_e(e)

Page 37: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Diagrama de Comunicação para a operação EmprestarLivro

� Operação: emprestarLivro(id_Livro)

� Referências Cruzadas: Caso de uso: “Emprestar Livro”

� Pré-Condições: � Pré-Condições: � Um leitor apto a emprestar livros já foi identificado;

� Pós-Condições:� um objeto LinhaDoEmpréstimo foi criado;

� a LinhaDoEmpréstimo foi associada à cópia do livro e ao empréstimo criado para o leitor na operação anterior “iniciarEmprestimo”;

� O atributo “situação” da cópia do livro foi alterado para “emprestada”.

� a data de devolução foi calculada, armazenada na “LinhaDoEmprestimo” e informada ao leitor.

Page 38: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Atendente

nomeLeitor

nometipo

0..n1 0..n1

registra

Reserva

períodosituacao

0..n

1

0..n

1

^faz

0..n0..n

Empréstimo/Devoluçãodata do empréstimosituação0..n0..n1

faz

0..1

0..1

0..1

0..1

corresponde a

0..10..1

corresponde a

Modelo Conceitual Biblioteca

Bibliotecarianome

CopiaDoLivronro sequencialsituacaoliberadoParaEmprestimo

LivrotituloautoranoISBNeditoratipo

0..n1 0..n1

registra

11refere-se a >

0..n0..n

1

possui

LinhaDoEmpréstimodata_prevista_devoluçãodata_entrega_real

0..10..1

1

0..n

1

0..n

refere-se a

1..n1..n

Page 39: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

:Biblioteca

: LivroemprestarLivro(idLivro)

le: Leitor

1. liv:=busca(idLivro)

2. disponivel:=verificaLivro()3. [disponivel] dtDev:=calcularDataDevolucao()

Diagrama de Comunicação

:Reserva

lemp: LinhaEmprest

: CopiaDoLivrocl :CopiaDoLivro

liv : Livro

2.1. nc:=qtCopiasDispon()

4.1. mudaSituacaoCopia()

4.1.1. cl:=buscaCopiaDispon()4.1.2. tornarEmprestado()

le: Leitor

4. [disponivel] criar(liv, dtDev)

2.1.1. nr:=qtCopiasReserv()

e:Emprestimo

5. associarLE(lemp)

Page 40: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Para o que serve o Diagrama de Comunicação?

� Isso será discutido nas próximas aulas(GRASP)

Page 41: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Exercício: Complementar a operação emprestarLivro(idLivro) -> verificar se leitor já não tem o número máximo leitor já não tem o número máximo permitido de livros em seu poder.

Page 42: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Fazer um DC para a operação encerrarEmprestimo()

� Operação: encerrarEmpréstimo()

� Referências Cruzadas: Caso de uso: “Emprestar Livro”

� Pré-Condições: � Pré-Condições: � Existe “emprestimo/devolução” e ao menos uma linha do empréstimo

� Pós-Condições: � O sistema foi informado que o empréstimo atual foi concluído.

� O atributo “situação” de “Emprestimo/Devolução” foi alterado para “vigente”

Page 43: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

1.1. alterarSi tuacao("Vigente")

Diagrama de Comunicação

encerrarEmprestimo() --->:Biblioteca e :

Empréstimo/Devolução

1. encerrar()

Page 44: Notação Básica dos Diagramas de Comunicaçãoines/cursos/proj-si/materiais/aula0… · Garantia de Sucesso (Pós-Condições): Os dados do novo empréstimo estão armazenados no

Próxima aulaRefinarPlano

Sincronizarartefatos

Analisar Projetar Construir Testar

Padrões GRASP

1. Refinar a arquitetura do sistema

2. Definir diagramasde interação

3. Definir Diagramas deClasses de Projeto

4. Definir o EsquemaDo Banco de Dados