yeahrightit would be lovely if the world met this ideal and we could follow these stages one by onein perfect orderlike all the old textbooks told us to as usualthe real world is much murkier no matter how hard we try to separate these stageswe'll always find things that need further analysis while we're designing when we're programmingwe find features that need clarification in the design most twenty-first century development happens in an iterative development model in iterative developmenta small part of the task is modeleddesignedand programmedthen the program is reviewed and expanded to improve each feature and include new features in series of short development cycles the rest of this book is about object-oriented programmingbut in this we will cover the basic object-oriented principles in the context of design this allows us to understand these (rather simpleconcepts without having to argue with software syntax or python interpreters objects and classes soan object is collection of data with associated behaviors how do we differentiate between types of objectsapples and oranges are both objectsbut it is common adage that they cannot be compared apples and oranges aren' modeled very often in computer programmingbut let' pretend we're doing an inventory application for fruit farm to facilitate the examplewe can assume that apples go in barrels and oranges go in baskets nowwe have four kinds of objectsapplesorangesbasketsand barrels in object-oriented modelingthe term used for kind of object is class soin technical termswe now have four classes of objects what' the difference between an object and classclasses describe objects they are like blueprints for creating an object you might have three oranges sitting on the table in front of you each orange is distinct objectbut all three have the attributes and behaviors associated with one classthe general class of oranges the relationship between the four classes of objects in our inventory system can be described using unified modeling language (invariably referred to as umlbecause three letter acronyms never go out of styleclass diagram here is our first class diagramorange basket apple barrel [