Denis Cezar Metzner
Um protótipo de software
assistente de atualização de
versão de software
Autor : Denis Cezar Metzner
Orientador : Ricardo Alencar de Azambuja
Empresa : Strategies Ltda
Denis Cezar Metzner
Roteiro da
Apresentação
Introdução� Contextualização
Objetivos do Trabalho
Fundamentação teórica� Conceitos básicos e ferramentas utilizadas
Denis Cezar Metzner
Roteiro da
Apresentação (2)
Desenvolvimento do trabalho� Requisitos principais� Especificação� Implementação� Resultados
Conclusão� Extensões
Denis Cezar Metzner
Introdução
Mercado Atual � Controle de Versão
Fechamento e Atualização de Versão� Software de Grande Porte
� Processo Manual� Perda de Tempo
� Geração de Custos
Denis Cezar Metzner
Introdução (2)
Análise Estruturada
Oracle 8i
SQL Plus 3.0
Uniface 7.0
Denis Cezar Metzner
Objetivos do trabalho
Desenvolvimento de Protótipo
� Automatizar Fechamento de Versão (executada na empresa)
� Automatizar Atualização de Versão (executada no cliente)
Denis Cezar Metzner
Fundamentação teóricaFerramentas Utilizadas
Banco de Dados Relacional Oracle 8i
Ferramenta de Manipulação de Dados SQL Plus 3.0
Ferramenta de Desenvolvimento Uniface 7.0
Denis Cezar Metzner
Desenvolvimento do trabalhoRequisitos
Desenvolvimento em Uniface 7.0
Automatização Fechamento de Versão
Automatização Atualização de Versão
Ganho de Tempo e Redução de Custos
Denis Cezar Metzner
Desenvolvimento do trabalhoEspecificação
Coleta de Informações
Descrição do ObjetivosLista de Eventos
Diagrama de ContextoDiagrama de Fluxo de Dados (D.F.D.)
Modelo Entidade Relacionamento LógicoModelo Entidade Relacionamento Físico
Utilização da Ferramenta Power Designer
Denis Cezar Metzner
Desenvolvimento do trabalhoImplementação – Modelo Dados
Denis Cezar Metzner
Desenvolvimento do trabalhoImplementação – Editor Código
Exemplo
Denis Cezar Metzner
Implementação – Tela de Acesso
Denis Cezar Metzner
Implementação – Tela Geral
Denis Cezar Metzner
Implementação – Informações Cliente
Denis Cezar Metzner
Implementação – Sistemas do Cliente
Denis Cezar Metzner
Implementação – Usuários de Banco
Denis Cezar Metzner
Implementação – Usuários de Banco
Denis Cezar Metzner
Implementação – Fechamento Versão
Denis Cezar Metzner
Implementação – Atualização Versão
Denis Cezar Metzner
Implementação – Atualização Versão
Denis Cezar Metzner
Implementação – Atualização Versão
Denis Cezar Metzner
Desenvolvimento do trabalhoResultados
Redução no gasto de tempo� Fechamento : 2 horas � 45 minutos
� Atualização : 4 horas � 30 minutos
Redução de etapas� Fechamento : 14 etapas � 11 etapas
� Atualização : 10 etapas � 5 etapas
Denis Cezar Metzner
Conclusões
Período de adaptação ao ambiente do cliente.� Alterações e ajustes.
Pontos Positivos.� Objetivos principais foram atingidos.
� Grande necessidade da empresa.� Nova ferramenta de auxílio ao Depto Suporte.
Pontos Negativos (limitações).� Chamadas de Sistema operacional.� Executáveis que não pertencem à aplicação.
Denis Cezar Metzner
ConclusõesExtensões
“Departamento de Suporte disponível 24 horas”
� Controle de cópia de segurança.
� Monitoração do banco de dados (servidor).
� Ferramenta de auxílio para manipulação de dados.
Fim
Denis Cezar Metzner
Empresa é cadastrada;Sistemas da empresa são cadastrados;Usuários do protótipo são cadastrados;Usuários do banco de dados são cadastrados;Usuário Strategies cadastra módulos;Usuário Strategies cadastra rotinas;Usuário Strategies cadastra tipo de alteração;
PróximaEspecificação
Lista de Eventos
Denis Cezar Metzner
Usuário Strategies cadastra banco de dados;Usuário Strategies cadastra sistema;Usuário Strategies cadastra modelos do sistema;Usuário Strategies cadastra versão;Usuário Strategies efetua fechamento de versão;Usuário Cliente efetua atualização de versão;
EspecificaçãoAnterior
Lista de Eventos (2)
Denis Cezar Metzner
Diagrama de Contexto
Sistemas da Empresa Strategies
Empresa Strategies
Modelo
Atualizacao Versão
Usuário Banco Dados Cliente
Usuário Cliente
Sistemas da Empresa Cliente
Empresa Cliente
Fechamento Versão
Versão
Sistema
Banco de Dados
Tipo de Alteração
Rotina
Modulo
Usuario Banco Dados Strategies
Usuário Strategies
Empresa Strategies
1
Strategies Suporte
+
Usuário Strategies Usuário Cliente
Voltar
Denis Cezar Metzner
Diagrama de Fluxo de Dados
Sistema Fechamento
Modelo Fechamento
Usuário Banco Fechamento
Versão Fechamento
Sistema Empresa
[Fechamento Versão]
Usuário Strategies
1.13
Fechamento Versão
Entidade Sistema Empresa : 2
Entidade Versão : 3
Entidade Modelo : 2
Entidade Sistema : 5
Entidade Usuário Banco : 3
PróximaEspecificação
Denis Cezar Metzner
Diagrama de Fluxo de Dados
Sistema Atualização
Tipo Alteração Atualização
Usuário Banco Atualização
Sistema Cliente Atualização
[Atualizacao Versão]Usuário Cliente
1.15
Atualização Versão
Entidade Sistema Cliente : 2
Entidade Usuário Banco : 4
Entidade Tipo Alteração : 2
Entidade Sistema : 6
Voltar Especificação
Denis Cezar Metzner
RTBENTIDADETBALTERACAO
RTBENTIDADETBRELACIONAMENTO
RTBENTIDADETBCAMPO
RTBVERSAOTBENTIDADE
RTBTIPOALTERACAOTBALTERACAO
RTBSISTEMATBMODELO
RTBMODULOTBUSUARIOMODULO
RTBUSUARIOTBUSUARIOMODULO
RTBUSUARIOBANCOTBSISTEMAEMPRESA2
RTBUSUARIOBANCOTBSISTEMAEMPRESA3
RTBUSUARIOBANCOTBSISTEMAEMPRESA1
RTBVERSAOTBSISTEMAEMPRESA
RTBSISTEMATBVERSAO
RTBVERSAOTBSISTEMACLIENTE
RTBMODULOTBROTINA
RTBBANCODADOSTBCLIENTE
RTBROTINATBUSUARIOROTINA
RTBUSUARIOTBUSUARIOROTINA
RTBCLIENTETBDADOSCLIENTE
RTBCLIENTETBSISTEMACLIENTE
RTBUSUARIOBANCOTBSISTEMACLIENTETBCLIENTE
Código do CNPJNome do CNPJ
TBUSUARIOBANCO
Código do UsuárioDescrição do UsuárioNome do UsuárioSenha do UsuárioNome da ConexãoTipo de Usuário
TBSISTEMACLIENTE
Data de AtualizaçãoDiretório do SistemaDiretório do BackupDiretório da Versão Nova
TBBANCODADOS
Código do Banco de DadosNome do Banco de Dados
TBSISTEMA
Código do SistemaNome do Sistema
TBDADOSCLIENTE
Nome da ColunaConteúdo da Coluna
TBUSUARIO
Nome de AcessoNome do UsuárioSenha de AcessoTipo de Acesso
TBROTINA
Código da RotinaDescrição da Rotina
TBUSUARIOROTINA
Tem acesso ?
TBMODULO
Código do MóduloDescrição do Módulo
TBENTIDADE
Nome da Entidade
TBCAMPO
Nome do CampoOrdem do CampoTipo do CampoTamanho do CampoNr Casas DecimaisObrigatório?Campo ChaveTipo de Chave
TBSISTEMAEMPRESA
TBVERSAO
Código da VersãoDescrição da VersãoData de FechamentoDiretório da VersãoLinha de ComandoVersão Fechada?
TBUSUARIOMODULO
Tem acesso ?
TBMODELO
Descrição do Modelo
TBRELACIONAMENTO
Nome da Entidade FilhaNome do RelacionamentoNome do Campo do RelacionamentoTipo de Relacionamento
TBALTERACAO
Sequencial da AlteracaoNome do CampoNr Ordem do CampoTipo de CampoTamanho do CampoNr Casas DecimaisObrigatório?Campo ChaveTipo de ChaveNome da Entidade FilhaNome do RelacionamentoNome dos Campos do RelacTipo de Relacionamento
TBTIPOALTERACAO
Código do tipo de alteraçãoDescrição do tipo de alteração
Voltar
Denis Cezar Metzner
CDSISTEMA = CDSISTEMACDVERSAO = CDVERSAO
DSENTIDADE = DSENTIDADE
CDSISTEMA = CDSISTEMACDVERSAO = CDVERSAO
DSENTIDADE = DSENTIDADEPAI
CDSISTEMA = CDSISTEMACDVERSAO = CDVERSAO
DSENTIDADE = DSENTIDADE
CDSISTEMA = CDSISTEMACDVERSAO = CDVERSAO
CDTIPO = CDTIPO
CDSISTEMA = CDSISTEMA
CDMODULO = CDMODULO
CDUSUARIO = CDUSUARIO
CDUSUARIOBANCO = CDUSUARIODADOS
CDUSUARIOBANCO = CDUSUARIOUNIFACE
CDUSUARIOBANCO = CDUSUARIOOBJETO
CDSISTEMA = CDSISTEMACDVERSAO = CDVERSAO
CDSISTEMA = CDSISTEMA
CDSISTEMA = CDSISTEMACDVERSAO = CDVERSAO
CDMODULO = CDMODULO
CDBANCO = CDBANCO
CDROTINA = CDROTINA
CDUSUARIO = CDUSUARIO
CDCNPJ = CDCNPJ CDCNPJ = CDCNPJ
CDUSUARIOBANCO = CDUSUARIOBANCO
TBCLIENTE
CDCNPJ VARCHAR2(14)DSCNPJ VARCHAR2(50)CDBANCO VARCHAR2(3)
TBUSUARIOBANCO
CDUSUARIOBANCO VARCHAR2(3)DSUSUARIOBANCO VARCHAR2(30)DSNOME VARCHAR2(20)DSSENHA VARCHAR2(20)NMCONEXAO VARCHAR2(10)DSTIPO VARCHAR2(1)
TBSISTEMACLIENTE
CDCNPJ VARCHAR2(14)CDSISTEMA VARCHAR2(3)CDUSUARIOBANCO VARCHAR2(3)CDVERSAO VARCHAR(5)DTATUALIZACAO DATEDSDIRETORIOATUAL VARCHAR2(100)DSDIRETORIOBACKUP VARCHAR2(100)DSDIRETORIOVERSAO VARCHAR2(100)
TBBANCODADOS
CDBANCO VARCHAR2(3)DSBANCO VARCHAR2(30)
TBSISTEMA
CDSISTEMA VARCHAR2(3)DSSISTEMA VARCHAR2(30)
TBDADOSCLIENTE
CDCNPJ VARCHAR2(14)DSCOLUNA VARCHAR2(20)DSCONTEUDO VARCHAR2(50)
TBUSUARIO
CDUSUARIO VARCHAR2(10)DSUSUARIO VARCHAR2(50)DSSENHA VARCHAR2(10)DSACESSO CHAR
TBROTINA
CDROTINA VARCHAR2(8)DSROTINA Varchar2(50)CDMODULO VARCHAR(3)
TBUSUARIOROTINA
CDUSUARIO VARCHAR2(10)CDROTINA VARCHAR2(8)DSACESSO VARCHAR2(1)
TBMODULO
CDMODULO VARCHAR(3)DSMODULO VARCHAR(30)
TBENTIDADE
CDSISTEMA VARCHAR2(3)CDVERSAO VARCHAR(5)DSENTIDADE VARCHAR2(50)
TBCAMPO
CDSISTEMA VARCHAR2(3)CDVERSAO VARCHAR(5)DSENTIDADE VARCHAR2(50)DSCAMPO VARCHAR2(20)DSORDEM NUMBER(4)DSTIPO VARCHAR2(10)DSTAMANHO NUMBER(5)DSDECIMAL NUMBER(2)DSOBRIGATORIO VARCHAR2(1)DSCHAVE VARCHAR2(1)DSTIPOCHAVE VARCHAR2(1)
TBSISTEMAEMPRESA
CDSISTEMA VARCHAR2(3)CDVERSAO VARCHAR(5)CDUSUARIOOBJETO VARCHAR(3)CDUSUARIOUNIFACE VARCHAR(3)CDUSUARIODADOS VARCHAR(3)
TBVERSAO
CDSISTEMA VARCHAR2(3)CDVERSAO VARCHAR(5)DSVERSAO VARCHAR(30)DTVERSAO DATEDSDIRETORIO VARCHAR2(100)DSCOMANDO VARCHAR2(200)DSFECHADA VARCHAR2(1)
TBUSUARIOMODULO
CDUSUARIO VARCHAR2(10)CDMODULO VARCHAR2(3)DSACESSO VARCHAR2(1)
TBMODELO
CDSISTEMA VARCHAR2(3)DSMODELO VARCHAR2(50)
TBRELACIONAMENTO
CDSISTEMA VARCHAR2(3)CDVERSAO VARCHAR(5)DSENTIDADEPAI VARCHAR2(50)DSENTIDADEFILHA VARCHAR2(50)DSNOME VARCHAR2(100)DSCAMPO VARCHAR2(100)DSTIPO VARCHAR2(3)
TBALTERACAO
CDSISTEMA VARCHAR2(3)CDVERSAO VARCHAR(5)DSENTIDADE VARCHAR2(50)CDTIPO VARCHAR2(3)DSSEQUENCIAL NUMBER2(4)DSCAMPO VARCHAR2(20)DSORDEM NUMBER(3)DSTIPOCAMP VARCHAR2(10)DSTAMANHO NUMBER(5)DSDECIMAL NUMBER(2)DSOBRIGATORIO VARCHAR2(1)DSCHAVE VARCHAR2(1)DSTIPOCHAVE VARCHAR2(1)DSENTIDADEFILHA VARCHAR2(50)DSNOMERELAC VARCHAR2(100)DSCAMPORELAC VARCHAR2(100)DSTIPORELAC VARCHAR2(3)
TBTIPOALTERACAO
CDTIPO VARCHAR2(3)DSTIPO VARCHAR2(100)
Voltar
Denis Cezar Metzner
usuario = "%%conexao|%%nome|%%senha"open "%%usuario", "$UD0"if ($status < 0)
message "Erro abrindo usuário Uniface de %%dssistem a.tbsistema."return(-1)
endifclear/e "tbmodelo"cdsistema.tbmodelo = cdsistema.tbversaoretrieve/e "tbmodelo"if ($status < 0)
message/error "Os Modelos de %%dssistema.tbsistema não estão cadastrados."
return(-1)endifsetocc "tbmodelo", 1while ($status >= 0)
retrieve/e "tbentidade"setocc "tbentidade", -1erase/e "tbentidade"if ($status < 0)
message/error "Erro excluindo ocorrencias entidade TBENTIDADE"return(-1)
endifsetocc “tbmodelo”, $curocc(tbmodelo) + 1
endwhile
Voltar