1 / 55

Datachk

Datachk. Projeto I. Aline D'Oleron Angelo Brito Rebeca Alves Rodolfo Ferraz Tiago Nascimento. Recife, 19 de Fevereiro de 2012. IF718 - Análise e Projeto de Sistemas 2012.2 - CIn/UFPE. Contexto. Projeto CI – Computadores para Inclusão Recondiciona equipamentos de informática

Download Presentation

Datachk

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Datachk Projeto I Aline D'Oleron Angelo Brito Rebeca Alves Rodolfo Ferraz Tiago Nascimento Recife, 19 de Fevereiro de 2012 IF718 - Análise e Projeto de Sistemas 2012.2 - CIn/UFPE

  2. Contexto • Projeto CI – Computadores para Inclusão • Recondiciona equipamentos de informática • Distribuição para iniciativas de inclusão digital no Brasil • Oficinas com o foco no recondicionamento de computadores • CRCs – Centros de Recondicionamento de Computadores • Objetivos: • Formar jovens de baixa renda para inserção no mercado de trabalho • Promover a inclusão digital • Estimular a disseminação de políticas de descarte planejado e ecologicamente sustentável de equipamentos de informática • Implantar modelo de funcionamento em rede dos CRCs

  3. Contexto

  4. Diagrama de Casos de uso

  5. Análise de Caso de Uso "Cadastrar peças no estoque" Este caso de uso é responsável por cadastrar as peças recebidas como doação no estoque. Pré-condição: Usuário encontra-se logado no sistema. Pós-condição: As peças encontram-se cadastradas no sistema e estão com o status “disponível”. Fluxo de eventos principal: Usuário insere os dados num formulário de cadastro contendo os campos para os dados da peça (Ex: Nome da peça, modelo, código, etc) e sistema valida os dados informados. Em seguida, os dados da peça são cadastrados no sistema e passam a ter o status “disponível”. É enviada uma mensagem ao Servidor Central (remoto), contendo os dados das peças cadastradas. Fluxos secundários: Não se aplica.

  6. Análise de Caso de Uso "Cadastrar peças no estoque" Passo 1: Encontrar classes de análise • Classes de Fronteira • TelaCadastroPeça • ComunicaçãoServidorCentral • Classes de Entidade • Peça • Classes de Controle • ControlePeças <<boundary>> Comunicação ServidorCentral ____________ ____________ <<boundary>> • TelaCadastroPeça ____________ ____________ <<entity>> Peça ____________ ____________ <<control>> ControlePeças ____________ ____________

  7. Análise de Caso de Uso "Cadastrar peças no estoque" Passo 2: Identificar persistência • Classes de Fronteira • TelaCadastroPeça • ComunicaçãoServidorCentral • Classes de Entidade • Peça • Classes de Controle • ControlePeças <<boundary>> Comunicação ServidorCentral ____________ ____________ <<boundary>> • TelaCadastroPeça ____________ ____________ <<entity>> Peça ____________ ____________ <<control>> ControlePeças ____________ ____________

  8. Análise de Caso de Uso "Cadastrar peças no estoque" Passo 2: Identificar persistência • Classes de Fronteira • TelaCadastroPeça • ComunicaçãoServidorCentral • Classes de Entidade • Peça • Classes de Controle • ControlePeças <<entity>> Peça ____________ ____________

  9. Análise de Caso de Uso "Cadastrar peças no estoque" Passo 2: Identificar persistência • Classes de Fronteira • TelaCadastroPeça • ComunicaçãoServidorCentral • Classes de Entidade • Peça • Classes de Controle • ControlePeças <<entity>> Peça ____________ ____________ <<entitycollection>> Cadastro Peças ________________ ________________

  10. Análise de Caso de Uso "Cadastrar peças no estoque" Passo 3: Distribuir comportamento entre as classes • Diagrama de sequência

  11. Análise de Caso de Uso "Cadastrar peças no estoque" Passo 3: Distribuir comportamento entre as classes • Diagrama de sequência Responsabilidades

  12. Análise de Caso de Uso "Cadastrar peças no estoque" Passo 4: Descrever responsabilidades • Classes com responsabilidades <<control>> • ControlePeças ____________ ____________ • cadastrarDados(nome, modelo, código, login) <<entitycollection>> Cadastro Peças __________________ __________________ • cadastrarDados(nome, modelo, código, login) <<boundary>> • TelaCadastroPeça ____________ ____________ • cadastrarDados(nome, modelo, código) <<boundary>> Comunicação ServidorCentral __________________ __________________ • enviarDados(nome,modelo,código,data,nomeCRC)

  13. Análise de Caso de Uso "Cadastrar peças no estoque" Passo 5: Descrever atributos e associações

  14. Análise de Caso de Uso "Solicitar Peças" Este caso de uso é responsável pela solicitação de peças ao estoque por um usuário da manutenção. Pré-condição: Usuário do estoque encontra-se autenticado no sistema. Pós-condição: O pedido das peças deve estar cadastrado no sistema, aguardando ser visualizado pela pessoa responsável pela entrega das peças. Fluxo de eventos principal: • O usuário faz a busca do tipo e modelo da peça que ele deseja através de um formulário. • O sistema mostra uma lista de peças com as características requisitadas. • O usuário seleciona a peça, e esta é adicionada em uma lista de pedidos. • Se o usuário quiser pedir mais peças ele deve voltar para o passo2 do [FP]. • O usuário seleciona o botão “Finalizar pedido”. • O sistema exibe um resumo do pedido. • O usuário clica no botão “Confirmar”. • O sistema modifica o status da peça para “Peça solicitada”. • O sistema envia uma mensagem “Pedido enviado com sucesso”. Fluxos secundários: Não se aplica.

  15. Análise de Caso de Uso “Solicitar Pecas” Passo 1: Encontrar classes de análise • Classes de Fronteira • TelaInicialManutencao • TelaSolicitarPecas • Classes de Entidade • SolicitacaoPeca • Peca • Classes de Controle • ControladorSolicitacao • ControladorPecas <<boundary>> Tela Inicia da Manutencao ____________ ____________ <<boundary>> Tela Solicitar Pecas ____________ ____________ <<entity>> Solicitacao Peca ____________ ____________ <<entity>> Peca ____________ ____________ <<control>> Controlador Pecas ____________ ____________ <<control>> Controlador Solicitacao ____________ ____________

  16. Análise de Caso de Uso “Solicitar Pecas” Passo 2: Identificar persistência • Classes de Fronteira • TelaInicialManutencao • TelaSolicitarPecas • Classes de Entidade • Solicitacao • Peca • Classes de Controle • Controlador Solicitacao • ControladorPecas <<entity>> Solicitacao ____________ ____________ <<entity>> Peca ____________ ____________

  17. Análise de Caso de Uso “Solicitar Pecas” Passo 2: Identificar persistência • Classes de Fronteira • TelaInicialManutencao • TelaSolicitarPecas • Classes de Entidade • Solicitacao • Peca • Classes de Controle • Controlador Solicitacao • ControladorPecas <<entity>> Solicitacao ____________ ____________ <<entity>> Peca ____________ ____________ <<entity collection>> CadastroSolicitacoes ________________ ________________ <<entity collection>> CadastroPecas ________________ ________________

  18. Análise de Caso de Uso “Solicitar Pecas” Passo 3: Distribuir comportamento entre as classes • Diagrama de sequência

  19. Análise de Caso de Uso “Solicitar Pecas” Passo 4: Descrever responsabilidades • Classes com responsabilidades <<boundary>> TelaInicial Manutencao ____________ ____________ Encaminhar() <<control>> ControladorPecas ____________ ____________ buscarPeçasDisponiveis() marcarPecaSolicitada() <<entity>> CadastroPecas ____________ ____________ buscarPecasDisponiveis() <<entity>> ListaPecas ____________ ____________ Inserir() <<control>> Controlador Solicitacoes ____________ ____________ salvaSolicitacao() novaSolicitacao() <<boundary>> TelaSolicitarPecas ____________ ____________ Encaminhar() exibirListaPecasDisponiveis() exibirSolicitacao mostrarAvisoConfirmacao() <<entity>> CadastroSolicitacoes ____________ ____________ save() <<entity>> SolicitarPecas ____________ ____________

  20. Análise de Caso de Uso “Solicitar Pecas” Passo 5: Descrever atributos e associações

  21. Análise de Caso de Uso "Entregar Peças" Este caso de uso é responsável pela resposta às solicitações de peças ao estoque. Pré-condição: Usuário do estoque encontra-se autenticado no sistema. Pós-condição: O sistema registra que a Solicitação de peças foi atendida e armazena qual funcionário entregou as peças e qual funcionário está com a posse delas. Fluxo de eventos principal: • O Sistema procura por solicitações de peças que ainda estejam pendentes. • Exibe ao Controlador a pagina Inicial para Controladores de Estoque com uma notificação de solicitações pendentes. • O Sistema exibe as informações da solicitação. • O Controlador do Estoque avalia se a solicitação das peças é valida e aceita a solicitação. • O Sistema atualiza a solicitação para aceita. • O Usuário busca as peças solicitadas no estoque e entrega as peças ao Funcionário da Manutenção que criou a Solicitação. • O Usuário clica no botão “Entregue”. • O Sistema atualiza o estado das Peças para em Manutenção. • O Sistema altera o status da solicitação para completa. Fluxos secundários: Não se aplica.

  22. Análise de Caso de Uso “Entregar Pecas” Passo 1: Encontrar classes de análise • Classes de Fronteira • TelaInicialEstoque • TelaEntregarPecas • Classes de Entidade • SolicitacaoPecas • Peca • Classes de Controle • ControladorSolicitacao • ControladorPecas <<boundary>> Tela Inicia do Estoque ____________ ____________ <<boundary>> Tela Entregar Pecas ____________ ____________ <<entity>> Solicitacao Pecas ____________ ____________ <<entity>> Peca ____________ ____________ <<control>> Controlador Pecas ____________ ____________ <<control>> Controlador Solicitacao ____________ ____________

  23. Análise de Caso de Uso “Entregar Pecas” Passo 2: Identificar persistência • Classes de Fronteira • TelaInicialManutencao • TelaSolicitarPecas • Classes de Entidade • Solicitacao • Peca • Classes de Controle • Controlador Solicitacao • ControladorPecas <<entity>> Solicitacao ____________ ____________ <<entity>> Peca ____________ ____________

  24. Análise de Caso de Uso “Entregar Pecas” Passo 2: Identificar persistência • Classes de Fronteira • TelaInicialManutencao • TelaSolicitarPecas • Classes de Entidade • SolicitacaoPecas • Peca • Classes de Controle • Controlador Solicitacao • ControladorPecas <<entity>> Solicitacao Pecas ____________ ____________ <<entity>> Peca ____________ ____________ <<entity collection>> CadastroSolicitacoes ________________ ________________ <<entity collection>> CadastroPecas ________________ ________________

  25. Análise de Caso de Uso “Entregar Pecas” Passo 3: Distribuir comportamento entre as classes • Diagrama de sequência

  26. Análise de Caso de Uso “Entregar Pecas” Passo 4: Descrever responsabilidades • Classes com responsabilidades <<boundary>> TelaInicial Estoque ____________ ____________ Encaminhar() ExibirAvisoSolicitacaoPendente() <<control>> ControladorPecas ____________ ____________ marcarPecasEmManutencao() varerListaPecas() <<entity>> CadastroPecas ____________ ____________ alterarEstadoPecas() <<boundary>> TelaEntregarPecas ____________ ____________ Encaminhar() exibirAvisoEntrega() esperarResposta() confirmaEntregaSolicitacao() <<entity>> ListaPecas ____________ ____________ Inserir() <<entity>> Peca ____________ ____________ mudarEstado()

  27. Análise de Caso de Uso “Entregar Pecas” Passo 4: Descrever responsabilidades • Classes com responsabilidades <<control>> ControladorSolicitacoes ____________ ____________ verificaSolicitacoesPendentes() aceitarSolicitacao() salvaEntregaSolicitada() <<entity>> CadastroSolicitacoes ____________ ____________ getPrimeiraSolicitacaoPendente() marcarSolicitacaoAceita() alterarEstadoSolicitacao() <<entity>> SolicitacaoPecas ____________ ____________ mudarEstado()

  28. Análise de Caso de Uso “Entregar Pecas” Passo 5: Descrever atributos e associações

  29. Análise de Caso de Uso “Cadastrar Computador” Este caso de uso é responsável pelo cadastro do computador quando sua montagem estiver finalizada. Pré-condição: Usuário autenticado no sistema. Pós-condição: O computador deve estar armazenado no sistema. Fluxo de eventos principal: 1. Este caso de uso se inicia quando o usuário seleciona a opção “Cadastrar computador” no menu “Montagem de equipamentos”. 2. O usuário cadastra as informações de todos os componentes do computador (Ex: mouse, teclado, gabinete, monitor, etc.), buscando cada peça que foi utilizada. 3. O usuário seleciona o botão “Finalizar cadastro”. 4. O sistema insere os dados, modifica o status de cada peça para “Peça recebida” e o status do computador para “Computador montado” 5. O sistema finaliza com o envio de uma mensagem “Computador cadastrado com sucesso”. Fluxos secundários: Caso o usuário não coloque as informações de algum dos componentes e selecione o botão “Finalizar cadastro”, o sistema envia uma mensagem “Escreva as informações de todos os componentes para que o cadastro seja finalizado” e em seguida o sistema executa novamente o passo 2 do [FP].

  30. Análise de Caso de Uso " “Cadastrar Computador” Passo 1: Encontrar classes de análise • Classes de Fronteira • TelaCadastrarPC • Classes de Entidade • Computador • Peça • Classes de Controle • ControleCadastrarPC <<boundary>> TelaCadastrarPC ____________ ____________ <<entity>> Computador ____________ ____________ <<entity>> Peça ____________ ____________ <<control>> Controle CadastrarPC ____________ ____________

  31. Análise de Caso de Uso “Cadastrar Computador” Passo 2: Identificar persistência • Classes de Fronteira • TelaCadastrarPC • Classes de Entidade • Computador • Peça • Classes de Controle • ControleCadastrarPC <<entity>> Computador ____________ ____________ <<entity>> Peça ____________ ____________

  32. Análise de Caso de Uso “Cadastrar Computador” Passo 2: Identificar persistência • Classes de Fronteira • TelaCadastrarPC • Classes de Entidade • Computador • Peça • Classes de Controle • ControleCadastrarPC <<entity>> Computador ____________ ____________ <<entity>> Peça ____________ ____________ <<entity collection>> CadastroPCs ________________ ________________ <<entity collection>> CadastroPeças ________________ ________________

  33. Análise de Caso de Uso “Cadastrar Computador" Passo 3: Distribuir comportamento entre as classes • Diagrama de sequência

  34. Análise de Caso de Uso “Cadastrar Computador" Passo 4: Descrever responsabilidades • Classes com responsabilidades <<boundary>> TelaCadastrarPC ____________ ____________ CadastrarPC() SelecionarPeças() <<control>> Controle CadastrarPC ____________ ____________ CadastrarPC() SelecionarPeças() <<entity>> CadastroPCs ____________ ____________ CadastrarPC() <<entity>> CadastroPeças ____________ ____________ BuscarPeça() MarcarPeças()

  35. Análise de Caso de Uso “Cadastrar Computador" Passo 5: Descrever atributos e associações

  36. Análise de Caso de Uso "Finalizar Computador" Este caso de uso é responsável por modificar o status de um computador em fase de montagem/testes para o status "Finalizado". Pré-condição: Usuário encontra-se logado no sistema. Pós-condição: Status do computador trocado para "Finalizado", suas peças passam a ter status "Indisponível" e Servidor Central recebe uma mensagem com os dados do novo computador finalizado. Fluxo de eventos principal: Usuário acessa o registro de um computador, através da busca pelo código de identificação. Após encontrar o computador, caso esteja em fase de montagem/testes, exibirá a opção "Finalizar Computador". Ao selecionar esta opção, o computador passa a ter o status "Finalizado" e suas peças trocam de status para "Indisponível" (não podem mais ser trocadas por peças do estoque). Além disso, é enviada uma mensagem ao Servidor Central (remoto), contendo os dados do novo computador finalizado. Fluxos secundários: Não se aplica.

  37. Análise de Caso de Uso "Finalizar Computador" Passo 1: Encontrar classes de análise • Classes de Fronteira • TelaMostrarPC • ComunicaçãoServidorCentral • Classes de Entidade • Usuário(apenas interage) • Computador • Peça • Classes de Controle • ControleFinalizaçãoPC <<boundary>> TelaMostrarPC ____________ ____________ <<boundary>> Comunicação ServidorCentral ____________ ____________ <<entity>> Computador ____________ ____________ <<entity>> Peça ____________ ____________ <<control>> Controle FinalizaçãoPC ____________ ____________

  38. Análise de Caso de Uso "Finalizar Computador" Passo 2: Identificar persistência • Classes de Fronteira • TelaMostrarPC • ComunicaçãoServidorCentral • Classes de Entidade • Computador • Peça • Classes de Controle • ControleFinalizaçãoPC <<entity>> Computador ____________ ____________ <<entity>> Peça ____________ ____________

  39. Análise de Caso de Uso "Finalizar Computador" Passo 2: Identificar persistência • Classes de Fronteira • TelaMostrarPC • ComunicaçãoServidorCentral • Classes de Entidade • Computador • Peça • Classes de Controle • ControleFinalizaçãoPC <<entity>> Computador ____________ ____________ <<entity>> Peça ____________ ____________ <<entitycollection>> Cadastro Computadores ________________ ________________ <<entitycollection>> Cadastro Peças ________________ ________________

  40. Análise de Caso de Uso "Finalizar Computador" Passo 3: Distribuir comportamento entre as classes • Diagrama de sequência

  41. Análise de Caso de Uso "Finalizar Computador" Passo 4: Descrever responsabilidades • Classes com responsabilidades <<entitycollection>> Cadastro Computadores __________________ __________________ finalizar(idPC) getPC (idPC) <<boundary>> Comunicação ServidorCentral __________________ __________________ enviarPCFinalizado (pc) <<boundary>> TelaMostrarPC ______________ ______________ finalizarPC (idPC) <<control>> Controle FinalizaçãoPC ____________ ____________ finalizarPC (idPC) <<entitycollection>> Cadastro Peças __________________ __________________ finalizar (idPeça) <<entity>> Computador __________________ __________________ finalizar ()

  42. Análise de Caso de Uso "Finalizar Computador" Passo 5: Descrever atributos e associações

  43. Análise de Caso de Uso "Gerar relatório" Este caso de uso é responsável por gerar relatórios para enviá-los para o órgão central. Pré-condição: Usuário encontra-se logado no sistema. Pós-condição: Relatório deve estar gerado e pronto para ser enviado ou impresso. Fluxo de eventos principal: • O usuário informa as opções relativas ao relatório: - tipo de relatório (doações recebidas, computadores recondicionados, estoque de peças, ou completo, com todas as informações citadas anteriormente). - intervalo de tempo (dia, mês, ano), caso o tipo do relatório não seja peças em estoque. • O sistema busca as informações requisitadas pelo usuário. • O sistema envia o relatório gerado ao Servidor Central (remoto), podendo o mesmo também ser impresso. Fluxos secundários: Não se aplica.

  44. Análise de Caso de Uso "Gerar relatório" Passo 1: Encontrar classes de análise • Classes de Fronteira • TelaGerarRelatorio • ComunicacaoServidorCentral • Classes de Entidade • Peça • Computador • Doações • Classes de Controle • ControleRelatorio <<boundary>> TelaGerarRelatorio _______________ _______________ <<boundary>> Comunicacao ServidorCentral ____________ ____________ <<entity>> Peça ____________ ____________ <<entity>> Computador ____________ ____________ <<entity>> Doações ____________ ____________ <<control>> ControleRelatorio _____________ _____________

  45. Análise de Caso de Uso "Gerar relatório" Passo 2: Identificar persistência • Classes de Fronteira • TelaGerarRelatorio • ComunicacaoServidorCentral • Classes de Entidade • Peça • Computador • Doações • Classes de Controle • ControleRelatorio <<entity>> Peça ____________ ____________ <<entity>> Computador ____________ ____________ <<entity>> Doações ____________ ____________

  46. Análise de Caso de Uso "Gerar relatório" Passo 2: Identificar persistência • Classes de Fronteira • TelaGerarRelatorio • ComunicacaoServidorCentral • Classes de Entidade • Peça • Computador • Doações • Classes de Controle • ControleRelatorio <<entity>> Peça ____________ ____________ <<entity>> Computador ____________ ____________ <<entity>> Doações ____________ ____________ <<entitycollection>> Cadastro Peças ________________ ________________ <<entitycollection>> Cadastro Computadores ________________ ________________ <<entitycollection>> Cadastro Doações ________________ ________________

  47. Análise de Caso de Uso "Gerar relatório" Passo 3: Distribuir comportamento entre as classes • Diagrama de sequência

  48. Análise de Caso de Uso "Gerar relatório" Passo 4: Descrever responsabilidades • Classes com responsabilidades <<boundary>> Comunicacao ServidorCentral <<boundary>> TelaGerarRelatorio <<control>> controleRelatorio • gerarRelatorio(tipo, dataInicio, dataFim) • gerarRelatorio(tipo, dataInicio, dataFim) • enviarRelatorio() <<entitycollection>> CadastroPeças <<entitycollection>> CadastroComputadores <<entitycollection>> CadastroDoações • buscarPecas(status) • buscarComputadores(dataInicio, dataFim, status) • buscarDoacoes(dataInicio, dataFim)

  49. Análise de Caso de Uso "Gerar relatório" Passo 5: Descrever atributos e associações

  50. Mapeamento das classes de análise em elementos de projeto

More Related