blackhawk13 said:
SAMS will be the death of me this semester at school . I had to buy a SAMS book for UML coding (dumbest thing ever). And it comes with a program called Poseidon. Apparently UML is some sort of object-oriented language or something, I don't know. It's stupid in my opinion.
edit: p.s. I'm learning C++ this semester also, and so far it's easy enough. If you understand the structure of coding, every language just kind of flows and you just get it.
Unified Modeling Language (UML) is used in the design of programs and databases. It is not a programming language in itself. By creating a design in UML you can discover flaws in your logic before you write a single line of code.
Think of it this way. When an architect/contractor wants to build a house, what does he have to do? He first has to ask his client what exactly he/she wants the house to look like and have. Does the client want one story or two? Two bathrooms or three? How many bedrooms? Does the client want a fireplace? Etc, etc, etc. This is called the planning stage where you find out exactly what you are going to have to build.
The next stage is the design stage. This is the stage that pertains to UML. The architect/contractor now has to take the specifications and write up a blueprint. So he writes up a blueprint and then discovers, by looking at that blueprint, that if he puts the fireplace on the west side of the room the structural integrity of that wall may be compromised and weakened. So he moves the fireplace to the north wall instead.
A UML diagram for software developers is no different than a blueprint for contractors. It allows you to find mistakes and inefficiencies in your applications before you start actually writing them. Sure, you might be a talented software developer. Sure, you might think you know exactly how to make this application. However, if you find that your design is not going to work half way through writing the application, you are going to have to spend a LONG LONG time fixing that problem. If you find that mistake during the design phase... you've lost about 15 minutes.
Design is the most important aspect of software development. You could know the STL like you know the back of your hand, but if you don't know how to design an object oriented application, your knowledge means absolutely nothing.