Object-Oriented Concepts. Visual Modeling with UML, Visual Modeling. Visual modeling of an object-oriented system or visual modeling of any system helps improve the understanding of the system. People can be very visual, and the visual modeling graphs, as opposed to just a long worded documents, help us to better visualize the system as we want it to be, or there's also the notion of, as is modeling, how is it. In fact, in many cases where systems already exist, they will do him, as is modeling, followed then by a what you wanted to be modeling. It allows specifications of the structure or behavior of the system, providing a guide to developers who have to go build the system. It documents decisions that have been made throughout the modeling and design of the system, and who made them, perhaps why were they made and who signed off on them. Models are simplifications and representation of reality, and we only need to model as much as we need for our solutions. Model driven architectures, well, architectures is not design, it's the level above design that talks about rules for interactions and the kinds of parts and relationships or connectors, but it's a higher order then design. Now model driven architecture is a process of using models to help us understand and eventually designed, then construct, deploy etc a software system. So principles of visual modeling. We have models, models are representation of the system and describe what we will have in our software, that models represents the real world concepts that we need to deal with. They'll tell us when we get, for example, the classes, what methods we need, what properties we're going to have, what relationships will be there, any constraints on the relationships. And different models can be expressed with differing levels of precision. Analysts want to know what, what is it? Programmers might needed to know more details about how things need to be done. They're connected to reality, but they simplify reality, they represent or again that word model reality. We can often expose potential flaws. In other words, when you try to put something together at the model and it's like, wait, that's not, something's missing here or where we might have an issue and that is often come up in modeling. Now there are many different kinds of models, we'll see that when we get into the UML overview. Modeling a time based interaction within a system, modeling classes, modeling deployment information. There's lots of different sorts of models. No single model is sufficient. In the 1980s, there were many visual modeling approaches, each addressing different facets overall of modeling. To quote Grace Hopper, and I've always loved this quote, it's also been attributed to Andy Tenenbaum, but Murray Hopper did it earlier. The wonderful thing about standards is there are so many of them to choose from, [LAUGH] it's sort of a snarky comment about standards. But out of the chaos of modeling eventually emerged in the nineties a unified approach, at least for object orientation, the unified modeling language. And that will be the subject of our next presentation.