sistema cadastro doméstico de cds. sumário executivo este sistema deve gerenciar um acervo...
TRANSCRIPT
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