Sistema Cadastro Doméstico de CDs. Sumário Executivo Este sistema deve gerenciar um acervo...

Post on 21-Apr-2015

104 views 0 download

Transcript of Sistema Cadastro Doméstico de CDs. Sumário Executivo Este sistema deve gerenciar um acervo...

Sistema Cadastro Doméstico de CDs

Sumário Executivo

Este sistema deve gerenciar um acervo domésticos de CDs. Espera-se registrar informações relevantes sobre cada disco e suas músicas, bem como permitir ao dono do acervo cadastrar suas impressões sobre cada música. Além disso, espera-se que o sistema registre os CDs que porventura estejam emprestados a amigos.

Levantamento de Requisitos

Atenção: Em lugar de Requisitos Não-Funcionais deve-se ler Detalhes Trocar NFx.y por Fx.y

Atenção: Trocar Requisitos Suplementares porRequisitos Não-Funcionais

Organização dos Requisitos em Casos de Uso

Expansão do Caso de Uso Avaliar Músicas

Diagramas de Seqüência: Caso de Uso Avaliar Músicas

2.3 Seqüência Alternativa

Operações e Consultas de Sistema

Modelo Conceitual

Contratos

Consulta: listaCDs()

Pré: –

Resultado: – lista com os títulos de cds

Consulta: listaMusicas()

Pré: – existe cdCorrente

Resultado: – títulos das músicas de cdCorrente

Consulta: listaArtistas()

Pré: –

Resultado: – nomes de artistas

Operação: indicaCD(titulo:String)

Pré: – existe um cd com cd.titulo == titulo

Pós: – o cd passou a ser cdCorrente

Operação: indicaMusica(nome:String)

Pré: – existe cdCorrente– existe uma música ligada ao cdCorrente com

musica.nome == nome Pós:

– essa música se tornou musicaCorrente do cdCorrente

Operação: alteraAvaliação(novaAvaliacao:String)

Pré: – existe uma musicaCorrente para um cdCorrente

Pós: – musica.avaliação foi alterada para

novaAvaliacao

Operação: insereMusica(posição:Numero, nome:String, duração:Tempo,

nomeArtista:String) Pré:

– Existe um cdCorrente– Existe um artista com artista.nome ==

nomeArtista Pós:

– foi criada uma musica com musica.nome == nome, musica.duracao == duracao

– essa musica foi associada com o artista

Modelo Conceitual com Associações Temporárias

Diagramas de Colaboração

listaCDs()

listaMusicas()

1: nomes = listaNomesDeMusicas()

listaArtistas()

indicaCD(titulo:String)

2:

1: cd := getCd(titulo)

indicaMusica(nome:String)

alteraAvaliação(novaAvaliacao:String)

Operação: insereMusica(posição:Numero, nome:String, duração:Tempo, artista:String)

2:

2.1:

2.2:

2.3:

2.4:

1: art := get(artista)

2.5: associaArtista(art)

Diagrama de Classe

Atividades e Cronograma

Parte I: Especificação do BD em ODL-OQL/ODMG (data-limite: 15/09/06)– Expandir os demais casos de uso– Desenhar os diagramas de seqüência para os demais casos de uso– Completar o modelo conceitual– Escrever os demais os contratos– Desenhar os demais diagramas de colaboração– Completar o diagrama de classe– Detalhar as classes do diagrama de classe em ODL/ODMG– Definir os relatórios em OQL/ODMG

Atividades e Cronograma (2)

Parte II: Implementação do BD ODMG no SGBD Oracle OR – Linguagem Object PL/SQL (data-limite: 31/10/06)– Geração do Esquema do BD OR

• Definir os tipos Oracle• Definir os corpos dos métodos• Definir as “object tables”• Definir os relatórios em Object PL/SQL

– Geração do BD OR• Criar os objetos (isto é, povoar as “object tables”)

– Gerar os “logs”• Geração do Esquema• Geração do BD OR• Execução das consultas