I'd like to write down the design of my program to understand the dependencies and calls better. I know there are class diagrams which show inheritance and attribute variables.
However I'd also like to document the input parameters to method functions and in particular which calls the methods function executes inside (e.g. on the input parameters).
Also sometimes it might be useful to show how actual objects are connected (if there is a standard structure).
This way I can have a better understanding of the modules and design before starting to program. Can you suggest a method to do this software design? It should be one-to-one to programming code structure so that I really notice all quirks beforehand (instead of high-level design where thing are hard to implement without further work). Maybe some special diagram or tool or a combination?
It is static dependency and call design rather than time dependent execution monitoring.
(I use Python if you have any specialized recommendations).