Gostaria de saber como é elaborado, uma programação em modulos, a fim de diminuir a complexidade do mesmo.
Tenho dúvidas quanto a parte de integração. Como eu poderia, por exemplo, desenvolver meu sistema de autenticação sem desenvolver a parte de segurança em conjunto? Ou mesmo testa-lo. Que artifícios são usados para “desamarrar” as partes do projeto?
Inicialmente, o projeto seria em java, mas gostaria do enfoque mais na parte conceitual mesmo.
Obs: sou acadêmico ainda, por isso a pergunta pode parecer desprezível para os senhores, só espero que entendam.
Gostaria de saber como é elaborado, uma programação em modulos, a fim de diminuir a complexidade do mesmo.
Tenho dúvidas quanto a parte de integração. Como eu poderia, por exemplo, desenvolver meu sistema de autenticação sem desenvolver a parte de segurança em conjunto? Ou mesmo testa-lo. Que artifícios são usados para “desamarrar” as partes do projeto?
Inicialmente, o projeto seria em java, mas gostaria do enfoque mais na parte conceitual mesmo.
Obs: sou acadêmico ainda, por isso a pergunta pode parecer desprezível para os senhores, só espero que entendam.[/quote]
Infelizmente ainda não temos a tecnologia que permita construir software a partir de módulos (apesar de que isso não impediu o envio de homens à lua).
Só cuidado que isso pode levar ao efeito contrário do que você quer, aumentando a complexidade do sistema. Muitas vezes podem ter casos que invés de usar alguma parafernália pra modularizar, poderia ser simplesmente vários sistemas “separados”, compartilhando bibliotecas que sejam comuns, como por exemplo a parte de segurança, que também teria um sistema pra manter as permissões. Numa clínica médica por exemplo, os usuários do setor financeiro não vão rotineiramente acessar o sistema de Laudos que são usados pelos médicos, ou seja, ter um sistema focando em cada atividade fim ou grupo de usuários. E quando as necessidades crescerem, isso pode até ajudar em dividir times, cada um com um sistema. Mas enfim, estude bem todas as possibilidades para chegar na solução que vá atender melhor seu modelo de negócio.