Criação de sistema de controle de finanças pessoais

Olá, gostaria da opinião de vocês no seguinte. Tenho mais ou menos um pouco mais de 1 ano que estudo PHP, conheço muita “coisa”. Só que tenho muita dificuldade em criar alguma coisa real e da maneira certa ( Sei que quem está aprendendo não vai fazer tudo certo de primeira, mas que seja mais ou menos. rsrsrs). Não sei se é todo mundo que tem essa mesma dificuldade ou que se assemelha a tal. Sendo assim para fundamentar oque aprendi até hoje gostaria de criar um sistema de controle de finanças pessoais. Mas apenas de ter conhecer muitos conceitos de bancos de dados e de php sei que não é o suficiente para fazer um sistema, pois criar um sistema exige muito mais conhecer banco de dados e sintaxe php. Oque eu gostaria que vocês me ajudassem ? Gostaria de um guia dos mais experientes de como eu posso levantar meus requisitos, conhecer minha necessidade ( como se fosse de um cliente ), e a partir de que ponto eu já posso pensar em Código propriamente dito.
Gostaria de esclarecer que tudo oque sei até aqui foi tudo por estudo autodidata, e talvez posso ter falado alguma coisa que não tem nada haver com o assunto no que envolve o processo da criação do sistema que estou pensando em fazer, mas estou aqui dando a cara para bater e espero que quem for me ajudar/orientar tenha o mesmo tanto da vontade de ajudar quanto eu tenho de aprender. Obrigado pela atenção das pessoas que chegaram até o fim desse texto e tenho certeza que quem chegou até aqui com certeza tem alguma experiencia para compartilhar por minimo que seja , sendo assim agradeço desde já.

Muito Obrigado mesmo.

Boa tarde!
Sendo bem prático, pega um caderno e nele desenha e anota tudo que você vai precisar no sistema, imagina que quando for utilizar, o que você gostaria de ver, de cadastrar etc…

Depois cria o banco de dados e então encima do banco começa a criar as classes, telas etc…

Claro que o ideal é você aprender sobre UML, fazer toda a documentação do sistema.

Desde já agradeço pela contribuição. Mas certo quanto a descrever as funcionalidades do sistema eu escrevi um documento, poderia por favor dar uma olhada e dizer oque acha se é assim mesmo ? Tenho uma noção de UML após eu ter definido os requisitos irei tentar criar os diagramas assim como você falou.

Sistema de controle finanças pessoais (CFP) - Documentos Google.pdf (42.6 KB)

Isso ai, agora com base neste documento passa para criar o DER(banco de dados).
Pelo teu documento, terá uma tabela para armazenar Conta, usuário com login e senha, categoria, a tabela para armazenar a despesa que ai pode ser mestre e detalhe, ou seja terá a despesa cabeçalho e a despesa detalhe(para armazenar as parcelas, se for parcelado) mas ai já é coisa da minha cabeça. hehehe

Depois do DER, tu passa para criar o sistema, iniciando pelas tabelas mais simples como categoria, conta e passa para as compostas(que irão ter ligação com estas anteriores)

Abraço!

Não sou nenhum expert. Mas uma receita “mais ou menos” seria:

  • Levantar as necessidades (requisitos). Ex.:

Sistema ABC:

  1. O sistema deve permitir cadastrar tal coisa.
  2. Através do cadastro de tal coisa, é necessário que seja possível listar todos os itens criados.
  3. etc.
  • Identificar os casos de uso com base nos requisitos. Ex.:
  1. UC Cadastrar Tal Coisa
  2. UC Listar Tal Coisa
  • Detalhar (refinar) as regras de negócio dos casos de uso. Ex.:
  1. No cadastro de tal coisa, os campos campo1, campo2 e campo3 são obrigatórios
  • Criar o modelo de dados (DER)

  • Codificar

Obviamente, tem muito mais coisas nesse meio ai. Mas acho q isso seja um “norte” para seguir.

Abraços.

Cara já agradeço pela a colaboração que você está dando para meu aprendizado. Tem mais uma coisa, pode opinar aceito todos os tipo de opiniões em relação aos requisitos. Estava pensando mesmo na possibilidade de o usuário poder parcelar determinada conta. Agora quanto ao seu comentário poderia esclarecer a parte que você fala " a tabela para armazenar a despesa que ai pode ser mestre e detalhe, ou seja terá a despesa cabeçalho e a despesa detalhe". Não entendi muito bem, Desculpe alguma ignorância.

Obrigado pela colaboração, inclusive estou lendo um livro orientação de projeto orientado a objeto que aborda todo o processo de criação de um software, mas não sei se é apenas eu mas tenho dificuldade de colocar em prática por isso estou tentando criar esse sistema “praticar”.

mestre, detalhe é quando você tem uma tabela que é os detalhes da outra. Ex:

Você terá as seguintes tabelas
DUPLICATA_PAGAR_CABECALHO
ID INTEGER
ID_FORNECEDOR INTEGER(é uma ligação com a tabela fornecedor)
DATA_COMPRA DATE
VALOR_TOTAL DECIMAL

DUPLICATA_PAGAR_DETALHE
ID INTEGER
ID_DUPLICATA_PAGAR_CABECALHO INTEGER(é uma ligação com a tabela)
NUMERO_PARCELA INTEGER
VALOR_PARCELA DECIMAL
DATA_VENCIMENTO DATE

e por ai vai, isto é somente um exemplo