The answer is Object-oriented programming (OOP). This is a type of programming language model on the concept of "objects", which may comprise of data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. The first step here is to classify all the objects the programmer wants to work and how they relate to each other, this is known as data modeling. Once an object has been identified, it is generalized as a class of objects which describes the type of data it comprises and any logic sequences that can manipulate it.