Escolar Documentos
Profissional Documentos
Cultura Documentos
Mercado
5) Nomenclaturas utilizadas;
Os APOs ficam armazenados num repositrio, o RPO. Inclusive as funes de usurio, tambm so compilados, tornam-se APOs e ficam armazenados no RPO. Um APO executado quando o usurio clica na opo no menu. O Remote requisita o APO ao server, o server carrega do RPO e executa. RPO so os programas do ERP. Regras de negcio. BUILD executveis do sistema, DLLs, mais o RPO. Quando tem uma grande atualizao, que alterou tanto os executveis do sistema quanto o ERP, precisa atualizar este conjunto de arquivos. Chama-se atualizao da Build. Patch quando tem uma alterao de apenas uma parte do RPO. Por exemplo, houve uma alterao em algum imposto. S precisa atualizar aquele programa. Ento gerado um patch para atualizar s o RPO. A atualizao do patch feita no IDE.
6) Instalao e configurao
Topologia Bsica
Cliente remoto
PDA
Roteador
Cliente DNS
Cliente DNS
Cliente DNS
7) Principais arquivos;
Dividimos os arquivos presentes no sistema em duas classes: a) Arquivos de sistema: So os arquivos responsveis pelas configuraes do sistema. Familia SX arquivos de configurao Familia SIGAMAT informaes das empresas e dos usurios. b) Arquivos de dados: So os arquivos que recebem dados. Todos os arquivos comeam com S de SIGA. Hoje temos as famlias Q, R e P. Os arquivos so divididos em grupos. Por exemplo, SA-Cadastros, SB-Estoques, etc.
8) Caractersticas do sistema;
O sistema permite mltiplas empresas e mltiplas filiais por empresa. O nome de todos os campos comea sempre com o prefixo do nome do arquivo. Ex.: arquivo SA1, campos A1_COD, A1_NOME. Todos os arquivos tem um campo Filial. Apenas o arquivo SM2 Cadastro de Cotaes das Moedas no precisa da Filial pois o valor das moedas deve ser nico para todas as filiais.
Existe o compartilhamento entre filiais e entre empresas. O usurio pode incluir os seus prprios ndices. Por exemplo, o arquivo SA1 tem 7 ndices. O usurio pode incluir o ndice 8. Acontece que, se na prxima verso, a Microsiga incluir mais ndices, o ndice do usurio ser realocado para o final e ser renumerado. Portanto, todo ndice de precisa ter um NickName, e nos programas, ao invs de usar a funo dbSetOrder(), deve-se usar a funo dbOrderNickName(). S os ndices de usurio podem ser NickName. Os ndices da Microsiga nunca tero.
b) Gesto de processos:
- Parte fundamental para o sucesso de qualquer projeto de tecnologia, embora seja ainda relegado a segundo plano, porem estudos efetuados no MIT indicam que quando os processos so bem mapeados, e a equipe
envolvida no projeto esta comprometida, os casos de sucesso beiram os 95%. - Composto de um levantamento inicial que deve ser feito anteriormente ao desenvolvimento do escopo do projeto (viso satlite), e complementado com a analise criteriosa de cada rea ou departamento e processos envolvidos no projeto (viso micro). - Modelos existentes de processos de software:
Mtodos de anlise McCain Neighboors Prieto-Daz Simos HP ODM FODA IDeA STARS DADO Synthesis JODA Hollenbach & Frakes Birk Basili Henninger Objectivo Diminuir custos de adaptao Melhorar elementos reutilizveis Melhorar elementos reutilizveis Construir bibliotecas com elementos reutilizveis Construir elementos reutilizveis Construir elementos reutilizveis Construir elementos reutilizveis Construir bibliotecas com elementos reutilizveis Construir bibliotecas com elementos reutilizveis Integrar a anlise do domnio no processo de desenvolvimento Diminuir custos de adaptao Construir elementos reutilizveis Construir bibliotecas com elementos reutilizveis Construir elementos reutilizveis Construir elementos reutilizveis Construir bibliotecas com elementos reutilizveis Anlise de sistemas Processo para identificar e organizar informao acerca do utilizador Identificar, organizar e modelar informao para produzir requisitos Processo em que definida uma arquitectura e cdigo reutilizveis Identificar e organizar conhecimento acerca de um tipo de problemas para os descrever e resolver Identificar domnios em que a reutilizao de certas experincias vantajosa Identificar padres que se repetem no decorrer de projectos de desenvolvimento Definio Determinar caractersticas que optimizem o domnio Identificar objectos e operaes de uma classe de sistemas Actividade que precede a anlise do sistema Classe Produtos (cdigo) Produtos (cdigo) Produtos (cdigo)
Especificao do modelo do domnio para uma biblioteca Produtos (cdigo) Caracterizar o domnio de software Processo de identificar, organizar e representar informao relevante acerca do domnio Produtos (cdigo) Produtos (cdigo) Produtos (arquitectura) Produtos (arquitectura) Produtos (arquitectura) Produtos (arquitectura) Produtos (requisitos) Produtos (requisitos) Processos Tecnologia Experincia Experincia
Diretivas de Segurana
24/06/2010
Viso empresa
CLIENTE
PESSOA FISICA
PESSOA JURIDICA
o negocio
o negocio
VIDE ESPECFICO
VIDE ESPECFICO
o negocio
VIDE ESPECFICO
- painel de atores:
12) Usurios;
Os usurios podem ser cadastrados aleatriamente, ou por centros de custo e departamentos, que a maneira mais lgica, pois agrupa colaboradores com caractersticas funcionais semelhantes. Seguem as telas para o cadastro de usurios e grupos de usurios.
13) Menus
- Os Menus do sistema podem ter suas opes reformuladas de maneira que cada Usurio possa ter um menu de acesso prprio, de acordo com o tipo de trabalho por ele desenvolvido. - Nesta operao, deve ser definido um menu para cada usurio ou grupo de usurios, e na configurao de senhas, associa-se o menu senha do usurio que determinar quais mdulos, movimentaes, acessos, empresas e filiais ele poder acessar.
- Ao retornar o e-mail da TOTVS, j com os dados da empresa/filial homologados, deve-se sobrepor o arquivo SIGAMAT.EMP, e tambem copiar o arquivo APPLY.KEY na pasta system. - Somente aps esse procedimento a empresa estar liberada para uso.
18) ndices
- Um arquivo pode ter at 35 ndices, e embora eles estejam ordenados em ordem alfanumrica no sistema sua chamada via advpl somente numrica. - Alm dos ndices originais, podemos incluir novos ndices ao sistema, porem devemos tomar o cuidado de relacionar um NICK NAME aos mesmos, pois seno em uma atualizao de verso o sistema ir renomea-los e os programas que o utilizam no mais funcionaro.
- So nas tabelas genricas que inclumos dados estticos no sistema, tais como: estados da federao, CFOP, tipos de baixa entre outros.
23) Gatilhos.
- O Gatilho uma atualizao disparada a partir de um determinado evento previamente definido. - No caso do Protheus, a definio deste evento a digitao de determinados campos.
- O Gatilho permite ao usurio estabelecer uma atualizao dinmica dos dados atravs da definio de critrios, isto , a partir da digitao de um dado possvel atualizar automaticamente outros campos pertencentes ao mesmo arquivo ou no. - Essa movimentao aceita Sintaxes Xbase, isto , funes Clipper ou funes ADVPL, incluindo user functions.
24) Interatividade
- Nesta aula iremos revisar e efetuar os exerccios prticos de toda a parte interativa do sistema. - Iremos efetuar as seguintes personalizaes:
Usurios; Menus; Empresas e filiais; Habilitando empresas; Mapeamento de arquivos; Dicionrio de dados; ndices; Consulta padro; Tabelas genricas; Bases de dados; Parametros do sistema; Gatilhos.
aprendizado de qualquer linguagem de programao essencial desenvolver os conceitos relacionados a lgica e a tcnica da escrita de um programa. - Com foco nesta necessidade, este tpico ir descrever resumidamente os conceitos envolvidos no processo de desenvolvimento de um programa atravs dos conceitos relacionados tcnica da escrita
de um programa. Lgica de programao Algoritmos Diagramas de blocos Lgica A lgica de programao necessria para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir a seqncia lgica para o desenvolvimento. Ento o que lgica?
Seqncia Lgica Estes pensamentos, podem ser descritos como uma seqncia de instrues, que devem ser seguidas para se cumprir uma determinada tarefa.
Instrues Na linguagem comum, entende-se por instrues um conjunto de regras ou normas definidas para a realizao ou emprego de algo. Em informtica, porm, instruo a informao que indica a um computador uma ao elementar a executar. Convm ressaltar que uma ordem isolada no permite realizar o processo completo, para isso necessrio um conjunto de instrues colocadas em ordem seqencial lgica.
Por exemplo, se quisermos fazer uma omelete de batatas, precisaremos colocar em prtica uma srie de instrues: descascar as batatas, bater os ovos, fritar as batatas, etc. evidente que essas instrues tm que ser executadas em uma ordem adequada no se pode descascar as batatas depois de frit-las. Dessa maneira, uma instruo tomada em separado no tem muito sentido; para obtermos o resultado, precisamos colocar em prtica o conjunto de todas as instrues, na ordem correta.
Instrues so um conjunto de regras ou normas definidas para a realizao ou emprego de algo. Em informtica, o que indica a um computador uma ao elementar a executar.
Algoritmo Um algoritmo formalmente uma seqncia finita de passos que levam a execuo de uma tarefa. Podemos pensar em algoritmo como uma receita, uma seqncia de instrues que do cabo de uma meta especfica. Estas tarefas no podem ser redundantes nem subjetivas na sua definio, devem ser claras e precisas. Como exemplos de algoritmos podemos citar os algoritmos das operaes bsicas (adio, multiplicao, diviso e subtrao) de nmeros reais decimais. Outros exemplos seriam os manuais de aparelhos eletrnicos, como um videocassete, que explicam passo-a-passo como, por exemplo, gravar um evento. At mesmo as coisas mais simples, podem ser descritas por seqncias lgicas, tais como: - tomar banho - dirigir
Os algoritmos so descritos em uma linguagem chamada pseudocdigo. Este nome uma aluso posterior implementao em uma linguagem de programao, ou seja, quando for utilizada a linguagem a de programao propriamente dita como, por exemplo, ADVPL. Por isso os algoritmos so independentes das linguagens de programao, sendo que ao contrrio de uma linguagem de programao no existe um formalismo rgido de como deve ser escrito o algoritmo. O algoritmo deve ser fcil de interpretar e fcil de codificar. Ou seja, ele deve ser o intermedirio entre a linguagem falada e a linguagem de programao. Regras para construo do Algoritmo Para escrever um algoritmo precisamos descrever a seqncia de instrues, de maneira simples e objetiva. Para isso utilizaremos algumas tcnicas: 1. Usar somente um verbo por frase; 2. Imaginar que voc est desenvolvendo um algoritmo para pessoas que no trabalham com informtica; 3. Usar frases curtas e simples; 4. Ser objetivo; 5. Procurar usar palavras que no tenham sentido dbio.
Fases Para implementar de um algoritmo de simples interpretao e codificao necessrio inicialmente dividir o problema apresentado em trs fases fundamentais, as quais so:
ENTRADA: So os dados de entrada do algoritmo; PROCESSAMENTO: So os procedimentos utilizados para chegar ao resultado final; SADA: So os dados j processados.
Estudando algoritmos Neste tpico sero demonstrados alguns algoritmos do cotidiano, os quais foram implementados utilizando os princpios descritos nos tpicos anteriores.
Tomar banho Fritar um ovo Trocar lmpadas Descascar batatas Jogar o jogo da forca Calcular a mdia de notas
Tomar banho 1. 2. 3. 4. 5. 6. 7. Pegar toalha, shampoo e sabonete Abrir registro , esquentar a gua Se colocar embaixo da gua do chuveiro Utilizar shampoo e saboneteAscender o fogo Enxaguar o corpo Fechar registro da agua Pegar toalha e se secar
Fritar um ovo 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Pegar frigideira, ovo, leo e sal Colocar leo na frigideira Ascender o fogo Colocar a frigideira no fogo Esperar o leo esquentar Quebrar o ovo na frigideira Jogar a casca no lixo Retirar a frigideira do fogo quando o ovo estiver no ponto Desligar o fogo Colocar sal a gosto
Trocar lmpadas 1. 2. 3. 4. 5. Se a lmpada estiver fora do alcance, pegar uma escada Pegar a lmpada nova Se a lmpada queimada estiver quente, pegar um pano Tirar lmpada queimada Colocar lmpada nova
Descascar batatas
1. Pegar faca, bacia e batatas 2. Colocar gua na bacia 3. Enquanto houver batatas, descascar as batatas 3.1. Colocar as batatas descascadas na bacia
Jogar o jogo da forca 1. Escolher a palavra 2. Montar o diagrama do jogo 3. Enquanto houver lacunas vazias e o corpo estiver incompleto: 3.1. Se acertar a letra: escrever na lacuna correspondente 3.2. Se errar a letra: desenhar uma parte do corpo na forca
Calcular a mdia de notas 1. Enquanto houver notas a serem recebidas: 1.1. Receber a nota; 2. Some todas as notas recebidas; 3. Divida o total obtido pela quantidade de notas recebidas; 4. Exiba a mdia das notas.
1. Enquanto existir um quadrado livre e ningum ganhou ou perdeu o jogo: 1.1. Espere a jogada do adversrio, continue depois 1.2. Se centro estiver livre: jogue no centro 1.3. Seno, se o adversrio possuir 2 quadrados em linha com um quadrado livre, jogue neste quadrado 1.4. Seno, se h algum canto livre, jogue neste canto
Teste de mesa Aps desenvolver um algoritmo ele dever sempre ser testado. Este teste chamado de TESTE DE MESA, que significa seguir as instrues do algoritmo de maneira precisa para verificar se o procedimento utilizado est correto ou no.
Para avaliar a aplicao do teste de mesa, utilizaremos o algoritmo de calcular a mdia de notas:
2. Some todas as notas recebidas; 3. Divida o total obtido pela quantidade de notas recebidas; 4. Exiba a mdia das notas.
Teste de mesa:
ID
Nota
2. Ao trmino das notas, a tabela dever conter todas as notas informadas, como abaixo:
ID 1 2 3 4 5 6
4. Dividir a soma das notas, pelo total de notas informado: 45/6 7.5 5. Exibir a mdia obtida: Mensagem(Mdia: 7.5) Representao de algoritmos atravs de diagramas de bloco Algoritmo 01: Fritar um ovo 1. Pegar frigideira, ovo, leo e sal 2. Colocar leo na frigideira 3. Ascender o fogo 4. Colocar a frigideira no fogo 5. Esperar o leo esquentar 6. Quebrar o ovo na frigideira 7. Jogar a casca no lixo 8. Retirar a frigideira do fogo quando o ovo estiver no ponto 9. Desligar o fogo 10. Colocar sal a gosto
- Estruturas de deciso: Representao 01: IF...ELSE com aes para ambas as situaes
Verdadeiro
Anlise da condio
Falso
Falso
Anlise da condio 2
Verdadeiro
Ao vinculada a condio 2
Falso
Anlise da condio N
Verdadeiro
Ao vinculada a condio N
Falso
Representao: WHILE...END
Falso
- Existem diversas variaes para a estrutura WHILE...END, na qual h a possibilidade da primeira execuo ser realizada sem a anlise da condio, a qual valer apenas a partir da segunda execuo. - A linguagem ADVPL aceita a sintaxe DO WHILE...ENDDO, que em outras linguagens representa a situao descrita anteriormente (anlise da condio somente a partir da segunda execuo), mas em ADVPL esta sintaxe tem o mesmo efeito do WHILE...END.
Representao: FOR...TO...NEXT
Anlise da condio
Falso
- A estrutura FOR...TO...NEXT, dependendo da linguagem de programao, permite a realizao de um incremento simples a cada execuo da instruo NEXT, ou a adio de outro valor ao contador, o qual dever especificado de acordo com a sintaxe da linguagem. - Em ADVPL pode ser utilizada a instruo STEPS para alterar o valor a ser adicionado no contador de passos a cada execuo da instruo NEXT, sendo que este valor poder ser at negativo, viabilizando uma contagem decrescente.
27) Cnab
a) Modelos; b) Aplicaes.
- A Linguagem ADVPL teve seu incio em 1994, sendo na verdade uma evoluo na utilizao de linguagens no padro xBase pela Microsiga Software S.A. (Clipper, Visual Objects e depois FiveWin). Com a criao da tecnologia Protheus, era necessrio criar uma linguagem que suportasse o padro xBase para a manuteno de todo o cdigo existente do sistema de ERP Siga Advanced. Foi ento criada a linguagem chamada Advanced Protheus Language.
- O ADVPL uma extenso do padro xBase de comandos e funes, operadores, estruturas de controle de fluxo e palavras reservadas, contando tambm com funes e comandos disponibilizados pela Microsiga que a torna uma linguagem completa para a criao de aplicaes ERP prontas para a Internet. Tambm uma linguagem orientada a objetos e eventos, permitindo ao programador desenvolver aplicaes visuais e criar suas prprias classes de objetos. - Quando compilados, todos os arquivos de cdigo tornam-se unidades de inteligncia bsicas, chamados APOs (de Advanced Protheus Objects). Tais APOs so mantidos em um repositrio e carregados dinamicamente pelo PROTHEUS Server para a execuo. Como no existe a linkedio, ou unio fsica do cdigo compilado a um determinado mdulo ou aplicao, funes criadas em ADVPL podem ser executadas em qualquer ponto do ambiente Advanced Protheus. - O compilador e o interpretador da linguagem ADVPL o prprio servidor PROTHEUS (PROTHEUS Server), e existe um ambiente visual para desenvolvimento integrado (PROTHEUSIDE) onde o cdigo pode ser criado, compilado e depurado. - Os programas em ADVPL podem conter comandos ou funes de interface com o usurio. De acordo com tal caracterstica, tais programas so subdivididos nas seguintes categorias: Programao Com Interface Prpria com o Usurio - Nesta categoria entram os programas desenvolvidos para serem executados atravs do terminal remoto do Protheus, o Protheus Remote. O Protheus Remote a aplicao encarregada da interface e da interao com o usurio, sendo que todo o processamento do cdigo em ADVPL, o acesso ao banco de dados e o gerenciamento de conexes efetuado no Protheus Server. O Protheus Remote o principal meio de acesso a execuo de rotinas escritas em ADVPL no Protheus Server, e por isso permite executar qualquer tipo de cdigo, tenha ele interface com o usurio ou no. Porm nesta categoria so considerados apenas os programas que realizem algum tipo de interface remota utilizando o protocolo de comunicao do Protheus. - Podem-se criar rotinas para a customizao do sistema ERP Microsiga Protheus, desde processos adicionais at mesmo relatrios. A grande vantagem aproveitar todo o ambiente montado pelos mdulos do ERP Microsiga Protheus. Porm, com o ADVPL possvel at mesmo criar toda uma aplicao, ou mdulo, do comeo. - Todo o cdigo do sistema ERP Microsiga Protheus escrito em ADVPL. Programao Sem Interface Prpria com o Usurio - As rotinas criadas sem interface so consideradas nesta categoria porque geralmente tm uma utilizao mais especfica do que um processo adicional ou um relatrio novo. Tais rotinas no tm interface com o usurio atravs do Protheus Remote, e qualquer tentativa nesse sentido (como a criao de uma janela padro) ocasionar uma exceo em tempo de execuo. Estas rotinas so apenas processos, ou Jobs, executados no Protheus Server. Algumas vezes, a interface destas rotinas fica a cargo de aplicaes externas, desenvolvidas em outras linguagens, que so responsveis por iniciar os processos no servidor Protheus atravs dos meios disponveis de integrao e conectividade no Protheus. - De acordo com a utilizao e com o meio de conectividade utilizado, estas rotinas so subcategorizadas assim:
Programao por Processos - Rotinas escritas em ADVPL podem ser iniciadas como processos individuais (sem interface) no Protheus Server atravs de duas maneiras: Iniciadas por outra rotina ADVPL atravs da chamada de funes como StartJob() ou CallProc() ou iniciadas automaticamente na inicializao do Protheus Server (quando propriamente configurado).
Programao de RPC - Atravs de uma biblioteca de funes disponvel no Protheus (uma API de comunicao), podemse executar rotinas escritas em ADVPL diretamente no Protheus Server, atravs de aplicaes externas escritas em outras linguagens. Isto o que se chama de RPC (de Remote Procedure Call, ou Chamada de Procedimentos Remota). - O servidor Protheus tambm pode executar rotinas em ADVPL em outros servidores Protheus atravs de conexo TCP/IP direta utilizando o conceito de RPC. Do mesmo modo, aplicaes externas podem requisitar a execuo de rotinas escritas em ADVPL atravs de conexo TCP/IP direta.
Programao de WEB - O Protheus Server pode tambm ser executado como um servidor Web, respondendo a requisies HTTP. No momento destas requisies, pode executar rotinas escritas em ADVPL como processos individuais, enviando o resultado das funes como retorno das requisies para o cliente HTTP (como por exemplo, um Browser de Internet). Qualquer rotina escrita em ADVPL que no contenha comandos de interface pode ser executada atravs de requisies HTTP. O Protheus permite a compilao de arquivos HTML contendo cdigo ADVPL embutido. So os chamados arquivos ADVPL ASP, para a criao de pginas dinmicas.
Programao TelNet - TelNet parte da gama de protocolos TCP/IP que permite a conexo a um computador remoto atravs de uma aplicao cliente deste protocolo. O PROTHEUS Server pode emular um terminal TelNet, atravs da execuo de rotinas escritas em ADVPL. Ou seja, pode-se escrever rotinas ADVPL cuja interface final ser um terminal TelNet ou um coletor de dados mvel.
e) Delete; - Apaga lgicamente um registro, ou seja o registro no aparecer mais nas telas de browse e de edio.
f)
Substring; - Utiliza parte de uma string (sequencia de texto). g) Len; - Traz o numero exato de uma expresso numrica. h) Ctod, Stod, Dtoc e Dtos; - Efetua o tratamento de datas no sistema: - CTOD: Caractere para data - STOD: String para data; - DTOC: Data para caractere; - STOD: String para caractere. i) Pack; -
j)
Zap; -
k) Drop; 31)
33)TotvsDevStudio:
a) Conceitos; - Utilizado como a interface de desenvolvimento e de manuteno do repositrio de aplicativos. b) Aplicao; - Utilizado para a compilao de programas e aplicao de correes do produto.
c) Ambientes; - So utilizados para o trabalho normal dos usurios e recomendamos que se possvel (problemas de espao e de governana), se utilize do modelo abaixo:
Modelo de Ambientes
PRODUO
DESENVOLVIMENTO
EMERGENCIAL
TESTES
CONTINGENCIA
HOMOLOGAO
Banco Produo
Banco Testes
d) Projetos; - So os arquivos que contem as listas de programas, e devem ser organizados por assunto, e conterem as pastas fontes e documentao.
e) Programas; - So os arquivos que desenvolvemos para customizar o sistema, e devem obrigatoriamente estar dentro de um projeto. Local nItem := 0 ProcRegua(Len(aCols) + FCount()) // Grava o registro da tabela Pai, obtendo o valor de cada campo dbSelectArea(cAlias1) RecLock(cAlias1, .T.) For i := 1 To FCount() IncProc() If "FILIAL" $ FieldName(i) FieldPut(i, xFilial(cAlias1)) Else FieldPut(i, M->&(Eval(bCampo,i))) EndIf Next MSUnlock() f) Compilao; - o ato que faz a atualizao do repositrio, e assim possibilita a utilizao do programa pelo sistema;
- S possvel a compilao se no houver nenhum usurio utilizando o ambiente, vale lembrar que schedules ativados pelo appserver, tambm so considerados como usurios e tambm deves estar desabilitados.
g) Atualizao do repositrio. - Se faz necessria a atualizao do repositrio sempre que se alterar algum programa, ou ento quando precisamos atualizar o mesmo por algum patch ou update disponibilizado pela TOTVS; - vale lembrar que sempre devemos atualizar a base de homologao antes da de produo, pois todas as alteraes devem ser testadas em um conceito geral, diminuindo assim a ocorrncia de no conformidades no programa.