Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento...

51
Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Prof. Seiji Isotani ([email protected] ) Slides baseados no material da Profa Dra Rosana T. V. Braga

Transcript of Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento...

Page 1: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

Modelo Conceitual

Departamento de Sistemas de ComputaçãoUniversidade de São PauloAnálise e Projeto Orientados a Objetos

Prof. Seiji Isotani ([email protected])

Slides baseados no material da Profa Dra Rosana T. V. Braga

Page 2: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

2

O que já foi visto até agora

Consultar Livro

Emprestar Livro

Devolver Livro

Atendente

Incluir LivroBibliotecária

Comprar Livro

Leitor

Diagrama de Casos de Uso

Casos 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.

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)

Page 3: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

3

O que vamos ver hoje

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 adicionar um novo empréstimo.

3. O Atendente solicita ao leitor sua carteirinha, 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. O Atendente desbloqueia os livros para que possam sair da biblioteca.

10. O Leitor sai com os livros.

Casos de Uso com substantivos e

verbos sublinhados

Atendente

nome

Leitor

nome

tipo : char

0..n1..1 0..n1..1

registra

Empréstimo/Devolução

data do empréstimo

situação : Char0..n1..1 0..n1..1

faz

LinhaDoEmpréstimo

data_prevista_devolução

data_entrega_real

1..n

1..1

1..n

1..1 possui

Bibliotecaria

nome

Reserva

período

situacao : char0..n

1..1

0..n

1..1

^

faz

0..1

0..1

0..1

0..1

corresponde a

0..1

0..1

0..1

0..1 corresponde a

CopiaDoLivro

nro sequencial

situacao : char

liberadoParaEmprestimo : char

1..1

0..n

1..1

0..n

< refere-se a

Livro

titulo : String[30]

autor : String[30]

ano : int

ISBN : string[20]

editora : int

tipo : char

0..n1..1 0..n1..1

registra

1..1

0..n

1..1

0..n

refere-se a >

0..n

1..1

0..n

1..1possui

Modelo Conceitual

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 adicionar um novo empréstimo.

3. O Atendente solicita ao leitor sua carteirinha, 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. O Atendente desbloqueia os livros para que possam sair da biblioteca.

10. O Leitor sai com os livros.

Caso de Uso 1

Caso de Uso n

Page 4: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

4

O que ainda vamos estudar

Diagrama de Seqüência do Sistema

(para cada caso de uso)Modelo Conceitual

+

Casos de Uso

:Atendente:Atendente SistemaSistema

3: encerrarEmpréstimo()

1: iniciarEmpréstimo(id_Leitor)

2: emprestarLivro(id_Livro)

* mais livros a

emprestar

Page 5: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

5

O que ainda vamos estudar

Diagrama de Seqüência do Sistema

(para cada caso de uso)

:Atendente:Atendente SistemaSistema

3: encerrarEmpréstimo()

1: iniciarEmpréstimo(id_Leitor)

2: emprestarLivro(id_Livro)

* mais livros a

emprestar

Contrato da Operação

(para cada operação)

Operação: encerrarEmpréstimo()

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

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

pelo menos um livro já foi identificado e está disponível para ser

emprestado.

Pós-Condições: um novo empréstimo foi registrado; o novo empréstimo

foi relacionado ao leitor já identificado na operação “iniciar o

empréstimo”; a situação dos livros emprestados foi alterada para

“emprestado”.

Page 6: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

6

O que ainda vamos estudar

Contrato da Operação

(para cada operação)

Operação: encerrarEmpréstimo()

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

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

pelo menos um livro já foi identificado e está disponível para ser

emprestado.

Pós-Condições: um novo empréstimo foi registrado; o novo empréstimo

foi relacionado ao leitor já identificado na operação “iniciar o

empréstimo”; a situação dos livros emprestados foi alterada para

“emprestado”.

emprestaFita(f Codigo)----> :Videolocadora

emprestimoCorrente: Emprestimo

clienteCorrente: Cliente

