Universidade Federal de Pernambuco - UFPE Centro de Informática - CIn Documento de Análise e Projeto Disciplina: Engenharia de Software e Sistemas Professor: Alexandre Vasconcelos Alunos: Adelmo José Cabral de Almeida Diogo de Lima Lages João Paulo Fernandes Barbosa Severino José de Barros Júnior Thiago Augusto Ventura Lima Recife - 2008
Histórico de Alterações Data Versão Descrição Autor 19/10/2008 0.1 Criação do Documento João Paulo Fernandes - jpfb Severino Júnior - sjbj 21/10/2008 0.2 Criação dos Diagramas de Análise Adelmo Cabral - ajca Diogo Lages - dll João Paulo Fernandes - jpfb Thiago Ventura - tavl 22/10/2008 0.3 Criação dos Diagramas de Projeto Severino Júnior - sjbj 23/10/2008 0.4 Inserção e Formatação do Texto Adelmo Cabral - ajca Diogo Lages - dll João Paulo Fernandes - jpfb Severino Júnior - sjbj Thiago Ventura - tavl 23/10/2008 1.0 Criação do Documento João Paulo Fernandes - jpfb Severino Júnior - sjbj 2
Índice 1 - Modelo de Análise...4 1.1 - Introdução...4 1.2 - Análise dos Casos de Uso...4 1.2.1 - Cadastrar Pessoa Física...4 1.2.2 - Atualizar Pessoa Física...5 1.2.3 - Consultar Pessoa Física...6 1.2.4 - Remover Pessoa Física...7 1.2.5 - Cadastrar Usuário...9 1.2.6 - Cadastrar Venda...10 1.2.7 - Gerar Relatório de Destinos por Período...11 2 - Modelo de Projeto...13 2.1 Introdução...13 2.2 Arquitetura...13 2.2.1 Visão Geral do Sistema...13 2.2.2 Pacotes...15 3
1 - Modelo de Análise 1.1 - Introdução Neste documento á apresentada uma visão abstrata do sistema WinTour. Tal visão, baseada nos casos de uso, irá orientar a equipe de desenvolvedores durante o processo de desenvolvimento e implementação do projeto. Também será apresentado um diagrama geral da arquitetura do sistema. Esse esboçará a arquitetura inicial do sistema. Para evitar o trabalho repetitivo apenas os principais casos de uso foram analisados, porém tais análises são suficientes para o entendimento dos demais casos de uso, uma vez que, aqueles que não são aqui analisados são semelhantes aos que aqui estão descritos. 1.2 - Análise dos Casos de Uso 1.2.1 - Cadastrar Pessoa Física 1.2.1.1 - Descrição Sumária O sistema permite a inserção de um cliente(pessoa Física) no banco de dados. Caso o cliente já esteja no sistema, uma mensagem de erro é apresentada ao usuário. Os dados relativos ao cliente serão cruciais para uma correta inserção do cliente. 1.2.1.2 - Ator Usuário 1.2.1.3 - Classes de Análise Classe de Entidade: PessoaFisica. Classe de Fronteira: FronteiraCadastrarPessoaFisica. Classe de Controle: ControleCadastrarPessoaFisica. Classe de Coleção de Entidades: ColecaoPessoaFisica. 1.2.1.4 - Diagrama de Sequência 4
1.2.1.5 - Diagrama de Classes 1.2.2 - Atualizar Pessoa Física 1.2.2.1 - Descrição Sumária Os dados de um cliente já cadastrado no sistema poderão ser modificados a qualquer momento pelo usuário. Uma mensagem de erro deverá ser apresentada caso o cliente não esteja cadastrado no sistema. 1.2.2.2 - Ator Usuário 1.2.2.3 - Classes de Análise Classe de Entidade: PessoaFisica. Classe de Fronteira: FronteiraAtualizarPessoaFisica. Classe de Controle: ControleAtualizarPessoaFisica. Classe de Coleção de Entidades: ColecaoPessoaFisica. 5
1.2.2.4 - Diagrama de Sequência 1.2.2.5 - Diagrama de Classes 1.2.3 - Consultar Pessoa Física 1.2.3.1 - Descrição Sumária WinTour permite a visualização dos dados de um cliente cadastrado no sistema. Para tanto o usuário deverá informar o CPF ou o nome do cliente. Nos diagramas abaixo é demonstrada a ocasião em que a pesquisa pelo cliente se dá através do uso de seu CPF. A busca através do nome se dá da mesma forma e não se faz necessária sua apresentação. Caso o usuário procurado não esteja cadastrado no sistema, uma mensagem de erro deverá ser apresentada. 1.2.3.2 - Ator Usuário 6
1.2.3.3 - Classes de Análise Classe de Entidade: PessoaFisica. Classe de Fronteira: FronteiraConsultarPessoaFisica. Classe de Controle: ControleConsultarPessoaFisica Classe de Coleção de Entidades: ColecaoPessoaFisica. 1.2.3.4 - Diagrama de Sequência 1.2.3.5 - Diagrama de Sequência 1.2.4 - Remover Pessoa Física 1.2.4.1 - Descrição Sumária O sistema permitirá a remoção de qualquer cliente cadastrado no sistema. Caso ocorra uma tentativa de remover um cliente não cadastrado uma mensagem de erro será apresentada ao usuário. 7
1.2.4.2 - Ator Usuário 1.2.4.3 - Classes de Análise Classe de Entidade: PessoaFisica. Classe de Fronteira: FronteiraRemoverPessoaFisica. Classe de Controle: ControleRemoverPessoaFisica. Classe de Coleção de Entidades: ColecaoPessoaFisica. 1.2.4.4 - Diagrama de Sequência 1.2.4.5 - Diagrama de Classes 8
1.2.5 - Cadastrar Usuário 1.2.5.1 - Descrição Sumária Será permitida a inserção de um novo usuário no sistema desde que o seu nome de usuário (login) não coincida com o de algum usuário já cadastrado no sistema. Caso isso ocorra, uma mensagem de erro deverá ser apresentada na tela. Quando um novo usuário for cadastrado no sistema um registro de tal operação deverá ser inserido no banco de dados. Esse registro irá apontar qual usuário efetuou o cadastro do novo usuário do sistema. 1.2.5.2 - Ator Usuário 1.2.5.3 - Classes de Análise Classe de Entidade: Usuario. Classe de Fronteira: FronteiraCadastrarUsuario. Classe de Controle: ControleCadastrarUsuario. Classe de Coleção de Entidades: ColecaoUsuario. 1.2.5.4 - Diagrama de Sequência 9
1.2.5.5 - Diagrama de Classes 1.2.6 - Cadastrar Venda 1.2.6.1 - Descrição Sumária Uma nova venda poderá ser cadastrada no sistema. Para tanto basta inserir o nome ou CPF do cliente e os dados relativos à venda. Caso o cliente não esteja cadastrado no sistema, deverá ser dada a possibilidade de efetuar o cadastramento de tal cliente. Após a sua criação, a venda deverá obrigatoriamente vinculada a um cliente. 1.2.6.2 - Ator Usuário 1.2.6.3 - Classes de Análise Classe de Entidade: Venda. Classe de Fronteira: FronteiraVenda. Classe de Controle: ControleVenda. Classe de Coleção de Entidades: ColecaoVenda e ColecaoPessoaFisica. 10
1.2.6.4 - Diagrama de Sequência 1.2.6.5 - Diagrama de Classes 1.2.7 - Gerar Relatório de Destinos por Período 1.2.7.1 - Descrição Sumária O sistema deve gerar, a partir de sua base de dados, um relatório detalhado, para fins estatísticos, da quantidade de viagens realizadas, agrupadas por destino e limitadas a um período de tempo. Se as datas limite informadas ao sistema forem inválidas, uma mensagem de erro será apresentada. Observação: Os casos de uso de Gerar Relatórios se comportam de maneira semelhante ao do caso descrito. A principal diferença se dá no conteúdo dos relatórios gerados. 1.2.7.2 - Ator Usuário 11
1.2.7.3 - Classes de Análise Classe de Entidade: Usuario. Classe de Fronteira: FachadaRelatorioDestinosPeriodo. Classe de Controle: NegocioRelatorioDestinosPeriodo. Classe de Coleção de Entidades: RepositorioVendas. 1.2.7.4 - Diagrama de Sequência 1.2.7.5 - Diagrama de Classes 12
2 - Modelo de Projeto 2.1 Introdução Este documento tem como objetivo apresentar a estrutura do sistema Wintour para, a partir dela, definir o rumo da implementação para os desenvolvedores. Será apresentada uma visão geral do sistema, definindo as classes essenciais ao funcionamento do mesmo, e uma arquitetura em camadas, que agrupará essas classes. 2.2 Arquitetura 2.2.1 Pacotes Pacote GUI fachada negocio repositorio Classes TelaUsuario TelaVenda TelaCliente TelaRelatorio Fachada NegocioUsuario NegocioVenda NegocioCliente NegocioRelatorio RepositorioUsuario 13
classesbasicas RepositorioVenda RepositorioCliente RepositorioRelatorio Usuario Venda Cliente Relatorio 14
2.2.2 - Visão Geral do Sistema 15