 In the preceding video, we went directly from a statement of the problem to the code. The design of a rectangle was sufficiently straightforward that we skipped the design phase. However, for any non-trivial program involving classes and objects, you really want to spend time designing them. And the vehicle for doing that is a Unified Modeling Language, or UML diagram. At the top of the diagram, you put the class name. Then you list the properties and their data types. Unlike Java, the data type follows the property name. Finally, you list the methods for the class. Again, the return type follows the name rather than preceding it. You can also represent objects in UML format. Here are the two rectangles we created in the preceding video. For objects, you give the variable name and its data type, and then the values of the object's properties. We'll be revisiting UML diagrams and showing more of their features in upcoming videos.