Parking lot is a popular design case study in object oriented design. Designing a parking lot, you include UML conventions such as Interface and Class. From there you can focus on more specific details of generalization, inheritance, user interface, association and more. This assigns roles to attendants, drivers, vehicle types, parking spot sizes, credit card machines and much more.