f itas: Fita

item: ItemDeEmprestimo

3: adiciona(f ita)

4: criar()

5: associaItem()

6: associaFita(f ita)

2: empresta(f ita)1: f ita:=get(f Codigo)

Diagrama de Colaboração

(para cada operação)

Page 7: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

7

O que ainda vamos estudar

emprestaFita(f Codigo)----> :Videolocadora

emprestimoCorrente: Emprestimo

clienteCorrente: Cliente

f itas: Fita

item: ItemDeEmprestimo

3: adiciona(f ita)

4: criar()

5: associaItem()

6: associaFita(f ita)

2: empresta(f ita)1: f ita:=get(f Codigo)

Diagramas de Colaboração

(para todas as operações)

1..1

Leitor

nometipo

calcularDataDevolucao( )

0..*

1..*

1..1

Emprestimo

data_do_emprestimosituacao : char

adicionarCopia( )devolverCopia( )

1..1 0..*

faz

1..1

CopiaDoLivro

nro_sequencialsituacao : charliberadoParaEmprestimo : char

mudarSituacao( )codCopia( )sinal izarDevolucao( )

0..*

LinhaDoEmprestimo

data_prevista_devoluçãodata_entrega_real

codCopia( )atualizarDataDev( )

1..*

1..1possui

1..10..*

refere-se a

Diagrama de Classes de Projeto

: Emprestimo

linh: LinhaDoEmprestimo

2: criar(d, copiaLiv ro)

adicionarCopia(copiaLiv ro)--->

:Leitor

1: d:=calcularDataDev olução()

Page 8: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

Modelo Conceitual

artefato do domínio do problema e não do domínio da solução

não deve ser confundido com a arquitetura do software

não deve ser confundido com o modelo de dados

Page 9: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

9

Modelo Conceitual

Mostra todos os conceitos importantes no domínio do sistema, bem como as associações entre esses conceitos. A idéia é fazer com que o usuário que tem acesso a esse modelo entenda os principais elementos do domínio que estão envolvidos no sistema a ser desenvolvido

Não mostra artefatos de software ou classes. O modelo conceitual ajuda a esclarecer a

terminologia ou vocabulário do domínio.

Page 10: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

Elementos Básicos do Modelo Conceitual

Conceitos

Atributos

Associações

Page 11: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

11

Como Identificar Conceitos ?

Alguns conceitos são bastante óbvios quando se descreve o sistema, como por exemplo os conceitos Leitor e Livro quando se fala em um sistema de Biblioteca.

Livro

titulo

autor

ano

ISBN

editora

tipo

Leitor

nome

tipo

Page 12: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

Como Encontrar Conceitos

Verificar o texto dos casos de uso expandidos

Selecionar termos que representam informação transmitida do e para o sistema

Agrupar sinônimos

Page 13: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

13

Como Identificar Atributos ?

Substantivos sublinhados a partir do texto do caso de uso podem ser candidatos a atributos dos conceitos já identificados.

Cautela: não torne o modelo conceitual muito complexo desnecessariamente.◦ limite-se a adicionar os atributos importantes para

compreender o conceito, ou atributos que serão importantes para o futuro projeto do sistema

Page 14: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

14

Como Identificar Atributos ?

Exemplo

Nome do conceito

Atributos do conceito

Leitor

idLeitornomesi tuacao

Livro

idLivro

Empréstimo

dataDeDevolucao

Page 15: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

15

Associações

Associação é um relacionamento entre conceitos, que precisa ser lembrado pelo sistema durante seu funcionamento ◦ Por exemplo, existe uma associação entre Empréstimo e

Leitor, que precisa ser lembrada pelo sistema, pois quando o Empréstimo termina o Leitor deve ter sua situação regularizada.

Page 16: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

16

Como identificar Associações?

Algumas associações são bastante simples de serem identificadas, bastando aplicar certas regras básicas. Outras associações são implícitas e podem requerer mais experiência do analista para identificá-las logo na fase de requisitos, ou podem surgir mais adiante, na fase de projeto.

