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

Preview:

Citation preview

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

Recommended