Ir para conteúdo
Rodolfo TI

Saga de softwares legados

Recommended Posts

Olá pessoal bom dia.

 

Trabalho em uma empresa onde existe uma saga de software legados, sem documentação, sem código de teste enfim, sem nada que um software deveria ter, são sistemas que rodam via intranet e que fazem controles importantes para empresa.

 

Sou responsável pela manutenção nesses sistemas, mas me sinto com uma bomba relógio em mãos, pois muitos desses sistemas tem bancos de dados reclacionais (mysql) aplicados de forma não relacionais, isso mesmo sem fk , etc.

 

E o dia que isso der um problema, informações importantes serão perdidas. Queria pedir uma dica de vocês profissioanis com mais experiencia o que deveria fazer ? Desenvolver um projeto para cada situação dessa e renovar o sistema afim de aplicar melhorias ? Enfim modelar um novo sistema ?

 

Deveria seguir um novo padrão, no caso MVC que me parece o mais usual, para desenvolver as atualizações para os sistemas ?

 

Qual é a melhor solução nesse caso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você detectou todos esses problemas e tem bala na agulha pra demolir e construir de novo, vai fundo.

 

Até te empresto minha bola de demolição se for preciso. :lol:

  • +1 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai vai depender da sua vontade e do trabalho necessário para poder criar um sistema novo. O ideal seria consertar a base de dados fazendo uma cópia da forma correta da mesma, porém eu sei como é difícil mexer em códigos de terceiros, então eu acho que, como o Bruno disse, se você tem como fazer, faça.

  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você detectou todos esses problemas e tem bala na agulha pra demolir e construir de novo, vai fundo.

 

Até te empresto minha bola de demolição se for preciso. :lol:

 

hahaha, bala na agulha foi bom .

 

Na verdade pensei em usar somente a idéia e produzir em paralelo porque se tirar esses sistemas do ar, fico enrolado aqui rs.

 

Criar uma nova versão rs. Tenho até o final do ano para tal tarefa.

 

Quando fala bala agulha se refere a nível de conhecimento ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que "bala na agulha" seja mais algo do tipo: "Se você tem meios" :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai vai depender da sua vontade e do trabalho necessário para poder criar um sistema novo. O ideal seria consertar a base de dados fazendo uma cópia da forma correta da mesma, porém eu sei como é difícil mexer em códigos de terceiros, então eu acho que, como o Bruno disse, se você tem como fazer, faça.

 

Vontade sempre temos é aquela coisa de fazer o melhor possível né, até porque um software bem feito com o máximo de documentação e uma estrutura bem elaborada não é bom somente para o usuário para os desenvolvedores que darão manutenção.

 

O grande lance é uma questão que você lançou, é um trabalho imenso !

Rs.

 

Acredito que "bala na agulha" seja mais algo do tipo: "Se você tem meios" :D

 

Tenho um liberdade grande pra desenvolver aqui, com o framework que eu quiser, com o banco de dados eu quiser, desde que não gere custos, rs. Minha equipe é formada por engenheiros gestores etc.. Sou o único profissional de tecnologia.

 

Fico em dúvida se isso não seria dar a cara a tapa, mesmo com a necessidade, se expor é uma coisa complicada. (Ah ta com medinho de se expor né ? Sim, estou, acho que é questão de responsabilidade) , a idéia é fazer paralelamente para que o impacto seja minimo.

Manter as aplicações funcionando e paralelamente desenvovler uma nova mas muito bem elaborada.

 

Queria saber se é viável a utilização de um bom padrão de projeto, se seria interessante na situação que me encontro se alguém já passou por isso. Sempre trabalhei com manutenção, sem padrão de projeto, sem teste, só na cara e na coragem.

 

Já vejo necessidade de mudar isso, até pra melhorar a qualidade do meu trabalho, isso seria um erro talvez? Um equivoco ?

 

Estaria usando esse sistema como "cobaia" rs. Se os meios forem conhecimentos avançados em MVC , a resposta é , ainda não tenho bala na agulha!.

 