Cautela: incluir associações em demasia causa um efeito indesejado, levando a um modelo confuso e conseqüentemente com pouca legibilidade.

Portanto, uma regra básica é evitar colocar associações redundantes

Page 17: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

17

Como identificar Associações?

Regra 1: Um conceito que, fisicamente ou logicamente, faz parte de outro.

Por exemplo, um livro que está fisicamente armazenado em uma estante ou um Item de Empréstimo que logicamente faz parte do Empréstimo.

Page 18: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

18

Como identificar Associações?

Regra 2: Um conceito que serve para descrever ou qualificar outro conceito.

Por exemplo, um Livro pode ser classificado em diversas Categorias ou por Autor; um Item de Estoque que é descrito por uma Especificação de Produto.

Page 19: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

19

Como identificar Associações?

Regra 3: Um conceito que é responsável por registrar ou manter informações sobre outro.

Por exemplo, o Atendente é quem registra e atende o Leitor; a Bibliotecária é responsável pelos Livros.

Page 20: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

20

Associações na UML

AtendenteLeitor

idLeitornomesi tuacao

0..*1..1

registra

0..*1..1

Nome da associação

Multiplicidade da

associação

Lê-se: Um Atendente

registra 0 ou mais

Leitores. Um leitor

é registrado por

um atendente

Page 21: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

21

Associações na UML

Direção de leitura do

nome da associação

A direção só deve ser

colocada se for da

direita para a esquerda

ou de baixo para cima.

Page 22: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

22

Multiplicidade

C2

C2

C2

C2

C2

*

1..*

1..40

5

3,5,8

zero ou mais

Muitos (as)

um ou mais

um a quarenta

exatamente cinco

exatamente três, cinco ou

oito

C1

C1

C1

C1

C1

Page 23: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

23

Associação Reflexiva

Pessoa

nome1

0..n

+pai

1

é pai de+filho 0..n

Papel

Page 24: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

24

Especialização/Generalização/Herança

Herança é um mecanismo que permite que características comuns a diversos tipos sejam colocadas em um tipo base, ou supertipo.◦ A partir de um tipo base, outros tipos podem ser especificados (os

subtipos). ◦ Cada subtipo apresenta as características (estrutura e atributos) do

supertipo e acrescenta a ele novas características. ◦ Dizemos que um subtipo herda todas as propriedades do supertipo e

acrescenta suas características próprias e exclusivas. ◦ As propriedades do supertipo não precisam ser repetidas em cada

subtipo.

Page 25: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

25

Tipos e Especialização na UML

A Gas

temperatura

Forno

capacidade

Microondas

horariopotencia

Elétrico

v oltagem

A Lenha

quantMaxLenha

Analógico Digital

Camping

Acendimento com Fósf oroAcendimento Elétrico

Page 26: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

26

Regras de Herança

A regra “é-um” estabelece que todos os membros do conjunto de um subtipo devem ser membros do conjunto do supertipo, ou seja o subtipo é um supertipo. ◦ Por exemplo, podemos dizer que um microondas digital é

um forno, e por isso possui todos os atributos (e comportamentos) esperados de um forno.

Page 27: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

27

Regras de Herança

A regra dos 100% estabelece que 100% da definição do supertipo dever ser aplicado ao subtipo◦ se o supertipo possui um dado atributo, é necessário

garantir que todos os subtipos também o possuam, ou seja, ele deve fazer sentido para elas e deve ser importante conhecer seu conteúdo.

◦ O mesmo vale para as associações do supertipo, que devem ser aplicáveis aos subtipos.

Page 28: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

28

Regras de Herança

Por exemplo, se incluirmos o conceito Cozinheiro nomodelo do forno, e associarmos ele ao conceitoforno, significando que o Cozinheiro utiliza o Forno,isso deve ser verdadeiro para todos os subtipos, ouseja, todos os tipos de forno devem poder serutilizáveis por um cozinheiro.

Page 29: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

29

Agregação

