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
Top Related