Demonstração da Metodologia Sistema Cadastro Doméstico de CDs Atividades dentro das Iterações Análise Projeto Implementação Fase 1: Concepção 1.1 Sumário Executivo 1.2 Levantamento de Requisitos 1.3 Organização de Requisitos em Casos de Uso 1.4 Planejamento dos Ciclos Iterativos 1.5 Cronograma 1.1 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. 1.2 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 por Requisitos Não-Funcionais 1.3 Organização dos Requisitos em Casos de Uso 1.4 Planejamento dos Ciclos Iterativos Atenção: Ciclo 1: UC1 Ciclo 2: UC2 1.5 Cronograma Fase 2: Elaboração Análise (em qualquer ciclo ou iteração) 2.1 Expansão dos casos de uso 2.2 Identificação de fluxos de informação 2.3 Diagramas de seqüência 2.4 Operações e consultas de sistema 2.5 Modelo conceitual 2.6 Contratos 2.1 Expansão de Caso de Uso 2.2 Identificação de Fluxos de Informação 2.3 Diagramas de Seqüência 2.3 Seqüência Alternativa 2.4 Operações e Consultas de Sistema 2.5 Modelo Conceitual 2.6 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 Fase 2: Elaboração Projeto (em qualquer ciclo ou iteração) 3.1 Diagramas de Colaboração 3.2 Diagrama de Classes de Projeto 3.1 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) 1: art := get(artista) 2: 2.2: 2.1: 2.3: 2.4: 2.5: associaArtista(art) Diagrama de Classes de Projeto