Bueno... pienso que es muy dificil orientar este tipo de cosas, porque la variedad de formas de afrontar un proyecto es casi infinita, pero intentaré echarte una mano a ver si te sirven un poco mis ideas ;·)
Creo que lo primero que debes hacer es analizar detenidamente que es lo que esperas de ese proyecto (cual es el objetivo), en qué ambitos te vas a mover (aplicaciones de escritorio, aplicaciones web, webservices...), etc.
Una vez analizado el proyecto de una forma un poco global, puedes decantarte por un gestor de BD, el que más te guste o convenga. Será lo único que necesites para trabajar con la BD. Puedes elegir un MySQL, Oracle, SQLServer incluso access... todo depende de lo robusto que quieras que sea el sistema y de cómo lo vayas a montar. Si es una aplicación pequeña y quieres ahorrarte el montar un servidor de BD en el PC que vaya a contener la aplicación... podrias usar un simple mdb de access.
Una vez montado el sistema gestor de bd por el que te decantes, puedes empezar a preguntarte otras cosas. ¿Cómo quieres gestionar los accesos a esa BD? Puedes usar algún Framework como Hibernate o Hibatis, o también te puedes decantar por una forma más tradicional, recurriendo a construir tus propias clases que te gestionen la BD y te creen las sentencias SQL que posteriormente uses para guardar, consultar, actualizar o eliminar datos.
Luego, una vez decidido eso, podrías comenzar con un analisis más profundo, analizando que entidades importantes tendrás, para ir haciendote una idea de las clases que deberás ir creando.
Te recomiendo que enfoques tu aplicación con un mínimo de 3 capas, se trate de lo que se trate. Una primera que sea la que gestione las consultas a la bd, otra que gestione los cálculos y procesos lógicos, y otra en la que te encargues de la presentación al usuario. Eso sería lo mínimo para asegurarte un diseño de aplicación estable y bien organizado.
Hacerte un diagrama de flujo de datos no te vendría nada mal, te ayudaría mucho a saber qué clases (entidades) tendrán que interactuar con otras, y eso te hará tener una visión de los métodos que podrás necesitar posteriormente.
Creo que con todo esto... podrías afrontar sin duda un proyecto desde cero, bien estructurado y estable.
Te aconsejo que empieces por la capa que trabaje con la BD, y que analices bien lo que quieres de esas clases. Si te vendrá bien consultar objetos completos, devolver solo un campo, etc. Te facilitará mucho la tarea a la hora de tener que acceder a datos desde la capa de negociado.
Lo mejor para esto es ir viendolo poco a poco... así que podrias ir intentado comenzar, para que vayas viendo las dificultades con las que te encuentres y nos las consultas, a ver que más podemos hacer por ti ;)