Here's a response to your edit.
There are several different software design methodologies. The most common methodology is the Waterfall method.
An article discussing the difference between Agile and Waterfall is here.
Here's a presentation on the subject that might help.
Also, I know it's a tad cliche', but the Wikipedia articles on general subjects like this are typically pretty good for gaining a high-level understanding of a subject. Also, there are similar articles outlined at the bottom to help you fine-tune your understanding of a specific topic that you may be interested.
Here's another article on the subject.
And finally, there are a slew of books on Agile Development that range across several difficulty levels and can be used to lay a really solid foundation.
From Wikipedia
Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. The Agile Manifesto[1] introduced the term in 2001.
Proponents of agile methods believe that they promote a disciplined project management process for software development that encourages frequent inspection and adaptation, teamwork, self-organization and accountability, a set of engineering best practices for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals.