330 likes | 448 Views
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.
E N D
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 empresa-cliente. • 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 Versão completa do diagrama de casos de uso
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 dos casos implementados (Justificativa da 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.
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 publicvoid 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 publicvoid 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
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