title: when we use UML and when not?
body: <p>We know UML is unified modeling language. So does it can model any kind of software(like Linux kernel, open office, any web application, etc)? or only can model a software which uses Object Oriented language(Java, c++, etc)?</p>
  
  <p>I think modeling is good way to figure out software. If we do not use UML for modeling, what other modeling methods can we use? </p>
  
  <p>And do you know what kind of modeling methods is used for giant open source projects(Linux kernel, Openoffice.org, Firefox, Apache http, MySQL, Eclipse, VIM, etc) and where do we can find out the modeling documents of them?</p>
  
  <p>Thanks any answers!</p>