Trabalho de Engenharia de Software Jonathan de Carvalho Luz Diretor Executivo 19/10/2009
Especificação de Requisitos do Software Contextualização Em entrevista com o cliente nós pudemos levantar a eminente necessidade de um sistema para acompanhamento de processos, visto que o Advogado não dispõe de um sistema de informação para a execução desta atividade, que é desenvolvida manualmente por ele. Ele mostrou bastante interesse na construção de um sistema onde ele pudesse cadastrar os processos, acompanhar os trâmites legais e gerar relatórios, além de consultas por nome, número de processo do cliente. Ele viu também a necessidade da integração deste sistema com um sistema de gestão financeira, que ainda não foi desenvolvido, para monitorar os custos de cada processo. O advogado gostou muito da idéia de um sistema WEB que facilitaria seu acesso nas várias cidades onde ele atua, ele ressaltou somente que este sistema estaria apenas disponível para o escritório e não para os usuários externos (clientes). Esboço da entrevista: Gerencia de Processos - petição inicial (cadastro); - nº processo; - Busca de processos (vários critérios de pesquisa); - Hoje ele cria diretórios para armazenamento dos dados do processo; - é interessante o acesso via WEB; - restrição de acesso ao cliente (somente advogado acessoria); Gerencia Financeira - gerir os valores dos processo em andamento; Existe a interação entre os sistemas; josehenriquefilho@yahoo.com.br OBS.: Quando o advogado é contratado geralmente recebe 20% antecipado e o restante ao fim do processo, esta porcentagem tem que ser enviada do sistema de gestão de Processos para o sistema de gestão financeira.
Quais os problemas que serão resolvidos? Descentralização das informações. Consulta dos Dados; Manutenção nos dados dos processos; Qual a missão do produto? Criar uma base de processos para um consultório de advocacia, e proporcionar a manutenção e consulta nesta base de dados; - Criar uma base de dados dos clientes atendidos pelo Advogado e assim diminuir volume de fichas e arquivos, informatizando as informações de necessidade do Advogado. - A criação de consulta ao cliente por nome ou n de processo do cliente facilitará e agilizará na busca de processos antigos e etc. - Informatizar as finanças dará um controle mais detalhado de custos de cada processo e assim dando uma clareza de quanto cobrar ao cliente. Quais os limites do produto? O sistema não irá interagir com nenhum sistema dos órgãos de Justiça; O sistema só será acessado pelo Advogado; O sistema não irá fazer backup da base de dados; Quais os benefícios do produto? Unidade dos dados dos Processos; Facilidade na consulta dos dados; Emissão de relatórios;
Quais as referências que serão utilizadas para posterior consulta sobre o produto? Documentos: C:\clientes\<pasta_com_nome_dos_clientes> Glossário: Petição inicial = Abertura de um Processo junto ao órgão de Justiça Atores Advogado será o Administrador (pois somente ele será o usuário do sistema). Sistema de Gestão Financeira Casos de Uso Gestão de usuários Gestão de Processos Gestão de Clientes Histórico Relatórios Consulta
Diagrama de Contexto Gestão de Usuários Gestão de Processos <<include>> Histórico Gestão de Clientes <<include>> Sistema de Gestão FInanceira Advogado Relatórios Consulta Requisitos não funcionais e Classificação
Requisitos não funcionais Ordem Requisito Descrição 01 Latência O sistema possibilitará a visualização entre páginas num tempo máximo de resposta de 3 segundos; 02 Usabilidade O sistema apresenta uma interface padronizada e visualmente parecida a uma página da Web para facilitar a utilização e aprendizado; 03 Armazenamento O Sistema será implementado utilizando o Banco de Dados SQL Server Classificação Ordem Requisito Tipo Importância Complexidade Estabilidade 01 Interface Cadastro de Clientes Interface Essencial Baixa Média 03 Interface Cadastro de Processos 04 Interface de Consulta e Relatórios de Clientes 05 Interface de Consulta e Relatórios de Processos Interface Essencial Média Alta Interface Essencial Média Alta Interface Essencial Média Alta 06 Caso de Uso Gerenciamento dos Clientes 07 Caso de Uso Gerenciamento dos Processos 08 Caso de Uso de Relatórios Caso de Uso Caso de Uso Caso de Uso Essencial Alta Média Essencial Alta Média Desejável Média Baixa 09 Caso de Uso Timer Caso de Uso Essencial Alta Média 10 Implementação em Banco Dados SQL Server 11 Atributo de Segurança (Criptografia) 12 Requisito de Desempenho de tempo/resposta Não- Funcional Não- Funcional Não- Funcional Desejável Média Média Desejável Alta Média Desejável Média Alta
Caso de Uso DETALHAMENTO DE CASO DE USO Nome do caso de uso Casos de uso geral Ator principal Atores secundários Resumo Pré-condições Pós-condições Fluxo principal Ações do ator O usuário preenche os campos do nome ou cpj/cnpj para realizar a consulta do cliente. Caso o cliente exista o sistema irá para o subfluxo alterar/excluir, caso contrário irá para o subfluxo cadastrar. Restrições/validações Subfluxo Alterar/Excluir Pré-condições Pós-condições Ações do ator Caso o usuário clicar em excluir. Caso o usurário confirme Caso o usuário clicar em alterar. Após a alteração o usuário deverá clicar Gerenciamento do Cliente Advogado Este caso de uso descreve a etapa percorridas por um ator para realizar uma gerência do cliente. Sempre que for executada qualquer operação no sistema deverá ser gravado um histórico para efeito de auditoria. Ações do sistema O sistema exibe a tela de consulta de clientes. O cliente esteja cadastrado Ações do sistema O sistema exibirá as informações do cliente encontrado para alteração (Nome, endereço, telefones, celular, cpf, rg, descprocesso, preço, parcelas) e exibirá os botões ALTERAR e EXCLUIR. O sistema exibirá uma mensagem de confirmação. O Sistema excluirá o cliente do sistema e exibirá uma mensagem informando que a exclusão foi efetuada com sucesso. Os campos serão liberados para a alteração. O sistema registrará as informações e exibirá uma mensagem informando que as alterações foram
em GRAVAR Restrições/validações Subfluxo Cadastrar Pré-condições Pós-condições Ações do ator O usuário deverá preencher todas as informações e clicar no botão GRAVAR. Restrições/validações efetuadas com sucesso. Todos os dados para alteração são obrigatórios, exceto... Ações do sistema O Sistema exibirá a tela de cadastro com as informações a serem preenchidas (Nome, endereço, telefones, celular, cpf, rg, descprocesso, preço, parcelas). O sistema registrará as informações, exibirá uma mensagem que o cadastro foi efetuado com sucesso e retornará para tela de busca. Todos os dados são obrigatórios, exceto... Nome do caso de uso Casos de uso geral Ator principal Atores secundários Resumo Pré-condições Pós-condições Fluxo principal Ações do ator Caso o usuário escolha a opção para adicionar, deverá ser clicado no botão ADICIONAR e o sistema executará o subfluxo cadastroprocesso, caso escolha a opção consulta, o usuário deverá preencher no mínimo um dos campos, clica em CONSULTAR e o Gerenciamento de Processos Advogado Este caso de uso descreve a etapa percorridas por um ator para realizar uma gerência do processo. Sempre que for executada qualquer operação no sistema deverá ser gravado um histórico para efeito de auditoria. Ações do sistema O sistema exibe a tela de consulta de processos contendo a opção de pesquisa pelo número do processo, nome do processo, nome do cliente, tipo do processo, o botão PESQUISAR e o botão ADICIONAR.
sistema executará o subfluxo ConsultarProcesso. Restrições/validações Subfluxo CadastroProcesso Pré-condições Pós-condições Ações do ator O usuário deverá preencher todos os dados e clicar no botão cadastrar. Ações do sistema O Sistema exibirá a tela de cadastro com as informações a serem preenchidas (Nome, endereço, telefones, celular, cpf, rg, descprocesso, preço, parcelas). O Sistema registrará as informações, exibirá uma mensagem informando que o cadastro foi efetuado com sucesso e após retornará para tela anterior. Restrições/validações Subfluxo Consulta Processo Pré-condições Pós-condições Ações do ator Caso o usuário clique no link para exclusão Caso o usuário confirme Caso o usuário clique no link para alterar O usuário deverá preencher as informações e clicar no botão GRAVAR Restrições/validações Todos os dados para alteração são obrigatórios, exceto... Ações do sistema Caso encontre resultado na consulta, o sistema exibirá o uma lista com os links para alteração e exclusão, caso contrário o sistema exibirá uma mensagem informando que nenhum processo foi encontrado. O sistema exibirá uma mensagem de confirmação. O sistema excluirá o processo, exibirá uma mensagem informando que o processo foi excluído com sucesso. O sistema irá para tela de alteração com os campos habilitados a serem alterados. O sistema registrará as informações, exibirá uma mensagem informando que o registro foi alterado com sucesso e retornará para lista dos registros encontrados. Todos os dados são obrigatórios, exceto... Nome do caso de uso Casos de uso geral Ator principal Atores secundários Resumo Pré-condições Relatórios Advogado Este caso de uso descreve a etapa percorridas por um ator para realizar um relatório
Pós-condições Fluxo principal Ações do ator O usurário deverá preencher no mínimo uma das informações e clicar em PESQUISAR. Restrições/validações Nome do caso de uso Casos de uso geral Ator principal Atores secundários Resumo Pré-condições Pós-condições Fluxo principal Ações do ator Restrições/validações Ações do sistema O sistema exibe a tela de busca com as opções de busca por período, tipo do processo, cliente. O sistema exibirá o resultado da pesquisa (em formato de relatório) com as informações do processo, cliente. Timer Este caso de uso descreve o processo do timer Ações do sistema Ao final de cada dia, as 22h, o sistema enviará as informações dos processos e clientes para o sistema financeiro.
Especificação de Interface Externa ESPECIFICAÇÃO DE INTERFACE EXTERNA ESPECIFICAÇÃO DE INTERFACE EXTERNA Nome da Mensagem / Arquivo OperaçãoDeNegocios.xml Tipo da Interface Externa Mensagem Arquivo Origem Sistema de processos Destino Sistema financeiro Segurança no tráfego de dados Não é necessário criptografar o arquivo, pois a tramitação é interna. Periodicidade Esse arquivo deverá ser gerado todo final do dia com toda a movimentação de vendas. Layout <OperacaoDeNegocio> <Data></Data> <NúmeroOperacaoProcesso></ NúmeroOperacaoProcesso > <ValorTotal></ValorTotal> <NomeDoCliente></NomeDoCliente> </OperacaoDeNegocio> Prototipação
Protótipos
Diagramas Diagrama de Classes cd: Diagrama de Classe Historico_Processo -id_historico_processo :int -dt_registro_processo :TIMESTAMP -operacao_processo :string -id_processo :int +consultar_historico_processo ():void +cadastrar_historico_processo ():void * Possui Processo -id_processo :Integer -descricao_processo :string -parcela :Integer -preco :double -data_abertura :TIMESTAMP -data_conclusao :TIMESTAMP -id_cliente :Integer +cadastrar (Processo :Processo ):void +alterar (Processo :Processo ):void +consultar (Processo :Processo ):void +excluir (Processo :Processo ):void +VerificaNumeroProcesso ():void +<<SET>>+id_processo ():void +<<GET>>+id_processo ():void +<<SET>>+descricao_processo ():void +<<GET>>+descricao_processo ():void +<<SET>>+parcela ():void +<<GET>>+parcela ():void +<<SET>>+preco ():void +<<GET>>+preco():void +<<SET>>+data_abertura ():void +<<GET>>+data_abertura ():void +<<SET>>+data_conclusao ():void +<<GET>>+data_conclusao ():void +<<SET>>+id_cliente ():void +<<GET>>+id_cliente ():void Pessoa 1..* Possui -id_cliente :Integer -nome :string -endereco :string -telefone :string -celular :string -id_usuario :Integer +cadastrar (Pessoa :Pessoa ):void +consultar (Pessoa :Pessoa ):void +alterar (Pessoa :Pessoa ):void +excluir (Pessoa :Pessoa ):void +<<SET>>+id_cliente ():void +<<GET>>+id_cliente ():void +<<SET>>+nome ():void +<<GET>>+nome ():void +<<SET>>+endereco ():void +<<GET>>+endereco ():void +<<GET>>+telefone ():void +<<SET>>+telefone ():void +<<GET>>+celular ():void +<<SET>>+celular ():void +<<GET>>+id_ususario ():void +<<SET>>+id_usuario ():void 1 Possui + <role> Historico_Cliente -id_historico_cliente :Integer -dt_registro_cliente :TIMESTAMP -operacao_cliente :string -id_cliente :int +consultar_historico_cliente ():void +cadastrar_historico_cliente ():void Cliente Pessoa Física Cliente Pessoa Jurídica -CPF:INTEGER -CNPJ:INTEGER +VerificaCPF ():void +ValidaCPF ():void +VerificaCNPJ ():void +ValidaCNPJ ():void + <role> Usuario -id_usuario :Integer -nome_usuario :string -login:string -senha :string -email :string +cadastrar ():void +alterar ():void +consultar ():void +excluir ():void +verificar_loginsenha ():void +<<GET>>+id_usuario ():void +<<SET>>+id_usuario ():void +<<GET>>+login():void +<<SET>>+login():void +<<GET>>+senha ():void +<<SET>>+senha ():void +<<GET>>+email ():void +<<SET>>+email ():void * * * *
Diagrama de Seqüência de Usuário sd: Cadastro de Usuario Advogado :Usuario CadastroUsuario :Usuario Usuario:Usuario Pessoa :Pessoa 1).ConsultaUsuario 2).ConsultaUsuario 3).ConsultaUsuario 1) Usuario não existe 2) Usuario não existe 3) Usuario não existe 4).Digita Login e Senha 5).Verificar_LoginSenha 4) Verdadeiro 5) Verdadeiro 6).Digita dados do usuario 7).cadastrarUsuario 8).cadastrarUsuario 8) Usuario cadastrado com sucesso 6) Usuario cadastrado com sucesso 7) Usuario cadastrado com sucesso
sd: Consultar/Alterar/Excluir Usuario Advogado :Usuario AlteraExclui :Usuario Usuário:Usuario Pessoa :Pessoa 1).ConsultaUsuario 2).ConsultaUsuario Consultar Usuário 3).ConsultaUsuario 3) Usuario encontrado 1) Usuario encontrado 2) Usuario encontrado alt 4).Digita as informações do usuario 5).alteraUsuario 6).alteraUsuario Alterar Usuário 6) Usuario alterado com sucesso 4) usuario alterado com sucesso 5) Usuario alterado com sucesso 7).excluirUsuario 8).excluirUsuario Excluir Usuário.excluirUsuario 7) usuario excluido com sucesso 8) usuario excluido com sucesso
Diagrama de Seqüência de Cliente sd: Cadastro de Pessoa Fisica Advogado :Usuario CadastroPessoaFisica :Pessoa ClientePessoaFisica :Pessoa Pessoa :Pessoa Historico:Pessoa 1).ConsultaCliente 2).ConsultaCliente 3).ConsultaCliente 1) Cliente não existe 2) Cliente não existe 3) Cliente não existe 4) <attribute>.digita CPF 5).Verifica CPF 4) Verdadeiro 5) Verdadeiro.Valida CPF 6).Digita dados do cliente 7).cadastrarCliente 8).cadastrarCliente 6) Cliente cadastrado com sucesso 7) Cliente cadastrado com sucesso 8) Cliente cadastrado com sucesso.cadastrarhistorico sd: Cadastro de Pessoa Jurídica Advogado :Usuario CadastroPessoaJuridica :Pessoa ClientePessoaJuridica :Pessoa Pessoa :Pessoa Historico:Pessoa 1).ConsultaCliente 2).ConsultaCliente 3).ConsultaCliente 1) Cliente não existe 2) Cliente não existe 3) Cliente não existe 4).Digita CNPJ 5).Verifica CNPJ 4) Verdadeiro 5) Verdadeiro.Valida CNPJ 6).Digita dados do cliente 7).cadastrarCliente 8).cadastrarCliente 6) Cliente cadastrado com sucesso 7) Cliente cadastrado com sucesso 8) Cliente cadastrado com sucesso.cadastrarhistorico
sd: Consultar/Alterar/Excluir Cliente Advogado :Usuario AlteraExclui :Pessoa Juridica:Pessoa Pessoa :Pessoa HistoricoCliente :Pessoa 1).ConsultaCliente 2).ConsultaCliente 3).ConsultaCliente Consultar Cliente 3) Cliente encontrado 2) Cliente encontrado 1) Cliente encontrado alt 4).Digita as informações do cliente alteração de cliente 5).alteraCliente 6).alteraCliente 6) Cliente alterado com sucesso.cadastrohistorico 5) cliente alterado com sucesso 4) cliente alterado com sucesso 7).excluirCliente 8).excluirCliente.cadastroHistorico exclusão de cliente.excluircliente 8) cliente excluido com sucesso 7) cliente excluido com sucesso
Diagrama de Seqüência de Processo sd: Cadastro de Processo Advogado :Usuario Cadastro Processo :Processo Processo :Processo Pessoa :Pessoa Historico:Processo 1).ConsultaProcesso 2).ConsultaProcesso 1) Processo não existe 2) Processo não existe 3).Digita dados do Processo 4).cadastrarProcesso.Adiconar Processo ao Cliente 3) Processo cadastrado com sucesso 4) Processo cadastrado com sucesso.cadastrar Historico
sd: Consultar/Alterar/Excluir Processo Advogado :Usuario AlteraExclui :Processo Processo :Processo HistoricoCliente :Pessoa 1).ConsultaProcesso 2).ConsultaProcesso Consultar Processo 1) Processo encontrado 2) Processo encontrado alt 3).Digita as informações do Processo Alterar Processo 4).alteraProcesso 3) Processo alterado com sucesso 4) Processo alterado com sucesso.cadastrohistorico 6).excluirProcesso 7).excluirProcesso.cadastroHistorico 6) Processo excluido com sucesso 7) Processo excluido com sucesso Excluir Processo