Agregação é um mecanismo pelo qual um tipo incluiatributos (e comportamento) de outros tipos a eleagregados, indicando a existência de um todo,composto por partes.◦ Um exemplo de agregação é um carro: consiste de 4 rodas,

um motor, chassis, caixa de câmbio, e assim por diante.

Page 30: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

30

Agregação na UML

BotaoAcendedor

Queimador

Estufa

Forno

capacidade

PainelDeControle

1..61..6

Tampa

Fogão

1..61..6

11

11

11

11

Música

nomecantor

CD

tituloano 1..n1..n

Page 31: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

31

Agregação Composta

A agregação composta ou composição ocorre quando a multiplicidade na extremidade do composto pode ser no máximo 1. A notação em UML é um losango negro

Automóvel Roda

4 1

forte dependência do “todo” em relação à “parte” tempo de vida delimitado (as “partes” não podem existir sem o

“todo”). Algumas propriedades do “todo” se propagam para suas “partes”

(e.g. disposição, localização, criação e destruição das “partes”).

Page 32: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

32

Agregação compartilhada

A agregação compartilhada, denotada em UML por um losango vazio, denota que o a multiplicidade na extremidade do composto pode ser maior do que um.

Pacote de

UMLElemento

de UML

*

referencia

Page 33: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

33

Tipo Associativo

É uma associação que também possui propriedades de tipo (ou um tipo que tem propriedades de uma associação). É mostrada como um tipo e é ligada por uma linha tracejada a uma associação.

1..n

Empresa Pessoa1..n0..n

+empregador

0..n

+empregado

Emprego

salario

Page 34: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

34

Tipo Associativo

Indícios de que um tipo associativo pode ser útil em um modelo conceitual:◦ Um atributo está relacionado com uma associação◦ As instâncias do tipo associativo têm um tempo de vida dependente do

tempo de vida da associação◦ Existe uma associação muitos-para-muitos entre dois conceitos, bem como

informações relacionadas à associação propriamente dita

Empresa

Emprego

salario1..n

1

1..n

+empregador 1

oferece

Pessoa1

0..n+empregado

1possui

0..n

Page 35: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

Onde Está o Modelo Conceitual?

Exercício-Exemplo

Page 36: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

36

Como Identificar Conceitos ?

muitos conceitos estão geralmente implícitos e requerem uma maior maturidade do analista para descobri-los.

Page 37: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

37

Como Identificar Conceitos ?

Checklist de possíveis conceitos:

Objetos físicos ou tangíveis: Livro, Leitor

Especificação de Projetos ou descrição de coisas: EspecificaçãodeLivro, CategoriaDeLivro

Lugares: Biblioteca, Sala de Aula

Transações: Emprestimo, Reserva

Linha de Itens de Transações: LinhaDeEmprestimo

Papéis desempenhados por pessoas: Atendente, Chefe de Biblioteca

Contêineres de outras coisas: Estante, Armário

Coisas em um contêiner: Cópia de Livro, Revista

Catálogos: Catálogo de Livros, de Revistas,

etc. (ver livro Larman)

Page 38: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

38

Como Identificar Conceitos ?

Sugestões básicas: Passo 1: Isole, no documento de requisitos ou na

descrição dos casos de uso elaboradas na fase anterior, todos os substantivos presentes no texto

Page 39: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

39

Passo 1: Isolar os substantivos

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 adicionar um novo empréstimo.

3. O Atendente solicita ao leitor sua carteirinha, 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.

Parte de um caso de uso do sistema de biblioteca

Page 40: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

40

Exemplo: Biblioteca

Lista de candidatos:

Leitor

Balcão

Biblioteca

Atendente

Livros

Opção

Empréstimo

Carteirinha

Estudante

Professor

Sistema

Identificação de leitor

Nome do leitor

Código de identificação do

livro

Data de devolução

. . .

Page 41: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

41

Como Identificar Conceitos ?

Sugestões básicas: Passo 2: Para cada substantivo◦ verifique se é relacionado a assuntos importantes no

