HomePage     |    Contact Us    |   Contribute     |  Forums     |  Blog

 

 

Software Architecture Interview Questions

What are relationships?

1. Dependencies: relationship between two entities such that a change in specification of one thing may affect the other. used to show that one class uses another class as an argument in the signature of the operation.
2. Generalization: relationships specified in the class subclass scenario, it is shown when one entity inherits from other.
3. Associations: structural relationships. ‘A room has walls’, ‘Person works for a company’.
4. Aggregation: type of association where there is-a, has-a relationship.

* Static Diagrams (Structural diagrams): Class diagram, Object diagram, component diagram, deployment diagram.
* Dynamic diagram(Behavioral diagrams): Use case diagram, sequence diagram, collaboration diagram, activity diagram, statechart diagram.

Messages: Specification of a communication, when a message is passed that results in action that is in turn an executable statement.

Use Case: specifies the behavior of a system or a part of a system. Involves the interaction of actors and system.

Aggregation: One class owns but shares a reference to objects of another class. Child refrerence exists even if parent oject rereference is set to null. Symbol: empty diamond arrow.

Composition: one class contains objects of another class. child reference does not exists independently. Symbol: filled diamond arrow.

Stereotype: Extension to existing UML vocabulary. It is used to create new model elements or derive from existing ones having specific properties pertaining to problem domain. EG: you can create steriotype, <> derived from existing one, <>.