Domain experts help to determine classes in an application. Class name should reflect domain object name. Information needed to be stored, transformed or analysed is represented by persistent classes (saved in a database). Temporary classes are created as the program is started and then lost when the program is terminated. External systems with which the system needs to interact will be classes in the system. For example Student class uses a Registration System, so the Registration System will have a Student class in it. Libraries, components and patterns contain classes which will be used in a system. Devices (e.g., Printer) a system needs to handle are classes in the system. Organisational parts in a system are classes in the system, e.g., Finance system. Roles played by actors give classes in the system, e.g., user, operator, customer, etc. Requirement specification document gives domain specific classes (noun words).