KKK. Obrigado pela atenção galera!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho um liberdade grande pra desenvolver aqui, com o framework que eu quiser, com o banco de dados eu quiser, desde que não gere custos, rs. Minha equipe é formada por engenheiros gestores etc.. Sou o único profissional de tecnologia.

 

Fico em dúvida se isso não seria dar a cara a tapa, mesmo com a necessidade, se expor é uma coisa complicada. (Ah ta com medinho de se expor né ? Sim, estou, acho que é questão de responsabilidade) , a idéia é fazer paralelamente para que o impacto seja minimo.

Manter as aplicações funcionando e paralelamente desenvovler uma nova mas muito bem elaborada.

 

Queria saber se é viável a utilização de um bom padrão de projeto, se seria interessante na situação que me encontro se alguém já passou por isso. Sempre trabalhei com manutenção, sem padrão de projeto, sem teste, só na cara e na coragem.

 

Já vejo necessidade de mudar isso, até pra melhorar a qualidade do meu trabalho, isso seria um erro talvez? Um equivoco ?

 

Estaria usando esse sistema como "cobaia" rs. Se os meios forem conhecimentos avançados em MVC , a resposta é , ainda não tenho bala na agulha!.

 

KKK. Obrigado pela atenção galera!

 

É complicado quando sua equipe não colabora para o desenvolvimento do projeto e você é o único que sabe desenvolver rs já tive alguns casos assim também.

 

Mas Rodolfo, o que você deve fazer é o seguinte:

 

Se o sistema que existe não é excelente e você acha que ele pode ficar bem melhor se você o refizer, então não poupe esforços, vá desenvolvendo em paralelo e vá usando o sistema atual, depois que o projeto estiver um tanto apresentável você expõe a ideia e cogita a possibilidade de fazer um sistema separado com sua equipe. Se o projeto for negado é só você deletar tudo, caso ele seja aceito você ganhará fama de ser bem rápido na programação, uma vez que o projeto já estará metade pronto quando você o expor para a equipe.

 

O que não pode é deixar tudo como está se o sistema é pouco funcional. As vezes não é necessário o uso de MVC, muito menos ter conhecimentos avançados nesse meio de programação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que não pode é deixar tudo como está se o sistema é pouco funcional. As vezes não é necessário o uso de MVC, muito menos ter conhecimentos avançados nesse meio de programação.

 

Entendi, pensei dessa forma se não domino ainda um padrão de projeto, fazer tudo com base nele, iniciar um projeto que tenha certa importancia pode ser um problema a mais.

 

Estou acostumado a desenvolver bem passo a passo, faz lá o d.e.r prepara a estrutura de dados , normaliza e tal. Depois parte pros crudes.

 

Vi pouca coisa de MVC mas confesso que criar as classes e tal, sem pensar muito no banco de dados confunde minha mente um bocado.

 

Tenho um banco mal estruturado pra mim é muito mais ágil pegar esse banco consertar as relações e aos poucos ir consertando os crud's em um novo sistema. Acho que vou focar dessa forma , embora tenha interesse no MVC, não sei se aplica num caso profissional, seria mais algo de estudo, algo mais pessoal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi, pensei dessa forma se não domino ainda um padrão de projeto, fazer tudo com base nele, iniciar um projeto que tenha certa importancia pode ser um problema a mais.

 

Estou acostumado a desenvolver bem passo a passo, faz lá o d.e.r prepara a estrutura de dados , normaliza e tal. Depois parte pros crudes.

 

Vi pouca coisa de MVC mas confesso que criar as classes e tal, sem pensar muito no banco de dados confunde minha mente um bocado.

 

Tenho um banco mal estruturado pra mim é muito mais ágil pegar esse banco consertar as relações e aos poucos ir consertando os crud's em um novo sistema. Acho que vou focar dessa forma , embora tenha interesse no MVC, não sei se aplica num caso profissional, seria mais algo de estudo, algo mais pessoal.

 

