Peitli Józsefszép feladat :)
sok mindenen el kell gondolkodni hozzá.
mindenesetre csinálj gui vázlatot dobozokkal (diával vagy ooo-draw-val), nem kell ehhez kirájzolni az elemeket csak kis téglalap, bele a neve, pl. partnerválasztó lenyíló.
tisztában kell lenni az igényekkel, a felhasználás módjával, pl egy monstre ablak, vagy minden feladatra külön ablak, stb, esetleg füles elrendezés.
A háttérben meg a megvalósítás módját kell eldönteni, adattárolás módja, kell-e teljes értékű adatbázis mögé, vagy esetleg sqlite elég, netán fájl alapú db. A joinokat lekezelteted az adatbázissal, vagy megírod a logikát (class-t) hozzá. tanulmányozd az sqlalchemy-t (ez egy python modul), mert utána ez alatt tudod változtatni a motort (pl sqlite vagy mysql), de sima pythonos listákkal szótárakkal is felépítheted az adatmodelleket, akkor nem kell semmi külső dolog hozzá. Igaz, jóval több kódolást igényel a részedről. Minél több külső dolgot használsz föl, annál gyorsabb a fejlesztés, és annál problémásabb lesz a multiplatform :)
A fejlesztéshez készíthetsz útitervet, amiben fázisokat csinálsz.pl 0.1 verzió partnerkezelés implementálása, 0.2 könyvkezelés, stb. 1.0 a teljes verzió, amiben minden tervezett funkció implementálva van.
Csak megjegyzem, lehet nem ez a legjobb módszer, soha nem tanultam se programozni, se fejleszteni, mindent saját magam szedtem föl és tanultam meg, de én nagyjából így szoktam csinálni.