Estou pensando nisso há muito tempo, sem chegar a uma resposta ótima.
Antes de tudo, sou um médico que adora programar, mas nunca o estudou de verdade, exceto pelo aprendizado em casa e por muitos anos brincando com código no meu tempo livre.
Atualmente, estou tentando criar um pequeno projeto para gerenciar minha clínica. Para isso, comecei criando uma lista de opções que quero poder fazer.
Exemplo:
- registro ativo do paciente.
- autenticação com diferentes funções (por exemplo, paciente, enfermeiro, dr)
- agendamento de consultas (incluir calendário para vacinas / cirurgias agendadas etc. com um lembrete)
- permitir que o médico crie seus próprios plugins.
- painel para o médico visualizar suas estatísticas
Então eu comecei com o codeigniter / mysql / php / jquery e comecei a codificar.
Meus passos durante o desenvolvimento: -
- 1º banco de dados.
Comecei criando todas as minhas tabelas que precisarei.
- Criei todos os meus modelos para lidar com essas tabelas (1 modelo mestre que lida com leitura / gravação / atualização / verificação básica, considerando também minhas relações com tabelas
Depois disso, começo a codificar minhas visualizações e controladores. Primeiro criei o HTML da visualização, depois criei um controlador que manipulará essa visualização e iniciei a codificação de funções para fazer com que as interações da visualização funcionassem.
Exemplo ao codificar a visualização de compromisso (controller booking.php):
criou esse layout e tornou a tabela td clicável, quando o usuário clica em: jquery get (booking / add_patient_form) e abre-a
quando o usuário salva: lança na reserva / salva - salva o compromisso e recarrega a função index ()
etc .. e continuei os mesmos passos de criação da visualização, em seguida, seu controlador - que contém toda a lógica necessária para a visualização - para realizar todo o projeto.
No final, eu tinha todas as minhas funções-alvo funcionando bem, mas como não havia PLANO desde o início e como todo o projeto foi um furor de cérebro invadindo e depurando sem o que já havia sido planejado, depois de ter ido tão longe nesse projeto, auto preso com capacidade de manutenção e flexibilidade! e incapaz de vinculá-los.
Tenho a sensação de que todas as páginas do site são completamente isoladas das outras e nem me lembro como cada página é carregada e quais funções estão dentro sem espreitar!
Existe alguma maneira de recuperar isso e obter um design?
fonte
Respostas:
Sua pergunta - qual é o processo para desenvolver um software - é um tópico muito debatido; basta pesquisar no Google "metodologia de software" para ver quão profunda é essa lata de worms ...
Não existe uma resposta comumente aceita. De fato, se você perguntar a 5 programadores, receberá 7 respostas, na minha experiência.
Eu recomendo comprar o "Code Complete", de Steve McConnell, para ver as práticas de codificação de nível inferior - coisas como definir o código, comentar, como testá-lo. Eu recomendaria "Domain Driven Design", de Eric Evans, para uma visão geral de como estruturar aplicativos em nível arquitetural. Eu recomendaria "Desenvolvimento Ágil de Software: Princípios, Padrões e Práticas", de Robert Martin, como uma visão geral de como "aumentar" o software ao longo do tempo, mantendo a qualidade.
É provável que outro desenvolvedor rejeite todos esses livros e indique a UML, o Rational Unified Process e a geração de código. Não há resposta certa!
fonte
Etapas / etapas para o design do fluxo de trabalho do site
Recursos detalhados
fonte
Aconselho que você mantenha a estrutura do banco de dados e gere um novo código PHP com PHP PHP Generator for MySQL criado pela empresa SQL Maestro . Isso realmente funcionou para mim. Eu o uso muito e estou muito feliz com isso, especialmente a possibilidade de ajustar o código PHP de acordo com minhas próprias necessidades. Além disso, eles incorporam os novos recursos solicitados em suas atualizações e têm bons tutoriais sobre como ajustar o código. Para entender melhor, dê uma olhada neste projeto de demonstração .
No site, é fornecida a seguinte descrição do produto:
fonte