software design - tools and tips on how to develop api's and such
<p>I have become a software programmer over the years.
I have read books on programming, different types software development approaches like waterfall. UML concepts such as class diagrams.</p>

<p>But, I'm always lacking in the design side. I'm looking for a tool or something that will easily aid me in designing software.</p>

<p>For example, when I'm trying to build a game from scratch.
I have a player class, that can shoot and interact. The player class has a super class which is a character.  But two days later, I realize I need to add a subclass. I keep having to add functions, classes here and there. It's like i'm writing, rewriting class diagrams and sequence diagrams to the point where it's slowing me down a lot. And when I do start coding, I have to modify the class diagrams yet again. I don't think I'm using the right approach.</p>

<p>Is pencil and paper method any better?
Is there an easier way to approach classes, interaction, sequences?</p>
