1). Software Architecture or pattern:
While developing an application or website when we structure our code into different sections/projects/portions/pieces in order to identify bugs/update code/edit code easily. For e.g in an n-layered architecture we divide our code into Data access layer,Business layer,User Managment layer and so on. Each layer contains different fucntionality.
2).What us OOPS:
Object oriented programming can be defined as a concept which contains a set of rules and concepts. Main features of OOPS are CLASSES,OBJECTS,INHERITENCE,POLYMORPHISM,OVERLOADING,ENCAPSULATION.
3).What is a CLASS:
Class can be thought of as a template or blueprint of somthing that describes an object. Broadly in realworld anything which can be thought of as 'Noun'(Though decesion of creating classes has to be analyzed very deeply) can be considered as a class. Class consists of Name,Attributes and methods.
4).What is association:
Association is defined as a relation between two classes. It allows an object to perform an action on its behalf an e.g can be when a class is instantiated inside a constructor of another class.
5).Difference between Aggregation,Association and Composition:
Association is a relation between classes but aggregation (Has-a) is a special kind of association where one class's object contains other classe's object. A very simpe e.g can be for a STUDENT class we can have an ADDRESS class object inside STUDENT class.