Definitions
Abstraction
The process of separating the interface to some functionality from the underlying implementation in such a way that the implementation can be changed without changing the way that piece of code is used. (n) The API (interface) for some piece of functionality that has been separated in this way.
Inhertiance
In OOP, the ability to derive new classes from existing classes. A derived class (or "subclass") inherits the instance variables and method of the “base class" (or "superclass"), and may add new instance variables and methods. New methods may be defined with the same names as those in the base class, in which case they override the original one.
Polymorphism
is used to describe a variable that may refer to objects whose class is not known at compile time and which respond at run time according to the actual class of the object to which they refer.
Encapsulation
The ability to provide users with a well-defined interface to a set of functions in a way which hides their internal workings. In OOP, the technique of keeping together data structures and the methods (procedures) which act on them.
Association
This is the relationship between classes.
Multiplicity
In a UML diagram it shows how many objects of a class participate in an association.
Qualified Association
When looking at the association between two classes results in the generation of data members and member functions in one or both classes. The data members are referred to as qualified association attributes. These association attributes always have public access in order to keep the qualified association up-to-date.
Reflexive Association
An association in which both ends connect to the same class in a UML diagram.
Inheritance & Generalization
Concept A is a generalization of concept B if and only if every instance of concept B is also an instance of concept A; and there are instances of concept A which are not instances of concept B.
Aggregations
A composition technique for building a new object from one or more existing objects that support some or all of the new object's required interfaces.
Composites
Objects made of a blend of two or more classes. Contexts That which surrounds, and gives meaning to, something else.
Interfaces and Realizations
An interface is a set of operations that specifies some aspect of a class behavior, and it's a set of operations a class presents to other classes.You model an interface the same way you model a class, with the rectangle icon, but interface has no attributes, only operations. Another way is with a small circle joined with line to a class.
Use Case Diagrams
Represents the functionality provided by the system to external users. Class Diagrams Represents the static structure of a system as it is declared.
Object Diagrams
Represents the static structure of a system at a particular instance in time.
State Diagrams
Represents the states and responses of a class to external and internal triggers.
Sequence Diagrams
Represents a time sequence of messages exchanged between several objects to achieve a particular behavior.
Activity Diagrams
Represents the activities or actions of a process without regard to the objects that perform these activities.
Collaboration Diagrams
Represents a particular behavior shared by several objects.
Component Diagrams
Represents the organization and dependencies among software implementation components.
Deployment Diagrams
Represents the network of processing resources elements and the configuration of software components on each physical element.
