Software Architecture
The Software architecture alludes to the overall structure of the software and the ways in that structure gives conceptual integrity for a system. In its easiest form, architecture is the hierarchical structure of program components modules, the manner in that these parts interact and the structure of the data that are used through the components. In a broader sense Moreover, components can be generalized to represent major system parts and their interactions.
One target of software design is to derive an architectural rendering of a system. This rendering serves as a framework from that more detailed design activities are conducted. The group of architectural patterns enables a software engineer to reuse design-level concepts.