Questão de lógica para sistemas!!
Olá..
Bem, um forum de discussão assim como o próprio nome diz, tem o objetivo de ´divulgar e refletir´ novas idéias, no caso aqui sobre programação Delphi. Pois bem, estou desenvolvendo um sistema de controle de estoque, impressão de notas fiscas, caixa.. etc..etc..
Como pode se perceber, isso não é uma tarefa muito trivial, principalmente para pessoas mais iniciantes em desenvolvimento. Em minha análise cheguei a uma conclusão pessoal sobre a forma de desenvolvimento deste software desejado. Sabendo que se trata de um sistema grande, que ao longo do tempo (meses, anos) cada vez mais será adicionado novas funções .. temos logicamente em mente a questão de organização de fontes para que um próximo desenvolvedor tenha uma melhor visão do trabalho realizado. Então, comecei com um form de menu, com botoes, hora,data, etc..etc.. esse menu faz a chamada de outros arquivos [b:60b59fe1bc]todos eles executaveis [/b:60b59fe1bc]onde cada arquivo tem sua respectiva função. Por exemplo, [i:60b59fe1bc]Clientes.exe ... é um fonte desenvolvido em uma pasta específica, possuindo todos os itens empregados no mesmo.[/i:60b59fe1bc] Considero uma boa idéia pelo fato principal de [b:60b59fe1bc]recompilação [/b:60b59fe1bc]desse sistema, pois podemos apenas ´pegar a parte propriamente com defeitos´ e no mesmo trabalha-la separadamente onde até mesmo cada programador possa contribuir com seu objetivo especifico, nao mexendo no todo.. um faz os clientes, outro faz a parte das notas, outro os fornecedores....etc.. todos eles em BD semelhante com as tabelas definidas... Eis a questão..
Bem, um forum de discussão assim como o próprio nome diz, tem o objetivo de ´divulgar e refletir´ novas idéias, no caso aqui sobre programação Delphi. Pois bem, estou desenvolvendo um sistema de controle de estoque, impressão de notas fiscas, caixa.. etc..etc..
Como pode se perceber, isso não é uma tarefa muito trivial, principalmente para pessoas mais iniciantes em desenvolvimento. Em minha análise cheguei a uma conclusão pessoal sobre a forma de desenvolvimento deste software desejado. Sabendo que se trata de um sistema grande, que ao longo do tempo (meses, anos) cada vez mais será adicionado novas funções .. temos logicamente em mente a questão de organização de fontes para que um próximo desenvolvedor tenha uma melhor visão do trabalho realizado. Então, comecei com um form de menu, com botoes, hora,data, etc..etc.. esse menu faz a chamada de outros arquivos [b:60b59fe1bc]todos eles executaveis [/b:60b59fe1bc]onde cada arquivo tem sua respectiva função. Por exemplo, [i:60b59fe1bc]Clientes.exe ... é um fonte desenvolvido em uma pasta específica, possuindo todos os itens empregados no mesmo.[/i:60b59fe1bc] Considero uma boa idéia pelo fato principal de [b:60b59fe1bc]recompilação [/b:60b59fe1bc]desse sistema, pois podemos apenas ´pegar a parte propriamente com defeitos´ e no mesmo trabalha-la separadamente onde até mesmo cada programador possa contribuir com seu objetivo especifico, nao mexendo no todo.. um faz os clientes, outro faz a parte das notas, outro os fornecedores....etc.. todos eles em BD semelhante com as tabelas definidas... Eis a questão..
Ce
Curtidas 0
Respostas
Nigro
08/01/2004
Eu particularmente não aconselho esse tipo de método, pois o sistema dedverá ser integrado, ou seja, clientes irá trocar informações com pedidos que irá trocar informações com mercadorias, e por ai vai, não estou falando apenas de troca de informações contidas em bancos, mas coisas do tipo variáveis públicas, outra coisa... debugar um sistema assim torna-se uma tarefa árdua...
Com certeza se você fizer um executável irá ficar mais leve do que vários executáveis... ou ainda a manutenção do sistema fica difícil, imagine que você tem que mudar uma determinada rotina que é utilizada por mais de um módulo, ou quem sabe por todos os módulo, nossa... não quero nem pensar...
Com certeza se você fizer um executável irá ficar mais leve do que vários executáveis... ou ainda a manutenção do sistema fica difícil, imagine que você tem que mudar uma determinada rotina que é utilizada por mais de um módulo, ou quem sabe por todos os módulo, nossa... não quero nem pensar...
GOSTEI 0
Ce
08/01/2004
isso significa que a programacao baseada em chamadas de outros aplicativos exe pode ser custoso ? É recomendado a união de vários projects neste caso ?
GOSTEI 0
Nigro
08/01/2004
Essa é a minha opinião e é assim que eu trabalho e creio que a mior parte dos programadores também
GOSTEI 0
Aroldo Zanela
08/01/2004
Colega,
Também acho recomendável gastar mais tempo no planejamento do projeto e levantamento de requisitos (não que eles não mudem) e seguir uma ´baseline´. Na abordagem que você sugeriu, poderia facilitar em alguns aspectos, mas comprometer seriamente outros (inúmeros).
Também acho recomendável gastar mais tempo no planejamento do projeto e levantamento de requisitos (não que eles não mudem) e seguir uma ´baseline´. Na abordagem que você sugeriu, poderia facilitar em alguns aspectos, mas comprometer seriamente outros (inúmeros).
GOSTEI 0
Bacalhau
08/01/2004
Colega, eu uso um método que me tem facilitado a vida. Em vez de partir o problema em executáveis, parto-o em DLLs.
Procuro que cada DLL tenha funções o mais básicas possiveis. Assim cada aplicativo que faço vai acompanhado por uma ´multidão´ de rotinas independentes.
Por exemplo, tenho um rotina que converte um número no seu valor por extenso. Esta função é compilada numa DLL e fornecida a todos os meus clientes que necessitam dela.
Como é óbvio, esta rotina funciona tanto para fábricas como para as lojinhas do fundo da rua. Se necessitar modificar alguma coisa na função, recompilo e toda a gente fica actualizada sem mudar os executáveis.
Nesta situação o executável principal é um mero gestor de chamadas a funções externas
Para que toda a gente tenha acesso aos últimos DLLs, mantenho uma pequena página na Net, onde qualquer um poderá fazer o download das versões mais recentes.
Como complemento, sugiro que leias artigos sobre a técnica ´Top-down approch´
Espero ter ajudado
abraço
bacalhau
Procuro que cada DLL tenha funções o mais básicas possiveis. Assim cada aplicativo que faço vai acompanhado por uma ´multidão´ de rotinas independentes.
Por exemplo, tenho um rotina que converte um número no seu valor por extenso. Esta função é compilada numa DLL e fornecida a todos os meus clientes que necessitam dela.
Como é óbvio, esta rotina funciona tanto para fábricas como para as lojinhas do fundo da rua. Se necessitar modificar alguma coisa na função, recompilo e toda a gente fica actualizada sem mudar os executáveis.
Nesta situação o executável principal é um mero gestor de chamadas a funções externas
Para que toda a gente tenha acesso aos últimos DLLs, mantenho uma pequena página na Net, onde qualquer um poderá fazer o download das versões mais recentes.
Como complemento, sugiro que leias artigos sobre a técnica ´Top-down approch´
Espero ter ajudado
abraço
bacalhau
GOSTEI 0
Trovão
08/01/2004
Estou chegando agora na conversa, mas li tudo o que vcs escreveram e se permitem opinar, acho que o mais viável e práttico é trabalhar com o rpojeto em um único executável , e como foi dito deixar todas as funções e procedures que podem vir a ser usadas em todo o sistema ou em vários sistemas, em um lugar que possa ser acessado de qualquer lugar do fonte, sem corromper nenhuma lógica do código, ou então como nosso outro colega falou , trabalhar com as DLL´s.
Acho que se deve ser levado em consideração o tamanho do código e visto que em se tendo váriuas variáveis públicas, pode-se ter muito retrabalho de usar vários executáveis.
Na questão de outras pessoas auterarem o mesmo código , talvez ao mesmo tempo, temos ferramentas como o TEam Source em que várias pessoas podem estar usando o mesmo projeto ao mesmo tempo , trabalahndo em grupo, e atualizando o sistema principal ao final do trabalho.
Se puder ajudar em mais alguma coisa, meu email é jonas.mendez@terra.com.br.
Obrigado
Trovão
Acho que se deve ser levado em consideração o tamanho do código e visto que em se tendo váriuas variáveis públicas, pode-se ter muito retrabalho de usar vários executáveis.
Na questão de outras pessoas auterarem o mesmo código , talvez ao mesmo tempo, temos ferramentas como o TEam Source em que várias pessoas podem estar usando o mesmo projeto ao mesmo tempo , trabalahndo em grupo, e atualizando o sistema principal ao final do trabalho.
Se puder ajudar em mais alguma coisa, meu email é jonas.mendez@terra.com.br.
Obrigado
Trovão
GOSTEI 0
Beppe
08/01/2004
Eu prefiro packages em relação a DLLs puras. Isto porque o Delphi vê DLLs como um elemento estrangeiro e naum muito prático POO-mente falando. Já com packages, você usa modularização naturalmente, só que o código reside na DPL, não no EXE.
Só que o lado negativo de packages é que elas precisam ser compiladas com a mesma versão do Delphi que o executável.
Só que o lado negativo de packages é que elas precisam ser compiladas com a mesma versão do Delphi que o executável.
GOSTEI 0
Bacalhau
08/01/2004
Essa participação no projecto pode ser interessante. Mas saber o mail também... :lol:
GOSTEI 0
Ce
08/01/2004
Valeu galera.. rumo a 1 exe .. menores problemas ao longo do tempo! Quando tiver maior conhecimento.. optarei pelas Dll´s q são uma ótima pedida mesmo... afinal.. um sistema bem feito ..nunca é finalizado ! :lol:
GOSTEI 0
Henrique.ams
08/01/2004
com um boa experiência em programação Delphi, como venho desenvolvendo e venho a sugerir que o façam é usar POO no delphi...
o Delphi tem um grande poder de POO, utilizando classes cada um poderá desenvolver uma classe específica separadamente e depois pedir para o Executável enxergue as classes... assim esta estarão fazendo parte do programa como sendo um programa só, de apenas um executável e com uma enorme facilidade distribuição de carga....
Orientem mais e Delphi... Dll ainda é pra Linguagens estruturadas....
o Delphi tem um grande poder de POO, utilizando classes cada um poderá desenvolver uma classe específica separadamente e depois pedir para o Executável enxergue as classes... assim esta estarão fazendo parte do programa como sendo um programa só, de apenas um executável e com uma enorme facilidade distribuição de carga....
Orientem mais e Delphi... Dll ainda é pra Linguagens estruturadas....
GOSTEI 0
Beppe
08/01/2004
Essa participação no projecto pode ser interessante. Mas saber o mail também... :lol:
No meu projeto? Ué, tem no rodapé da mensagem, e na página dos detalhes.
T+
GOSTEI 0
Bacalhau
08/01/2004
Bepee, eu vi. Mas não consigo entrar no site. Tá com algum problema?
GOSTEI 0
Beppe
08/01/2004
As vezes ele demora, entra apertado, mas entra :)
É que o servidor de lá é muito porco, e pra você que está lá no velho mundo deve demorar mais mesmo. :cry:
T+
É que o servidor de lá é muito porco, e pra você que está lá no velho mundo deve demorar mais mesmo. :cry:
T+
GOSTEI 0
Bacalhau
08/01/2004
Beppe, ele não está lento. Simplesmente não entra. Estará temporariamente desligado? De qq modo vou tentando
GOSTEI 0
Beppe
08/01/2004
Tenta agora:
[url]http://www.afw.hpg.com.br/projeto.htm[/url]
[url]http://www.afw.hpg.com.br/projeto.htm[/url]
GOSTEI 0
Bacalhau
08/01/2004
Já consegui. Mas só tenho experiencia a sério de Paradox. Posso colaborar nalguma coisa?
GOSTEI 0
Beppe
08/01/2004
Já consegui. Mas só tenho experiencia a sério de Paradox. Posso colaborar nalguma coisa?
Com certeza poderá. :)
Estou montando uma página para o projeto e configurando no SourceForge, assim você e os demais interessados podem se inteirar melhor.
GOSTEI 0
Lucas Silva
08/01/2004
Eu faço o seguinte..
Já tenho uns padrões de tela aqui,
um Cadastro Padrao (que tem um botão salvar, com todos seus métodos);
uma pesquisa padrao, um relatório padrao... e assim por diante,
qualquer q eu vou fazer em herdo destas telas, que já tem muita coisa implementada..
é muito bom de trabalhar deste jeito (eu acho!).
e tudo isso em um executável só....
Lucas!
Já tenho uns padrões de tela aqui,
um Cadastro Padrao (que tem um botão salvar, com todos seus métodos);
uma pesquisa padrao, um relatório padrao... e assim por diante,
qualquer q eu vou fazer em herdo destas telas, que já tem muita coisa implementada..
é muito bom de trabalhar deste jeito (eu acho!).
e tudo isso em um executável só....
Lucas!
GOSTEI 0