Object-oriented programming languages are based on objects rather than functions. Linguistic analysis uses the forms, meanings, and contexts of natural language to develop consistent object-oriented models. Semiformal models relate natural language concepts to object-oriented components like classes, objects, attributes, and methods to aid in object-oriented analysis and design. This helps non-experts develop object models when experts are unavailable.