Three Fundamental Features of OOP - answer-Encapsulation
Inheritance
Polymorphism
Encapsulation - answer-An object-oriented technique in which the internal details of an object
are "hidden" in order to simplify their use and reuse.
Inheritance - answer-A relationship between two classes in which one class ( the subclass)
inherits all of the properties and capabilities of another ( the superclass)
Polymorphism - answer-Declaring a variable to have one type while it refers to an object of a
subclass of that type.
Object-Oriented Analysis - answer-A means of determining what aspects of a given problem can
be viewed as objects in an eventual object-oriented design.
Object-Oriented Design - answer-A software design method that models the characteristics of
abstract or real objects using classes and objects.
Object-Oriented Programming - answer-A programming technique that features objects, classes,
encapsulation, interfaces, polymorphism, and inheritance.
Cohesion - answer-Degree to which responsibilities of a given component are a meaningful unit
Cohesion vs Coupling - answer-Greater cohesion reflects better design. Less coupling reflects
better design.
Coupling - answer-Degree to which one component must directly access the data of another
component.
Roles - answer-Sets of Responsibilities
Roles vs. Objects - answer-They are the same when a given role is always played by the same
object type.
Software Components - answer-Reuse of code (e.g. Visual Basic, JavaBean)
Frameworks - answer-Reuse of "plug-in" code (e.g. Java Swing)
Design Paterns - answer-Reuse of Design
Agile Software Development - answer-A philosophy of software development that embraces
flexibility and agility. The design "evolves".