Olha, pessoalmente eu não acho que o MVC ajuda muita coisa, muitas vezes prefiro o ASP.NET comum ao MVC(90% da vezes), se você não tem o conhecimento então faça com aquilo que sabe, muitas vezes o resultado é melhor do que se fosse com algo mais complicado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando eu disse "bala na agulha" é em todos os sentidos mesmo: Capacidade profissional, conhecimento em todas as áreas necessárias, tempo, vontade e principalmente incentivo, afinal, fazer barba, cabelo e bigode num sistema grande, complexo e mal desenvolvido de graça, duvido que você iria fazer..

  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, pessoalmente eu não acho que o MVC ajuda muita coisa, muitas vezes prefiro o ASP.NET comum ao MVC(90% da vezes), se você não tem o conhecimento então faça com aquilo que sabe, muitas vezes o resultado é melhor do que se fosse com algo mais complicado.

 

Beleza, vou seguir dessa forma, é até um meio de não me enrolar, ou não me enrolar mais ainda!

Quando eu disse "bala na agulha" é em todos os sentidos mesmo: Capacidade profissional, conhecimento em todas as áreas necessárias, tempo, vontade e principalmente incentivo, afinal, fazer barba, cabelo e bigode num sistema grande, complexo e mal desenvolvido de graça, duvido que você iria fazer..

 

Então essa pode ser uma chance de ascenção na empresa, como toda empresa onde o produto final não é T.I / Desenvolvimento , eles não tem uma visão do potencial que seus sistemas tem dentro da empresa.

 

Eu tive essa visão, sei que o uso das ferramentas ser mais produtivo mas elas precisam melhorar bastante.

 

Capacidade profissional é algo que me deixa um certo receio, nunca trabalhei em projetos de sistema grandes e complexos, mas aceitaria o desafio.

Compartilhar este post


Link para o post
Compartilhar em outros sites

KhaosDoctor, O MVC que ele diz é o padrão MVC e não a distribuição MVC do ASP.NET ou algum framework.

 

Eu não sou fã do MVC, nunca fui, já cheguei até odiar (confesso que estava meio doido.. :lol:), mas o que penso hoje é: MVC não importa.

 

Você, em um sistema real (principalmente os complexos), não vai ter uma separação em apenas 3 tiers. Não é só Model-View-Controller, vai ter mais coisa.

 

Eu me preocuparia com S.O.L.I.D, em nomenclatura, em código limpo e simples, não em MVC.

  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu me preocuparia com S.O.L.I.D, em nomenclatura, em código limpo e simples, não em MVC.

é.. essa é uma outra preocupação, o sistema atual não é orientado a objetos ... E eu ainda não sou tão bom em OO , não por falta de tentativas e nem por desistir. Mas é que o trem é complicado ou tenho a mente um tanto limitada. Continuo tentando.

 

Então me corrijam se eu estiver errado.

 

Vi algumas pessoas trabalhando em sistemas criando as classes, com suas dependencias e tudo mais. E pelo que entendi deixava o banco por conta do framework ? é isso mesmo ? Ou a pessoa comentou isto comigo estava alucinada ?

 

Sim, eu passo horas estruturando banco, fazendo as relações, trigramação dos atributos , normalização dos dados, cardinalidades enfim. Um monte de coisa pra garantiar a confiabilidade do banco de dados, aprendi dessa forma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é.. essa é uma outra preocupação, o sistema atual não é orientado a objetos ... E eu ainda não sou tão bom em OO , não por falta de tentativas e nem por desistir. Mas é que o trem é complicado ou tenho a mente um tanto limitada. Continuo tentando.

 

Então me corrijam se eu estiver errado.

 

Vi algumas pessoas trabalhando em sistemas criando as classes, com suas dependencias e tudo mais. E pelo que entendi deixava o banco por conta do framework ? é isso mesmo ? Ou a pessoa comentou isto comigo estava alucinada ?

 

Sim, eu passo horas estruturando banco, fazendo as relações, trigramação dos atributos , normalização dos dados, cardinalidades enfim. Um monte de coisa pra garantiar a confiabilidade do banco de dados, aprendi dessa forma.

 

Na verdade o banco não é uma preocupação apenas do framework, você pode montar um banco bonitinho e arrumar tudo o que precisa ser arrumado, relações e tudo mais, porém você de alguma forma vai ter que inserir isso dentro do programa para que ele tenha essa interatividade.

 