domínio do sistema. ◦ Descarte: os que fogem do escopo do sistema, os que são similares a outros conceitos já identificados, os que são propriedades de outros substantivos.

Page 42: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

42

Exemplo: Biblioteca

Lista de candidatos:

Leitor

Balcão

Biblioteca

Atendente

Livros

Opção

Empréstimo

Carteirinha

Estudante

Professor

Sistema

Identificação de leitor

Nome do leitor

Código de identificação do

livro

Data de devolução

. . .

Page 43: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

43

Como Identificar Conceitos ?

Sugestões básicas: Passo 3: Isole os verbos que poderiam ser

transformados em substantivos (possivelmente com a ajuda de outras palavras). ◦ Concentre-se nos verbos que representam ações de interesse

para o sistema, ou seja, aqueles relacionados a eventos e transações que possuem informações importantes e que devem ser lembradas pelo sistema.

Page 44: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

44

Exemplo: Biblioteca

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 adicionar um novo empréstimo.

3. O Atendente solicita ao leitor sua carteirinha, 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.

. . .

Page 45: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

45

Exemplo: Biblioteca

Lista de candidatos:

Emprestar

Adicionar

Informar

...

já havia sido

acrescentado pelo

substantivo empréstimo

Page 46: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

46

Como Identificar Conceitos ?

Sugestões básicas: Passo 4: Para cada candidato a conceito, verifique se

ele é composto de outras partes que sejam de interesse do sistema, mesmo que essas não apareçam explicitamente no texto.◦ Por exemplo, um empréstimo normalmente refere-se a

vários livros emprestados em uma mesma ocasião para um mesmo leitor Linha Do Empréstimo é um outro conceito Copia do livro também é outro conceito

(Obs. poderia ser também: Item Do Empréstimo )

Page 47: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

47

Exemplo: Biblioteca

Lista de candidatos:

Leitor

Balcão

Biblioteca

Atendente

Livros

Opção

Empréstimo

Carteirinha

Estudante

Professor

Sistema

Identificação de leitor

Nome do leitor

Código de identificação do

livro

Data de devolução

. . .

Page 48: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

48

Exemplo: Biblioteca

Lista de candidatos:

Leitor

Balcão

Biblioteca

Atendente

Livros

Opção

Empréstimo

Carteirinha

Estudante

Professor

Sistema

Identificação de leitor

Nome do leitor

Código de identificação do

livro

Data de devolução

. . .

Atributos

+Linha de empréstimo

+Copia do livro

Page 49: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

49

Exemplo: Biblioteca

Linha de empréstimo

Atendente

Leitor

Livro

Empréstimo

Cópia do Livro

registra faz

Agregado à

Refere-se à

possui

Page 50: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

50

Exemplo: Biblioteca

Linha de empréstimo

Atendente

Leitor

Livro

Empréstimo

Cópia do Livro

registra faz

Agregado à

Refere-se à

possui

+idLeitor

+nome

+tipo

+idLivro

+datadevolução

Page 51: Departamento de Sistemas de Computação Universidade de São ... · Modelo Conceitual Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados

Atendente

nome

Leitor

nometipo

0..n1..1 0..n1..1

registra

Bibliotecaria

nome

Reserva

períodosituacao

0..n

1..1

0..n

1..1

^faz

CopiaDoLivro

nro sequencialsituacaoliberadoParaEmprestimo

Livro

tituloautoranoISBNeditoratipo

0..n1..1 0..n1..1

registra

1..1

0..n

1..1

0..n

refere-se a >

0..n

1..1

0..n

1..1

possui

Empréstimo/Devolução

data do empréstimosituação0..n1..1 0..n1..1

faz

0..1

0..1

0..1

0..1

corresponde a

LinhaDoEmpréstimo

data_prevista_devoluçãodata_entrega_real

0..1

0..1

0..1

0..1

corresponde a

1..1

0..n

1..1

0..n

refere-se a

1..n1..n

Biblioteca