PãoSoft Sistema de Gerenciamento para Panificadora Equipe: Igor Duarte Alencar Lira – idal Luciano Demétrio Santos Pacifico – ldsp Thiago Ferreira Dantas Santos – tfds Tiago Lemos de Araujo Machado - tlam Visão Geral Do Sistema A proposta do PãoSoft é auxiliar o gerenciamento de atividades que ocorrem numa padaria de médio a grande porte. Situações como catalogação de preços, colaboração de funcionários, satisfação do cliente, contatos com fornecedores, entre outros, ganham uma maior precisão, agilidade e sofisticação devido aos serviços de automação em software. Plano de Projeto e Cronograma Finalidade Restrições Organização do Projeto Cronograma Riscos Plano de Projeto e Cronograma Finalidade A intenção procurada é que o resultado do projeto gere aplicações em pelo menos dois níveis. Uma para gerenciamento das funções administrativas da empresa Outra para uso de atividades que envolvam a relação empresacliente. Objetiva-se também que as duas partes, além de poderem operar independentemente tenham integração com o objetivo de sistematizar as informações das empresas. Plano de Projeto e Cronograma Restrições Prazo. Pois, por ser uma atividade da disciplina de Engenharia de Software e Sistemas, o cronograma a ser seguido deverá corresponder ao calendário da mesma. Documentação das atividades de todo o projeto que estão disponiveis no site www.cin.ufpe.br/~tfds/paosoft. Divisão das tarefas entre os 4 (quatro) integrantes da equipe. Como as ferramentas CASE utilizadas priorizam a orientação a objetos e também por haver um maior conhecimento por parte da equipe a linguagem JAVA foi escolhida para a aplicação. Plano de Projeto e Cronograma Organização do Projeto A equipe de desenvolvimento é composta por quatro membros, estando dividida em: • • • Um gerente de projeto. Um subgerente de projeto. Dois desenvolvedores. Plano de Projeto e Cronograma Organização do Projeto Funções dos membros Gerente – Tiago Lemos de Araujo Machado Responsável pela elaboração do plano de projeto Responsável pela integração das partes do projeto Responsável pela elaboração e gerenciamento de cronograma Programador Revisor de artefatos Comunicação com cliente Plano de Projeto e Cronograma Organização do Projeto Funções dos membros Subgerente – Luciano Demétrio Santos Pacífico Responsável pela elaboração do plano de projeto Responsável pela integração das partes do projeto Responsável pela elaboração e gerenciamento de cronograma Programador Revisor de artefatos Análise de custos Plano de Projeto e Cronograma Organização do Projeto Funções dos membros Desenvolvedor – Igor Duarte Alencar Lira Thiago Ferreira Dantas Santos Responsáveis pela página do projeto Responsáveis pela integração das partes do projeto Responsáveis pela elaboração e gerenciamento de cronograma Programadores Plano de Projeto e Cronograma Cronograma Prioridades Seguir a definição de datas da disciplina Seguir as datas definidas inicialmente no plano de projeto Plano de Projeto e Cronograma Riscos Diagrama de Casos de Uso <<includ e >> <<includ e >> <<includ e >> <<includ e >> <<includ e >> <<includ e >> <<includ e >> <<includ e >>e >> <<includ <<includ e >> <<includ e >> Versão completa do diagrama de casos de uso <<includ e >> <<includ e >> <<includ e >> <<includ e >> <<includ e >> <<includ e >> <<includ e >> <<includ e >> <<includ e >> <<includ e >> <<includ e >> <<includ e >> <<includ e >> <<includ e >> <<includ e >> <<includ e >> <<includ e >> <<includ e >> <<includ e >> Diagrama de Casos de Uso Tabela dos casos de uso Diagrama de Casos de Uso Descrição dos casos implementados Diagrama de Casos de Uso Descrição Escolha) Para inicio da implementação do sistema PãoSoft, foram levados em consideração os casos de uso referentes aos requisitos que envolvem operações de cadastro, consulta, exclusão e atualização de clientes. Essa escolha se deve a extrema importância que os mesmos exercem sobre qualquer modelo de negócios. Sendo assim, o fator critico de se trabalhar com os dados dos clientes tem força maior que qualquer outro. Além disso, a dinâmica envolvida no tratamento de questões estratégicas associadas à qualidade da prestação de serviços como os de atendimento necessitam diretamente de informações concretas e seguras a respeito dos clientes. dos casos implementados (Justificativa da Casos de Uso - Detalhamento UC/RF – 02 Consultar Cliente Apresentação Geral da Arquitetura do Sistema – Documento de Projeto Definição Este documento tem a finalidade de apresentar a definição da arquitetura para os casos de uso definidos do projeto Paosoft. Aqui foi apresentado um modelo de classes unificado e propositalmente refinado tendo em vista a linguagem de programação utilizada – JAVA. Apresentação Geral da Arquitetura do Sistema – Documento de Projeto Organização das camadas em pacotes Apresentação Geral da Arquitetura do Sistema – Documento de Projeto Visão Geral da Arquitetura Análise – Diagrama de Classes e Seqüência Definição A análise foi orientada a casos de uso, e foram seguidos os seguintes passos: Identificar as classes Identificar persistência Identificar responsabilidades das classes Identificar relacionamentos Identificar atributos Análise – Diagrama de Classes e Seqüência Detalhamento da análise de um dos casos de uso Descrição Sumária O sistema deve permitir que o administrador do sistema (gerente geral, gerente do setor de atendimento e funcionário) consulte as informações armazenadas no banco de dados do sistema relativas a um dado cliente. Análise – Diagrama de Classes e Seqüência Detalhamento da análise de um dos casos de uso Classes de análise Classes Fronteira (Bondary) TelaConsultarCliente Classes de Controle (Control) ControlaCliente Classes de Entidade (Entity) ClasseCliente (persistente) Classe de Coleção de Entidades(Entity Collection) ColecaoCliente Análise – Diagrama de Classes e Seqüência Detalhamento da análise de um dos casos de uso Diagrama de seqüências Análise – Diagrama de Classes e Seqüência Detalhamento da análise de um dos casos de uso Diagrama de Classe Testes Definição Os objetivos pretendidos com os testes são os seguintes: Identificar os componentes que precisarão ser testados; Descrever as estratégias a serem usadas dos testes; Identificar recursos a serem empregados durante os testes; Traçar um cronograma para orientar os testes. Testes Definição das abordagens Abordagem Caixa Branca Teste de Unidade – uso do JUnit Teste de Integração Abordagem Caixa Preta Teste de Sistema Testes Descrição do Teste de Unidade Classes Utilizadas para o teste - Classe Cliente (da camada de dados) - Classe Teste Cliente Testes Código de alguns testes de unidade Teste de retorno não nulo public void testeGetCpf(){ Endereco endereco = new Endereco("rua", 1, "", "bairro", "cidade", "PE"); Cliente cliente = new Cliente("Bebeto", "05445834480", endereco); assertNotNull(cliente.getCpf()); } Testes Código de alguns testes de unidade Teste de alteração correta em atributos public void testeSetTelefone(){ Endereco endereco = new Endereco("rua", 1, "", "bairro", "cidade", "PE"); Cliente cliente = new Cliente("Bebeto", "05445834480", endereco, "88827723"); cliente.setTelefone("35330609"); assertSame(cliente.getTelefone(),"35330609"); } Testes Resultado Documentação Toda a documentação pertencente a este projeto está disponível na seguinte página www.cin.ufpe.br/~tfds/paosoft Apresentação do Sistema Referências Página da Disciplina – www.cin.ufpe.br/~if682 Documentos do projeto SBR – disponível no link projetos anteriores do site acima Sommerville, Ian. Software Engineering, 6th ed.,Addison-Wesley, 2003 Pressman, Roger S. Engenharia de software. São Paulo: Makron Books, 1995 Página do Projeto – www.cin.ufpe.br/~tfds/paosoft