OO não é complicado, na verdade OO é só uma ideia, uma teoria para você seguir. O que é legal mesmo é você escrever o seu próprio código, esqueça os padrões, escreva o código Rodolfo e faça o melhor que você puder.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade o banco não é uma preocupação apenas do framework, você pode montar um banco bonitinho e arrumar tudo o que precisa ser arrumado, relações e tudo mais, porém você de alguma forma vai ter que inserir isso dentro do programa para que ele tenha essa interatividade.

 

OO não é complicado, na verdade OO é só uma ideia, uma teoria para você seguir. O que é legal mesmo é você escrever o seu próprio código, esqueça os padrões, escreva o código Rodolfo e faça o melhor que você puder.

 

Entendi, o banco de dados é um tanto quanto complicado nesse caso que irei trabalhar.

 

Vi a possibilidade de trabalhar com o Mysql + JPA + PrimeFaces em java. Onde estruturaria o banco e depois faria as persistências, nunca trabalhei dessa forma, mas parece ser bem prático.

 

Já usou algo parecido ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já utilizei MySQL em diversas plataformas, mas nunca com estas que você mostrou. Eu particularmente acho esse tipo de banco de dados muito melhor do que o SQL Server, mas acredito que seja melhor montar o banco todo fora do framework e já fazer as persistencias.

  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já utilizei MySQL em diversas plataformas, mas nunca com estas que você mostrou. Eu particularmente acho esse tipo de banco de dados muito melhor do que o SQL Server, mas acredito que seja melhor montar o banco todo fora do framework e já fazer as persistencias.

 

Sim, concordo quando diz dessa forma, um amigo em mostrou algumas coisas de JPA e fiquei muito interessado, exatamente isso que você comentou ele cria o banco todo separado "na mão" , digo os diagrmas, normalização etc. E depois no JPA ele cria as persistências.

 

Agradeço as respostas de vocês será que tenho algum outro ponto de vista a observar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, concordo quando diz dessa forma, um amigo em mostrou algumas coisas de JPA e fiquei muito interessado, exatamente isso que você comentou ele cria o banco todo separado "na mão" , digo os diagrmas, normalização etc. E depois no JPA ele cria as persistências.

 

Eu acredito que o banco de dados é como um filho. Você deve criá-lo, educá-lo e não deixar que ele coma seus registros ou então que os perca, aonde eu trabalhei nós chamávamos este processo de "Amadurecimento de DB", é um processo que leva cerca de dois dias, onde é feita toda a arquitetura do banco de dados, incluindo as persistencias, ou seja, o framework só manipulava os registros e nada mais.

  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acredito que o banco de dados é como um filho. Você deve criá-lo, educá-lo e não deixar que ele coma seus registros ou então que os perca, aonde eu trabalhei nós chamávamos este processo de "Amadurecimento de DB", é um processo que leva cerca de dois dias, onde é feita toda a arquitetura do banco de dados, incluindo as persistencias, ou seja, o framework só manipulava os registros e nada mais.

 

Essa é um visão importante, uma pena que empresas onde o foco principal não é t.i , tenham uma visão um pouco limitada, estou trabalhando no banco de dados porém trabalho sozinho e levo um pouco mais de tempo para acertar todo ele. Minha preocupação com os frameworks é trabalhar as regras de negócio, que pra este sistema em particular são um tanto quanto complexas, muita coisa da pra amarrar com o banco de dados, falo de integridade referencial e atomicidade nos dados. Mas algumas coisas deverão ser trabalhadas nas regras de negócio. Geralmente é trabalhado separadamente ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, o banco de dados é um sistema totalmente a parte do sistema do framework, é mais ou menos assim: A modelagem do banco de dados, regras de negócio, atomicidade, persistencia, integridade, controle de redundância e etc são todos feitos separadamente, pelo programador ou pelo DBa. Ai ele é inserido no framework, porém o papel do framework é só inserir, selecionar e alterar registros nada mais, ele não vai gerenciar um banco de dados, isso deve ser feito pelo programador ou então um sistema específico só para este banco.

  • +1 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.