Sorry I’m late with this, but it would seem what you need first is a generic understanding of why all this stuff is done, then you’ll be able to map that understanding to the specifics of any software. So, in that regard this might help: