Identifying the Classes and its Objects



A class is a collection of objects that share similar characteristics such as, properties, behaviors and relationships to other objects. An object is an instance of some particular class or sub class which has its own methods and variables. An object belongs to certain class which contains group of similar kind of objects. Every object has two characteristics: state and behavior. For example, player has a state (name, sport, team) and behavior (warm-up, play). 

Identification of objects and its classes for a system can be done by several approaches. Noun phrase is a widely used approach includes making a list of noun phrases from the requirement documentation. In order to overcome the repetition, remove the obvious nouns from the list which has almost similar meaning and also getting rid of some noun phrases which represents the existing details. For example, Order is enough to cover the details like order number, order status, order value. Data Flow is a process of determining objects needed to get the desired output by analyzing flow of data starting with the inputs. 

Identifying the similar type of things includes tangible (vehicles, invoices, sales receipts, physical devices), designation (student, teacher, employee), organization (region, sales office, department), interactions (enrolling for class, maintenance, bill pay), specifications (list of zip codes, tax rate table). Another noticeable approach is Object Decomposition, which is the process of fragmentation of complex system objects into small group fragments of similar kind.